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

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

Message Exchange [LTW/MQ]

Reference

Message Types

Event Event Trigger IHE Interaction Code HL7 FHIR Message Definition HL7 v2 Message Definition EIP Type
O21 An order has been created LAB-1 Laboratory Order OML_O21 Laboratory Order Document Message
R01 A report has been created LAB-3 Laboratory Results ORU_R01 Unsolicited transmission of an observation message Document Message
T01 A document has been published none - related to ITI-105 Document and Document Notification MDM_T02 Original document notification and content Document Message

Send Message


sequenceDiagram
    participant Producer as Message Producer
    participant Consumer as Message Consumer 

    note over Producer,Consumer: Laboratory Order (LAB-1) <br/> Laboratory Report (LAB-3)
    Producer->>Consumer: Send Message
    Consumer-->>Producer: Acknowledge Message

NW Genomics as a Producer

sequenceDiagram

participant gdp as Genomic Data Platform
participant RIE as Message Producer<br/>Regional Integration Engine
participant consumer as Message Consumer


gdp ->> RIE: Event Trigger
RIE ->> RIE: Create message
note over RIE,consumer: Laboratory Order (LAB-1) <br/> Laboratory Report (LAB-3)
RIE ->> consumer: Send Message (POST [base/$process-message)
consumer -->> RIE: Acknowledgement

NW Genomics as a Consumer

sequenceDiagram

participant producer as Message Producer
participant RIE as Message Consumer<br/>Regional Integration Engine

note over producer,RIE: Laboratory Order (LAB-1) <br/> Laboratory Report (LAB-3)
producer ->> RIE: Send Message (POST [base/$process-message)
RIE -->> producer: Acknowledgement

Send Message (FHIR)

Examples

Send Message (V2)

Uses Minimal Lower Layer Protocol (MLLP) over TCP/IP. HL7 over http can be supported.

Receive Message – Synchronous Messaging

TODO

Receive Message – Asynchronous Messaging

This is based on Asynchronous Messaging using the RESTful API

sequenceDiagram

participant gdp as Genomic Data Platform
participant RIE as Message Producer<br/>Regional Integration Engine
participant consumer as Message Consumer


gdp -->> RIE: R01 or O21 Event Trigger
RIE -->> RIE: Create message and add to Message Queue
consumer ->> RIE: Check Inbox (GET /Bundle?message.receiver:identifier={odsCode})
RIE -->> consumer: Messages
alt For each individual Message
    consumer ->> RIE: Acknowledge Message (POST /Bundle) 
end

Search - Checking an Inbox (FHIR)

Parameter Type Search Note
_lastUpdated date GET [base]/Bundle?_lastUpdated=[date] Date the resource was last updated
message.receiver:identifier token GET [base]/Bundle?message.receiver:identifier=[system|][ODScode] ODS Code of calling organisation
message.event token GET [base]/Bundle?message.event=[system|][eventcode] Event Code of the message

message.receiver:identifier is a mandatory parameter and must match the OAuth2 clientID associated with the ODS code.

Examples

Searching for Messages for NE&Y Genomics after 1st May 2026..

GET [base]/Bundle?message.receiver:identifier=699N0&_lastUpdated=gt2026-05-01
Accept: application/fhir+json
Authorization: Bearer {accessToken}

Search Response

GET [base]/Bundle?message.reciever:identifier=R0A&_lastUpdated=>2025-03-01T02:00:02+01:00
Accept: application/fhir+json
Authorization: Bearer {accessToken}

Search Response - Bundle 'SearchSet' - Genomics Order

Acknowledge a Message

Acknowledging a Message removes it from the Inbox.

The Bundle is taken from the Check Inbox search, only the MessageHeader resource is required where the source and destination elements are swapped over, and posts it back to the server. E.g.

Original MessageHeader

{
  "resourceType" : "MessageHeader",
  ...
  "destination" : [
    {
      "endpoint" : "https://fhir.nwgenomics.nhs.uk/Endpoint/EIC",
      "receiver" : {
        "identifier" : {
          "system" : "https://fhir.nhs.uk/Id/ods-organization-code",
          "value" : "R0A"
        },
        "display" : "MANCHESTER UNIVERSITY NHS FOUNDATION TRUST"
      }
    }
  ],
  "sender" : {
    "identifier" : {
      "system" : "https://fhir.nhs.uk/Id/ods-organization-code",
      "value" : "699X0"
    },
    "display" : "NORTH WEST GLH"
  },
  ...
}

Reversed MessageHeader

{
  "resourceType" : "MessageHeader",
  ...
  "destination" : [
    {
      "endpoint" : "https://fhir.nwgenomics.nhs.uk/Endpoint/RIE",
      "receiver" : {
        "identifier" : {
          "system" : "https://fhir.nhs.uk/Id/ods-organization-code",
          "value" : "699X0"
        },
        "display" : "NORTH WEST GLH"
      }
    }
  ],
  "sender" : {
    "identifier" : {
      "system" : "https://fhir.nhs.uk/Id/ods-organization-code",
      "value" : "R0A"
    },
    "display" : "MANCHESTER UNIVERSITY NHS FOUNDATION TRUST"
  },
  ...
}

Examples

Acknowledge a single message.

POST [base]/Bundle
Content-Type: application/fhir+json
Authorization: Bearer {accessToken}

Request