NHSDigital-ServiceRequest
Conformance url | FHIR Module | Maturity Level |
---|---|---|
https://fhir.nhs.uk/StructureDefinition/NHSDigital-ServiceRequest | draft |
Conformance Rules
ServiceRequest | ServiceRequest | ||
id | |||
extension | 0.. | ||
ERSAdviceAndGuidance | S | 0.. | Extension(Complex) |
ERSServiceRequestState | S | 0.. | Extension(Complex) |
portalLink | S | 0..1 | Extension(url) |
serviceRequestPriority | S | 0..1 | Extension(Coding) |
identifier | S | 1.. | |
(All Slices) | |||
value | 1.. | ||
UBRN | S | ..1 | |
system | 1.. | Fixed Value | |
value | 1.. | ||
basedOn | S | Reference(https://fhir.hl7.org.uk/StructureDefinition/UKCore-CarePlan | NHSDigitalMedicationRequest | NHSDigitalServiceRequest) | |
identifier | S | ||
system | 1.. | ||
value | 1.. | ||
intent | |||
category | S | 1..1 | |
coding | 1.. | Binding | |
system | 1.. | Fixed Value | |
code | 1.. | ||
priority | S | ||
code | S | ||
coding | 1.. | ||
SNOMEDProcedureCode | 1.. | Fixed Value | |
system | 1.. | Fixed Value | |
code | 1.. | ||
subject | S I | Reference(NHSDigitalPatient) | |
identifier | |||
system | 1.. | Fixed Value | |
value | 1.. | ||
encounter | Reference(NHSDigitalEncounter) | ||
authoredOn | S | ||
requester | S | 1.. | Reference(NHSDigitalPractitionerRoleMinimal) |
performerType | S | ||
coding | |||
treatmentFunctionCodes | S | Binding | |
system | Fixed Value | ||
eRSSpecialty | Binding | ||
system | Fixed Value | ||
performer | S | ||
identifier | S | ||
system | 1.. | ||
value | 1.. | ||
reasonCode | S | ||
supportingInfo | S | Reference(Resource | NHSDigitalDocumentReference) | |
note | S |
ServiceRequest | ServiceRequest | ||
id | |||
extension | 0.. | ||
ERSAdviceAndGuidance | S | 0.. | Extension(Complex) |
ERSServiceRequestState | S | 0.. | Extension(Complex) |
portalLink | S | 0..1 | Extension(url) |
serviceRequestPriority | S | 0..1 | Extension(Coding) |
identifier | S | 1.. | |
(All Slices) | |||
value | 1.. | ||
UBRN | S | ..1 | |
system | 1.. | Fixed Value | |
value | 1.. | ||
basedOn | S | Reference(https://fhir.hl7.org.uk/StructureDefinition/UKCore-CarePlan | NHSDigitalMedicationRequest | NHSDigitalServiceRequest) | |
identifier | S | ||
system | 1.. | ||
value | 1.. | ||
intent | |||
category | S | 1..1 | |
coding | 1.. | Binding | |
system | 1.. | Fixed Value | |
code | 1.. | ||
priority | S | ||
code | S | ||
coding | 1.. | ||
SNOMEDProcedureCode | 1.. | Fixed Value | |
system | 1.. | Fixed Value | |
code | 1.. | ||
subject | S I | Reference(NHSDigitalPatient) | |
identifier | |||
system | 1.. | Fixed Value | |
value | 1.. | ||
encounter | Reference(NHSDigitalEncounter) | ||
authoredOn | S | ||
requester | S | 1.. | Reference(NHSDigitalPractitionerRoleMinimal) |
performerType | S | ||
coding | |||
treatmentFunctionCodes | S | Binding | |
system | Fixed Value | ||
eRSSpecialty | Binding | ||
system | Fixed Value | ||
performer | S | ||
identifier | S | ||
system | 1.. | ||
value | 1.. | ||
reasonCode | S | ||
supportingInfo | S | Reference(Resource | NHSDigitalDocumentReference) | |
note | S |
None defined at present
Constraint Profiles
Definition
A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
Constraints
prr-1 (ERROR) orderDetail SHALL only be present if code is present
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" } ] } ],
extension:portalLink
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)" } ]