## Profile Comparison between http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-immunization vs http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-immunization

Left: | IPA-Immunization (http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-immunization)
Right: | Immunization Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-immunization)

### Messages

Error | StructureDefinition.url | Values for url differ: 'http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-immunization' vs 'http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-immunization'
Error | StructureDefinition.version | Values for version differ: '1.1.0' vs '1.2.0'
Information | StructureDefinition.name | Values for name differ: 'IPAImmunization' vs 'ImmunizationProfile'
Information | StructureDefinition.title | Values for title differ: 'IPA-Immunization' vs 'Immunization Profile'
Information | StructureDefinition.status | Values for status differ: 'active' vs 'draft'
Information | StructureDefinition.date | Values for date differ: '2022-08-02' vs '2024-12-27'
Information | StructureDefinition.publisher | Values for publisher differ: 'HL7 International / Patient Care' vs 'HL7 Canada - FHIR Implementation Work Group'
Information | StructureDefinition.jurisdiction | Removed the item 'http://unstats.un.org/unsd/methods/m49/m49.htm#001'
Information | StructureDefinition.jurisdiction | Added the item 'urn:iso:std:iso:3166#CA'
Information | Immunization.language | Example/preferred bindings differ at Immunization.language using binding from IPAImmunization
Information | StructureDefinition.comment | Values for comment differ: 'This is generally only used for the status of 'not-done'. The reason for performing the immunization event is captured in reasonCode, not here.' vs 'CA Baseline Usage Notes: a reason should be provided if the status is 'not-done'.'
Information | StructureDefinition.comment | Values for comment differ: 'When immunizations are given a specific date and time should always be known. When immunizations are patient reported, a specific date might not be known. Although partial dates are allowed, an adult patient might not be able to recall the year a childhood immunization was given. An exact date is always preferable, but the use of the String data type is acceptable when an exact date is not known. A small number of vaccines (e.g. live oral typhoid vaccine) are given as a series of patient self-administered dose over a span of time. In cases like this, often, only the first dose (typically a provider supervised dose) is recorded with the occurrence indicating the date/time of the first dose.' vs 'CA Baseline Usage Notes: While occurrenceString is allowed given its use in existing Canadian systems - a combination of occurrenceDateTime (full or partial) with the 'estimated' extension is the preferred mechanism for expressing when an exact date is unknown. For example, if a patient recalls that they were immunized in June 1980, occurrenceDateTime will have a partial date '1980-06' with 'estimated'=true. Another example: if in 2020, a 55 y.o. patient recalls that they were immunized at the age of 5, occurrenceDateTime will have a partial date '1970' with 'estimated'=true.'
Warning | Immunization.occurrence[x] | Elements differ in definition for mustSupport: 'true' vs 'false'
Information | StructureDefinition.short | Values for short differ: 'Indicates context the data was recorded in' vs 'Indicates that data is from the primary record created at the time the vaccine was administered.'
Information | Immunization.reportOrigin | Example/preferred bindings differ at Immunization.reportOrigin using binding from ImmunizationProfile
Information | Immunization.site | Example/preferred bindings differ at Immunization.site using binding from ImmunizationProfile
Information | Immunization.route | Example/preferred bindings differ at Immunization.route using binding from ImmunizationProfile
Information | Immunization.protocolApplied.targetDisease | Example/preferred bindings differ at Immunization.protocolApplied.targetDisease using binding from ImmunizationProfile

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.org/fhir/StructureDefinition/Immunization |
copyright | Used by permission of HL7 International all rights reserved Creative Commons License |  | Removed the item 'Used by permission of HL7 International all rights reserved Creative Commons License'
date | 2022-08-02 | 2024-12-27 | Values Differ
description | Minimum expectations for an Immunization resource when accessed via a International Patient Access API | Proposed constraints and extensions on the Immunization resource. Generated as a first step toward creating a set of Canadian Baseline FHIR profiles. | Values Differ
experimental | false |  | Removed the item 'false'
fhirVersion | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | http://unstats.un.org/unsd/methods/m49/m49.htm#001 |  | Removed the item 'http://unstats.un.org/unsd/methods/m49/m49.htm#001'
jurisdiction[1] |  | urn:iso:std:iso:3166#CA | Added the item 'urn:iso:std:iso:3166#CA'
kind | resource |
name | IPAImmunization | ImmunizationProfile | Values Differ
publisher | HL7 International / Patient Care | HL7 Canada - FHIR Implementation Work Group | Values Differ
purpose |  |
status | active | draft | Values Differ
title | IPA-Immunization | Immunization Profile | Values Differ
type | Immunization |
url | http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-immunization | http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-immunization | Values Differ
version | 1.1.0 | 1.2.0 | Values Differ

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Immunization |  | 0..* | Immunization | Immunization event information |  | 0..* | Immunization | Immunization event information |
id | Σ | 0..1 | id | Logical id of this artifact | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language |  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
|  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
| Example/preferred bindings differ at Immunization.language using binding from IPAImmunization
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements |
contained |  | 0..* | Resource | Contained, inline Resources |  | 0..* | Resource | Contained, inline Resources |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier |  | 0..* | Identifier | Business identifier |  | 0..* | Identifier | Business identifier |
status | ?!SO Σ | 1..1 | code | completed | entered-in-error | not-done Binding: ?? (required): A set of codes indicating the current status of an Immunization.
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| ?!S Σ | 1..1 | code | completed | entered-in-error | not-done Binding: ?? (required): A set of codes indicating the current status of an Immunization. |
statusReason |  | 0..1 | CodeableConcept | Reason not done Binding: ?? (example): The reason why a vaccine was not administered. |  | 0..1 | CodeableConcept | Reason not done Binding: ?? (example): The reason why a vaccine was not administered. |
vaccineCode | SO Σ | 1..1 | CodeableConcept | Vaccine product administered Binding: ?? (example): The code for vaccine product administered.
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| S Σ | 1..1 | CodeableConcept | Vaccine product administered Binding: ?? (example): The code for vaccine product administered. |
id |  |  |  |  |  | 0..1 | string | Unique id for inter-element referencing | Added this element
Slices for extension |  |  |  |  |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | Added this element
Slices for coding |  |  |  |  | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by pattern:system, pattern:code | Added this element
text |  |  |  |  | Σ | 0..1 | string | Plain text representation of the concept | Added this element
patient | SO Σ | 1..1 | Reference(IPA-Patient) | Who was immunized
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| S Σ | 1..1 | Reference(Patient Profile) | Who was immunized |
encounter |  | 0..1 | Reference(Encounter) | Encounter immunization was part of |  | 0..1 | Reference(Encounter Profile) | Encounter immunization was part of |
occurrence[x] | SO Σ | 1..1 | dateTime, string | Vaccine administration date
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| Σ | 1..1 | dateTime, string | Vaccine administration date Slice: Unordered, Open by type:$this | Elements differ in definition for mustSupport: 'true' vs 'false'
recorded |  | 0..1 | dateTime | When the immunization was first captured in the subject's record |  | 0..1 | dateTime | When the immunization was first captured in the subject's record |
primarySource | Σ | 0..1 | boolean | Indicates context the data was recorded in | Σ | 0..1 | boolean | Indicates that data is from the primary record created at the time the vaccine was administered. |
reportOrigin |  | 0..1 | CodeableConcept | Indicates the source of a secondarily reported record Binding: ?? (example): The source of the data for a record which is not from a primary source. |  | 0..1 | CodeableConcept | Indicates the source of a secondarily reported record Binding: ?? (preferred) | Example/preferred bindings differ at Immunization.reportOrigin using binding from ImmunizationProfile
location |  | 0..1 | Reference(Location) | Where immunization occurred |  | 0..1 | Reference(Location Profile) | Where immunization occurred |
manufacturer |  | 0..1 | Reference(Organization) | Vaccine manufacturer |  | 0..1 | Reference(Organization Profile) | Vaccine manufacturer |
lotNumber |  | 0..1 | string | Vaccine lot number |  | 0..1 | string | Vaccine lot number |
expirationDate |  | 0..1 | date | Vaccine expiration date |  | 0..1 | date | Vaccine expiration date |
site |  | 0..1 | CodeableConcept | Body site vaccine was administered Binding: ?? (example): The site at which the vaccine was administered. |  | 0..1 | CodeableConcept | Body site vaccine was administered Binding: ?? (preferred) | Example/preferred bindings differ at Immunization.site using binding from ImmunizationProfile
route |  | 0..1 | CodeableConcept | How vaccine entered body Binding: ?? (example): The route by which the vaccine was administered. |  | 0..1 | CodeableConcept | How vaccine entered body Binding: ?? (preferred) | Example/preferred bindings differ at Immunization.route using binding from ImmunizationProfile
doseQuantity |  | 0..1 | ?? | Amount of vaccine administered |  | 0..1 | ?? | Amount of vaccine administered |
performer | Σ | 0..* | BackboneElement | Who performed event | Σ | 0..* | BackboneElement | Who performed event |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
function | Σ | 0..1 | CodeableConcept | What type of performance was done Binding: ?? (extensible): The role a practitioner or organization plays in the immunization event. | Σ | 0..1 | CodeableConcept | What type of performance was done Binding: ?? (extensible): The role a practitioner or organization plays in the immunization event. |
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Individual or organization who was performing | Σ | 1..1 | Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile) | Individual or organization who was performing |
note | Σ | 0..* | Annotation | Additional immunization notes | Σ | 0..* | Annotation | Additional immunization notes |
reasonCode |  | 0..* | CodeableConcept | Why immunization occurred Binding: ?? (example): The reason why a vaccine was administered. |  | 0..* | CodeableConcept | Why immunization occurred Binding: ?? (example): The reason why a vaccine was administered. |
reasonReference |  | 0..* | Reference(Condition | Observation | DiagnosticReport) | Why immunization occurred |  | 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 |
isSubpotent | ?!Σ | 0..1 | boolean | Dose potency | ?!Σ | 0..1 | boolean | Dose potency |
subpotentReason |  | 0..* | CodeableConcept | Reason for being subpotent Binding: ?? (example): The reason why a dose is considered to be subpotent. |  | 0..* | CodeableConcept | Reason for being subpotent Binding: ?? (example): The reason why a dose is considered to be subpotent. |
education | C | 0..* | BackboneElement | Educational material presented to patient | C | 0..* | BackboneElement | Educational material presented to patient |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
documentType |  | 0..1 | string | Educational material document identifier |  | 0..1 | string | Educational material document identifier |
reference |  | 0..1 | uri | Educational material reference pointer |  | 0..1 | uri | Educational material reference pointer |
publicationDate |  | 0..1 | dateTime | Educational material publication date |  | 0..1 | dateTime | Educational material publication date |
presentationDate |  | 0..1 | dateTime | Educational material presentation date |  | 0..1 | dateTime | Educational material presentation date |
programEligibility |  | 0..* | CodeableConcept | Patient eligibility for a vaccination program Binding: ?? (example): The patient's eligibility for a vaccation program. |  | 0..* | CodeableConcept | Patient eligibility for a vaccination program Binding: ?? (example): The patient's eligibility for a vaccation program. |
fundingSource |  | 0..1 | CodeableConcept | Funding source for the vaccine Binding: ?? (example): The source of funding used to purchase the vaccine administered. |  | 0..1 | CodeableConcept | Funding source for the vaccine Binding: ?? (example): The source of funding used to purchase the vaccine administered. |
reaction |  | 0..* | BackboneElement | Details of a reaction that follows immunization |  | 0..* | BackboneElement | Details of a reaction that follows immunization |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
date |  | 0..1 | dateTime | When reaction started |  | 0..1 | dateTime | When reaction started |
detail |  | 0..1 | Reference(Observation) | Additional information on reaction |  | 0..1 | Reference(Observation Profile (General Use)) | Additional information on reaction |
reported |  | 0..1 | boolean | Indicates self-reported reaction |  | 0..1 | boolean | Indicates self-reported reaction |
protocolApplied |  | 0..* | BackboneElement | Protocol followed by the provider |  | 0..* | BackboneElement | Protocol followed by the provider |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
series |  | 0..1 | string | Name of vaccine series |  | 0..1 | string | Name of vaccine series |
authority |  | 0..1 | Reference(Organization) | Who is responsible for publishing the recommendations |  | 0..1 | Reference(Organization Profile) | Who is responsible for publishing the recommendations |
targetDisease |  | 0..* | CodeableConcept | Vaccine preventatable disease being targetted Binding: ?? (example): The vaccine preventable disease the dose is being administered for. |  | 0..* | CodeableConcept | Vaccine preventatable disease being targetted Binding: ?? (preferred) | Example/preferred bindings differ at Immunization.protocolApplied.targetDisease using binding from ImmunizationProfile
doseNumber[x] |  | 1..1 | positiveInt, string | Dose number within series |  | 1..1 | positiveInt, string | Dose number within series |
seriesDoses[x] |  | 0..1 | positiveInt, string | Recommended number of doses for immunity |  | 0..1 | positiveInt, string | Recommended number of doses for immunity |
Documentation for this format