NHS North West Genomics
2.1.4 - ci-build
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
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.
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 Workflow - MindMap
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
}
| 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 |
| Type | Name | Description | FHIR Hospital Spell |
|---|---|---|---|
| identifier | HospitalSpellProviderIdentifier | Identifier from ordering hospital | Encounter.identifier (type = AN) |
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 |
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) |
| 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 |
| 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 |
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 |