DGTS Integration

Background

The NHS England Digital Genomic Test Service provides a reference infrastructure intended to replace the legacy National Genomic Test Directory (NGTD). The DGTS is not only a digital replacement for the Excel and PDF files that previously defined genomic test availability, but also enhances the test directory with a richer data model and metadata, and web app that supports an enhanced test authoring process.

The Federated Data Platform has been selected as underlying technological implementation. The DGTS is underpinned by a new data model that describes more detailed aspects of genomic tests in a consistent and structured manner:

  • The DGTS represents a move away from current Excel-based authoring of the portfolio, with all tests, test packages, genomic targets all created and administrated within an audited platform.
  • The new formal data model expresses formal relationships between entities, enriches tests with data such as turnaround times and sample types, and encapsulates new data concepts like packages.
  • Data is now version controlled with tests and packages having a status indicating whether they can be ordered and at what stage they are at in their lifecycle.
  • Integration with authoritative ontologies HGNC (gene nomenclature) and WHO Blue Books (tumour classification).

DGTS data is exposed via:

  • A web application hosted within the FDP that allows users to search and browse the comprehensive portfolio of genomic tests and packages and:
    • View genomic tests and test packages and see new information such as full structured lists of test targets, turnaround times, PLCM payment rules, PanelApp data (information presented to users defined by user types/ Role-Based Access Control (RBAC)).
    • Search via a comprehensive and flexible search engine via various parameters, fuzzy matching, synonyms. Users can filter results by test name, package, gene, disease and tumour classification
    • A navigable interface to move between associated tests, packages, genes etc.
  • Export files containing the test portfolio available in .xls and .csv formats. The NGTD spreadsheet has been reformatted with merged cells removed to improve usability.
  • Machine-readable APIs for integration with Electronic Patient Records. (EPRs), Laboratory Information Management Systems (LIMS), and Order Management Systems.

The MVP delivery in 2025 focuses on the core data model, data migration and enrichment, foundational APIs, and a web-accessible application for NHS staff. Subsequent phases will extend the DGTS with structured eligibility criteria, submission workflows, FHIR alignment, and patient-facing access.

FHIR API

For test authoring and discovery, it is expected users would use either the FDP webapp for write operations or the FDP API to support complex and flexible queries.

For direct integration with ordering and LIMS it is expected users would interact with a FHIR based API, supporting a subset of the DGTS data model for direct injestion into test orders.

The FHIR API will be read only, supporting read by identifier and searches on common/core SearchParameters, as defined in the DGTS CapabilityStatement

The main resources exposed via the API would be:

These resources would additionally reference:

Details regarding the data mapping for DGTS is provided below (only the subset mapped to FHIR has been represented here):

Genomic Test Package

Column Type Description FHIR Mapping - OM (Instance) FHIR Mapping - DGTS (Definition)
eligible_requesting_specialties array[string] Lists the clinical specialties routinely permitted to request the test package. Requesting specialties have been nationally agreed as appropriate specialties for referrals for testing. N/A PlanDefinition.useContext
genomic_test_package_readable_id string A unique identifier for the genomic test package which is consistent between versions of the package. Has the prefix TP followed by an integer e.g. TP123. ServiceRequest.code.coding.code PlanDefinition.identifier
name string The name of the genomic test package. This is intended to allow users to quickly identify high-level information about the package like what disease it is related to. ServiceRequest.code.coding.display PlanDefinition.title
state string The current state of the package in the directory, like "Draft", "Live", "Deprecated" or "Retired. N/A PlanDefinition.status
version string Version of the package. ServiceRequest.code.coding.extension:code-version PlanDefinition.version

Links

Type Display Name Cardinality FHIR Mapping - OM (Instance) FHIR Mapping - DGTS (Definition)
GmsV2Modality GMS V2 Modality MANY N/A PlanDefinition.goal.description
GmsV2RequestingReason GMS V2 Requesting Reason MANY ServiceRequest.category PlanDefinition.useContext

Genomic Test

Column Type Description FHIR Mapping - OM (Instance) FHIR Mapping - DGTS (Definition)
additional_panels_available string Indicates whether a requester can request additional panels as part of their test request, must request at least one additional panel, or cannot request additional panels. N/A ActivityDefinition.library (Library.parameter(name:additional_panels_available) min and max values indicate requirement)
state string The current state of the package in the directory, like "Draft", "Live", "Deprecated" or "Retired". N/A ActivityDefinition.status
target_disease_required boolean Indicates whether the requester must provide the patient's disease as part of the information contained in the test request. Generally, required for multipurpose tests. A value of 1 indicates yes, 0 indicates no. ServiceRequest.reasonCode (if boolean true = captures actual target) ActivityDefinition.library (Library.parameter(name:target_disease_required) min and max values indicate requirement)
target_gene_required boolean Indicates whether the requester must provide the patient's target gene as part of the information contained in the test request. Generally, required for multipurpose tests. ServiceRequest.orderDetail (if boolean true = captures actual target) ActivityDefinition.library (Library.parameter(name:target_gene_required) min and max values indicate requirement)
target_variant_required boolean Indicates whether the requester must provide the patient's target variant as part of the information contained in the test request. Generally, required for multipurpose tests. ServiceRequest.orderDetail (if boolean true = captures actual target) ActivityDefinition.library (Library.parameter(name:target_variant_required) min and max values indicate requirement)
test_name string The name of the genomic test. This should convey high-level information about the text like targets or diseases depending on what the scope of the test is. ServiceRequest.code.coding.display ActivityDefinition.title
test_readable_id string A unique identifier for the genomic test which is consistent between versions of the package. Has the prefix GT followed by an integer e.g. GT123 ServiceRequest.code.coding.code ActivityDefinition.identifier

Links

Type Display Name Cardinality FHIR Mapping - OM (Instance) FHIR Mapping - DGTS (Definition)
GmsV2TestMethod GMS V2 Test Method ONE N/A ActivityDefinition.code
GmsV2GelPanel GMS V2 GEL Panel MANY ServiceRequest.orderDetail ActivityDefinition.relatedArtifact
GmsV2RequestingReason GMS V2 Requesting Reason MANY ServiceRequest.category:reasonForTesting ActivityDefinition.useContext
GmsV2SampleType GMS V2 Sample Type MANY Specimen.type ActivityDefinition.specimenRequirement

Test Method

Column Type Description FHIR Mapping - DGTS (Definition)
method_name string The name of the test method. ActivityDefinition.code.coding.code

Sample Type

Column Type Description FHIR Mapping - DGTS (Definition)
sample_origin string Indicates whether a somatic or germline sample is required. SpecimenDefinition.typeCollected
sample_preference_status string Indicates the order of preference for this sample type for a particular test (e.g., "Required" "Preferred," "Accepted,"). This helps guide clinicians and labs on the most suitable sample to use for optimal results. A required sample type means this must be provided so that the test can be performed. A preferred sample types means that that is the most preferable for performing the test. An accepted sample type means that it’s acceptable for performing the test. SpecimenDefinition.typeTested.preference
sample_state string Specifies the state, medium or preservative for the sample such as fresh cells, EDTA, FFPE Slides SpecimenDefinition.typeTested.container.preparation/additive (exact mapping in pending alignment of the codelist to FHIR)
sample_type string A concise, unique name for the biological sample (e.g., "Blood," "Saliva," "Fresh Tissue"). SpecimenDefinition.typeTested.type

Modality

Column Type Description FHIR Mapping - DGTS (Definition)
modality_name string The name of the modality. PlanDefinition.goal.description.coding.code

Requesting Reason

Column Type Description FHIR Mapping - DGTS (Definition)
requesting_reason_name string A concise, standardized name for the reason a test is being requested. ActivityDefinition/PlanDefinition.useContext

GEL Panel

Column Type Description FHIR Mapping - DGTS (Definition)
panel_type array[string] A list of the panel types as described by PanelApp, such as Component of a Super Panel or Super Panel, GMS Rare Disease Virtual is the value that shows users that it can be added to the order as an additional panel Library.parameter