Notice
- Important: This guidance is under active development by NHS England and content may be added or updated on a regular basis.
- This Implementation Guide is currently in Draft and SHOULD NOT be used for development or active implementation without express direction from the NHS England Genomics Unit.
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:
- PlanDefinition for Genomic Test Packages and
- ActivityDefinition for Genomic Tests, which would support searches as per the DGTS CapabilityStatement.
These resources would additionally reference:
- Library resources specifying data requirements when ordering specific tests, retrieved via the ActivityDefinition $data-requirements operation and
- SpecimenDefinition resources to define the Specimens required or accepted by labs for genomic tests, retrieved via following references from within ActivityDefinition resources.
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 |