NAPKON Vaccination Module
1.0.0 - trial-use
NAPKON Vaccination Module - Local Development build (v1.0.0). See the Directory of published versions
Defining URL: | https://www.napkon.de/fhir/StructureDefinition/covid19-immunization |
Version: | 1.0.0 |
Name: | COVID19Immunization |
Title: | COVID-19 Immunization |
Status: | Active as of 2021-12-10T11:47:18+00:00 |
Definition: | COVID-19 immunization event |
Source Resource: | XML / JSON / Turtle |
The official URL for this profile is:
https://www.napkon.de/fhir/StructureDefinition/covid19-immunization
Parameter Case Report Form | FHIR Resource Attribute |
---|---|
Dose number | Immunization.protocolApplied.doseNumberPositiveInt |
Date/Time | Immunization.occurencedDateTime |
Vaccine | Immunization.vaccineCode |
Lot Number | Immunization.lotNumber |
Immunization reason | Immunization.reasonCode |
Immunization not performed | Immunization.status = #not-done |
Reason not done | Immunization.statusReason |
This profile of a FHIR Immunization is derived from the History of Vaccination profile of the GECCO dataset.
The valueset bindings on the Immunization.vaccineCode
and Immunization.statusReason
elements have been constrained to solely feature the response options for this particular parameter of the case report form.
The response options to the Why did the patient get vaccinated against COVID-19/will the patient get vaccinated? are coded through the following codes of the NAPKON Vaccination Module Codes and from SNOMED CT.
Response Option | Code |
---|---|
To protect myself from infection with SARS-CoV-2 or COVID-19 | #2001 "To protect myself from infection with SARS-CoV-2 or from COVID-19" |
To protect my private environment from an infection with SARS-CoV-2 or COVID-19 | #2002 "To protect my private environment from infection with SARS-CoV-2 or COVID-19" |
To protect my working environment from infection with SARS-CoV-2 or COVID-19 | #2003 "To protect my work environment from infection with SARS-CoV-2 or COVID-19" |
Because everyone is getting vaccinated | #2004 "Because everyone gets vaccinated" |
Because I am afraid of being discriminated against because of my vaccination status (e.g., travel ban, work ban) | #2005 "Because I am afraid of being discriminated against due to my vaccination status (e.g. travel ban, work ban)." |
Other reason | SNOMED CT: Other (qualifier value) |
Not applicable | SNOMED CT: Not applicable (qualifier value) |
In case a vaccination was not performed, the Immunization.status
element shall be set to not-done
and the Immunization.statusReason
element shall be set to one of the codes from the value set binding or Immunization.statusReason.text
shall be used to provide a free text reason for the not-done
status.
The response options for Immunization.statusReason
are encoded as follows:
Response Option | Code |
---|---|
Allergy to components of the vaccine | Allergy to component of vaccine product (finding) |
Pregnancy | Pregnant (finding) |
Other (free text) | Other (qualifier value) and Immunization.statusReason.text = free text |
Description of Profiles, Differentials, Snapshots and how the different presentations work.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Immunization | I | 0..* | Immunization | Immunization event information immunization-status-reason-if-not-done: If status is set to #not-done, a statusReason must be supplied |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
Slices for modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url |
identifier | 0..* | Identifier | Business identifier | |
status | ?!Σ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization. |
statusReason | 0..1 | CodeableConcept | Reason not done Binding: COVID-19 Vaccination Contraindications (required) | |
vaccineCode | SΣ | 1..1 | CodeableConcept | Vaccine product administered Binding: VaccineAdministeredValueSet (example): The code for vaccine product administered. |
id | 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 | |
Slices for coding | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by pattern:$this |
coding:snomed | SΣ | 0..1 | Coding | Code defined by a terminology system Binding: VaccinesSNOMED (extensible): SNOMED Vaccine Codes Required Pattern: At least the following |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct | |
version | 0..1 | string | Version of the system - if relevant | |
code | 0..1 | code | Symbol in syntax defined by the system | |
display | 0..1 | string | Representation defined by the system | |
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |
id | 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 | |
system | Σ | 1..1 | uri | Identity of the terminology system |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | Σ | 1..1 | code | Symbol in syntax defined by the system |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
coding:atc | SΣ | 0..1 | Coding | Code defined by a terminology system Binding: VaccinesATC (extensible): ATC Vaccine Codes Required Pattern: At least the following |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://fhir.de/CodeSystem/bfarm/atc | |
version | 0..1 | string | Version of the system - if relevant | |
code | 0..1 | code | Symbol in syntax defined by the system | |
display | 0..1 | string | Representation defined by the system | |
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |
id | 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 | |
system | Σ | 1..1 | uri | Identity of the terminology system |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | Σ | 1..1 | code | Symbol in syntax defined by the system |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
coding:pzn | SΣ | 0..1 | Coding | Code defined by a terminology system Binding: PZN (required) Required Pattern: At least the following |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://fhir.de/CodeSystem/ifa/pzn | |
version | 0..1 | string | Version of the system - if relevant | |
code | 0..1 | code | Symbol in syntax defined by the system | |
display | 0..1 | string | Representation defined by the system | |
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |
id | 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 | |
system | Σ | 1..1 | uri | Identity of the terminology system |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | Σ | 1..1 | code | Symbol in syntax defined by the system |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
coding:absentOrUnknownImmunization | SΣ | 0..1 | Coding | Code defined by a terminology system Binding: Absent or Unknown Immunization - IPS (required) Required Pattern: At least the following |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/uv/ips/CodeSystem/absent-unknown-uv-ips | |
version | 0..1 | string | Version of the system - if relevant | |
code | 0..1 | code | Symbol in syntax defined by the system | |
display | 0..1 | string | Representation defined by the system | |
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |
id | 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 | |
system | Σ | 1..1 | uri | Identity of the terminology system |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | Σ | 1..1 | code | Symbol in syntax defined by the system |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
coding:COVID19VaccineName | Σ | 0..* | Coding | Code defined by a terminology system Binding: COVID-19 Vaccine Codes (required) |
text | Σ | 0..1 | string | Plain text representation of the concept |
patient | SΣI | 1..1 | Reference(Patient) | Who was immunized |
encounter | I | 0..1 | Reference(Encounter) | Encounter immunization was part of |
Slices for occurrence[x] | SΣ | 1..1 | Vaccine administration date Slice: Unordered, Open by type:$this | |
occurrenceDateTime | dateTime | |||
occurrenceString | string | |||
occurrence[x]:occurrenceDateTime | SΣ | 0..1 | dateTime | Vaccine administration date |
recorded | 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 |
reportOrigin | 0..1 | CodeableConcept | Indicates the source of a secondarily reported record Binding: ImmunizationOriginCodes (example): The source of the data for a record which is not from a primary source. | |
location | I | 0..1 | Reference(Location) | Where immunization occurred |
manufacturer | I | 0..1 | Reference(Organization) | Vaccine manufacturer |
lotNumber | SI | 0..1 | string | Vaccine lot number must-exist-if-vaccination-performed: This item must be specified if the vaccination was performed |
expirationDate | 0..1 | date | Vaccine expiration date | |
site | 0..1 | CodeableConcept | Body site vaccine was administered Binding: CodesForImmunizationSiteOfAdministration (example): The site at which the vaccine was administered. | |
route | 0..1 | CodeableConcept | How vaccine entered body Binding: ImmunizationRouteCodes (example): The route by which the vaccine was administered. | |
doseQuantity | I | 0..1 | SimpleQuantity | Amount of vaccine administered |
performer | Σ | 0..* | BackboneElement | Who performed event |
id | 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 | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
function | Σ | 0..1 | CodeableConcept | What type of performance was done Binding: ImmunizationFunctionCodes (extensible): The role a practitioner or organization plays in the immunization event. |
actor | ΣI | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Individual or organization who was performing |
note | Σ | 0..* | Annotation | Additional immunization notes |
reasonCode | SI | 1..1 | CodeableConcept | Why immunization occurred Binding: COVID-19 Vaccination Reasons (required) codeable-concept-text-present-if-code-other: If codeableConcept.coding is set to SNOMED CT 'Other (qualifier value)', a string in codeableConcept.text must be supplied to identify the value of 'other' |
reasonReference | I | 0..* | Reference(Condition | Observation | DiagnosticReport) | Why immunization occurred |
isSubpotent | ?!Σ | 0..1 | boolean | Dose potency |
subpotentReason | 0..* | CodeableConcept | Reason for being subpotent Binding: ImmunizationSubpotentReason (example): The reason why a dose is considered to be subpotent. | |
education | I | 0..* | BackboneElement | Educational material presented to patient |
id | 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 | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
documentType | 0..1 | string | Educational material document identifier | |
reference | 0..1 | uri | Educational material reference pointer | |
publicationDate | 0..1 | dateTime | Educational material publication date | |
presentationDate | 0..1 | dateTime | Educational material presentation date | |
programEligibility | 0..* | CodeableConcept | Patient eligibility for a vaccination program Binding: ImmunizationProgramEligibility (example): The patient's eligibility for a vaccation program. | |
fundingSource | 0..1 | CodeableConcept | Funding source for the vaccine Binding: ImmunizationFundingSource (example): The source of funding used to purchase the vaccine administered. | |
reaction | 0..* | BackboneElement | Details of a reaction that follows immunization | |
id | 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 | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
date | 0..1 | dateTime | When reaction started | |
detail | I | 0..1 | Reference(Vaccination Injection Site Pain | Vaccination Injection Site Erythema | Vaccination Injection Site Swelling | Body Temperature After Vaccination | Allergic Reaction To Vaccination) | Additional information on reaction |
reported | 0..1 | boolean | Indicates self-reported reaction | |
protocolApplied | S | 1..* | BackboneElement | Protocol followed by the provider |
id | 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 | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
series | 0..1 | string | Name of vaccine series | |
authority | I | 0..1 | Reference(Organization) | Who is responsible for publishing the recommendations |
targetDisease | S | 1..* | CodeableConcept | Vaccine preventatable disease being targetted Binding: https://fhir.kbv.de/ValueSet/KBV_VS_MIO_Vaccination_TargetDisease (extensible): The vaccine preventable disease the dose is being administered for. Required Pattern: At least the following |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct | |
version | 1..1 | string | Version of the system - if relevant Fixed Value: http://snomed.info/sct/900000000000207008/version/20210731 | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 840539006 | |
display | 1..1 | string | Representation defined by the system Fixed Value: Disease caused by Severe acute respiratory syndrome coronavirus 2 (disorder) | |
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |
text | 0..1 | string | Plain text representation of the concept | |
id | 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 | |
coding | SΣ | 1..1 | Coding | Code defined by a terminology system |
id | 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 | |
system | Σ | 1..1 | uri | Identity of the terminology system |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | Σ | 1..1 | code | Symbol in syntax defined by the system |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
text | Σ | 0..1 | string | Plain text representation of the concept |
Slices for doseNumber[x] | 1..1 | positiveInt | Dose number within series Slice: Unordered, Closed by type:$this | |
doseNumber[x]:doseNumberPositiveInt | 1..1 | positiveInt | Dose number within series | |
seriesDoses[x] | 0..1 | Recommended number of doses for immunity | ||
seriesDosesPositiveInt | positiveInt | |||
seriesDosesString | string | |||
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Immunization | I | 0..* | Immunization | Immunization event information immunization-status-reason-if-not-done: If status is set to #not-done, a statusReason must be supplied |
vaccineCode | Σ | 1..1 | CodeableConcept | Vaccine product administered Binding: VaccineAdministeredValueSet (example): The code for vaccine product administered. |
coding:snomed | Σ | 0..1 | Coding | Code defined by a terminology system Binding: VaccinesSNOMED (extensible): SNOMED Vaccine Codes Required Pattern: At least the following |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct | |
coding:atc | Σ | 0..1 | Coding | Code defined by a terminology system Binding: VaccinesATC (extensible): ATC Vaccine Codes Required Pattern: At least the following |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://fhir.de/CodeSystem/bfarm/atc | |
coding:pzn | Σ | 0..1 | Coding | Code defined by a terminology system Binding: PZN (required) Required Pattern: At least the following |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://fhir.de/CodeSystem/ifa/pzn | |
coding:absentOrUnknownImmunization | Σ | 0..1 | Coding | Code defined by a terminology system Binding: Absent or Unknown Immunization - IPS (required) Required Pattern: At least the following |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/uv/ips/CodeSystem/absent-unknown-uv-ips | |
patient | ΣI | 1..1 | Reference(Patient) | Who was immunized |
Slices for occurrence[x] | Σ | 1..1 | Vaccine administration date Slice: Unordered, Open by type:$this | |
occurrenceDateTime | dateTime | |||
occurrenceString | string | |||
occurrence[x]:occurrenceDateTime | Σ | 0..1 | dateTime | Vaccine administration date |
lotNumber | I | 0..1 | string | Vaccine lot number must-exist-if-vaccination-performed: This item must be specified if the vaccination was performed |
reasonCode | I | 1..1 | CodeableConcept | Why immunization occurred Binding: COVID-19 Vaccination Reasons (required) codeable-concept-text-present-if-code-other: If codeableConcept.coding is set to SNOMED CT 'Other (qualifier value)', a string in codeableConcept.text must be supplied to identify the value of 'other' |
protocolApplied | 1..* | BackboneElement | Protocol followed by the provider | |
targetDisease | 1..* | CodeableConcept | Vaccine preventatable disease being targetted Binding: https://fhir.kbv.de/ValueSet/KBV_VS_MIO_Vaccination_TargetDisease (extensible): The vaccine preventable disease the dose is being administered for. Required Pattern: At least the following | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct | |
version | 1..1 | string | Version of the system - if relevant Fixed Value: http://snomed.info/sct/900000000000207008/version/20210731 | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 840539006 | |
display | 1..1 | string | Representation defined by the system Fixed Value: Disease caused by Severe acute respiratory syndrome coronavirus 2 (disorder) | |
coding | Σ | 1..1 | Coding | Code defined by a terminology system |
Documentation for this format |
This structure is derived from Immunization
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Immunization | I | 0..* | Immunization | Immunization event information immunization-status-reason-if-not-done: If status is set to #not-done, a statusReason must be supplied |
statusReason | 0..1 | CodeableConcept | Reason not done Binding: COVID-19 Vaccination Contraindications (required) | |
vaccineCode | ||||
coding:COVID19VaccineName | 0..* | Coding | Code defined by a terminology system Binding: COVID-19 Vaccine Codes (required) | |
lotNumber | SI | 0..1 | string | Vaccine lot number must-exist-if-vaccination-performed: This item must be specified if the vaccination was performed |
reasonCode | SI | 1..1 | CodeableConcept | Why immunization occurred Binding: COVID-19 Vaccination Reasons (required) codeable-concept-text-present-if-code-other: If codeableConcept.coding is set to SNOMED CT 'Other (qualifier value)', a string in codeableConcept.text must be supplied to identify the value of 'other' |
reaction | ||||
detail | 0..1 | Reference(Vaccination Injection Site Pain | Vaccination Injection Site Erythema | Vaccination Injection Site Swelling | Body Temperature After Vaccination | Allergic Reaction To Vaccination) | Additional information on reaction | |
protocolApplied | 1..* | BackboneElement | Protocol followed by the provider | |
targetDisease | 1..* | CodeableConcept | Vaccine preventatable disease being targetted Required Pattern: At least the following | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct | |
version | 1..1 | string | Version of the system - if relevant Fixed Value: http://snomed.info/sct/900000000000207008/version/20210731 | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 840539006 | |
display | 1..1 | string | Representation defined by the system Fixed Value: Disease caused by Severe acute respiratory syndrome coronavirus 2 (disorder) | |
doseNumberPositiveInt | 1..1 | positiveInt | Dose number within series | |
Documentation for this format |
This structure is derived from Immunization
Summary
Mandatory: 3 elements
Must-Support: 2 elements
Structures
This structure refers to these other structures:
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet / Code |
Immunization.language | preferred | CommonLanguages Max Binding: AllLanguages |
Immunization.status | required | ImmunizationStatusCodes |
Immunization.statusReason | required | COVID19VaccinationContraindications |
Immunization.vaccineCode | example | VaccineAdministeredValueSet |
Immunization.vaccineCode.coding:snomed | extensible | Pattern: SNOMED CT code null |
Immunization.vaccineCode.coding:atc | extensible | Pattern: null |
Immunization.vaccineCode.coding:pzn | required | Pattern: null |
Immunization.vaccineCode.coding:absentOrUnknownImmunization | required | Pattern: null |
Immunization.vaccineCode.coding:COVID19VaccineName | required | COVID19VaccineCodes |
Immunization.reportOrigin | example | ImmunizationOriginCodes |
Immunization.site | example | CodesForImmunizationSiteOfAdministration |
Immunization.route | example | ImmunizationRouteCodes |
Immunization.performer.function | extensible | ImmunizationFunctionCodes |
Immunization.reasonCode | required | COVID19VaccinationReasons |
Immunization.subpotentReason | example | ImmunizationSubpotentReason |
Immunization.programEligibility | example | ImmunizationProgramEligibility |
Immunization.fundingSource | example | ImmunizationFundingSource |
Immunization.protocolApplied.targetDisease | extensible | Pattern: SNOMED CT code 840539006("Disease caused by Severe acute respiratory syndrome coronavirus 2 (disorder)") |
Id | Path | Details | Requirements |
immunization-status-reason-if-not-done | Immunization | If status is set to #not-done, a statusReason must be supplied : (status = 'not-done') implies statusReason.exists() | |
must-exist-if-vaccination-performed | Immunization.lotNumber | This item must be specified if the vaccination was performed : (status = 'completed') implies $this.exists() | |
codeable-concept-text-present-if-code-other | Immunization.reasonCode | If codeableConcept.coding is set to SNOMED CT 'Other (qualifier value)', a string in codeableConcept.text must be supplied to identify the value of 'other' : (coding.system = 'http://snomed.info/sct' and coding.code = '74964007') implies text.exists() |