This page is part of the US Core (v4.1.0: STU5 Ballot 1) based on FHIR R4. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions
This profile sets minimum expectations for searching and fetching using the ServiceRequest resource. This profile identifies the mandatory core elements, extensions, vocabularies and value sets which SHALL be present in the ServiceRequest when using this profile.
Example Usage Scenarios:
The following are example usage scenarios for the Service Request profile:
- Query for a specific procedure or test request such as an electrocardiogram (ECG) order or a referral to a support program.
- Query for a specific service offered to a patient such as a referral to a support program.
- Query for category of service request (e.g. all cardiology requests)
Mandatory and Must Support Data Elements
The following data-elements must always be present (Mandatory definition]) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.
Each Service Request must have:
- a status
- a intent code indicated whether the request is a proposal, plan, or order.
- a code defining what is being requested
- a patient
Each Service Request must support:
- a category
- when requested service should happen
- when request was made
- the requester
Profile specific implementation guidance:
- See SDOH Guidance for more information when exchanging Social Determinants of Health (SDOH) Service Requests.
- The
ServiceRequest.category
binding must support at a minimum the US Core ServiceRequestCategory Codes. Within this categorization scheme/axis, other categories codes may be supported and alternate codes may be provided in addition to the standard codes. See Using multiple codes with CodeableConcept Datatype for examples. Other categorization schemes to be used as well.
Examples
- Foodpantry Referral
Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the US Core interactions to access this profile’s information (Profile Support + Interaction Support). Note that systems that support only US Core Profiles (Profile Only Support) are not required to support these interactions. See the US Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.
- The syntax used to describe the interactions is described here.
- See the General Guidance section for additional rules and expectations when a server requires status parameters.
- See the General Guidance section for additional guidance on searching for multiple patients.
Mandatory Search Parameters:
The following search parameters and search parameter combinations SHALL be supported:
-
SHALL support searching for all servicerequests for a patient using the patient search parameter:
GET [base]/ServiceRequest?patient={Type/}[id]
Example:
- GET [base]/ServiceRequest?patient=1137192
Implementation Notes: Fetches a bundle of all ServiceRequest resources for the specified patient (how to search by reference)
-
SHALL support fetching a ServiceRequest using the _id search parameter:
See AlsoServiceRequest - FHIR v5.0.0GET [base]/ServiceRequest[id]
Example:
- GET [base]/ServiceRequest/1032702
- GET [base]/ServiceRequest?_id=1032702
Implementation Notes: (how to search by the logical id of the resource)
-
SHALL support searching using the combination of the patient and category search parameters:
GET [base]/ServiceRequest?patient={Type/}[id]&category={system|}[code]
Example:
- GET [base]/ServiceRequest?patient=f201&category=http://loinc.org|LG41762-2
Implementation Notes: Fetches a bundle of all ServiceRequest resources for the specified patient and a category code (how to search by reference and how to search by token)
- SHALL support searching using the combination of the patient and code search parameters:
- including optional support for OR search on
code
(e.g.code={system|}[code],{system|}[code],...
)
GET [base]/ServiceRequest?patient={Type/}[id]&code={system|}[code]{,{system|}[code],...}
Example:
- GET [base]/ServiceRequest?patient=1032702&code=http://snomed.info/sct|35637008
Implementation Notes: Fetches a bundle of all ServiceRequest resources for the specified patient and report code(s). SHOULD support search by multiple report codes. (how to search by reference and how to search by token)
- including optional support for OR search on
- SHALL support searching using the combination of the patient and category and authored search parameters:
- including support for these
authored
comparators:gt,lt,ge,le
- including optional support for AND search on
authored
(e.g.authored=[date]&authored=[date]]&...
)
GET [base]/ServiceRequest?patient={Type/}[id]&category={system|}[code]&authored={gt|lt|ge|le}[date]{&authored={gt|lt|ge|le}[date]&...}
Example:
- GET [base]/ServiceRequest?patient=f201&category=http://loinc.org|LG41762-2&date=ge2010-01-14T00:00:00Z
Implementation Notes: Fetches a bundle of all ServiceRequest resources for the specified patient and date and a category code (how to search by reference and how to search by token and how to search by date)
- including support for these
Optional Search Parameters:
The following search parameter combinations SHOULD be supported:
- SHOULD support searching using the combination of the patient and status search parameters:
- including support for OR search on
status
(e.g.status={system|}[code],{system|}[code],...
)
GET [base]/ServiceRequest?patient={Type/}[id]&status={system|}[code]{,{system|}[code],...}
Example:
- GET [base]/ServiceRequest?patient=1137192&status=completed
Implementation Notes: Fetches a bundle of all ServiceRequest resources for the specified patient and status (how to search by reference and how to search by token)
- including support for OR search on
- SHOULD support searching using the combination of the patient and code and authored search parameters:
- including optional support for OR search on
code
(e.g.code={system|}[code],{system|}[code],...
) - including support for these
authored
comparators:gt,lt,ge,le
- including optional support for AND search on
authored
(e.g.authored=[date]&authored=[date]]&...
)
GET [base]/ServiceRequest?patient={Type/}[id]&code={system|}[code]{,{system|}[code],...}&authored={gt|lt|ge|le}[date]{&authored={gt|lt|ge|le}[date]&...}
Example:
- GET [base]/ServiceRequest?patient=f201&code=http://snomed.info/sct|35637008&date=ge2019-01-14T00:00:00Z
Implementation Notes: Fetches a bundle of all ServiceRequest resources for the specified patient and date and service code(s). SHOULD support search by multiple report codes. (how to search by reference and how to search by token and how to search by date)
- including optional support for OR search on