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 10.0.0-ballot 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-devicerequest | Version: 10.0.0-ballot | |||
| Standards status: Trial-use | Maturity Level: 2 | Computable Name: USCoreDeviceRequestProfile | ||
| Other Identifiers: OID:2.16.840.1.113883.4.642.40.2.42.74 | ||||
The US Core DeviceRequest Profile inherits from the FHIR DeviceRequest resource; refer to it for scope and usage definitions. This profile meets the requirements of the U.S. Core Data for Interoperability (USCDI) Medical Device Order Data Element of the Orders Data Class. It sets minimum expectations for the DeviceRequest resource to record, search, and fetch orders for medical devices for a patient. It specifies which core elements, extensions, vocabularies, and value sets SHALL be present in the resource and constrains how the elements are used. Providing the floor for standards development for specific use cases promotes interoperability and adoption.
This artifact is new for US Core Version 10.0.0-ballot
Example Usage Scenarios:
The following are example usage scenarios for the US Core DeviceRequest 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 DeviceRequest Must Have:
Each DeviceRequest Must Support:
1,2 see guidance below
This section provides detailed implementation guidance for the US Core Profile to support implementation and certification.
DeviceRequest.codeCodeableConcept or as a reference using DeviceRequest.codeReference.
DeviceRequest.requester communicates the individual level provenance author data corresponding to the U.S. Core Data for Interoperability (USCDI) Provenance Author Data Elements.Usages:
You can also check for usages in the FHIR IG Statistics
Changes since version 9.0.0:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
0..* | DeviceRequest | Medical device request | |
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |
![]() ![]() |
0..* | Extension | Extensions that cannot be ignored | |
![]() ![]() |
1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required) | |
![]() ![]() |
1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required) | |
![]() ![]() |
1..1 | Device requested Binding: FHIRDeviceTypes (preferred) | ||
![]() ![]() ![]() |
CodeableConcept | |||
![]() ![]() ![]() |
Reference (US Core Device Profile) | |||
![]() ![]() |
1..1 | Reference(US Core Patient Profile | Group | US Core Location Profile | US Core Device Profile) | Focus of request | |
![]() ![]() |
0..1 | dateTime | When recorded | |
![]() ![]() |
0..1 | Reference(US Core Practitioner Profile | US Core PractitionerRole Profile | US Core Organization Profile | US Core Device Profile) | Who/what is requesting diagnostics | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| DeviceRequest.status | Base | required | RequestStatus | 📦4.0.1 | FHIR Std. |
| DeviceRequest.intent | Base | required | RequestIntent | 📦4.0.1 | FHIR Std. |
| DeviceRequest.code[x] | Base | preferred | FHIR Device Types | 📦4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
This structure is derived from DeviceRequest
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
0..* | DeviceRequest | Medical device request | |
![]() ![]() |
1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required) | |
![]() ![]() |
1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required) | |
![]() ![]() |
1..1 | Device requested Binding: FHIRDeviceTypes (preferred) | ||
![]() ![]() ![]() |
CodeableConcept | |||
![]() ![]() ![]() |
Reference (US Core Device Profile) | |||
![]() ![]() |
1..1 | Reference(US Core Patient Profile | Group | US Core Location Profile | US Core Device Profile) | Focus of request | |
![]() ![]() |
0..1 | dateTime | When recorded | |
![]() ![]() |
0..1 | Reference(US Core Practitioner Profile | US Core PractitionerRole Profile | US Core Organization Profile | US Core Device Profile) | Who/what is requesting diagnostics | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| DeviceRequest.status | Base | required | RequestStatus | 📦4.0.1 | FHIR Std. |
| DeviceRequest.intent | Base | required | RequestIntent | 📦4.0.1 | FHIR Std. |
| DeviceRequest.code[x] | Base | preferred | FHIR Device Types | 📦4.0.1 | FHIR Std. |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | DeviceRequest | Medical device request | |||||
![]() ![]() |
0..1 | id | Logical id of this artifact | |||||
![]() ![]() |
0..1 | Meta | Metadata about the resource | |||||
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
0..* | Extension | Extensions that cannot be ignored | |||||
![]() ![]() |
0..* | Identifier | External Request identifier | |||||
![]() ![]() |
0..* | canonical(ActivityDefinition | PlanDefinition) | Instantiates FHIR protocol or definition | |||||
![]() ![]() |
0..* | uri | Instantiates external protocol or definition | |||||
![]() ![]() |
0..* | Reference(Resource) | What request fulfills | |||||
![]() ![]() |
0..* | Reference(Resource) | What request replaces | |||||
![]() ![]() |
0..1 | Identifier | Identifier of composite request | |||||
![]() ![]() |
1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required) | |||||
![]() ![]() |
1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required) | |||||
![]() ![]() |
0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request. | |||||
![]() ![]() |
1..1 | Device requested Binding: FHIRDeviceTypes (preferred) | ||||||
![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() |
Reference (US Core Device Profile) | |||||||
![]() ![]() |
0..* | BackboneElement | Device details | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Device detail Binding Description: (example): A code that identifies the device detail. | |||||
![]() ![]() ![]() |
0..1 | Value of detail | ||||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() |
1..1 | Reference(US Core Patient Profile | Group | US Core Location Profile | US Core Device Profile) | Focus of request | |||||
![]() ![]() |
0..1 | Reference(Encounter) | Encounter motivating request | |||||
![]() ![]() |
0..1 | Desired time or schedule for use | ||||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() |
Timing | |||||||
![]() ![]() |
0..1 | dateTime | When recorded | |||||
![]() ![]() |
0..1 | Reference(US Core Practitioner Profile | US Core PractitionerRole Profile | US Core Organization Profile | US Core Device Profile) | Who/what is requesting diagnostics | |||||
![]() ![]() |
0..1 | CodeableConcept | Filler role Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc. | |||||
![]() ![]() |
0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) | Requested Filler | |||||
![]() ![]() |
0..* | CodeableConcept | Coded Reason for request Binding: Condition/Problem/DiagnosisCodes (example): Diagnosis or problem codes justifying the reason for requesting the device. | |||||
![]() ![]() |
0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Linked Reason for request | |||||
![]() ![]() |
0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage | |||||
![]() ![]() |
0..* | Reference(Resource) | Additional clinical information | |||||
![]() ![]() |
0..* | Annotation | Notes or comments | |||||
![]() ![]() |
0..* | Reference(Provenance) | Request provenance | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| DeviceRequest.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| DeviceRequest.status | Base | required | RequestStatus | 📦4.0.1 | FHIR Std. |
| DeviceRequest.intent | Base | required | RequestIntent | 📦4.0.1 | FHIR Std. |
| DeviceRequest.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std. |
| DeviceRequest.code[x] | Base | preferred | FHIR Device Types | 📦4.0.1 | FHIR Std. |
| DeviceRequest.parameter.code | Base | example | Not State | Unknown | |
| DeviceRequest.performerType | Base | example | Participant Roles | 📍4.0.1 | FHIR Std. |
| DeviceRequest.reasonCode | Base | example | Condition/Problem/Diagnosis Codes | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
This structure is derived from DeviceRequest
Summary
Mandatory: 4 elements
Must-Support: 6 elements
Structures
This structure refers to these other structures:
Maturity: 2
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
0..* | DeviceRequest | Medical device request | |
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |
![]() ![]() |
0..* | Extension | Extensions that cannot be ignored | |
![]() ![]() |
1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required) | |
![]() ![]() |
1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required) | |
![]() ![]() |
1..1 | Device requested Binding: FHIRDeviceTypes (preferred) | ||
![]() ![]() ![]() |
CodeableConcept | |||
![]() ![]() ![]() |
Reference (US Core Device Profile) | |||
![]() ![]() |
1..1 | Reference(US Core Patient Profile | Group | US Core Location Profile | US Core Device Profile) | Focus of request | |
![]() ![]() |
0..1 | dateTime | When recorded | |
![]() ![]() |
0..1 | Reference(US Core Practitioner Profile | US Core PractitionerRole Profile | US Core Organization Profile | US Core Device Profile) | Who/what is requesting diagnostics | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| DeviceRequest.status | Base | required | RequestStatus | 📦4.0.1 | FHIR Std. |
| DeviceRequest.intent | Base | required | RequestIntent | 📦4.0.1 | FHIR Std. |
| DeviceRequest.code[x] | Base | preferred | FHIR Device Types | 📦4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
Differential View
This structure is derived from DeviceRequest
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
0..* | DeviceRequest | Medical device request | |
![]() ![]() |
1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required) | |
![]() ![]() |
1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required) | |
![]() ![]() |
1..1 | Device requested Binding: FHIRDeviceTypes (preferred) | ||
![]() ![]() ![]() |
CodeableConcept | |||
![]() ![]() ![]() |
Reference (US Core Device Profile) | |||
![]() ![]() |
1..1 | Reference(US Core Patient Profile | Group | US Core Location Profile | US Core Device Profile) | Focus of request | |
![]() ![]() |
0..1 | dateTime | When recorded | |
![]() ![]() |
0..1 | Reference(US Core Practitioner Profile | US Core PractitionerRole Profile | US Core Organization Profile | US Core Device Profile) | Who/what is requesting diagnostics | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| DeviceRequest.status | Base | required | RequestStatus | 📦4.0.1 | FHIR Std. |
| DeviceRequest.intent | Base | required | RequestIntent | 📦4.0.1 | FHIR Std. |
| DeviceRequest.code[x] | Base | preferred | FHIR Device Types | 📦4.0.1 | FHIR Std. |
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | DeviceRequest | Medical device request | |||||
![]() ![]() |
0..1 | id | Logical id of this artifact | |||||
![]() ![]() |
0..1 | Meta | Metadata about the resource | |||||
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
0..* | Extension | Extensions that cannot be ignored | |||||
![]() ![]() |
0..* | Identifier | External Request identifier | |||||
![]() ![]() |
0..* | canonical(ActivityDefinition | PlanDefinition) | Instantiates FHIR protocol or definition | |||||
![]() ![]() |
0..* | uri | Instantiates external protocol or definition | |||||
![]() ![]() |
0..* | Reference(Resource) | What request fulfills | |||||
![]() ![]() |
0..* | Reference(Resource) | What request replaces | |||||
![]() ![]() |
0..1 | Identifier | Identifier of composite request | |||||
![]() ![]() |
1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required) | |||||
![]() ![]() |
1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required) | |||||
![]() ![]() |
0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request. | |||||
![]() ![]() |
1..1 | Device requested Binding: FHIRDeviceTypes (preferred) | ||||||
![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() |
Reference (US Core Device Profile) | |||||||
![]() ![]() |
0..* | BackboneElement | Device details | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Device detail Binding Description: (example): A code that identifies the device detail. | |||||
![]() ![]() ![]() |
0..1 | Value of detail | ||||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() |
1..1 | Reference(US Core Patient Profile | Group | US Core Location Profile | US Core Device Profile) | Focus of request | |||||
![]() ![]() |
0..1 | Reference(Encounter) | Encounter motivating request | |||||
![]() ![]() |
0..1 | Desired time or schedule for use | ||||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() |
Timing | |||||||
![]() ![]() |
0..1 | dateTime | When recorded | |||||
![]() ![]() |
0..1 | Reference(US Core Practitioner Profile | US Core PractitionerRole Profile | US Core Organization Profile | US Core Device Profile) | Who/what is requesting diagnostics | |||||
![]() ![]() |
0..1 | CodeableConcept | Filler role Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc. | |||||
![]() ![]() |
0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) | Requested Filler | |||||
![]() ![]() |
0..* | CodeableConcept | Coded Reason for request Binding: Condition/Problem/DiagnosisCodes (example): Diagnosis or problem codes justifying the reason for requesting the device. | |||||
![]() ![]() |
0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Linked Reason for request | |||||
![]() ![]() |
0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage | |||||
![]() ![]() |
0..* | Reference(Resource) | Additional clinical information | |||||
![]() ![]() |
0..* | Annotation | Notes or comments | |||||
![]() ![]() |
0..* | Reference(Provenance) | Request provenance | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| DeviceRequest.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| DeviceRequest.status | Base | required | RequestStatus | 📦4.0.1 | FHIR Std. |
| DeviceRequest.intent | Base | required | RequestIntent | 📦4.0.1 | FHIR Std. |
| DeviceRequest.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std. |
| DeviceRequest.code[x] | Base | preferred | FHIR Device Types | 📦4.0.1 | FHIR Std. |
| DeviceRequest.parameter.code | Base | example | Not State | Unknown | |
| DeviceRequest.performerType | Base | example | Participant Roles | 📍4.0.1 | FHIR Std. |
| DeviceRequest.reasonCode | Base | example | Condition/Problem/Diagnosis Codes | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
This structure is derived from DeviceRequest
Summary
Mandatory: 4 elements
Must-Support: 6 elements
Structures
This structure refers to these other structures:
Maturity: 2
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 medical device order data SHALL support these US Core SMART Scopes:
<patient|user|system>/DeviceRequest.rs §The following search parameters and search parameter combinations SHALL be supported:
SHALL support both read DeviceRequest by id AND DeviceRequest search using the _id search parameter
GET [base]/DeviceRequest?_id=[id]' or 'GET [base]/DeviceRequest/[id]
Examples:
GET [base]/DeviceRequest/12354
GET [base]/DeviceRequest?_id=12354
Implementation Notes: Fetches a single US Core DeviceRequest Profile or a search Bundle containing a US Core DeviceRequest Profile resource matching the id (see Parameters for all resources).
SHALL support searching for all device requests for a patient using the patient search parameter
GET [base]/DeviceRequest?patient={Patient/}[id]
Example:
- GET [base]/DeviceRequest?patient=Patient/1137192
Implementation Notes: Fetches a bundle of all US Core DeviceRequest Profile resources for the specified patient ( see how to search by reference).
The following search parameters and search parameter combinations SHOULD be supported
SHOULD support searching for all device requests for a patient by device code using the combination of the patient and code search parameters
code (e.g.code={system|}[code],{system|}[code],...)GET [base]/DeviceRequest?patient={Patient/}[id]&code={system|}[search_code]{,{system|}[code],...}
Example:
- GET [base]/DeviceRequest?patient=Patient/1137192&code=http://snomed.info/sct|69805005
Implementation Notes: Fetches a bundle of all US Core DeviceRequest Profile resources for the specified patient and device code(s). SHOULD support search by multiple codes. The code search parameter matches only codeCodeableConcept, so a US Core DeviceRequest Profile that names the device with codeReference is not returned. ( see how to search by reference and how to search by token).
SHOULD support searching for all device requests for a patient by status (for example, all active orders) using the combination of the patient and status search parameters
GET [base]/DeviceRequest?patient={Patient/}[id]&status={system|}[search_code]
Example:
- GET [base]/DeviceRequest?patient=Patient/1137192&status=active
Implementation Notes: Fetches a bundle of all US Core DeviceRequest Profile resources for the specified patient and status ( see how to search by reference and how to search by token).
SHOULD support searching for all device requests for a patient by device code and date using the combination of the patient and code and authored-on search parameters
Including optional support OR search on code (e.g.code={system|}[code],{system|}[code],...)
Including optional support for AND search on authored-on (e.g.authored-on=[date]&authored-on=[date]&...)
Including support for these authored-on comparators: "gt", "lt", "ge", "le"
GET [base]/DeviceRequest?patient={Patient/}[id]&code={system|}[search_code]{,{system|}[code],...}&authored-on={gt|lt|ge|le}[dateTime]{&date={gt|lt|ge|le}[dateTime]&...}
Example:
- GET [base]/DeviceRequest?patient=Patient/1137192&code=http://snomed.info/sct|69805005&authored-on=ge2026-01-01T00:00:00Z
Implementation Notes: Fetches a bundle of all US Core DeviceRequest Profile resources for the specified patient, device code(s), and date. The code search parameter matches only codeCodeableConcept, so a US Core DeviceRequest Profile that names the device with codeReference is not returned. ( see how to search by reference and how to search by token and how to search by date).