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-immunization

Examples:

Example of Influenza immunization shot

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

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

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

This profile builds on US Core Immunization Profile.

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.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization I0..*US Core Immunization Profile
... 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..*IdentifierBusiness identifier
... status ?!SΣ1..1codecompleted | entered-in-error
Binding: Immunization Status Codes (required)
... notGiven ?!SΣ1..1booleanFlag for whether immunization was given
... vaccineCode SI1..1CodeableConceptVaccine Product Type (bind to CVX)
Binding: Vaccine Administered Value Set (CVX) (preferred)
... patient S1..1Reference(QICore-Patient)Who was immunized
... encounter S0..1Reference(QICore-Encounter)Encounter administered as part of
... date S1..1dateTimeVaccination administration date
... primarySource S1..1booleanIndicates context the data was recorded in
... reportOrigin 0..1CodeableConceptIndicates the source of a secondarily reported record
Binding: Immunization Origin Codes (example)
... location 0..1Reference(QICore-Location)Where vaccination occurred
... manufacturer 0..1Reference(QICore-Organization)Vaccine manufacturer
... lotNumber 0..1stringVaccine lot number
... expirationDate 0..1dateVaccine expiration date
... site 0..1CodeableConceptBody site vaccine was administered
Binding: Codes for Immunization Site of Administration (example)
... route S0..1CodeableConceptHow vaccine entered body
Binding: Immunization Route Codes (example)
... doseQuantity S0..1SimpleQuantityAmount of vaccine administered
... practitioner ΣI0..*BackboneElementWho performed event
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... role Σ0..1CodeableConceptWhat type of performance was done
Binding: Immunization Role Codes (extensible)
.... actor Σ1..1Reference(Practitioner)Individual who was performing
... note Σ0..*AnnotationVaccination notes
... explanation I0..1BackboneElementAdministration/non-administration reasons
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... reason S0..*CodeableConceptWhy immunization occurred
Binding: Immunization Reason Codes (example)
.... reasonNotGiven S0..*CodeableConceptWhy immunization did not occur
Binding: Immunization Reasons for Not Immunizing Codes (example)
... reaction I0..*BackboneElementDetails of a reaction that follows immunization
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... date 0..1dateTimeWhen reaction started
.... detail 0..1Reference(QICore-Observation)Additional information on reaction
.... reported 0..1booleanIndicates self-reported reaction
... vaccinationProtocol I0..*BackboneElementWhat protocol was followed
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... doseSequence 0..1positiveIntDose number within series
.... description 0..1stringDetails of vaccine protocol
.... authority 0..1Reference(QICore-Organization)Who is responsible for protocol
.... series 0..1stringName of vaccine series
.... seriesDoses 0..1positiveIntRecommended number of doses for immunity
.... targetDisease 1..*CodeableConceptDisease immunized against
Binding: Vaccination Protocol Dose Target Codes (example)
.... doseStatus 1..1CodeableConceptIndicates if dose counts towards immunity
Binding: Vaccination Protocol Dose Status codes (example)
.... doseStatusReason 0..1CodeableConceptWhy dose does (not) count
Binding: Vaccination Protocol Dose Status Reason codes (example)

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization I0..*US Core Immunization Profile
... 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..*IdentifierBusiness identifier
... status ?!SΣ1..1codecompleted | entered-in-error
Binding: Immunization Status Codes (required)
... notGiven ?!SΣ1..1booleanFlag for whether immunization was given
... vaccineCode SI1..1CodeableConceptVaccine Product Type (bind to CVX)
Binding: Vaccine Administered Value Set (CVX) (preferred)
... patient S1..1Reference(QICore-Patient)Who was immunized
... encounter S0..1Reference(QICore-Encounter)Encounter administered as part of
... date S1..1dateTimeVaccination administration date
... primarySource S1..1booleanIndicates context the data was recorded in
... reportOrigin 0..1CodeableConceptIndicates the source of a secondarily reported record
Binding: Immunization Origin Codes (example)
... location 0..1Reference(QICore-Location)Where vaccination occurred
... manufacturer 0..1Reference(QICore-Organization)Vaccine manufacturer
... lotNumber 0..1stringVaccine lot number
... expirationDate 0..1dateVaccine expiration date
... site 0..1CodeableConceptBody site vaccine was administered
Binding: Codes for Immunization Site of Administration (example)
... route S0..1CodeableConceptHow vaccine entered body
Binding: Immunization Route Codes (example)
... doseQuantity S0..1SimpleQuantityAmount of vaccine administered
... practitioner ΣI0..*BackboneElementWho performed event
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... role Σ0..1CodeableConceptWhat type of performance was done
Binding: Immunization Role Codes (extensible)
.... actor Σ1..1Reference(Practitioner)Individual who was performing
... note Σ0..*AnnotationVaccination notes
... explanation I0..1BackboneElementAdministration/non-administration reasons
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... reason S0..*CodeableConceptWhy immunization occurred
Binding: Immunization Reason Codes (example)
.... reasonNotGiven S0..*CodeableConceptWhy immunization did not occur
Binding: Immunization Reasons for Not Immunizing Codes (example)
... reaction I0..*BackboneElementDetails of a reaction that follows immunization
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... date 0..1dateTimeWhen reaction started
.... detail 0..1Reference(QICore-Observation)Additional information on reaction
.... reported 0..1booleanIndicates self-reported reaction
... vaccinationProtocol I0..*BackboneElementWhat protocol was followed
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... doseSequence 0..1positiveIntDose number within series
.... description 0..1stringDetails of vaccine protocol
.... authority 0..1Reference(QICore-Organization)Who is responsible for protocol
.... series 0..1stringName of vaccine series
.... seriesDoses 0..1positiveIntRecommended number of doses for immunity
.... targetDisease 1..*CodeableConceptDisease immunized against
Binding: Vaccination Protocol Dose Target Codes (example)
.... doseStatus 1..1CodeableConceptIndicates if dose counts towards immunity
Binding: Vaccination Protocol Dose Status codes (example)
.... doseStatusReason 0..1CodeableConceptWhy dose does (not) count
Binding: Vaccination Protocol Dose Status Reason codes (example)

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathConformanceValueSet
Immunization.statusrequiredImmunization Status Codes
Immunization.vaccineCodepreferredVaccine Administered Value Set (CVX)
Immunization.routeexampleImmunization Route Codes
Immunization.explanation.reasonexampleImmunization Reason Codes
Immunization.explanation.reasonNotGivenexampleImmunization Reasons for Not Immunizing Codes

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2ImmunizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1ImmunizationIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-4ImmunizationIf 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-3ImmunizationIf 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()
imm-2ImmunizationIf immunization was administered (notGiven=false) then explanation.reasonNotGiven SHALL be absent.
: (notGiven = true) or explanation.reasonNotGiven.empty()
imm-1ImmunizationIf immunization was not administered (notGiven=true) then there SHALL be no reaction nor explanation.reason present
: (notGiven = true).not() or (reaction.empty() and explanation.reason.empty())
us-core-1Immunization.vaccineCodeSHOULD have a translation to the NDC value set
: coding.where(system='http://hl7.org/fhir/sid/ndc').empty()
ele-1Immunization.practitionerAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Immunization.explanationAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Immunization.reactionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Immunization.vaccinationProtocolAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())