ORU R01: Send test results and measurements to PKB
This message can be used to send unsolicited laboratory results and measurements to PKB.
Laboratory results will appear in the "Tests" tab in the PKB web interface. A single laboratory report (a.k.a. order) can contain multiple profiles (a.k.a. panels), each of which is reported in its own OBR group.
The ORU R01 can also be used to send measurements into PKB, such that they appear in the "Measurements" tab in the PKB web interface.
Please speak to us if you would like to do this, as you'll need to send pre-agreed SNOMED code values in OBX-3.1.
Any OBX-3.3 that specifies SNOMED CT (see table for exact values we match on) will be treated as a measurement, not a lab result, providing that the ID in OBX-3.1 matches one of the predefined measurement IDs we can accept.
A "content pattern" indicates how PKB will interpret the contents of your message. This provides additional guidance over and above the syntactic requirements of individual segments.
PKB supports two different content patterns for OBR groups. When a (non-radiology) report is received, we will inspect each OBR group to determine which content pattern has been provided.
Single textual laboratory report
PKB uses the following criteria to determine if the OBR group contains a single textual laboratory report:
There are 1 or more OBX segments, which together contain at least 2 lines of text
Each OBX segment declares a textual data type (TX, FT, ST)
All the OBX segments have matching test IDs (OBX-3.1 and OBX-3.3, case sensitive)
The test code information for a textual laboratory report is taken from the OBR segment (OBR-4).
The OBX segments are treated as lines within the report, and do not maintain their own identity. The contents of the OBR group will be kept together, and displayed as originally provided.
NTE segments will be treated as lines of the report, just like OBX segments; their contents will appear in the same location as provided.
Note: when sending a single textual laboratory report, some metadata fields will only be taken from the first OBX segment. Importantly, if you wish to apply a patient delay this must be provided in the first OBX segment.
Collection of individual test results and measurements
If an OBR group does not contain a single textual laboratory report, then it is assumed to contain a collection of individual test results and measurements, each of which is provided in its own OBX segment (with the exception of multi-valued measurements, such as blood pressure).
The test code information for an individual result or measurement is taken from the OBX segment (OBX-3). Test results and measurements are considered to be meaningful even outside the context of the report in which they were provided.
The comments for each test result will be the union of the comments (NTE segments) provided for the OBR group and the comments (NTE segments) provided for the test result specifically.
Comments are not saved for measurements.
PKB processes content of this form in an OBX-centric manner. That is, PKB extracts the test results and measurements from the report and does not guarantee to display them alongside the other test results and measurements with which they were originally provided.
Sometimes, the same test result might be reported as part of more than one profile. This is valid, providing that each OBX segment appears no more than once in any given OBR group. However, since PKB does not include the profile as part of the result identity then all except the first instance of the OBX segment will be silently ignored. It is not valid to provide different results for the same test ID in different profiles within a given laboratory order.
It is valid to provide more than one measurement for the same measurement type (as identified by OBX-3) within any given OBR group. All such measurements will be processed.
Each test result is associated with a test type. Test results of the same type are shown on the same graph.
PKB maintains a curated list of supported [[LOINC Test Type]] entries, each of which is identified by the combination of a LOINC code and a unit value. These are the same types that a user can select from when entering a test result in the web interface. As such, a manually entered test result is associated directly with a [[LOINC Test Type]].
When a lab result is provided via HL7 it is always associated with a [[Local Test Type]] (lab results received before July 2021 worked differently and were sometimes linked directly to a [[LOINC Test Type]] where a supported LOINC code was detected).
The term "local" indicates that this information captures a test type which might be unique to the source organisation; customers often have their own codes for various test types, which may or may not be LOINC codes. As such, the types captured by the [[Local Test Type]] entity are scoped to the source organisation.
Test results from two different sources will never share the same [[Local Test Type]] since these are scoped to the source organisation. By default, this means they have different test types and as such will not appear on the same graph. In order to appear on the same graph the [[Local Test Type]] entries must be mapped to the same supported LOINC test type. This is a process known as LOINC mapping.
When LOINC mapping occurs
When adding a lab result to a medical record, PKB will check to see if the [[Local Test Type]] can be matched to a supported [[LOINC Test Type]]. There are two situations in which a matching type might be found:
LOINC code provided in message. An explicit LOINC code match will happen if the following conditions are true:
The code system matches (case-insensitively) the string "LOINC"
The code value and unit value both match (case-sensitively) one of the LOINC test types supported by PKB
Local code provided in message, LOINC-mapping pre-agreed with customer. If the customer and PKB have agreed mappings from local lab result test types to LOINC test types supported by PKB, then a match will be made if the following conditions are true:
The code system, code and units all match (case-sensitively) one of the entries in the mappings for the source organisation
Impact of LOINC mapping
The key impact of this process is that different result types, from different sources, can be mapped to the same LOINC test type. This allows PKB to treat all results of all types which map to a particular LOINC test type as being safe to group together. As such, we are able to graph them together in the web interface, and return them all from an API call which accepts a LOINC code as a search parameter. We are also able to make more intelligent display decisions, such as showing a translated version of the test name. See our deployment guidance for more information on the benefits of LOINC mapping.
An example of a lab result message.
An example of a measurement message.
Supported single measurements
An example of a single measurement message.
Supported multi measurements
When providing a blood pressure reading you must provide an OBX segment containing the SNOMED code of the overall reading type, followed immediately by an OBX segment for each component reading you wish to provide.
Note that it is permitted to provide either a systolic or diastolic reading by itself, but the first OBX containing the overall code of the reading must still be supplied.
An example of a multi measurement message.