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

Architecture

Introduction

The Intermediary, North West GMSA Regional Integration Engine (RIE) is an Enterprise Service Bus most commonly known in the NHS as a Trust Integration Engine (TIE).

This implement as series of Enterprise Integration Patterns based around messaging, the diagrams below follow conventions used for these patterns.

The ESB has a Canonical Data Model which is expressed in this Implementation Guide using HL7 FHIR. This model is common to all the exchange formats used in the ESB:

This canonical model is a mandatory extension to HL7 UK Core and includes requirements from

This canonical model is not specific to Genomics. It is focused on standard message construction patterns in particular CorrelationIdentifier such as Order Numbers and Episode/Stay Identifiers and use of Clinical Coding Systems such as UK SNOMED CT.

Genomic Specific modelling, which this model supports, can be found on NHS England FHIR Genomics Implementation Guide

To support genomics workflow, this guide is aligned to enterprise workflow processes described in IHE Laboratory Testing Workflow, terminology from this guide especially around Actors is used throughout this Implementation Guide.

Three types of messages are used within this workflow process:

Message Type HL7 Name IHE Name Description
Command Message Laboratory Order O21 LAB-1 and LAB-4 To request a laboratory order
Event Message Laboratory Order O21 and O22 LAB-1, LAB-4 and LAB-2 Used to inform participants in the workflow of changes.
Document Message Laboratory Report R01 LAB-3 and LAB-5 Used to transfer the report to interested parties

Phase 1 ESB

Phase 1 ESB Architecture

Phase 1 ESB Architecture


Laboratory Order

  • Accept Message The Order Placer (NHS trust) sends a FHIR Message (NW GMSA) Laboratory Order O21 to the RIE via the $process-message endpoint
    • If the RIE doesn’t understand the message for technical reasons it will respond immediately with an error message.
    • Validation The RIE performs FHIR Validation on the order against the requirements listed in this Implementation Guide. The validation contains no errors, it is accepted, any errors will cause the message to be rejected. The RIE responds to the order placer asynchronously via a message queue, this is accessed by the order placer via a Polling Consumer
  • Distribution List If the message is accepted, it is passed to a router, at present this router passes the message onto the next process. This router is for future use with the national broker.
  • Transform to HL7 v2 The RIE will convert the FHIR Message to a HL7 v 2.3 ORM O01 and send this to iGene.

Laboratory Report

  • IGene sends the HL7 v2 ORU_R01 to RIE
  • Transform to HL7 FHIR The RIE converts the report into a FHIR Message (NW GMSA) Laboratory Report R01
  • Distribution List The message is then passed to a router – this router is for future use with the national broker. Currently, the only route is to a Message Queue
  • Polling Consumer The Order Placer (NHS trust) will poll the Message Queue for messages, this queue will include reports and also accept/reject messages.
    • If messages are present, the NHS Trust will acknowledge the message and then process it, this may include conversion back to HL7 v2.

Phase 2 ESB

Phase 2 ESB Architecture

Phase 2 ESB Architecture


The use of a Polling Consumer is not optimal. This phase will send messages directly to Trust Integration Engines. As we are using http RESTful for communication between the Trust Integration Engines, this security and authorisation can be solved in a number of ways such as:

  • TLA-MA
  • openid

These are practical for point-to-point connections but as the solution grows it can become complicated, so it is preferred we move to enterprise level security such as OAuth2 Client Credentials Grant.

See Authorisation for more details.

Future NHS England Genomics Order Management Service Adaptor

This is not part of the current project and is shown here to describe how the RIE could evolve and connect to the national Genomic Order Management Service.

Future NHSE GOMS Adaptor Architecture

Future NHSE GOMS Adaptor Architecture


The national service uses a FHIR RESTful resource-based API which does not contain business logic. This business logic would be implemented in the RIE and this is subdivided as follows:

  • Patient Master Identity Registry (PMIR) Service - This handles updates to patient demographics and is populated via a Patient Identity Feed (like HL7 v2 ADT A28/31/40 and IHE PIX), for genomics the patient identity feed is extracted from the laboratory order/report.
  • Health Provider Directory (HPD) Service - This maintains the list of Practitioners and is populated by a Master File feed like HL7 v2 MFN), for genomics the master file feed is extracted from the laboratory order/report.
  • Order and Report Service - This converts the incoming messages to a FHIR Transactional message, for genomics this uses patient and practitioner’s identifiers obtained from the PMIR and HPD services.

Outgoing Messages

  • Outgoing Messages are received from the main RIE workflow (known here as the Enterprise Service Bus)
  • Process Message orchestrates the calls to the NHS England GOMS, this involves:
    • getting the patient id (and updating patient demographics) via the Patient Master Identity Registry (PMIR) Service
    • getting practitioner ids via the Health Provider Directory (HPD) Service
    • Transforming the order or report to a FHIR Transaction and updating patient and practitioner references to include NHS England GOMS id’s

Incoming Messages

  • Polling Consumer checks for orders and reports for the North West region by calling the NHS England GOMS at frequent intervals.
  • Assemble Message if orders/reports are found, then the RIE will assemble a FHIR Message Laboratory Order/Report.
  • Incoming Message these messages are then passed to the RIE ESB for message delivery.