NHS England FHIR Implementation Guide (deprecated)

Important Announcement regarding this Implementation Guide
  • As of 04/10/2023, this implementation guide has been deprecated and all development on the legacy NHS England FHIR Implementation Guide assets has ceased.
  • Therefore, vendors looking to start new implementations or looking to update existing implementations should use the new NHS England Implementation Guide. Vendors continuing to implement legacy NHS England FHIR Implementation Guide based solutions do so at their own risk and on the understanding that no maintenance or support will be available.

NHSDigital-ServiceRequest

Conformance url FHIR Module Maturity Level
https://fhir.nhs.uk/StructureDefinition/NHSDigital-ServiceRequest draft

Conformance Rules



idΣ0..1System.String
sourceOfServiceRequestI0..1Extension(CodeableConcept)
ERSAdviceAndGuidanceS I0..1Extension(Complex)
ERSServiceRequestStateS I0..1Extension(Complex)
serviceRequestPriorityS I0..1Extension(Coding)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
instantiatesCanonicalΣ0..*canonical(ActivityDefinition | PlanDefinition)
instantiatesUriΣ0..*uri
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
statusΣ ?!1..1codeBinding
intentΣ ?!1..1codeBinding
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
priorityS Σ0..1codeBinding
doNotPerformΣ ?!0..1boolean
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
orderDetailΣ I0..*CodeableConcept
quantityQuantityQuantity
quantityRatioRatio
quantityRangeRange
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
occurrenceDateTimedateTime
occurrencePeriodPeriod
occurrenceTimingTiming
asNeededBooleanboolean
asNeededCodeableConceptCodeableConcept
authoredOnS Σ0..1dateTime
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
locationCodeΣ0..*CodeableConcept
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
reasonCodeS Σ0..*CodeableConceptBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
bodySiteΣ0..*CodeableConceptBinding
noteS0..*Annotation
patientInstructionΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string

idΣ0..1System.String
sourceOfServiceRequestI0..1Extension(CodeableConcept)
ERSAdviceAndGuidanceS I0..1Extension(Complex)
ERSServiceRequestStateS I0..1Extension(Complex)
serviceRequestPriorityS I0..1Extension(Coding)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
instantiatesCanonicalΣ0..*canonical(ActivityDefinition | PlanDefinition)
instantiatesUriΣ0..*uri
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
statusΣ ?!1..1codeBinding
intentΣ ?!1..1codeBinding
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
priorityS Σ0..1codeBinding
doNotPerformΣ ?!0..1boolean
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
orderDetailΣ I0..*CodeableConcept
quantityQuantityQuantity
quantityRatioRatio
quantityRangeRange
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
occurrenceDateTimedateTime
occurrencePeriodPeriod
occurrenceTimingTiming
asNeededBooleanboolean
asNeededCodeableConceptCodeableConcept
authoredOnS Σ0..1dateTime
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
locationCodeΣ0..*CodeableConcept
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
reasonCodeS Σ0..*CodeableConceptBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
bodySiteΣ0..*CodeableConceptBinding
noteS0..*Annotation
patientInstructionΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string

None defined at present

Constraint Profiles

nameprofilepurpose
NHSDigitalServiceRequestPatientCarehttps://fhir.nhs.uk/StructureDefinition/NHSDigital-ServiceRequest-PatientCare

Profile on NHSDigital-ServiceRequest for NHS App/e-RS PatientCare


Definition

A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.

Constraints

extension:ERSAdviceAndGuidance

Element Id ServiceRequest.extension:ERSAdviceAndGuidance
Cardinality 0..*
Slice Name ERSAdviceAndGuidance
type Extension(ExtensionERSAdviceAndGuidance)

Definition

 "extension": [
       {
           "url": "https://fhir.nhs.uk/StructureDefinition/Extension-ERS-Referral",
           "extension": [
               {
                   "url": "sourceSystem",
                   "valueCode": "ers"
               },
               {
                   "url": "status",
                   "valueCode": "unbooked"
               }
           ]
       },

extension:ERSServiceRequestState

Element Id ServiceRequest.extension:ERSServiceRequestState
Cardinality 0..*
Slice Name ERSServiceRequestState
type Extension(ExtensionNHSDigitaleRSReferralState)

Definition

e-RS representation of the state of the referral

"extension": [
        {
            "url": "https://fhir.nhs.uk/StructureDefinition/Extension-ERS-Referral",
            "extension": [
                {
                    "url": "sourceSystem",
                    "valueCode": "ers"
                },
                {
                    "url": "status",
                    "valueCode": "unbooked"
                }
            ]
        }
    ],

Element Id ServiceRequest.extension:portalLink
Cardinality 0..1
Slice Name portalLink
type Extension(ExtensionPortalLink)

Definition

Deep Link into the specific landing page in MYR

"extension": [
        {
            "url": "https://fhir.nhs.uk/StructureDefinition/Extension-Portal-Link",
            "valueUrl": "https://virtual.nhs.uk/MyPatientRecords"
        }
    ],

extension:serviceRequestPriority

Element Id ServiceRequest.extension:serviceRequestPriority
Cardinality 0..1
Slice Name serviceRequestPriority
type Extension(ExtensionServiceRequestPriority)

Definition

Optional Extension Element - found in all resources.

identifier

Element Id ServiceRequest.identifier
Cardinality 1..*
Slicing OPEN discriminator - VALUE system
type Identifier

Definition

Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller.

"identifier": [
                    {
                        "system": "https://fhir.nhs.uk/Id/UBRN",
                        "value": "111111111112"
                    }
                ],

Comment

The identifier.type element is used to distinguish between the identifiers assigned by the orderer (known as the 'Placer' in HL7 v2) and the producer of the observations in response to the order (known as the 'Filler' in HL7 v2). For further discussion and examples see the resource notes section below.

identifier:UBRN

Element Id ServiceRequest.identifier:UBRN
Cardinality 0..1
Slice Name UBRN
type Identifier

Definition

Unique Booking Reference Number (12 digit number used as an internal and external identifier of the referral), known as "Booking Reference" Patient side

Comment

The identifier.type element is used to distinguish between the identifiers assigned by the orderer (known as the 'Placer' in HL7 v2) and the producer of the observations in response to the order (known as the 'Filler' in HL7 v2). For further discussion and examples see the resource notes section below.

identifier:UBRN.system

Element Id ServiceRequest.identifier:UBRN.system
Cardinality 1..1
Fixed Value https://fhir.nhs.uk/Id/UBRN
type uri

Definition

Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comment

Identifier.system is always case sensitive.

basedOn

Element Id ServiceRequest.basedOn
Cardinality 0..*
type Reference(CarePlan MedicationRequest ServiceRequest)

Definition

Plan/proposal/order fulfilled by this request.

basedOn.identifier

Element Id ServiceRequest.basedOn.identifier
Cardinality 0..1
type Identifier

Definition

An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.

Comment

When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it. Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any).

category

Element Id ServiceRequest.category
Cardinality 1..1
Terminology Binding ServiceRequestCategoryCodes (Example)
Classification of the requested service.
type CodeableConcept

Definition

A code that classifies the service for searching, sorting and display purposes (e.g. "Surgical Procedure").

At present the only code in use is Patient Referral

 "category": [
        {
            "coding": [
                {
                    "system": "http://snomed.info/sct",
                    "code": "3457005",
                    "display": "Patient referral"
                }
            ]
        }
    ],

Requirements

Used for filtering what service request are retrieved and displayed.

Comment

There may be multiple axis of categorization depending on the context or use case for retrieving or displaying the resource. The level of granularity is defined by the category concepts in the value set.

category.coding.system

Element Id ServiceRequest.category.coding.system
Cardinality 1..1
Fixed Value http://snomed.info/sct
type uri

Definition

The identification of the code system that defines the meaning of the symbol in the code.

Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comment

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.

priority

Element Id ServiceRequest.priority
Cardinality 0..1
Terminology Binding RequestPriority (Required)
Identifies the level of importance to be assigned to actioning the request.
type code

Definition

Request Priority Code

Code for the priority of the referral set by the Referring Clinician

 "priority": "routine",

code

Element Id ServiceRequest.code
Cardinality 0..1
Terminology Binding UKCoreProcedureCode (Preferred)
A set of codes that define a procedure or a procedure with explicit context. Selected from the SNOMED CT UK coding system.
type CodeableConcept

Definition

A code that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested.

Ideally this should be a child code of the ServiceRequest.category

Comment

Many laboratory and radiology procedure codes embed the specimen/organ system in the test order name, for example, serum or serum/plasma glucose, or a chest x-ray. The specimen might not be recorded separately from the test code.

code.coding:SNOMEDProcedureCode

Element Id ServiceRequest.code.coding:SNOMEDProcedureCode
Cardinality 1..*
Slice Name SNOMEDProcedureCode
type Coding

Definition

A reference to a code defined by a terminology system.

Requirements

Allows for alternative encodings within a code system, and translations to other code systems.

Comment

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

code.coding:SNOMEDProcedureCode.system

Element Id ServiceRequest.code.coding:SNOMEDProcedureCode.system
Cardinality 1..1
Fixed Value http://snomed.info/sct
type uri

Definition

The identification of the code system that defines the meaning of the symbol in the code.

Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comment

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.

subject

Element Id ServiceRequest.subject
Cardinality 1..1
type Reference(NHSDigitalPatient)

Definition

On whom or what the service is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans).

"subject": {
        "identifier": {
            "system": "https://fhir.nhs.uk/Id/nhs-number",
            "value": "9999998887"
        }
    },

Constraints

  • patient-reference (ERROR) An identifier reference or resource reference must be provided
  • patient-nhs (ERROR) NHS Number must be in the English and Welsh NHS Number range or length of the number is wrong.

subject.identifier.system

Element Id ServiceRequest.subject.identifier.system
Cardinality 1..1
Fixed Value https://fhir.nhs.uk/Id/nhs-number
type uri

Definition

Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comment

Identifier.system is always case sensitive.

authoredOn

Element Id ServiceRequest.authoredOn
Cardinality 0..1
type dateTime

Definition

Date the referral was initiated in e-RS

"authoredOn": "2022-01-11T16:40:00+00:00",

requester

Element Id ServiceRequest.requester
Cardinality 1..1
type Reference(NHSDigitalPractitionerRoleMinimal)
Aggregation - contained

Definition

Who is created the Request or the Event. In NHSDigital API's this SHOULD always be a PractitionerRole role reference.

 "requester": {
        "reference": "#requester"
    },

This will reference a contained PractitionerRole (note: this resource only contains limited user metadata such as ODS Code, professional code and SDS User Profile Id). This resource should not hold data which is held in SDS, only enough information to identify the SDS Entry,

{
    "resourceType": "ServiceRequest",
    "id": "bd1ca5c4-ff49-4f2a-9db4-f5dda0112084",
    "meta": {
        "lastUpdated": "2016-07-11T11:07:22+00:00"
    },
    "contained": [
        {
            "resourceType": "PractitionerRole",
            "id": "requester",
            "practitioner": {
                "identifier": {
                    "system": "https://fhir.hl7.org.uk/Id/gmp-number",
                    "value": "G8123456"
                },
                "display": "DR AA BHATIA"
            },
            "organization": {
                "identifier": {
                    "system": "https://fhir.nhs.uk/Id/ods-organization-code",
                    "value": "C81007"
                },
                "display": "VERNON STREET MEDICAL CTR"
            },
        }
    ],
    "requester": {
        "reference": "#requester"
    },

e-RS

The contained PractitionerRole must contain

  • SDS User ID of the Referrer in practitioner
  • ODS Code of the Referring Organisation in organization

Comment

This not the dispatcher, but rather who is the authorizer. This element is not intended to handle delegation which would generally be managed through the Provenance resource.

performerType

Element Id ServiceRequest.performerType
Cardinality 0..1
Terminology Binding ParticipantRoles (Example)
Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.
type CodeableConcept

Definition

ERS

Specialty used to search for the shortlisted service(s) (if one was used)

"performerType": {
        "coding": [
            {
                "system": "https://fhir.nhs.uk/CodeSystem/eRS-Specialty",
                "code": "GENERAL_MEDICINE"
            }
        ]
    },

"performerType": {
                    "coding": [
                        {
                            "display": "Dermatology"
                        }
                    ]
                }

Comment

This is a role, not a participation type. In other words, does not describe the task but describes the capacity. For example, “compounding pharmacy”, “psychiatrist” or “internal referral”.

performerType.coding:treatmentFunctionCodes

Element Id ServiceRequest.performerType.coding:treatmentFunctionCodes
Cardinality 0..*
Terminology Binding NHSDataDictionaryTreatmentFunctionCodes (Required)
Slice Name treatmentFunctionCodes
type Coding

Definition

A reference to a code defined by a terminology system.

Requirements

Allows for alternative encodings within a code system, and translations to other code systems.

Comment

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

performerType.coding:treatmentFunctionCodes.system

Element Id ServiceRequest.performerType.coding:treatmentFunctionCodes.system
Cardinality 0..1
Fixed Value https://fhir.nhs.uk/CodeSystem/NHSDataModelAndDictionary-treatment-function
type uri

Definition

The identification of the code system that defines the meaning of the symbol in the code.

Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comment

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.

performerType.coding:eRSSpecialty

Element Id ServiceRequest.performerType.coding:eRSSpecialty
Cardinality 0..*
Terminology Binding NHSDigitaleRSSpecialty (Required)
Slice Name eRSSpecialty
type Coding

Definition

A reference to a code defined by a terminology system.

Requirements

Allows for alternative encodings within a code system, and translations to other code systems.

Comment

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

performerType.coding:eRSSpecialty.system

Element Id ServiceRequest.performerType.coding:eRSSpecialty.system
Cardinality 0..1
Fixed Value https://fhir.nhs.uk/CodeSystem/eRS-Specialty
type uri

Definition

The identification of the code system that defines the meaning of the symbol in the code.

Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comment

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.

performer

Element Id ServiceRequest.performer
Cardinality 0..*
type Reference(UKCoreCareTeam UKCoreDevice UKCoreHealthcareService UKCoreOrganization UKCorePatient UKCorePractitioner UKCorePractitionerRole UKCoreRelatedPerson)

Definition

The desired performer for doing the requested service. For example, the surgeon, dermatopathologist, endoscopist, etc.

Comment

If multiple performers are present, it is interpreted as a list of alternative performers without any preference regardless of order. If order of preference is needed use the request-performerOrder extension. Use CareTeam to represent a group of performers (for example, Practitioner A and Practitioner B).

performer.identifier

Element Id ServiceRequest.performer.identifier
Cardinality 0..1
type Identifier

Definition

An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.

Comment

When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it. Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any).

reasonCode

Element Id ServiceRequest.reasonCode
Cardinality 0..*
Terminology Binding UKCoreServiceRequestReasonCode (Extensible)
A set of codes that define a reason for a service request.
type CodeableConcept

Definition

An explanation or justification for why this service is being requested in coded or textual form. This is often for billing purposes. May relate to the resources referred to in supportingInfo.

Comment

This element represents why the referral is being made and may be used to decide how the service will be performed, or even if it will be performed at all. Use CodeableConcept.text element if the data is free (uncoded) text as shown in the CT Scan example.

supportingInfo

Element Id ServiceRequest.supportingInfo
Cardinality 0..*
type Reference(Resource NHSDigitalDocumentReference)
Aggregation - referenced

Definition

Additional clinical information about the patient or specimen that may influence the services or their interpretations. This information includes diagnosis, clinical findings and other observations. In laboratory ordering these are typically referred to as "ask at order entry questions (AOEs)". This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example, reporting the amount of inspired oxygen for blood gas measurements.

"supportingInfo": [
        {
            "type" : "DocumentReference",
            "reference": "DocumentReference/5da894e0-a57e-43e9-a1a1-e283a484003c"
        },
        {
            "type" : "QuestionnaireResponse",
            "reference" : "QuestionnaireResponse/d9d4cf80-3f9d-4435-9f3b-e6efb09ad654"
        }
    ],

Comment

To represent information about how the services are to be delivered use the instructions element.

note

Element Id ServiceRequest.note
Cardinality 0..*
type Annotation

Definition

Any other notes and comments made about the service request. For example, internal billing notes.

Comment

For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible).

"note": [
        {
            "text": "Please advise me on this patient who ...(information about patient)"
        }
    ]

back to top