Contents of X12_5010_HIPAA Examples project
This section describes the contents of the X12_5010_HIPAA Examples project, which shows EDI/XML transformations for each of the X12 5010 HIPAA specifications. For each transaction, a simple XML document demonstrates the commonly used portions of the EDI.
The examples provided here are intended to show various common mapping situations and also provide the best practices for naming and organizing maps associated with Health Care EDI. They are organized into transaction set pairs where the request transaction set is paired with its corresponding response, like the 270 Health Care Benefit Eligibility Inquiry and 271 Health Care Benefit Eligibility Response. For each transaction, there is a map with the EDI as input and output. In addition, map inheritance and reverse mapping are used to reuse the mapping instructions where possible.
The following table shows how the different HIPAA transactions correspond to the structures in the project.
Transaction |
Specification Version |
Structure |
Description |
---|---|---|---|
270 |
5010X279A1 |
270-B1 |
Health Care Eligibility Benefit Inquiry |
271 |
5010X279A1 |
271-B1 |
Health Care Eligibility Benefit Response |
276 |
5010X212 |
276-A1 |
Health Care Claim Status Request |
277 |
5010X212 |
277-B3 |
Health Care Claim Status Response |
278 |
5010X217 |
278-A1 |
Health Care Services Review Information Request |
278 |
5010X217 |
278-A3 |
Health Care Services Review Information Response |
835 |
5010X221A1 |
835-W1 |
Health Care Claim: Payment/Advice |
837 |
5010X222A1 |
837-Q1 |
Health Care Claim: Professional |
837 |
5010X223A1 |
837-Q2 |
Health Care Claim: Institutional |
837 |
5010X224A1 |
837-Q3 |
Health Care Claim: Dental |
In addition, there are examples of the 997 and 999 acknowledgment transactions which are generated from the ExecutionStatus object that is returned from the execution of a map. The examples show how to translate the errors and descriptive information from the XML manifestation of the ExecutionStatus object into the 997 or 999. You can get the XML from the ExecutionStatus object by using the ExecutionStatus.exportToXml() method.
-
EDI-XML-Base (e.g. 270-Eligibility-Base) - This is a base map at the transaction set level that provides the mapping that is common to both the request and response, since in the case of Health Care EDI the order and content of the transaction sets are very similar between the request (e.g. 270) and response (e.g. 271). This map is inherited by both the EDI to XML request and response transactions.
-
EDI-XMLRequest (e.g. 270-EligibilityRequest) - Contains the EDI to XML mapping of an inbound request. This inherits from the Base map (described above). All of the actual mapping instructions come from that map.
-
XMLRequest-EDI (e.g. EligibilityRequest-270) - This is done by creating a reverse map from the EDI to XML Request map, and then adding or fixing the necessary mappings to produce the correct EDI.
-
EDI-XMLResponse (e.g. 271-EligibilityResponse) - Contains the EDI to XML mapping of an inbound response. As with the corresponding request, this inherits from the Base map. Additional mapping is required to handle the elements provided in the response.
-
XMLResponse-EDI (e.g. EligibilityResponse-271) - This is done by creating a reverse map from the EDI to XML Response map, and then adding or fixing the necessary mappings to produce the correct EDI.
The following table shows the different mapping cases demonstrated.
# |
Condition |
Description |
Example |
Method |
---|---|---|---|---|
1 |
Simple |
X12 to XML with one occurrence at one loop level |
One HL loop for source |
- |
2 |
Looping |
X12 to XML with multiple occurrences of looping |
loop of one Info Source Name (NM1 segment with ABC Insurance), one Receiver (NM1 with Marcus A Jones), one Subscriber (NMI with John L Smith) and two Dependents (NM1's with Jim Smith and Kathy Smith) |
- |
loop of multiple contact information (PER) in Info Source |
||||
3 |
Output Format |
X12 to XML date format expressed as CCYYMMDDY |
Transaction set creation date (BHT04) |
structure's field data default |
X12 to XML date format expressed as YYMMDD |
Subscriber date (DTP) |
structure's field data format YYMMDD |
||
X12 to XML code mapping value from code to description |
Info Source Name entity Id code (NM101) output changed from code PR to PayingPerson |
loop using filter and constant |
||
Info Source Communication Contact Telephone Number Qualifier TE (PER03) mapped to TelephoneNo |
||||
4 |
Code Value |
X12 to XML with output field conditional on code value |
Subscriber Plan Begin Date qualifier (DTP01 with code 102) selected from multiple dates and output to PlanIssueDate |
- |
5 |
Function |
X12 to XML concatenate fields |
Name (NM1 in receiver loop) to concatenate Subscriber's first name, middle initial and last name |
map output field using concat function |
Address (N3 and N4) to concatenate subscriber's address, city,state and zip |
- |