Skip to main content

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.

Here are the maps associated with each transaction pair:
  • 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

-

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – please let us know!