HL70203 is the flagship identifier-semantics table in HL7 v2. It declares what kind of identifier a CX composite is carrying — a medical record number, a Social Security number, a driver's license, an NPI, an account number, a visit number, and many more — by populating CX.5 Identifier Type Code with one of the table's short alphabetic codes. The table is HL7-defined but allows local extension (it is sometimes described as "user-defined with HL7 suggested values"), making it the most operationally extended code table in the v2 catalogue.
Purpose
Identifiers in v2 are positional and ambiguous unless tagged. The string 123-45-6789 is meaningless without a label saying it is a Social Security number. HL70203 supplies that label. A receiver reading 123-45-6789^^^USA^SS immediately knows the value is an SSN and can route it to the SSN-handling logic without inferring the type from CX.4 (assigning authority) or out-of-band agreements.
The table is also the linchpin of v2-to-FHIR identifier mapping: FHIR Identifier.type.coding is bound directly to the HL70203 ValueSet, so a faithful FHIR translation of any CX composite hinges on getting CX.5 right.
Where it's used
- CX.5 Identifier Type Code — every CX composite in the spec, which means PID-2, PID-3, PID-4, NK1-33, GT1-2, IN1-49, ORC-12, and many more.
- PID-3 Patient Identifier List, with one CX per identifier — MR for the MRN, SS for the SSN, DL for the driver's license, etc.
- PV1-19 Visit Number (with type code
VN). - Most extended-composite identifier fields across ADT, ORM, ORU, BAR, and SIU messages.
Code list
The list below is the v2.8.1 set, filtered to the codes most commonly seen on production interfaces. The full HL70203 includes additional administrative and financial codes; consult the HL7 Terminology CodeSystem for the exhaustive list.
| Code | Display | Comment/Description |
|---|---|---|
| AC | Activation Card | Card used to activate a service or account. |
| AM | American Express | Payment card identifier — American Express. |
| AN | Account number | Generic financial account number. |
| ANC | Account number Creditor | Creditor-side account number for financial postings. |
| APN | Anonymous Identifier | Identifier used when the subject must remain anonymous. |
| APRN | Advanced Practice Registered Nurse Number | Licensing number for APRNs. |
| BA | Bank Account Number | Banking account number, used in remittance flows. |
| BC | Bank Card Number | Generic bank card identifier. |
| BR | Birth registry number | Birth registry record identifier. |
| BRN | Breed Registry Number | Veterinary breed-registry identifier. |
| CC | Cost Center number | Internal accounting cost-center identifier. |
| CY | County number | County-level identifier. |
| DI | Diner's Club Card | Payment card identifier — Diner's Club. |
| DL | Driver's license number | Government-issued driver license. |
| DN | Doctor number | Site-specific physician identifier (distinct from NPI). |
| DR | Donor Registration Number | Organ/tissue donor registry identifier. |
| DS | Discover Card | Payment card identifier — Discover. |
| DSG | Diagnostic Study Generator Identifier | Identifier for the system that generated a diagnostic study. |
| EI | Employee number | Internal employer-assigned employee identifier. |
| EN | Employer number | Identifier of the employer itself. |
| ESN | Staff Enterprise Number | Enterprise-wide staff identifier (distinct from EI). |
| FI | Facility ID | Identifier of a healthcare facility. |
| GI | Guarantor Internal Identifier | Site-internal guarantor identifier (financial guarantor of an account). |
| GN | Guarantor External Identifier | External (e.g., insurer-assigned) guarantor identifier. |
| HC | Health Card Number | National or regional health-coverage card number. |
| LI | Labor and industries number | US workers'-comp / L&I identifier. |
| LN | License number | Generic professional license. |
| LR | Local Registry ID | Site-local registry identifier. |
| MA | Medicaid Number | US Medicaid beneficiary identifier. |
| MB | Member Number | Insurance plan member number. |
| MC | Medicare Number | US Medicare beneficiary identifier (MBI in modern usage). |
| MCD | Practitioner Medicaid Number | Medicaid identifier for a practitioner (not a patient). |
| MCR | Practitioner Medicare Number | Medicare identifier for a practitioner. |
| MD | Medical License Number | State-issued medical license. |
| MI | Military ID number | US DoD / military identifier. |
| MR | Medical record number | The canonical MRN. The single most common CX.5 value in clinical messaging. |
| MRT | Temporary Medical Record Number | Pre-merge or trauma-registration temporary MRN. |
| MS | MasterCard | Payment card identifier — MasterCard. |
| NE | National employer identifier | Country-level employer identifier (e.g., US EIN). |
| NH | National Health Plan Identifier | National identifier for a health plan/payer. |
| NI | National unique individual identifier | Country-level unique person identifier (e.g., NHS number, BSN). |
| NII | National Insurance Organization Identifier | National identifier for an insurance carrier. |
| NIIP | National Insurance Payor Identifier (Payor) | National payor identifier. |
| NN | National Person Identifier | Generic country-level person identifier (use NNxxx for ISO-coded country specifics). |
| NNxxx | National Person Identifier where xxx is ISO 3166 3-character country code | E.g., NNUSA, NNGBR, NNNLD. |
| NP | Non-Provider Identifier | Identifier for an entity that is not a provider. |
| NPI | National provider identifier | US CMS-assigned NPI. |
| OD | Optometrist license number | Optometrist state license. |
| PE | Penitentiary/correctional institution Number | Inmate identifier in correctional contexts. |
| PEN | Pension Number | Pension-scheme identifier. |
| PI | Patient internal identifier | Site-internal patient identifier (distinct from MR). |
| PN | Person number | Generic person identifier. |
| PNT | Temporary Living Subject Number | Temporary identifier for a living subject. |
| PPN | Passport number | Government-issued passport. |
| PRC | Practitioner Registration Card | Practitioner registration card identifier. |
| PRN | Provider number | Generic provider identifier (site-local, not NPI). |
| PT | Patient external identifier | Externally assigned patient identifier. |
| QA | QA number | Quality-assurance identifier (e.g., for tracked QA samples). |
| RI | Resource identifier | Identifier of a scheduling resource. |
| RN | Registered Nurse Number | RN licensing number. |
| RPH | Pharmacist License Number | Pharmacist state license. |
| RR | Railroad Retirement number | US Railroad Retirement Board identifier. |
| RRI | Regional registry ID | Regional registry identifier. |
| RRP | Railroad Retirement Provider | Railroad-retirement-affiliated provider identifier. |
| SB | Social Beneficiary Identifier | Social-insurance beneficiary identifier. |
| SID | Specimen ID | Laboratory specimen identifier. |
| SL | State license | Generic state-issued license. |
| SN | Subscriber Number | Insurance subscriber number. |
| SP | Study Permit Identifier | Immigration study-permit identifier. |
| SR | State registry ID | State-level registry identifier. |
| SS | Social Security number | US Social Security number. |
| TAX | Tax ID number | Tax identification number (US EIN, UTR, etc.). |
| TN | Telephone number | Identifier expressed as a telephone number. |
| TPR | Temporary Permanent Resident Number | Temporary PR identifier. |
| TRL | Training License Number | Training/residency license. |
| U | Unspecified identifier | Type is unknown or not specified. |
| UPIN | Medicare/CMS Universal Physician Identification Number | Pre-NPI CMS identifier; deprecated for new issuance. |
| USID | Unspecified Identifier | Alternate form of "unspecified." |
| VN | Visit number | Encounter/visit identifier (PV1-19, PV1-50). |
| VP | Visitor Permit Identifier | Immigration visitor permit. |
| WC | WIC identifier | Women, Infants, and Children program identifier. |
| WCN | Workers' Comp Number | Workers' compensation claim number. |
| WP | Work Permit | Immigration work permit. |
| XX | Organization identifier | Generic organization identifier (used heavily in XON.10). |
Code system OID
- OID:
2.16.840.1.113883.18.108 - Canonical URI:
http://terminology.hl7.org/CodeSystem/v2-0203
This OID is emitted in CX.9 when a profile demands OID-bound coded type values.
HL7-defined vs user-defined
HL70203 is HL7-defined with extensibility. The HL7 codes above are normative, but the table explicitly allows local extension for identifier types that do not appear in the suggested set. Local extensions must not collide with HL7 codes and should be registered in the site's interface specification.
In practice, the table is one of the most-extended in HL7: payers, government agencies, and large health systems routinely add codes for their own identifier classes.
Version differences
- v2.2 — Initial small set: MR, SS, EI, PI, VN, DL.
- v2.3 — Major expansion: NPI predecessor codes, payment-card codes (AM, MS, VS, DS, DI), guarantor codes.
- v2.5 — NPI added formally after the CMS Final Rule. UPIN reclassified as legacy.
- v2.6 — APRN, RPH, RN added for non-physician licensure. NNxxx pattern added for ISO-coded national identifiers.
- v2.7 — Several anonymized/temporary codes added (APN, MRT, PNT, TPR).
- v2.8 – v2.8.1 — Set largely stable; minor display-string edits.
Common mistakes
- Using
MRandPIinterchangeably.MRis the canonical medical record number issued by a hospital;PIis an internal patient identifier that may be distinct (e.g., an enterprise master-patient-index ID). Collapsing them loses semantic precision and breaks FHIR Patient.identifier slicing. - Sending
SSNinstead ofSS. HL70203 codes are short alphabetic literals; multi-character variants likeSSN,MRN, orDLNare not valid. - Using
NPIin CX.5 without populating CX.4 with the US NPI assigning authority OID (2.16.840.1.113883.4.6). The type code alone is not enough for unambiguous downstream consumption. - Treating
VNas a patient identifier.VNis the visit number and belongs in PV1-19, not PID-3. - Inventing local codes that collide with HL7 codes (e.g., redefining
DLto mean "Department List"). Local extensions must use new codes, not redefine the standard ones.
Examples
A PID-3 list with MRN, SSN, and driver's license:
PID|1||10456^7^M10^HOSPITAL^MR~123-45-6789^^^USA^SS~D1234567^^^MA-DMV^DL||DOE^JANE
NPI on a provider XCN inside ORC-12:
ORC|RE|||||||||||1234567893^SMITH^JOHN^^^^^^&2.16.840.1.113883.4.6&ISO^L^^^NPI
Visit number on PV1-19:
PV1|1|I|2W^201^A^HOSPITAL||||||||||||||||V20260626001^^^HOSPITAL^VN
A FHIR Patient.identifier translation preserving HL70203 in type.coding:
{
"identifier": [{
"type": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v2-0203",
"code": "MR",
"display": "Medical record number"
}]
},
"system": "urn:oid:2.16.840.1.113883.19.5.99999.1",
"value": "10456"
}, {
"type": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v2-0203",
"code": "SS"
}]
},
"system": "http://hl7.org/fhir/sid/us-ssn",
"value": "123-45-6789"
}]
}
FHIR mapping
The v2-to-FHIR IG does not publish a ConceptMap for this table; the mapping below follows the obvious correspondence, preserving the HL70203 codes verbatim and binding them to Identifier.type.coding under the canonical CodeSystem http://terminology.hl7.org/CodeSystem/v2-0203. The mapping is one-to-one for the standard codes; local extensions ride through unchanged but must use a stable system URI.
FHIR additionally provides a smaller, opinionated value set at http://terminology.hl7.org/ValueSet/identifier-type (DL, PPN, BRN, MR, MCN, EN, TAX, NIIP, PRN, MD, DR, SB, ANON, TEMP, WP, RI, etc.) that overlaps HL70203 but is intentionally narrower. Most v2-to-FHIR pipelines bind to the full v2-0203 set rather than the abbreviated FHIR set to avoid losing information.
Engine considerations
- Slicing on FHIR output — Identifier.type.coding.code is the natural slice discriminator for FHIR Patient, Practitioner, and Organization. Engines should preserve CX.5 faithfully to keep the slices stable.
- Round-trip safety — When a local code is encountered, do not silently coerce to
UorUSID; preserve the original code with a custom system URI so the outbound v2 channel can restore it. - Type vs assigning authority — CX.5 is the type code; CX.4 is the assigning authority. Both must be populated to disambiguate identifiers across systems. Engines should warn on missing CX.4 for any code in (MR, PI, NPI, NPN).
- Case sensitivity — HL70203 codes are case-sensitive uppercase. Normalize on ingest.
- Local code registry — Maintain a per-site registry of locally-extended HL70203 codes with documentation, FHIR system URIs, and intended FHIR Identifier.type.coding bindings.
How Vorro handles HL70203
Vorro validates CX.5 against the full HL70203 set plus the site's locally-extended codes on ingest. Unrecognized values are routed to the terminology curation queue rather than silently passed; once curated, the new code joins the site's registry and is honored on all future messages.
On FHIR outbound, Vorro emits Identifier.type.coding with the HL70203 system URI and the original code. For codes with a known FHIR-narrowed equivalent (e.g., MR → FHIR MR), the additional FHIR coding is added as a second entry in Identifier.type.coding so consumers bound to the narrower value set still resolve a match.
Related pages
- CX data type — Extended Composite ID with Check Digit
- PID segment — Patient Identification
- HL70363 code table — Assigning Authority
