QI-Core Implementation Guide
4.1.0 - release

This page is part of the Quality Improvement Core Framework (v4.1.0: STU 4) based on FHIR R4. The current version which supercedes this version is 4.1.1. For a full list of available versions, see the Directory of published versions

Resource Profile: QICoreDeviceUseStatement

Defining URL:http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-deviceusestatement
Version:4.1.0
Name:QICoreDeviceUseStatement
Status:Draft as of 8/22/18
Definition:

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

Publisher:http://www.hl7.org/Special/committees/cqi/index.cfm
Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-deviceusestatement
Usage

See the patterns page for implementation and usage patterns.

Examples

The provision of a wheelchair to a patient example

Formal Views of Profile Content

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

This structure is derived from DeviceUseStatement

This structure is derived from DeviceUseStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceUseStatement 0..*DeviceUseStatementRecord of use of a device
... status S1..1codeactive | completed | entered-in-error +
... subject S1..1Reference(QICorePatient)Patient using device
... timing[x] S0..1Timing, Period, dateTimeHow often the device was used
... device S1..1Reference(QICoreDevice)Reference to device used
... bodySite S0..1CodeableConceptTarget body site

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceUseStatement 0..*DeviceUseStatementRecord of use of a device
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal identifier for this record
... basedOn Σ0..*Reference(ServiceRequest)Fulfills plan, proposal or order
... status ?!SΣ1..1codeactive | completed | entered-in-error +
Binding: DeviceUseStatementStatus (required): A coded concept indicating the current status of the Device Usage.

... subject SΣ1..1Reference(QICorePatient)Patient using device
... derivedFrom Σ0..*Reference(ServiceRequest | Procedure | Claim | Observation | QuestionnaireResponse | DocumentReference)Supporting information
... timing[x] SΣ0..1How often the device was used
.... timingTimingTiming
.... timingPeriodPeriod
.... timingDateTimedateTime
... recordedOn SΣ0..1dateTimeWhen statement was recorded
... source Σ0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson)Who made the statement
... device SΣ1..1Reference(QICoreDevice)Reference to device used
... reasonCode Σ0..*CodeableConceptWhy device was used
... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media)Why was DeviceUseStatement performed?
... bodySite SΣ0..1CodeableConceptTarget body site
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.

... note 0..*AnnotationAddition details (comments, instructions)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceUseStatement 0..*DeviceUseStatementRecord of use of a device
... status ?!Σ1..1codeactive | completed | entered-in-error +
Binding: DeviceUseStatementStatus (required): A coded concept indicating the current status of the Device Usage.

... subject Σ1..1Reference(QICorePatient)Patient using device
... timing[x] Σ0..1How often the device was used
.... timingTimingTiming
.... timingPeriodPeriod
.... timingDateTimedateTime
... device Σ1..1Reference(QICoreDevice)Reference to device used
... bodySite Σ0..1CodeableConceptTarget body site
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


doco Documentation for this format

This structure is derived from DeviceUseStatement

Differential View

This structure is derived from DeviceUseStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceUseStatement 0..*DeviceUseStatementRecord of use of a device
... status S1..1codeactive | completed | entered-in-error +
... subject S1..1Reference(QICorePatient)Patient using device
... timing[x] S0..1Timing, Period, dateTimeHow often the device was used
... device S1..1Reference(QICoreDevice)Reference to device used
... bodySite S0..1CodeableConceptTarget body site

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceUseStatement 0..*DeviceUseStatementRecord of use of a device
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal identifier for this record
... basedOn Σ0..*Reference(ServiceRequest)Fulfills plan, proposal or order
... status ?!SΣ1..1codeactive | completed | entered-in-error +
Binding: DeviceUseStatementStatus (required): A coded concept indicating the current status of the Device Usage.

... subject SΣ1..1Reference(QICorePatient)Patient using device
... derivedFrom Σ0..*Reference(ServiceRequest | Procedure | Claim | Observation | QuestionnaireResponse | DocumentReference)Supporting information
... timing[x] SΣ0..1How often the device was used
.... timingTimingTiming
.... timingPeriodPeriod
.... timingDateTimedateTime
... recordedOn SΣ0..1dateTimeWhen statement was recorded
... source Σ0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson)Who made the statement
... device SΣ1..1Reference(QICoreDevice)Reference to device used
... reasonCode Σ0..*CodeableConceptWhy device was used
... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media)Why was DeviceUseStatement performed?
... bodySite SΣ0..1CodeableConceptTarget body site
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.

... note 0..*AnnotationAddition details (comments, instructions)

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
DeviceUseStatement.languagepreferredCommonLanguages
Max Binding: AllLanguages
DeviceUseStatement.statusrequiredDeviceUseStatementStatus
DeviceUseStatement.bodySiteexampleSNOMEDCTBodyStructures

Constraints

IdGradePathDetailsRequirements
dom-2errorDeviceUseStatementIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorDeviceUseStatementIf 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-4errorDeviceUseStatementIf 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-5errorDeviceUseStatementIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeDeviceUseStatementA resource should have narrative for robust management
: text.`div`.exists()
ele-1errorDeviceUseStatement.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDeviceUseStatement.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDeviceUseStatement.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDeviceUseStatement.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDeviceUseStatement.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDeviceUseStatement.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDeviceUseStatement.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorDeviceUseStatement.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorDeviceUseStatement.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDeviceUseStatement.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDeviceUseStatement.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDeviceUseStatement.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDeviceUseStatement.derivedFromAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDeviceUseStatement.timing[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDeviceUseStatement.recordedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDeviceUseStatement.sourceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDeviceUseStatement.deviceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDeviceUseStatement.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDeviceUseStatement.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDeviceUseStatement.bodySiteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorDeviceUseStatement.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())