QI-Core Implementation Guide
6.0.0 - STU6 United States of America flag

This page is part of the Quality Improvement Core Framework (v6.0.0: STU6 (v6.0.0)) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Resource Profile: QICore DeviceRequest

Official URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-devicerequest Version: 6.0.0
Active as of 2019-07-11 Computable Name: QICoreDeviceRequest

Profile of DeviceRequest for decision support/quality metrics. Defines the core set of elements and extensions for quality rule and measure authors.

Usage

The FHIR R4 and the QI-Core DeviceRequest profile describes the request to use of a device by a patient. The device may be any pertinent device specified in the Device resource. Examples of devices that may be requested include a wheelchair, hearing aids, or an insulin pump. The request may lead to the dispensing of the device to the patient or for use by the patient. Orders or recommendations for use of a device for a patient use the ServiceRequest resource.

To create an expression specifically requesting information that a DeviceRequest intentionally did not occur for a medical, patient or system reason, use the profile QICore-Devicenotrequested.

The following example illustrates the use of DeviceRequest:

define "Device Indicating Frailty":
  [DeviceRequest: "Frailty Device"] FrailtyDeviceOrder
    where FrailtyDeviceOrder.status in { 'active', 'on-hold', 'completed' }
      and FrailtyDeviceOrder.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }

See the patterns page for implementation and usage patterns.

Examples

General DeviceRequest Example

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from DeviceRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceRequest DeviceRequest
... modifierExtension:doNotPerform ?!0..1R5 DeviceRequest.doNotPerform(QI-Core) Extension
.... value[x] 1..1boolean(QI-Core) Value of extension
Fixed Value: false
... identifier 0..*Identifier(QI-Core) External Request identifier
... status 0..1code(QI-Core) draft | active | on-hold | revoked | completed | entered-in-error | unknown
... code[x] 1..1Reference(Device), CodeableConcept(QI-Core) Device requested
Binding: FHIRDeviceTypes (preferred)
... subject 1..1Reference(QICore Patient)(QI-Core) Focus of request
... authoredOn 0..1dateTime(QI-Core) When recorded

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
DeviceRequest.code[x]preferredFHIRDeviceTypes
http://hl7.org/fhir/ValueSet/device-kind
from the FHIR Standard
NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceRequest 0..*DeviceRequestMedical device request
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for modifierExtension ?!0..*ExtensionExtension
Slice: Unordered, Open by value:url
... modifierExtension:doNotPerform ?!0..1R5 DeviceRequest.doNotPerform(QI-Core) Extension
.... extension 0..0
.... url 1..1uri"http://hl7.org/fhir/5.0/StructureDefinition/extension-DeviceRequest.doNotPerform"
.... value[x] 1..1boolean(QI-Core) Value of extension
Fixed Value: false
... status ?!Σ0..1code(QI-Core) draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): Codes representing the status of the request.

... intent ?!Σ1..1code(QI-Core) proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of diagnostic request.

... code[x] Σ1..1(QI-Core) Device requested
Binding: FHIRDeviceTypes (preferred)
.... codeReferenceReference(Device)
.... codeCodeableConceptCodeableConcept
... subject Σ1..1Reference(QICore Patient)(QI-Core) Focus of request
... authoredOn Σ0..1dateTime(QI-Core) When recorded

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
DeviceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
DeviceRequest.intentrequiredRequestIntent
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
DeviceRequest.code[x]preferredFHIRDeviceTypes
http://hl7.org/fhir/ValueSet/device-kind
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorDeviceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDeviceRequestIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorDeviceRequestIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorDeviceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDeviceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceRequest 0..*DeviceRequestMedical device request
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... Slices for modifierExtension ?!0..*ExtensionExtension
Slice: Unordered, Open by value:url
... modifierExtension:doNotPerform ?!0..1R5 DeviceRequest.doNotPerform(QI-Core) Extension
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"http://hl7.org/fhir/5.0/StructureDefinition/extension-DeviceRequest.doNotPerform"
.... value[x] 1..1boolean(QI-Core) Value of extension
Fixed Value: false
... identifier Σ0..*Identifier(QI-Core) External Request identifier
... instantiatesCanonical Σ0..*canonical(ActivityDefinition | PlanDefinition)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn Σ0..*Reference(Resource)What request fulfills
... priorRequest Σ0..*Reference(Resource)What request replaces
... groupIdentifier Σ0..1IdentifierIdentifier of composite request
... status ?!Σ0..1code(QI-Core) draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): Codes representing the status of the request.

... intent ?!Σ1..1code(QI-Core) proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of diagnostic request.

... priority Σ0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

... code[x] Σ1..1(QI-Core) Device requested
Binding: FHIRDeviceTypes (preferred)
.... codeReferenceReference(Device)
.... codeCodeableConceptCodeableConcept
... parameter 0..*BackboneElementDevice details
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code 0..1CodeableConceptDevice detail
Binding: (unbound) (example): A code that identifies the device detail.

.... value[x] 0..1Value of detail
..... valueCodeableConceptCodeableConcept
..... valueQuantityQuantity
..... valueRangeRange
..... valueBooleanboolean
... subject Σ1..1Reference(QICore Patient)(QI-Core) Focus of request
... encounter Σ0..1Reference(Encounter)Encounter motivating request
... occurrence[x] Σ0..1Desired time or schedule for use
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
... authoredOn Σ0..1dateTime(QI-Core) When recorded
... requester Σ0..1Reference(Device | Practitioner | PractitionerRole | Organization)Who/what is requesting diagnostics
... performerType Σ0..1CodeableConceptFiller role
Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.

... performer Σ0..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson)Requested Filler
... reasonCode Σ0..*CodeableConceptCoded Reason for request
Binding: Condition/Problem/DiagnosisCodes (example): Diagnosis or problem codes justifying the reason for requesting the device.


... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Linked Reason for request
... insurance 0..*Reference(Coverage | ClaimResponse)Associated insurance coverage
... supportingInfo 0..*Reference(Resource)Additional clinical information
... note 0..*AnnotationNotes or comments
... relevantHistory 0..*Reference(Provenance)Request provenance

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
DeviceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
DeviceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
DeviceRequest.intentrequiredRequestIntent
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
DeviceRequest.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
from the FHIR Standard
DeviceRequest.code[x]preferredFHIRDeviceTypes
http://hl7.org/fhir/ValueSet/device-kind
from the FHIR Standard
DeviceRequest.parameter.codeexample
DeviceRequest.performerTypeexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
from the FHIR Standard
DeviceRequest.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorDeviceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDeviceRequestIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorDeviceRequestIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorDeviceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDeviceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from DeviceRequest

Summary

Mandatory: 0 element (1 nested mandatory element)
Fixed Value: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Differential View

This structure is derived from DeviceRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceRequest DeviceRequest
... modifierExtension:doNotPerform ?!0..1R5 DeviceRequest.doNotPerform(QI-Core) Extension
.... value[x] 1..1boolean(QI-Core) Value of extension
Fixed Value: false
... identifier 0..*Identifier(QI-Core) External Request identifier
... status 0..1code(QI-Core) draft | active | on-hold | revoked | completed | entered-in-error | unknown
... code[x] 1..1Reference(Device), CodeableConcept(QI-Core) Device requested
Binding: FHIRDeviceTypes (preferred)
... subject 1..1Reference(QICore Patient)(QI-Core) Focus of request
... authoredOn 0..1dateTime(QI-Core) When recorded

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
DeviceRequest.code[x]preferredFHIRDeviceTypes
http://hl7.org/fhir/ValueSet/device-kind
from the FHIR Standard

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceRequest 0..*DeviceRequestMedical device request
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for modifierExtension ?!0..*ExtensionExtension
Slice: Unordered, Open by value:url
... modifierExtension:doNotPerform ?!0..1R5 DeviceRequest.doNotPerform(QI-Core) Extension
.... extension 0..0
.... url 1..1uri"http://hl7.org/fhir/5.0/StructureDefinition/extension-DeviceRequest.doNotPerform"
.... value[x] 1..1boolean(QI-Core) Value of extension
Fixed Value: false
... status ?!Σ0..1code(QI-Core) draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): Codes representing the status of the request.

... intent ?!Σ1..1code(QI-Core) proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of diagnostic request.

... code[x] Σ1..1(QI-Core) Device requested
Binding: FHIRDeviceTypes (preferred)
.... codeReferenceReference(Device)
.... codeCodeableConceptCodeableConcept
... subject Σ1..1Reference(QICore Patient)(QI-Core) Focus of request
... authoredOn Σ0..1dateTime(QI-Core) When recorded

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
DeviceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
DeviceRequest.intentrequiredRequestIntent
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
DeviceRequest.code[x]preferredFHIRDeviceTypes
http://hl7.org/fhir/ValueSet/device-kind
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorDeviceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDeviceRequestIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorDeviceRequestIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorDeviceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDeviceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceRequest 0..*DeviceRequestMedical device request
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... Slices for modifierExtension ?!0..*ExtensionExtension
Slice: Unordered, Open by value:url
... modifierExtension:doNotPerform ?!0..1R5 DeviceRequest.doNotPerform(QI-Core) Extension
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"http://hl7.org/fhir/5.0/StructureDefinition/extension-DeviceRequest.doNotPerform"
.... value[x] 1..1boolean(QI-Core) Value of extension
Fixed Value: false
... identifier Σ0..*Identifier(QI-Core) External Request identifier
... instantiatesCanonical Σ0..*canonical(ActivityDefinition | PlanDefinition)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn Σ0..*Reference(Resource)What request fulfills
... priorRequest Σ0..*Reference(Resource)What request replaces
... groupIdentifier Σ0..1IdentifierIdentifier of composite request
... status ?!Σ0..1code(QI-Core) draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): Codes representing the status of the request.

... intent ?!Σ1..1code(QI-Core) proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): The kind of diagnostic request.

... priority Σ0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

... code[x] Σ1..1(QI-Core) Device requested
Binding: FHIRDeviceTypes (preferred)
.... codeReferenceReference(Device)
.... codeCodeableConceptCodeableConcept
... parameter 0..*BackboneElementDevice details
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code 0..1CodeableConceptDevice detail
Binding: (unbound) (example): A code that identifies the device detail.

.... value[x] 0..1Value of detail
..... valueCodeableConceptCodeableConcept
..... valueQuantityQuantity
..... valueRangeRange
..... valueBooleanboolean
... subject Σ1..1Reference(QICore Patient)(QI-Core) Focus of request
... encounter Σ0..1Reference(Encounter)Encounter motivating request
... occurrence[x] Σ0..1Desired time or schedule for use
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
... authoredOn Σ0..1dateTime(QI-Core) When recorded
... requester Σ0..1Reference(Device | Practitioner | PractitionerRole | Organization)Who/what is requesting diagnostics
... performerType Σ0..1CodeableConceptFiller role
Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.

... performer Σ0..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson)Requested Filler
... reasonCode Σ0..*CodeableConceptCoded Reason for request
Binding: Condition/Problem/DiagnosisCodes (example): Diagnosis or problem codes justifying the reason for requesting the device.


... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Linked Reason for request
... insurance 0..*Reference(Coverage | ClaimResponse)Associated insurance coverage
... supportingInfo 0..*Reference(Resource)Additional clinical information
... note 0..*AnnotationNotes or comments
... relevantHistory 0..*Reference(Provenance)Request provenance

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
DeviceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
DeviceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
DeviceRequest.intentrequiredRequestIntent
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
DeviceRequest.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
from the FHIR Standard
DeviceRequest.code[x]preferredFHIRDeviceTypes
http://hl7.org/fhir/ValueSet/device-kind
from the FHIR Standard
DeviceRequest.parameter.codeexample
DeviceRequest.performerTypeexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
from the FHIR Standard
DeviceRequest.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorDeviceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDeviceRequestIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorDeviceRequestIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorDeviceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceDeviceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from DeviceRequest

Summary

Mandatory: 0 element (1 nested mandatory element)
Fixed Value: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron