## Profile Comparison between http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-immunization vs https://hl7.fi/fhir/finnish-smart/StructureDefinition/fi-smart-immunization

Left: | IPA-Immunization (http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-immunization)
Right: | FI SMART Immunization (https://hl7.fi/fhir/finnish-smart/StructureDefinition/fi-smart-immunization)

### Messages

Error | StructureDefinition.url | Values for url differ: 'http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-immunization' vs 'https://hl7.fi/fhir/finnish-smart/StructureDefinition/fi-smart-immunization'
Error | StructureDefinition.version | Values for version differ: '1.1.0' vs '2.0.0-rc3'
Information | StructureDefinition.name | Values for name differ: 'IPAImmunization' vs 'FiSMARTImmunization'
Information | StructureDefinition.title | Values for title differ: 'IPA-Immunization' vs 'FI SMART Immunization'
Information | StructureDefinition.status | Values for status differ: 'active' vs 'draft'
Information | StructureDefinition.date | Values for date differ: '2022-08-02' vs '2025-06-01T15:34:41+03:00'
Information | StructureDefinition.publisher | Values for publisher differ: 'HL7 International / Patient Care' vs 'HL7 Finland ry'
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#FI'
Error | StructureDefinition.baseDefinition | Values for baseDefinition differ: 'http://hl7.org/fhir/StructureDefinition/Immunization' vs 'https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-immunization'
Information | StructureDefinition.short | Values for short differ: 'Additional content defined by implementations' vs 'Extension'
Information | StructureDefinition.definition | Values for definition differ: 'May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.' vs 'An Extension'
Warning | Immunization.statusReason | Elements differ in definition for mustSupport: 'false' vs 'true'
Information | StructureDefinition.short | Values for short differ: 'Additional information on reaction' vs 'Reference to contained Observation resource. The contained Observation has relevant diagnose codes.'

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.org/fhir/StructureDefinition/Immunization | https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-immunization | Values Differ
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 | 2025-06-01T15:34:41+03:00 | Values Differ
description | Minimum expectations for an Immunization resource when accessed via a International Patient Access API | This is the Finnish patient facing profile for the Immunization resource. | 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#FI | Added the item 'urn:iso:std:iso:3166#FI'
kind | resource |
name | IPAImmunization | FiSMARTImmunization | Values Differ
publisher | HL7 International / Patient Care | HL7 Finland ry | Values Differ
purpose |  |
status | active | draft | Values Differ
title | IPA-Immunization | FI SMART Immunization | Values Differ
type | Immunization |
url | http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-immunization | https://hl7.fi/fhir/finnish-smart/StructureDefinition/fi-smart-immunization | Values Differ
version | 1.1.0 | 2.0.0-rc3 | 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..* | FiBaseImmunization | Immunization event information This profile also imposes the profile IPA-Immunization (1.1.0) |
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
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation |  | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained |  | 0..* | Resource | Contained, inline Resources |  | 0..* | Resource | Contained, inline Resources |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
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. | S | 0..1 | CodeableConcept | Reason not done Binding: ?? (example): The reason why a vaccine was not administered. | Elements differ in definition for mustSupport: 'false' vs 'true'
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 | Defining administered product or substance by using ATC or VNR code. Slice: Unordered, Open by value:system | Added this element
text |  |  |  |  | Σ | 0..1 | string | Insert product name. | 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(FI Base Patient) | Who was immunized |
encounter |  | 0..1 | Reference(Encounter) | Encounter immunization was part of |  | 0..1 | Reference(FI Base Encounter) | 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
| S Σ | 1..1 | dateTime, string | Vaccine administration date |
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 context the data was recorded in |
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(FI Base Location) | Where immunization occurred |
manufacturer |  | 0..1 | Reference(Organization) | Vaccine manufacturer |  | 0..1 | Reference(FI Base Organization) | 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: ?? (example): The site at which the vaccine was 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 value:system | Added this element
text |  |  |  |  | Σ | 0..1 | string | Plain text representation of the concept | Added this element
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. |
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 value:system | Added this element
text |  |  |  |  | Σ | 0..1 | string | Plain text representation of the concept | Added this element
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(FI Base Practitioner | FI Base PractitionerRole | FI Base Organization) | 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(FI Base Condition | FI Base Observation | DiagnosticReport) | 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 imm-1: One of documentType or reference SHALL be present | C | 0..* | BackboneElement | Educational material presented to patient imm-1: One of documentType or reference SHALL be present |
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(FI Base Observation) | Reference to contained Observation resource. The contained Observation has relevant diagnose codes. |
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(FI Base 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. |
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 | Vaccine preventatable disease being targetted defined by using THL code system Slice: Unordered, Open by value:system | Added this element
text |  |  |  |  | Σ | 0..1 | string | Plain text representation of the concept | Added this element
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