HIPAA 837 P

Excerpt from EDI C# template for HIPAA 837 P 005010

namespace EdiFabric.Rules.HIPAA_005010X222A1_837
{
    using System;
    using System.Collections.Generic;
    using EdiFabric.Core.Annotations.Edi;
    using EdiFabric.Core.Annotations.Validation;
    using EdiFabric.Core.Model.Edi;
    using EdiFabric.Core.Model.Edi.X12;
    using EdiFabric.Core.Model.Edi.ErrorContexts;
    
    
    [Serializable()]
    [Message("X12", "005010X222A1", "837")]
    public class TS837 : EdiMessage
    {
        
        [Pos(1)]
        public ST ST { get; set; }
        [Required]
        [Pos(2)]
        public BHT_BeginningofHierarchicalTransaction BHT_BeginningofHierarchicalTransaction { get; set; }
        [Required]
        [Pos(3)]
        public All_NM1 All_NM1 { get; set; }
        [Required]
        [Pos(4)]
        public List<Loop_2000A> Loop_2000A { get; set; }
        [Pos(5)]
        public SE SE { get; set; }
    }
    
    [Serializable()]
    [EdiCodes(",0019,")]
    public class X12_ID_1005
    {
    }
    
    [Serializable()]
    [EdiCodes(",00,18,")]
    public class X12_ID_353
    {
    }
    
    [Serializable()]
    [Group(typeof(HL_BillingProviderHierarchicalLevel))]
    public class Loop_2000A
    {
        
        [Required]
        [Pos(1)]
        public HL_BillingProviderHierarchicalLevel HL_BillingProviderHierarchicalLevel { get; set; }
        [Pos(2)]
        public PRV_BillingProviderSpecialtyInformation PRV_BillingProviderSpecialtyInformation { get; set; }
        [Pos(3)]
        public CUR_ForeignCurrencyInformation CUR_ForeignCurrencyInformation { get; set; }
        [Required]
        [Pos(4)]
        public All_NM1_2 All_NM1_2 { get; set; }
        [Required]
        [Pos(5)]
        public List<Loop_2000B> Loop_2000B { get; set; }
    }
    
    [Serializable()]
    [EdiCodes(",20,")]
    public class X12_ID_735
    {
    }
    
    [Serializable()]
    public class X12_AN
    {
    }
    
    [Serializable()]
    [EdiCodes(",BI,")]
    public class X12_ID_1221
    {
    }
    
    [Serializable()]
    [EdiCodes(",PXC,")]
    public class X12_ID_128
    {
    }
    
    [Serializable()]
    [EdiCodes(",85,")]
    public class X12_ID_98_4
    {
    }
    
    [Serializable()]
    public class X12_ID
    {
    }
    
    [Serializable()]
    [Group(typeof(HL_SubscriberHierarchicalLevel))]
    public class Loop_2000B
    {
        
        [Required]
        [Pos(1)]
        public HL_SubscriberHierarchicalLevel HL_SubscriberHierarchicalLevel { get; set; }
        [Required]
        [Pos(2)]
        public SBR_SubscriberInformation SBR_SubscriberInformation { get; set; }
        [Pos(3)]
        public PAT_PatientInformation PAT_PatientInformation { get; set; }
        [Required]
        [Pos(4)]
        public All_NM1_3 All_NM1_3 { get; set; }
        [ListCount(100)]
        [Pos(5)]
        public List<Loop_2300> Loop_2300 { get; set; }
        [Pos(6)]
        public List<Loop_2000C> Loop_2000C { get; set; }
    }
    
    [Serializable()]
    [EdiCodes(",22,")]
    public class X12_ID_735_2
    {
    }
    
    [Serializable()]
    [EdiCodes(",A,B,C,D,E,F,G,H,P,S,T,U,")]
    public class X12_ID_1138
    {
    }
    
    [Serializable()]
    [EdiCodes(",18,")]
    public class X12_ID_1069
    {
    }
    
    [Serializable()]
    [EdiCodes(",A,B,C,D,E,F,G,H,L,M,O,P,R,S,T,")]
    public class X12_ID_1384
    {
    }
    
    [Serializable()]
    [Group(typeof(HL_PatientHierarchicalLevel))]
    public class Loop_2000C
    {
        
        [Required]
        [Pos(1)]
        public HL_PatientHierarchicalLevel HL_PatientHierarchicalLevel { get; set; }
        [Required]
        [Pos(2)]
        public PAT_PatientInformation_2 PAT_PatientInformation_2 { get; set; }
        [Required]
        [Pos(3)]
        public Loop_2010CA Loop_2010CA { get; set; }
        [Required]
        [ListCount(100)]
        [Pos(4)]
        public List<Loop_2300_2> Loop_2300_2 { get; set; }
    }
    
    [Serializable()]
    [EdiCodes(",23,")]
    public class X12_ID_735_3
    {
    }
    
    [Serializable()]
    [EdiCodes(",01,19,20,21,39,40,53,G8,")]
    public class X12_ID_1069_4
    {
    }    
    
    [Serializable()]
    [Segment("CRC", typeof(X12_ID_1136_2), typeof(X12_ID_1073_3))]
    public class CRC_PatientConditionInformation_Vision
    {
        
        [Required]
        [DataElement("1136", typeof(X12_ID_1136_2))]
        [Pos(1)]
        public string CodeCategory_01 { get; set; }
        [Required]
        [DataElement("1073", typeof(X12_ID_1073_3))]
        [Pos(2)]
        public string CertificationConditionIndicator_02 { get; set; }
        [Required]
        [DataElement("1321", typeof(X12_ID_1321_2))]
        [Pos(3)]
        public string ConditionCode_03 { get; set; }
        [DataElement("1321", typeof(X12_ID_1321_2))]
        [Pos(4)]
        public string ConditionCode_04 { get; set; }
        [DataElement("1321", typeof(X12_ID_1321_2))]
        [Pos(5)]
        public string ConditionCode_05 { get; set; }
        [DataElement("1321", typeof(X12_ID_1321_2))]
        [Pos(6)]
        public string ConditionCode_06 { get; set; }
        [DataElement("1321", typeof(X12_ID_1321_2))]
        [Pos(7)]
        public string ConditionCode_07 { get; set; }
    }
    
    [Serializable()]
    [Segment("CRC", typeof(X12_ID_1136), typeof(X12_ID_1073_3))]
    public class CRC_AmbulanceCertification
    {
        
        [Required]
        [DataElement("1136", typeof(X12_ID_1136))]
        [Pos(1)]
        public string CodeCategory_01 { get; set; }
        [Required]
        [DataElement("1073", typeof(X12_ID_1073_3))]
        [Pos(2)]
        public string CertificationConditionIndicator_02 { get; set; }
        [Required]
        [DataElement("1321", typeof(X12_ID_1321))]
        [Pos(3)]
        public string ConditionCode_03 { get; set; }
        [DataElement("1321", typeof(X12_ID_1321))]
        [Pos(4)]
        public string ConditionCode_04 { get; set; }
        [DataElement("1321", typeof(X12_ID_1321))]
        [Pos(5)]
        public string ConditionCode_05 { get; set; }
        [DataElement("1321", typeof(X12_ID_1321))]
        [Pos(6)]
        public string ConditionCode_06 { get; set; }
        [DataElement("1321", typeof(X12_ID_1321))]
        [Pos(7)]
        public string ConditionCode_07 { get; set; }
    }
    
    [Serializable()]
    [Segment("CR2")]
    public class CR2_SpinalManipulationServiceInformation
    {
        
        [Paired(2)]
        [StringLength(1, 9)]
        [DataElement("609", typeof(X12_N0))]
        [Pos(1)]
        public string Count_01 { get; set; }
        [StringLength(1, 15)]
        [DataElement("380", typeof(X12_R))]
        [Pos(2)]
        public string Quantity_02 { get; set; }
        [DataElement("1367", typeof(X12_ID_1367))]
        [Pos(3)]
        public string SubluxationLevelCode_03 { get; set; }
        [Conditional(3)]
        [DataElement("1367", typeof(X12_ID_1367))]
        [Pos(4)]
        public string SubluxationLevelCode_04 { get; set; }
        [Paired(6)]
        [DataElement("355", typeof(X12_ID_355_2))]
        [Pos(5)]
        public string UnitorBasisforMeasurementCode_05 { get; set; }
        [StringLength(1, 15)]
        [DataElement("380", typeof(X12_R))]
        [Pos(6)]
        public string Quantity_06 { get; set; }
        [StringLength(1, 15)]
        [DataElement("380", typeof(X12_R))]
        [Pos(7)]
        public string Quantity_07 { get; set; }
        [Required]
        [DataElement("1342", typeof(X12_ID_1342))]
        [Pos(8)]
        public string PatientConditionCode_08 { get; set; }
        [DataElement("1073", typeof(X12_ID_1073))]
        [Pos(9)]
        public string YesNoConditionorResponseCode_09 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(10)]
        public string PatientConditionDescription_10 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(11)]
        public string PatientConditionDescription_11 { get; set; }
        [DataElement("1073", typeof(X12_ID_1073))]
        [Pos(12)]
        public string YesNoConditionorResponseCode_12 { get; set; }
    }
    
    [Serializable()]
    [Segment("CR1", typeof(X12_ID_355_3))]
    public class CR1_AmbulanceTransportInformation
    {
        
        [Paired(2)]
        [DataElement("355", typeof(X12_ID_355_3))]
        [Pos(1)]
        public string UnitorBasisforMeasurementCode_01 { get; set; }
        [StringLength(1, 10)]
        [DataElement("81", typeof(X12_R))]
        [Pos(2)]
        public string PatientWeight_02 { get; set; }
        [DataElement("1316", typeof(X12_ID_1316))]
        [Pos(3)]
        public string AmbulanceTransportCode_03 { get; set; }
        [Required]
        [DataElement("1317", typeof(X12_ID_1317))]
        [Pos(4)]
        public string AmbulanceTransportReasonCode_04 { get; set; }
        [Paired(6)]
        [Required]
        [DataElement("355", typeof(X12_ID_355_4))]
        [Pos(5)]
        public string UnitorBasisforMeasurementCode_05 { get; set; }
        [Required]
        [StringLength(1, 15)]
        [DataElement("380", typeof(X12_R))]
        [Pos(6)]
        public string TransportDistance_06 { get; set; }
        [StringLength(1, 55)]
        [DataElement("166", typeof(X12_AN))]
        [Pos(7)]
        public string AddressInformation_07 { get; set; }
        [StringLength(1, 55)]
        [DataElement("166", typeof(X12_AN))]
        [Pos(8)]
        public string AddressInformation_08 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(9)]
        public string RoundTripPurposeDescription_09 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(10)]
        public string StretcherPurposeDescription_10 { get; set; }
    }
    
    [Serializable()]
    [Segment("NTE", typeof(X12_ID_363))]
    public class NTE_ClaimNote
    {
        
        [Required]
        [DataElement("363", typeof(X12_ID_363))]
        [Pos(1)]
        public string NoteReferenceCode_01 { get; set; }
        [Required]
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(2)]
        public string ClaimNoteText_02 { get; set; }
    }
    
    [Serializable()]
    [Segment("K3")]
    public class K3_FileInformation
    {
        
        [Required]
        [StringLength(1, 80)]
        [DataElement("449", typeof(X12_AN))]
        [Pos(1)]
        public string FixedFormatInformation_01 { get; set; }
        [DataElement("1333", typeof(X12_ID_1333))]
        [Pos(2)]
        public string RecordFormatCode_02 { get; set; }
        [Pos(3)]
        public C001_CompositeUnitofMeasure CompositeUnitofMeasure_03 { get; set; }
    }
    
    [Serializable()]
    [Composite("C001_CompositeUnitofMeasure")]
    public class C001_CompositeUnitofMeasure
    {
        
        [Required]
        [DataElement("355", typeof(X12_ID_355_2))]
        [Pos(1)]
        public string UnitorBasisforMeasurementCode_01 { get; set; }
        [StringLength(1, 15)]
        [DataElement("1018", typeof(X12_R))]
        [Pos(2)]
        public string Exponent_02 { get; set; }
        [StringLength(1, 10)]
        [DataElement("649", typeof(X12_R))]
        [Pos(3)]
        public string Multiplier_03 { get; set; }
        [DataElement("355", typeof(X12_ID_355_2))]
        [Pos(4)]
        public string UnitorBasisforMeasurementCode_04 { get; set; }
        [StringLength(1, 15)]
        [DataElement("1018", typeof(X12_R))]
        [Pos(5)]
        public string Exponent_05 { get; set; }
        [StringLength(1, 10)]
        [DataElement("649", typeof(X12_R))]
        [Pos(6)]
        public string Multiplier_06 { get; set; }
        [DataElement("355", typeof(X12_ID_355_2))]
        [Pos(7)]
        public string UnitorBasisforMeasurementCode_07 { get; set; }
        [StringLength(1, 15)]
        [DataElement("1018", typeof(X12_R))]
        [Pos(8)]
        public string Exponent_08 { get; set; }
        [StringLength(1, 10)]
        [DataElement("649", typeof(X12_R))]
        [Pos(9)]
        public string Multiplier_09 { get; set; }
        [DataElement("355", typeof(X12_ID_355_2))]
        [Pos(10)]
        public string UnitorBasisforMeasurementCode_10 { get; set; }
        [StringLength(1, 15)]
        [DataElement("1018", typeof(X12_R))]
        [Pos(11)]
        public string Exponent_11 { get; set; }
        [StringLength(1, 10)]
        [DataElement("649", typeof(X12_R))]
        [Pos(12)]
        public string Multiplier_12 { get; set; }
        [DataElement("355", typeof(X12_ID_355_2))]
        [Pos(13)]
        public string UnitorBasisforMeasurementCode_13 { get; set; }
        [StringLength(1, 15)]
        [DataElement("1018", typeof(X12_R))]
        [Pos(14)]
        public string Exponent_14 { get; set; }
        [StringLength(1, 10)]
        [DataElement("649", typeof(X12_R))]
        [Pos(15)]
        public string Multiplier_15 { get; set; }
    }
    
    [Serializable()]
    [All()]
    public class All_REF_5
    {
        
        [Pos(1)]
        public REF_ServiceAuthorizationExceptionCode REF_ServiceAuthorizationExceptionCode { get; set; }
        [Pos(2)]
        public REF_MandatoryMedicare_Section4081_CrossoverIndicator REF_MandatoryMedicare_Section4081_CrossoverIndicator { get; set; }
        [Pos(3)]
        public REF_MammographyCertificationNumber REF_MammographyCertificationNumber { get; set; }
        [Pos(4)]
        public REF_ReferralNumber REF_ReferralNumber { get; set; }
        [Pos(5)]
        public REF_PriorAuthorization REF_PriorAuthorization { get; set; }
        [Pos(6)]
        public REF_PayerClaimControlNumber REF_PayerClaimControlNumber { get; set; }
        [Pos(7)]
        public REF_ClinicalLaboratoryImprovementAmendment_CLIA_Number REF_ClinicalLaboratoryImprovementAmendment_CLIA_Number { get; set; }
        [Pos(8)]
        public REF_RepricedClaimNumber REF_RepricedClaimNumber { get; set; }
        [Pos(9)]
        public REF_AdjustedRepricedClaimNumber REF_AdjustedRepricedClaimNumber { get; set; }
        [Pos(10)]
        public REF_InvestigationalDeviceExemptionNumber REF_InvestigationalDeviceExemptionNumber { get; set; }
        [Pos(11)]
        public REF_ClaimIdentifierForTransmissionIntermediaries REF_ClaimIdentifierForTransmissionIntermediaries { get; set; }
        [Pos(12)]
        public REF_MedicalRecordNumber REF_MedicalRecordNumber { get; set; }
        [Pos(13)]
        public REF_DemonstrationProjectIdentifier REF_DemonstrationProjectIdentifier { get; set; }
        [Pos(14)]
        public REF_CarePlanOversight REF_CarePlanOversight { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_24))]
    public class REF_CarePlanOversight
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_24))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string CarePlanOversightNumber_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_22 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_22")]
    public class C040_ReferenceIdentifier_22
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_23))]
    public class REF_DemonstrationProjectIdentifier
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_23))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string DemonstrationProjectIdentifier_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_21 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_21")]
    public class C040_ReferenceIdentifier_21
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_22))]
    public class REF_MedicalRecordNumber
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_22))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string MedicalRecordNumber_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_20 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_20")]
    public class C040_ReferenceIdentifier_20
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_21))]
    public class REF_ClaimIdentifierForTransmissionIntermediaries
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_21))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ValueAddedNetworkTraceNumber_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_19 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_19")]
    public class C040_ReferenceIdentifier_19
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_20))]
    public class REF_InvestigationalDeviceExemptionNumber
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_20))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string InvestigationalDeviceExemptionIdentifier_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_18 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_18")]
    public class C040_ReferenceIdentifier_18
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_19))]
    public class REF_AdjustedRepricedClaimNumber
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_19))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string AdjustedRepricedClaimReferenceNumber_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_17 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_17")]
    public class C040_ReferenceIdentifier_17
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_18))]
    public class REF_RepricedClaimNumber
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_18))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string RepricedClaimReferenceNumber_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_16 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_16")]
    public class C040_ReferenceIdentifier_16
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_17))]
    public class REF_ClinicalLaboratoryImprovementAmendment_CLIA_Number
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_17))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ClinicalLaboratoryImprovementAmendmentNumber_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_15 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_15")]
    public class C040_ReferenceIdentifier_15
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_16))]
    public class REF_PayerClaimControlNumber
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_16))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string PayerClaimControlNumber_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_14 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_14")]
    public class C040_ReferenceIdentifier_14
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_15))]
    public class REF_PriorAuthorization
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_15))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string PriorAuthorizationNumber_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_13 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_13")]
    public class C040_ReferenceIdentifier_13
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_14))]
    public class REF_ReferralNumber
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_14))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferralNumber_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_12 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_12")]
    public class C040_ReferenceIdentifier_12
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_13))]
    public class REF_MammographyCertificationNumber
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_13))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string MammographyCertificationNumber_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_11 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_11")]
    public class C040_ReferenceIdentifier_11
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_12), typeof(X12_ID_127_2))]
    public class REF_MandatoryMedicare_Section4081_CrossoverIndicator
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_12))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [DataElement("127", typeof(X12_ID_127_2))]
        [Pos(2)]
        public string MedicareSectionIndicator_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_10 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_10")]
    public class C040_ReferenceIdentifier_10
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_11), typeof(X12_ID_127_1))]
    public class REF_ServiceAuthorizationExceptionCode
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_11))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [DataElement("127", typeof(X12_ID_127_1))]
        [Pos(2)]
        public string ServiceAuthorizationExceptionCode_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_9 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_9")]
    public class C040_ReferenceIdentifier_9
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("AMT", typeof(X12_ID_522))]
    public class AMT_PatientAmountPaid
    {
        
        [Required]
        [DataElement("522", typeof(X12_ID_522))]
        [Pos(1)]
        public string AmountQualifierCode_01 { get; set; }
        [Required]
        [StringLength(1, 18)]
        [DataElement("782", typeof(X12_R))]
        [Pos(2)]
        public string PatientAmountPaid_02 { get; set; }
        [DataElement("478", typeof(X12_ID_478))]
        [Pos(3)]
        public string CreditDebitFlagCode_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("CN1", typeof(X12_ID_1166))]
    public class CN1_ContractInformation
    {
        
        [Required]
        [DataElement("1166", typeof(X12_ID_1166))]
        [Pos(1)]
        public string ContractTypeCode_01 { get; set; }
        [StringLength(1, 18)]
        [DataElement("782", typeof(X12_R))]
        [Pos(2)]
        public string ContractAmount_02 { get; set; }
        [StringLength(1, 6)]
        [DataElement("332", typeof(X12_R))]
        [Pos(3)]
        public string ContractPercentage_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ContractCode_04 { get; set; }
        [StringLength(1, 6)]
        [DataElement("338", typeof(X12_R))]
        [Pos(5)]
        public string TermsDiscountPercentage_05 { get; set; }
        [StringLength(1, 30)]
        [DataElement("799", typeof(X12_AN))]
        [Pos(6)]
        public string ContractVersionIdentifier_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("PWK", typeof(X12_ID_755), typeof(X12_ID_756))]
    public class PWK_ClaimSupplementalInformation
    {
        
        [Required]
        [DataElement("755", typeof(X12_ID_755))]
        [Pos(1)]
        public string AttachmentReportTypeCode_01 { get; set; }
        [Required]
        [DataElement("756", typeof(X12_ID_756))]
        [Pos(2)]
        public string AttachmentTransmissionCode_02 { get; set; }
        [StringLength(1, 2)]
        [DataElement("757", typeof(X12_N0))]
        [Pos(3)]
        public string ReportCopiesNeeded_03 { get; set; }
        [DataElement("98", typeof(X12_ID_98_2))]
        [Pos(4)]
        public string EntityIdentifierCode_04 { get; set; }
        [Paired(6)]
        [DataElement("66", typeof(X12_ID_66_6))]
        [Pos(5)]
        public string IdentificationCodeQualifier_05 { get; set; }
        [StringLength(2, 80)]
        [DataElement("67", typeof(X12_AN))]
        [Pos(6)]
        public string AttachmentControlNumber_06 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(7)]
        public string Description_07 { get; set; }
        [Pos(8)]
        public C002_ActionsIndicated ActionsIndicated_08 { get; set; }
        [DataElement("1525", typeof(X12_ID_1525))]
        [Pos(9)]
        public string RequestCategoryCode_09 { get; set; }
    }
    
    [Serializable()]
    [Composite("C002_ActionsIndicated")]
    public class C002_ActionsIndicated
    {
        
        [Required]
        [DataElement("704", typeof(X12_ID_704))]
        [Pos(1)]
        public string PaperworkReportActionCode_01 { get; set; }
        [DataElement("704", typeof(X12_ID_704))]
        [Pos(2)]
        public string PaperworkReportActionCode_02 { get; set; }
        [DataElement("704", typeof(X12_ID_704))]
        [Pos(3)]
        public string PaperworkReportActionCode_03 { get; set; }
        [DataElement("704", typeof(X12_ID_704))]
        [Pos(4)]
        public string PaperworkReportActionCode_04 { get; set; }
        [DataElement("704", typeof(X12_ID_704))]
        [Pos(5)]
        public string PaperworkReportActionCode_05 { get; set; }
    }
    
    [Serializable()]
    [All()]
    public class All_DTP
    {
        
        [Pos(1)]
        public DTP_Date_OnsetofCurrentIllnessorSymptom DTP_Date_OnsetofCurrentIllnessorSymptom { get; set; }
        [Pos(2)]
        public DTP_Date_InitialTreatmentDate DTP_Date_InitialTreatmentDate { get; set; }
        [Pos(3)]
        public DTP_Date_LastSeenDate DTP_Date_LastSeenDate { get; set; }
        [Pos(4)]
        public DTP_Date_AcuteManifestation DTP_Date_AcuteManifestation { get; set; }
        [Pos(5)]
        public DTP_Date_Accident DTP_Date_Accident { get; set; }
        [Pos(6)]
        public DTP_Date_LastMenstrualPeriod DTP_Date_LastMenstrualPeriod { get; set; }
        [Pos(7)]
        public DTP_Date_LastX_rayDate DTP_Date_LastX_rayDate { get; set; }
        [Pos(8)]
        public DTP_Date_HearingandVisionPrescriptionDate DTP_Date_HearingandVisionPrescriptionDate { get; set; }
        [Pos(9)]
        public DTP_Date_DisabilityDates DTP_Date_DisabilityDates { get; set; }
        [Pos(10)]
        public DTP_Date_LastWorked DTP_Date_LastWorked { get; set; }
        [Pos(11)]
        public DTP_Date_AuthorizedReturntoWork DTP_Date_AuthorizedReturntoWork { get; set; }
        [Pos(12)]
        public DTP_Date_Admission DTP_Date_Admission { get; set; }
        [Pos(13)]
        public DTP_Date_Discharge DTP_Date_Discharge { get; set; }
        [ListCount(2)]
        [Pos(14)]
        public List<DTP_Date_AssumedandRelinquishedCareDates> DTP_Date_AssumedandRelinquishedCareDates { get; set; }
        [Pos(15)]
        public DTP_PropertyandCasualtyDateofFirstContact DTP_PropertyandCasualtyDateofFirstContact { get; set; }
        [Pos(16)]
        public DTP_Date_RepricerReceivedDate DTP_Date_RepricerReceivedDate { get; set; }
    }
    
    [Serializable()]
    [Segment("DTP", typeof(X12_ID_374_17), typeof(X12_ID_1250))]
    public class DTP_Date_RepricerReceivedDate
    {
        
        [Required]
        [DataElement("374", typeof(X12_ID_374_17))]
        [Pos(1)]
        public string DateTimeQualifier_01 { get; set; }
        [Required]
        [DataElement("1250", typeof(X12_ID_1250))]
        [Pos(2)]
        public string DateTimePeriodFormatQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 35)]
        [DataElement("1251", typeof(X12_AN))]
        [Pos(3)]
        public string RepricerReceivedDate_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("DTP", typeof(X12_ID_374_16), typeof(X12_ID_1250))]
    public class DTP_PropertyandCasualtyDateofFirstContact
    {
        
        [Required]
        [DataElement("374", typeof(X12_ID_374_16))]
        [Pos(1)]
        public string DateTimeQualifier_01 { get; set; }
        [Required]
        [DataElement("1250", typeof(X12_ID_1250))]
        [Pos(2)]
        public string DateTimePeriodFormatQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 35)]
        [DataElement("1251", typeof(X12_AN))]
        [Pos(3)]
        public string DateTimePeriod_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("DTP", typeof(X12_ID_374_15), typeof(X12_ID_1250))]
    public class DTP_Date_AssumedandRelinquishedCareDates
    {
        
        [Required]
        [DataElement("374", typeof(X12_ID_374_15))]
        [Pos(1)]
        public string DateTimeQualifier_01 { get; set; }
        [Required]
        [DataElement("1250", typeof(X12_ID_1250))]
        [Pos(2)]
        public string DateTimePeriodFormatQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 35)]
        [DataElement("1251", typeof(X12_AN))]
        [Pos(3)]
        public string AssumedorRelinquishedCareDate_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("DTP", typeof(X12_ID_374_14), typeof(X12_ID_1250))]
    public class DTP_Date_Discharge
    {
        
        [Required]
        [DataElement("374", typeof(X12_ID_374_14))]
        [Pos(1)]
        public string DateTimeQualifier_01 { get; set; }
        [Required]
        [DataElement("1250", typeof(X12_ID_1250))]
        [Pos(2)]
        public string DateTimePeriodFormatQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 35)]
        [DataElement("1251", typeof(X12_AN))]
        [Pos(3)]
        public string RelatedHospitalizationDischargeDate_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("DTP", typeof(X12_ID_374_13), typeof(X12_ID_1250))]
    public class DTP_Date_Admission
    {
        
        [Required]
        [DataElement("374", typeof(X12_ID_374_13))]
        [Pos(1)]
        public string DateTimeQualifier_01 { get; set; }
        [Required]
        [DataElement("1250", typeof(X12_ID_1250))]
        [Pos(2)]
        public string DateTimePeriodFormatQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 35)]
        [DataElement("1251", typeof(X12_AN))]
        [Pos(3)]
        public string RelatedHospitalizationAdmissionDate_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("DTP", typeof(X12_ID_374_12), typeof(X12_ID_1250))]
    public class DTP_Date_AuthorizedReturntoWork
    {
        
        [Required]
        [DataElement("374", typeof(X12_ID_374_12))]
        [Pos(1)]
        public string DateTimeQualifier_01 { get; set; }
        [Required]
        [DataElement("1250", typeof(X12_ID_1250))]
        [Pos(2)]
        public string DateTimePeriodFormatQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 35)]
        [DataElement("1251", typeof(X12_AN))]
        [Pos(3)]
        public string WorkReturnDate_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("DTP", typeof(X12_ID_374_11), typeof(X12_ID_1250))]
    public class DTP_Date_LastWorked
    {
        
        [Required]
        [DataElement("374", typeof(X12_ID_374_11))]
        [Pos(1)]
        public string DateTimeQualifier_01 { get; set; }
        [Required]
        [DataElement("1250", typeof(X12_ID_1250))]
        [Pos(2)]
        public string DateTimePeriodFormatQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 35)]
        [DataElement("1251", typeof(X12_AN))]
        [Pos(3)]
        public string LastWorkedDate_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("DTP", typeof(X12_ID_374_10), typeof(X12_ID_1250_2))]
    public class DTP_Date_DisabilityDates
    {
        
        [Required]
        [DataElement("374", typeof(X12_ID_374_10))]
        [Pos(1)]
        public string DateTimeQualifier_01 { get; set; }
        [Required]
        [DataElement("1250", typeof(X12_ID_1250_2))]
        [Pos(2)]
        public string DateTimePeriodFormatQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 35)]
        [DataElement("1251", typeof(X12_AN))]
        [Pos(3)]
        public string DisabilityFromDate_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("DTP", typeof(X12_ID_374_9), typeof(X12_ID_1250))]
    public class DTP_Date_HearingandVisionPrescriptionDate
    {
        
        [Required]
        [DataElement("374", typeof(X12_ID_374_9))]
        [Pos(1)]
        public string DateTimeQualifier_01 { get; set; }
        [Required]
        [DataElement("1250", typeof(X12_ID_1250))]
        [Pos(2)]
        public string DateTimePeriodFormatQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 35)]
        [DataElement("1251", typeof(X12_AN))]
        [Pos(3)]
        public string PrescriptionDate_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("DTP", typeof(X12_ID_374_8), typeof(X12_ID_1250))]
    public class DTP_Date_LastX_rayDate
    {
        
        [Required]
        [DataElement("374", typeof(X12_ID_374_8))]
        [Pos(1)]
        public string DateTimeQualifier_01 { get; set; }
        [Required]
        [DataElement("1250", typeof(X12_ID_1250))]
        [Pos(2)]
        public string DateTimePeriodFormatQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 35)]
        [DataElement("1251", typeof(X12_AN))]
        [Pos(3)]
        public string LastXRayDate_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("DTP", typeof(X12_ID_374_7), typeof(X12_ID_1250))]
    public class DTP_Date_LastMenstrualPeriod
    {
        
        [Required]
        [DataElement("374", typeof(X12_ID_374_7))]
        [Pos(1)]
        public string DateTimeQualifier_01 { get; set; }
        [Required]
        [DataElement("1250", typeof(X12_ID_1250))]
        [Pos(2)]
        public string DateTimePeriodFormatQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 35)]
        [DataElement("1251", typeof(X12_AN))]
        [Pos(3)]
        public string LastMenstrualPeriodDate_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("DTP", typeof(X12_ID_374_6), typeof(X12_ID_1250))]
    public class DTP_Date_Accident
    {
        
        [Required]
        [DataElement("374", typeof(X12_ID_374_6))]
        [Pos(1)]
        public string DateTimeQualifier_01 { get; set; }
        [Required]
        [DataElement("1250", typeof(X12_ID_1250))]
        [Pos(2)]
        public string DateTimePeriodFormatQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 35)]
        [DataElement("1251", typeof(X12_AN))]
        [Pos(3)]
        public string AccidentDate_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("DTP", typeof(X12_ID_374_5), typeof(X12_ID_1250))]
    public class DTP_Date_AcuteManifestation
    {
        
        [Required]
        [DataElement("374", typeof(X12_ID_374_5))]
        [Pos(1)]
        public string DateTimeQualifier_01 { get; set; }
        [Required]
        [DataElement("1250", typeof(X12_ID_1250))]
        [Pos(2)]
        public string DateTimePeriodFormatQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 35)]
        [DataElement("1251", typeof(X12_AN))]
        [Pos(3)]
        public string AcuteManifestationDate_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("DTP", typeof(X12_ID_374_4), typeof(X12_ID_1250))]
    public class DTP_Date_LastSeenDate
    {
        
        [Required]
        [DataElement("374", typeof(X12_ID_374_4))]
        [Pos(1)]
        public string DateTimeQualifier_01 { get; set; }
        [Required]
        [DataElement("1250", typeof(X12_ID_1250))]
        [Pos(2)]
        public string DateTimePeriodFormatQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 35)]
        [DataElement("1251", typeof(X12_AN))]
        [Pos(3)]
        public string LastSeenDate_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("DTP", typeof(X12_ID_374_3), typeof(X12_ID_1250))]
    public class DTP_Date_InitialTreatmentDate
    {
        
        [Required]
        [DataElement("374", typeof(X12_ID_374_3))]
        [Pos(1)]
        public string DateTimeQualifier_01 { get; set; }
        [Required]
        [DataElement("1250", typeof(X12_ID_1250))]
        [Pos(2)]
        public string DateTimePeriodFormatQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 35)]
        [DataElement("1251", typeof(X12_AN))]
        [Pos(3)]
        public string InitialTreatmentDate_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("DTP", typeof(X12_ID_374_2), typeof(X12_ID_1250))]
    public class DTP_Date_OnsetofCurrentIllnessorSymptom
    {
        
        [Required]
        [DataElement("374", typeof(X12_ID_374_2))]
        [Pos(1)]
        public string DateTimeQualifier_01 { get; set; }
        [Required]
        [DataElement("1250", typeof(X12_ID_1250))]
        [Pos(2)]
        public string DateTimePeriodFormatQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 35)]
        [DataElement("1251", typeof(X12_AN))]
        [Pos(3)]
        public string OnsetofCurrentIllnessorInjuryDate_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("CLM")]
    public class CLM_ClaimInformation
    {
        
        [Required]
        [StringLength(1, 38)]
        [DataElement("1028", typeof(X12_AN))]
        [Pos(1)]
        public string PatientControlNumber_01 { get; set; }
        [Required]
        [StringLength(1, 18)]
        [DataElement("782", typeof(X12_R))]
        [Pos(2)]
        public string TotalClaimChargeAmount_02 { get; set; }
        [DataElement("1032", typeof(X12_ID_1032_2))]
        [Pos(3)]
        public string ClaimFilingIndicatorCode_03 { get; set; }
        [DataElement("1343", typeof(X12_ID_1343))]
        [Pos(4)]
        public string NonInstitutionalClaimTypeCode_04 { get; set; }
        [Required]
        [Pos(5)]
        public C023_HealthCareServiceLocationInformation HealthCareServiceLocationInformation_05 { get; set; }
        [Required]
        [DataElement("1073", typeof(X12_ID_1073_3))]
        [Pos(6)]
        public string ProviderorSupplierSignatureIndicator_06 { get; set; }
        [Required]
        [DataElement("1359", typeof(X12_ID_1359))]
        [Pos(7)]
        public string AssignmentorPlanParticipationCode_07 { get; set; }
        [Required]
        [DataElement("1073", typeof(X12_ID_1073_4))]
        [Pos(8)]
        public string BenefitsAssignmentCertificationIndicator_08 { get; set; }
        [Required]
        [DataElement("1363", typeof(X12_ID_1363))]
        [Pos(9)]
        public string ReleaseofInformationCode_09 { get; set; }
        [DataElement("1351", typeof(X12_ID_1351))]
        [Pos(10)]
        public string PatientSignatureSourceCode_10 { get; set; }
        [Pos(11)]
        public C024_RelatedCausesInformation RelatedCausesInformation_11 { get; set; }
        [DataElement("1366", typeof(X12_ID_1366))]
        [Pos(12)]
        public string SpecialProgramIndicator_12 { get; set; }
        [DataElement("1073", typeof(X12_ID_1073))]
        [Pos(13)]
        public string YesNoConditionorResponseCode_13 { get; set; }
        [DataElement("1338", typeof(X12_ID_1338))]
        [Pos(14)]
        public string LevelofServiceCode_14 { get; set; }
        [DataElement("1073", typeof(X12_ID_1073))]
        [Pos(15)]
        public string YesNoConditionorResponseCode_15 { get; set; }
        [DataElement("1360", typeof(X12_ID_1360))]
        [Pos(16)]
        public string ProviderAgreementCode_16 { get; set; }
        [DataElement("1029", typeof(X12_ID_1029))]
        [Pos(17)]
        public string ClaimStatusCode_17 { get; set; }
        [DataElement("1073", typeof(X12_ID_1073))]
        [Pos(18)]
        public string YesNoConditionorResponseCode_18 { get; set; }
        [DataElement("1383", typeof(X12_ID_1383))]
        [Pos(19)]
        public string ClaimSubmissionReasonCode_19 { get; set; }
        [DataElement("1514", typeof(X12_ID_1514))]
        [Pos(20)]
        public string DelayReasonCode_20 { get; set; }
    }
    
    [Serializable()]
    [Composite("C024_RelatedCausesInformation")]
    public class C024_RelatedCausesInformation
    {
        
        [Required]
        [DataElement("1362", typeof(X12_ID_1362))]
        [Pos(1)]
        public string RelatedCausesCode_01 { get; set; }
        [DataElement("1362", typeof(X12_ID_1362))]
        [Pos(2)]
        public string RelatedCausesCode_02 { get; set; }
        [DataElement("1362", typeof(X12_ID_1362_2))]
        [Pos(3)]
        public string RelatedCausesCode_03 { get; set; }
        [StringLength(2, 2)]
        [DataElement("156", typeof(X12_ID))]
        [Pos(4)]
        public string AutoAccidentStateorProvinceCode_04 { get; set; }
        [StringLength(2, 3)]
        [DataElement("26", typeof(X12_ID))]
        [Pos(5)]
        public string CountryCode_05 { get; set; }
    }
    
    [Serializable()]
    [Composite("C023_HealthCareServiceLocationInformation")]
    public class C023_HealthCareServiceLocationInformation
    {
        
        [Required]
        [StringLength(1, 2)]
        [DataElement("1331", typeof(X12_AN))]
        [Pos(1)]
        public string PlaceofServiceCode_01 { get; set; }
        [Required]
        [DataElement("1332", typeof(X12_ID_1332))]
        [Pos(2)]
        public string FacilityCodeQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 1)]
        [DataElement("1325", typeof(X12_ID))]
        [Pos(3)]
        public string ClaimFrequencyCode_03 { get; set; }
    }
    
    [Serializable()]
    [All()]
    public class All_NM1_3
    {
        
        [Required]
        [Pos(1)]
        public Loop_2010BA Loop_2010BA { get; set; }
        [Required]
        [Pos(2)]
        public Loop_2010BB Loop_2010BB { get; set; }
    }
    
    [Serializable()]
    [Group(typeof(NM1_PayerName))]
    public class Loop_2010BB
    {
        
        [Required]
        [Pos(1)]
        public NM1_PayerName NM1_PayerName { get; set; }
        [Pos(2)]
        public N3_PayerAddress N3_PayerAddress { get; set; }
        [Pos(3)]
        public N4_PayerCity_State_ZIPCode N4_PayerCity_State_ZIPCode { get; set; }
        [Pos(4)]
        public All_REF_4 All_REF_4 { get; set; }
    }
    
    [Serializable()]
    [All()]
    public class All_REF_4
    {
        
        [ListCount(3)]
        [Pos(1)]
        public List<REF_PayerSecondaryIdentification> REF_PayerSecondaryIdentification { get; set; }
        [ListCount(2)]
        [Pos(2)]
        public List<REF_BillingProviderSecondaryIdentification> REF_BillingProviderSecondaryIdentification { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_10))]
    public class REF_BillingProviderSecondaryIdentification
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_10))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string BillingProviderSecondaryIdentifier_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_8 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_8")]
    public class C040_ReferenceIdentifier_8
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_9))]
    public class REF_PayerSecondaryIdentification
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_9))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string PayerSecondaryIdentifier_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_7 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_7")]
    public class C040_ReferenceIdentifier_7
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("N4")]
    public class N4_PayerCity_State_ZIPCode
    {
        
        [Required]
        [StringLength(2, 30)]
        [DataElement("19", typeof(X12_AN))]
        [Pos(1)]
        public string PayerCityName_01 { get; set; }
        [Exclusion(7)]
        [StringLength(2, 2)]
        [DataElement("156", typeof(X12_ID))]
        [Pos(2)]
        public string PayerStateorProvinceCode_02 { get; set; }
        [StringLength(3, 15)]
        [DataElement("116", typeof(X12_ID))]
        [Pos(3)]
        public string PayerPostalZoneorZIPCode_03 { get; set; }
        [StringLength(2, 3)]
        [DataElement("26", typeof(X12_ID))]
        [Pos(4)]
        public string CountryCode_04 { get; set; }
        [DataElement("309", typeof(X12_ID_309))]
        [Pos(5)]
        public string LocationQualifier_05 { get; set; }
        [Conditional(5)]
        [StringLength(1, 30)]
        [DataElement("310", typeof(X12_AN))]
        [Pos(6)]
        public string LocationIdentifier_06 { get; set; }
        [Conditional(4)]
        [StringLength(1, 3)]
        [DataElement("1715", typeof(X12_ID))]
        [Pos(7)]
        public string CountrySubdivisionCode_07 { get; set; }
    }
    
    [Serializable()]
    [Segment("N3")]
    public class N3_PayerAddress
    {
        
        [Required]
        [StringLength(1, 55)]
        [DataElement("166", typeof(X12_AN))]
        [Pos(1)]
        public string PayerAddressLine_01 { get; set; }
        [StringLength(1, 55)]
        [DataElement("166", typeof(X12_AN))]
        [Pos(2)]
        public string PayerAddressLine_02 { get; set; }
    }
    
    [Serializable()]
    [Segment("NM1", typeof(X12_ID_98_8), typeof(X12_ID_1065_2))]
    public class NM1_PayerName
    {
        
        [Required]
        [DataElement("98", typeof(X12_ID_98_8))]
        [Pos(1)]
        public string EntityIdentifierCode_01 { get; set; }
        [Required]
        [DataElement("1065", typeof(X12_ID_1065_2))]
        [Pos(2)]
        public string EntityTypeQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 60)]
        [DataElement("1035", typeof(X12_AN))]
        [Pos(3)]
        public string PayerName_03 { get; set; }
        [StringLength(1, 35)]
        [DataElement("1036", typeof(X12_AN))]
        [Pos(4)]
        public string NameFirst_04 { get; set; }
        [StringLength(1, 25)]
        [DataElement("1037", typeof(X12_AN))]
        [Pos(5)]
        public string NameMiddle_05 { get; set; }
        [StringLength(1, 10)]
        [DataElement("1038", typeof(X12_AN))]
        [Pos(6)]
        public string NamePrefix_06 { get; set; }
        [StringLength(1, 10)]
        [DataElement("1039", typeof(X12_AN))]
        [Pos(7)]
        public string NameSuffix_07 { get; set; }
        [Paired(9)]
        [Required]
        [DataElement("66", typeof(X12_ID_66_4))]
        [Pos(8)]
        public string IdentificationCodeQualifier_08 { get; set; }
        [Required]
        [StringLength(2, 80)]
        [DataElement("67", typeof(X12_AN))]
        [Pos(9)]
        public string PayerIdentifier_09 { get; set; }
        [DataElement("706", typeof(X12_ID_706))]
        [Pos(10)]
        public string EntityRelationshipCode_10 { get; set; }
        [Conditional(10)]
        [DataElement("98", typeof(X12_ID_98_2))]
        [Pos(11)]
        public string EntityIdentifierCode_11 { get; set; }
        [Conditional(3)]
        [StringLength(1, 60)]
        [DataElement("1035", typeof(X12_AN))]
        [Pos(12)]
        public string NameLastorOrganizationName_12 { get; set; }
    }
    
    [Serializable()]
    [Group(typeof(NM1_SubscriberName))]
    public class Loop_2010BA
    {
        
        [Required]
        [Pos(1)]
        public NM1_SubscriberName NM1_SubscriberName { get; set; }
        [Pos(2)]
        public N3_SubscriberAddress N3_SubscriberAddress { get; set; }
        [Pos(3)]
        public N4_SubscriberCity_State_ZIPCode N4_SubscriberCity_State_ZIPCode { get; set; }
        [Pos(4)]
        public DMG_SubscriberDemographicInformation DMG_SubscriberDemographicInformation { get; set; }
        [Pos(5)]
        public All_REF_3 All_REF_3 { get; set; }
        [Pos(6)]
        public PER_PropertyandCasualtySubscriberContactInformation PER_PropertyandCasualtySubscriberContactInformation { get; set; }
    }
    
    [Serializable()]
    [Segment("PER", typeof(X12_ID_366))]
    public class PER_PropertyandCasualtySubscriberContactInformation
    {
        
        [Required]
        [DataElement("366", typeof(X12_ID_366))]
        [Pos(1)]
        public string ContactFunctionCode_01 { get; set; }
        [StringLength(1, 60)]
        [DataElement("93", typeof(X12_AN))]
        [Pos(2)]
        public string Name_02 { get; set; }
        [Paired(4)]
        [Required]
        [DataElement("365", typeof(X12_ID_365_3))]
        [Pos(3)]
        public string CommunicationNumberQualifier_03 { get; set; }
        [Required]
        [StringLength(1, 256)]
        [DataElement("364", typeof(X12_AN))]
        [Pos(4)]
        public string CommunicationNumber_04 { get; set; }
        [Paired(6)]
        [DataElement("365", typeof(X12_ID_365_4))]
        [Pos(5)]
        public string CommunicationNumberQualifier_05 { get; set; }
        [StringLength(1, 256)]
        [DataElement("364", typeof(X12_AN))]
        [Pos(6)]
        public string CommunicationNumber_06 { get; set; }
        [Paired(8)]
        [DataElement("365", typeof(X12_ID_365_5))]
        [Pos(7)]
        public string CommunicationNumberQualifier_07 { get; set; }
        [StringLength(1, 256)]
        [DataElement("364", typeof(X12_AN))]
        [Pos(8)]
        public string CommunicationNumber_08 { get; set; }
        [StringLength(1, 20)]
        [DataElement("443", typeof(X12_AN))]
        [Pos(9)]
        public string ContactInquiryReference_09 { get; set; }
    }
    
    [Serializable()]
    [All()]
    public class All_REF_3
    {
        
        [Pos(1)]
        public REF_SubscriberSecondaryIdentification REF_SubscriberSecondaryIdentification { get; set; }
        [Pos(2)]
        public REF_PropertyandCasualtyClaimNumber REF_PropertyandCasualtyClaimNumber { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_8))]
    public class REF_PropertyandCasualtyClaimNumber
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_8))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string PropertyCasualtyClaimNumber_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_6 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_6")]
    public class C040_ReferenceIdentifier_6
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_7))]
    public class REF_SubscriberSecondaryIdentification
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_7))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string SubscriberSupplementalIdentifier_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_5 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_5")]
    public class C040_ReferenceIdentifier_5
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("DMG", typeof(X12_ID_1250))]
    public class DMG_SubscriberDemographicInformation
    {
        
        [Paired(2)]
        [Required]
        [DataElement("1250", typeof(X12_ID_1250))]
        [Pos(1)]
        public string DateTimePeriodFormatQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 35)]
        [DataElement("1251", typeof(X12_AN))]
        [Pos(2)]
        public string SubscriberBirthDate_02 { get; set; }
        [Required]
        [DataElement("1068", typeof(X12_ID_1068))]
        [Pos(3)]
        public string SubscriberGenderCode_03 { get; set; }
        [DataElement("1067", typeof(X12_ID_1067))]
        [Pos(4)]
        public string MaritalStatusCode_04 { get; set; }
        [ListCount(10)]
        [Pos(5)]
        public List<C056_CompositeRaceorEthnicityInformation> CompositeRaceorEthnicityInformation_05 { get; set; }
        [DataElement("1066", typeof(X12_ID_1066))]
        [Pos(6)]
        public string CitizenshipStatusCode_06 { get; set; }
        [StringLength(2, 3)]
        [DataElement("26", typeof(X12_ID))]
        [Pos(7)]
        public string CountryCode_07 { get; set; }
        [DataElement("659", typeof(X12_ID_659))]
        [Pos(8)]
        public string BasisofVerificationCode_08 { get; set; }
        [StringLength(1, 15)]
        [DataElement("380", typeof(X12_R))]
        [Pos(9)]
        public string Quantity_09 { get; set; }
        [Paired(11)]
        [DataElement("1270", typeof(X12_ID_1270))]
        [Pos(10)]
        public string CodeListQualifierCode_10 { get; set; }
        [Conditional(5)]
        [StringLength(1, 30)]
        [DataElement("1271", typeof(X12_AN))]
        [Pos(11)]
        public string IndustryCode_11 { get; set; }
    }
    
    [Serializable()]
    [Composite("C056_CompositeRaceorEthnicityInformation")]
    public class C056_CompositeRaceorEthnicityInformation
    {
        
        [DataElement("1109", typeof(X12_ID_1109))]
        [Pos(1)]
        public string RaceorEthnicityCode_01 { get; set; }
        [Paired(3)]
        [DataElement("1270", typeof(X12_ID_1270))]
        [Pos(2)]
        public string CodeListQualifierCode_02 { get; set; }
        [StringLength(1, 30)]
        [DataElement("1271", typeof(X12_AN))]
        [Pos(3)]
        public string IndustryCode_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("N4")]
    public class N4_SubscriberCity_State_ZIPCode
    {
        
        [Required]
        [StringLength(2, 30)]
        [DataElement("19", typeof(X12_AN))]
        [Pos(1)]
        public string SubscriberCityName_01 { get; set; }
        [Exclusion(7)]
        [StringLength(2, 2)]
        [DataElement("156", typeof(X12_ID))]
        [Pos(2)]
        public string SubscriberStateCode_02 { get; set; }
        [StringLength(3, 15)]
        [DataElement("116", typeof(X12_ID))]
        [Pos(3)]
        public string SubscriberPostalZoneorZIPCode_03 { get; set; }
        [StringLength(2, 3)]
        [DataElement("26", typeof(X12_ID))]
        [Pos(4)]
        public string CountryCode_04 { get; set; }
        [DataElement("309", typeof(X12_ID_309))]
        [Pos(5)]
        public string LocationQualifier_05 { get; set; }
        [Conditional(5)]
        [StringLength(1, 30)]
        [DataElement("310", typeof(X12_AN))]
        [Pos(6)]
        public string LocationIdentifier_06 { get; set; }
        [Conditional(4)]
        [StringLength(1, 3)]
        [DataElement("1715", typeof(X12_ID))]
        [Pos(7)]
        public string CountrySubdivisionCode_07 { get; set; }
    }
    
    [Serializable()]
    [Segment("N3")]
    public class N3_SubscriberAddress
    {
        
        [Required]
        [StringLength(1, 55)]
        [DataElement("166", typeof(X12_AN))]
        [Pos(1)]
        public string SubscriberAddressLine_01 { get; set; }
        [StringLength(1, 55)]
        [DataElement("166", typeof(X12_AN))]
        [Pos(2)]
        public string SubscriberAddressLine_02 { get; set; }
    }
    
    [Serializable()]
    [Segment("NM1", typeof(X12_ID_98_7), typeof(X12_ID_1065))]
    public class NM1_SubscriberName
    {
        
        [Required]
        [DataElement("98", typeof(X12_ID_98_7))]
        [Pos(1)]
        public string EntityIdentifierCode_01 { get; set; }
        [Required]
        [DataElement("1065", typeof(X12_ID_1065))]
        [Pos(2)]
        public string EntityTypeQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 60)]
        [DataElement("1035", typeof(X12_AN))]
        [Pos(3)]
        public string SubscriberLastName_03 { get; set; }
        [StringLength(1, 35)]
        [DataElement("1036", typeof(X12_AN))]
        [Pos(4)]
        public string SubscriberFirstName_04 { get; set; }
        [StringLength(1, 25)]
        [DataElement("1037", typeof(X12_AN))]
        [Pos(5)]
        public string SubscriberMiddleNameorInitial_05 { get; set; }
        [StringLength(1, 10)]
        [DataElement("1038", typeof(X12_AN))]
        [Pos(6)]
        public string NamePrefix_06 { get; set; }
        [StringLength(1, 10)]
        [DataElement("1039", typeof(X12_AN))]
        [Pos(7)]
        public string SubscriberNameSuffix_07 { get; set; }
        [Paired(9)]
        [DataElement("66", typeof(X12_ID_66_5))]
        [Pos(8)]
        public string IdentificationCodeQualifier_08 { get; set; }
        [StringLength(2, 80)]
        [DataElement("67", typeof(X12_AN))]
        [Pos(9)]
        public string SubscriberPrimaryIdentifier_09 { get; set; }
        [DataElement("706", typeof(X12_ID_706))]
        [Pos(10)]
        public string EntityRelationshipCode_10 { get; set; }
        [Conditional(10)]
        [DataElement("98", typeof(X12_ID_98_2))]
        [Pos(11)]
        public string EntityIdentifierCode_11 { get; set; }
        [Conditional(3)]
        [StringLength(1, 60)]
        [DataElement("1035", typeof(X12_AN))]
        [Pos(12)]
        public string NameLastorOrganizationName_12 { get; set; }
    }
    
    [Serializable()]
    [Segment("PAT", typeof(X12_ID_1069_2), typeof(X12_ID_1384))]
    public class PAT_PatientInformation
    {
        
        [DataElement("1069", typeof(X12_ID_1069_2))]
        [Pos(1)]
        public string IndividualRelationshipCode_01 { get; set; }
        [DataElement("1384", typeof(X12_ID_1384))]
        [Pos(2)]
        public string PatientLocationCode_02 { get; set; }
        [DataElement("584", typeof(X12_ID_584))]
        [Pos(3)]
        public string EmploymentStatusCode_03 { get; set; }
        [DataElement("1220", typeof(X12_ID_1220))]
        [Pos(4)]
        public string StudentStatusCode_04 { get; set; }
        [Paired(6)]
        [DataElement("1250", typeof(X12_ID_1250))]
        [Pos(5)]
        public string DateTimePeriodFormatQualifier_05 { get; set; }
        [StringLength(1, 35)]
        [DataElement("1251", typeof(X12_AN))]
        [Pos(6)]
        public string PatientDeathDate_06 { get; set; }
        [Paired(8)]
        [DataElement("355", typeof(X12_ID_355))]
        [Pos(7)]
        public string UnitorBasisforMeasurementCode_07 { get; set; }
        [StringLength(1, 10)]
        [DataElement("81", typeof(X12_R))]
        [Pos(8)]
        public string PatientWeight_08 { get; set; }
        [DataElement("1073", typeof(X12_ID_1073_2))]
        [Pos(9)]
        public string PregnancyIndicator_09 { get; set; }
    }
    
    [Serializable()]
    [Segment("SBR", typeof(X12_ID_1138), typeof(X12_ID_1069))]
    public class SBR_SubscriberInformation
    {
        
        [Required]
        [DataElement("1138", typeof(X12_ID_1138))]
        [Pos(1)]
        public string PayerResponsibilitySequenceNumberCode_01 { get; set; }
        [DataElement("1069", typeof(X12_ID_1069))]
        [Pos(2)]
        public string IndividualRelationshipCode_02 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(3)]
        public string SubscriberGrouporPolicyNumber_03 { get; set; }
        [StringLength(1, 60)]
        [DataElement("93", typeof(X12_AN))]
        [Pos(4)]
        public string SubscriberGroupName_04 { get; set; }
        [DataElement("1336", typeof(X12_ID_1336))]
        [Pos(5)]
        public string InsuranceTypeCode_05 { get; set; }
        [DataElement("1143", typeof(X12_ID_1143))]
        [Pos(6)]
        public string CoordinationofBenefitsCode_06 { get; set; }
        [DataElement("1073", typeof(X12_ID_1073))]
        [Pos(7)]
        public string YesNoConditionorResponseCode_07 { get; set; }
        [DataElement("584", typeof(X12_ID_584))]
        [Pos(8)]
        public string EmploymentStatusCode_08 { get; set; }
        [DataElement("1032", typeof(X12_ID_1032))]
        [Pos(9)]
        public string ClaimFilingIndicatorCode_09 { get; set; }
    }
    
    [Serializable()]
    [Segment("HL", typeof(X12_ID_735_2))]
    public class HL_SubscriberHierarchicalLevel
    {
        
        [Required]
        [StringLength(1, 12)]
        [DataElement("628", typeof(X12_AN))]
        [Pos(1)]
        public string HierarchicalIDNumber_01 { get; set; }
        [Required]
        [StringLength(1, 12)]
        [DataElement("734", typeof(X12_AN))]
        [Pos(2)]
        public string HierarchicalParentIDNumber_02 { get; set; }
        [Required]
        [DataElement("735", typeof(X12_ID_735_2))]
        [Pos(3)]
        public string HierarchicalLevelCode_03 { get; set; }
        [Required]
        [DataElement("736", typeof(X12_ID_736_2))]
        [Pos(4)]
        public string HierarchicalChildCode_04 { get; set; }
    }
    
    [Serializable()]
    [EdiCodes(",0,1,")]
    public class X12_ID_736_2
    {
    }
    
    [Serializable()]
    [All()]
    public class All_NM1_2
    {
        
        [Required]
        [Pos(1)]
        public Loop_2010AA Loop_2010AA { get; set; }
        [Pos(2)]
        public Loop_2010AB Loop_2010AB { get; set; }
        [Pos(3)]
        public Loop_2010AC Loop_2010AC { get; set; }
    }
    
    [Serializable()]
    [Group(typeof(NM1_Pay_ToPlanName))]
    public class Loop_2010AC
    {
        
        [Required]
        [Pos(1)]
        public NM1_Pay_ToPlanName NM1_Pay_ToPlanName { get; set; }
        [Required]
        [Pos(2)]
        public N3_Pay_ToPlanAddress N3_Pay_ToPlanAddress { get; set; }
        [Required]
        [Pos(3)]
        public N4_Pay_ToPlanCity_State_ZIPCode N4_Pay_ToPlanCity_State_ZIPCode { get; set; }
        [Required]
        [Pos(4)]
        public All_REF_2 All_REF_2 { get; set; }
    }
    
    [Serializable()]
    [EdiCodes(",PE,")]
    public class X12_ID_98_6
    {
    }
    
    [Serializable()]
    [All()]
    public class All_REF_2
    {
        
        [Pos(1)]
        public REF_Pay_ToPlanSecondaryIdentification REF_Pay_ToPlanSecondaryIdentification { get; set; }
        [Required]
        [Pos(2)]
        public REF_Pay_ToPlanTaxIdentificationNumber REF_Pay_ToPlanTaxIdentificationNumber { get; set; }
    }
    
    [Serializable()]
    [EdiCodes(",2U,FY,NF,")]
    public class X12_ID_128_5
    {
    }
    
    [Serializable()]
    [EdiCodes(",EI,")]
    public class X12_ID_128_6
    {
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_6))]
    public class REF_Pay_ToPlanTaxIdentificationNumber
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_6))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string PayToPlanTaxIdentificationNumber_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_4 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_4")]
    public class C040_ReferenceIdentifier_4
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_5))]
    public class REF_Pay_ToPlanSecondaryIdentification
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_5))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string PaytoPlanSecondaryIdentifier_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_3 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_3")]
    public class C040_ReferenceIdentifier_3
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("N4")]
    public class N4_Pay_ToPlanCity_State_ZIPCode
    {
        
        [Required]
        [StringLength(2, 30)]
        [DataElement("19", typeof(X12_AN))]
        [Pos(1)]
        public string PaytoPlanCityName_01 { get; set; }
        [Exclusion(7)]
        [StringLength(2, 2)]
        [DataElement("156", typeof(X12_ID))]
        [Pos(2)]
        public string PaytoPlanStateorProvinceCode_02 { get; set; }
        [StringLength(3, 15)]
        [DataElement("116", typeof(X12_ID))]
        [Pos(3)]
        public string PaytoPlanPostalZoneorZIPCode_03 { get; set; }
        [StringLength(2, 3)]
        [DataElement("26", typeof(X12_ID))]
        [Pos(4)]
        public string CountryCode_04 { get; set; }
        [DataElement("309", typeof(X12_ID_309))]
        [Pos(5)]
        public string LocationQualifier_05 { get; set; }
        [Conditional(5)]
        [StringLength(1, 30)]
        [DataElement("310", typeof(X12_AN))]
        [Pos(6)]
        public string LocationIdentifier_06 { get; set; }
        [Conditional(4)]
        [StringLength(1, 3)]
        [DataElement("1715", typeof(X12_ID))]
        [Pos(7)]
        public string CountrySubdivisionCode_07 { get; set; }
    }
    
    [Serializable()]
    [Segment("N3")]
    public class N3_Pay_ToPlanAddress
    {
        
        [Required]
        [StringLength(1, 55)]
        [DataElement("166", typeof(X12_AN))]
        [Pos(1)]
        public string PaytoPlanAddressLine_01 { get; set; }
        [StringLength(1, 55)]
        [DataElement("166", typeof(X12_AN))]
        [Pos(2)]
        public string PaytoPlanAddressLine_02 { get; set; }
    }
    
    [Serializable()]
    [Segment("NM1", typeof(X12_ID_98_6), typeof(X12_ID_1065_2))]
    public class NM1_Pay_ToPlanName
    {
        
        [Required]
        [DataElement("98", typeof(X12_ID_98_6))]
        [Pos(1)]
        public string EntityIdentifierCode_01 { get; set; }
        [Required]
        [DataElement("1065", typeof(X12_ID_1065_2))]
        [Pos(2)]
        public string EntityTypeQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 60)]
        [DataElement("1035", typeof(X12_AN))]
        [Pos(3)]
        public string PaytoPlanOrganizationalName_03 { get; set; }
        [StringLength(1, 35)]
        [DataElement("1036", typeof(X12_AN))]
        [Pos(4)]
        public string NameFirst_04 { get; set; }
        [StringLength(1, 25)]
        [DataElement("1037", typeof(X12_AN))]
        [Pos(5)]
        public string NameMiddle_05 { get; set; }
        [StringLength(1, 10)]
        [DataElement("1038", typeof(X12_AN))]
        [Pos(6)]
        public string NamePrefix_06 { get; set; }
        [StringLength(1, 10)]
        [DataElement("1039", typeof(X12_AN))]
        [Pos(7)]
        public string NameSuffix_07 { get; set; }
        [Paired(9)]
        [Required]
        [DataElement("66", typeof(X12_ID_66_4))]
        [Pos(8)]
        public string IdentificationCodeQualifier_08 { get; set; }
        [Required]
        [StringLength(2, 80)]
        [DataElement("67", typeof(X12_AN))]
        [Pos(9)]
        public string PaytoPlanPrimaryIdentifier_09 { get; set; }
        [DataElement("706", typeof(X12_ID_706))]
        [Pos(10)]
        public string EntityRelationshipCode_10 { get; set; }
        [Conditional(10)]
        [DataElement("98", typeof(X12_ID_98_2))]
        [Pos(11)]
        public string EntityIdentifierCode_11 { get; set; }
        [Conditional(3)]
        [StringLength(1, 60)]
        [DataElement("1035", typeof(X12_AN))]
        [Pos(12)]
        public string NameLastorOrganizationName_12 { get; set; }
    }
    
    [Serializable()]
    [Group(typeof(NM1_Pay_toAddressName))]
    public class Loop_2010AB
    {
        
        [Required]
        [Pos(1)]
        public NM1_Pay_toAddressName NM1_Pay_toAddressName { get; set; }
        [Required]
        [Pos(2)]
        public N3_Pay_ToAddress_ADDRESS N3_Pay_ToAddress_ADDRESS { get; set; }
        [Required]
        [Pos(3)]
        public N4_Pay_toAddressCity_State_ZIPCode N4_Pay_toAddressCity_State_ZIPCode { get; set; }
    }
    
    [Serializable()]
    [EdiCodes(",87,")]
    public class X12_ID_98_5
    {
    }
    
    [Serializable()]
    [Segment("N4")]
    public class N4_Pay_toAddressCity_State_ZIPCode
    {
        
        [Required]
        [StringLength(2, 30)]
        [DataElement("19", typeof(X12_AN))]
        [Pos(1)]
        public string PaytoAddressCityName_01 { get; set; }
        [Exclusion(7)]
        [StringLength(2, 2)]
        [DataElement("156", typeof(X12_ID))]
        [Pos(2)]
        public string PaytoAddressStateCode_02 { get; set; }
        [StringLength(3, 15)]
        [DataElement("116", typeof(X12_ID))]
        [Pos(3)]
        public string PaytoAddressPostalZoneorZIPCode_03 { get; set; }
        [StringLength(2, 3)]
        [DataElement("26", typeof(X12_ID))]
        [Pos(4)]
        public string CountryCode_04 { get; set; }
        [DataElement("309", typeof(X12_ID_309))]
        [Pos(5)]
        public string LocationQualifier_05 { get; set; }
        [Conditional(5)]
        [StringLength(1, 30)]
        [DataElement("310", typeof(X12_AN))]
        [Pos(6)]
        public string LocationIdentifier_06 { get; set; }
        [Conditional(4)]
        [StringLength(1, 3)]
        [DataElement("1715", typeof(X12_ID))]
        [Pos(7)]
        public string CountrySubdivisionCode_07 { get; set; }
    }
    
    [Serializable()]
    [Segment("N3")]
    public class N3_Pay_ToAddress_ADDRESS
    {
        
        [Required]
        [StringLength(1, 55)]
        [DataElement("166", typeof(X12_AN))]
        [Pos(1)]
        public string PaytoAddressLine_01 { get; set; }
        [StringLength(1, 55)]
        [DataElement("166", typeof(X12_AN))]
        [Pos(2)]
        public string PaytoAddressLine_02 { get; set; }
    }
    
    [Serializable()]
    [Segment("NM1", typeof(X12_ID_98_5), typeof(X12_ID_1065))]
    public class NM1_Pay_toAddressName
    {
        
        [Required]
        [DataElement("98", typeof(X12_ID_98_5))]
        [Pos(1)]
        public string EntityIdentifierCode_01 { get; set; }
        [Required]
        [DataElement("1065", typeof(X12_ID_1065))]
        [Pos(2)]
        public string EntityTypeQualifier_02 { get; set; }
        [StringLength(1, 60)]
        [DataElement("1035", typeof(X12_AN))]
        [Pos(3)]
        public string PaytoLastorOrganizationalName_03 { get; set; }
        [StringLength(1, 35)]
        [DataElement("1036", typeof(X12_AN))]
        [Pos(4)]
        public string NameFirst_04 { get; set; }
        [StringLength(1, 25)]
        [DataElement("1037", typeof(X12_AN))]
        [Pos(5)]
        public string NameMiddle_05 { get; set; }
        [StringLength(1, 10)]
        [DataElement("1038", typeof(X12_AN))]
        [Pos(6)]
        public string NamePrefix_06 { get; set; }
        [StringLength(1, 10)]
        [DataElement("1039", typeof(X12_AN))]
        [Pos(7)]
        public string NameSuffix_07 { get; set; }
        [Paired(9)]
        [DataElement("66", typeof(X12_ID_66_3))]
        [Pos(8)]
        public string IdentificationCodeQualifier_08 { get; set; }
        [StringLength(2, 80)]
        [DataElement("67", typeof(X12_AN))]
        [Pos(9)]
        public string IdentificationCode_09 { get; set; }
        [DataElement("706", typeof(X12_ID_706))]
        [Pos(10)]
        public string EntityRelationshipCode_10 { get; set; }
        [Conditional(10)]
        [DataElement("98", typeof(X12_ID_98_2))]
        [Pos(11)]
        public string EntityIdentifierCode_11 { get; set; }
        [Conditional(3)]
        [StringLength(1, 60)]
        [DataElement("1035", typeof(X12_AN))]
        [Pos(12)]
        public string NameLastorOrganizationName_12 { get; set; }
    }
    
    [Serializable()]
    [Group(typeof(NM1_BillingProviderName))]
    public class Loop_2010AA
    {
        
        [Required]
        [Pos(1)]
        public NM1_BillingProviderName NM1_BillingProviderName { get; set; }
        [Required]
        [Pos(2)]
        public N3_BillingProviderAddress N3_BillingProviderAddress { get; set; }
        [Required]
        [Pos(3)]
        public N4_BillingProviderCity_State_ZIPCode N4_BillingProviderCity_State_ZIPCode { get; set; }
        [Required]
        [Pos(4)]
        public All_REF All_REF { get; set; }
        [ListCount(2)]
        [Pos(5)]
        public List<PER_BillingProviderContactInformation> PER_BillingProviderContactInformation { get; set; }
    }
    
    [Serializable()]
    [Segment("PER", typeof(X12_ID_366))]
    public class PER_BillingProviderContactInformation
    {
        
        [Required]
        [DataElement("366", typeof(X12_ID_366))]
        [Pos(1)]
        public string ContactFunctionCode_01 { get; set; }
        [StringLength(1, 60)]
        [DataElement("93", typeof(X12_AN))]
        [Pos(2)]
        public string BillingProviderContactName_02 { get; set; }
        [Paired(4)]
        [Required]
        [DataElement("365", typeof(X12_ID_365))]
        [Pos(3)]
        public string CommunicationNumberQualifier_03 { get; set; }
        [Required]
        [StringLength(1, 256)]
        [DataElement("364", typeof(X12_AN))]
        [Pos(4)]
        public string CommunicationNumber_04 { get; set; }
        [Paired(6)]
        [DataElement("365", typeof(X12_ID_365_2))]
        [Pos(5)]
        public string CommunicationNumberQualifier_05 { get; set; }
        [StringLength(1, 256)]
        [DataElement("364", typeof(X12_AN))]
        [Pos(6)]
        public string CommunicationNumber_06 { get; set; }
        [Paired(8)]
        [DataElement("365", typeof(X12_ID_365_2))]
        [Pos(7)]
        public string CommunicationNumberQualifier_07 { get; set; }
        [StringLength(1, 256)]
        [DataElement("364", typeof(X12_AN))]
        [Pos(8)]
        public string CommunicationNumber_08 { get; set; }
        [StringLength(1, 20)]
        [DataElement("443", typeof(X12_AN))]
        [Pos(9)]
        public string ContactInquiryReference_09 { get; set; }
    }
    
    [Serializable()]
    [All()]
    public class All_REF
    {
        
        [Required]
        [Pos(1)]
        public REF_BillingProviderTaxIdentification REF_BillingProviderTaxIdentification { get; set; }
        [ListCount(2)]
        [Pos(2)]
        public List<REF_BillingProviderUPIN_LicenseInformation> REF_BillingProviderUPIN_LicenseInformation { get; set; }
    }
    
    [Serializable()]
    [EdiCodes(",EI,SY,")]
    public class X12_ID_128_2
    {
    }
    
    [Serializable()]
    [EdiCodes(",0B,1G,")]
    public class X12_ID_128_4
    {
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_4))]
    public class REF_BillingProviderUPIN_LicenseInformation
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_4))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string BillingProviderLicenseandorUPINInformation_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier_2 ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier_2")]
    public class C040_ReferenceIdentifier_2
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("REF", typeof(X12_ID_128_2))]
    public class REF_BillingProviderTaxIdentification
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_2))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [RequiredAny(3)]
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string BillingProviderTaxIdentificationNumber_02 { get; set; }
        [StringLength(1, 80)]
        [DataElement("352", typeof(X12_AN))]
        [Pos(3)]
        public string Description_03 { get; set; }
        [Pos(4)]
        public C040_ReferenceIdentifier ReferenceIdentifier_04 { get; set; }
    }
    
    [Serializable()]
    [Composite("C040_ReferenceIdentifier")]
    public class C040_ReferenceIdentifier
    {
        
        [Required]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(1)]
        public string ReferenceIdentificationQualifier_01 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(2)]
        public string ReferenceIdentification_02 { get; set; }
        [Paired(4)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(3)]
        public string ReferenceIdentificationQualifier_03 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(4)]
        public string ReferenceIdentification_04 { get; set; }
        [Paired(6)]
        [DataElement("128", typeof(X12_ID_128_3))]
        [Pos(5)]
        public string ReferenceIdentificationQualifier_05 { get; set; }
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(6)]
        public string ReferenceIdentification_06 { get; set; }
    }
    
    [Serializable()]
    [Segment("N4")]
    public class N4_BillingProviderCity_State_ZIPCode
    {
        
        [Required]
        [StringLength(2, 30)]
        [DataElement("19", typeof(X12_AN))]
        [Pos(1)]
        public string BillingProviderCityName_01 { get; set; }
        [Exclusion(7)]
        [StringLength(2, 2)]
        [DataElement("156", typeof(X12_ID))]
        [Pos(2)]
        public string BillingProviderStateorProvinceCode_02 { get; set; }
        [StringLength(3, 15)]
        [DataElement("116", typeof(X12_ID))]
        [Pos(3)]
        public string BillingProviderPostalZoneorZIPCode_03 { get; set; }
        [StringLength(2, 3)]
        [DataElement("26", typeof(X12_ID))]
        [Pos(4)]
        public string CountryCode_04 { get; set; }
        [DataElement("309", typeof(X12_ID_309))]
        [Pos(5)]
        public string LocationQualifier_05 { get; set; }
        [Conditional(5)]
        [StringLength(1, 30)]
        [DataElement("310", typeof(X12_AN))]
        [Pos(6)]
        public string LocationIdentifier_06 { get; set; }
        [Conditional(4)]
        [StringLength(1, 3)]
        [DataElement("1715", typeof(X12_ID))]
        [Pos(7)]
        public string CountrySubdivisionCode_07 { get; set; }
    }
    
    [Serializable()]
    [Segment("N3")]
    public class N3_BillingProviderAddress
    {
        
        [Required]
        [StringLength(1, 55)]
        [DataElement("166", typeof(X12_AN))]
        [Pos(1)]
        public string BillingProviderAddressLine_01 { get; set; }
        [StringLength(1, 55)]
        [DataElement("166", typeof(X12_AN))]
        [Pos(2)]
        public string BillingProviderAddressLine_02 { get; set; }
    }
    
    [Serializable()]
    [Segment("NM1", typeof(X12_ID_98_4), typeof(X12_ID_1065))]
    public class NM1_BillingProviderName
    {
        
        [Required]
        [DataElement("98", typeof(X12_ID_98_4))]
        [Pos(1)]
        public string EntityIdentifierCode_01 { get; set; }
        [Required]
        [DataElement("1065", typeof(X12_ID_1065))]
        [Pos(2)]
        public string EntityTypeQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 60)]
        [DataElement("1035", typeof(X12_AN))]
        [Pos(3)]
        public string BillingProviderLastorOrganizationalName_03 { get; set; }
        [StringLength(1, 35)]
        [DataElement("1036", typeof(X12_AN))]
        [Pos(4)]
        public string BillingProviderFirstName_04 { get; set; }
        [StringLength(1, 25)]
        [DataElement("1037", typeof(X12_AN))]
        [Pos(5)]
        public string BillingProviderMiddleNameorInitial_05 { get; set; }
        [StringLength(1, 10)]
        [DataElement("1038", typeof(X12_AN))]
        [Pos(6)]
        public string NamePrefix_06 { get; set; }
        [StringLength(1, 10)]
        [DataElement("1039", typeof(X12_AN))]
        [Pos(7)]
        public string BillingProviderNameSuffix_07 { get; set; }
        [Paired(9)]
        [DataElement("66", typeof(X12_ID_66_2))]
        [Pos(8)]
        public string IdentificationCodeQualifier_08 { get; set; }
        [StringLength(2, 80)]
        [DataElement("67", typeof(X12_AN))]
        [Pos(9)]
        public string BillingProviderIdentifier_09 { get; set; }
        [DataElement("706", typeof(X12_ID_706))]
        [Pos(10)]
        public string EntityRelationshipCode_10 { get; set; }
        [Conditional(10)]
        [DataElement("98", typeof(X12_ID_98_2))]
        [Pos(11)]
        public string EntityIdentifierCode_11 { get; set; }
        [Conditional(3)]
        [StringLength(1, 60)]
        [DataElement("1035", typeof(X12_AN))]
        [Pos(12)]
        public string NameLastorOrganizationName_12 { get; set; }
    }
    
    [Serializable()]
    [Segment("CUR", typeof(X12_ID_98_4))]
    public class CUR_ForeignCurrencyInformation
    {
        
        [Required]
        [DataElement("98", typeof(X12_ID_98_4))]
        [Pos(1)]
        public string EntityIdentifierCode_01 { get; set; }
        [Required]
        [StringLength(3, 3)]
        [DataElement("100", typeof(X12_ID))]
        [Pos(2)]
        public string CurrencyCode_02 { get; set; }
        [StringLength(4, 10)]
        [DataElement("280", typeof(X12_R))]
        [Pos(3)]
        public string ExchangeRate_03 { get; set; }
        [DataElement("98", typeof(X12_ID_98_2))]
        [Pos(4)]
        public string EntityIdentifierCode_04 { get; set; }
        [StringLength(3, 3)]
        [DataElement("100", typeof(X12_ID))]
        [Pos(5)]
        public string CurrencyCode_05 { get; set; }
        [DataElement("669", typeof(X12_ID_669))]
        [Pos(6)]
        public string CurrencyMarketExchangeCode_06 { get; set; }
        [DataElement("374", typeof(X12_ID_374))]
        [Pos(7)]
        public string DateTimeQualifier_07 { get; set; }
        [Conditional(7)]
        [StringLength(8, 8)]
        [DataElement("373", typeof(X12_DT))]
        [Pos(8)]
        public string Date_08 { get; set; }
        [Conditional(7)]
        [StringLength(4, 8)]
        [DataElement("337", typeof(X12_TM))]
        [Pos(9)]
        public string Time_09 { get; set; }
        [ConditionalAny(11, 12)]
        [DataElement("374", typeof(X12_ID_374))]
        [Pos(10)]
        public string DateTimeQualifier_10 { get; set; }
        [Conditional(10)]
        [StringLength(8, 8)]
        [DataElement("373", typeof(X12_DT))]
        [Pos(11)]
        public string Date_11 { get; set; }
        [Conditional(10)]
        [StringLength(4, 8)]
        [DataElement("337", typeof(X12_TM))]
        [Pos(12)]
        public string Time_12 { get; set; }
        [ConditionalAny(14, 15)]
        [DataElement("374", typeof(X12_ID_374))]
        [Pos(13)]
        public string DateTimeQualifier_13 { get; set; }
        [Conditional(13)]
        [StringLength(8, 8)]
        [DataElement("373", typeof(X12_DT))]
        [Pos(14)]
        public string Date_14 { get; set; }
        [Conditional(13)]
        [StringLength(4, 8)]
        [DataElement("337", typeof(X12_TM))]
        [Pos(15)]
        public string Time_15 { get; set; }
        [ConditionalAny(17, 18)]
        [DataElement("374", typeof(X12_ID_374))]
        [Pos(16)]
        public string DateTimeQualifier_16 { get; set; }
        [Conditional(16)]
        [StringLength(8, 8)]
        [DataElement("373", typeof(X12_DT))]
        [Pos(17)]
        public string Date_17 { get; set; }
        [Conditional(16)]
        [StringLength(4, 8)]
        [DataElement("337", typeof(X12_TM))]
        [Pos(18)]
        public string Time_18 { get; set; }
        [ConditionalAny(20, 21)]
        [DataElement("374", typeof(X12_ID_374))]
        [Pos(19)]
        public string DateTimeQualifier_19 { get; set; }
        [Conditional(19)]
        [StringLength(8, 8)]
        [DataElement("373", typeof(X12_DT))]
        [Pos(20)]
        public string Date_20 { get; set; }
        [Conditional(19)]
        [StringLength(4, 8)]
        [DataElement("337", typeof(X12_TM))]
        [Pos(21)]
        public string Time_21 { get; set; }
    }
    
    [Serializable()]
    [EdiCodes(",IMF,LNF,LNS,NYC,PHI,ZUR,")]
    public class X12_ID_669
    {
    }
    
    [Serializable()]
    [EdiCodes(",001,002,003,004,005,006,007,008,009,010,011,012,013,014,015,016,017,018,019,020," +
        "021,022,023,024,025,026,027,028,029,030,031,032,033,034,035,036,037,038,039,040," +
        "041,042,043,044,045,046,047,048,049,050,051,052,053,054,055,056,057,058,059,060," +
        "061,062,063,064,065,066,067,068,069,070,071,072,073,074,075,076,077,078,079,080," +
        "081,082,083,084,085,086,087,088,089,090,091,092,093,094,095,096,097,098,099,100," +
        "101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,118,119,120,121," +
        "122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142," +
        "143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162," +
        "163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182," +
        "183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202," +
        "203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222," +
        "223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242," +
        "243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262," +
        "263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282," +
        "283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302," +
        "303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322," +
        "323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342," +
        "343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362," +
        "363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382," +
        "383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402," +
        "403,404,405,406,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423," +
        "424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443," +
        "444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463," +
        "464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483," +
        "484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503," +
        "504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523," +
        "524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543," +
        "544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563," +
        "564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583," +
        "584,585,586,587,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604," +
        "606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625," +
        "626,627,629,630,631,632,633,634,635,636,637,638,640,641,642,643,644,646,647,648," +
        "649,650,651,652,653,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669," +
        "670,671,672,673,674,675,681,682,683,684,685,686,687,688,689,690,691,692,693,694," +
        "695,696,697,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715," +
        "716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,736," +
        "737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756," +
        "757,758,759,760,761,762,764,765,766,769,770,771,772,773,774,775,776,777,778,779," +
        "780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799," +
        "800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819," +
        "820,821,822,823,824,825,826,827,828,830,831,832,840,841,842,843,844,845,846,847," +
        "848,849,850,851,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868," +
        "869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,900,901,903," +
        "904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923," +
        "924,925,926,927,928,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944," +
        "945,946,947,948,949,950,951,952,953,954,955,956,957,960,961,962,963,964,965,966," +
        "967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986," +
        "987,988,989,990,992,993,994,995,996,997,998,999,AA1,AA2,AA3,AA4,AA5,AA6,AA7,AA8," +
        "AA9,AAA,AAB,AAC,AAD,AAE,AAF,AAG,AAH,AAI,AAJ,AAK,AAL,AAM,AAN,AAO,AAP,AAQ,AAR,AAS," +
        "AAT,AAU,AAV,AAW,AAX,AAY,AAZ,AB1,AB2,AB3,AB4,AB5,AB6,AB7,AB8,AB9,ABA,ABB,ABC,ABD," +
        "ABE,ABF,ABG,ABH,ABI,ABK,ABL,ABM,ABN,ABO,ABP,ABQ,ABR,ABS,ABT,ABU,ABV,ABW,ABX,ABY," +
        "ACA,ACB,ACC,ACD,ACE,ACF,ACG,ACH,ACI,ACJ,ACK,ACL,ACM,ACN,ACO,ACP,ACQ,ACR,ACS,ACT," +
        "ACU,ACV,ACW,ACX,ACZ,ADA,ADB,ADC,ADD,ADE,ADF,ADG,ADH,ADI,ADJ,ADK,ADL,ADM,ADN,ADR," +
        "ADS,ADT,ADU,ADV,ADW,ADX,ADY,AEA,AEB,AEC,AED,AEE,AEF,AEG,AEH,AEI,AEK,AEL,AEM,AEN," +
        "AEO,AEP,AEQ,AER,AES,AET,AEU,AEV,AEW,AEX,AEY,ARD,AWH,BAA,BAB,BAC,BAD,BAE,BAF,BAG," +
        "BAH,BAI,BAJ,BAK,BAL,BAM,BAN,BAO,BAP,BAQ,BAR,BIP,CAD,CCR,CDD,CDT,CEA,CEB,CEC,CED," +
        "CEE,CEF,CEH,CEJ,CEK,CEL,CEM,CEN,CEO,CLO,CLU,COM,CON,CRV,CUR,DAF,DDO,DEE,DEL,DET," +
        "DFF,DFS,DIL,DIP,DIS,DLC,DOA,DOD,DOI,DOR,DSP,DTC,DTQ,E01,E02,E03,E04,E05,E06,E07," +
        "ECD,ECF,ECS,ECT,EDA,EDB,EDC,EDD,EDE,EDF,EDG,EDH,EDI,EDJ,EDK,EDL,EDM,EDN,EDO,EDP," +
        "EKD,EPP,ESC,ESF,ESS,EST,ETP,EXO,EXP,FFI,FFO,FIA,FPE,FPS,GRD,ICF,IDG,IFH,III,IMP," +
        "INC,INT,IPS,IVA,KEV,KEW,LAM,LAS,LCC,LEA,LEL,LIQ,LLP,LOG,LPC,LSC,LTP,MRR,MSD,NAM," +
        "NFD,NOD,NRG,NSD,ORG,PBC,PCP,PCS,PDE,PDR,PDV,PLS,PPC,PPD,PPP,PRD,PRR,PSA,PSC,PSF," +
        "PTD,PTO,RAP,RES,RFD,RFF,RFO,RNT,RRM,RRT,RSD,RSS,RTO,SCV,SDD,SFH,STN,SVA,TSR,TSS," +
        "TST,VAT,VLU,W01,W02,W03,W05,W06,W07,W08,W09,W10,W11,W12,W13,WAA,WAY,YXX,YXY,ZZZ," +
        "")]
    public class X12_ID_374
    {
    }
    
    [Serializable()]
    public class X12_TM
    {
    }
    
    [Serializable()]
    [Segment("PRV", typeof(X12_ID_1221), typeof(X12_ID_128))]
    public class PRV_BillingProviderSpecialtyInformation
    {
        
        [Required]
        [DataElement("1221", typeof(X12_ID_1221))]
        [Pos(1)]
        public string ProviderCode_01 { get; set; }
        [Paired(3)]
        [Required]
        [DataElement("128", typeof(X12_ID_128))]
        [Pos(2)]
        public string ReferenceIdentificationQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(3)]
        public string ProviderTaxonomyCode_03 { get; set; }
        [StringLength(2, 2)]
        [DataElement("156", typeof(X12_ID))]
        [Pos(4)]
        public string StateorProvinceCode_04 { get; set; }
        [Pos(5)]
        public C035_ProviderSpecialtyInformation ProviderSpecialtyInformation_05 { get; set; }
        [DataElement("1223", typeof(X12_ID_1223))]
        [Pos(6)]
        public string ProviderOrganizationCode_06 { get; set; }
    }
    
    [Serializable()]
    [Composite("C035_ProviderSpecialtyInformation")]
    public class C035_ProviderSpecialtyInformation
    {
        
        [Required]
        [DataElement("1222", typeof(X12_ID_1222))]
        [Pos(1)]
        public string ProviderSpecialtyCode_01 { get; set; }
        [DataElement("559", typeof(X12_ID_559))]
        [Pos(2)]
        public string AgencyQualifierCode_02 { get; set; }
        [DataElement("1073", typeof(X12_ID_1073))]
        [Pos(3)]
        public string YesNoConditionorResponseCode_03 { get; set; }
    }
    
    [Serializable()]
    [Segment("HL", typeof(X12_ID_735))]
    public class HL_BillingProviderHierarchicalLevel
    {
        
        [Required]
        [StringLength(1, 12)]
        [DataElement("628", typeof(X12_AN))]
        [Pos(1)]
        public string HierarchicalIDNumber_01 { get; set; }
        [StringLength(1, 12)]
        [DataElement("734", typeof(X12_AN))]
        [Pos(2)]
        public string HierarchicalParentIDNumber_02 { get; set; }
        [Required]
        [DataElement("735", typeof(X12_ID_735))]
        [Pos(3)]
        public string HierarchicalLevelCode_03 { get; set; }
        [Required]
        [DataElement("736", typeof(X12_ID_736))]
        [Pos(4)]
        public string HierarchicalChildCode_04 { get; set; }
    }
    
    [Serializable()]
    [EdiCodes(",1,")]
    public class X12_ID_736
    {
    }
    
    [Serializable()]
    [All()]
    public class All_NM1
    {
        
        [Required]
        [Pos(1)]
        public Loop_1000A Loop_1000A { get; set; }
        [Required]
        [Pos(2)]
        public Loop_1000B Loop_1000B { get; set; }
    }
    
    [Serializable()]
    [Group(typeof(NM1_ReceiverName))]
    public class Loop_1000B
    {
        
        [Required]
        [Pos(1)]
        public NM1_ReceiverName NM1_ReceiverName { get; set; }
    }
    
    [Serializable()]
    [EdiCodes(",40,")]
    public class X12_ID_98_3
    {
    }
    
    [Serializable()]
    [Segment("NM1", typeof(X12_ID_98_3), typeof(X12_ID_1065_2))]
    public class NM1_ReceiverName
    {
        
        [Required]
        [DataElement("98", typeof(X12_ID_98_3))]
        [Pos(1)]
        public string EntityIdentifierCode_01 { get; set; }
        [Required]
        [DataElement("1065", typeof(X12_ID_1065_2))]
        [Pos(2)]
        public string EntityTypeQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 60)]
        [DataElement("1035", typeof(X12_AN))]
        [Pos(3)]
        public string ReceiverName_03 { get; set; }
        [StringLength(1, 35)]
        [DataElement("1036", typeof(X12_AN))]
        [Pos(4)]
        public string NameFirst_04 { get; set; }
        [StringLength(1, 25)]
        [DataElement("1037", typeof(X12_AN))]
        [Pos(5)]
        public string NameMiddle_05 { get; set; }
        [StringLength(1, 10)]
        [DataElement("1038", typeof(X12_AN))]
        [Pos(6)]
        public string NamePrefix_06 { get; set; }
        [StringLength(1, 10)]
        [DataElement("1039", typeof(X12_AN))]
        [Pos(7)]
        public string NameSuffix_07 { get; set; }
        [Paired(9)]
        [Required]
        [DataElement("66", typeof(X12_ID_66))]
        [Pos(8)]
        public string IdentificationCodeQualifier_08 { get; set; }
        [Required]
        [StringLength(2, 80)]
        [DataElement("67", typeof(X12_AN))]
        [Pos(9)]
        public string ReceiverPrimaryIdentifier_09 { get; set; }
        [DataElement("706", typeof(X12_ID_706))]
        [Pos(10)]
        public string EntityRelationshipCode_10 { get; set; }
        [Conditional(10)]
        [DataElement("98", typeof(X12_ID_98_2))]
        [Pos(11)]
        public string EntityIdentifierCode_11 { get; set; }
        [Conditional(3)]
        [StringLength(1, 60)]
        [DataElement("1035", typeof(X12_AN))]
        [Pos(12)]
        public string NameLastorOrganizationName_12 { get; set; }
    }
    
    [Serializable()]
    [EdiCodes(",46,")]
    public class X12_ID_66
    {
    }
    
    [Serializable()]
    [Group(typeof(NM1_SubmitterName))]
    public class Loop_1000A
    {
        
        [Required]
        [Pos(1)]
        public NM1_SubmitterName NM1_SubmitterName { get; set; }
        [Required]
        [ListCount(2)]
        [Pos(2)]
        public List<PER_SubmitterEDIContactInformation> PER_SubmitterEDIContactInformation { get; set; }
    }
    
    [Serializable()]
    [EdiCodes(",41,")]
    public class X12_ID_98
    {
    }
    
    [Serializable()]
    [Segment("PER", typeof(X12_ID_366))]
    public class PER_SubmitterEDIContactInformation
    {
        
        [Required]
        [DataElement("366", typeof(X12_ID_366))]
        [Pos(1)]
        public string ContactFunctionCode_01 { get; set; }
        [StringLength(1, 60)]
        [DataElement("93", typeof(X12_AN))]
        [Pos(2)]
        public string SubmitterContactName_02 { get; set; }
        [Paired(4)]
        [Required]
        [DataElement("365", typeof(X12_ID_365))]
        [Pos(3)]
        public string CommunicationNumberQualifier_03 { get; set; }
        [Required]
        [StringLength(1, 256)]
        [DataElement("364", typeof(X12_AN))]
        [Pos(4)]
        public string CommunicationNumber_04 { get; set; }
        [Paired(6)]
        [DataElement("365", typeof(X12_ID_365_2))]
        [Pos(5)]
        public string CommunicationNumberQualifier_05 { get; set; }
        [StringLength(1, 256)]
        [DataElement("364", typeof(X12_AN))]
        [Pos(6)]
        public string CommunicationNumber_06 { get; set; }
        [Paired(8)]
        [DataElement("365", typeof(X12_ID_365_2))]
        [Pos(7)]
        public string CommunicationNumberQualifier_07 { get; set; }
        [StringLength(1, 256)]
        [DataElement("364", typeof(X12_AN))]
        [Pos(8)]
        public string CommunicationNumber_08 { get; set; }
        [StringLength(1, 20)]
        [DataElement("443", typeof(X12_AN))]
        [Pos(9)]
        public string ContactInquiryReference_09 { get; set; }
    }
    
    [Serializable()]
    [Segment("NM1", typeof(X12_ID_98), typeof(X12_ID_1065))]
    public class NM1_SubmitterName
    {
        
        [Required]
        [DataElement("98", typeof(X12_ID_98))]
        [Pos(1)]
        public string EntityIdentifierCode_01 { get; set; }
        [Required]
        [DataElement("1065", typeof(X12_ID_1065))]
        [Pos(2)]
        public string EntityTypeQualifier_02 { get; set; }
        [Required]
        [StringLength(1, 60)]
        [DataElement("1035", typeof(X12_AN))]
        [Pos(3)]
        public string SubmitterLastorOrganizationName_03 { get; set; }
        [StringLength(1, 35)]
        [DataElement("1036", typeof(X12_AN))]
        [Pos(4)]
        public string SubmitterFirstName_04 { get; set; }
        [StringLength(1, 25)]
        [DataElement("1037", typeof(X12_AN))]
        [Pos(5)]
        public string SubmitterMiddleNameorInitial_05 { get; set; }
        [StringLength(1, 10)]
        [DataElement("1038", typeof(X12_AN))]
        [Pos(6)]
        public string NamePrefix_06 { get; set; }
        [StringLength(1, 10)]
        [DataElement("1039", typeof(X12_AN))]
        [Pos(7)]
        public string NameSuffix_07 { get; set; }
        [Paired(9)]
        [Required]
        [DataElement("66", typeof(X12_ID_66))]
        [Pos(8)]
        public string IdentificationCodeQualifier_08 { get; set; }
        [Required]
        [StringLength(2, 80)]
        [DataElement("67", typeof(X12_AN))]
        [Pos(9)]
        public string SubmitterIdentifier_09 { get; set; }
        [DataElement("706", typeof(X12_ID_706))]
        [Pos(10)]
        public string EntityRelationshipCode_10 { get; set; }
        [Conditional(10)]
        [DataElement("98", typeof(X12_ID_98_2))]
        [Pos(11)]
        public string EntityIdentifierCode_11 { get; set; }
        [Conditional(3)]
        [StringLength(1, 60)]
        [DataElement("1035", typeof(X12_AN))]
        [Pos(12)]
        public string NameLastorOrganizationName_12 { get; set; }
    }
    
    [Serializable()]
    [Segment("BHT", typeof(X12_ID_1005), typeof(X12_ID_353))]
    public class BHT_BeginningofHierarchicalTransaction
    {
        
        [Required]
        [DataElement("1005", typeof(X12_ID_1005))]
        [Pos(1)]
        public string HierarchicalStructureCode_01 { get; set; }
        [Required]
        [DataElement("353", typeof(X12_ID_353))]
        [Pos(2)]
        public string TransactionSetPurposeCode_02 { get; set; }
        [Required]
        [StringLength(1, 50)]
        [DataElement("127", typeof(X12_AN))]
        [Pos(3)]
        public string OriginatorApplicationTransactionIdentifier_03 { get; set; }
        [Required]
        [StringLength(8, 8)]
        [DataElement("373", typeof(X12_DT))]
        [Pos(4)]
        public string TransactionSetCreationDate_04 { get; set; }
        [Required]
        [StringLength(4, 8)]
        [DataElement("337", typeof(X12_TM))]
        [Pos(5)]
        public string TransactionSetCreationTime_05 { get; set; }
        [Required]
        [DataElement("640", typeof(X12_ID_640))]
        [Pos(6)]
        public string ClaimorEncounterIdentifier_06 { get; set; }
    }
    
    [Serializable()]
    [EdiCodes(",31,CH,RP,")]
    public class X12_ID_640
    {
    }
}