Data Element
Data Types
Data elements may have the following types:
N - Numeric with implied decimal point, signed.
Example: N2 indicates a numeric with two decimal places. 12.34 becomes 1234. N0 indicates in integer.
R - Decimal Number with explicit decimal point, signed.
Example: 12.34 represented in R format is 12.34. Starting with 4010, exponential notation is also supported.
ID - Identifier - A coded value, usually alphanumeric.
AN - String - alphanumeric.
DT - Date - YYMMDD. As of 4010, CCYYMMDD is also supported.
TM - Time - HHMM, with optional seconds and hundredths.
B - Binary - Any sequence of 8 bit bytes.
A composite data structure consists of two or more simple data elements separated by a delimiter character known as the component data element separator. The individual component data elements in the composite may be designated as either mandatory or optional.
Segment
Delimiters
In an X12 message, the various delimiters are part of the syntax, dividing up the different elements of a message. The delimiters used in a message are defined in the interchange control header, the outermost layer enveloping the message.
For this reason, there is flexibility in the delimiters that are used. No suggested delimiters are recommended as part of the X12 standards, but the industry-specific implementation guides do have recommended delimiters.
The default delimiters are:
Segment terminator
~ (tilde)
Data element separator
* (asterisk)
Subelement (component) separator
: (colon)
Repetition separator (version 4020 and later)
+ (plus sign)
Loop is a set of related segments in a Transaction Set. Segments are grouped together in this way to conveniently represent a block of related information. No formal Loops are defined, but several basic loop types, such as a Name/Address loop, appear with minor variations in many Transaction Sets. Different loops may be nested within each other, and loops may repeat up to the maximum loop occurrences specified within the Transaction Set.
Example for loop
1000A (Submitter) Loop
This loop contains submitter information. A submitter is the entity that is sending the claims to the payer. In most cases, this is the doctor or clinic name.
Example: NM1*41*2*DOCTORSOFFICE*****46*44444~
2010BA (Insured Patient) Loop
This loop contains the Patient (if the patient is the insured, otherwise Insured Person) Name, contract number, address, SSN (if used), and birthdate.
Example:
NM1*IL*1*DOE*JOHN*F***MI*ABC849559999~ ('MI' stands for member identification, followed by contract number)
N3*6022 VALLEY TRAIL~
N4*RUTH*MI*48883~
DMG*D8*19750101*M~ ('DMG' stands for Demographic (Birth date) information. Date format is CCYYMMDD)
Understanding EDI-Loops, Segments, and Elements
The best way to think of an EDI claim file is like a page in a book:
The Loops tell you the paragraph
The Segments tell you the sentence
The Elements tell you the word
All of this information together tells you the exact location of the problem.
Here's an example:
Let's say you received a rejection on a 5010 Professional claim, that states Loop 2300, Segment CLM05, Element 1.
In EDI we would read this as Loop 2300, CLM05-1.
But what does it mean? Let's break it down--Loop 2300--this is the Claim Information loop (all information relating to the claim, including place of service, admit/discharge dates, etc. Okay, so we know the problem is in the Claim Information Loop.
Next is the Segment-CLM05. The 5010 837P Implementation Guide (available from Washington Publishing Company) states
that CLM05 is for Health Care Service Location Information.
Finally, the Element-1. Again, we consult our implementation guide--CLM05, Element 1, is for Facility Code Value, or Place of Service. We may not know exactly what the problem is, but we know where to locate the problem in our claim file; and, since we know the field for this Loop/Segment/Element is Place of Service, we should be able to locate this in our software system.