Skip to main content

X12 Parse

This component offers an example strategy in ingesting and parsing EDI X12 files, commonly used for billing and administration transactions.

When working with X12 files in Iguana, we use an HL7/X12 Schema File (*.vmd) to define the message structure for ingestion and generation.

This component contains a sample X12 270 Eligibility Request File and VMD for parsing.

How it works:

Import X12 Parse using +Component and open the Translator

  • Click +Component, search “X12“ and add the X12 Parse component to your Dashboard.

  • In the Component card, click Edit > Make a Copy and Edit to open the Translator.

Click on the Sample data to view it's structure

X12 Files follow a similar delimited structure to HL7.

Each segment is comprised of data fields. Both segments and data fields are delimited, commonly by an asterisk (*) for data fields and the tilde (~) for segment separators.

Segments are grouped for organizational and hierarchal purposes - this is how we will process the file.

Parse the file using x12.parse{vmd=...}

View the parsed X12 message to analyze its structure - you can clearly see the hierarchal groups:

  1. Interchange Envelope- The ISA (header) and IEA (trailer) segments define the beginning and end of the entire interchange. It contains information about the sender, receiver, and overall structure of the file. An interchange can typically contain one or more functional groups.

  2. Functional Group - Functional groups organize related transactions, for example a set of orders or invoices. The GS (header) and GE (trailer) segments define the beginning and end of a functional group. A functional group can contain one or more transaction sets.

  3. Transaction Set- Individual transactions are grouped using the ST (header) and SE (trailer) segments, marking the beginning and end of specific transaction sets.

The component separates the processing of each group into individual functions

The component uses a set of functions to process each X12 group including, parsing the interchange, looping through repeated functional groups, transaction sets, and specific hierarchical levels within transaction sets (ex. 2000A and 2100A).

You can use this modular strategy to adapt and create your own processing rules.