US Core Implementation Guide, published by HL7 International / Cross-Group Projects. This guide is not an authorized publication; it is the continuous build for version 8.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/US-Core/ and changes regularly. See the Directory of published versions
Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-servicerequest | Version: 8.0.0 | |||
Standards status: Trial-use | Computable Name: USCoreServiceRequestProfile | |||
Other Identifiers: OID:2.16.840.1.113883.4.642.40.2.42.59 | ||||
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License |
The US Core ServiceRequest Profile inherits from the FHIR ServiceRequest resource; refer to it for scope and usage definitions. This profile sets minimum expectations for recording, searching, and fetching the ServiceRequest information. It specifies which core elements, extensions, vocabularies, and value sets SHALL be present and constrains how the elements are used. Providing the floor for standards development for specific use cases promotes interoperability and adoption.
Example Usage Scenarios:
The following are example usage scenarios for this profile:
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 Views below provides the formal summary, definitions, and terminology requirements.
Each Service Request Must Have:
Each Service Request Must Support:
Additional USCDI Requirements:
This Additional USCDI Requirements element is not Mandatory or Must Support but is required for ONC Health IT certification testing and is included in the formal definition of the profile and the ServiceRequest examples.
*see guidance below
Profile Specific Implementation Guidance:
The Must Support ServiceRequest.category
is bound, at a minimum, to the US Core ServiceRequest Category Codes, and other category codes can be used. API consumers can query by category when accessing patient information. For the USCDI Laboratory Order, Imaging Order, Clinical Test Order, and Procedure Order Data Elements, implementers SHOULD use the corresponding category codes listed in the table below. For example, laboratory orders would have the category code "108252007" (Laboratory procedure).
USCDI Order Data Element | Category Codes |
---|---|
Laboratory Order | 108252007 Laboratory procedure (procedure) |
Imaging Order | 363679005 Imaging (procedure) |
Clinical Test Order | 386053000 Evaluation procedure (procedure), 410606002 Social service procedure (procedure), or 387713003 Surgical procedure (procedure) |
Procedure Order | 386053000 Evaluation procedure (procedure), 410606002 Social service procedure (procedure), or 387713003 Surgical procedure (procedure) |
The ServiceRequest.code
value set is broad to accommodate a wide variety of use cases and SHOULD be constrained to a subset for a particular use case or domain. These value sets contain concepts that span many use cases and are not bound to any USCDI Data Element. However, the table below identifies additional value set bindings for the USCDI Laboratory Order, Imaging Order and Clinical Test Order Data Elements. Implementers SHOULD conform to the binding strengths listed for each USCDI Order context. For example, laboratory orders are [extensibly] bound to the LOINC Common Laboratory Orders Value Set. Note that the USCDI Class Procedure Order Data Element has no additional binding.
USCDI Order Data Element | Additional Binding | Binding Strength | Comments |
---|---|---|---|
Laboratory Order | LOINC Common Laboratory Orders Value Set | extensible | The LOINC Common Laboratory Orders Value Set is a ‘starter set’ for mapping commonly used laboratory orders. It does not attempt to include all possible laboratory order codes. For additional information on LOINC Common Laboratory Orders Value Set, refer to www.loinc.org/usage/orders. |
Imaging Order | LOINC Radiology Codes | preferred | The LOINC Radiology Codes include all imaging codes minus concepts that are deprecated or discouraged. |
Clinical Test Order | LOINC Clinical Test Codes | example | LOINC Clinical Test Codes include non-laboratory and non-imaging clinical test codes that represent clinical tests. |
Procedure.basedOn
linking the Procedure to the US Core ServiceRequest Profile that includes either ServiceRequest.reasonCode
or ServiceRequest.reasonReference
. When the Procedure does not have an associated ServiceRequest, it is communicated through the US Core Procedure Profile's Procedure.reasonCode
or Procedure.reasonReference
. Depending on the procedure being documented, a Server will select the appropriate Profile to use.
ServiceRequest.reasonCode
and ServiceRequest.reasonReference
are marked as Additional USCDI Requirements, the certifying Server system is not required to support both, but SHALL support at least one of these elements. The certifying Client application SHALL support both elements.
ServiceRequest.reasonReference
:
ServiceRequest.reasonReference
. Clients SHALL support all target resources.Usage:
Changes since version 7.0.0:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
Other representations of profile: CSV, Excel, Schematron
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.
Servers providing access to order and referral data SHALL support these US Core SMART Scopes:
<patient|user|system>/ServiceRequest.rs
Servers providing access to order and referral data MAY support these US Core SMART Scopes:
<patient|user|system>/ServiceRequest.rs?category=http://hl7.org/fhir/us/core/CodeSystem/us-core-category|sdoh
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:
Implementation Notes: Fetches a bundle of all ServiceRequest resources for the specified patient (how to search by reference)
SHALL support both read ServiceRequest by id
AND ServiceRequest search using the _id
search parameter:
GET [base]/ServiceRequest/[id]
or GET [base]/ServiceRequest?_id=[id]
Example:
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:
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)
patient
and code
search parameters:
code
(e.g.code={system|}[code],{system|}[code],...
)GET [base]/ServiceRequest?patient={Type/}[id]&code={system|}[code]{,{system|}[code],...}
Example:
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)
patient
and category
and authored
search parameters:
authored
comparators: gt,lt,ge,le
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:
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)
The following search parameter combinations SHOULD be supported:
patient
and status
search parameters:
status
(e.g.status={system|}[code],{system|}[code],...
)GET [base]/ServiceRequest?patient={Type/}[id]&status={system|}[code]{,{system|}[code],...}
Example:
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)
patient
and code
and authored
search parameters:
code
(e.g.code={system|}[code],{system|}[code],...
)authored
comparators: gt,lt,ge,le
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:
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)