OPUR25 Unsolicited Population/Location-Based Laboratory Observation Message (2.6)
This is the standard HL7 v2.6 spec, with 9 loops and 27 segment positions, as OpenEDI JSON, an ediFabric C# template and an ediFabric Native model. To change it for a trading partner, customize it in the EDI Spec Builder.
Use the OPUR25 spec in your code
ediFabric .NET
Add the C# template and its common files to your project, or reference the template NuGet package, and read OPUR25 files into TSOPUR25 objects. See ediFabric .NET.
ediFabric Native
Native supports X12 today, and HL7 is coming. When it's available, map version 2.6 to this Native model with set_map to parse OPUR25 files to JSON from Python, Java, C or C#. See ediFabric Native.
OpenEDI
Select Customize in Spec Builder to copy the spec under your own name, change it for your partner, and parse files against it in EdiNation, ediFabric Native or ediFabric Cloud. Read about OpenEDI.
Generate OPUR25 classes in Python, Java, Node.js, Go, Rust or C
The OpenEDI file describes each OPUR25 as JSON. To work with OPUR25 data as typed objects, generate classes from the OpenEDI file in your language; the root class is TSOPUR25. The classes keep the loops, segments, lengths and code lists, but not the EDI data formats. Read more in Generate a class from OpenEDI.
Python: datamodel-code-generator. Node.js: openapi-typescript. Java, Go, Rust and C: OpenAPI Generator.
OPUR25 structure
Loops and segments of the standard OPUR25, with their usage and maximum repeats.
| ID | Name | Usage | Max use |
|---|---|---|---|
| MSH | Message Header | Mandatory | 1 |
| SFT | Software Segment | Optional | >1 |
| UAC | User Authentication Credential Segment | Optional | 1 |
| NTE | Notes And Comments | Optional | 1 |
| PV1 | Patient Visit | Mandatory | 1 |
| PV2 | Patient Visit Additional Information | Optional | 1 |
| OBX | Observation Result | Optional | >1 |
| NTE | NTE2 | Optional | >1 |
| ROL | Role | Mandatory | >1 |
| Loop NK1 | Next Of Kin Associated Parties | Mandatory | >1 |
| NK1 | Next Of Kin Associated Parties | Mandatory | >1 |
| Loop PID | Patient Identification | Optional | 1 |
| PID | Patient Identification | Mandatory | 1 |
| PD1 | Patient Additional Demographic | Optional | 1 |
| Loop OBX | Observation Result | Optional | >1 |
| OBX | Observation Result | Mandatory | 1 |
| NTE | Notes And Comments | Optional | >1 |
| Loop SPM | Specimen | Mandatory | >1 |
| SPM | Specimen | Mandatory | 1 |
| Loop OBX | Observation Result | Optional | >1 |
| OBX | Observation Result | Mandatory | 1 |
| NTE | Notes And Comments | Optional | >1 |
| Loop SAC | Specimen Container Detail | Optional | >1 |
| SAC | Specimen Container Detail | Mandatory | 1 |
| INV | Inventory Detail | Optional | 1 |
| Loop OBR | Observation Request | Mandatory | >1 |
| OBR | Observation Request | Mandatory | 1 |
| ORC | Common Order | Optional | 1 |
| NTE | Notes And Comments | Optional | >1 |
| ROL | Role | Optional | >1 |
| Loop TQ1 | Timing Quantity | Optional | >1 |
| TQ1 | Timing Quantity | Mandatory | 1 |
| TQ2 | Timing Quantity Relationship | Optional | >1 |
| Loop OBX | Observation Result | Mandatory | >1 |
| OBX | Observation Result | Mandatory | 1 |
| NTE | Notes And Comments | Optional | >1 |