NHS North West Genomics
0.1.0 - ci-build United Kingdom flag

NHS North West Genomics - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Architecture

Introduction

The architecture generally follows Domain Driven Design [DDD], Domain Driven Design and Data Mesh

The general architecture is shown below:

Data Mesh

Data Mesh


Data Sharing is based on FHIR RESTful API's, and asynchronous messaging used to deliver the orders and reports in mostly HL7 v2 and IHE Laboratory Testing Workflow (LTW) based .

The diagram below shows multiple interoperability pathways for exchanging diagnostic reports—either as structured data or documents—between systems. It maps out which standards (FHIR, HL7 v2, IHE, XDS/MHD), APIs, and NHS England national services (UGR, NIR, NRL, Genomic OMS, etc.) are involved depending on:

  • Which API is used
    • Event API
    • Data Sharing API
  • Whether an existing interface already exists
  • Whether the exchange is structured data or unstructured documents

NHS England services are coded in blue, while currently implemented services are coded in green.

graph TD
    B[Diagnostic Report Interoperabilty] --> C{"Options <br/>Both answers<br/>are likely"}
    C -->|Event API| D{Existing Interface?}
    C -->|Data Sharing API| E{Document <br/>or Data}
    E --> |Data| Data[Structured]
    E --> |Document<br/>and hybrid| Documents["Unstructured (and Clinical) Documents"]
    Data --> REST["FHIR RESTful API<br/>IHE Query for Existing Data (QEDm)"]
    REST --> UGR[NHS England Unified Genomic Record<br/>NHS England Patient Data Manager]
    Documents --> XDS["FHIR RESTful API<br/>IHE Mobile access to Health Documents (MHD) <br/>or XML SOAP IHE XDS <br/>e.g. NHS England National Record Locator"]
    XDS --> Format{Format}
    Format --> |Binary| Binary[PDF, PMG, html, etc]
    Format --> |Structured - Imaging| RAD[DICOM]
    Format --> |Clinical Document - Laboratory| FHIRDocument["Structured and Unstructured<br/><br/>FHIR Document<br/>e.g. NHS England National Record Locator <br/> e.g. Internation Patient Summary (IPS),<br/>EU Laboratory and Imaging Reports,<br/>XPanDH/EU Hospital Discharge Report (HDR)"]  
    D --> |Yes| V2{Structured or<br/>Unstructured} 
    V2 --> |Structured| LTW[HL7 v2 ORU_R01<br/>IHE Laboratory Testing Workflow LTW LAB-3<br/>and IHE RAD]
    V2 --> |Unstructured| MDM[HL7 v2 MDM_T02 or MDM_T01 <br/> e.g. ICS/LHCRE Systems]
    MDM --> NRL["NHS England National Record Loactor Feed<br/>(POST DocumentReference)<br/>"]
    D --> |No| Workflow[FHIR Workflow <br/> e.g. NHS England Genomic Order Management Service]
    Workflow --> PubSub[FHIR Subscription]
    LTW --> Pathology[FHIR Message <br/> e.g. NHS England Pathology]
    RAD --> NIR[NHS England National Imaging Registry]

    classDef blue fill:#DAE8FC;
    classDef green fill:#D5E8D4;

    class Pathology,UGR,NIR,FHIRDocument,XDS,NRL,Workflow blue
    class LTW,REST,MDM green

Enterprise Integration

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 To request a laboratory order
Document Message Laboratory Report R01 LAB-3 Used to transfer the report back to the order placer and othre interested parties
  Original Document T02 HL7 MDM_T02 Used to send a copy of the report to a HIE

Laboratory Order

SourceConsumerConsumerIntermediaryRegional Integration Engine (RIE)Clinical Data RepositoryHealth Information Exchange (HIE)Send Event NotificationHL7 FHIR OML_O21based on IHE LTW LAB-1Send Event NotificationHL7 v2 OML_O21IHE LTW LAB-1(future FHIR Workflow - Task)PopulatesQuery Genomic DataHL7 FHIR RESTful (read only)IHE QEDm PCC-44

Laboratory Order - Overview


Messaging with a copy sent to a FHIR Repository

Phase 1b

Messaging + FHIR Repository


  • Update Genomic Data Repository (Wire Tap)
  • Router (Message Router)
    • Routes messages based on order metadata.
  • Transform to HL7 v2 Message (Message Translator and v2 Canoncial Model)
    • Converts HL7 FHIR O21 messages into HL7 v2.5.1 OML_O21 format.
    • These transformed messages are sent to NW GMSA LIMS iGene.
  • Genomic Order Management Adaptor Service FHIR API (Messaging Gateway)
    • Targets NHS England Genomic Order Management Service FHIR API which is the interface to external GMSA.
    • This uses a FHIR RESTful API, similar to the Clinical Data Repository Adaptor, and like this service, the business logic (how to update the repository) is held within Regional Integrations Engine and this is not exposed externally.

Laboratory Report

SourceConsumerConsumerStructuredConsumerUnstructuredConsumer (ICS)IntermediaryRegional Integration Engine (RIE)Clinical Data RepositoryHealth Information Exchange (HIE)Send Genomic ReportHL7 v2 ORU_R01IHE LTW LAB-3Send Genomic ReportHL7 v2 ORU_R01IHE LTW LAB-3(future FHIR Workflow - Task)Send Document MessageHL7 v2 MDM_T02Event notifications e.g. IHE DSUBm ITI-112and MDM_T01 can be supportedPopulatesQuery Genomic DataHL7 FHIR RESTful (read only)IHE QEDm PCC-44Query Genomic Report DocumentsHL7 FHIR RESTful (read only)IHE MHD ITI-67 and ITI-68

Laboratory Report - Overview


Phase 2b

Laboratory Report - Detailed


  • Source System
    • NW GMSA LIMS (iGene) (Document Message)
      • Produces genomic test results in HL7 v2.3 ORU_R01 messages.
      • These are sent into the Enterprise Service Bus (ESB).
  • Transformation and Enrichment (inside ESB)
    • Transform to HL7 FHIR Message (Message Translator and FHIR Canoncial Model)
      • Converts HL7 v2.3 message into a modern HL7 FHIR R01 message.
    • Update Genomic Data Repository & Enrich Content (Content Enricher)
      • Stores and enhances the message with additional data elements.
      • Provides a consistent, enriched dataset for downstream use.
  • Routing
    • Router
      • Determines where the message should be delivered (e.g., hospital systems, care records, repositories).
      • Reports are sent to the NHS Trust which ordered the test (Message Router)
      • Reports are sent to NHS ICS Health Information Exchange (HIE) for sharing the reports within the ICS, this is based on the GP Surgery for the patient which is obtained via a PDS lookup. (Dynamic Router)
    • Transform to HL7 v2 Message (Message Translator and v2 Canoncial Model)
      • Converts enriched content back into a structured HL7 v2.x format for downstream systems that still rely on v2.
      • This ensures backward compatibility with existing hospital systems.
  • Output
    • Reports are sent as:
      • HL7 v2.5.1 ORU_R01 or MDM_T02 messages (for systems using HL7 v2).
      • HL7 over HTTP with OAuth2 (for secure API-based delivery).
  • Repository Service
    • A dedicated Repository Service captures and stores all enriched FHIR data. (Messaging Gateway)
      • FHIR Repository Adapter converts incoming HL7 FHIR messages into a format suitable for storage.
      • Data is stored in the Clinic Data Repository (IRIS FHIR Repository).
      • Access is available via HL7 FHIR RESTful API.

Laboratory Report Routing - NHS Trust (ORU_R01)

This routing is based on the ODS Code of the ordering facility. Note: Routing logic for rest of England and Wales if for illustration purposes, neither are implemented.

NHS Trust Report Routing (ORU_R01)NHS Trust Report Routing (ORU_R01)Ordering Facility in Region Distribution ListyesnoOrdering Facility QueueE.g. R0A, RBS, REP, etcHas Ordering FacilityyesnoGet ICS from OrganisationAffiliation from NHS EnglandOrganisation Terminolology Data FHIR APIICSDead Letter QueueDHCW QueueNHS England GOMS QueueDead Letter QueueNorth West Region(QOP, QE1 and QYG)Other Region in EnglandWelsh

Laboratory Report Routing - NHS Trust (ORU_R01)


Laboratory Report Message Routing - NHS ICS (MDM_T02)

This routing is based on the GP Practice (ODS Code) of the Patient, failing that postcode is used to infer ICS.

NHS ICS Report Routing (MDM_T02)NHS ICS Report Routing (MDM_T02)Patient has NHS NumberyesnoGet Patient from NHS EnglandPersonal Demographics Service - FHIR APIPatient found and has GP SurgeyyesnoGet ICS from OrganisationAffiliation from NHS EnglandOrganisation Terminolology Data FHIR APIInfer ICS from Patient PostcodeICSICS Message QueueDead Letter QueueDead Letter QueueNorth West Region(QOP, QE1 and QYG)Other or not found

Laboratory Report Routing - Laboratory Report Message Routing - NHS ICS (MDM_T02)


Security

http Authorisation

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.

Message Validation and Asynchronous Replies

Phase 1b

Laboratory Order Messaging


  • Accept Message The Order Placer (NHS trust) sends a FHIR Message (NW GMSA) Genomic Test 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.4 ORM O01 and send this to iGene.