FHIR CI-Build

This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions icon

12.18 Resource ServiceRequest - Content

Orders and Observations icon Work GroupMaturity Level: 4 Trial UseSecurity Category: Patient Compartments: Device, Encounter, Group, Patient, Practitioner, RelatedPerson

A record of a request for service such as diagnostic investigations, treatments, or operations to be performed. When the ServiceRequest is active, it represents an authorization to perform the service.

ServiceRequest represents an order or proposal or plan to perform a diagnostic or other service on or for a patient (including non-human patients in veterinary settings). Examples of the types of services that may be ordered by a ServiceRequest are:

  • diagnostic tests/studies
  • endoscopic procedures
  • counseling
  • biopsies
  • therapies (e.g., physio-, social-, psychological-)
  • (exploratory) surgeries or procedures
  • exercises
  • specialist consultation and assessments
  • community services
  • nursing services
  • pharmacist medication review, and
  • other clinical interventions.

A ServiceRequest can represent an order that is entered by a practitioner in a CPOE system, or a proposal made by a clinical decision support (CDS) system based on a patient's clinical record and context of care. Planned procedures, perhaps following a defined CarePlan, may also be represented by this resource.

The ServiceRequest.intent element identifies if the resource represents an order, proposal, or plan to perform the indicated service for, or on, a patient. The service to be performed might result in a Procedure; and could be summarized in a DiagnosticReport detailing the performance and outcomes, perhaps through referencing select generated Observations, ImagingStudies, Specimens or other resources. The various generated resources are typically linked back to this ServiceRequest through their basedOn elements. The ServiceRequest resource may be used to share information to support a referral or transfer-of-care request from one practitioner or organization to another for a consultation, second opinion, or short- or longer-term management of health issues or problems.

Healthcare-related processes may also include requesting diagnostic investigation on a group of subjects; ordering maintenance of devices involved in the provision of healthcare; or, requesting testing of environmental locations such as ducts, bodies of water, etc.

Procedures may be performed by a healthcare professional, by the patient themself, or a friend or relative.

The general work flow that this resource facilitates is that a clinical system creates a service request. The service request is then accessed by or exchanged, perhaps via intermediaries, with a system that represents an organization (e.g., diagnostic or imaging service, surgical team, physical therapy department) that can perform the procedure. The organization receiving the service request will, after it accepts the request, update the request as the work is performed, and then finally issue a report that references the requests that it fulfilled.

Only a single procedure is requested by each ServiceRequest; if a workflow requires requesting multiple procedures simultaneously, this is done using multiple ServiceRequests. These instances can be linked in different ways, depending on the needs of the workflow. For guidance, refer to the Request pattern.

Multiple ServiceRequests may exist that are associated in some way. When the association is a simple grouping, say for billing, that grouping can be indicated with the ServiceRequest.requisition element. When the ServiceRequest execution needs to be coordinated in some fashion, another resource such as RequestOrchestration may be needed.

This resource is a request resource from a FHIR workflow perspective - see Workflow.

ServiceRequest is a record of a proposal/plan or order for a service to be performed that would result in a Procedure, Observation, DiagnosticReport, ImagingStudy, or similar resource. In contrast to ServiceRequest, Task spans both intent and event, tracks the execution through to completion, and is intended for "administrative" actions like requesting and tracking things to be done to a record, or keeping track of a checklist of steps such to be performed as part of a fulfilment process. A ServiceRequest can be higher-level authorization that triggered the creation of Task, or it can be the "request" resource Task is seeking to fulfill. For further information about this separation of responsibilities between ServiceRequest and Task, refer to the Fulfillment/Execution section of the Request pattern.

ServiceRequest and CommunicationRequest are related. A CommunicationRequest is a request to merely disclose information. Whereas a ServiceRequest would be used to request information as part of training or counseling - i.e. when the process will involve verification of the patient's comprehension or an attempt to change the patient's mental state. In some workflows both may exist. For example, upon receiving a CommunicationRequest a practitioner might initiate a ServiceRequest.

Note to Implementers:

The ServiceRequest.orderDetail structure is subject to further feedback based on use as the modeling creates a challenge when there is no focus, while an alternate structure would yield a requirement to repeat the focus attribute on each code/value pair.

Provide feedback here icon.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest TU DomainResource A request for a service to be performed
+ Rule: bodyStructure SHALL only be present if bodySite is not present
+ Rule: orderDetail SHALL only be present if code is present
+ Rule: asNeededFor SHALL only be present if asNeeded is empty or true

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ 0..* Identifier Identifiers assigned to this order

... instantiatesCanonical Σ 0..* canonical(ActivityDefinition | PlanDefinition) Instantiates FHIR protocol or definition

... instantiatesUri Σ 0..* uri Instantiates external protocol or definition

... basedOn Σ 0..* Reference(CarePlan | ServiceRequest | MedicationRequest | RequestOrchestration | NutritionOrder) What request fulfills

... replaces Σ 0..* Reference(ServiceRequest) What request replaces

... requisition Σ 0..1 Identifier Composite Request ID
... status ?!Σ 1..1 code draft | active | on-hold | entered-in-error | ended | completed | revoked | unknown
Binding: RequestStatus (Required)
... intent ?!Σ 1..1 code proposal | plan | directive | order +
Binding: RequestIntent (Required)
... category Σ 0..* CodeableConcept Classification of service
Binding: Service Request Category Codes (Example)

... priority Σ 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (Required)
... doNotPerform ?!Σ 0..1 boolean True if service/procedure should not be performed
... code ΣC 0..1 CodeableReference(ActivityDefinition | PlanDefinition) What is being requested/ordered
Binding: Procedure Codes (SNOMED CT) (Example)
... orderDetail ΣC 0..* BackboneElement Additional information about the request

.... parameterFocus 0..1 CodeableReference(Device | DeviceDefinition | DeviceRequest | SupplyRequest | Medication | MedicationRequest | BiologicallyDerivedProduct | Substance) The context of the order details by reference
.... parameter Σ 1..* BackboneElement The parameter details for the service being requested

..... code Σ 1..1 CodeableConcept The detail of the order being requested
Binding: Servicerequest OrderDetail Parameter Code (Example)
..... value[x] Σ 1..1 The value for the order detail
...... valueQuantity Quantity
...... valueRatio Ratio
...... valueRange Range
...... valueBoolean boolean
...... valueCodeableConcept CodeableConcept
...... valueString string
...... valuePeriod Period
... quantity[x] Σ 0..1 Service amount
.... quantityQuantity Quantity
.... quantityRatio Ratio
.... quantityRange Range
... subject Σ 1..1 Reference(Patient | Group | Location | Device) Individual or Entity the service is ordered for
... focus Σ 0..* Reference(Any) What the service request is about, when it is not about the subject of record

... encounter Σ 0..1 Reference(Encounter) Encounter in which the request was created
... occurrence[x] Σ 0..1 When service should occur
.... occurrenceDateTime dateTime
.... occurrencePeriod Period
.... occurrenceTiming Timing
... asNeeded Σ 0..1 boolean Perform the service "as needed"
... asNeededFor ΣC 0..* CodeableConcept Specified criteria for the service
Binding: SNOMED CT Medication As Needed Reason Codes (Example)

... authoredOn Σ 0..1 dateTime Date request signed
... requester Σ 0..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device | Group) Who/what is requesting service
... performerType Σ 0..1 CodeableConcept Performer role
Binding: Participant Roles (Example)
... performer Σ 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson | Group) Requested performer

... location Σ 0..* CodeableReference(Location) Requested location
Binding: ServiceDeliveryLocationRoleType icon (Example)

... reason Σ 0..* CodeableReference(Condition | Observation | DiagnosticReport | DocumentReference | DetectedIssue | Procedure) Reason or indication for requesting the service
Binding: Procedure Reason Codes (Example)

... insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage

... supportingInfo 0..* CodeableReference(Any) Additional clinical information

... specimen Σ 0..* Reference(Specimen) Procedure Samples

... bodySite ΣC 0..* CodeableConcept Coded location on Body
Binding: SNOMED CT Body Structures (Example)

... bodyStructure ΣC 0..1 Reference(BodyStructure) BodyStructure-based location on the body
... note 0..* Annotation Comments

... patientInstruction 0..* BackboneElement Patient or consumer-oriented instructions

.... instruction[x] Σ 0..1 Patient or consumer-oriented instructions
..... instructionMarkdown markdown
..... instructionReference Reference(DocumentReference)
... relevantHistory 0..* Reference(Provenance) Request provenance


doco Documentation for this format icon

See the Extensions for this resource

 

Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis

Path ValueSet Type Documentation
ServiceRequest.status RequestStatus Required

Codes identifying the lifecycle stage of a request.

ServiceRequest.intent RequestIntent Required

Codes indicating the degree of authority/intentionality associated with a request.

ServiceRequest.category ServiceRequestCategoryCodes Example

An example value set of SNOMED CT concepts that can classify a requested service

ServiceRequest.priority RequestPriority Required

Identifies the level of importance to be assigned to actioning the request.

ServiceRequest.code ProcedureCodesSNOMEDCT Example

Procedure Code: All SNOMED CT procedure codes.

ServiceRequest.orderDetail.parameter.code ServiceRequestOrderDetailParameterCode Example

The order detail parameter codes.

ServiceRequest.asNeededFor SNOMEDCTMedicationAsNeededReasonCodes Example

This value set includes all clinical findings from SNOMED CT - provided as an exemplar value set.

ServiceRequest.performerType ParticipantRoles Example

Roles of participants that may be included in a care team. Defined as: Healthcare professional (occupation) or Services (qualifier value).

ServiceRequest.location ServiceDeliveryLocationRoleType icon Example

A role of a place that further classifies the setting (e.g., accident site, road side, work site, community location) in which services are delivered.

ServiceRequest.reason ProcedureReasonCodes Example

This example value set defines the set of codes that can be used to indicate a reason for a procedure.

ServiceRequest.bodySite SNOMEDCTBodyStructures Example

This value set includes all codes from SNOMED CT icon where concept is-a 442083009 (Anatomical or acquired body site (body structure)).

UniqueKeyLevelLocationDescriptionExpression
img bdystr-1Rule (base)bodyStructure SHALL only be present if bodySite is not presentbodySite.exists() implies bodyStructure.empty()
img prr-1Rule (base)orderDetail SHALL only be present if code is presentorderDetail.empty() or code.exists()
img asn-1Rule (base)asNeededFor SHALL only be present if asNeeded is empty or trueasNeededFor.empty() or (asNeeded = true or asNeeded.empty())

  • Many service requests will create a need to specify a specimen, body site, or body system. The request code will often have this information embedded in it - for example, 'serum glucose' or 'chest x-ray'. Alternatively, the specimen or bodysite element may be used to specify it.
  • The ServiceRequest should only reference the Specimen resource directly when the diagnostic investigation is requested on already existing specimens. Conversely, if the request is entered first with an uncollected specimen, the Specimen resource will reference the ServiceRequest resource when it is created.
  • The reasonCode element is often for billing purposes. It may relate to the resources referred to in supportingInfo element and may be used to decide how a procedure or diagnostic investigation will be performed, or even if it will be performed at all

Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

Name Type Description Expression In Common
authored date Date request signed ServiceRequest.authoredOn
based-on reference What request fulfills ServiceRequest.basedOn
(CarePlan, MedicationRequest, RequestOrchestration, NutritionOrder, ServiceRequest)
body-site token Where procedure is going to be done ServiceRequest.bodySite
body-structure reference Body structure Where procedure is going to be done ServiceRequest.bodyStructure
(BodyStructure)
category token Classification of service ServiceRequest.category
code-concept token What is being requested/ordered ServiceRequest.code.concept
code-reference reference What is being requested/ordered ServiceRequest.code.reference
encounter reference An encounter in which this request is made ServiceRequest.encounter
(Encounter)
29 Resources
group-or-identifier token Requisition ID or other identifier ServiceRequest.requisition | ServiceRequest.identifier
identifier token Identifiers assigned to this order ServiceRequest.identifier 65 Resources
instantiates-canonical reference Instantiates FHIR protocol or definition ServiceRequest.instantiatesCanonical
(PlanDefinition, ActivityDefinition)
instantiates-uri uri Instantiates external protocol or definition ServiceRequest.instantiatesUri
intent token proposal | plan | directive | order + ServiceRequest.intent
location-code token The preferred location specified in the ServiceRequest (coded) ServiceRequest.location.concept
location-reference reference The preferred location specified in the ServiceRequest (resource reference) ServiceRequest.location.reference
occurrence date When service should occur ServiceRequest.occurrence.ofType(dateTime) | ServiceRequest.occurrence.ofType(Period) | ServiceRequest.occurrence.ofType(Timing)
patient reference Search by subject - a patient ServiceRequest.subject.where(resolve() is Patient)
(Patient)
65 Resources
performer reference Requested performer ServiceRequest.performer
(Practitioner, Group, Organization, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson)
performer-type token Performer role ServiceRequest.performerType
priority token routine | urgent | asap | stat ServiceRequest.priority
replaces reference What request replaces ServiceRequest.replaces
(ServiceRequest)
requester reference Who/what is requesting service ServiceRequest.requester
(Practitioner, Group, Organization, Device, Patient, PractitionerRole, RelatedPerson)
requisition token Composite Request ID ServiceRequest.requisition
specimen reference Specimen to be tested ServiceRequest.specimen
(Specimen)
status token draft | active | on-hold | revoked | completed | entered-in-error | unknown ServiceRequest.status
subject reference Search by subject ServiceRequest.subject
(Group, Device, Patient, Location)