270/271 Parser


Brief:

EDI (Electronic Data Interchange) is the transfer of data from one computer system to another by standardized message formatting, without the need for human intervention. EDI permits multiple companies -- possibly in different countries -- to exchange documents electronically.

EDI Health Care Eligibility/Benefit Inquiry (270) is used to inquire about the health care eligibility and benefits associated with a subscriber or dependent.
EDI Health Care Eligibility/Benefit Response (271) is used to respond to a request inquiry about the health care eligibility and benefits associated with a subscriber or dependent.
It's a class library developped in C# which creates a 270 request stream from raw information and also can convert back a 271 response in raw information which can be used to show to users as required.

Need:

Here is a sample 270 request stream.

ISA*00* *00* *12*ABCCOM *01*999999999 *120117*1719*U*00400*000006768*0*P*>
GS*HS*4405197800*999999999*20120117*1719*1421*X*004010VICS
ST*270*1234
BHT*0022*13*1*20010820*1330
HL*1**20*1
NM1*PR*2******PI*123456789
HL*2*1*21*1
NM1*1P*2******SV*987654321
HL*3*2*22*0
NM1*IL*1*DOE*JANE****MI*345678901
EQ*30**FAM
SE*10*1234
GE*1*1421
IEA*1*000006768


To create this stream we need to go through a ASC X12 270/271 Comapnion Guide of more than 300 pages. Every segment, value and every loop in this block has a specific meaning. It is explained in the companion guide. There was a requirement where traditional webservice transfering data in XML format was needed to replace with 270/271.

How It Works:

We went through all the segments, values and loops mentioned in the 270/271 companion guide. As mentioned in the document we created different rules and created dictory for each segment and hard coded values for same. Also added logic to identify the information entered by the user and accordingly add in respective loop of the 270 stream.
For example, there are different loop and qualifiers for Subscriber and Dependent. A Special segment is there for sending additional information about the patient. There are different payer id given to each insurance company. Few fields are compulsory and few fields are optional. Also there are few values which varies on the basis of number of segments involved in the request stream.

Here are definitions for few segments.
ST - Transaction Set Header
SE - Transaction Set Trailer
ISA - Interchange Control Header
IEA - Interchange Control Trailer
GS - Functional Group Header
GE - Functional Group Trailer
HL - Information Source Level
NM1 - Information Receiver Name
BHT - Beginning of Hierachical Transaction

This library was talking data in XML format and on the basis of predefined rules it was converting the request in to 270 format.

Similarly it was also used to convert the 271 response into XML format.

Podcast

Michael Patterson sat down with the CEO of Boston Byte, Mustapha Shaikh to discuss the significance and rapid digitization of the healthcar...