QI-Core Implementation Guide: STU Ballot (v3.3.0 for FHIR 4.0.0)

Quality Improvement Core Framework (v3.3.0: STU 4 Ballot 1). The current version is 3.2.0 based on FHIR R4. See the Directory of published versions

D.4.1 StructureDefinition-qicore-substance

Introduction:

See the patterns page for implementation and usage patterns.

Examples:

Honey Bee venom (apitoxin) 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-substance

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

This profile builds on Substance.

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

Description of Profiles, Differentials, and Snapshots.

Summary

Must-Support: 4 elements

Structures

This structure refers to these other structures:

NameFlagsCard.TypeDescription & Constraintsdoco
.. Substance I0..*A homogeneous material with a definite composition
... 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..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierUnique identifier
... status ?!Σ0..1codeactive | inactive | entered-in-error
Binding: FHIRSubstanceStatus (required)
... category Σ0..*CodeableConceptWhat class/type of substance this is
Binding: SubstanceCategoryCodes (extensible)
... code SΣ1..1CodeableConceptWhat substance this is
Binding: SubstanceCode (example)
... description Σ0..1stringTextual description of the substance, comments
... instance ΣI0..*BackboneElementIf this describes a specific package/container of the substance
.... 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
.... identifier Σ0..1IdentifierIdentifier of the package/container
.... expiry Σ0..1dateTimeWhen no longer valid to use
.... quantity SΣ0..1SimpleQuantityAmount of substance in the package
... ingredient ΣI0..*BackboneElementComposition information about the substance
.... 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
.... quantity SΣ0..1RatioOptional amount (concentration)
.... substance[x] SΣ1..1Reference(QICoreSubstance)A component of the substance

doco Documentation for this format

Summary

Must-Support: 4 elements

Structures

This structure refers to these other structures:

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Substance I0..*A homogeneous material with a definite composition
... 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..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierUnique identifier
... status ?!Σ0..1codeactive | inactive | entered-in-error
Binding: FHIRSubstanceStatus (required)
... category Σ0..*CodeableConceptWhat class/type of substance this is
Binding: SubstanceCategoryCodes (extensible)
... code SΣ1..1CodeableConceptWhat substance this is
Binding: SubstanceCode (example)
... description Σ0..1stringTextual description of the substance, comments
... instance ΣI0..*BackboneElementIf this describes a specific package/container of the substance
.... 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
.... identifier Σ0..1IdentifierIdentifier of the package/container
.... expiry Σ0..1dateTimeWhen no longer valid to use
.... quantity SΣ0..1SimpleQuantityAmount of substance in the package
... ingredient ΣI0..*BackboneElementComposition information about the substance
.... 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
.... quantity SΣ0..1RatioOptional amount (concentration)
.... substance[x] SΣ1..1Reference(QICoreSubstance)A component of the substance

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathConformanceValueSet
Substance.languagepreferredCommonLanguages
Max Binding: AllLanguages
Substance.statusrequiredFHIRSubstanceStatus
Substance.categoryextensibleSubstanceCategoryCodes
Substance.codeexampleSubstanceCode

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2SubstanceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-4SubstanceIf 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-3SubstanceIf 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-6SubstanceA resource should have narrative for robust management
: text.div.exists()
dom-5SubstanceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
ele-1Substance.instanceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Substance.ingredientAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())