Changelog ORM LFDv2 to ORM v3
Introduction
Using an interface with ZorgDomein based on HL7v2 messages, a XIS can receive and process requests for diagnostic research automatically. ZorgDomein currently supports OML and ORM messages for these communication flows. The last major revision of these messages was in 2016. Since that moment ZorgDomein has implemented many improvements and adjustments to its order module. Additionally, several customers and XIS vendors have suggested improvements for the implementation of the ORM and OML messages. Therefore, ZorgDomein has composed a new specification for the ORM message that implements most of these improvements and suggestions. This new specification is based on the existing ORM LFDv2 message specification.
This changelog documents all modifications, additions, and clarifications made to the OML (Order Message List) specification during the transition from version 2 to version 3. The OML message encompasses all HL7 segments needed to transmit diagnostic test orders, including message headers, patient demographics, insurance, ordering details, specimens, and observations. The changes are categorized into three types:
- Unchanged: Elements that retain the same structure and semantics
- Modified: Elements where the content, format, or interpretation has changed
- New: Elements introduced for the first time in V3
- Removed / Relocated: Elements that have been removed or moved to a different segment
MSH Segment: Message Header
The message header is unchanged between LFDv2 and V3. The trigger event and message structure remain the same, although the underlying HL7 version is upgraded from v2.4 to v2.5.1.
| Field | LFDv2 | V3 | Change |
|---|---|---|---|
| MSH-9.1 | Message Type: “ORM” | Message Type: “ORM” | Unchanged |
| MSH-9.2 | Trigger Event: “O01” | Trigger Event: “O01” | Unchanged |
| MSH-9.3 | Message Structure: “ORM_O01” | Message Structure: “ORM_O01” | Unchanged |
| HL7 Version | v2.4 | v2.5.1 | Upgraded |
NTE Segment: Notes & Comments (MSH-level)
The NTE segment at MSH level is entirely new in V3, introducing two patterns for cluster identification and file attachment metadata.
NTE Option 1: ZorgDomein Cluster Name (Change 9)
Messages sent by ZorgDomein are always directed to a “cluster” (an organizational unit). V3 explicitly includes the cluster name to enable downstream systems to process this routing detail.
| Field | LFDv2 | V3 | Change |
|---|---|---|---|
| NTE-1 | (Not present) | Set ID: “1” | New in V3 |
| NTE-2 | (Not present) | Source of Comment: “P” | New in V3 |
| NTE-3 | (Not present) | ZorgDomein cluster name | New in V3 |
| NTE-4.1 | (Not present) | Comment Type: “ZD_CLUSTER_NAME” | New in V3 |
| NTE-4.2 | (Not present) | “ZorgDomein clusternaam” | New in V3 |
| NTE-4.3 | (Not present) | Coding system: “L” | New in V3 |
Placement: Appears once immediately after MSH.
NTE Option 2: Attached Files Summary (Change 15)
For request forms with attachments, V3 includes a summary of those attachments in an NTE segment, making their presence explicit.
| Field | LFDv2 | V3 | Change |
|---|---|---|---|
| NTE-1 | (Not present) | Set ID: “1” | New in V3 |
| NTE-2 | (Not present) | Source of Comment: “P” | New in V3 |
| NTE-3 | (Not present) | Summary of attached files (name, extension, size) | New in V3 |
| NTE-4.1 | (Not present) | Comment Type: “ATTACHMENTS” | New in V3 |
| NTE-4.2 | (Not present) | “Toegevoegde bijlagen” | New in V3 |
| NTE-4.3 | (Not present) | Coding system: “L” | New in V3 |
Placement: Appears once at MSH level when attachments exist.
PID Segment: Patient Identification
Patient Addresses (PID-11) (Change 14)
Some ZorgDomein request forms offer the ability to provide a home visit address (e.g., for home blood collection). V3 supports multiple address types in PID-11.
| Field | LFDv2 | V3 | Change |
|---|---|---|---|
| PID-11.7 | Always “M” (mailing address) | “M” (mailing) or “C” (home/visit address) | Modified |
Impact: V3 may include an additional PID-11 occurrence with PID-11.7 = "C" when a home visit address has been entered by the requester, in addition to the standard mailing address (PID-11.7 = "M").
PV1 Segment: Patient Visit
In-Patient Location Details (Change 11)
V3 reserves PV1-3 fields for future use to support logistic blood sampling details for in-patients. In LFDv2, these details were supplied as OBX segments for each test.
| Field | LFDv2 | V3 | Change |
|---|---|---|---|
| PV1-3.1 | (Not present) | Name of department where patient is located (reserved for future use) | New in V3 |
| PV1-3.2 | (Not present) | Room number of patient location (reserved for future use) | New in V3 |
| PV1-3.6 | (Not present) | Fixed value: “D” (reserved for future use) | New in V3 |
| PV1-3.9 | (Not present) | Full location description (organization, department, room) (reserved for future use) | New in V3 |
Impact: These fields are reserved and will replace the OBX-based approach for in-patient location data in a future release.
ORC Segment: Order Common
ORC undergoes the most significant changes in V3, introducing address and contact details, sub-request identification, location AGB-codes, and priority handling.
Placer Order Number (Change 18)
| Field | LFDv2 | V3 | Change |
|---|---|---|---|
| ORC-2.1 | ZD-number (identical for all ORC-OBR combinations; not persistent across updates) | Unique persistent identifier (10–20 alphanumeric characters) | Modified |
Impact: LFDv2 reused the same ZD-number as the placer order number for all ORC-OBR combinations within a message, making it non-unique. V3 introduces a unique and persistent placer order number per ORC-OBR, which remains stable across update messages.
Sub-Request Identifier (Change 8)
| Field | LFDv2 | V3 | Change |
|---|---|---|---|
| ORC-4.1 | ZD-number of the overarching request | Sub-request identifier (ZD-number + suffix, unique per sub-request) | Modified |
Impact: ZorgDomein may split a request into multiple sub-requests, each with its own HL7 message. The sub-request identifier in ORC-4 corresponds to the bar code on the patient message. In LFDv2, ORC-4 contained only the overarching ZD-number, causing issues when scanning bar codes. The overarching ZD-number remains available in PID-3.
Enterer’s Location (Change 4)
In LFDv2, ORC-13 mixed organization and location details inconsistently. V3 restricts ORC-13 exclusively to the requester’s location.
| Field | LFDv2 | V3 | Change |
|---|---|---|---|
| ORC-13 | Mixed: organization name, AGB-code, and location name | Location details only | Restructured |
| ORC-13.9 | Name of acting referrer’s location | Name of acting referrer’s location | Unchanged |
| ORC-13.10.1 | (Not present) | AGB-code of acting referrer’s location | New in V3 |
| ORC-13.10.2 | (Not present) | “VEKTIS” (if ORC-13.10.1 contains a value) | New in V3 |
Impact: Organization-level details (previously duplicated in ORC-13) are now exclusively in ORC-17. ORC-13 is reserved for location-specific details only.
Priority (Change 17)
| Field | LFDv2 | V3 | Change |
|---|---|---|---|
| ORC-7.6 | (Not present) | Priority code per HL7 table 0485 | New in V3 |
Important: In LFDv2, priority code "S" was used when the acting referrer wished results to be called in or faxed. In V3, priority code "C" is used for this scenario, aligning with HL7 table 0485.
New in V3: Ordering Facility Address (Change 3)
V3 introduces complete address details of the requester’s location in ORC-22.
| Field | Description |
|---|---|
| ORC-22.1.1 | Combination of 22.1.2, 22.1.3, 22.2 |
| ORC-22.1.2 | Street name of the placer’s location |
| ORC-22.1.3 | Dwelling number of the placer’s location |
| ORC-22.2 | Other designation of the placer’s location |
| ORC-22.3 | City name of the placer’s location |
| ORC-22.5 | Postal code of the placer’s location |
| ORC-22.6 | Country code of the placer’s location |
New in V3: Ordering Facility Contact (Change 3)
| Contact Type | Field | Value |
|---|---|---|
| Phone | ORC-23.1 | Phone number of the placer’s location |
| ORC-23.2 | “WPN” | |
| ORC-23.3 | “PH” | |
| Fax | ORC-23.1 | Fax number of the placer’s location |
| ORC-23.2 | “WPN” | |
| ORC-23.3 | “FX” |
Impact: V3 enables direct identification and communication with the ordering facility, supporting automated routing and contact workflows.
OBR Segment: Observation Request
Placer Order Number (Change 18)
| Field | LFDv2 | V3 | Change |
|---|---|---|---|
| OBR-2.1 | ZD-number (non-unique, not persistent) | Unique persistent identifier (10–20 alphanumeric characters) | Modified |
Universal Service Identifier — Test Groups & Healthcare Products (Changes 1, 2, 10)
V3 introduces a unified approach for test groups and healthcare products:
Change 2 — Always include all tests: LFDv2 omitted individual ORC-OBR combinations for tests within a fully-required test group. V3 always includes an individual ORC-OBR combination for every requested test, even when part of a test group with only required tests. This resolves issues with multi-material (MMB) orders where different specimens relate to individual tests.
Change 10 — Deduplication via healthcare product ORC-OBR: V3 introduces an additional ORC-OBR combination representing the request as a whole (i.e. the ZorgDomein healthcare product). General questions applying to the entire request are listed as OBX segments under this healthcare product ORC-OBR — and are no longer repeated under each individual test’s ORC-OBR. This ORC-OBR is always the first order in the message.
| Field | LFDv2 | V3 | Change |
|---|---|---|---|
| OBR-4.1 | Code of diagnostic test | Code of test, test group, or healthcare product | Unified |
| OBR-4.2 | Name of diagnostic test | Name of test, test group, or healthcare product | Unified |
| OBR-4.3 | 99zda (ZD code), 99zdl (user code), or global | L (local code) or global code per table 0396 | Standardized to HL7 |
Collector Information (Change 16)
ORM LFDv2 did not include collection details. V3 adds full collector information to ORM messages:
| Field | LFDv2 | V3 | Change |
|---|---|---|---|
| OBR-10.1 | (Not present in ORM LFDv2) | Collector’s ZorgDomein healthcare provider ID or AGB-code | New in V3 |
| OBR-10.2.1 | (Not present) | Collector’s full surname | New in V3 |
| OBR-10.3 | (Not present) | Collector’s initials | New in V3 |
| OBR-10.9.1 | (Not present) | Coding system: L or VEKTIS | New in V3 |
| OBR-10.16.2 | (Not present) | Name of the collect location | New in V3 |
| OBR-39.2 | (Not present) | Collector’s comment | New in V3 |
New in V3: Specimen Source Details — OBR-15 (Change 7)
V3 introduces specimen source details directly in the OBR segment for ORM messages:
| Field | Description | Coding System |
|---|---|---|
| OBR-15.1.1 | Code of specimen source material | — |
| OBR-15.1.2 | Name of specimen source material | — |
| OBR-15.1.3 | L (local), HL70487 (HL7 standard), or global code | — |
| OBR-15.3 | Name of specimen collection method | — |
| OBR-15.4.1 | Code of specimen source site | — |
| OBR-15.4.2 | Name of specimen source site | — |
| OBR-15.4.3 | L (local) or global code | — |
| OBR-15.5.1 | Code of specimen source site modifier (laterality) | — |
| OBR-15.5.2 | Name of specimen source site modifier | — |
| OBR-15.5.3 | L (local) or global code | — |
Result Copies To (Change 5)
V3 expands the recipient record to support future identification by initials, organization, and specialism.
| Field | LFDv2 | V3 | Change |
|---|---|---|---|
| OBR-28.1 | AGB-code of copy recipient | AGB-code of copy recipient | Unchanged |
| OBR-28.2.1 | Full surname of copy recipient | Full surname of copy recipient | Unchanged |
| OBR-28.3 | (Not present) | Initials of copy recipient (reserved for future use) | New in V3 |
| OBR-28.9.1 | Coding system: “VEKTIS” | Coding system: “VEKTIS” | Unchanged |
| OBR-28.16.2 | (Not present) | Organization name of copy recipient (reserved for future use) | New in V3 |
| OBR-28.21 | (Not present) | Specialism of copy recipient (reserved for future use) | New in V3 |
Note: OBR-28.16 (“Name Context”) is used for the organization name. Strict HL7 interpretations may consider this non-standard, as the XCN data type does not formally define an organization component, but no better alternative is available.
NTE Segment: Notes & Comments (OBR-level)
Research Method (Change 7)
The research method name (relevant primarily for medical microbiology requests) cannot be expressed as an OBX observation. V3 uses an NTE segment at OBR level instead:
| Field | LFDv2 | V3 | Change |
|---|---|---|---|
| NTE-1 | (Not present) | Set ID: “1” | New in V3 |
| NTE-2 | (Not present) | Source of Comment: “P” | New in V3 |
| NTE-3 | (Not present) | Name of research method | New in V3 |
| NTE-4.1 | (Not present) | Comment Type: “RESEARCH_METHOD” | New in V3 |
| NTE-4.2 | (Not present) | “Onderzoeksmethode” | New in V3 |
| NTE-4.3 | (Not present) | Coding system: “L” | New in V3 |
OBX Segment: Observation/Result
Coding System Standardization (Change 12)
| Field | LFDv2 | V3 | Change |
|---|---|---|---|
| OBX-3.3 | 99zda (ZD code), 99zdl (user code), or global | L (local) or global per table 0396 | Standardized to HL7 |
| OBX-5.3 | 99zda (ZD code), 99zdl (user code), or global | L (local) or global per table 0396 | Standardized to HL7 |
Multiple Choice Questions (Change 13)
| Aspect | LFDv2 | V3 | Change |
|---|---|---|---|
| Multiple answers | Repeat OBX-5 field within one OBX | Repeat full OBX segment for each answer | Modified |
| OBX-4 | Sequence of answer repeats within OBX-5 | Incremental index per OBX (starting at “1”) | Modified |
Impact: LFDv2’s approach of repeating OBX-5 had limited support among XIS vendors. V3 uses separate OBX segments for each selected answer, improving compatibility.
New in V3: Requested Tests within Test Groups (Change 1)
For each problem-based test group, V3 includes OBX segments listing the individual tests selected within that group:
| Field | Description | Value |
|---|---|---|
| OBX-1 | Set ID (sequence within ORC/OBR/OBX) | 1, 2, … |
| OBX-2 | Value Type | “CE” |
| OBX-3.1 | Observation Identifier | “REQUESTED_TESTS” |
| OBX-3.2 | Observation Identifier Text | “Aangevraagde onderzoeken” |
| OBX-3.3 | Coding system | “L” |
| OBX-4 | Sequence number of included test | Identical to OBX-1 |
| OBX-5.1 | Code of included diagnostic test | — |
| OBX-5.2 | Name of included diagnostic test | — |
| OBX-5.3 | Coding system | L (local) or global per table 0396 |
| OBX-11 | Observation Result Status | “O” |
Impact: In LFDv2, test group details were only included when all tests were required. V3 always includes test group details and the associated individual tests, regardless of their required/optional status.
New in V3: Collected Specimen Count (Change 7)
ORM does not have a SPM-13 field like OML. V3 represents specimen count as an OBX segment under the OBR:
| Field | Description | Value |
|---|---|---|
| OBX-1 | Set ID (sequential) | 1, 2, … |
| OBX-2 | Value Type | “NM” (numeric) |
| OBX-3.1 | Observation Identifier | “SPM_COUNT_[ContainerTypeCode]” |
| OBX-3.2 | Observation Identifier Text | “Aantal weefselstukjes” |
| OBX-3.3 | Coding system | “L” |
| OBX-5 | Collected specimen count | Numeric value |
New in V3: Container Barcode (Change 16)
OML uses SPM-2.1.1 for the container barcode. In ORM, this is represented as an OBX segment:
| Field | Description | Value |
|---|---|---|
| OBX-1 | Set ID (sequential) | 1, 2, … |
| OBX-2 | Value Type | “ST” (string) |
| OBX-3.1 | Observation Identifier | “BARCODE_[ContainerTypeCode]” |
| OBX-3.2 | Observation Identifier Text | Label of question for barcode (subject to change) |
| OBX-3.3 | Coding system | “L” |
| OBX-5 | Container barcode value | — |
Key Differences: ORM V3 vs OML V3
Since both ORM and OML receive the same core improvements, the table below highlights where ORM behaves differently from OML V3:
| Aspect | OML V3 | ORM V3 | Notes |
|---|---|---|---|
| Container barcode | SPM-2.1.1 | OBX segment with BARCODE_[ContainerTypeCode] | ORM has no SPM segment for this |
| Collected specimen count | SPM-13 | OBX segment with SPM_COUNT_[ContainerTypeCode] | ORM uses OBX instead of SPM |
| Specimen availability indicator | SPM-20 | (Not present) | OML-only |
| Container type | SPM-27 | (Not present) | OML-only |
| Collection time span | TQ1-7.1 + TQ1-8.1 (start + end) | TQ1-7.1 only (start) | OML V3 adds end date; ORM retains LFDv2 behavior |
| Priority | ORC-7.6 + TQ1-9.1/9.2/9.3 | ORC-7.6 only | OML adds TQ1 priority fields; ORM uses ORC only |
| Collector details | Present in LFDv2 OML | New in ORM V3 | ORM LFDv2 did not include collector details |
| HL7 version upgrade | v2.5.1 (unchanged from LFDv2) | v2.4 → v2.5.1 | ORM undergoes a version upgrade; OML does not |
Migration Checklist
When upgrading from ORM v2 to v3:
| Item | Action | Impact |
|---|---|---|
| HL7 version | Update ORM parsers from v2.4 to v2.5.1 | High |
| Coding systems | Replace 99zda/99zdl with L throughout | High |
| Placer order number | Update ORC-2.1 / OBR-2.1 handling; no longer ZD-number | High |
| ORC-4 | Treat as sub-request ID, not overarching ZD-number | High |
| Priority codes | Replace "S" with "C" for call-in/fax priority; map to HL7 table 0485 | Medium |
| Test group logic | Always expect individual ORC-OBR per test, even within required groups | Medium |
| ORC-22 / ORC-23 | Parse new ordering facility address and contact fields | Medium |
| ORC-13 | Update mapping: now location-only (AGB-code at ORC-13.10.1) | Medium |
| OBR-10 / OBR-39 | Handle new collector details fields | Medium |
| OBR-15 | Parse new specimen details (material, site, laterality, method) | Medium |
| NTE segments | Handle NTE at MSH level (cluster, attachments) and OBR level (research method) | Medium |
| Multiple choice OBX | Expect full OBX repeat per answer, no longer OBX-5 repeat | Medium |
| PID-11.7 | Handle both “M” and “C” address types | Low |
| OBR-28 | Prepare for future recipient fields (initials, org, specialism) | Low |
| PV1-3 | Reserve schema space for future in-patient location fields | Low |
Technical Glossary
- LFDv2: Previous version of the ZorgDomein ORM message specification (“Laatste Formele Definitie v2”)
- ZorgDomein: Dutch healthcare cluster/domain identifier
- AGB-code: Dutch healthcare provider registration number (Algemeen Gegevens Beheer)
- VEKTIS: Dutch healthcare sector coding organization reference
- HL7 Table 0396: Standard HL7 coding system identifiers
- HL7 Table 0485: Standard HL7 priority codes (e.g., A=ASAP, C=Callback, R=Routine, S=Stat, U=Urgent)
- HL7 Table 0487: Standard HL7 specimen source type codes
- HL7 Table 0488: Standard HL7 specimen collection method codes
- Coding System “L”: HL7 v2.x standard marker for local/proprietary codes
- Probleemgestuurd pakket: Problem-based test group in ZorgDomein
- Sub-request: A split of a ZorgDomein request into separate HL7 messages, each with a unique identifier
Questions or comments?
Leave your details below, we will contact you asap.