QI-Core Implementation Guide
7.0.0 - STU7 United States of America flag

QI-Core Implementation Guide, published by HL7 International / Clinical Quality Information. This guide is not an authorized publication; it is the continuous build for version 7.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-qi-core/ and changes regularly. See the Directory of published versions

Resource Profile: QICore DeviceRequested

Official URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-devicerequested Version: 7.0.0
Active as of 2019-07-11 Computable Name: QICoreDeviceRequested

Positive profile of DeviceRequest for decision support/quality metrics. Indicates a proposal, plan, or order for a device.

"Must Have", "QI Elements" and "primary code path" are defined in the QI-Core Must Support section.
QI Elements:
  • modifierExtension(doNotPerform): (QI) Extension
  • modifierExtension(doNotPerform): (QI) Extension
  • modifierExtension.value[x]: (QI) Value of extension
  • identifier: (QI) External Request identifier
  • status: (QI) draft | active | on-hold | revoked | completed | entered-in-error | unknown
  • intent: (QI) proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
  • code[x]: (QI) Device requested
  • code[x].extension(codeOptions): (QI) Url of a value set of candidate devices
  • subject: (QI) Focus of request
  • authoredOn: (QI) When recorded
Primary code path: code
(PCPath) This element is the primary code path for this resource CQL Retrieve


NOTE TO BALLOT REVIEWERS:
  • US Core 7.0, and thus QI-Core 7.0, has a new approach to USCDI requirements.
    • As noted in the US Core 7.0 Must Support section, US Core 7.0 no longer highlights mandatory (cardinality 1..* or 1..1) and Must Support elements with a (USCDI) indicator as such items must be supported for interoperability.
    • Those USCDI elements that are not mandatory or Must Support now include an indicator (ADDITIONAL USCDI) in US Core. QI-Core 7.0 does not reference USCDI elements; rather, users should access US Core 7.0 to understand its implementation of USCDI version 4.
  • We invite comments about the approach and suggestions for other options that would also avoid unnecessary noise or reading load to the QI-Core profile representation.
  • Further, QI-Core 7.0 does not discuss USCDI+Quality because at the time of ballot preparation, no published version of USCDI+Quality is available. We seek reviewer advice regarding how QI-Core might address future USCDI+Quality.

Usage

The DeviceRequest profile defines the conformance expectations for a DeviceRequest, regardless of whether it is a positive or negative statement. The DeviceRequested and DeviceProhibited profiles derive from DeviceRequest and represent the positive and negative statements for a device request.

To create an expression indicating existence of a request for a device use the profile QICoreDeviceRequested; to specifically request information that a DeviceRequest intentionally did not occur for a medical, patient or system reason, use the profile QICoreDeviceProhibited.

The following example illustrates the use of DeviceRequested:

define "Device Indicating Frailty":
  [DeviceRequested: "Frailty Device"] FrailtyDeviceOrder
    where FrailtyDeviceOrder.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }

Note that the doNotPerform and statuses indicating positive intent are implied by the use of the DeviceRequested profile.

See the patterns page for implementation and usage patterns.

Examples

General DeviceRequested Example

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceRequest C 0..* QICoreDeviceRequest Medical device request
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
drq-1: to indicate what device, either at least one coding in the code or a codeOptions extension shall be provided
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for modifierExtension ?! 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... modifierExtension:doNotPerform ?! 0..1 R5 DeviceRequest.doNotPerform (QI) Extension
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension 0..0
..... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-DeviceRequest.doNotPerform"
..... value[x] 1..1 boolean (QI) Value of extension
ele-1: All FHIR elements must have a @value or children
Fixed Value: false
... status ?!Σ 0..1 code (QI) draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): Codes representing the status of the request.


ele-1: All FHIR elements must have a @value or children
... code[x] ΣC 1..1 (QI) Device requested
Binding: FHIRDeviceTypes (preferred)
ele-1: All FHIR elements must have a @value or children
.... code[x]All Types Content/Rules for all Types
..... Slices for extension Content/Rules for all slices
...... codeOptions C 0..1 canonical(ValueSet) (QI) Url of a value set of candidate devices
URL: http://hl7.org/fhir/StructureDefinition/codeOptions
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... codeReference Reference(QICore Device)
.... codeCodeableConcept CodeableConcept
... subject Σ 1..1 Reference(QICore Patient) (QI) Focus of request
ele-1: All FHIR elements must have a @value or children

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()
drq-1errorDeviceRequestto indicate what device, either at least one coding in the code or a codeOptions extension shall be provided
: (code is Reference).not() implies code.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').exists() xor code.coding.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()

 

Other representations of profile: CSV, Excel, Schematron