Glossary
X12 and gateway terminology, in the form of definitions you can read once and refer back to. If you are new to X12, read this from top to bottom; if you came here from a chapter, jump to the term you need.
X12 envelope
| Term | Meaning |
|---|---|
| Interchange | One ISA/IEA-bounded payload — the transport-level unit. Carries one or more functional groups. |
| ISA | Interchange Control Header. Opens an interchange; carries sender/receiver qualifiers + IDs, control number, usage indicator (P production / T test). |
| IEA | Interchange Control Trailer. Closes the ISA. |
| GS | Functional Group Header. Opens a functional group; identifies what kind of transaction set is inside (HC claim, HS eligibility request, HB eligibility response, HI 278, HP 835, BE 834). |
| GE | Functional Group Trailer. Closes the GS. |
| ST | Transaction Set Header. Opens one transaction (one 837, one 835, etc.). |
| SE | Transaction Set Trailer. Closes the ST and carries the segment count. |
| Implementation Convention Reference | The version string under HIPAA — e.g. 005010X222A1 for the standard 837P. Sits in GS08. |
Loops, segments, elements
| Term | Meaning |
|---|---|
| Segment | One line of an EDI file, terminated by ~. Identified by a 2–3 character ID (NM1, BHT, CLM). |
| Element | One field inside a segment, separated by *. Position counts from 01. NM103 = the third element of an NM1. |
| Composite element | An element that contains sub-elements separated by :. |
| Loop | A logical group of segments (sometimes nested). Identified by 4-digit numbers like 2000A, 2300, 2400. |
| Hierarchical level (HL) | A loop-organizing segment that establishes a parent/child structure inside an 837. The HL number cascades down (1 → 2 → 3). |
| Qualifier | A coded value in a segment that says what kind of value follows. NM101 = IL (Insured), 41 (Submitter), 40 (Receiver). |
Transactions
| Code | Name | Direction (most common) |
|---|---|---|
270 | Health Care Eligibility Benefit Inquiry | Outbound |
271 | Health Care Eligibility Benefit Response | Inbound |
276 | Health Care Claim Status Inquiry | Outbound |
277 | Health Care Claim Status Response | Inbound |
277CA | Claim Acknowledgment (the BHT02 = 08 flavor of 277) | Inbound |
278 | Services Review (auth request and response) | Both |
820 | Premium Payment | (Not used by RCM) |
834 | Benefit Enrollment & Maintenance | Inbound |
835 | Health Care Claim Payment / Remittance Advice (ERA) | Inbound |
837P | Professional Claim | Outbound |
837I | Institutional Claim | Outbound |
999 | Implementation Acknowledgment (replaces 997) | Inbound |
TA1 | Interchange-level acknowledgment | Inbound |
Acknowledgment hierarchy
| Ack | Tells you |
|---|---|
TA1 | The ISA envelope itself parsed (or didn't). Always optional; some partners skip. |
999 | The 837 file's functional content was syntactically valid (AK1/AK9) — or it wasn't (IK3/IK4 carry the error detail). |
277CA | The payer accepted or rejected each claim individually. The most actionable ack. |
Group codes (835 / denials)
| Code | Meaning |
|---|---|
CO | Contractual Obligation — provider write-off; cannot be billed to member. |
PR | Patient Responsibility — bill the member (deductible, coinsurance, copay). |
PI | Payer Initiated Reduction — same impact as CO. |
OA | Other Adjustment — usually informational. |
CR | Correction and Reversal — reverses a prior adjudication. |
Trading partner concepts
| Term | Meaning |
|---|---|
| Trading partner | An EDI counterparty (clearinghouse, state Medicaid MMIS, commercial payer). Identified by a name + ISA08 receiver ID. |
| Submitter | The entity submitting an 837 — usually our tenant. Carries NM1*41 in the 1000A loop. |
| Receiver | The trading partner. Carries NM1*40 in 1000B. |
| Companion guide | A per-state or per-payer overlay on the X12 implementation convention (see Companion Guides). |
| Routing rule | Configuration that picks the correct trading partner for an outbound transaction (see 3.3 — Submission routing rules). |
Gateway concepts
| Term | Meaning |
|---|---|
| edi-gateway | The service that builds outbound EDI, parses inbound EDI, manages connections, and exposes the admin API. |
| edi-app | The web UI for EDI staff (/transactions, /partners, /companion-guides, etc.). |
| Transaction record | One row in billing.edi_transaction representing a single inbound or outbound X12 transaction. |
| Batch | A bundle of transactions packaged for transport — typically all of one cron tick's outbound 837s. |
| Correlation ID | The ID that ties a transaction record to its originating event (claim build, auth request, etc.). |
| Control number | An ISA / GS / ST sequence number — strictly monotonic per partner per direction. Managed by the control-number-manager service. |
| Replay | Re-running an inbound or outbound transaction without re-generating the source event (see 8.2 — Replay & retry). |
See also
- Segment cheat-sheet — the 30 segments you will see most.
- Acknowledgment codes — TA1/AK/IK/STC/CTX decoded.