## Profile Comparison between http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-vaccination-ad vs http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-vaccination-ad

Left: | Vaccination Profile - Allowable Data (http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-vaccination-ad)
Right: | Vaccination Profile - Allowable Data (http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-vaccination-ad)

### Messages

Error | StructureDefinition.version | Values for version differ: '0.6.2' vs '1.0.0'
Information | StructureDefinition.date | Values for date differ: '2021-08-13T13:26:56+00:00' vs '2025-09-03T20:15:06+00:00'
Information | StructureDefinition.publisher | Values for publisher differ: 'HL7 International - Public Health Work Group' vs 'HL7 International / Public Health'
Information | StructureDefinition.definition | Values for definition differ: 'For [data minimization reasons](profiles.html#data-minimization), this element SHOULD NOT be populated when generating a resource conforming to this profile for inclusion in one of the Bundles profiled in this IG.' vs 'For [data minimization reasons](profiles.html#data-minimization-and-privacy), this element SHOULD NOT be populated when generating a resource conforming to this profile for inclusion in one of the Bundles profiled in this IG.'
Warning | Immunization.meta | Elements differ in definition for mustSupport: 'false' vs 'true'
Information | StructureDefinition.definition | Values for definition differ: 'Date vaccine administered.' vs 'Date vaccine administered (`YYYY-MM-DD` format).'
Information | StructureDefinition.comment | Values for comment differ: 'See `occurrenceDateTime`.' vs 'For data minimization reasons, only year, month, and date SHOULD be reported for this element. Exact time (hour, minute, second) are not relevant for our use cases.'
Warning | Immunization.manufacturer | Elements differ in definition for mustSupport: 'true' vs 'false'
Warning | Immunization.manufacturer.identifier | Elements differ in definition for mustSupport: 'true' vs 'false'
Warning | Immunization.manufacturer.identifier.system | Elements differ in definition for mustSupport: 'true' vs 'false'
Warning | Immunization.manufacturer.identifier.value | Elements differ in definition for mustSupport: 'true' vs 'false'

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.org/fhir/StructureDefinition/Immunization |
copyright |  |
date | 2021-08-13T13:26:56+00:00 | 2025-09-03T20:15:06+00:00 | Values Differ
description | Defines a profile representing a vaccination for a SMART Health Card. | Defines a [fallback (AD) profile](./profiles.html#conformance-to-profiles) representing a vaccination in a health card. [See here for implementation details](./vaccination.html). | Values Differ
experimental |  |
fhirVersion | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | http://unstats.un.org/unsd/methods/m49/m49.htm#001 |
kind | resource |
name | SHCVaccinationAD |
publisher | HL7 International - Public Health Work Group | HL7 International / Public Health | Values Differ
purpose |  |
status | active |
title | Vaccination Profile - Allowable Data |
type | Immunization |
url | http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-vaccination-ad |
version | 0.6.2 | 1.0.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 | string | Should not be populated | Σ | 0..1 | id | Should not be populated |
meta | Σ | 0..1 | Meta | Metadata about the resource | S Σ | 0..1 | Meta | Metadata about the resource | Elements differ in definition for mustSupport: 'false' vs 'true'
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
versionId | Σ | 0..1 | id | Version specific identifier | Σ | 0..1 | id | Version specific identifier |
lastUpdated | Σ | 0..1 | instant | When the resource version last changed | Σ | 0..1 | instant | When the resource version last changed |
source | Σ | 0..1 | uri | Identifies where the resource comes from | Σ | 0..1 | uri | Identifies where the resource comes from |
profile | Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to | Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to |
security | S Σ | 0..1 | Coding | Limited security label to convey identity level of assurance for patient referenced by this resource. Binding: ?? (required) | S Σ | 0..1 | Coding | Limited security label to convey identity level of assurance for patient referenced by this resource. Binding: ?? (required) |
tag | Σ | 0..* | Coding | Tags applied to this resource Binding: ?? (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | Σ | 0..* | Coding | Tags applied to this resource Binding: ?? (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". |
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
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 | ?!S Σ | 1..1 | code | Whether or not the vaccination was completed Binding: ?? (required): A set of codes indicating the current status of an Immunization. Required Pattern: completed | ?!S Σ | 1..1 | code | Whether or not the vaccination was completed Binding: ?? (required): A set of codes indicating the current status of an Immunization. Fixed Value: completed |
statusReason |  | 0..0 |  |  |  | 0..0 |  |  |
vaccineCode | S Σ | 1..1 | CodeableConcept | Codes identifying the vaccine product administered Binding: ?? (example) | S Σ | 1..1 | CodeableConcept | Codes identifying the vaccine product administered Binding: ?? (example) |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
Slices for coding | S Σ | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Closed by value:system | S Σ | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Closed by value:system |
text | Σ | 0..1 | string | Plain text representation of the concept | Σ | 0..1 | string | Plain text representation of the concept |
patient | S Σ | 1..1 | Reference(Patient Profile - General - Allowable Data) | Who was immunized | S Σ | 1..1 | Reference(Patient Profile - General - Allowable Data) | Who was immunized |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
reference | Σ C | 1..1 | string | This SHOULD use an absolute URI like `resource:0` that will resolve within the containing Bundle. | Σ C | 1..1 | string | This SHOULD use an absolute URI like `resource:0` that will resolve within the containing Bundle. |
type | Σ | 0..0 |  |  | Σ | 0..0 |  |  |
identifier | Σ | 0..0 |  |  | Σ | 0..0 |  |  |
display | Σ | 0..0 |  |  | Σ | 0..0 |  |  |
encounter |  | 0..1 | Reference(Encounter) | Encounter immunization was part of |  | 0..1 | Reference(Encounter) | Encounter immunization was part of |
Slices for occurrence[x] | S Σ | 1..1 | dateTime | Vaccine administration date Slice: Unordered, Closed by type:$this | S Σ C | 1..1 | dateTime | Vaccine administration date Constraints: vc-polymorphic-date-invariant |
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 | Information in this record from person who administered vaccine? | Σ | 0..1 | boolean | Information in this record from person who administered vaccine? |
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: ?? (example): The source of the data for a record which is not from a primary source. |
location |  | 0..1 | Reference(Location) | Where immunization occurred |  | 0..1 | Reference(Location) | Where immunization occurred |
manufacturer | S | 0..1 | Reference(Organization) | Vaccine manufacturer |  | 0..1 | Reference(Organization) | Vaccine manufacturer | Elements differ in definition for mustSupport: 'true' vs 'false'
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL |
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (extensible): Aa resource (or, for logical models, the URI of the logical model). | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (extensible): Aa resource (or, for logical models, the URI of the logical model). |
identifier | S Σ | 0..1 | Identifier | Only populate when vaccine type is not provided in vaccineCode | Σ | 0..1 | Identifier | Only populate when vaccine type is not provided in vaccineCode | Elements differ in definition for mustSupport: 'true' vs 'false'
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: ?? (required): Identifies the purpose for this identifier, if known . | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: ?? (required): Identifies the purpose for this identifier, if known . |
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: ?? (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | Σ | 0..1 | CodeableConcept | Description of identifier Binding: ?? (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. |
system | S Σ C | 1..1 | uri | Code identifying vaccine manufacturer Constraints: shall-use-known-vaccine-manufacturer-code-system Example General: http://www.acme.com/identifiers/patient | Σ C | 1..1 | uri | Code identifying vaccine manufacturer Constraints: shall-use-known-vaccine-manufacturer-code-system Example General: http://www.acme.com/identifiers/patient | Elements differ in definition for mustSupport: 'true' vs 'false'
value | S Σ | 1..1 | string | The value that is unique Example General: 123456 | Σ | 1..1 | string | The value that is unique Example General: 123456 | Elements differ in definition for mustSupport: 'true' vs 'false'
period | Σ | 0..1 | Period | Time period when id is/was valid for use | Σ | 0..1 | Period | Time period when id is/was valid for use |
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) |
display | Σ | 0..1 | string | Text alternative for the resource | Σ | 0..1 | string | Text alternative for the resource |
lotNumber | S C | 0..1 | string | String representing lot number like `0123L45A` Constraints: vc-should-be-under-20-chars, vc-should-not-include-string-lot | S C | 0..1 | string | String representing lot number like `0123L45A` Constraints: vc-should-be-under-20-chars, vc-should-not-include-string-lot |
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: ?? (example): The site at which the vaccine was administered. |
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: ?? (example): The route by which the vaccine was administered. |
doseQuantity |  | 0..1 | ?? | Amount of vaccine administered |  | 0..1 | ?? | Amount of vaccine administered |
performer | S Σ | 0..1 | BackboneElement | Who performed event | S Σ | 0..1 | 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 | S Σ | 1..1 | Reference(Organization) | Organization which was responsible for vaccine administration. | S Σ | 1..1 | Reference(Organization) | Organization which was responsible for vaccine administration. |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL |
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (extensible): Aa resource (or, for logical models, the URI of the logical model). | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (extensible): Aa resource (or, for logical models, the URI of the logical model). |
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known |
display | S Σ C | 1..1 | string | Short, human-readable text representation of the organization. Constraints: vc-should-be-under-30-chars | S Σ C | 1..1 | string | Short, human-readable text representation of the organization. Constraints: vc-should-be-under-30-chars |
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 | Observation | DiagnosticReport) | Why immunization occurred |
isSubpotent | ?!S Σ C | 0..1 | boolean | Set to `true` if dose is subpotent; omit otherwise Constraints: vc-shall-be-true-if-populated-invariant | ?!S Σ C | 0..1 | boolean | Set to `true` if dose is subpotent; omit otherwise Constraints: vc-shall-be-true-if-populated-invariant |
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 Constraints: imm-1 | 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) | Additional information on reaction |
reported |  | 0..1 | boolean | Indicates self-reported reaction |  | 0..1 | boolean | Indicates self-reported reaction |
protocolApplied |  | 0..0 |  |  |  | 0..0 |  |  |
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) | 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: ?? (example): The vaccine preventable disease the dose is being administered for. |
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