The purpose of this article to give a brief overview of what EDI is in a simple and straightforward manner.
If you’re reading this article that means that you’re either interested in EDI development or simply just want to learn more about EDI in general. There’s a lot of information on the web that describes EDI however most of them make EDI seem more difficult than it really is.
EDI simply stands for Electronic Data Interchange. Let’s separate the ‘Electronic‘ from the ‘Data Interchange‘ part and describe them separately.
Let’s suppose that there are two companies, Company A and Company B, conducting business with each other. Company A needs to send some data over to Company B.
Company B needs to understand the data when it receives it from company A. If both companies can’t agree on the format of the data then even though Company A may send data, Company B would not be able to understand it.
Both company A and company B need to agree on the format of the data. The format should be flexible enough to handle each type of data that Company A wants to send to Company B and also to handle any messages that Company B wants to send back to Company A. These might be messages telling Company A that it received the data successfully or that there were errors in the data. Company A can then fix the data and send it back to Company B .
A popular data format for sending data is called ASC X12 . There are other data formats, for example, EDIFACT. EDIFACT is mostly used outside of the US. ASC X12, also just called X12, is mostly used in the US and by healthcare industry.
Most data formats use the concept of data segments and data elements to send data over. For example, if Company A wants to send an address over to Company B it can send over a N3 and N4 segment.
N3*112 ROAD WAY~ N4*New York*NY*1114~
There is nothing particularly special about the name of the data segments. They are usually 2-3 characters long. Some of them are actually abbreviations for the data they will contain. For example data segment NM1 contains a name:
Different segments types are used in different industries. For example the segment CLM (claim) is used in the healthcare industry to send over claim data to another company.
You may notice the special characters * and ~ in the segments. These are called delimiters. The ‘*’ characters tell Company B where an data element, or a unit of data, ends. The ‘~’ character tells Company B where one data segment ends and where another one begins. This is important because it enables Company B to correctly parse and understand the data.
After Company A has all the data it needs to send over to Company B it needs to add a top level segment, or envelope, to denote the start of the data. In the X12 format that data segment is call an Interchange Header or ISA data segment. This type of segment is called a control segment.
ISA*00* *00* *ZZ*SMITH *ZZ*BCBSGA *07011A*1350*U*00401*000000011*1*P*>~
This envelope segment contains information that Company B needs to correctly process the message. For example, it may contain the user name and password for Company A, the EDI format version, here it’s 00401. It also contains the delimiters that Company B will use to parse the message. There is also a IEA segment ( Interchange Control Trailer ) that must be placed to at the bottom of every message.
A typical EDI message will consist of an Interchange Control Header (ISA), A Functional Group Header (GS) and a Transaction Header (ST) segment and their corresponding trailing segments. The ISA, GS, ST segments are control segments and just wrap the actual payload and provide more control information to Company B. The control segments contain information that Company B can use to figure out what type of message company A is sending for example.
The typical structure of an X12 EDI file is:
Notice the Interchange Header (ISA), or message envelope, contains a Functional Groups (GS) which contain a Transaction Header (ST) segment.
A complete EDI message could look like the following:
ISA*00* *00* *ZZ*SMITH *ZZ*BCBSGA *07011A*1350*U*00401*000000011*1*P*>~ GS*HC*SMITH*BCBSGA*20070118*1350*11*X*004010X098A1~ ST*837*000000001~ NM1*IL*1*John*Smith*~ N3*112 ROAD WAY~ N4*New York*NY*1114~ SE*5*000000001~ GE*1*11~ IEA*1*000000011~
An EDI message can have many functional groups with the Interchange Header (ISA), for example:
ISA GS ST Payload SE GE GS ST Payload SE GE IEA
Notice that the Functional Groups (GS) are all within the same ISA envelope. EDI messages can also have many Transactions Headers (ST) within each functional group as well.
Different Types of EDI Messages
There are many different types of EDI messages that Company A can send to Company B. For example:
- Purchase Orders
- Healthcare Claims
- Payment information
- Insurance Information
As long as both Company A and Company B agree on the format of the data, in this case X12, then the message will be understood by each party.
Data Format Updates
Data formats do get updated from time to time to handle new industry requirements and even to conform to current laws, especially in healthcare. For example, for the X12 format the current version is 5010 in the healthcare industry. The previous version 4010 and 3010 are still being used but in other industries or to process old EDI messages.
Now for the ‘Electronic’ part
Once you have created your EDI file you will now need to send it over to a receiving company. For example, in the case of healthcare EDI files, you may need to send over the EDI file to an insurance company or a third party vendor for further processing. This is the easy part. You can just simply send over the EDI file using a method that the receiving company supports. These methods may be FTP, HTTPS, File Drops, As2 etc.
Benefits of EDI
As you can see, once Company A and Company B agree on the EDI format, in this example X12, they can send information electronically.
- Company A and Company B can send and receive EDI messages almost instantaneously
- Company B does not have to mail or fax data
- Faster turnaround time to receive and process data, for example insurance claims, purchase orders
- Easy way to correct data and resend data quickly
Take Charge Of EDI