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

Diagnostic Core

This implementation guide primarily focuses on the Diagnostic Workflow and how it integrates within the broader health data model, as illustrated in the diagram above.

  • Patient Care and Patient Administration are typically found in NHS providers Electronic Patient Record systems
  • Care Directory Service on the other hand, are centrally defined by NHS England, with supporting APIs also provided by NHS England (for example, the ODS API).

In software design, these areas are often referred to as domains. The Genomic Diagnostic Workflow operates across several of these domains — in software architecture terms, this is known as a bounded context.

Diagnostic WorkflowOrder Managment (LAB-1 and LAB-2)Service Request (ORC)Order Results Management (LAB-3)Diagnostic Report (OBR)Sample ManagementSpecimen Event TrackingSpecimen (SPM)Task (Future)Patient AdministrationPatient (PID)Encounter/Hospital Spell (PV1)Care DirectoryOrganisationPractitionerHealth DocumentsDocument Reference (OBX and XDS Document Entry)

Diagnostic Workflow - MindMap


Entity Relationship Diagram

erDiagram

  OriginalOrder ||--|{ FillerOrder : "has (FillerOrderNumber = FillerGroupNumber)"
  OriginalOrder ||--|{ Specimen : contains
  FillerOrder ||--|{ Specimen : contains
  Patient ||--|{ OriginalOrder : "NHSNumber or PatientAccessionIdentifier"
  Patient ||--|{ FillerOrder : "NHSNumber or PatientAccessionIdentifier" 
  Patient ||--|{ DiagnosticReport : "NHSNumber or PatientAccessionIdentifier" 
  OriginalOrder ||--|{ DiagnosticReport : contains
  HospitalSpell ||--|{ OriginalOrder : "HospitalSpellProviderIdentifier"
  HospitalSpell ||--|{ FillerOrder : "HospitalSpellProviderIdentifier" 
  HospitalSpell ||--|{ DiagnosticReport : "HospitalSpellProviderIdentifier" 

  OriginalOrder {
    identifier PlacerOrderNumber
    identifier FillerOrderNumber
    code NGTDTestCode
    code RequestingOrganisationCode
    reference Specimen
    reference Patient
     reference HospitalSpellProviderIdentifier
  }

  FillerOrder {
    code OrderStatus
    date TestOrderDate
    identifier TestAccessionIdentifier
    code NGTDTestCode
    string ClinicalDetails
    code Performer
    reference Specimen
    reference Patient
    reference OriginalOrder
     reference HospitalSpellProviderIdentifier
  }

  Patient {
    identifier NHSNumber
    identifier HospitalNumber
    identifier PatientAccessionIdentifier
    string PatientGivenName
    string PatientFamilyName
    date DateOfBirth
    string PostCode
    code AdministrativeSex
  }

  Specimen {
    identifier SpecimenAccessionIdentifier
    identifier ShipmentTrackingNumber
    identifier FMIIdentifier
    reference Patient
    code SpecimenTypeCode
    date SpecimenDispatchDate
    date SpecimenTakenDateTime
    date SpecimenReceivedDateTime
  }

  DiagnosticReport {
    identifier TestAccessionIdentifier
    reference FillerOrder
    reference Patient
    code NGTDTestCode
    date ReportStatusDateTime
    reference HospitalSpellProviderIdentifier
  }
  HospitalSpell {
    identifier HospitalSpellProviderIdentifier
  }

Patient

Type Name Description FHIR Patient
identifier NHSNumber Primary patient identifier Patient.identifier (type=NH)
identifier HospitalNumber Referring organisation local MRN identifier Patient.identifier (type=MR)
identifier PatientAccessionIdentifier LIMS Patient identifier Patient.identifier (type=PI)
string PatientGivenName   Patient.name.given
string PatientFamilyName   Patient.name.family
date DateOfBirth   Patient.birthDate
code AdministrativeSex   Patient.gender
string PostCode   Patient.address.postalCode

Hospital Spell

Type Name Description FHIR Hospital Spell
identifier HospitalSpellProviderIdentifier Identifier from ordering hospital Encounter.identifier (type = AN)

Original Order

The original order is the order sent from the Order Placer to the Order Filler; in IHE Laboratory Testing Workflow this is the key entity in LAB-1

Type Name Description FHIR ServiceRequest
identifier PlacerOrderNumber   ServiceRequest.identifier (type = PLAC)
identifier FillerOrderNumber   ServiceRequest.identifier (type = FILL)
code     ServiceRequest.intent (code = original-order)
code Procedure Code - NGTDTestCode NGTD code for test ServiceRequest.code
string ClinicalDetails Referrer clinical notes ServiceRequest.note
code RequestingOrganisationCode ODS code of requesting organisation ServiceRequest.requester (ODS Code)
code Performer   ServiceRequest.performer (fixed ODS code = 699X0)
reference Specimen   ServiceRequest.specimen
reference Patient   ServiceRequest.subject
reference Hospital Spell   ServiceRequest.encounter (Hospital Spell)
code Reason Code - Clinical Indication Code (CITT)   ServiceRequest.reasonCode

Filler Order

In IHE Laboratory Testing Workflow, this is the key entity in LAB-4

Type Name Description FHIR ServiceRequest
code OrderStatus Order/test status ServiceRequest.status
date TestOrderDate   ServiceRequest.authoredOn
identifier TestAccessionIdentifier   ServiceRequest.identifier
code Procedure Code - NGTDTestCode NGTD code for test ServiceRequest.code
code RequestingOrganisationCode ODS code of requesting organisation ServiceRequest.requester (fixed ODS code = 699X0)
code Performer   ServiceRequest.performer (ODS Code)
reference Specimen   ServiceRequest.specimen
reference Patient   ServiceRequest.subject
reference OriginalOrder   ServiceRequest.requisition and ServiceRequest.basedOn
reference Hospital Spell   ServiceRequest.encounter (Hospital Spell)

Filler Order Intent

Type Description IHE PALM Created by Original Order Intent Filler Order Intent
Laboratory Order A request for one or more laboratory investigations submitted by the requesting clinician or system. LAB-1 Order Placer order / reflex  
Work Order A subordinate order created by the laboratory to organise and fulfil part of the overall Laboratory Order. LAB-4 Order Filler   instance-order?
Subcontracted Order A laboratory order forwarded to another laboratory for fulfilment, for example when a specialised test is referred to an external provider. LAB-35 Order Filler   order (filler-order?)
Reflex Order A new order created automatically by the Order Filler based on previous test results, for example when pathology findings automatically trigger a genomic test. LAB-35 Order Filler   reflex

Specimen

Type Name Description FHIR Specimen
identifier SpecimenAccessionIdentifier   Specimen.identifier
identifier ShipmentTrackingNumber Courier tracking number Specimen.identifier[ShipmentTrackingNumber] (type = STN)
identifier FMIIdentifier   Specimen.container.identifier
reference Patient   Specimen.subject
code SpecimenTypeCode   Specimen.type
date SpecimenDispatchDate    
date SpecimenTakenDateTime Collection date/time Specimen.collection.collectedDateTime
date SpecimenReceivedDateTime Received date/time  

Diagnostic Report

This is the key entity for the reports/results which are generated when the Placer Order and Filler Order are fulfilled, which are LAB-3 and LAB-5 respectively.

Type Name Description FHIR DiagnosticReport
identifier TestAccessionIdentifier   DiagnosticReport.identifier
reference FillerOrder   DiagnosticReport.basedOn (FillerOrder)
reference Patient   DiagnosticReport.subject
code Procedure Code - NGTDTestCode   DiagnosticReport.code (system = https://fhir.nhs.uk/CodeSystem/England-GenomicTestDirectory)
date ReportStatusDateTime   DiagnosticReport.effectiveDateTime
reference Hospital Spell - Account Number   ServiceRequest.encounter (Hospital Spell)
code Conclusion Code - Test Outcome Code    
result See Observations    
presentedForm See DocumentReference