ORU R01: Send test results and measurements to PKB
...
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 one of our predefined measurement types matches on both:
the ID in OBX-3.1
...
the unit in OBX-6.2 (or else OBX-6.1 if OBX-6.2 was not provided)
Expand | ||
---|---|---|
| ||
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:
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. |
Expand | ||
---|---|---|
| ||
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:
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. |
...
Test result information is used to populate [[Lab Report]] / [[Lab Result]] / [[Local Test Type]] entities
Measurement information is used to populate [[Measurement]] entities
Please click through to theData Model to explore the presentation of these entities in the web interface.
Expand | ||
---|---|---|
| ||
[[Lab Report]] Matched on: [[Lab Report.External ID]] as derived from ORC-3.1 or OBR-3.1 When matched: Associated [[Lab Result]] entries are individually matched. Note: if a [[Lab Result]] that was previously provided with the [[Lab Report]] is omitted from this [[Lab Report]], the [[Lab Result]] will be left unmodified. It will not be deleted. Particular care should be given to panels: if a panel is provided with a status of R then all [[Lab Result]] entries previously stored for the corresponding [[Lab Report]] will be marked as deleted, regardless of whether they were previously included in the panel being redacted or whether they are provided in the current message. If the message contains multiple panels where some but not all have a status of R, then PKB will first delete all results associated with the report ID before following the usual create or update workflow for lab results provided in panels that do not have a status of R. When not matched: New [[Lab Report]] created. [[Lab Result]] Matched on: Results are matched on the test ID (OBX-3, or OBR-4 for textual reports). The test ID is matched only on the first and third components (code and code system), and matching is case sensitive. When matched: If PKB detects a meaningful difference between the provided and existing lab result content, then the existing [[Lab Result]] is replaced in its entirety with the values provided in this message. A partial update is not performed. Note: that the existence of more than one version of a given lab result is what determines whether PKB displays a correction indicator in the web interface. The correction indicator is not driven by the status value declared by the sender (e.g. OBX-11), and sending more than one message for a given lab order is not guaranteed to trigger the correction indicator since PKB dedupes updates that do not meaningfully change the content of the lab result. When not matched: New [[Lab Result]] created. [[Local Test Type]] Matched on: The test type is identified by the Source Organisation (to ensure no namespace clashes) along with test code, test coding system and units (all matched case sensitively).When matched: If an existing code, test coding system and units (all matched case sensitively). When matched: If an existing [[Local Test Type]] is found, it will be updated with the latest Test Name if it differs from what is currently stored. In this way, callers are able to update the display name for their local test types. When not matched: A new [[Local Test Type]] is found, it will be updated with the latest Test Name and Service Name if they differ from what is currently stored. In this way, callers are able to update the display name for their local test typescreated. [[Measurement Report]] Matched on: [[Measurement Report.External ID]] as derived from ORC-3.1 or OBR-3.1 When matched: Unlike lab results, measurements in a report are not individually matched for corrections. However, similar to lab reports, if a panel has status R, then any measurements with a matching report ID will be deleted. When not matched: A new New [[Local Test TypeMeasurement Report]] is created. [[Measurement]] Matched on: There is no unique identifier on a [[Measurement]] submitted via HL7, so they cannot be updated individually. When matched: N/A When not matched: New [[Measurement]] created. |
Definition
...
Segment | Field | Opt | RP/# | Component | Description | Example | Data Model | Data Model |
---|
2
MSH
MSH | Message header. This conforms to PKB's standard definition. | |||||||
PID | Patient identification. This conforms to PKB's standard definition. |
3
PID
Patient identification. This conforms to PKB's standard definition.
4
[ PV1 ]
This is used to include the Hospital Service Code of the observations
5
PV1-10
O
Hospital service. See our notes on code sets for more information on our handling of coded data.
6
PV1-10.1
Hospital service code
[[Lab Report->Lab Result.Specialty]]
7
{
[ ORC ]
Common order
8
[ PV1 ] | This is used to include the Hospital Service Code of the observations | |||||||
PV1-10 | O | Hospital service. See our notes on code sets for more information on our handling of coded data. | PV1-10 contributes to privacy label assignment. | |||||
PV1-10.1 | Hospital service code | [[Lab Report->Lab Result.Specialty]] | [[Measurement Report->Measurement.Specialty]] | |||||
{ | Common order | |||||||
ORC-3 | C | Filler order number. At least one of either ORC-3.1 or OBR-3.1 must be provided. It is an error for these values to differ. | ||||||
ORC-3.1 | Filler order number | MYORDER0001 | [[Lab Report.External ID]] if OBR-3 was not provided | [[Measurement Report.External ID]] if OBR-3 was not provided | ||||
ORC-13 | O | Enterer's Location | ||||||
ORC-13.9 | Description | Laboratory 1 | [[Lab Report.Enterer Location]] | |||||
OBR | Observation request | |||||||
OBR-3 | C | Filler order number. At least one of either ORC-3.1 or OBR-3.1 must be provided. It is an error for these values to differ. |
9
OBR-3.1 | Filler order number | MYORDER0001 | [[Lab Report.External ID]] | [[Measurement Report.External ID]] |
if OBR-3 was not provided
10
ORC-13
O
Enterer's Location
11
ORC-13.9
Description
Laboratory 1
[[Lab Report.Enterer Location]]
12
OBR
Observation request
13
OBR-3
C
Filler order number.
At least one of either ORC-3.1 or OBR-3.1 must be provided. It is an error for these values to differ.
14
OBR-3.1
Filler order number
MYORDER0001
[[Lab Report.External ID]]
15
OBR-4
C
Universal service identifier.
See our notes on code sets for more information on our handling of coded data.
For textual reports, these values override the ones in OBX-3, and as such OBR-4.1 is mandatory.
If a textual report, the test type processing uses OBR-4 instead of OBX-3.
Note that this will mean the service name and the test name might be the same for some textual reports.
16
OBR-4.1
Service ID
LAB100
OBR-4 | C | Universal service identifier. See our notes on code sets for more information on our handling of coded data. For textual reports, these values override the ones in OBX-3, and as such OBR-4.1 is mandatory. | If a textual report content pattern The test type processing uses OBR-4 instead of OBX-3. Components 1-6 of OBR-4 will be saved into [[Lab Report->Lab Result.Code]]. Note that this will mean the service name and the test name might be the same for some textual reports. | |||||
OBR-4.1 | Service ID | LAB100 | The privacy label lookup based on service code is performed regardless of which content pattern was provided. Then additionally: If a textual report [[Lab Report->Lab Result->Local Test Type.Test Code]] Else Ignored. | OBR-4.1 contributes to privacy label assignment. | ||||
OBR-4.2 | Service name | FBC | [[Lab Report->Lab Result.Service]] and [[Lab Report->Lab Result->Local Test Type.Service Name]] Note: the Local Test Type only stores the most recently provided service name. | |||||
OBR-4.3 | Service coding system | WinPath | If a textual report Stored in [[Lab Report->Lab Result->Local Test Type.Test |
17
OBR-4.2
Service name
Coding System]] |
and
[[Lab Report->Lab Result->Local Test Type.Test Code]]
Else
Ignored.
Else Ignored. | ||||||||
OBR-4.5 | Alternative service name | Full Blood Count | Used instead of OBR-4.2 if OBR-4.2 was not provided. | |||||
OBR-7 | C | Observation timestamp. This will be used only if there is no timestamp in OBX-14. It is an error for neither to be provided. | ||||||
OBR-7.1 | Observation timestamp | 201505191657 | [[Lab Report->Lab Result. |
Timestamp]] |
if OBX-14 was not provided | [[ |
Note: the Local ITT only stores the most recently provided service name.
18
OBR-4.3
Service coding system
WinPath
If a textual report
Stored in
Measurement.Timestamp]] if OBX-14 was not provided | ||||||||
OBR-14 | O | Received timestamp. | ||||||
OBR-14.1 | Received timestamp | 201505191521 | [[Lab Report- |
>Received Timestamp]] | |||||||
OBR-16 | O | Ordered by. If present, at least the family name must be given. | [[Lab Report->Lab Result- |
>Source.Source Text]] |
Else
Ignored.
[[Measurement->Source.Source Text]] | ||||||||
OBR-16.2 | Family name | Foster | ||||||
OBR- |
16. |
3 |
Given name |
Full Blood Count
John | ||||
OBR-16.4 |
20
OBR-7
C
Observation timestamp.
This will be used only if there is no timestamp in OBX-14. It is an error for neither to be provided.
21
OBR-7.1
Observation timestamp
201505191657
[[Lab Report->Lab Result.Timestamp]]
if OBX-14 was not provided
[[Measurement.Timestamp]]
if OBX-14 was not provided
22
OBR-14
O
Received timestamp.
23
OBR-14.1
Received timestamp
201505191521
[[Lab Report->Received Timestamp]]
24
OBR-16
O
Ordered by.
If present, at least the family name must be given.Middle names | Harry | |||||||
OBR-16.6 | Title | Dr | ||||||
OBR-24 | O | Laboratory discipline. | ||||||
OBR-24.1 | Laboratory discipline. | ICU | [[Lab Report->Discipline]] | |||||
OBR-25 | O | Result status. If a value of R is provided: any lab results received previously for this report ID will be marked as deleted. OBX segments are not required and will be ignored. Note: if the report contains multiple panels where some but not all have a status of R, then PKB will first delete all results associated with the report ID before following the usual create or update workflow for lab results provided in panels that do not have a status of R. | ||||||
OBR-25.1 | Result status | F | ||||||
{ [ NTE ] } | NTE segments can be used to include comments. NTE segments immediately following the OBR segment will be considered to apply to all results in this message. | |||||||
NTE-3 | O | NTE-3.1 | Comment | |||||
Comment | This is a comment. | These OBR-level comments will be written to [[Lab Report->Lab Result |
. |
32
OBR-25.1
Result status
F
33
{ [ NTE ] }
NTE segments can be used to include comments. NTE segments immediately following the OBR segment will be considered to apply to all results in this message.
34
NTE-3
O
NTE-3.1
Comment
35
Comment
This is a comment.
Comments]] |
[[Measurement->Source.Source Text]]
25
OBR-16.2
Family name
Foster
26
OBR-16.3
Given name
John
27
OBR-16.4
Middle names
Harry
28
OBR-16.6
Title
Dr
29
OBR-24
O
Laboratory discipline.
30
OBR-24.1
Laboratory discipline.
ICU
[[Lab Report->Discipline]]
31
OBR-25
O
Result status.
If a value of R is provided: any lab results received previously for this report ID will be marked as deleted. OBX segments are not required and will be ignored.
Otherwise: the report is processed as documented.
Note: if the report contains multiple panels where some but not all have a status of R, then PKB will first delete all results associated with the report ID before following the usual create or update workflow for lab results provided in panels that do not have a status of R.
Any OBX-level comments will be appended to the OBR-level comments. | ||||||||
{ | Observation or result | |||||||
OBX-2 | R | Value type. OBX segments with these value types are silently ignored: AD, CP, DT, DTM, ED, MO, PN, RP, TM, TN, XAD, XCN, XON, XPN, XTN For SN, a numeric value must be provided in OBX-5.2. For all other value types, note that: | ||||||
OBX-2.1 | Value type | NM | ||||||
OBX-3 | R | Observation identifier. See our notes on code sets for more information on our handling of coded data. | If an individual result content pattern The test type processing uses OBX-3 instead of OBR-4. Components 1-6 of OBX-3 will be saved into [[Lab Report->Lab Result.Code]]. | |||||
OBX-3.1 | Test ID. If this is a textual report, this value will be overridden by OBR-4.1. Otherwise this value must be provided. If a measurement is being provided, this ID must match one of the predefined values which PKB can accept. | 777-3 | Stored in [[Lab Report->Lab Result->Local Test Type.Test Code]] | |||||
OBX-3.2 | Test name | Platelets | Stored in [[Lab Report->Lab Result |
Any OBX-level comments will be appended to the OBR-level comments.
36
{
OBX
Observation or result
37
OBX-2
R
Value type.
OBX segments with these value types are silently ignored: AD, CP, DT, DTM, ED, MO, PN, RP, TM, TN, XAD, XCN, XON, XPN, XTN
For SN, a numeric value must be provided in OBX-5.2.
For all other value types, note that:->Local Test Type.Test Name]] Note: the Local Test Type only stores the most recently provided test name. | |||||||
OBX-3.3 | Test coding system If this is a textual report, this value will be overridden by OBR-4.3 Note: PKB will only accept a measurement if this value is one of the following: ( sct, snomed-ct, snomed ct, http://snomed.info/sct, 2.16.840.1.113883.6.96 ) | LOINC | Stored in [[Lab Report->Lab Result |
[[Lab Report->Lab Result.Value Text]] will be set if the result is non-numeric
[[Lab Report->Lab Result.Comments]] will be set if this is a textual report
38
OBX-2.1
Value type
NM
39
OBX-3
R
Observation identifier. See our notes on code sets for more information on our handling of coded data.
40
OBX-3.1
Test ID.
If this is a textual report, this value will be overridden by OBR-4.1. Otherwise this value must be provided.
If a measurement is being provided, this ID must match one of the predefined values which PKB can accept.
777-3
->Local Test Type.Test Coding System]] | ||||||||
OBX-3.5 | Alternative test name | Platelet count | Used instead of OBX-3.2 if OBX-3.2 was not provided. | |||||
OBX-5 | R | Observation value. If providing a structured numeric value (OBX-2 set to SN): | ||||||
OBX-5.1 | Value or comparator. | 200 | If numerical data, then value set in [[Lab Report->Lab Result.Value]] else if textual then value set in [[Lab Report->Lab Result. |
Value Text]] |
else if a multi-line report then values set in [[Lab Report->Lab Result |
Stored in
.Comments]] |
41
OBX-3.2
Test name
Platelets
else if SN then map to [[Lab Report->Lab Result |
Note: the Local ITT only stores the most recently provided test name.
42
OBX-3.3
Test coding system
If this is a textual report, this value will be overridden by OBR-4.3
Note: PKB will only accept a measurement if this value is one of the following:
( sct, snomed-ct, snomed ct, http://snomed.info/sct, 2.16.840.1.113883.6.96 )
LOINC
.Comparator]] | [[Measurement.Value]] If a multi-valued measurement is being supplied, then the next OBX segment will contain the value for [[Measurement.Value2]] | ||||||
OBX-5.2 | Value | 200 | If SN, then set in [[Lab Report->Lab Result |
43
OBX-3.5
Alternative test name
.Value]] |
and
[[Lab Report->Lab Result->Local Test Type.Test Coding System]]
OBX-6 | O | Units. See our notes on code sets for more information on our handling of coded data. | ||||||
OBX-6.1 | Unit ID | X10TO9L | Used instead of OBX- |
6.2 if OBX- |
6.2 was not provided. |
OBX- |
R
Test result value.
If providing an SN value:
OBX-5.1 must be one of: >, <, >=, <=, = (<> is also valid, but not supported. Results with this comparator will be silently ignored.)
OBX-5.2 must be a number
OBX-5.3 and OBX-5.4 are not supported. Results containing a non-empty value for either of these will be silently ignored.
45
OBX-5.1
Value or comparator.
200
If numerical data, then value set in
[[Lab Report->Lab Result.Value]]
else if textual then value set in6.2 | Unit name. | 10 to 9 per L | Stored in [[Lab Report->Lab Result->Local Test Type.Units]] | This must match the corresponding PKB permitted value. | ||||
OBX-7 | O | Reference range. Numeric ranges in the format x-y, <x, <=x, >x, >=x are all supported. If the range does not successfully parse as one of these formats then the contents of this field will be stored as a textual range. Special cases: | ||||||
OBX-7.1 | Reference range | 100-300 | If a numeric range provided, then the following values will be set appropriately [[Lab Report->Lab Result. |
Range Low]] |
|
Range Low Inclusive]] |
|
[[Measurement.Value]]
If a multi-valued measurement is being supplied, then the next OBX segment will contain the value for
[[Measurement.Value2]]
46
OBX-5.2
Value
200
If SN, then set in
[[Lab Report->Lab Result.Value]]
47
OBX-6
O
Units. See our notes on code sets for more information on our handling of coded data.
48
OBX-6.1
Unit ID
X10TO9L
Used instead of OBX-6.2 if OBX-6.2 was not provided.
49
OBX-6.2
Unit name.
If providing a measurement, this must match the corresponding PKB permitted value.
10 to 9 per L
Range High]] else value set in [[Lab Report->Lab Result.Textual Range]] | ||||||||
OBX-11 | R | Result status. Only values of F and C will be processed. Values of I, O, P or X (which indicate pending or no results) are silently ignored, whilst any other values will cause an error. | ||||||
OBX-11.1 | Result status | F | ||||||
OBX-13 | O | Custom access rules for lab results. Currently supported: "{patientDelay:NUMBERdays}" with any whole number in place of "NUMBER" (no spaces). The patient will see that a lab result has arrived, but the result value will not be revealed until the set number of days past the date/time of observation have passed. If this field is not specified the patient will be able to see their results immediately. Note: if this OBR group is a textual report spanning multiple OBX segments, the delay must be provided in the first. | ||||||
OBX-13.1 | Custom access rules | {patientDelay:3days} | ||||||
OBX-14 | C | Observation timestamp. If this is not present, OBR-7 is used instead. It is an error for neither to be provided. | ||||||
OBX-14.1 | Observation timestamp | 201505191657 | [[Lab Report->Lab Result |
. |
51
OBX-7.1
Reference range
100-300
Timestamp]] |
50
OBX-7
O
Reference range.
Numeric ranges in the format x-y, <x, <=x, >x, >=x are all supported.
If the range does not successfully parse as one of these formats then the contents of this field will be stored as a textual range.
Special cases:
An input of "-" will be treated as if no range had been provided
An input of "0" will be treated as if "0-0" had been provided
[[Measurement.Timestamp]] | ||||||||
{ [ NTE ] } | NTE segments can be used to include comments. NTE segments immediately following an OBX segment will be considered to apply only to the immediately preceding result. | |||||||
NTE-3 | O | Comment | ||||||
NTE-3.1 | Comment | This is a comment. | These OBX-level comments will be appended to [[Lab Report->Lab Result. |
Snomed code
Label
Units
366162006
Central venous pressure (CVP)
cmH20
107647005
Weight
kg
162755006
Height
cm
276361009
Waist size
cm
301338002
Head circumference
cm
301898006
Body surface area
square metres
301331008
Body mass index (BMI)
kg/m^2
170804003
Ideal body weight
kg
162986007
Pulse
bpm
162913005
Respiration
rpm
105723007
Temperature
degrees Celsius
1036631000000109
Musculoskeletal Health Questionnaire (MSK-HQ) score
431314004
Oxygen saturation (SPO2)
%
257733005
Activity (Rating Scale: 0-10)
415882003
Axillary (under arm) temperature
degrees Celsius
15527001
Capillary filling
Seconds
251843005
Fluid output from drain
ml
366156001
Peak expiratory flow (PEF)
l/min
313222007
Forced expiratory volume in one second/Forced vital capacity percent (FEV1/FVC)
59328004
Forced expiratory volume in 1 second (FEV1)
Litres
366151006
Forced vital capacity (FVC)
Litres
873921000000106
Forced expired volume in 6 seconds (FEV6)
Litres
251932003
Forced expiratory flow rate between 25 and 75% of vital capacity (FEF 25-75)
l/min
273648008
Nine hole peg test
Seconds
414059009
Number of missed medications today
Comments]] |
[[Lab Report->Lab Result.Range High]]
[[Lab Report->Lab Result.Range High Inclusive]]
else value set in
[[Lab Report->Lab Result.Textual Range]]
52
OBX-11
R
Result status. Only values of F and C will be processed. Values of I, O, P or X (which indicate pending or no results) are silently ignored, whilst any other values will cause an error.
53
OBX-11.1
Result status
F
54
OBX-13
O
Custom access rules for lab results. Currently supported: "{patientDelay:NUMBERdays}" with any whole number in place of "NUMBER" (no spaces). The patient will see that a lab result has arrived, but the result value will not be revealed until the set number of days past the date/time of observation have passed. If this field is not specified the patient will be able to see their results immediately.
Note: if this OBR group is a textual report spanning multiple OBX segments, the delay must be provided in the first.
55
OBX-13.1
Custom access rules
{patientDelay:3days}
56
OBX-14
C
Observation timestamp.
If this is not present, OBR-7 is used instead. It is an error for neither to be provided.
57
OBX-14.1
Observation timestamp
201505191657
[[Lab Report->Lab Result.Timestamp]]
[[Measurement.Timestamp]]
58
{ [ NTE ] }
}
}
NTE segments can be used to include comments. NTE segments immediately following an OBX segment will be considered to apply only to the immediately preceding result.
59
NTE-3
O
Comment
60
NTE-3.1
Comment
This is a comment.
These OBX-level comments will be appended to
[[Lab Report->Lab Result.Comments]]
after any OBR-level comments.
Examples
An example of a lab result message.
MSH|^~\&|Corepoint|TDL|HL7API|PKB|201303080949||ORU^R01|ABC0000000001|P|2.4
PID|||9999999999^^^NHS^NH||Smith^John^Joe^^Mr||19700101|M|||Flat name^1, The Road^London^London^SW1A 1AA^GBR||01234567890^PRN~07123456789^PRS|^NET^^john.smith@company.com~01234098765^WPN||||||||||||||||N|
PV1|1|||||||||SPEC_01|
OBR|1|12F000005|12F000005|LFT^LIVER PROFILE^WinPath||201303080948|201303080000||||||||SST|E85109||||||201303080949||CHE|F
OBX|1|NM|BILI^Bilirubin^Winpath||5|umol/L|0-20||||F
OBX|2|NM|ALP^Alkaline Phosphatase^Winpath||120|IU/L|40-130||||F|||201303080000
OBX|3|NM|ALT^Alanine Transaminase^Winpath||20|IU/L|10-50||||F||patientDelay:3days|201303080000
An example of a measurement message.
MSH|^~\&|Corepoint|TDL|HL7API|PKB|201303080949||ORU^R01|ABC0000000001|P|2.4
PID|||9999999999^^^NHS^NH||Smith^John^Joe^^Mr||19700101|M|||Flat name^1, The Road^London^London^SW1A 1AA^GBR||01234567890^PRN~07123456789^PRS|^NET^^john.smith@company.com~01234098765^WPN||||||||||||||||N|
OBR|1||||||||||||||||||||||||F
OBX|1|NM|107647005^^sct||75|^kg^|||||F|||20200625103943+0100
Response
PKB will respond with a standard HL7 acknowledgement.
Supported single measurements
after any OBR-level comments. |
Examples
An example of a lab result message.
MSH|^~\&|Corepoint|TDL|HL7API|PKB|201303080949||ORU^R01|ABC0000000001|P|2.4
PID|||9999999999^^^NHS^NH||Smith^John^Joe^^Mr||19700101|M|||Flat name^1, The Road^London^London^SW1A 1AA^GBR||01234567890^PRN~07123456789^PRS|^NET^^john.smith@company.com~01234098765^WPN||||||||||||||||N|
PV1|1|||||||||SPEC_01|
OBR|1|12F000005|12F000005|LFT^LIVER PROFILE^WinPath||201303080948|201303080000||||||||SST|E85109||||||201303080949||CHE|F
OBX|1|NM|BILI^Bilirubin^Winpath||5|umol/L|0-20||||F
OBX|2|NM|ALP^Alkaline Phosphatase^Winpath||120|IU/L|40-130||||F|||201303080000
OBX|3|NM|ALT^Alanine Transaminase^Winpath||20|IU/L|10-50||||F||patientDelay:3days|201303080000
An example of a measurement message.
MSH|^~\&|Corepoint|TDL|HL7API|PKB|201303080949||ORU^R01|ABC0000000001|P|2.4
PID|||9999999999^^^NHS^NH||Smith^John^Joe^^Mr||19700101|M|||Flat name^1, The Road^London^London^SW1A 1AA^GBR||01234567890^PRN~07123456789^PRS|^NET^^john.smith@company.com~01234098765^WPN||||||||||||||||N|
OBR|1||||||||||||||||||||||||F
OBX|1|NM|107647005^^sct||75|^kg^|||||F|||20200625103943+0100
Response
PKB will respond with a standard HL7 acknowledgement.
Supported single measurements
Snomed code | Label | Units |
366162006 | Central venous pressure (CVP) | cmH20 |
107647005 | Weight | kg |
162755006 | Height | cm |
276361009 | Waist size | cm |
301338002 | Head circumference | cm |
301898006 | Body surface area | square metres |
301331008 | Body mass index (BMI) | kg/m^2 |
170804003 | Ideal body weight | kg |
162986007 | Pulse | bpm |
162913005 | Respiration | rpm |
105723007 | Temperature | degrees Celsius |
1036631000000109 | Musculoskeletal Health Questionnaire (MSK-HQ) score |
|
431314004 | Oxygen saturation (SPO2) | % |
257733005 | Activity (Rating Scale: 0-10) |
|
415882003 | Axillary (under arm) temperature | degrees Celsius |
15527001 | Capillary filling | Seconds |
251843005 | Fluid output from drain | ml |
366156001 | Peak expiratory flow (PEF) | l/min |
313222007 | Forced expiratory volume in one second/Forced vital capacity percent (FEV1/FVC) |
|
59328004 | Forced expiratory volume in 1 second (FEV1) | Litres |
366151006 | Forced vital capacity (FVC) | Litres |
873921000000106 | Forced expired volume in 6 seconds (FEV6) | Litres |
251932003 | Forced expiratory flow rate between 25 and 75% of vital capacity (FEF 25-75) | l/min |
273648008 | Nine hole peg test | Seconds |
414059009 | Number of missed medications today |
|
786441000000107 | Grip strength - left hand | kg |
786451000000105 | Grip strength - right hand | kg |
78564009 | Heart rate measured at systemic artery | beat/min |
1091811000000102 | Diastolic arterial pressure | mmHg |
72313002 | Systolic arterial pressure | mmHg |
810931000000108 | QRISK2 calculated heart age | year |
718087004 | QRISK2 cardiovascular disease 10 year risk score | % |
1082641000000106 | Alcohol units consumed per week | u/week |
230085005 | Beer intake | u/week |
230086006 | Wine intake | u/week |
230088007 | Spirits intake | u/week |
442547005 | Alcohol units heaviest day | /day |
230056004 | Cigarette consumption | /day |
230057008 | Cigar consumption | /day |
230058003 | Pipe tobacco consumption | g/week |
413173009 | Minutes from waking to first tobacco consumption | min |
836001000000109 | Waterpipe tobacco consumption | times/week |
401070008 | Number portions fruit/veg daily | /day |
129006008 | Steps | |
1155968006 | Mood |
Examples
An example of a single measurement message.
...
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.
SNOMED code | Label | Units |
75367002 | Blood pressure |
|
163035008 | Blood pressure sitting |
|
163034007 | Blood pressure standing |
|
163033001 | Blood pressure supine |
|
163030003 |
| mmHg (systolic) |
163031004 |
| mmHg (diastolic) |
Examples
An example of a multi measurement message.
MSH|^~\&|Corepoint|TDL|HL7API|PKB|201303080949||ORU^R01|ABC0000000001|P|2.4
PID|||9999999999^^^NHS^NH||Smith^John^Joe^^Mr||19700101|M|||Flat name^1, The Road^London^London^SW1A 1AA^GBR||01234567890^PRN~07123456789^PRS|^NET^^john.smith@company.com~01234098765^WPN||||||||||||||||N|
OBR||||||||||||||||^Ward^Olivia^Elsie^^Ms|||||||||F
OBX||NM|75367002^^sct|||-|||||F|||20191106091410+0000
OBX||NM|163030003^^sct||190|^mmHg (systolic)|||||F|||20191106091410+0000
OBX||NM|163031004^^sct||59|^mmHg (diastolic)|||||F|||20191106091410+0000
...