Delimited Enrollment Files
The following table defines the fields that are expected when receiving an enrollment file from a Payer.
The most common format for delimited files is .csv. Pipe-delimited files are also accepted.
Although the following table specifies the expected fields, the content of the file may vary depending on the requirements of the customer.
Unique ID | 834 Min | Headers | Description | Loop | Segment | Customer Sends | FHIR Mapping | Is Mapping Done In Parser |
---|---|---|---|---|---|---|---|---|
Y | Transaction set ID | Header | ST | ST01 | NN | |||
Y | Transaction set control number | Header | ST | ST02 | TransactionSetControlNumber | |||
Y | Implementation convention reference | Header | ST | ST03 | N | |||
Y | Purpose code | Beginning segment | BGN | BGN01 | PurposeCode | |||
Y | Transaction set reference number | Beginning segment | BGN | BGN02 | TransactionSetReferenceNumber | |||
Y | Creation date | Beginning segment | BGN | BGN03 | CreationDate | |||
Y | Creation time | Beginning segment | BGN | BGN04 | CreationTime | |||
Y | Action code | Beginning segment | BGN | BGN08 | ActionCode | |||
Y | Entity identifier code (plan sponsor) | Sponsor name | 1000A | N101 | N | Always same value - P5 - Don't save in FHIR | ||
Y | ID code qualifier (plan sponsor) | Sponsor name | 1000A | N103 | PlanSponsorCode | EnrollmentRequest.Coverage.payor[0].identifier[0].type.coding[0].system="http://terminology.hl7.org/CodeSystem/v2-0203" EnrollementRequest.Coverage.payor[0].identifier[0].type.coding[0].code is mapped as follows: X12 -> FHIR (Description) 24 -> NE (National employer identifier) 94 -> U (Unspecified Identifier) FI -> TAX (Tax ID number) | N | |
Y | Plan sponsor identifier | Sponsor name | 1000A | N104 | PlanSponsorID | EnrollementRequest.Coverage.payor[0].identifier[0].value | N | |
Y | Entity identifier code (payer) | Payer | 1000B | N101 | N | Always same value - IN - Don't save in FHIR | ||
Y | ID code qualifier (payer) | Payer | 1000B | N103 | PayerCode | EnrollementRequest.insurer.identifier[0].type.coding[0].system="http://terminology.hl7.org/CodeSystem/v2-0203" EnrollementRequest.insurer.identifier[0].type.coding[0].code is mapped as follows: X12 -> FHIR (Description) 94 -> U (Unspecified Identifier) FI -> TAX (Tax ID number) XV -> XV (Health Plan ID/ HPID) | N | |
Y | Payer identifier | Payer | 1000B | N104 | PayerID | EnrollmentRequest.insurer.identifier[0].value | N | |
Y | Member indicator (insured/dependent) | Member detail | 2000 | INS01 | MemberIndicator | EnrollmentRequest.Candidate.isSubscriberExt | N | |
Y | Relationship code | Member detail | 2000 | INS02 | RelationshipCode | EnrollmentRequest.Candidate.relationshipCodeExt | Y | |
Y | Maintenance type code | Member detail | 2000 | INS03 | MemberMaintenanceTypeCode | Extension - EnrollmentRequest.candidate.insuredBenefitCodeInfoExt.maintenanceCode | N | |
Maintenance reason code | Member detail | 2000 | INS04 | N | Extension - EnrollmentRequest.candidate.insuredBenefitCodeInfoExt.maintenaceReasonCode | N | ||
Y | Benefit status code | Member detail | 2000 | INS05 | BenefitStatusCode | Extension - EnrollmentRequest.candidate.insuredBenefitCodeInfoExt.benefitStatusCode | N | |
Medicare status code | Member detail | 2000 | INS06 | N | Extension - EnrollmentRequest.candidate.insuredBenefitCodeInfoExt.medicareStatusCode | N | ||
Y | Medicare plan code | Member detail | 2000 | INS06-1 | MedicarePlanCode | Extension - EnrollmentRequest.candidate.insuredBenefitCodeInfoExt.medicarePlanCode | N | |
COBRA qualifying | Member detail | 2000 | INS07 | COBRACode | Extension - EnrollmentRequest.candidate.insuredBenefitCodeInfoExt.cobraEventCode | N | ||
Employment status code | Member detail | 2000 | INS08 | EmploymentStatus | Extension - EnrollmentRequest.candidate.insuredBenefitCodeInfoExt.employmentStatusCode | N | ||
Student status code | Member detail | 2000 | INS09 | StudentStatus | Extension - EnrollmentRequest.candidate.insuredBenefitCodeInfoExt.studentStatusCode | N | ||
Birth sequence number | Member detail | 2000 | INS17 | BirthSequenceNumber | Extension - EnrollmentRequest.candidate.insuredBenefitCodeInfoExt.birthSequenceNumber | N | ||
Y | Reference ID qualifier (subscriber) | Member detail | 2000 | REF01 | N | Always same value - 0F - Don't save in FHIR | N | |
Y | Y | Subscriber identifier | Member detail | 2000 | REF02 | SubscriberID | EnrollmentRequest.Candidate.subscriberIdExt | Y |
Reference ID qualifier (group) | Member detail | 2000 | REF01 | N | Always same value -1L - Don't save in FHIR" | |||
Y | Group or policy number | Member detail | 2000 | REF02 | PolicyNumber | EnrollmentRequest.Candidate.policyNumberExt | Y | |
Date/time qualifier (type of date) | Member dates | 2000 | DTP01 | N | EnrollmentRequest.candidate.MHX12Date[0].qualifier ..... EnrollmentRequest.candidate.MHX12Date[n].qualifier When DTP01 = 050 ,map DTP03 to EnrollmentRequest.created These dates are saved in MHX12DateExt - DTP01 = 286, 296 , 297 , 300, 301 , 303 , 336 , 337 , 338 , 339 , 340 , 341, 350 , 3511 , 383, 385 , 386 , 393 , 394 , 473 , 474 | N | ||
Date/time format qualifier (type of date) | Member dates | 2000 | DTP02 | N | EnrollmentRequest.candidate.MHX12Date[0].formatQualifier ..... EnrollmentRequest.candidate.MHX12Date[n].formatQualifier This defines date format, it will be used to create different DateTime objects depending upon DTP01 values | N | ||
Date | Member dates | 2000 | DTP03 | HireDate / Termination Date | EnrollmentRequest.candidate.MHX12Date[0].date ..... EnrollmentRequest.candidate.MHX12Date[n].date This is actual date value. When DTP01 = 050 ,map DTP03 to EnrollmentRequest.created These dates are saved in MHX12DateExt - DTP01 = 286, 296 , 297 , 300, 301 , 303 , 336 , 337 , 338 , 339 , 340 , 341, 350 , 3511 , 383, 385 , 386 , 393 , 394 , 473 , 474, 356, 357 | N | ||
Y | Entity identifier code (new/correction) | Member Name | 2100A | NM101 | EntityID | EnrollmentRequest.candidate.entityIdentifierCodeExt | N | |
Y | Entity type qualifier (person) | Member Name | 2100A | NM102 | N | Always 1 - don't save in FHIR | ||
Y | Y | Last name | Member Name | 2100A | NM103 | LastName | EnrollmentRequest.candidate.name[0].family | Y |
Y | Y | First name | Member Name | 2100A | NM104 | FirstName | EnrollmentRequest.candidate.name[0].given[0] | Y |
Y | Middle name | Member Name | 2100A | NM105 | MiddleName | EnrollmentRequest.candidate.name[0].given[1] | Y | |
Name Suffix | Member Name | 2100A | NM107 | Suffix | EnrollmentRequest.candidate.name[0].suffix[0] | Y | ||
ID code qualifier (Member ID) | Member Name | 2100A | NM108 | N | N | |||
Member identifier | Member Name | 2100A | NM109 | N | EnrollmentRequest.candidate.identifier[0].value | N | ||
Communication number qualifier | Member comms | 2100A | PER03 | MemberContactType | EnrollmentRequest.candidate.telecom[0].system Mapping from x12 code to ContactPointSystem is as follows: 'TE' -> 'phone' 'FX' -> 'fax' 'EM' -> 'email' 'BN' -> 'pager' 'UR' -> 'url' 'AP','CP','HP','WP' are mapped to ContactPointSystem.PHONE with following ContactPointUse mapping 'AP' -> 'temp' 'CP' -> 'mobile' 'HP'->'home' WP->'work' | Y | ||
Communication number | Member comms | 2100A | PER04 | MemberContactNumber | EnrollmentRequest.candidate.telecom[0].value | Y | ||
Communication Number Qualifier | Member comms | 2100A | PER05 | MemberContactType2 | EnrollmentRequest.candidate.telecom[1].system Mapping from x12 code to ContactPointSystem is as follows: 'TE' -> 'phone' 'FX' -> 'fax' 'EM' -> 'email' 'BN' -> 'pager' 'UR' -> 'url' 'AP','CP','HP','WP' are mapped to ContactPointSystem.PHONE with following ContactPointUse mapping 'AP' -> 'temp' 'CP' -> 'mobile' 'HP'->'home' WP->'work' | Y | ||
Commnication Number | Member comms | 2100A | PER06 | MemberContactNumber2 | EnrollmentRequest.candidate.telecom[1].value | Y | ||
Communication Number Qualifier | Member comms | 2100A | PER07 | MemberContactType3 | EnrollmentRequest.candidate.telecom[2].system Mapping from x12 code to ContactPointSystem is as follows: 'TE' -> 'phone' 'FX' -> 'fax' 'EM' -> 'email' 'BN' -> 'pager' 'UR' -> 'url' 'AP','CP','HP','WP' are mapped to ContactPointSystem.PHONE with following ContactPointUse mapping 'AP' -> 'temp' 'CP' -> 'mobile' 'HP'->'home' WP->'work' | Y | ||
Commnication Number | Member comms | 2100A | PER08 | MemberContactNumber3 | EnrollmentRequest.candidate.telecom[2].value | Y | ||
Date/time format qualifier (DoB) | Demographics | 2100A | DMG01 | N | This format is used to create birthDate from DMG02 | N | ||
Y | Member birth date | Demographics | 2100A | DMG02 | DateOfBirth | candidate.birthDate | N | |
Gender Code | Demographics | 2100A | DMG03 | Gender | candidate.gender FHIR -> X12 'female' -> 'F' 'male' -> 'M' 'unknown' -> 'U' | Y | ||
Y | Member address line | Member address | 2100A | N301 | MemberAddressLine | EnrollmentRequest.candidate.address[0].line[0] EnrollmentRequest.candidate.address[0].type = AddressType.physical (There are two types of addresses , mailing address will come in loop 2100C for that address type will be populated to AddressType.postal) | Y | |
Member address line 2 | Member address | 2100A | N302 | MemberAddressLine2 | EnrollmentRequest.candidate.address[0].line[1] | |||
Y | City name | Member address | 2100A | N401 | MemberCity | EnrollmentRequest.candidate.address[0].city | Y | |
Y | State code | Member address | 2100A | N402 | MemberState | EnrollmentRequest.candidate.address[0].state | Y | |
Y | Zip code | Member address | 2100A | N403 | MemberPostalCode | candidate.address[0].postalCode | Y | |
Country code | Member address | 2100A | N404 | MemberCountry | candidate.address[0].country | Y | ||
Other reference ID | Disability info | 2200 | DSB01 | DisabilityTypeCode | EnrollmentRequest.disability(Ext)[0].code | N | ||
Maintenance type code | Health coverage | 2300 | HD01 | CoverageMaintenanceTypeCode | N | |||
Insurance line code | Health coverage | 2300 | HD03 | InsuranceLineCode | EnrollmentRequest.coverage.insuranceCode | N | ||
Plan coverage description | Health coverage | 2300 | HD04 | CoverageDescription | EnrollmentRequest.coverage.description | N | ||
Coverage level code | Health coverage | 2300 | HD05 | CoverageLevelCode | EnrollmentRequest.coverage.levelCode | N | ||
Y | Date/time qualifier (coverage) | Coverage dates | 2300 | DTP01 | CoverageDateTimeQualifier | EnrollmentRequest.coverage.x12Dates[].qualifier | N | |
Y | Date/time format qualifier (coverage) | Coverage dates | 2300 | DTP02 | N | EnrollmentRequest.coverage.x12Dates[].formatQualifier | N | |
Y | Coverage period | Coverage dates | 2300 | DTP03 | CoveragePeriod | EnrollmentRequest.coverage.x12Dates[].date | N | |
Y | Entity ID code (provider) | Provider name | 2310 | NM101 | ProviderID | EnrollmentRequest.coverage.provider(Ext).identifier | Y | |
Y | Entity type qualifier (provider) | Provider name | 2310 | NM102 | ProviderType | EnrollmentRequest.coverage.provider(Ext).type | Y | |
Entity relationship code (provider/patient) | Provider name | 2310 | NM110 | EntityRelationShipCode | ||||
Y | Transaction segment count | Trans set trailer | SE | SE01 | N | |||
Y | Transaction set control number | Trans set trailer | SE | SE02 | N |