Finnish Base Profiles
2.0.0-ci - ci-build Finland flag

Finnish Base Profiles, published by HL7 Finland. This guide is not an authorized publication; it is the continuous build for version 2.0.0-ci built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/fhir-fi/finnish-base-profiles/ and changes regularly. See the Directory of published versions

Resource Profile: Fi Base Immunization

Official URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-immunization Version: 2.0.0-ci
Draft as of 2025-03-27 Computable Name: FiBaseImmunization

This is a base profile for Finnish Immunization resource.

Scope and usage

This profile sets minimum expectations for the Immunization resource. It identifies which core elements, extensions, vocabularies, and value sets could be present in the resource when using this profile. It provides the floor for standards development for specific use cases.

Vaccination Recorder extension

In some cases the practitioner who performed the addministration is not be the same person who recorded the action. For these cases the vaccinationRecorder extension is created. Recorder is not required information when recording vaccination to the Kanta's Patient Data Repository or Hilmo system but it may be an essential information for EHR.

Finnish National Vaccination Register

All vaccinations in Finland are recorded into Kanta's Patient Data Repository and Hilmo system. Eventually these system determine the required information, at least when recording vaccination. It is highly recommended to familiarize onself with the specification when applying this profile although all of the fields may not be relevant in given use case.

ATC and VNR codes

See also the terminology section of Medication Codes in this guide.

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
... 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
.... extension:vaccinationRecorder 0..1 Reference(FI Base Practitioner) Vaccination recorder may not be the same person who performed the addministration.
URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/vaccination-recorder
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... 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
... vaccineCode Σ 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 Defining administered product or substance by using ATC or VNR code.
Slice: Unordered, Open by value:system
ele-1: All FHIR elements must have a @value or children
..... coding:ATC Σ 0..1 Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children
...... system Σ 1..1 uri Identity of the terminology system
ele-1: All FHIR elements must have a @value or children
Required Pattern: urn:oid:1.2.246.537.6.32
..... coding:VNR Σ 0..1 Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children
...... system Σ 1..1 uri Identity of the terminology system
ele-1: All FHIR elements must have a @value or children
Required Pattern: urn:oid:1.2.246.537.6.55
.... text Σ 0..1 string Insert product name.
ele-1: All FHIR elements must have a @value or children
... patient Σ 1..1 Reference(FI Base Patient) Who was immunized
ele-1: All FHIR elements must have a @value or children
... encounter 0..1 Reference(FI Base Encounter) Encounter immunization was part of
ele-1: All FHIR elements must have a @value or children
... occurrence[x] Σ 1..1 Vaccine administration date
ele-1: All FHIR elements must have a @value or children
.... occurrenceDateTime dateTime
.... occurrenceString string
... location 0..1 Reference(FI Base Location) Where immunization occurred
ele-1: All FHIR elements must have a @value or children
... manufacturer 0..1 Reference(FI Base Organization) Vaccine manufacturer
ele-1: All FHIR elements must have a @value or children
... reasonReference 0..* Reference(FI Base Condition | FI Base Observation | DiagnosticReport) 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.vaccineCodeexampleVaccineAdministeredValueSet
http://hl7.org/fhir/ValueSet/vaccine-code
from the FHIR Standard

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