Documentation

HIPAA 5010 837P EDI Template

Article author
Admin

HIPAA 5010 837P EDI Template

EDI Tools for .NET uses C# classes to represent the layout of EDI transactions. These classes are nothing more than standard C# .NET classes with some extra markup and are referred to as EDI templates.

 

X12 HIPAA 837P Specification

X12 HIPAA 837P specification is available at:

 

X12 HIPAA 837P Sample File

X12 837Psample file is available at:

 

EDI Tools for .NET C# Examples

The example below is part of the EDI Tools for .NET C# Code Examples.

Download EDI C# Examples

The Parse & Generate HIPAA 837P code is also available on GitHub

 

Additional operations for X12 HIPAA 837P

 

EDI template for X12 HIPAA 837P


namespace EdiFabric.Templates.Hipaa5010
{
    using System;
    using System.Collections.Generic;
    using System.Runtime.Serialization;
    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;
    using System.Xml.Serialization;


    [Serializable()]
    [DataContract()]
    [All()]
    public class All_AMT_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Sales Tax Amount
        /// 
        [DataMember]
        [Pos(1)]
        public virtual AMT_SalesTaxAmount AMT_SalesTaxAmount { get; set; }
        ///
        /// Postage Claimed Amount
        /// 
        [DataMember]
        [Pos(2)]
        public virtual AMT_PostageClaimedAmount AMT_PostageClaimedAmount { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_AMT_837P_2
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Coordination of Benefits (COB) Payer Paid Amount
        /// 
        [DataMember]
        [Pos(1)]
        public virtual AMT_CoordinationofBenefits AMT_CoordinationofBenefits_COB_PayerPaidAmount { get; set; }
        ///
        /// Coordination of Benefits (COB) Total Non-covered Amount
        /// 
        [DataMember]
        [Pos(2)]
        public virtual AMT_CoordinationofBenefits_2 AMT_CoordinationofBenefits_COB_TotalNon_Amount { get; set; }
        ///
        /// Remaining Patient Liability
        /// 
        [DataMember]
        [Pos(3)]
        public virtual AMT_RemainingPatientLiability AMT_RemainingPatientLiability { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_CRC_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Ambulance Certification
        /// 
        [DataMember]
        [ListCount(3)]
        [Pos(1)]
        public virtual List CRC_AmbulanceCertification { get; set; }
        ///
        /// Hospice Employee Indicator
        /// 
        [DataMember]
        [Pos(2)]
        public virtual CRC_HospiceEmployeeIndicator CRC_HospiceEmployeeIndicator { get; set; }
        ///
        /// Condition Indicator/Durable Medical Equipment
        /// 
        [DataMember]
        [Pos(3)]
        public virtual CRC_ConditionIndicator CRC_ConditionIndicator_DurableMedicalEquipment { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_CRC_837P_2
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Ambulance Certification
        /// 
        [DataMember]
        [ListCount(3)]
        [Pos(1)]
        public virtual List CRC_AmbulanceCertification { get; set; }
        ///
        /// Patient Condition Information: Vision
        /// 
        [DataMember]
        [ListCount(3)]
        [Pos(2)]
        public virtual List CRC_PatientConditionInformation_Vision { get; set; }
        ///
        /// Homebound Indicator
        /// 
        [DataMember]
        [Pos(3)]
        public virtual CRC_HomeboundIndicator CRC_HomeboundIndicator { get; set; }
        ///
        /// EPSDT Referral
        /// 
        [DataMember]
        [Pos(4)]
        public virtual CRC_EPSDTReferral CRC_EPSDTReferral { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_DTP_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Date - Service Date
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual DTP_ClaimLevelServiceDate DTP_Date_ServiceDate { get; set; }
        ///
        /// Date - Prescription Date
        /// 
        [DataMember]
        [Pos(2)]
        public virtual DTP_HearingandVisionPrescriptionDate DTP_Date_PrescriptionDate { get; set; }
        ///
        /// DATE - Certification Revision/Recertification Date
        /// 
        [DataMember]
        [Pos(3)]
        public virtual DTP_CertificationRevision DTP_DATE_CertificationRevision_RecertificationDate { get; set; }
        ///
        /// Date - Begin Therapy Date
        /// 
        [DataMember]
        [Pos(4)]
        public virtual DTP_BeginTherapyDate DTP_Date_BeginTherapyDate { get; set; }
        ///
        /// Date - Last Certification Date
        /// 
        [DataMember]
        [Pos(5)]
        public virtual DTP_LastCertificationDate DTP_Date_LastCertificationDate { get; set; }
        ///
        /// Date - Last Seen Date
        /// 
        [DataMember]
        [Pos(6)]
        public virtual DTP_LastSeenDate DTP_Date_LastSeenDate { get; set; }
        ///
        /// Date - Test Date
        /// 
        [DataMember]
        [ListCount(2)]
        [Pos(7)]
        public virtual List DTP_Date_TestDate { get; set; }
        ///
        /// Date - Shipped Date
        /// 
        [DataMember]
        [Pos(8)]
        public virtual DTP_ShippedDate DTP_Date_ShippedDate { get; set; }
        ///
        /// Date - Last X-ray Date
        /// 
        [DataMember]
        [Pos(9)]
        public virtual DTP_LastXrayDate DTP_Date_LastX_Date { get; set; }
        ///
        /// Date - Initial Treatment Date
        /// 
        [DataMember]
        [Pos(10)]
        public virtual DTP_InitialTreatmentDate DTP_Date_InitialTreatmentDate { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_DTP_837P_2
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Date - Onset of Current Illness or Symptom
        /// 
        [DataMember]
        [Pos(1)]
        public virtual DTP_OnsetofCurrentIllnessorSymptom DTP_Date_OnsetofCurrentIllnessorSymptom { get; set; }
        ///
        /// Date - Initial Treatment Date
        /// 
        [DataMember]
        [Pos(2)]
        public virtual DTP_InitialTreatmentDate DTP_Date_InitialTreatmentDate { get; set; }
        ///
        /// Date - Last Seen Date
        /// 
        [DataMember]
        [Pos(3)]
        public virtual DTP_LastSeenDate DTP_Date_LastSeenDate { get; set; }
        ///
        /// Date - Acute Manifestation
        /// 
        [DataMember]
        [Pos(4)]
        public virtual DTP_AcuteManifestation DTP_Date_AcuteManifestation { get; set; }
        ///
        /// Date - Accident
        /// 
        [DataMember]
        [Pos(5)]
        public virtual DTP_AccidentDate_2 DTP_Date_Accident { get; set; }
        ///
        /// Date - Last Menstrual Period
        /// 
        [DataMember]
        [Pos(6)]
        public virtual DTP_LastMenstrualPeriod DTP_Date_LastMenstrualPeriod { get; set; }
        ///
        /// Date - Last X-ray Date
        /// 
        [DataMember]
        [Pos(7)]
        public virtual DTP_LastXrayDate DTP_Date_LastX_Date { get; set; }
        ///
        /// Date - Hearing and Vision Prescription Date
        /// 
        [DataMember]
        [Pos(8)]
        public virtual DTP_HearingandVisionPrescriptionDate DTP_Date_HearingandVisionPrescriptionDate { get; set; }
        ///
        /// Date - Disability Dates
        /// 
        [DataMember]
        [Pos(9)]
        public virtual DTP_DisabilityDates DTP_Date_DisabilityDates { get; set; }
        ///
        /// Date - Last Worked
        /// 
        [DataMember]
        [Pos(10)]
        public virtual DTP_LastWorked DTP_Date_LastWorked { get; set; }
        ///
        /// Date - Authorized Return to Work
        /// 
        [DataMember]
        [Pos(11)]
        public virtual DTP_AuthorizedReturntoWork DTP_Date_AuthorizedReturntoWork { get; set; }
        ///
        /// Date - Admission
        /// 
        [DataMember]
        [Pos(12)]
        public virtual DTP_AdmissionDate_4 DTP_Date_Admission { get; set; }
        ///
        /// Date - Discharge
        /// 
        [DataMember]
        [Pos(13)]
        public virtual DTP_Discharge DTP_Date_Discharge { get; set; }
        ///
        /// Date - Assumed and Relinquished Care Dates
        /// 
        [DataMember]
        [ListCount(2)]
        [Pos(14)]
        public virtual List DTP_Date_AssumedandRelinquishedCareDates { get; set; }
        ///
        /// Property and Casualty Date of First Contact
        /// 
        [DataMember]
        [Pos(15)]
        public virtual DTP_PropertyandCasualtyDateofFirstContact DTP_PropertyandCasualtyDateofFirstContact { get; set; }
        ///
        /// Date - Repricer Received Date
        /// 
        [DataMember]
        [Pos(16)]
        public virtual DTP_RepricerReceivedDate DTP_Date_RepricerReceivedDate { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_HI_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Health Care Diagnosis Code
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual HI_DependentHealthCareDiagnosisCode_2 HI_HealthCareDiagnosisCode { get; set; }
        ///
        /// Anesthesia Related Procedure
        /// 
        [DataMember]
        [Pos(2)]
        public virtual HI_AnesthesiaRelatedProcedure HI_AnesthesiaRelatedProcedure { get; set; }
        ///
        /// Condition Information
        /// 
        [DataMember]
        [ListCount(2)]
        [Pos(3)]
        public virtual List HI_ConditionInformation { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_NM1_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Loop for Billing Provider Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual Loop_2010AA_837P Loop2010AA { get; set; }
        ///
        /// Loop for Pay-to Address Name
        /// 
        [DataMember]
        [Pos(2)]
        public virtual Loop_2010AB_837P Loop2010AB { get; set; }
        ///
        /// Loop for Pay-To Plan Name
        /// 
        [DataMember]
        [Pos(3)]
        public virtual Loop_2010AC_837P Loop2010AC { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_NM1_837P_2
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Loop for Subscriber Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual Loop_2010BA_837P Loop2010BA { get; set; }
        ///
        /// Loop for Payer Name
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual Loop_2010BB_837P Loop2010BB { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_NM1_837P_3
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Loop for Referring Provider Name
        /// 
        [DataMember]
        [ListCount(2)]
        [Pos(1)]
        public virtual List Loop2310A { get; set; }
        ///
        /// Loop for Rendering Provider Name
        /// 
        [DataMember]
        [Pos(2)]
        public virtual Loop_2310B_837P Loop2310B { get; set; }
        ///
        /// Loop for Service Facility Location Name
        /// 
        [DataMember]
        [Pos(3)]
        public virtual Loop_2310C_837P Loop2310C { get; set; }
        ///
        /// Loop for Supervising Provider Name
        /// 
        [DataMember]
        [Pos(4)]
        public virtual Loop_2310D_837P Loop2310D { get; set; }
        ///
        /// Loop for Ambulance Pick-up Location
        /// 
        [DataMember]
        [Pos(5)]
        public virtual Loop_2310E_837P Loop2310E { get; set; }
        ///
        /// Loop for Ambulance Drop-off Location
        /// 
        [DataMember]
        [Pos(6)]
        public virtual Loop_2310F_837P Loop2310F { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_NM1_837P_4
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Loop for Other Subscriber Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual Loop_2330A_837P Loop2330A { get; set; }
        ///
        /// Loop for Other Payer Name
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual Loop_2330B_837P Loop2330B { get; set; }
        ///
        /// Loop for Other Payer Referring Provider
        /// 
        [DataMember]
        [ListCount(2)]
        [Pos(3)]
        public virtual List Loop2330C { get; set; }
        ///
        /// Loop for Other Payer Rendering Provider
        /// 
        [DataMember]
        [Pos(4)]
        public virtual Loop_2330D_837P Loop2330D { get; set; }
        ///
        /// Loop for Other Payer Service Facility Location
        /// 
        [DataMember]
        [Pos(5)]
        public virtual Loop_2330E_837P Loop2330E { get; set; }
        ///
        /// Loop for Other Payer Supervising Provider
        /// 
        [DataMember]
        [Pos(6)]
        public virtual Loop_2330F_837P Loop2330F { get; set; }
        ///
        /// Loop for Other Payer Billing Provider
        /// 
        [DataMember]
        [Pos(7)]
        public virtual Loop_2330G_837P Loop2330G { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_NM1_837P_5
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Loop for Rendering Provider Name
        /// 
        [DataMember]
        [Pos(1)]
        public virtual Loop_2420A_837P Loop2420A { get; set; }
        ///
        /// Loop for Purchased Service Provider Name
        /// 
        [DataMember]
        [Pos(2)]
        public virtual Loop_2420B_837P Loop2420B { get; set; }
        ///
        /// Loop for Service Facility Location
        /// 
        [DataMember]
        [Pos(3)]
        public virtual Loop_2420C_837P Loop2420C { get; set; }
        ///
        /// Loop for Supervising Provider Name
        /// 
        [DataMember]
        [Pos(4)]
        public virtual Loop_2420D_837P Loop2420D { get; set; }
        ///
        /// Loop for Ordering Provider Name
        /// 
        [DataMember]
        [Pos(5)]
        public virtual Loop_2420E_837P Loop2420E { get; set; }
        ///
        /// Loop for Referring Provider Name
        /// 
        [DataMember]
        [ListCount(2)]
        [Pos(6)]
        public virtual List Loop2420F { get; set; }
        ///
        /// Loop for Ambulance Pick-up Location
        /// 
        [DataMember]
        [Pos(7)]
        public virtual Loop_2420G_837P Loop2420G { get; set; }
        ///
        /// Loop for Ambulance Drop-off Location
        /// 
        [DataMember]
        [Pos(8)]
        public virtual Loop_2420H_837P Loop2420H { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_NM1_837P_6
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Loop for Submitter Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual Loop_1000A_837P Loop1000A { get; set; }
        ///
        /// Loop for Receiver Name
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual Loop_1000B_837P Loop1000B { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_NTE_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Line Note
        /// 
        [DataMember]
        [Pos(1)]
        public virtual NTE_LineNote NTE_LineNote { get; set; }
        ///
        /// Third Party Organization Notes
        /// 
        [DataMember]
        [Pos(2)]
        public virtual NTE_ThirdPartyOrganizationNotes NTE_ThirdPartyOrganizationNotes { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_PWK_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Line Supplemental Information
        /// 
        [DataMember]
        [ListCount(10)]
        [Pos(1)]
        public virtual List PWK_LineSupplementalInformation { get; set; }
        ///
        /// Durable Medical Equipment Certificate of Medical Necessity Indicator
        /// 
        [DataMember]
        [Pos(2)]
        public virtual PWK_DurableMedicalEquipmentCertificateofMedicalNecessityIndicator PWK_DurableMedicalEquipmentCertificateofMedicalNecessityIndicator { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_QTY_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Ambulance Patient Count
        /// 
        [DataMember]
        [Pos(1)]
        public virtual QTY_AmbulancePatientCount QTY_AmbulancePatientCount { get; set; }
        ///
        /// Obstetric Anesthesia Additional Units
        /// 
        [DataMember]
        [Pos(2)]
        public virtual QTY_ObstetricAnesthesiaAdditionalUnits QTY_ObstetricAnesthesiaAdditionalUnits { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_REF_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Other Payer Secondary Identifier
        /// 
        [DataMember]
        [ListCount(2)]
        [Pos(1)]
        public virtual List REF_OtherPayerSecondaryIdentifier { get; set; }
        ///
        /// Other Payer Prior Authorization Number
        /// 
        [DataMember]
        [Pos(2)]
        public virtual REF_OtherPayerPriorAuthorizationNumber REF_OtherPayerPriorAuthorizationNumber { get; set; }
        ///
        /// Other Payer Referral Number
        /// 
        [DataMember]
        [Pos(3)]
        public virtual REF_OtherPayerReferralNumber REF_OtherPayerReferralNumber { get; set; }
        ///
        /// Other Payer Claim Adjustment Indicator
        /// 
        [DataMember]
        [Pos(4)]
        public virtual REF_OtherPayerClaimAdjustmentIndicator REF_OtherPayerClaimAdjustmentIndicator { get; set; }
        ///
        /// Other Payer Claim Control Number
        /// 
        [DataMember]
        [Pos(5)]
        public virtual REF_OtherPayerClaimControlNumber REF_OtherPayerClaimControlNumber { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_REF_837P_2
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Repriced Line Item Reference Number
        /// 
        [DataMember]
        [Pos(1)]
        public virtual REF_RepricedLineItemReferenceNumber REF_RepricedLineItemReferenceNumber { get; set; }
        ///
        /// Adjusted Repriced Line Item Reference Number
        /// 
        [DataMember]
        [Pos(2)]
        public virtual REF_AdjustedRepricedLineItemReferenceNumber REF_AdjustedRepricedLineItemReferenceNumber { get; set; }
        ///
        /// Prior Authorization
        /// 
        [DataMember]
        [ListCount(5)]
        [Pos(3)]
        public virtual List REF_PriorAuthorization { get; set; }
        ///
        /// Line Item Control Number
        /// 
        [DataMember]
        [Pos(4)]
        public virtual REF_LineItemControlNumber REF_LineItemControlNumber { get; set; }
        ///
        /// Mammography Certification Number
        /// 
        [DataMember]
        [Pos(5)]
        public virtual REF_MammographyCertificationNumber REF_MammographyCertificationNumber { get; set; }
        ///
        /// Clinical Laboratory Improvement Amendment (CLIA) Number
        /// 
        [DataMember]
        [Pos(6)]
        public virtual REF_ClinicalLaboratoryImprovementAmendment REF_ClinicalLaboratoryImprovementAmendment_CLIA_Number { get; set; }
        ///
        /// Referring Clinical Laboratory Improvement Amendment (CLIA) Facility Identification
        /// 
        [DataMember]
        [Pos(7)]
        public virtual REF_ReferringClinicalLaboratoryImprovementAmendment REF_ReferringClinicalLaboratoryImprovementAmendment_CLIA_FacilityIdentification { get; set; }
        ///
        /// Immunization Batch Number
        /// 
        [DataMember]
        [Pos(8)]
        public virtual REF_ImmunizationBatchNumber REF_ImmunizationBatchNumber { get; set; }
        ///
        /// Referral Number
        /// 
        [DataMember]
        [ListCount(5)]
        [Pos(9)]
        public virtual List REF_ReferralNumber { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_REF_837P_3
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Pay-To Plan Secondary Identification
        /// 
        [DataMember]
        [Pos(1)]
        public virtual REF_Pay REF_Pay_ToPlanSecondaryIdentification { get; set; }
        ///
        /// Pay-To Plan Tax Identification Number
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual REF_BillingProviderTaxIdentification_2 REF_Pay_ToPlanTaxIdentificationNumber { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_REF_837P_4
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Subscriber Secondary Identification
        /// 
        [DataMember]
        [Pos(1)]
        public virtual REF_OtherSubscriberSecondaryIdentification REF_SubscriberSecondaryIdentification { get; set; }
        ///
        /// Property and Casualty Claim Number
        /// 
        [DataMember]
        [Pos(2)]
        public virtual REF_PropertyandCasualtyClaimNumber REF_PropertyandCasualtyClaimNumber { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_REF_837P_5
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Payer Secondary Identification
        /// 
        [DataMember]
        [ListCount(3)]
        [Pos(1)]
        public virtual List REF_PayerSecondaryIdentification { get; set; }
        ///
        /// Billing Provider Secondary Identification
        /// 
        [DataMember]
        [ListCount(2)]
        [Pos(2)]
        public virtual List REF_BillingProviderSecondaryIdentification { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_REF_837P_6
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Service Authorization Exception Code
        /// 
        [DataMember]
        [Pos(1)]
        public virtual REF_ServiceAuthorizationExceptionCode REF_ServiceAuthorizationExceptionCode { get; set; }
        ///
        /// Mandatory Medicare (Section 4081) Crossover Indicator
        /// 
        [DataMember]
        [Pos(2)]
        public virtual REF_MandatoryMedicare REF_MandatoryMedicare_Section4081_CrossoverIndicator { get; set; }
        ///
        /// Mammography Certification Number
        /// 
        [DataMember]
        [Pos(3)]
        public virtual REF_MammographyCertificationNumber REF_MammographyCertificationNumber { get; set; }
        ///
        /// Referral Number
        /// 
        [DataMember]
        [Pos(4)]
        public virtual REF_OtherPayerReferralNumber REF_ReferralNumber { get; set; }
        ///
        /// Prior Authorization
        /// 
        [DataMember]
        [Pos(5)]
        public virtual REF_OtherPayerPriorAuthorizationNumber REF_PriorAuthorization { get; set; }
        ///
        /// Payer Claim Control Number
        /// 
        [DataMember]
        [Pos(6)]
        public virtual REF_OtherPayerClaimControlNumber REF_PayerClaimControlNumber { get; set; }
        ///
        /// Clinical Laboratory Improvement Amendment (CLIA) Number
        /// 
        [DataMember]
        [Pos(7)]
        public virtual REF_ClinicalLaboratoryImprovementAmendment REF_ClinicalLaboratoryImprovementAmendment_CLIA_Number { get; set; }
        ///
        /// Repriced Claim Number
        /// 
        [DataMember]
        [Pos(8)]
        public virtual REF_RepricedClaimNumber REF_RepricedClaimNumber { get; set; }
        ///
        /// Adjusted Repriced Claim Number
        /// 
        [DataMember]
        [Pos(9)]
        public virtual REF_AdjustedRepricedClaimNumber REF_AdjustedRepricedClaimNumber { get; set; }
        ///
        /// Investigational Device Exemption Number
        /// 
        [DataMember]
        [Pos(10)]
        public virtual REF_InvestigationalDeviceExemptionNumber REF_InvestigationalDeviceExemptionNumber { get; set; }
        ///
        /// Claim Identifier For Transmission Intermediaries
        /// 
        [DataMember]
        [Pos(11)]
        public virtual REF_ClaimIdentificationNumberForClearinghousesAndOtherTransmissionIntermediaries REF_ClaimIdentifierForTransmissionIntermediaries { get; set; }
        ///
        /// Medical Record Number
        /// 
        [DataMember]
        [Pos(12)]
        public virtual REF_MedicalRecordNumber REF_MedicalRecordNumber { get; set; }
        ///
        /// Demonstration Project Identifier
        /// 
        [DataMember]
        [Pos(13)]
        public virtual REF_DemonstrationProjectIdentifier REF_DemonstrationProjectIdentifier { get; set; }
        ///
        /// Care Plan Oversight
        /// 
        [DataMember]
        [Pos(14)]
        public virtual REF_CarePlanOversight REF_CarePlanOversight { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_REF_837P_7
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Property and Casualty Claim Number
        /// 
        [DataMember]
        [Pos(1)]
        public virtual REF_PropertyandCasualtyClaimNumber REF_PropertyandCasualtyClaimNumber { get; set; }
        ///
        /// Property and Casualty Patient Identifier
        /// 
        [DataMember]
        [Pos(2)]
        public virtual REF_PropertyandCasualtyPatientIdentifier REF_PropertyandCasualtyPatientIdentifier { get; set; }
    }

    [Serializable()]
    [DataContract()]
    [All()]
    public class All_REF_837P_8
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Billing Provider Tax Identification
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual REF_BillingProviderTaxIdentification REF_BillingProviderTaxIdentification { get; set; }
        ///
        /// Billing Provider UPIN/License Information
        /// 
        [DataMember]
        [ListCount(2)]
        [Pos(2)]
        public virtual List REF_BillingProviderUPIN_LicenseInformation { get; set; }
    }

    ///
    /// Loop for Submitter Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_InformationReceiverName_4))]
    public class Loop_1000A_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Submitter Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_InformationReceiverName_4 NM1_SubmitterName { get; set; }
        ///
        /// Submitter EDI Contact Information
        /// 
        [DataMember]
        [Required]
        [ListCount(2)]
        [Pos(2)]
        public virtual List PER_SubmitterEDIContactInformation { get; set; }
    }

    ///
    /// Loop for Receiver Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_ReceiverName))]
    public class Loop_1000B_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Receiver Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_ReceiverName NM1_ReceiverName { get; set; }
    }

    ///
    /// Loop for Billing Provider Hierarchical Level
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(HL_BillingProviderHierarchicalLevel))]
    public class Loop_2000A_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Billing Provider Hierarchical Level
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual HL_BillingProviderHierarchicalLevel HL_BillingProviderHierarchicalLevel { get; set; }
        ///
        /// Billing Provider Specialty Information
        /// 
        [DataMember]
        [Pos(2)]
        public virtual PRV_BillingProviderSpecialtyInformation PRV_BillingProviderSpecialtyInformation { get; set; }
        ///
        /// Foreign Currency Information
        /// 
        [DataMember]
        [Pos(3)]
        public virtual CUR_ForeignCurrencyInformation_3 CUR_ForeignCurrencyInformation { get; set; }
        [DataMember]
        [Required]
        [Pos(4)]
        public virtual All_NM1_837P AllNM1 { get; set; }
        ///
        /// Loop for Subscriber Hierarchical Level
        /// 
        [DataMember]
        [Required]
        [Pos(5)]
        public virtual List Loop2000B { get; set; }
    }

    ///
    /// Loop for Subscriber Hierarchical Level
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(HL_SubscriberHierarchicalLevel))]
    public class Loop_2000B_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Subscriber Hierarchical Level
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual HL_SubscriberHierarchicalLevel HL_SubscriberHierarchicalLevel { get; set; }
        ///
        /// Subscriber Information
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual SBR_SubscriberInformation SBR_SubscriberInformation { get; set; }
        ///
        /// Patient Information
        /// 
        [DataMember]
        [Pos(3)]
        public virtual PAT_PatientInformation_3 PAT_PatientInformation { get; set; }
        [DataMember]
        [Required]
        [Pos(4)]
        public virtual All_NM1_837P_2 AllNM1 { get; set; }
        ///
        /// Loop for Claim Information
        /// 
        [DataMember]
        [ListCount(100)]
        [Pos(5)]
        public virtual List Loop2300 { get; set; }
        ///
        /// Loop for Patient Hierarchical Level
        /// 
        [DataMember]
        [Pos(6)]
        public virtual List Loop2000C { get; set; }
    }

    ///
    /// Loop for Patient Hierarchical Level
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(HL_DependentLevel))]
    public class Loop_2000C_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Patient Hierarchical Level
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual HL_DependentLevel HL_PatientHierarchicalLevel { get; set; }
        ///
        /// Patient Information
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual PAT_PatientInformation PAT_PatientInformation { get; set; }
        ///
        /// Loop for Patient Name
        /// 
        [DataMember]
        [Required]
        [Pos(3)]
        public virtual Loop_2010CA_837P Loop2010CA { get; set; }
        ///
        /// Loop for Claim Information
        /// 
        [DataMember]
        [Required]
        [ListCount(100)]
        [Pos(4)]
        public virtual List Loop2300 { get; set; }
    }

    ///
    /// Loop for Billing Provider Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_BillingProviderName_2))]
    public class Loop_2010AA_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Billing Provider Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_BillingProviderName_2 NM1_BillingProviderName { get; set; }
        ///
        /// Billing Provider Address
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual N3_AdditionalPatientInformationContactAddress N3_BillingProviderAddress { get; set; }
        ///
        /// Billing Provider City, State, ZIP Code
        /// 
        [DataMember]
        [Required]
        [Pos(3)]
        public virtual N4_AdditionalPatientInformationContactCity N4_BillingProviderCity_State_ZIPCode { get; set; }
        [DataMember]
        [Required]
        [Pos(4)]
        public virtual All_REF_837P_8 AllREF { get; set; }
        ///
        /// Billing Provider Contact Information
        /// 
        [DataMember]
        [ListCount(2)]
        [Pos(5)]
        public virtual List PER_BillingProviderContactInformation { get; set; }
    }

    ///
    /// Loop for Pay-to Address Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_Pay))]
    public class Loop_2010AB_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Pay-to Address Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_Pay NM1_Pay_AddressName { get; set; }
        ///
        /// Pay-To Address - ADDRESS
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual N3_AdditionalPatientInformationContactAddress N3_Pay_ToAddress_ADDRESS { get; set; }
        ///
        /// Pay-to Address City, State, ZIP Code
        /// 
        [DataMember]
        [Required]
        [Pos(3)]
        public virtual N4_AdditionalPatientInformationContactCity N4_Pay_AddressCity_State_ZIPCode { get; set; }
    }

    ///
    /// Loop for Pay-To Plan Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_Pay_3))]
    public class Loop_2010AC_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Pay-To Plan Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_Pay_3 NM1_Pay_ToPlanName { get; set; }
        ///
        /// Pay-To Plan Address
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual N3_AdditionalPatientInformationContactAddress N3_Pay_ToPlanAddress { get; set; }
        ///
        /// Pay-To Plan City, State, ZIP Code
        /// 
        [DataMember]
        [Required]
        [Pos(3)]
        public virtual N4_AdditionalPatientInformationContactCity N4_Pay_ToPlanCity_State_ZIPCode { get; set; }
        [DataMember]
        [Required]
        [Pos(4)]
        public virtual All_REF_837P_3 AllREF { get; set; }
    }

    ///
    /// Loop for Subscriber Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_SubscriberName_5))]
    public class Loop_2010BA_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Subscriber Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_SubscriberName_5 NM1_SubscriberName { get; set; }
        ///
        /// Subscriber Address
        /// 
        [DataMember]
        [Pos(2)]
        public virtual N3_AdditionalPatientInformationContactAddress N3_SubscriberAddress { get; set; }
        ///
        /// Subscriber City, State, ZIP Code
        /// 
        [DataMember]
        [Pos(3)]
        public virtual N4_AdditionalPatientInformationContactCity N4_SubscriberCity_State_ZIPCode { get; set; }
        ///
        /// Subscriber Demographic Information
        /// 
        [DataMember]
        [Pos(4)]
        public virtual DMG_PatientDemographicInformation DMG_SubscriberDemographicInformation { get; set; }
        [DataMember]
        [Pos(5)]
        public virtual All_REF_837P_4 AllREF { get; set; }
        ///
        /// Property and Casualty Subscriber Contact Information
        /// 
        [DataMember]
        [Pos(6)]
        public virtual PER_PropertyandCasualtyPatientContactInformation PER_PropertyandCasualtySubscriberContactInformation { get; set; }
    }

    ///
    /// Loop for Payer Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_OtherPayerName))]
    public class Loop_2010BB_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Payer Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_OtherPayerName NM1_PayerName { get; set; }
        ///
        /// Payer Address
        /// 
        [DataMember]
        [Pos(2)]
        public virtual N3_AdditionalPatientInformationContactAddress N3_PayerAddress { get; set; }
        ///
        /// Payer City, State, ZIP Code
        /// 
        [DataMember]
        [Pos(3)]
        public virtual N4_AdditionalPatientInformationContactCity N4_PayerCity_State_ZIPCode { get; set; }
        [DataMember]
        [Pos(4)]
        public virtual All_REF_837P_5 AllREF { get; set; }
    }

    ///
    /// Loop for Patient Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_PatientName_3))]
    public class Loop_2010CA_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Patient Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_PatientName_3 NM1_PatientName { get; set; }
        ///
        /// Patient Address
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual N3_AdditionalPatientInformationContactAddress N3_PatientAddress { get; set; }
        ///
        /// Patient City, State, ZIP Code
        /// 
        [DataMember]
        [Required]
        [Pos(3)]
        public virtual N4_AdditionalPatientInformationContactCity N4_PatientCity_State_ZIPCode { get; set; }
        ///
        /// Patient Demographic Information
        /// 
        [DataMember]
        [Required]
        [Pos(4)]
        public virtual DMG_PatientDemographicInformation DMG_PatientDemographicInformation { get; set; }
        [DataMember]
        [Pos(5)]
        public virtual All_REF_837P_7 AllREF { get; set; }
        ///
        /// Property and Casualty Patient Contact Information
        /// 
        [DataMember]
        [Pos(6)]
        public virtual PER_PropertyandCasualtyPatientContactInformation PER_PropertyandCasualtyPatientContactInformation { get; set; }
    }

    ///
    /// Loop for Claim Information
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(CLM_ClaimInformation_3))]
    public class Loop_2300_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Claim Information
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual CLM_ClaimInformation_3 CLM_ClaimInformation { get; set; }
        [DataMember]
        [Pos(2)]
        public virtual All_DTP_837P_2 AllDTP { get; set; }
        ///
        /// Claim Supplemental Information
        /// 
        [DataMember]
        [ListCount(10)]
        [Pos(3)]
        public virtual List PWK_ClaimSupplementalInformation { get; set; }
        ///
        /// Contract Information
        /// 
        [DataMember]
        [Pos(4)]
        public virtual CN1_ContractInformation_2 CN1_ContractInformation { get; set; }
        ///
        /// Patient Amount Paid
        /// 
        [DataMember]
        [Pos(5)]
        public virtual AMT_PatientAmountPaid AMT_PatientAmountPaid { get; set; }
        [DataMember]
        [Pos(6)]
        public virtual All_REF_837P_6 AllREF { get; set; }
        ///
        /// File Information
        /// 
        [DataMember]
        [ListCount(10)]
        [Pos(7)]
        public virtual List K3_FileInformation { get; set; }
        ///
        /// Claim Note
        /// 
        [DataMember]
        [Pos(8)]
        public virtual NTE_ClaimNote_2 NTE_ClaimNote { get; set; }
        ///
        /// Ambulance Transport Information
        /// 
        [DataMember]
        [Pos(9)]
        public virtual CR1_AmbulanceTransportInformation CR1_AmbulanceTransportInformation { get; set; }
        ///
        /// Spinal Manipulation Service Information
        /// 
        [DataMember]
        [Pos(10)]
        public virtual CR2_SpinalManipulationServiceInformation CR2_SpinalManipulationServiceInformation { get; set; }
        [DataMember]
        [Pos(11)]
        public virtual All_CRC_837P_2 AllCRC { get; set; }
        [DataMember]
        [Required]
        [Pos(12)]
        public virtual All_HI_837P AllHI { get; set; }
        ///
        /// Claim Pricing/Repricing Information
        /// 
        [DataMember]
        [Pos(13)]
        public virtual HCP_ClaimPricing HCP_ClaimPricing_RepricingInformation { get; set; }
        [DataMember]
        [Pos(14)]
        public virtual All_NM1_837P_3 AllNM1 { get; set; }
        ///
        /// Loop for Other Subscriber Information
        /// 
        [DataMember]
        [ListCount(10)]
        [Pos(15)]
        public virtual List Loop2320 { get; set; }
        ///
        /// Loop for Service Line Number
        /// 
        [DataMember]
        [Required]
        [ListCount(50)]
        [Pos(16)]
        public virtual List Loop2400 { get; set; }
    }

    ///
    /// Loop for Referring Provider Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_ReferringProviderName))]
    public class Loop_2310A_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Referring Provider Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_ReferringProviderName NM1_ReferringProviderName { get; set; }
        ///
        /// Referring Provider Secondary Identification
        /// 
        [DataMember]
        [ListCount(3)]
        [Pos(2)]
        public virtual List REF_ReferringProviderSecondaryIdentification { get; set; }
    }

    ///
    /// Loop for Rendering Provider Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_RenderingProviderName))]
    public class Loop_2310B_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Rendering Provider Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_RenderingProviderName NM1_RenderingProviderName { get; set; }
        ///
        /// Rendering Provider Specialty Information
        /// 
        [DataMember]
        [Pos(2)]
        public virtual PRV_RenderingProviderSpecialtyInformation PRV_RenderingProviderSpecialtyInformation { get; set; }
        ///
        /// Rendering Provider Secondary Identification
        /// 
        [DataMember]
        [ListCount(4)]
        [Pos(3)]
        public virtual List REF_RenderingProviderSecondaryIdentification { get; set; }
    }

    ///
    /// Loop for Service Facility Location Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_ServiceFacilityLocation))]
    public class Loop_2310C_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Service Facility Location Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_ServiceFacilityLocation NM1_ServiceFacilityLocationName { get; set; }
        ///
        /// Service Facility Location Address
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual N3_AdditionalPatientInformationContactAddress N3_ServiceFacilityLocationAddress { get; set; }
        ///
        /// Service Facility Location City, State, ZIP Code
        /// 
        [DataMember]
        [Required]
        [Pos(3)]
        public virtual N4_AdditionalPatientInformationContactCity N4_ServiceFacilityLocationCity_State_ZIPCode { get; set; }
        ///
        /// Service Facility Location Secondary Identification
        /// 
        [DataMember]
        [ListCount(3)]
        [Pos(4)]
        public virtual List REF_ServiceFacilityLocationSecondaryIdentification { get; set; }
        ///
        /// Service Facility Contact Information
        /// 
        [DataMember]
        [Pos(5)]
        public virtual PER_PropertyandCasualtyPatientContactInformation PER_ServiceFacilityContactInformation { get; set; }
    }

    ///
    /// Loop for Supervising Provider Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_SupervisingProviderName))]
    public class Loop_2310D_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Supervising Provider Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_SupervisingProviderName NM1_SupervisingProviderName { get; set; }
        ///
        /// Supervising Provider Secondary Identification
        /// 
        [DataMember]
        [ListCount(4)]
        [Pos(2)]
        public virtual List REF_SupervisingProviderSecondaryIdentification { get; set; }
    }

    ///
    /// Loop for Ambulance Pick-up Location
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_AmbulancePick))]
    public class Loop_2310E_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Ambulance Pick-up Location
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_AmbulancePick NM1_AmbulancePick_Location { get; set; }
        ///
        /// Ambulance Pick-up Location Address
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual N3_AdditionalPatientInformationContactAddress N3_AmbulancePick_LocationAddress { get; set; }
        ///
        /// Ambulance Pick-up Location City, State, Zip Code
        /// 
        [DataMember]
        [Required]
        [Pos(3)]
        public virtual N4_AdditionalPatientInformationContactCity N4_AmbulancePick_LocationCity_State_ZipCode { get; set; }
    }

    ///
    /// Loop for Ambulance Drop-off Location
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_AmbulanceDrop))]
    public class Loop_2310F_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Ambulance Drop-off Location
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_AmbulanceDrop NM1_AmbulanceDrop_Location { get; set; }
        ///
        /// Ambulance Drop-off Location Address
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual N3_AdditionalPatientInformationContactAddress N3_AmbulanceDrop_LocationAddress { get; set; }
        ///
        /// Ambulance Drop-off Location City, State, Zip Code
        /// 
        [DataMember]
        [Required]
        [Pos(3)]
        public virtual N4_AdditionalPatientInformationContactCity N4_AmbulanceDrop_LocationCity_State_ZipCode { get; set; }
    }

    ///
    /// Loop for Other Subscriber Information
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(SBR_OtherSubscriberInformation))]
    public class Loop_2320_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Other Subscriber Information
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual SBR_OtherSubscriberInformation SBR_OtherSubscriberInformation { get; set; }
        ///
        /// Claim Level Adjustments
        /// 
        [DataMember]
        [ListCount(5)]
        [Pos(2)]
        public virtual List CAS_ClaimLevelAdjustments { get; set; }
        [DataMember]
        [Pos(3)]
        public virtual All_AMT_837P_2 AllAMT { get; set; }
        ///
        /// Other Insurance Coverage Information
        /// 
        [DataMember]
        [Required]
        [Pos(4)]
        public virtual OI_OtherInsuranceCoverageInformation_2 OI_OtherInsuranceCoverageInformation { get; set; }
        ///
        /// Outpatient Adjudication Information
        /// 
        [DataMember]
        [Pos(5)]
        public virtual MOA_OutpatientAdjudicationInformation MOA_OutpatientAdjudicationInformation { get; set; }
        [DataMember]
        [Required]
        [Pos(6)]
        public virtual All_NM1_837P_4 AllNM1 { get; set; }
    }

    ///
    /// Loop for Other Subscriber Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_OtherSubscriberName))]
    public class Loop_2330A_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Other Subscriber Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_OtherSubscriberName NM1_OtherSubscriberName { get; set; }
        ///
        /// Other Subscriber Address
        /// 
        [DataMember]
        [Pos(2)]
        public virtual N3_AdditionalPatientInformationContactAddress N3_OtherSubscriberAddress { get; set; }
        ///
        /// Other Subscriber City, State, ZIP Code
        /// 
        [DataMember]
        [Pos(3)]
        public virtual N4_AdditionalPatientInformationContactCity N4_OtherSubscriberCity_State_ZIPCode { get; set; }
        ///
        /// Other Subscriber Secondary Identification
        /// 
        [DataMember]
        [Pos(4)]
        public virtual REF_OtherSubscriberSecondaryIdentification REF_OtherSubscriberSecondaryIdentification { get; set; }
    }

    ///
    /// Loop for Other Payer Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_OtherPayerName))]
    public class Loop_2330B_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Other Payer Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_OtherPayerName NM1_OtherPayerName { get; set; }
        ///
        /// Other Payer Address
        /// 
        [DataMember]
        [Pos(2)]
        public virtual N3_AdditionalPatientInformationContactAddress N3_OtherPayerAddress { get; set; }
        ///
        /// Other Payer City, State, ZIP Code
        /// 
        [DataMember]
        [Pos(3)]
        public virtual N4_AdditionalPatientInformationContactCity N4_OtherPayerCity_State_ZIPCode { get; set; }
        ///
        /// Claim Check or Remittance Date
        /// 
        [DataMember]
        [Pos(4)]
        public virtual DTP_ClaimCheckOrRemittanceDate DTP_ClaimCheckorRemittanceDate { get; set; }
        [DataMember]
        [Pos(5)]
        public virtual All_REF_837P AllREF { get; set; }
    }

    ///
    /// Loop for Other Payer Referring Provider
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_OtherPayerReferringProvider))]
    public class Loop_2330C_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Other Payer Referring Provider
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_OtherPayerReferringProvider NM1_OtherPayerReferringProvider { get; set; }
        ///
        /// Other Payer Referring Provider Secondary Identification
        /// 
        [DataMember]
        [Required]
        [ListCount(3)]
        [Pos(2)]
        public virtual List REF_OtherPayerReferringProviderSecondaryIdentification { get; set; }
    }

    ///
    /// Loop for Other Payer Rendering Provider
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_OtherPayerRenderingProvider_2))]
    public class Loop_2330D_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Other Payer Rendering Provider
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_OtherPayerRenderingProvider_2 NM1_OtherPayerRenderingProvider { get; set; }
        ///
        /// Other Payer Rendering Provider Secondary Identification
        /// 
        [DataMember]
        [Required]
        [ListCount(3)]
        [Pos(2)]
        public virtual List REF_OtherPayerRenderingProviderSecondaryIdentification { get; set; }
    }

    ///
    /// Loop for Other Payer Service Facility Location
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_OtherPayerServiceFacilityLocation))]
    public class Loop_2330E_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Other Payer Service Facility Location
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_OtherPayerServiceFacilityLocation NM1_OtherPayerServiceFacilityLocation { get; set; }
        ///
        /// Other Payer Service Facility Location Secondary Identification
        /// 
        [DataMember]
        [Required]
        [ListCount(3)]
        [Pos(2)]
        public virtual List REF_OtherPayerServiceFacilityLocationSecondaryIdentification { get; set; }
    }

    ///
    /// Loop for Other Payer Supervising Provider
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_OtherPayerSupervisingProvider))]
    public class Loop_2330F_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Other Payer Supervising Provider
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_OtherPayerSupervisingProvider NM1_OtherPayerSupervisingProvider { get; set; }
        ///
        /// Other Payer Supervising Provider Secondary Identification
        /// 
        [DataMember]
        [Required]
        [ListCount(3)]
        [Pos(2)]
        public virtual List REF_OtherPayerSupervisingProviderSecondaryIdentification { get; set; }
    }

    ///
    /// Loop for Other Payer Billing Provider
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_OtherPayerBillingProvider))]
    public class Loop_2330G_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Other Payer Billing Provider
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_OtherPayerBillingProvider NM1_OtherPayerBillingProvider { get; set; }
        ///
        /// Other Payer Billing Provider Secondary Identification
        /// 
        [DataMember]
        [Required]
        [ListCount(2)]
        [Pos(2)]
        public virtual List REF_OtherPayerBillingProviderSecondaryIdentification { get; set; }
    }

    ///
    /// Loop for Service Line Number
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(LX_HeaderNumber))]
    public class Loop_2400_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Service Line Number
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual LX_HeaderNumber LX_ServiceLineNumber { get; set; }
        ///
        /// Professional Service
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual SV1_ProfessionalService SV1_ProfessionalService { get; set; }
        ///
        /// Durable Medical Equipment Service
        /// 
        [DataMember]
        [Pos(3)]
        public virtual SV5_DurableMedicalEquipmentService SV5_DurableMedicalEquipmentService { get; set; }
        [DataMember]
        [Pos(4)]
        public virtual All_PWK_837P AllPWK { get; set; }
        ///
        /// Ambulance Transport Information
        /// 
        [DataMember]
        [Pos(5)]
        public virtual CR1_AmbulanceTransportInformation CR1_AmbulanceTransportInformation { get; set; }
        ///
        /// Durable Medical Equipment Certification
        /// 
        [DataMember]
        [Pos(6)]
        public virtual CR3_DurableMedicalEquipmentCertification CR3_DurableMedicalEquipmentCertification { get; set; }
        [DataMember]
        [Pos(7)]
        public virtual All_CRC_837P AllCRC { get; set; }
        [DataMember]
        [Required]
        [Pos(8)]
        public virtual All_DTP_837P AllDTP { get; set; }
        [DataMember]
        [Pos(9)]
        public virtual All_QTY_837P AllQTY { get; set; }
        ///
        /// Test Result
        /// 
        [DataMember]
        [ListCount(5)]
        [Pos(10)]
        public virtual List MEA_TestResult { get; set; }
        ///
        /// Contract Information
        /// 
        [DataMember]
        [Pos(11)]
        public virtual CN1_ContractInformation_2 CN1_ContractInformation { get; set; }
        [DataMember]
        [Pos(12)]
        public virtual All_REF_837P_2 AllREF { get; set; }
        [DataMember]
        [Pos(13)]
        public virtual All_AMT_837P AllAMT { get; set; }
        ///
        /// File Information
        /// 
        [DataMember]
        [ListCount(10)]
        [Pos(14)]
        public virtual List K3_FileInformation { get; set; }
        [DataMember]
        [Pos(15)]
        public virtual All_NTE_837P AllNTE { get; set; }
        ///
        /// Purchased Service Information
        /// 
        [DataMember]
        [Pos(16)]
        public virtual PS1_PurchasedServiceInformation PS1_PurchasedServiceInformation { get; set; }
        ///
        /// Line Pricing/Repricing Information
        /// 
        [DataMember]
        [Pos(17)]
        public virtual HCP_LinePricing_3 HCP_LinePricing_RepricingInformation { get; set; }
        ///
        /// Loop for Drug Identification
        /// 
        [DataMember]
        [Pos(18)]
        public virtual Loop_2410_837P Loop2410 { get; set; }
        [DataMember]
        [Pos(19)]
        public virtual All_NM1_837P_5 AllNM1 { get; set; }
        ///
        /// Loop for Line Adjudication Information
        /// 
        [DataMember]
        [ListCount(15)]
        [Pos(20)]
        public virtual List Loop2430 { get; set; }
        ///
        /// Loop for Form Identification Code
        /// 
        [DataMember]
        [Pos(21)]
        public virtual List Loop2440 { get; set; }
    }

    ///
    /// Loop for Drug Identification
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(LIN_DrugIdentification_2))]
    public class Loop_2410_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Drug Identification
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual LIN_DrugIdentification_2 LIN_DrugIdentification { get; set; }
        ///
        /// Drug Quantity
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual CTP_DrugQuantity CTP_DrugQuantity { get; set; }
        ///
        /// Prescription or Compound Drug Association Number
        /// 
        [DataMember]
        [Pos(3)]
        public virtual REF_PrescriptionorCompoundDrugAssociationNumber REF_PrescriptionorCompoundDrugAssociationNumber { get; set; }
    }

    ///
    /// Loop for Rendering Provider Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_RenderingProviderName))]
    public class Loop_2420A_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Rendering Provider Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_RenderingProviderName NM1_RenderingProviderName { get; set; }
        ///
        /// Rendering Provider Specialty Information
        /// 
        [DataMember]
        [Pos(2)]
        public virtual PRV_RenderingProviderSpecialtyInformation PRV_RenderingProviderSpecialtyInformation { get; set; }
        ///
        /// Rendering Provider Secondary Identification
        /// 
        [DataMember]
        [ListCount(20)]
        [Pos(3)]
        public virtual List REF_RenderingProviderSecondaryIdentification { get; set; }
    }

    ///
    /// Loop for Purchased Service Provider Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_PurchasedServiceProviderName))]
    public class Loop_2420B_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Purchased Service Provider Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_PurchasedServiceProviderName NM1_PurchasedServiceProviderName { get; set; }
        ///
        /// Purchased Service Provider Secondary Identification
        /// 
        [DataMember]
        [ListCount(20)]
        [Pos(2)]
        public virtual List REF_PurchasedServiceProviderSecondaryIdentification { get; set; }
    }

    ///
    /// Loop for Service Facility Location
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_ServiceFacilityLocation))]
    public class Loop_2420C_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Service Facility Location
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_ServiceFacilityLocation NM1_ServiceFacilityLocation { get; set; }
        ///
        /// Service Facility Location Address
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual N3_AdditionalPatientInformationContactAddress N3_ServiceFacilityLocationAddress { get; set; }
        ///
        /// Service Facility Location City, State, ZIP Code
        /// 
        [DataMember]
        [Required]
        [Pos(3)]
        public virtual N4_AdditionalPatientInformationContactCity N4_ServiceFacilityLocationCity_State_ZIPCode { get; set; }
        ///
        /// Service Facility Location Secondary Identification
        /// 
        [DataMember]
        [ListCount(3)]
        [Pos(4)]
        public virtual List REF_ServiceFacilityLocationSecondaryIdentification { get; set; }
    }

    ///
    /// Loop for Supervising Provider Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_SupervisingProviderName))]
    public class Loop_2420D_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Supervising Provider Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_SupervisingProviderName NM1_SupervisingProviderName { get; set; }
        ///
        /// Supervising Provider Secondary Identification
        /// 
        [DataMember]
        [ListCount(20)]
        [Pos(2)]
        public virtual List REF_SupervisingProviderSecondaryIdentification { get; set; }
    }

    ///
    /// Loop for Ordering Provider Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_OrderingProviderName))]
    public class Loop_2420E_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Ordering Provider Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_OrderingProviderName NM1_OrderingProviderName { get; set; }
        ///
        /// Ordering Provider Address
        /// 
        [DataMember]
        [Pos(2)]
        public virtual N3_AdditionalPatientInformationContactAddress N3_OrderingProviderAddress { get; set; }
        ///
        /// Ordering Provider City, State, ZIP Code
        /// 
        [DataMember]
        [Pos(3)]
        public virtual N4_AdditionalPatientInformationContactCity N4_OrderingProviderCity_State_ZIPCode { get; set; }
        ///
        /// Ordering Provider Secondary Identification
        /// 
        [DataMember]
        [ListCount(20)]
        [Pos(4)]
        public virtual List REF_OrderingProviderSecondaryIdentification { get; set; }
        ///
        /// Ordering Provider Contact Information
        /// 
        [DataMember]
        [Pos(5)]
        public virtual PER_BillingProviderContactInformation PER_OrderingProviderContactInformation { get; set; }
    }

    ///
    /// Loop for Referring Provider Name
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_ReferringProviderName))]
    public class Loop_2420F_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Referring Provider Name
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_ReferringProviderName NM1_ReferringProviderName { get; set; }
        ///
        /// Referring Provider Secondary Identification
        /// 
        [DataMember]
        [ListCount(20)]
        [Pos(2)]
        public virtual List REF_ReferringProviderSecondaryIdentification { get; set; }
    }

    ///
    /// Loop for Ambulance Pick-up Location
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_AmbulancePick))]
    public class Loop_2420G_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Ambulance Pick-up Location
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_AmbulancePick NM1_AmbulancePick_Location { get; set; }
        ///
        /// Ambulance Pick-up Location Address
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual N3_AdditionalPatientInformationContactAddress N3_AmbulancePick_LocationAddress { get; set; }
        ///
        /// Ambulance Pick-up Location City, State, Zip Code
        /// 
        [DataMember]
        [Required]
        [Pos(3)]
        public virtual N4_AdditionalPatientInformationContactCity N4_AmbulancePick_LocationCity_State_ZipCode { get; set; }
    }

    ///
    /// Loop for Ambulance Drop-off Location
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(NM1_AmbulanceDrop))]
    public class Loop_2420H_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Ambulance Drop-off Location
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual NM1_AmbulanceDrop NM1_AmbulanceDrop_Location { get; set; }
        ///
        /// Ambulance Drop-off Location Address
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual N3_AdditionalPatientInformationContactAddress N3_AmbulanceDrop_LocationAddress { get; set; }
        ///
        /// Ambulance Drop-off Location City, State, Zip Code
        /// 
        [DataMember]
        [Required]
        [Pos(3)]
        public virtual N4_AdditionalPatientInformationContactCity N4_AmbulanceDrop_LocationCity_State_ZipCode { get; set; }
    }

    ///
    /// Loop for Line Adjudication Information
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(SVD_LineAdjudicationInformation))]
    public class Loop_2430_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Line Adjudication Information
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual SVD_LineAdjudicationInformation_3 SVD_LineAdjudicationInformation { get; set; }
        ///
        /// Line Adjustment
        /// 
        [DataMember]
        [ListCount(5)]
        [Pos(2)]
        public virtual List CAS_LineAdjustment { get; set; }
        ///
        /// Line Check or Remittance Date
        /// 
        [DataMember]
        [Required]
        [Pos(3)]
        public virtual DTP_ClaimCheckOrRemittanceDate DTP_LineCheckorRemittanceDate { get; set; }
        ///
        /// Remaining Patient Liability
        /// 
        [DataMember]
        [Pos(4)]
        public virtual AMT_RemainingPatientLiability AMT_RemainingPatientLiability { get; set; }
    }

    ///
    /// Loop for Form Identification Code
    /// 
    [Serializable()]
    [DataContract()]
    [Group(typeof(LQ_FormIdentificationCode))]
    public class Loop_2440_837P
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Form Identification Code
        /// 
        [DataMember]
        [Required]
        [Pos(1)]
        public virtual LQ_FormIdentificationCode LQ_FormIdentificationCode { get; set; }
        ///
        /// Supporting Documentation
        /// 
        [DataMember]
        [Required]
        [ListCount(99)]
        [Pos(2)]
        public virtual List FRM_SupportingDocumentation { get; set; }
    }

    ///
    /// Health Care Claim : Professional
    /// 
    [Serializable()]
    [DataContract()]
    [Message("X12", "005010X222A1", "837")]
    public class TS837P : EdiMessage
    {

        [XmlIgnore]
        [IgnoreDataMember]
        public int Id { get; set; }
        ///
        /// Transaction Set Header
        /// 
        [DataMember]
        [Pos(1)]
        public virtual ST ST { get; set; }
        ///
        /// Beginning of Hierarchical Transaction
        /// 
        [DataMember]
        [Required]
        [Pos(2)]
        public virtual BHT_BeginningOfHierarchicalTransaction_8 BHT_BeginningOfHierarchicalTransaction { get; set; }
        [DataMember]
        [Required]
        [Pos(3)]
        public virtual All_NM1_837P_6 AllNM1 { get; set; }
        ///
        /// Loop for Billing Provider Hierarchical Level
        /// 
        [DataMember]
        [Required]
        [Pos(4)]
        public virtual List Loop2000A { get; set; }
        ///
        /// Transaction Set Trailer
        /// 
        [DataMember]
        [Pos(5)]
        public virtual SE SE { get; set; }
    }
}
Share this:

Was this article helpful?

Comments

5 comments

  • Comment author
    Admin

    It's both really, we've seen sample files that have it in the original order as well as flipped, as in your case which also seems to be state bound, e.g. Texas. There is no other reason rather than whichever is the prevalent case and also for backward compatibility. 

    As I said, the templates are just templates. They give you the starting point and are supposed to be living templates and change over time.

    BTW, we are reworking the templates in the moment, as they are really cumbersome to work with and will release a much improved and lightweight version by the end of next month.

    Admin

    0
  • Comment author
    Stephen Sweeney

    Is the ordering here intentional/correct with respect to Loop_2000C and Loop_2300?

     

    On this transaction example it's the other way round with 2000C preceding 2300, and we've an actual issue where the EDI is failing to validate at a major healthcare clearinghouse for the same reason.

    Is there a way to override the order in which the generated EDI appears? i.e. deviate from the explicit positions above?

    0
  • Comment author
    Stephen Sweeney

    Thanks for the quick response. 

    We've went with (1) and it's working, so the immediate need is met.

    Question - how do you decide the default behavior/ordering? I've not seen a 2000C follow a 2300 anywhere on the web, but perhaps that case is buried in the TS spec itself?

    Or is the reason to leave it as-is down to it being a potentially breaking change to existing implementations depending on EDIFabric? More curiousity/for future reference, as our issue is effectively resolved.

    Thanks again,

    Stephen

     

    0
  • Comment author
    Stephen Sweeney

    Understood. And new templates are definitely of interest. Will stay tuned...

    Thanks!

     

    0
  • Comment author
    Admin
    • Edited

    Absolutely, the reason we provide all EDI templates as C# files is exactly that - they can be amended to comply with any format and requirement. 

    In this particular issue you can do:

    1. Swap 2300 and 2000C in the template (this will require that you maintain two copies of the template - the original and the swapped). I assume other partners would require the loops to be in their original order.

    This is fine and when reading you can add this logic into the LoadFactory, to load the swapped template when the trading partner is that particular clearing house.

    To swap them simply change the Pos attribute, e.g from:

     [Pos(5)]
    public List<Loop_2300> Loop_2300 { get; set; }
    [Pos(6)]
    public List<Loop_2000C> Loop_2000C { get; set; }

    to:

     [Pos(6)]
    public List<Loop_2300> Loop_2300 { get; set; }
    [Pos(5)]
    public List<Loop_2000C> Loop_2000C { get; set; }

    2. Create an ALL group, which works just like all in XSD - does not account for order, so from this (it's only pseudo code):

     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; }
    }

    you'll change it to this:

     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 All_MyNewGroup Loop_2300_Or_2000C { get; set; }
    }

    [Serializable()]
    [All()]
    public class All_MyNewGroup
    {
    [Pos(1)]
    public List<Loop_2300> Loop_2300 { get; set; }
    [Pos(2)]
    public List<Loop_2000C> Loop_2000C { get; set; }
    }
    0

Please sign in to leave a comment.