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.
CapabilityStatements
The CapabilityStatements created specifically for use in Genomics are listed below. These include Requirements, defining the profiles to be targeted during validation, and CapabilityStatements defining the endpoints for the Genomic Medicine Service (currently in development).
The API interactions that make up the service are a combination of FHIR transactions which allow multiple resources to be created and updated at once, and instance level interactions to retrieve or update specific FHIR resources.
The central Test Order Service will expose all API endpoints to enable organisations to create and query test requests, tasks and linked FHIR Resources.
In the linked tables below the API interactions which can be used to create, update and search for information on the test ordering services are specified at a high level.
Note: The “Create ServiceRequest”, “Create Task” and “Create Specimen” are all FHIR resource level interactions and could all be performed within one transaction to reduce the number of API calls required, for example if a GLH creates a new specimen, which they are going to send to an LGL, they should POST the new Specimen, Task and all related resources in one request.
Requirements
REST Capabilities Server
| Mode | Server |
Security
| Service | OAuth2 Token |
Resource Interactions
| Resource Type | Profile | Supported Profiles |
|---|---|---|
| AuditEvent | AuditEvent | |
| Bundle | Bundle | |
| CodeSystem | CodeSystem | |
| ConceptMap | ConceptMap | |
| HealthcareService | UK Core HealthcareService | |
| MessageDefinition | MessageDefinition | |
| NamingSystem | NamingSystem | |
| Parameters | Parameters | |
| StructureMap | StructureMap | |
| ValueSet | ValueSet | |
| MessageHeader | MessageHeader | |
| Subscription | Subscription | |
| CapabilityStatement | CapabilityStatement | |
| Task | Task | |
| ServiceRequest | UK Core ServiceRequest | |
| PractitionerRole | UK Core PractitionerRole | |
| Practitioner | UK Core Practitioner | |
| Organization | UK Core Organization | |
| DiagnosticReport | UK Core DiagnosticReport | |
| FamilyMemberHistory | UKCore FamilyMemberHistory | |
| Observation | UK Core Observation | |
| Patient | UK Core Patient | |
| Consent | Consent | |
| Condition | UK Core Condition | |
| ResearchSubject | ResearchSubject | |
| RelatedPerson | UK Core RelatedPerson | |
| Specimen | UK Core Specimen | |
| Questionnaire | Questionnaire | |
| QuestionnaireResponse | QuestionnaireResponse | |
| OperationDefinition | OperationDefinition | |
| OperationOutcome | OperationOutcome | |
| BodyStructure | BodyStructure | |
| Provenance | Provenance |
Instance
REST Capabilities Server
| Mode | Server | Documentation | RESTful endpoints supported by the Genomic Medicine Service |
Security
| Service | OAuth2 Token |
Resource Interactions
| Resource Type | Profile | Supported Profiles | Read | SearchType | Create | Vread | Update | Patch | Delete | HistoryInstance | ConditionalCreate |
|---|---|---|---|---|---|---|---|---|---|---|---|
| AuditEvent | AuditEvent | ✓ | ✓ | ||||||||
| Bundle | Bundle | ✓ | ✓ | ||||||||
| CodeSystem | CodeSystem | ✓ | ✓ | ||||||||
| ConceptMap | ConceptMap | ✓ | ✓ | ||||||||
| HealthcareService | UK Core HealthcareService | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| MessageDefinition | MessageDefinition | ✓ | ✓ | ||||||||
| NamingSystem | NamingSystem | ✓ | ✓ | ||||||||
| Parameters | Parameters | ||||||||||
| StructureMap | StructureMap | ✓ | ✓ | ||||||||
| ValueSet | ValueSet | ✓ | ✓ | ||||||||
| MessageHeader | MessageHeader | ✓ | ✓ | ✓ | ✓ | ||||||
| Subscription | Subscription | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| CapabilityStatement | CapabilityStatement | ✓ | ✓ | ||||||||
| Task | Task | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| ServiceRequest | UK Core ServiceRequest | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| PractitionerRole | UK Core PractitionerRole | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Practitioner | UK Core Practitioner | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Organization | UK Core Organization | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| DiagnosticReport | UK Core DiagnosticReport | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| FamilyMemberHistory | UKCore FamilyMemberHistory | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Observation | UK Core Observation | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Patient | UK Core Patient | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Consent | Consent | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Condition | UK Core Condition | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| ResearchSubject | ResearchSubject | ||||||||||
| RelatedPerson | NHSDigital_RelatedPerson_Genomics | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Specimen | UK Core Specimen | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Questionnaire | Questionnaire | ✓ | ✓ | ||||||||
| QuestionnaireResponse | QuestionnaireResponse | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| OperationDefinition | https://hl7.org/fhir/StructureDefinition/OperationDefinition | ||||||||||
| OperationOutcome | OperationOutcome | ✓ | ✓ | ||||||||
| BodyStructure | BodyStructure | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Provenance | Provenance | ✓ | ✓ |
Search Parameters per resource type
AuditEvent
| Name | Type | Level |
|---|---|---|
| action | token | Supported |
| agent | reference | Supported |
| date | date | Supported |
| entity | reference | Supported |
| outcome | token | Supported |
| patient | reference | Supported |
Bundle
No search parameters are stated for this resource type
CodeSystem
| Name | Type | Level |
|---|---|---|
| code | token | Supported |
| context | token | Supported |
| description | string | Supported |
| identifier | token | Supported |
| name | string | Supported |
| system | uri | Supported |
| title | string | Supported |
ConceptMap
| Name | Type | Level |
|---|---|---|
| context | token | Supported |
| description | string | Supported |
| identifier | token | Supported |
| name | string | Supported |
| source-system | uri | Supported |
| target-system | uri | Supported |
| title | string | Supported |
HealthcareService
| Name | Type | Level |
|---|---|---|
| coverage-area | reference | Supported |
| endpoint | reference | Supported |
| identifier | token | Supported |
| name | string | Supported |
| location | reference | Supported |
| organization | reference | Supported |
| service-category | token | Supported |
| service-type | token | Supported |
| specialty | token | Supported |
MessageDefinition
| Name | Type | Level |
|---|---|---|
| description | string | Supported |
| identifier | token | Supported |
| name | string | Supported |
| focus | token | Supported |
| title | string | Supported |
NamingSystem
| Name | Type | Level |
|---|---|---|
| context | token | Supported |
| description | string | Supported |
| name | string | Supported |
Parameters
No search parameters are stated for this resource type
StructureMap
| Name | Type | Level |
|---|---|---|
| context | token | Supported |
| description | string | Supported |
| identifier | token | Supported |
| name | string | Supported |
ValueSet
| Name | Type | Level |
|---|---|---|
| code | token | Supported |
| context | token | Supported |
| description | string | Supported |
| identifier | token | Supported |
| name | string | Supported |
| title | string | Supported |
MessageHeader
| Name | Type | Level |
|---|---|---|
| code | token | Supported |
| destination | string | Supported |
| destination-uri | uri | Supported |
| focus | reference | Supported |
| sender | reference | Supported |
| source | string | Supported |
| source-uri | uri | Supported |
Subscription
| Name | Type | Level |
|---|---|---|
| contact | token | Supported |
| criteria | string | Supported |
| status | token | Supported |
| type | token | Supported |
| url | uri | Supported |
CapabilityStatement
| Name | Type | Level |
|---|---|---|
| description | string | Supported |
| format | token | Supported |
| mode | token | Supported |
| name | string | Supported |
| resource | token | Supported |
| resource-profile | reference | Supported |
| title | string | Supported |
Task
| Name | Type | Level |
|---|---|---|
| based-on | reference | Supported |
| business-status | token | Supported |
| code | token | Supported |
| focus | reference | Supported |
| modified | date | Supported |
| owner | reference | Supported |
| subject | reference | Supported |
| performer | token | Supported |
| period | date | Supported |
| priority | token | Supported |
| requester | reference | Supported |
| status | token | Supported |
ServiceRequest
| Name | Type | Level |
|---|---|---|
| based-on | reference | Supported |
| category | token | Supported |
| code | token | Supported |
| identifier | token | Supported |
| intent | token | Supported |
| subject | reference | Supported |
| performer | reference | Supported |
| performer-type | token | Supported |
| priority | token | Supported |
| replaces | reference | Supported |
| requester | reference | Supported |
| specimen | reference | Supported |
| status | token | Supported |
PractitionerRole
| Name | Type | Level |
|---|---|---|
| endpoint | reference | Supported |
| identifier | token | Supported |
| organization | reference | Supported |
| practitioner | reference | Supported |
| specialty | token | Supported |
| telecom | token | Supported |
Practitioner
| Name | Type | Level |
|---|---|---|
| name | string | Supported |
| identifier | token | Supported |
Organization
| Name | Type | Level |
|---|---|---|
| address | string | Supported |
| endpoint | reference | Supported |
| identifier | token | Supported |
| name | string | Supported |
| partof | reference | Supported |
| type | token | Supported |
DiagnosticReport
| Name | Type | Level |
|---|---|---|
| based-on | reference | Supported |
| category | token | Supported |
| code | token | Supported |
| conclusion | token | Supported |
| date | date | Supported |
| identifier | token | Supported |
| issued | date | Supported |
| subject | reference | Supported |
| performer | reference | Supported |
| result | reference | Supported |
| results-interpreter | reference | Supported |
| specimen | reference | Supported |
| status | token | Supported |
FamilyMemberHistory
| Name | Type | Level |
|---|---|---|
| code | token | Supported |
| date | date | Supported |
| identifier | token | Supported |
| patient | reference | Supported |
| relationship | token | Supported |
| sex | token | Supported |
| status | token | Supported |
Observation
| Name | Type | Level |
|---|---|---|
| based-on | reference | Supported |
| category | token | Supported |
| code | token | Supported |
| component-code | token | Supported |
| data-absent-reason | token | Supported |
| date | date | Supported |
| focus | reference | Supported |
| identifier | token | Supported |
| subject | reference | Supported |
| performer | reference | Supported |
| specimen | reference | Supported |
| value-string | string | Supported |
| status | token | Supported |
Patient
| Name | Type | Level |
|---|---|---|
| address | string | Supported |
| birthdate | date | Supported |
| death-date | token | Supported |
| gender | token | Supported |
| general-practitioner | reference | Supported |
| identifier | token | Supported |
| link | reference | Supported |
| name | string | Supported |
| organization | reference | Supported |
| telecom | token | Supported |
Consent
| Name | Type | Level |
|---|---|---|
| action | token | Supported |
| actor | reference | Supported |
| category | token | Supported |
| consentor | reference | Supported |
| identifier | token | Supported |
| organization | reference | Supported |
| patient | reference | Supported |
| period | date | Supported |
Condition
| Name | Type | Level |
|---|---|---|
| asserter | reference | Supported |
| category | token | Supported |
| clinical-status | token | Supported |
| code | token | Supported |
| identifier | token | Supported |
| onset-info | string | Supported |
| subject | reference | Supported |
| recorded-date | date | Supported |
| severity | token | Supported |
| stage | token | Supported |
| verification-status | token | Supported |
ResearchSubject
No search parameters are stated for this resource type
RelatedPerson
| Name | Type | Level |
|---|---|---|
| patient | reference | Supported |
| relationship | token | Supported |
Specimen
| Name | Type | Level |
|---|---|---|
| accession | token | Supported |
| bodysite | token | Supported |
| collected | date | Supported |
| collector | reference | Supported |
| container-id | token | Supported |
| identifier | token | Supported |
| parent | reference | Supported |
| subject | reference | Supported |
| status | token | Supported |
| type | token | Supported |
Questionnaire
| Name | Type | Level |
|---|---|---|
| date | date | Supported |
| description | string | Supported |
| effective | date | Supported |
| identifier | token | Supported |
| name | string | Supported |
| status | token | Supported |
| title | string | Supported |
| version | token | Supported |
QuestionnaireResponse
| Name | Type | Level |
|---|---|---|
| author | reference | Supported |
| authored | date | Supported |
| identifier | token | Supported |
| subject | reference | Supported |
| questionnaire | reference | Supported |
| source | reference | Supported |
| status | token | Supported |
OperationDefinition
No search parameters are stated for this resource type
OperationOutcome
No search parameters are stated for this resource type
BodyStructure
| Name | Type | Level |
|---|---|---|
| identifier | token | Supported |
| location | token | Supported |
| morphology | token | Supported |
| patient | reference | Supported |
Provenance
| Name | Type | Level |
|---|---|---|
| agent | reference | Supported |
| entity | reference | Supported |
| target | reference | Supported |
| recorded | date | Supported |
Messaging Capabilities
| Protocol | Address |
|---|---|
| HTTP | https://[baseUrl]/$process-message |
| Documentation | Endpoint which accepts test order and result message bundles. The server saves the whole message as well as splitting the message into its individual resources for ease of updating through RESTful interactions |
| Mode | Supported Message |
|---|---|
| Receiver | MessageDefinition |
| Receiver | genomictestresponse |