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

QI-Core Implementation Guide, Clinical Quality Improvement WG - CI build for vesion 4.0.0). This version is based on the current content of https://github.com/cqframework/qi-core/ and changes regularly. See the Directory of published versions

D.4.1 StructureDefinition-qicore-devicerequest

Introduction:

See the patterns page for implementation and usage patterns.

Examples:

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

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

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

This profile builds on DeviceRequest.

This profile was published on Thu Jul 11 00:00:00 UTC 2019 as a draft by Health Level Seven, Inc. - CQI WG.

Description of Profiles, Differentials, and Snapshots.

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceRequest I0..*Medical 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)
Max Binding: AllLanguages
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... request-doNotPerform ?!SI0..1booleantrue if request is prohibiting action
URL: http://hl7.org/fhir/StructureDefinition/request-doNotPerform
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ0..*IdentifierExternal 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 ?!SΣ0..1codedraft | active | suspended | completed | entered-in-error | cancelled
Binding: RequestStatus (required)
... intent ?!SΣ1..1codeproposal | plan | original-order | encoded | reflex-order
Binding: RequestIntent (required)
... priority Σ0..1codeIndicates how quickly the should be addressed with respect to other requests
Binding: RequestPriority (required)
... code[x] SΣ1..1Device requested
Binding: FHIRDeviceTypes (example)
.... codeReferenceReference(http://hl7.org/fhir/R4/device.html)
.... codeCodeableConceptCodeableConcept
... parameter I0..*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)
.... value[x] 0..1Value of detail
..... valueCodeableConceptCodeableConcept
..... valueQuantityQuantity
..... valueRangeRange
..... valueBooleanboolean
... subject SΣ1..1Reference(QICorePatient)Focus of request
... encounter SΣ0..1Reference(QICoreEncounter)Encounter motivating request
... occurrence[x] SΣ0..1Desired time or schedule for use
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
... authoredOn SΣ0..1dateTimeWhen recorded
... requester SΣ0..1Reference(QICoreDevice | QICorePractitioner | QICorePractitionerRole | QICoreOrganization)Who/what is requesting diagnostics
... performerType Σ0..1CodeableConceptFiller role
Binding: ParticipantRoles (example)
... performer SΣ0..1Reference(QICorePractitioner | QICorePractitionerRole | QICoreOrganization | QICoreCareTeam | QICorePatient | QICoreDevice | QICoreRelatedPerson)Requested Filler
... reasonCode Σ0..*CodeableConceptCoded Reason for request
Binding: Condition/Problem/DiagnosisCodes (example)
... reasonReference SΣ0..*Reference(QICoreCondition | QICoreObservation)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

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. DeviceRequest I0..*Medical 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)
Max Binding: AllLanguages
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... request-doNotPerform ?!SI0..1booleantrue if request is prohibiting action
URL: http://hl7.org/fhir/StructureDefinition/request-doNotPerform
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ0..*IdentifierExternal 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 ?!SΣ0..1codedraft | active | suspended | completed | entered-in-error | cancelled
Binding: RequestStatus (required)
... intent ?!SΣ1..1codeproposal | plan | original-order | encoded | reflex-order
Binding: RequestIntent (required)
... priority Σ0..1codeIndicates how quickly the should be addressed with respect to other requests
Binding: RequestPriority (required)
... code[x] SΣ1..1Device requested
Binding: FHIRDeviceTypes (example)
.... codeReferenceReference(http://hl7.org/fhir/R4/device.html)
.... codeCodeableConceptCodeableConcept
... parameter I0..*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)
.... value[x] 0..1Value of detail
..... valueCodeableConceptCodeableConcept
..... valueQuantityQuantity
..... valueRangeRange
..... valueBooleanboolean
... subject SΣ1..1Reference(QICorePatient)Focus of request
... encounter SΣ0..1Reference(QICoreEncounter)Encounter motivating request
... occurrence[x] SΣ0..1Desired time or schedule for use
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
.... occurrenceTimingTiming
... authoredOn SΣ0..1dateTimeWhen recorded
... requester SΣ0..1Reference(QICoreDevice | QICorePractitioner | QICorePractitionerRole | QICoreOrganization)Who/what is requesting diagnostics
... performerType Σ0..1CodeableConceptFiller role
Binding: ParticipantRoles (example)
... performer SΣ0..1Reference(QICorePractitioner | QICorePractitionerRole | QICoreOrganization | QICoreCareTeam | QICorePatient | QICoreDevice | QICoreRelatedPerson)Requested Filler
... reasonCode Σ0..*CodeableConceptCoded Reason for request
Binding: Condition/Problem/DiagnosisCodes (example)
... reasonReference SΣ0..*Reference(QICoreCondition | QICoreObservation)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

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathConformanceValueSet
DeviceRequest.languagepreferredCommonLanguages
Max Binding: AllLanguages
DeviceRequest.statusrequiredRequestStatus
DeviceRequest.intentrequiredRequestIntent
DeviceRequest.priorityrequiredRequestPriority
DeviceRequest.code[x]exampleFHIRDeviceTypes
DeviceRequest.parameter.codeexample
DeviceRequest.performerTypeexampleParticipantRoles
DeviceRequest.reasonCodeexampleCondition/Problem/DiagnosisCodes

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2DeviceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-4DeviceRequestIf 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-3DeviceRequestIf 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-6DeviceRequestA resource should have narrative for robust management
: text.div.exists()
dom-5DeviceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
ele-1DeviceRequest.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DeviceRequest.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DeviceRequest.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1DeviceRequest.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1DeviceRequest.parameterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())