NHS England North West GMSA - IHE Laboratory Testing Workflow (LTW)
0.0.1 - ci-build United Kingdom flag

DRAFT Implementation Guide

This is for collaboration and discussion purposes and is subject to change.

NHS England North West GMSA - IHE Laboratory Testing Workflow (LTW) - Local Development build (v0.0.1) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Order Results Management [LAB-3]

Referenced Standards

Scope

It transmits the observation results from the Order Filler to the Order Result Tracker, when a result is acquired, clinically validated, modified or deleted at the Order Filler level.

EIP - Document Message

Actor Roles

Regional Order Results management [LAB-3]Order Filler Genomic Laboratory Hub (GLH) LIMSIntermediary NW GLH Regional Integration Engine (RIE)Order Result TrackerHL7 v2 MessageORU_R01HL7 v2 MessageORU_R01HL7 FHIR MessageLaboratory Result R01(un)structured(or structured report)(un)structured(or compositionHL7 EU Laboratory Report)

Regional Order Results management [LAB-3] Component Diagram


Message

The following messages are used to support creation and updating of the Genomics Test Report composition

Message Purpose EIP Type
Laboratory Results The results for a laboratory-order request. Document Message

Laboratory Results

Is based on a HL7 FHIR unsolicited-observation (R01) Message which is backwards compatible with HL7 v2 ORU_R01 Message.

Detailed Mapping can be here Message ORU_R01 to Bundle Map (Experimental)

FHIR Resource HL7 v2 ORU Segment Cardinality Map  
MessageHeader MSH - Message Header 1..1 MSH[MessageHeader]  
Patient PID - Patient Identification 1..1 PID[Patient]  
Encounter PV1 - Patient visit 0..1 PV1[Encounter] via DiagnosticReport.encounter
(.identifier (PV1-19) preferred, Encounter is optional)
 
ORDER OBSERVATION   1..*    
DiagnosticReport - ORC - Common Order 1..* ORC[DiagnosticReport]  
ServiceRequest     ORC[ServiceRequest]  
  - OBR - Observations Request 1..* OBR[DiagnosticReport]  
DiagnosticReport.note - NTE - Notes and Comments      
OBSERVATION   1..*    
Observation or Attachment (part of DiagnosticReport) – OBX - Observation/Result 0..* OBX[Observation]  
DocumentReference
Binary
– OBX Observation/Result (type=ED) 0..* OBX[Observation-Component] DiagnosticReport.extension:supporting-info
and DiagnosticReport.presentedForm to Binary
 
Order FillerIntermediaryNW GLH Regional Integration Engine (RIE)Order Result TrackerPerform TestsWrite Test ReportSend HL7 v2 MessageUnsolicited Observation ORU_R01Validate messagealt[Successful validation]Response HL7 v2 Message AA Application AcceptEither option can carry a compositionHL7 EU Laboratory Reportopt[HL7 FHIR Message]Transform HL7 v2 to FHIR MessageSend HL7 FHIR MessageLaboratory Results R01Response HL7 FHIR Message[HL7 v2 Message]Send HL7 v2 MessageUnsolicited Observation ORU_R01Response HL7 v2 Message[Unsuccessful validation]Response HL7 v2 Message AE Application Error

Regional Order Results management [LAB-3] Sequence Diagram


Asynchronous Message Delivery

During initial phases the ‘laboratory report’ will be delivered following a EIP Polling Consumer pattern. This will follow HL7 FHIR Asynchronous Messaging using the RESTful API

The Order Placer (or TIE) FHIR RESTful query to retrieve their messages.

GET [base]/Bundle?message.receiver:identifier=[odsCode]&_lastUpdated=[date]

Example returned search results Bundle ‘SearchSet’ - Genomics Order

Initially only queries by ODS Code will be supported to support TIE to TIE exchanges.

Update HL7 FHIR Messages

Messages that have been accepted by the calling Order Place (or TIE), need to be acknowledged and removed from the MessageQueue. This is achieved by sending back the messages with the sender and destination fields reversed, i.e.

Orignial Message Header

{
  "resourceType" : "MessageHeader",
  "eventCoding" : {
    "system" : "http://terminology.hl7.org/CodeSystem/v2-0003",
    "code" : "R01"
  },
  "destination" : [
    {
      "endpoint" : "https//hive.mft.nhs.uk",
      "receiver" : {
        "identifier" : {
          "system" : "https://fhir.nhs.uk/Id/ods-organization-code",
          "value" : "R0A"
        }
      }
    }
  ],
  "sender" : {
    "identifier" : {
      "system" : "https://fhir.nhs.uk/Id/ods-organization-code",
      "value" : "699X0"
    }
  },
  "response" : {
    "identifier" : "9612365d-52a4-4fab-87e7-8a09d753f095",
    "code" : "ok"
  }
}

Message Header for returned update

{
  "resourceType" : "MessageHeader",
  "eventCoding" : {
    "system" : "http://terminology.hl7.org/CodeSystem/v2-0003",
    "code" : "R01"
  },
  "destination" : [
    {
      "receiver" : {
        "identifier" : {
          "system" : "https://fhir.nhs.uk/Id/ods-organization-code",
          "value" : "699X0"
        }
      }
    }
  ],
  "sender" : {
    "identifier" : {
      "system" : "https://fhir.nhs.uk/Id/ods-organization-code",
      "value" : "R0A"
    }
  },
  "response" : {
    "identifier" : "9612365d-52a4-4fab-87e7-8a09d753f095",
    "code" : "ok"
  }
}

This update is sent back to the RIE as a FHIR Transaction

POST [base]/