WHO Immunization Implementation Guide
0.2.0 - ci-build

WHO Immunization Implementation Guide, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-immunizations/ and changes regularly. See the Directory of published versions

Resource Profile: SMART Guidelines Immunizations AdverseEvent

Official URL: http://smart.who.int/immunizations/StructureDefinition/IMMZ.AdverseEvent Version: 0.2.0
Draft as of 2025-06-25 Computable Name: IMMZAdverseEvent

AdverseEvent Profile for the Immunizations SMART Guidelines. From IMMZ.D17 Report AEFI

Usages:

  • This Profile is not used by any profiles in this Implementation Guide

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. AdverseEvent 0..* AdverseEvent Medical care, research study or other healthcare event causing physical injury
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:otherMedicalEvent 0..1 string Immunization Other Important Medical Event
URL: http://smart.who.int/immunizations/StructureDefinition/IMMZOtherMedicalEvent
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... event Σ 1..1 CodeableConcept Type of the event itself in relation to the subject
Binding: IMMZ.D.DE95 ValueSet for Reaction manifestation (required)
... subject Σ 1..1 Reference(Patient | Group | Practitioner | RelatedPerson) Subject impacted by event
... date Σ 1..1 dateTime When the event occurred
... seriousness Σ 1..1 CodeableConcept Seriousness of the event
Binding: IMMZ.D.DE107 ValueSet for Type of reaction (required)
... outcome Σ 1..1 CodeableConcept resolved | recovering | ongoing | resolvedWithSequelae | fatal | unknown
Binding: AdverseEventOutcome (required): TODO (and should this be required?).

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
AdverseEvent.actuality Base required AdverseEventActuality 📍4.0.1 FHIR Std.
AdverseEvent.event Base required IMMZ.D.DE95 ValueSet for Reaction manifestation 📦0.2.0 This IG
AdverseEvent.seriousness Base required IMMZ.D.DE107 ValueSet for Type of reaction 📦0.2.0 This IG
AdverseEvent.outcome Base required AdverseEventOutcome 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error AdverseEvent If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error AdverseEvent 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 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-4 error AdverseEvent If 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-5 error AdverseEvent If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice AdverseEvent A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from AdverseEvent

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. AdverseEvent 0..* AdverseEvent Medical care, research study or other healthcare event causing physical injury
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:otherMedicalEvent 0..1 string Immunization Other Important Medical Event
URL: http://smart.who.int/immunizations/StructureDefinition/IMMZOtherMedicalEvent
... event 1..1 CodeableConcept Type of the event itself in relation to the subject
Binding: IMMZ.D.DE95 ValueSet for Reaction manifestation (required)
... date 1..1 dateTime When the event occurred
... outcome 1..1 CodeableConcept resolved | recovering | ongoing | resolvedWithSequelae | fatal | unknown

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
AdverseEvent.event Base required IMMZ.D.DE95 ValueSet for Reaction manifestation 📦0.2.0 This IG
AdverseEvent.seriousness Base required IMMZ.D.DE107 ValueSet for Type of reaction 📦0.2.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. AdverseEvent 0..* AdverseEvent Medical care, research study or other healthcare event causing physical injury
... id Σ 0..1 id 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): A human language.
Additional BindingsPurpose
AllLanguages 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
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:otherMedicalEvent 0..1 string Immunization Other Important Medical Event
URL: http://smart.who.int/immunizations/StructureDefinition/IMMZOtherMedicalEvent
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..1 Identifier Business identifier for the event
... actuality ?!Σ 1..1 code actual | potential
Binding: AdverseEventActuality (required): Overall nature of the adverse event, e.g. real or potential.
... category Σ 0..* CodeableConcept product-problem | product-quality | product-use-error | wrong-dose | incorrect-prescribing-information | wrong-technique | wrong-route-of-administration | wrong-rate | wrong-duration | wrong-time | expired-drug | medical-device-use-error | problem-different-manufacturer | unsafe-physical-environment
Binding: AdverseEventCategory (extensible): Overall categorization of the event, e.g. product-related or situational.
... event Σ 1..1 CodeableConcept Type of the event itself in relation to the subject
Binding: IMMZ.D.DE95 ValueSet for Reaction manifestation (required)
... subject Σ 1..1 Reference(Patient | Group | Practitioner | RelatedPerson) Subject impacted by event
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
... date Σ 1..1 dateTime When the event occurred
... detected Σ 0..1 dateTime When the event was detected
... recordedDate Σ 0..1 dateTime When the event was recorded
... resultingCondition Σ 0..* Reference(Condition) Effect on the subject due to this event
... location Σ 0..1 Reference(Location) Location where adverse event occurred
... seriousness Σ 1..1 CodeableConcept Seriousness of the event
Binding: IMMZ.D.DE107 ValueSet for Type of reaction (required)
... severity Σ 0..1 CodeableConcept mild | moderate | severe
Binding: AdverseEventSeverity (required): The severity of the adverse event itself, in direct relation to the subject.
... outcome Σ 1..1 CodeableConcept resolved | recovering | ongoing | resolvedWithSequelae | fatal | unknown
Binding: AdverseEventOutcome (required): TODO (and should this be required?).
... recorder Σ 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) Who recorded the adverse event
... contributor Σ 0..* Reference(Practitioner | PractitionerRole | Device) Who was involved in the adverse event or the potential adverse event
... suspectEntity Σ 0..* BackboneElement The suspected agent causing the adverse event
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... instance Σ 1..1 Reference(Immunization | Procedure | Substance | Medication | MedicationAdministration | MedicationStatement | Device) Refers to the specific entity that caused the adverse event
.... causality Σ 0..* BackboneElement Information on the possible cause of the event
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... assessment Σ 0..1 CodeableConcept Assessment of if the entity caused the event
Binding: AdverseEventCausalityAssessment (example): Codes for the assessment of whether the entity caused the event.
..... productRelatedness Σ 0..1 string AdverseEvent.suspectEntity.causalityProductRelatedness
..... author Σ 0..1 Reference(Practitioner | PractitionerRole) AdverseEvent.suspectEntity.causalityAuthor
..... method Σ 0..1 CodeableConcept ProbabilityScale | Bayesian | Checklist
Binding: AdverseEventCausalityMethod (example): TODO.
... subjectMedicalHistory Σ 0..* Reference(Condition | Observation | AllergyIntolerance | FamilyMemberHistory | Immunization | Procedure | Media | DocumentReference) AdverseEvent.subjectMedicalHistory
... referenceDocument Σ 0..* Reference(DocumentReference) AdverseEvent.referenceDocument
... study Σ 0..* Reference(ResearchStudy) AdverseEvent.study

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
AdverseEvent.language Base preferred Common Languages 📍4.0.1 FHIR Std.
AdverseEvent.actuality Base required AdverseEventActuality 📍4.0.1 FHIR Std.
AdverseEvent.category Base extensible AdverseEventCategory 📍4.0.1 FHIR Std.
AdverseEvent.event Base required IMMZ.D.DE95 ValueSet for Reaction manifestation 📦0.2.0 This IG
AdverseEvent.seriousness Base required IMMZ.D.DE107 ValueSet for Type of reaction 📦0.2.0 This IG
AdverseEvent.severity Base required AdverseEventSeverity 📍4.0.1 FHIR Std.
AdverseEvent.outcome Base required AdverseEventOutcome 📍4.0.1 FHIR Std.
AdverseEvent.suspectEntity.​causality.assessment Base example AdverseEventCausalityAssessment 📍4.0.1 FHIR Std.
AdverseEvent.suspectEntity.​causality.method Base example AdverseEventCausalityMethod 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error AdverseEvent If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error AdverseEvent 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 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-4 error AdverseEvent If 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-5 error AdverseEvent If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice AdverseEvent A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from AdverseEvent

Summary

Mandatory: 4 elements

Extensions

This structure refers to these extensions:

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. AdverseEvent 0..* AdverseEvent Medical care, research study or other healthcare event causing physical injury
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:otherMedicalEvent 0..1 string Immunization Other Important Medical Event
URL: http://smart.who.int/immunizations/StructureDefinition/IMMZOtherMedicalEvent
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... event Σ 1..1 CodeableConcept Type of the event itself in relation to the subject
Binding: IMMZ.D.DE95 ValueSet for Reaction manifestation (required)
... subject Σ 1..1 Reference(Patient | Group | Practitioner | RelatedPerson) Subject impacted by event
... date Σ 1..1 dateTime When the event occurred
... seriousness Σ 1..1 CodeableConcept Seriousness of the event
Binding: IMMZ.D.DE107 ValueSet for Type of reaction (required)
... outcome Σ 1..1 CodeableConcept resolved | recovering | ongoing | resolvedWithSequelae | fatal | unknown
Binding: AdverseEventOutcome (required): TODO (and should this be required?).

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
AdverseEvent.actuality Base required AdverseEventActuality 📍4.0.1 FHIR Std.
AdverseEvent.event Base required IMMZ.D.DE95 ValueSet for Reaction manifestation 📦0.2.0 This IG
AdverseEvent.seriousness Base required IMMZ.D.DE107 ValueSet for Type of reaction 📦0.2.0 This IG
AdverseEvent.outcome Base required AdverseEventOutcome 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error AdverseEvent If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error AdverseEvent 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 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-4 error AdverseEvent If 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-5 error AdverseEvent If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice AdverseEvent A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from AdverseEvent

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. AdverseEvent 0..* AdverseEvent Medical care, research study or other healthcare event causing physical injury
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:otherMedicalEvent 0..1 string Immunization Other Important Medical Event
URL: http://smart.who.int/immunizations/StructureDefinition/IMMZOtherMedicalEvent
... event 1..1 CodeableConcept Type of the event itself in relation to the subject
Binding: IMMZ.D.DE95 ValueSet for Reaction manifestation (required)
... date 1..1 dateTime When the event occurred
... outcome 1..1 CodeableConcept resolved | recovering | ongoing | resolvedWithSequelae | fatal | unknown

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
AdverseEvent.event Base required IMMZ.D.DE95 ValueSet for Reaction manifestation 📦0.2.0 This IG
AdverseEvent.seriousness Base required IMMZ.D.DE107 ValueSet for Type of reaction 📦0.2.0 This IG

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. AdverseEvent 0..* AdverseEvent Medical care, research study or other healthcare event causing physical injury
... id Σ 0..1 id 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): A human language.
Additional BindingsPurpose
AllLanguages 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
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:otherMedicalEvent 0..1 string Immunization Other Important Medical Event
URL: http://smart.who.int/immunizations/StructureDefinition/IMMZOtherMedicalEvent
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..1 Identifier Business identifier for the event
... actuality ?!Σ 1..1 code actual | potential
Binding: AdverseEventActuality (required): Overall nature of the adverse event, e.g. real or potential.
... category Σ 0..* CodeableConcept product-problem | product-quality | product-use-error | wrong-dose | incorrect-prescribing-information | wrong-technique | wrong-route-of-administration | wrong-rate | wrong-duration | wrong-time | expired-drug | medical-device-use-error | problem-different-manufacturer | unsafe-physical-environment
Binding: AdverseEventCategory (extensible): Overall categorization of the event, e.g. product-related or situational.
... event Σ 1..1 CodeableConcept Type of the event itself in relation to the subject
Binding: IMMZ.D.DE95 ValueSet for Reaction manifestation (required)
... subject Σ 1..1 Reference(Patient | Group | Practitioner | RelatedPerson) Subject impacted by event
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
... date Σ 1..1 dateTime When the event occurred
... detected Σ 0..1 dateTime When the event was detected
... recordedDate Σ 0..1 dateTime When the event was recorded
... resultingCondition Σ 0..* Reference(Condition) Effect on the subject due to this event
... location Σ 0..1 Reference(Location) Location where adverse event occurred
... seriousness Σ 1..1 CodeableConcept Seriousness of the event
Binding: IMMZ.D.DE107 ValueSet for Type of reaction (required)
... severity Σ 0..1 CodeableConcept mild | moderate | severe
Binding: AdverseEventSeverity (required): The severity of the adverse event itself, in direct relation to the subject.
... outcome Σ 1..1 CodeableConcept resolved | recovering | ongoing | resolvedWithSequelae | fatal | unknown
Binding: AdverseEventOutcome (required): TODO (and should this be required?).
... recorder Σ 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) Who recorded the adverse event
... contributor Σ 0..* Reference(Practitioner | PractitionerRole | Device) Who was involved in the adverse event or the potential adverse event
... suspectEntity Σ 0..* BackboneElement The suspected agent causing the adverse event
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... instance Σ 1..1 Reference(Immunization | Procedure | Substance | Medication | MedicationAdministration | MedicationStatement | Device) Refers to the specific entity that caused the adverse event
.... causality Σ 0..* BackboneElement Information on the possible cause of the event
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... assessment Σ 0..1 CodeableConcept Assessment of if the entity caused the event
Binding: AdverseEventCausalityAssessment (example): Codes for the assessment of whether the entity caused the event.
..... productRelatedness Σ 0..1 string AdverseEvent.suspectEntity.causalityProductRelatedness
..... author Σ 0..1 Reference(Practitioner | PractitionerRole) AdverseEvent.suspectEntity.causalityAuthor
..... method Σ 0..1 CodeableConcept ProbabilityScale | Bayesian | Checklist
Binding: AdverseEventCausalityMethod (example): TODO.
... subjectMedicalHistory Σ 0..* Reference(Condition | Observation | AllergyIntolerance | FamilyMemberHistory | Immunization | Procedure | Media | DocumentReference) AdverseEvent.subjectMedicalHistory
... referenceDocument Σ 0..* Reference(DocumentReference) AdverseEvent.referenceDocument
... study Σ 0..* Reference(ResearchStudy) AdverseEvent.study

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
AdverseEvent.language Base preferred Common Languages 📍4.0.1 FHIR Std.
AdverseEvent.actuality Base required AdverseEventActuality 📍4.0.1 FHIR Std.
AdverseEvent.category Base extensible AdverseEventCategory 📍4.0.1 FHIR Std.
AdverseEvent.event Base required IMMZ.D.DE95 ValueSet for Reaction manifestation 📦0.2.0 This IG
AdverseEvent.seriousness Base required IMMZ.D.DE107 ValueSet for Type of reaction 📦0.2.0 This IG
AdverseEvent.severity Base required AdverseEventSeverity 📍4.0.1 FHIR Std.
AdverseEvent.outcome Base required AdverseEventOutcome 📍4.0.1 FHIR Std.
AdverseEvent.suspectEntity.​causality.assessment Base example AdverseEventCausalityAssessment 📍4.0.1 FHIR Std.
AdverseEvent.suspectEntity.​causality.method Base example AdverseEventCausalityMethod 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error AdverseEvent If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error AdverseEvent 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 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-4 error AdverseEvent If 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-5 error AdverseEvent If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice AdverseEvent A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from AdverseEvent

Summary

Mandatory: 4 elements

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron