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

HL7 NDL Data Type: Name with Date and Location

The NDL (Name with Date and Location) data type was introduced in HL7 v2.3 to carry the who, when, and where of a clinical event in a single field. Each NDL value names a person (CNN — Composite ID Number and Name Simplified, since v2.5), the start and end time of their involvement, and the physical location (point of care, room, bed, facility, building, floor) where the involvement happened. NDL is the type of OBR-32 Principal Result Interpreter, OBR-33 Assistant Result Interpreter, OBR-34 Technician, and OBR-35 Transcriptionist — the four result-attribution fields on every laboratory and diagnostic report.

Purpose

NDL exists because result attribution is not just about identity — receivers also want to know when the interpretation happened and at which workstation, room, or bench. A pathologist who signs a report at 09:15 from microscope bench 3W-301 is a different audit signal than the same pathologist signing it at 22:30 from home. NDL carries the person reference (NDL.1, a CNN) together with NDL.2 / NDL.3 effective period and NDL.4–NDL.11 location, all in one field. It replaces what would otherwise be three separate fields (XCN for the person, DR for the date range, PL for the location) when those three are always co-reported.

Components

Source: HAPI HL7v2 v2.8.1 javadoc (NDL). Length is not published in v2.8.1 javadocs ().

CompNameSub-typeLengthReqDescription
NDL.1NamecnnOThe person — practitioner, technician, transcriptionist. Sub-typed as CNN, so it carries an 11-component ID + name + flattened assigning authority.
NDL.2Start Date/TimedtmOWhen the person's involvement began. Was TS in v2.4; retyped to DTM in v2.5+.
NDL.3End Date/TimedtmOWhen the person's involvement ended. Was TS in v2.4; retyped to DTM in v2.5+.
NDL.4Point of CareisOHL70302 point-of-care code (nursing unit, clinic, reading room).
NDL.5RoomisOHL70303 room code.
NDL.6BedisOHL70304 bed code.
NDL.7FacilityhdOFacility (namespace + universal ID + ID type).
NDL.8Location StatusisOHL70306 status of the location (active, contaminated, housekeeping).
NDL.9Patient Location TypeisOHL70305 type of location (clinic, ward, OR, ED).
NDL.10BuildingisOHL70307 building code.
NDL.11FloorisOHL70308 floor code.

Most-used components

  • NDL.1 Name — the person's CNN; nearly always populated because attribution requires identity.
  • NDL.2 Start Date/Time — the signing/interpretation timestamp; populated on every result.
  • NDL.3 End Date/Time — the end of involvement; often equal to NDL.2 for instantaneous events like a signature.
  • NDL.4 Point of Care + NDL.5 Room — the workstation pair; common in radiology reading-room workflows.
  • NDL.7 Facility — the facility, populated when a multi-facility network needs to disambiguate.

Where it's used

  • OBR-32 Principal Result Interpreter — the pathologist or radiologist who signed the result. Retyped from XCN to NDL in v2.5+.
  • OBR-33 Assistant Result Interpreter — co-signer or resident.
  • OBR-34 Technician — the tech who acquired or processed the specimen/image.
  • OBR-35 Transcriptionist — the transcriptionist who typed the dictated narrative.

All four repeat (~) so multiple interpreters or technicians can be attributed.

Version differences

  • v2.3 — NDL introduced with NDL.1 typed as CN (the predecessor of CNN). NDL.2 and NDL.3 typed as TS.
  • v2.4 — NDL.1 retyped to CNN (introduced in v2.4).
  • v2.5 — NDL.2 and NDL.3 retyped from TS to DTM as part of the v2.5 deprecation of TS. OBR-32 through OBR-35 retyped from XCN to NDL in the OBR segment definition.
  • v2.6 / v2.7 — No structural changes to NDL itself; CNN sub-components evolve independently.
  • v2.8 / v2.8.1 — No structural changes; HAPI v2.8.1 javadoc shows the same 11 components.

Common mistakes

  • Treating NDL.1 as XCN. NDL.1 is CNN, which has a flattened assigning authority — & does not nest inside CNN. Engines that emit an XCN structure into NDL.1 corrupt the sub-component delimiter.
  • Sending NDL.2/NDL.3 as TS on v2.5+ destinations. The datatype is DTM; a TS-style precision suffix is invalid.
  • Confusing NDL.4 Point of Care with NDL.9 Patient Location Type. NDL.4 is the specific point of care (3W, MICU-A); NDL.9 is the category (ward, OR, ED).
  • Repeating the same person across OBR-32 and OBR-33 to "be safe." OBR-33 is the assistant; populating it with the principal interpreter double-counts the signature.
  • Omitting NDL.7 Facility on multi-site networks. Without the facility, an HL70302 point-of-care code like 3W may collide with another site's 3W.

Examples

Minimal value (just the person)

99812^SMITH^JANE

Person + time window

99812^SMITH^JANE^L^MD^DR^MD^L^MERCY^2.16.840.1.113883.19.5^ISO^20260610091500-0500^20260610105000-0500

Fully populated value

99812^SMITH^JANE^L^MD^DR^MD^L^MERCY^2.16.840.1.113883.19.5^ISO^20260610091500-0500^20260610105000-0500^3W^301^A^MERCY

Verify positions:

99812                             NDL.1.1   CNN.1 ID Number
^SMITH                            NDL.1.2   CNN.2 Family Name
^JANE                             NDL.1.3   CNN.3 Given Name
^L                                NDL.1.4   CNN.4 Second Given
^MD                               NDL.1.5   CNN.5 Suffix
^DR                               NDL.1.6   CNN.6 Prefix
^MD                               NDL.1.7   CNN.7 Degree
^L                                NDL.1.8   CNN.8 Source Table
^MERCY                            NDL.1.9   CNN.9 Assigning Authority Namespace ID
^2.16.840.1.113883.19.5           NDL.1.10  CNN.10 Universal ID
^ISO                              NDL.1.11  CNN.11 Universal ID Type
^20260610091500-0500              NDL.2     Start Date/Time (DTM)
^20260610105000-0500              NDL.3     End Date/Time (DTM)
^3W                               NDL.4     Point of Care
^301                              NDL.5     Room
^A                                NDL.6     Bed
^MERCY                            NDL.7     Facility (HD)

Note: NDL.1 holds the entire 11-component CNN. CNN's components live inside NDL.1 — at the field level they are still separated by ^ because NDL.1 is the first NDL component. The trailing NDL.2 onward continue at the same ^ level.

In-context excerpt — OBR-32 Principal Result Interpreter

OBR|1|ORD-7742|ACC-9921|11218-5^Microbiology studies^LN||20260610090000|||||||||||||||||||||||||||||99812^SMITH^JANE^L^MD^DR^MD^L^MERCY^2.16.840.1.113883.19.5^ISO^20260610091500-0500^20260610105000-0500^3W^301^A^MERCY

Multiple interpreters in OBR-32

99812^SMITH^JANE^L^MD^DR^MD^L^MERCY^2.16.840.1.113883.19.5^ISO^20260610091500-0500^20260610105000-0500^3W^301^A^MERCY~99834^OKONKWO^ADAEZE^N^MD^DR^MD^L^MERCY^2.16.840.1.113883.19.5^ISO^20260610103000-0500^20260610105000-0500^3W^301^A^MERCY

Two NDLs separated by ~, one per co-signer.

Common pitfall snippet

99812&SMITH&JANE^20260610091500-0500

The sender used & to separate the CNN parts inside NDL.1 — mistaking CNN for an HD-like sub-composite. The correct delimiter inside CNN is ^, which is also the NDL component delimiter; CNN expands the NDL field rather than nesting inside a single component.

FHIR mapping

The v2-to-FHIR IG publishes NDL → PractitionerRole. The Name component maps to the referenced Practitioner; date/time and location map to the period and location of the PractitionerRole.

NDLFHIR (PractitionerRole)
NDL.1practitioner (reference to a Practitioner built from the CNN)
NDL.2period.start
NDL.3period.end
NDL.4location.identifier (point of care)
NDL.5 / NDL.6location.identifier (room, bed — sub-locations)
NDL.7organization (facility)
NDL.8location.status (mapped via the location resource)
NDL.9location.type
NDL.10 / NDL.11location.physicalType extensions for building and floor

Engine considerations

  • CNN expands into NDL.1's position: Because CNN has no sub-component delimiter, its 11 components sit at the NDL component level — they consume NDL.1.1 through NDL.1.11 positionally, then NDL.2 begins. Engines that compile NDL as 11 first-level slots must remember that NDL.1 itself contains an 11-deep CNN.
  • DTM vs TS in NDL.2 / NDL.3: A v2.5+ pipeline that receives a TS-formatted timestamp into NDL.2 must coerce it to DTM, dropping or normalizing the precision suffix.
  • Date/time + location pair semantics: The location fields are interpreted relative to NDL.2 / NDL.3 — they describe where the person was during that time window, not where they are now. An engine that captures only the location and discards the period loses the audit signal.
  • NDL.7 Facility is HD: Unlike CNN's flattened authority, NDL.7 is a true HD with &-separated sub-components. The two coexist inside one NDL field, so the engine has to switch encoding rules between NDL.1 (no &) and NDL.7 (uses &).
  • Repetition: All four OBR fields that carry NDL repeat. An engine that flattens repeating NDLs into a single value loses assistant interpreters.

How Vorro parses and produces NDL

On inbound, Vorro decomposes NDL into a PractitionerRole reference: the embedded CNN becomes a Practitioner (using the CNN-to-Practitioner pipeline), NDL.2 and NDL.3 become a Period, and NDL.4 through NDL.11 collapse into a Location with physicalType for building/floor. The facility (NDL.7) becomes the organization reference on the PractitionerRole.

On outbound, Vorro reassembles NDL by serializing the CNN into NDL.1's 11 positional slots, emitting NDL.2 / NDL.3 in DTM form with the source timezone, and resolving the FHIR Location back into NDL.4 / NDL.5 / NDL.6 / NDL.10 / NDL.11. We always emit NDL.2 when we have any timestamp signal — even if NDL.3 is empty — so downstream auditing has at least the start time.

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 NDL Data Type: Name with Date and Location | Vorro Academy | Vorro