The XON (Extended Composite Name and Identification Number for Organizations) data type was introduced in HL7 v2.3 to carry an organization's display name together with the identifier that an external authority has assigned to it. Where the older CN data type carried only a name, XON binds a name to a structured identifier, an assigning authority, an identifier type, and check-digit metadata — enough for a receiving system to look the organization up in a master file rather than rely on string matching. It appears in fields like ORC-21 (Ordering Facility Name) and BUI-10 (Container Manufacturer).
Purpose
XON exists so that an organization reference can be exchanged unambiguously across networks. A hospital, laboratory, manufacturer, or payer is rarely identifiable by name alone; XON pairs the human-readable name with a system-issued identifier (NPI, CLIA, FDA labeler code, OID-rooted enterprise key) and the authority that issued it. The data type covers both directories ("which lab is this?") and provenance ("which container manufacturer produced this unit?").
Components
Source: HAPI HL7v2 v2.8.1 javadoc (XON). Length is not published in the v2.8.1 javadocs (—); Required and Table # are filled from the HL7 v2 standard where well-established.
| Comp | Name | Sub-type | Length | Req | Description |
|---|---|---|---|---|---|
| XON.1 | Organization Name | st | — | R | Display name of the organization. |
| XON.2 | Organization Name Type Code | cwe | — | O | Code from HL70204 indicating the kind of name (legal, display, alias). Was IS through v2.6; widened to CWE in v2.7+. |
| XON.3 | ID Number | st | — | B | Withdrawn in v2.7 (was NM). Retained for backwards compatibility; populate XON.10 instead. |
| XON.4 | Identifier Check Digit | st | — | B | Withdrawn in v2.7 (was NM). Check digit for the legacy XON.3. |
| XON.5 | Check Digit Scheme | st | — | O | Algorithm used for XON.4 (HL70061). |
| XON.6 | Assigning Authority | hd | — | O | Authority that issued the identifier (namespace, OID, ISO). |
| XON.7 | Identifier Type Code | id | — | O | HL70203 code categorizing the identifier (XX, NPI, FI, etc.). |
| XON.8 | Assigning Facility | hd | — | O | Facility that assigned the identifier, when different from the authority. |
| XON.9 | Name Representation Code | id | — | O | HL70465 character-set/alphabetic-representation code. |
| XON.10 | Organization Identifier | st | — | O | The current identifier value (replaces withdrawn XON.3). |
Most-used components
- XON.1 Organization Name — the only universally populated component; carries the human-readable name.
- XON.2 Organization Name Type Code — distinguishes a legal name from a display alias; required when more than one name is exchanged for the same organization.
- XON.6 Assigning Authority — namespace + OID for the issuer of XON.10; essential for cross-network exchange.
- XON.7 Identifier Type Code — categorizes XON.10 (NPI vs CLIA vs FDA labeler code) so the receiver can route to the right master file.
- XON.10 Organization Identifier — the replacement for the withdrawn XON.3; the actual identifier value.
Where it's used
- ORC-21 Ordering Facility Name — the flagship XON usage.
- BUI-10 Container Manufacturer — manufacturer of a blood-bank container.
- DON-18 Intended Recipient Facility — directed-donation recipient site.
- IN1-4 Insurance Company Name — payer organization on insurance segments.
- MSH-22 Sending Responsible Organization and MSH-23 Receiving Responsible Organization — added v2.5+ to carry organizational accountability at the message envelope.
- OBR-44/45 procedure-coding-source organization references.
- PRT-21 Participation Organization (clinical participation tracking).
- PD1-3 Patient Primary Facility — the patient's primary care site as an XON.
XON repeats in many of these fields, so a patient with two insurers or an order with multiple ordering-facility aliases produces multiple XON occurrences separated by ~.
Version differences
- v2.3 — XON introduced with 8 components, replacing the earlier CN organization usage.
- v2.5 — clarified MSH-22 and MSH-23 usage; XON.9 Name Representation Code added.
- v2.7 — XON.3 and XON.4 withdrawn (the legacy NM identifier and its check digit). XON.10 Organization Identifier added as the current identifier slot. XON.2 widened from IS to CWE to allow user-defined name-type code systems.
- v2.8 / v2.8.1 — no structural changes; HAPI v2.8.1 javadoc shows the same 10 components.
- v2.8.2 — XON layout stable; minor table-content updates only.
Common mistakes
- Putting a facility code into XON.1 instead of the organization's name. XON.1 is human-readable text; the code belongs in XON.10 with an authority in XON.6.
- Omitting XON.6 Assigning Authority for identifiers exchanged across networks. Without the namespace and OID, the receiver cannot disambiguate two organizations that share an identifier within their respective local registries.
- Conflating XON.10 Organization Identifier with the withdrawn XON.3 ID Number. New senders must populate XON.10; legacy senders sometimes still emit XON.3 only, which downstream v2.7+ profiles ignore.
- Free text in XON.2 Organization Name Type Code instead of a value from HL70204 — receivers cannot dispatch on alias vs legal name.
- Embedding sub-components of XON.6 (HD) with
^instead of&. XON.6 is an HD inside a composite, so its sub-components use the sub-component delimiter&, not the component delimiter.
Examples
Minimal value
Mercy Hospital
Multi-component value
Mercy Hospital^L^^^^MERCY&2.16.840.1.113883.19.5&ISO^XX^^^MRCY01
Fully populated value
Mercy Hospital of Saint Louis^L^^^^MERCY&2.16.840.1.113883.19.5&ISO^NPI^MERCYFAC&2.16.840.1.113883.19.5.1&ISO^A^1396748293
Annotated breakdown
Mercy Hospital of Saint Louis XON.1 Organization Name
^L XON.2 Organization Name Type Code (legal)
^ XON.3 ID Number (WITHDRAWN — leave empty)
^ XON.4 Identifier Check Digit (WITHDRAWN)
^ XON.5 Check Digit Scheme
^MERCY&2.16.840.1.113883.19.5&ISO XON.6 Assigning Authority (HD)
^NPI XON.7 Identifier Type Code (HL70203)
^MERCYFAC&2.16.840.1.113883.19.5.1&ISO XON.8 Assigning Facility (HD)
^A XON.9 Name Representation Code (HL70465)
^1396748293 XON.10 Organization Identifier (NPI value)
In-context excerpt — ORC-21 Ordering Facility Name
ORC|NW|ORD-7741||GRP-3315|||||||99812^Reyes^Marta^L^^^MD|||||||||Mercy Hospital^L^^^^MERCY&2.16.840.1.113883.19.5&ISO^XX^^^MRCY01
In-context excerpt — BUI-10 Container Manufacturer inside a BPS^O29
BUI|1|W123426789012^^^RedCrossBB^DIN|E0336^RBC LR^HL70435|312|g^gram^UCUM|285|mL^milliliter^UCUM|REF-4R5400|LOT-88241A|Acme BioContainers Inc.^L^^^^FDA&2.16.840.1.113883.3.26&ISO^XX^^^1188291|1^6|Cel^degree Celsius^UCUM
Common pitfall snippet
1396748293^^^^^^NPI
The sender stuffed the NPI value into XON.1 and left the name empty. Receivers display "1396748293" as the organization name to clinicians. Correct form populates XON.1 with the name and XON.10 with the NPI value.
FHIR mapping
The v2-to-FHIR IG publishes three ConceptMaps for XON:
- XON → Organization — primary mapping for ordering facilities, manufacturers, payers.
- XON → Location — used where the field semantically points at a physical place (e.g. some facility fields).
- XON → string — degenerate case where only the name component is meaningful.
| XON | FHIR (Organization) |
|---|---|
| XON.1 | Organization.name |
| XON.2 | Organization.alias (when type ≠ legal) |
| XON.6 | Organization.identifier.assigner (resolved from HD) |
| XON.7 | Organization.identifier.type |
| XON.8 | Organization.identifier.assigner.display extension |
| XON.10 | Organization.identifier.value |
For the XON → Location mapping, XON.1 maps to Location.name, and identifier components map to Location.identifier.
Engine considerations
- HD sub-component delimiter: XON.6 and XON.8 are HD types embedded in a composite. Inside XON, HD's three sub-components are delimited by
&(sub-component), not^(component). Engines that re-parse XON.6 as three components silently break the identifier. - Repetition: XON repeats in MSH-22, IN1-4, PD1-3, and others. Engines that flatten a repeating XON to a single string lose alternate names and alternate-authority IDs.
- Withdrawn components: XON.3 and XON.4 are still present in the wire format for backwards compatibility. v2.7+ producers should leave them empty; v2.7+ consumers should prefer XON.10 over XON.3 when both are populated and emit a soft warning if only XON.3 is present.
- HL70203 vs HL70204: XON.2 (HL70204 — Organizational Name Type) and XON.7 (HL70203 — Identifier Type) are commonly swapped by hand-coded senders because both are short two-character codes. A schema check that constrains each table separately catches this.
- Character sets: XON.9 Name Representation Code is significant for multilingual exchanges (Japanese kanji vs phonetic, Chinese simplified vs traditional). HAPI's parser does not normalize the underlying bytes — the engine must respect MSH-18 Character Set.
How Vorro parses and produces XON
On inbound, Vorro resolves XON into an internal Organization object: XON.1 populates the display name, XON.6 is split into namespace/OID/ISO components and matched against a directory of known authorities, and XON.10 becomes the canonical identifier. Where XON.3 is populated and XON.10 is empty (a v2.5-era sender), Vorro promotes XON.3 to the canonical slot and emits an upgrade warning. XON.7 is validated against HL70203 and routes the identifier to the correct master file (NPI registry, CLIA registry, FDA labeler registry, internal enterprise registry).
On outbound, Vorro always pairs XON.1 with XON.6 + XON.10 when an identifier is known and never emits XON.3 for new messages. Repeating XONs (multiple insurers, multiple aliases) are preserved as ordered repetitions rather than collapsed into a single delimited string.
