Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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
titleContent patterns

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.

...

Segment

Field

Opt

RP/#

Component

Description

Example

Data Model
(Lab Reports)

Data Model
(Measurements)

MSH

Message header. This conforms to PKB's standard definition.

PID

Patient identification. This conforms to PKB's standard definition.

[ 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]]

{
[ ORC ]

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.

OBR-3.1

Filler order number

MYORDER0001

[[Lab Report.External ID]]

[[Measurement Report.External ID]]

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.

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
Stored in

[[Lab Report->Lab Result.Test Code]]

and

[[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 ITT 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->Test Coding System]]

and

[[Lab Report->Lab Result->Local Test Type.Test Coding System]]

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

[[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]]

[[Measurement->Source.Source Text]]

OBR-16.2

Family name

Foster

OBR-16.3

Given name

John

OBR-16.4

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.
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.

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.Comments]]

Any OBX-level comments will be appended to the OBR-level comments.

{
OBX

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:
[[Lab Report->Lab Result.Value]] will be set if the supplied value can be parsed as a number, regardless of the declared value type
[[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

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.

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.Test Code]]

and

[[Lab Report->Lab Result->Local Test Type.Test Code]]

OBX-3.2

Test name

Platelets

Stored in

[[Lab Report->Lab Result->Local Test Type.Test Name]]

Note: the Local ITT 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->Test Coding System]]

and

[[Lab Report->Lab Result->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

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.

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.Comments]]

else if SN then map to

[[Lab Report->Lab Result.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.Value]]

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-6.2

Unit name.

If providing a measurement, this must match the corresponding PKB permitted value.

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:
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

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]]
[[Lab Report->Lab Result.Range Low Inclusive]]
[[Lab Report->Lab Result.Range High]]
[[Lab Report->Lab Result.Range High Inclusive]]

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.Timestamp]]

[[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.Comments]]

after any OBR-level comments.

...