NEWFree ROI Calculators — quantify what prior auth and siloed data are costing your organization.Prior Auth ROI Siloed Data ROI
HL7 v2Code Table7 min read

HL7 Table HL70301: Universal ID Type

HL70301 declares the namespace scheme that a v2 universal identifier inhabits. It sits in HD.3 Universal ID Type and tells a receiver how to parse and interpret HD.2 Universal ID — as an ISO OID, a DCE UUID, a DNS name, a URI, or one of the other registered scheme types. Because the HD data type is reused across CX.4.3, EI.4, MSH-3.3, MSH-4.3, and many more, HL70301 is the table that ultimately determines whether a downstream FHIR translator emits urn:oid:..., urn:uuid:..., or a plain URI.

Purpose

A universal identifier is only universal if its namespace is known. The string 2.16.840.1.113883.4.6 is an ISO OID, 550e8400-e29b-41d4-a716-446655440000 is a UUID, and example.org is a DNS name — but a receiver that does not know the namespace type cannot tell them apart programmatically. HL70301 supplies that label so the receiver can route the value to the correct parser and convert it to the right FHIR system URI.

Where it's used

  • HD.3 Universal ID Type — every HD composite, which means MSH-3.3, MSH-4.3, MSH-5.3, MSH-6.3, EVN-7.3, PID-3.4.3, ORC-12.9.3, and many more.
  • CX.4.3 Assigning Authority Universal ID Type — type of the namespace used by the assigning authority for a patient or person identifier.
  • EI.4 Universal ID Type — type of the universal ID on Entity Identifier composites (filler/placer order numbers, MSA-2 message control IDs in some profiles).

Code list

CodeDisplayComment/Description
DNSInternet dotted nameIPv4-style dotted-quad or fully-qualified DNS name. Used when the namespace is identified by a DNS-resolvable host.
EUI64IEEE 64-bit Extended Unique Identifier64-bit hardware/device identifier; common in device messaging.
GUIDGlobally Unique IdentifierSynonym for UUID; retained for compatibility with Microsoft tooling. Treat identically to UUID.
HCDCEN Healthcare Coding Scheme DesignatorEuropean CEN healthcare-coding-scheme designator.
HL7Reserved for HL7 registration schemesHL7-registered scheme; the universal ID is interpreted against the HL7 OID registry.
ISOISO Object Identifier (OID)An ISO/ITU OID dotted-decimal string. The most common HL70301 value in healthcare messaging.
LFirst locally defined coding entity identifierSite-local namespace, primary.
L,M,NLocally defined coding entity identifiersThe L/M/N triplet of site-local namespaces (primary, secondary, tertiary). Use exactly the letter — L, M, or N — in HD.3.
RandomRandomly generated identifierE.g., MD5/SHA-style random identifiers. Use when the namespace itself is a random string with no registered authority.
URIUniform Resource IdentifierThe universal ID is a complete URI (URN or URL).
UUIDDCE Universal Unique IdentifierRFC 4122 UUID (8-4-4-4-12 hex form).
x400X.400 MHS format identifierLegacy X.400 email/messaging format. Rare in modern interfaces.
x500X.500 directory nameLegacy X.500 distinguished-name format. Rare in modern interfaces.

Code system OID

  • OID: 2.16.840.1.113883.18.190
  • Canonical URI: http://terminology.hl7.org/CodeSystem/v2-0301

This OID is emitted alongside HD.3 in profiles that demand fully OID-bound coded values; most channels keep HD.3 as a simple ID-typed code.

HL7-defined vs user-defined

HL70301 is HL7-defined and normative. The values above are the complete set. Sites must not invent new scheme identifiers — if a namespace cannot be expressed as one of these schemes, the correct path is to obtain an OID (ISO) or use a URI.

The L, M, and N codes provide three slots for purely site-local namespaces that the site does not wish to publish to a global registry; this is the legitimate path for proprietary internal namespaces.

Version differences

  • v2.3 — Initial set: ISO, UUID, GUID, HL7, L, M, N, x400, x500, DNS, URI.
  • v2.5Random added for the MD5-style ad-hoc identifier case.
  • v2.6EUI64 added for device messaging.
  • v2.7HCD added for CEN scheme designators.
  • v2.8 – v2.8.1 — Set frozen at 13 codes (counting the L/M/N triplet as three separate codes).

Common mistakes

  • Sending OID instead of ISO in HD.3. The literal HL70301 code for an OID is ISO, not OID.
  • Populating HD.2 with an OID and HD.3 with UUID (or vice versa). The combination is undefined; receivers will either reject the message or guess wrong.
  • Using GUID for non-UUID Microsoft-flavored identifiers. GUID in HL70301 specifically means an RFC-4122-compatible UUID rendered in the standard hex form; vendor-specific GUID variants do not qualify.
  • Sending L in HD.3 without coordinating with the receiver on what the local namespace means. L is opaque to anyone outside the site; downstream channels need an out-of-band agreement to interpret HD.2.
  • Forgetting that HD.1 (Namespace ID) is separate from HD.2/HD.3. A populated HD.1 with empty HD.2/HD.3 is a name-only identifier; HL70301 governs HD.2/HD.3 only.

Examples

An ISO OID in MSH-4 (sending facility):

MSH|^~&|EPIC|HOSPITAL^2.16.840.1.113883.19.5.99999.1^ISO|...|...|20260626120000||ADT^A01|MSGCTRL001|P|2.8.1

A UUID-namespaced assigning authority in PID-3:

PID|1||10456^^^EMPI^&550e8400-e29b-41d4-a716-446655440000&UUID^MR||DOE^JANE

A site-local namespace using L:

PID|1||A4567^^^LOCAL_MRN^^L^^^MR||DOE^JANE

A FHIR Identifier translation showing each HL70301 type emitted as the appropriate URI form:

{
  "identifier": [
    {
      "system": "urn:oid:2.16.840.1.113883.19.5.99999.1",
      "value": "10456",
      "_comment": "HL70301 = ISO"
    },
    {
      "system": "urn:uuid:550e8400-e29b-41d4-a716-446655440000",
      "value": "10456",
      "_comment": "HL70301 = UUID or GUID"
    },
    {
      "system": "https://example.org/empi/patient",
      "value": "10456",
      "_comment": "HL70301 = URI"
    }
  ]
}

FHIR mapping

FHIR Identifier.system is always a URI, so HL70301 drives the form that URI takes:

HL7 v2 (HL70301)FHIR Identifier.system form
ISOurn:oid: + the OID from HD.2
UUID, GUIDurn:uuid: + the UUID from HD.2
URIHD.2 verbatim
DNSA URL derived from the DNS name (e.g., https://example.org/) by site convention
HL7The HL7 OID registry URI for the named scheme
L, M, NA site-defined URI per locally-registered namespace
Randomurn: plus a site convention; no canonical mapping
x400, x500Legacy; usually carried as urn: with a custom NID
EUI64urn: + EUI-64 hex
HCDSite- or registry-defined URI for the CEN scheme

FHIR does not publish a direct ConceptMap for HL70301 because the table governs URI form rather than a coded value. The transformation is performed inline by the v2-to-FHIR mapper.

Engine considerations

  • OID format validation — When HD.3 is ISO, HD.2 must be a dotted-decimal OID (digits separated by dots, no leading zeros in arcs). Reject malformed OIDs on ingest.
  • UUID format validation — When HD.3 is UUID or GUID, HD.2 must be a 36-character hex-with-hyphens UUID. Normalize to lowercase before emitting urn:uuid:.
  • URI passthrough — When HD.3 is URI, do not modify HD.2; emit it verbatim as Identifier.system.
  • L/M/N resolution — Maintain a per-channel mapping from L/M/N to the site's canonical FHIR system URI so local namespaces translate consistently across messages.
  • Round-trip preservation — Store the original HL70301 code alongside the FHIR Identifier so the outbound v2 channel can restore HD.3 faithfully.

How Vorro handles HL70301

Vorro recognizes all HL70301 codes and applies the correct FHIR Identifier.system shape during v2-to-FHIR translation: ISO becomes urn:oid:, UUID/GUID become urn:uuid:, URI passes through unchanged, and L/M/N resolve against the channel-specific local-namespace registry. Malformed HD.2/HD.3 combinations are routed to the terminology curation queue so an operator can decide whether to coerce or reject.

On v2 outbound, Vorro reconstructs HD.2 and HD.3 from the FHIR Identifier.system URI: urn:oid: URIs emit ISO, urn:uuid: URIs emit UUID, and any other URI emits URI. The original HL70301 code is preferred when an inbound v2 message recorded it on the same identifier, ensuring loss-free round-tripping.

Sources

← Back to HL7 v2 Guide

Ready to Integrate This Into Your Workflow?

Talk to a Vorro expert about implementing HL7 v2 in your specific environment.

Browse HL7 v2 Guides
HL7 Table HL70301: Universal ID Type | Vorro Academy | Vorro