Canadian Baseline
1.2.0 - CI Build Canada flag

Canadian Baseline, published by HL7 Canada - FHIR Implementation Work Group. This guide is not an authorized publication; it is the continuous build for version 1.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7-Canada/ca-baseline/ and changes regularly. See the Directory of published versions

Resource Profile: Immunization Profile

Official URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-immunization Version: 1.2.0
Draft as of 2024-12-27 Computable Name: ImmunizationProfile

Proposed constraints and extensions on the Immunization resource. Generated as a first step toward creating a set of Canadian Baseline FHIR profiles.

This profile was generated from HL7 StructureDefinition on 2019-03-28 and constrained during a review of US Core against Canadian sources.

Note The USCoreR4 resource supports recording of vaccines not given (refused) with reasons. The Ontario Immunization Connect (ICON) profiles has fixed values for Immunization.status and Immunization.notGiven that restrict use to completed vaccinations. « As in USCoreR4, refused vaccines are supported in this profile.

Key differences from USCoreR4 Immunization:

  • Immunization.code bound to ValueSet with Canadian vaccine codes
  • Immunization.patient reference changed to profile-patient
  • Immunization.occurrenceDateTime:estimated extension added to identify estimated dates to be more consistent with ICON and CDN HL7v3 specs
  • included other Immunization resource elements used in the ICON spec for visibility

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..* Immunization Immunization event information
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... status ?!SΣ 1..1 code completed | entered-in-error | not-done
Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization.


ele-1: All FHIR elements must have a @value or children
... vaccineCode SΣ 1..1 CodeableConcept Vaccine product administered
Binding: VaccineAdministeredValueSet (example): The code for vaccine product administered.


ele-1: All FHIR elements must have a @value or children
.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by pattern:system, pattern:code
ele-1: All FHIR elements must have a @value or children
..... coding:Generic Σ 0..1 Coding Code defined by a terminology system
Binding: https://cvc.canimmunize.ca/v3/ValueSet/Generic (preferred)
ele-1: All FHIR elements must have a @value or children
..... coding:Tradename Σ 0..1 Coding Code defined by a terminology system
Binding: https://cvc.canimmunize.ca/v3/ValueSet/Tradename (preferred)
ele-1: All FHIR elements must have a @value or children
... patient SΣ 1..1 Reference(Patient Profile) Who was immunized
ele-1: All FHIR elements must have a @value or children
... encounter 0..1 Reference(Encounter Profile) Encounter immunization was part of
ele-1: All FHIR elements must have a @value or children
... Slices for occurrence[x] Σ 1..1 Vaccine administration date
Slice: Unordered, Open by type:$this
ele-1: All FHIR elements must have a @value or children
.... occurrenceDateTime dateTime
.... occurrenceString string
.... occurrence[x]:occurrenceDateTime Σ 0..1 dateTime Vaccine administration date
ele-1: All FHIR elements must have a @value or children
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... estimated 0..1 boolean Information entered is is an estimate
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-dateestimated
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... primarySource Σ 0..1 boolean Indicates that data is from the primary record created at the time the vaccine was administered.
ele-1: All FHIR elements must have a @value or children
... reportOrigin 0..1 CodeableConcept Indicates the source of a secondarily reported record
Binding: https://cvc.canimmunize.ca/v3/ValueSet/RepSource (preferred)
ele-1: All FHIR elements must have a @value or children
... location 0..1 Reference(Location Profile) Where immunization occurred
ele-1: All FHIR elements must have a @value or children
... manufacturer 0..1 Reference(Organization Profile) Vaccine manufacturer
ele-1: All FHIR elements must have a @value or children
... site 0..1 CodeableConcept Body site vaccine was administered
Binding: https://cvc.canimmunize.ca/v3/ValueSet/AnatomicalSite (preferred)
ele-1: All FHIR elements must have a @value or children
... route 0..1 CodeableConcept How vaccine entered body
Binding: https://cvc.canimmunize.ca/v3/ValueSet/RouteOfAdmin (preferred)
ele-1: All FHIR elements must have a @value or children
... reasonReference 0..* Reference(Condition Profile | Observation Profile (General Use) | DiagnosticReport Profile for Laboratory Results Reporting | Diagnostic Report for Report and Note Exchange Profile) Why immunization occurred
ele-1: All FHIR elements must have a @value or children
... isSubpotent ?!Σ 0..1 boolean Dose potency
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Immunization.statusrequiredImmunizationStatusCodes
http://hl7.org/fhir/ValueSet/immunization-status|4.0.1
from the FHIR Standard
Immunization.statusReasonexampleImmunizationStatusReasonCodes
http://hl7.org/fhir/ValueSet/immunization-status-reason
from the FHIR Standard
Immunization.vaccineCodeexampleVaccineAdministeredValueSet
http://hl7.org/fhir/ValueSet/vaccine-code
from the FHIR Standard
Immunization.vaccineCode.coding:Genericpreferredhttps://cvc.canimmunize.ca/v3/ValueSet/Generic
https://cvc.canimmunize.ca/v3/ValueSet/Generic
Immunization.vaccineCode.coding:Tradenamepreferredhttps://cvc.canimmunize.ca/v3/ValueSet/Tradename
https://cvc.canimmunize.ca/v3/ValueSet/Tradename
Immunization.reportOriginpreferredhttps://cvc.canimmunize.ca/v3/ValueSet/RepSource
https://cvc.canimmunize.ca/v3/ValueSet/RepSource
Immunization.sitepreferredhttps://cvc.canimmunize.ca/v3/ValueSet/AnatomicalSite
https://cvc.canimmunize.ca/v3/ValueSet/AnatomicalSite
Immunization.routepreferredhttps://cvc.canimmunize.ca/v3/ValueSet/RouteOfAdmin
https://cvc.canimmunize.ca/v3/ValueSet/RouteOfAdmin

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorImmunizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorImmunizationIf 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-4errorImmunizationIf 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-5errorImmunizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceImmunizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron