QI-Core Implementation Guide: STU 3.2 (v3.2.0 for FHIR 3.0.1)

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

D.4.1 StructureDefinition-qicore-substance

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 AEST 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: Common Languages (extensible)
Max Binding: All Languages
... text I0..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: Substance Category Codes (extensible)
... code SΣ1..1CodeableConceptWhat substance this is
Binding: Substance Code (example)
... description Σ0..1stringTextual description of the substance, comments
... instance ΣI0..*BackboneElementIf this describes a specific package/container of the substance
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... 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..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... quantity SΣ0..1RatioOptional amount (concentration)
.... substanceReference SΣ1..1Reference(QICore-Substance)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: Common Languages (extensible)
Max Binding: All Languages
... text I0..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: Substance Category Codes (extensible)
... code SΣ1..1CodeableConceptWhat substance this is
Binding: Substance Code (example)
... description Σ0..1stringTextual description of the substance, comments
... instance ΣI0..*BackboneElementIf this describes a specific package/container of the substance
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... 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..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... quantity SΣ0..1RatioOptional amount (concentration)
.... substanceReference SΣ1..1Reference(QICore-Substance)A component of the substance

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathConformanceValueSet
Substance.codeexampleSubstance Code

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-1SubstanceIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.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
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
ele-1Substance.instanceAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Substance.ingredientAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())