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

NHS North West Genomics, published by NHS North West Genomics. This guide is not an authorized publication; it is the continuous build for version 2.0.3 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/nw-gmsa/nw-gmsa.github.com/ and changes regularly. See the Directory of published versions

Message Exchange [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

NW Genomics as a Producer

sequenceDiagram

participant gdp as Genomic Data Platform
participant RIE as Regional Integration Engine
participant consumer as Consumer


gdp ->> RIE: Event Trigger
RIE ->> RIE: Create message
RIE ->> consumer: Send Message (POST [base/$process-message)
consumer -->> RIE: Acknowledgement

NW Genomics as a Consumer

sequenceDiagram

participant producer as Producer
participant RIE as Regional Integration Engine

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 Regional Integration Engine
participant consumer as 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" : "http://www.acme.org/endpoint/HIVE",
      "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" : "http://www.acme.org/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