Versions Compared

Key

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

ORU R01: Send test results and measurements to PKB

...

Expand
titleUpdate Behaviour

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

When not matched: A new [[Local Test Type]] is created.

[[Measurement]]

Matched on: There is no unique identifier on a [[Measurement]] submitted via HL7, so they cannot be updated.

When matched: N/A

When not matched: New [[Measurement]] created.

Definition

...

Segment

Field

Opt

RP/#

Component

Description

Example

Data Model
(Lab Reports)

Data Model
(Measurements)

21

MSH

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

32

PID

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

43

[ PV1 ]

This is used to include the Hospital Service Code of the observations

54

PV1-10

O

Hospital service. See our notes on code sets for more information on our handling of coded data.

65

PV1-10.1

Hospital service code

[[Lab Report->Lab Result.Specialty]]

76

{
[ ORC ]

Common order

87

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.

98

ORC-3.1

Filler order number

MYORDER0001

[[Lab Report.External ID]]

if OBR-3 was not provided

109

ORC-13

O

Enterer's Location

1110

ORC-13.9

Description

Laboratory 1

[[Lab Report.Enterer Location]]

1211

OBR

Observation request

1312

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.

1413

OBR-3.1

Filler order number

MYORDER0001

[[Lab Report.External ID]]

1514

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.

1615

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.

1716

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.

1817

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.

1918

OBR-4.5

Alternative service name

Full Blood Count

Used instead of OBR-4.2 if OBR-4.2 was not provided.

2019

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.

2120

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

2221

OBR-14

O

Received timestamp.

2322

OBR-14.1

Received timestamp

201505191521

[[Lab Report->Received Timestamp]]

2423

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

2524

OBR-16.2

Family name

Foster

2625

OBR-16.3

Given name

John

2726

OBR-16.4

Middle names

Harry

2827

OBR-16.6

Title

Dr

2928

OBR-24

O

Laboratory discipline.

3029

OBR-24.1

Laboratory discipline.

ICU

[[Lab Report->Discipline]]

3130

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.

3231

OBR-25.1

Result status

F

3332

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

3433

NTE-3

O

NTE-3.1

Comment

3534

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.

3635

{
OBX

Observation or result

3736

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

3837

OBX-2.1

Value type

NM

3938

OBX-3

R

Observation identifier. See our notes on code sets for more information on our handling of coded data.

4039

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

4140

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.

4241

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

4342

OBX-3.5

Alternative test name

Platelet count

Used instead of OBX-3.2 if OBX-3.2 was not provided.

4443

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.

4544

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

4645

OBX-5.2

Value

200

If SN, then set in

[[Lab Report->Lab Result.Value]]

4746

OBX-6

O

Units. See our notes on code sets for more information on our handling of coded data.

4847

OBX-6.1

Unit ID

X10TO9L

Used instead of OBX-6.2 if OBX-6.2 was not provided.

4948

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

5049

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

5150

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

5251

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.

5352

OBX-11.1

Result status

F

5453

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.

5554

OBX-13.1

Custom access rules

{patientDelay:3days}

5655

OBX-14

C

Observation timestamp.

If this is not present, OBR-7 is used instead. It is an error for neither to be provided.

5756

OBX-14.1

Observation timestamp

201505191657

[[Lab Report->Lab Result.Timestamp]]

[[Measurement.Timestamp]]

5857

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

5958

NTE-3

O

Comment

6059

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.

...