QI-Core Implementation Guide: STU 4 (v4.0.0 for FHIR 4.0.1)

QI-Core Implementation Guide - This is the current published version.. See the Directory of published versions

D.4.1 StructureDefinition-qicore-deviceusestatement

Introduction:

See the patterns page for implementation and usage patterns.

Examples:

The provision of a wheelchair to a patient example

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

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

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

This profile builds on DeviceUseStatement.

This profile was published on Wed Aug 22 00:00:00 UTC 2018 as a draft by Health Level Seven, Inc. - CQI WG.

Description of Profiles, Differentials, and Snapshots.

Summary

Must-Support: 6 elements

Structures

This structure refers to these other structures:

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceUseStatement I0..*DeviceUseStatementRecord of use of a device
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierExternal identifier for this record
... basedOn ΣI0..*Reference(ServiceRequest)Fulfills plan, proposal or order
... status ?!SΣI1..1codeactive | completed | entered-in-error +
Binding: DeviceUseStatementStatus (required)
... subject SΣI1..1Reference(QICorePatient)Patient using device
... derivedFrom ΣI0..*Reference(ServiceRequest | Procedure | Claim | Observation | QuestionnaireResponse | DocumentReference)Supporting information
... timing[x] SΣI0..1How often the device was used
.... timingTimingTiming
.... timingPeriodPeriod
.... timingDateTimedateTime
... recordedOn SΣI0..1dateTimeWhen statement was recorded
... source ΣI0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson)Who made the statement
... device SΣI1..1Reference(QICoreDevice)Reference to device used
... reasonCode ΣI0..*CodeableConceptWhy device was used
... reasonReference ΣI0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media)Why was DeviceUseStatement performed?
... bodySite SΣI0..1CodeableConceptTarget body site
Binding: SNOMEDCTBodyStructures (example)
... note I0..*AnnotationAddition details (comments, instructions)

doco Documentation for this format

Summary

Must-Support: 6 elements

Structures

This structure refers to these other structures:

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceUseStatement I0..*DeviceUseStatementRecord of use of a device
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierExternal identifier for this record
... basedOn ΣI0..*Reference(ServiceRequest)Fulfills plan, proposal or order
... status ?!SΣI1..1codeactive | completed | entered-in-error +
Binding: DeviceUseStatementStatus (required)
... subject SΣI1..1Reference(QICorePatient)Patient using device
... derivedFrom ΣI0..*Reference(ServiceRequest | Procedure | Claim | Observation | QuestionnaireResponse | DocumentReference)Supporting information
... timing[x] SΣI0..1How often the device was used
.... timingTimingTiming
.... timingPeriodPeriod
.... timingDateTimedateTime
... recordedOn SΣI0..1dateTimeWhen statement was recorded
... source ΣI0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson)Who made the statement
... device SΣI1..1Reference(QICoreDevice)Reference to device used
... reasonCode ΣI0..*CodeableConceptWhy device was used
... reasonReference ΣI0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference | Media)Why was DeviceUseStatement performed?
... bodySite SΣI0..1CodeableConceptTarget body site
Binding: SNOMEDCTBodyStructures (example)
... note I0..*AnnotationAddition details (comments, instructions)

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

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

D.4.1.3 Constraints

Constraints

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