SMART ICVP
0.1.0 - ci-build
SMART ICVP, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-icvp/tree/v1.0.0-updates and changes regularly. See the Directory of published versions
| Official URL: http://smart.who.int/icvp/StructureDefinition/Immunization-uv-ips-PreQual | Version: 0.1.0 | |||
| Draft as of 2025-02-15 | Computable Name: Immunization-uv-ips-PreQual | |||
This profile represents an IPS Immunization record that can be mapped onto a Digital Vaccine Certificates using the WHO PreQual Database
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints![]() | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Immunization-uv-ips-DVC | 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 | |||||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created ele-1: All FHIR elements must have a @value or children | ||||||
![]() ![]() |
1..* | 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 | |||||||
![]() ![]() ![]() |
SC | 1..1 | Coding, Reference(Medication Catalog Item) | Extension URL: http://smart.who.int/icvp/StructureDefinition/ProductID ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both has-a-product-id-code: Ensure there is a product id code. A more robust expression is needed here. Intended to be called on (a collection) of ProductId extensions. //to do: better expresssion: valueCoding or valueReference exists and meets the requisite profiles, etc. has-a-prequal-vaccine-product-id-code: Ensure vaccine type is from the prequal vaccine database | ||||||
![]() ![]() |
?! | 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 | ||||||
![]() ![]() |
?!SΣ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization. ele-1: All FHIR elements must have a @value or children | ||||||
![]() ![]() |
SC | 1..1 | CodeableConceptIPS | Vaccine that was administered or was to be administered.Several kinds of vaccine product coding could be provided.
The IPS assumes that either the type of the vaccine for particular disease or diseases (e.g. MMR vaccine) against which the patient has been immunised is provided; or the known absent / unknown code.
Other coded information can be provided as well as: the IDMP Pharmaceutical Product Identifiers (PhPID), Medicinal Product Identifier (MPID), Packaged Medicinal Product Identifier (PCID), when available, or equivalent coded concepts; the WHO ATC codes; or any other kind of code that that identifies, classifies or cluster the administered product. Binding: Vaccines - IPS (preferred): The type of vaccine for particular disease or diseases against which the patient has been immunised, or a code for absent/unknown immunization.
ele-1: All FHIR elements must have a @value or children has-a-prequal-vaccine-type: Ensure vaccine type is from the prequal vaccine database | ||||||
![]() ![]() |
SΣ | 1..1 | Reference(Patient (IPS)) | Who was immunized ele-1: All FHIR elements must have a @value or children | ||||||
![]() ![]() ![]() |
SΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL ele-1: All FHIR elements must have a @value or children | ||||||
![]() ![]() |
SΣ | 1..1 | Vaccine administration date ele-1: All FHIR elements must have a @value or children | |||||||
![]() ![]() ![]() |
Content/Rules for all Types | |||||||||
![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||||||||
![]() ![]() ![]() ![]() ![]() |
S | 0..1 | code | occurrence[x] absence reason URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason Binding: DataAbsentReason (required) ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | ||||||
![]() ![]() ![]() |
dateTime | |||||||||
![]() ![]() ![]() |
string | |||||||||
![]() ![]() |
?!Σ | 0..1 | boolean | Dose potency ele-1: All FHIR elements must have a @value or children | ||||||
Documentation for this format | ||||||||||
| Path | Conformance | ValueSet | URI |
| Immunization.status | required | ImmunizationStatusCodeshttp://hl7.org/fhir/ValueSet/immunization-status|4.0.1from the FHIR Standard | |
| Immunization.vaccineCode | preferred | VaccinesUvIpshttp://hl7.org/fhir/uv/ips/ValueSet/vaccines-uv-ips |
| Id | Grade | Path(s) | Details | Requirements |
| dom-2 | error | Immunization | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
| dom-3 | error | Immunization | 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 | Immunization | 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 | Immunization | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
| dom-6 | best practice | Immunization | 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() | |
| has-a-prequal-vaccine-product-id-code | error | Immunization.extension:productID | Ensure vaccine type is from the prequal vaccine database : valueCoding.memberOf('http://smart.who.int/pcmt-vaxprequal/ValueSets/PreQualProductIDs') | |
| has-a-prequal-vaccine-type | error | Immunization.vaccineCode | Ensure vaccine type is from the prequal vaccine database : memberOf('http://smart.who.int/pcmt-vaxprequal/CodeSystem/PreQualVaccineType') | |
| has-a-product-id-code | error | Immunization.extension:productID | Ensure there is a product id code. A more robust expression is needed here. Intended to be called on (a collection) of ProductId extensions. //to do: better expresssion: valueCoding or valueReference exists and meets the requisite profiles, etc. : exists() |
This structure is derived from Immunization-uv-ips-DVC
| Name | Flags | Card. | Type | Description & Constraints![]() |
|---|---|---|---|---|
![]() |
Immunization-uv-ips-DVC | |||
![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() |
C | 1..1 | ProductID | Extension has-a-prequal-vaccine-product-id-code: Ensure vaccine type is from the prequal vaccine database |
![]() ![]() |
C | 1..1 | CodeableConceptIPS | Vaccine that was administered or was to be administered.Several kinds of vaccine product coding could be provided.
The IPS assumes that either the type of the vaccine for particular disease or diseases (e.g. MMR vaccine) against which the patient has been immunised is provided; or the known absent / unknown code.
Other coded information can be provided as well as: the IDMP Pharmaceutical Product Identifiers (PhPID), Medicinal Product Identifier (MPID), Packaged Medicinal Product Identifier (PCID), when available, or equivalent coded concepts; the WHO ATC codes; or any other kind of code that that identifies, classifies or cluster the administered product. has-a-prequal-vaccine-type: Ensure vaccine type is from the prequal vaccine database |
Documentation for this format | ||||
| Id | Grade | Path(s) | Details | Requirements |
| has-a-prequal-vaccine-product-id-code | error | Immunization.extension:productID | Ensure vaccine type is from the prequal vaccine database : valueCoding.memberOf('http://smart.who.int/pcmt-vaxprequal/ValueSets/PreQualProductIDs') | |
| has-a-prequal-vaccine-type | error | Immunization.vaccineCode | Ensure vaccine type is from the prequal vaccine database : memberOf('http://smart.who.int/pcmt-vaxprequal/CodeSystem/PreQualVaccineType') |
| Name | Flags | Card. | Type | Description & Constraints![]() | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Immunization-uv-ips-DVC | Immunization event information | |||||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation | |||||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||||
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |||||||
![]() ![]() ![]() |
SC | 1..1 | Coding, Reference(Medication Catalog Item) | Extension URL: http://smart.who.int/icvp/StructureDefinition/ProductID has-a-product-id-code: Ensure there is a product id code. A more robust expression is needed here. Intended to be called on (a collection) of ProductId extensions. //to do: better expresssion: valueCoding or valueReference exists and meets the requisite profiles, etc. has-a-prequal-vaccine-product-id-code: Ensure vaccine type is from the prequal vaccine database | ||||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||||
![]() ![]() |
0..* | Identifier | Business identifier | |||||||
![]() ![]() |
?!SΣ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization. | ||||||
![]() ![]() |
0..1 | CodeableConcept | Reason not done Binding: ImmunizationStatusReasonCodes (example): The reason why a vaccine was not administered. | |||||||
![]() ![]() |
SC | 1..1 | CodeableConceptIPS | Vaccine that was administered or was to be administered.Several kinds of vaccine product coding could be provided.
The IPS assumes that either the type of the vaccine for particular disease or diseases (e.g. MMR vaccine) against which the patient has been immunised is provided; or the known absent / unknown code.
Other coded information can be provided as well as: the IDMP Pharmaceutical Product Identifiers (PhPID), Medicinal Product Identifier (MPID), Packaged Medicinal Product Identifier (PCID), when available, or equivalent coded concepts; the WHO ATC codes; or any other kind of code that that identifies, classifies or cluster the administered product. Binding: Vaccines - IPS (preferred): The type of vaccine for particular disease or diseases against which the patient has been immunised, or a code for absent/unknown immunization.
has-a-prequal-vaccine-type: Ensure vaccine type is from the prequal vaccine database | ||||||
![]() ![]() |
SΣ | 1..1 | Reference(Patient (IPS)) | Who was immunized | ||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||
![]() ![]() ![]() |
SΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL | ||||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | ||||||
![]() ![]() ![]() |
Σ | 0..1 | Identifier | Logical reference, when literal reference is not known | ||||||
![]() ![]() ![]() |
Σ | 0..1 | string | Text alternative for the resource | ||||||
![]() ![]() |
0..1 | Reference(Encounter) | Encounter immunization was part of | |||||||
![]() ![]() |
SΣ | 1..1 | Vaccine administration date | |||||||
![]() ![]() ![]() |
Content/Rules for all Types | |||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||
![]() ![]() ![]() ![]() ![]() |
S | 0..1 | code | occurrence[x] absence reason URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason Binding: DataAbsentReason (required) | ||||||
![]() ![]() ![]() |
dateTime | |||||||||
![]() ![]() ![]() |
string | |||||||||
![]() ![]() |
0..1 | dateTime | When the immunization was first captured in the subject's record | |||||||
![]() ![]() |
Σ | 0..1 | boolean | Indicates context the data was recorded in | ||||||
![]() ![]() |
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. | |||||||
![]() ![]() |
0..1 | Reference(Location) | Where immunization occurred | |||||||
![]() ![]() |
0..1 | Reference(Organization) | Vaccine manufacturer | |||||||
![]() ![]() |
0..1 | string | Vaccine lot number | |||||||
![]() ![]() |
0..1 | date | Vaccine expiration date | |||||||
![]() ![]() |
0..1 | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: SNOMEDCTBodyStructures (preferred) | |||||||
![]() ![]() |
0..1 | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: Medicine Route of Administration - IPS (preferred) | |||||||
![]() ![]() |
0..1 | SimpleQuantity | Amount of vaccine administered | |||||||
![]() ![]() |
Σ | 0..* | BackboneElement | Who performed event | ||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | What type of performance was done Binding: ImmunizationFunctionCodes (extensible): The role a practitioner or organization plays in the immunization event. | ||||||
![]() ![]() ![]() |
Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Individual or organization who was performing | ||||||
![]() ![]() |
Σ | 0..* | Annotation | Additional immunization notes | ||||||
![]() ![]() |
0..* | CodeableConcept | Why immunization occurred Binding: ImmunizationReasonCodes (example): The reason why a vaccine was administered. | |||||||
![]() ![]() |
0..* | Reference(Condition | Observation | DiagnosticReport) | Why immunization occurred | |||||||
![]() ![]() |
?!Σ | 0..1 | boolean | Dose potency | ||||||
![]() ![]() |
0..* | CodeableConcept | Reason for being subpotent Binding: ImmunizationSubpotentReason (example): The reason why a dose is considered to be subpotent. | |||||||
![]() ![]() |
C | 0..* | BackboneElement | Educational material presented to patient imm-1: One of documentType or reference SHALL be present | ||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||||
![]() ![]() ![]() |
0..1 | string | Educational material document identifier | |||||||
![]() ![]() ![]() |
0..1 | uri | Educational material reference pointer | |||||||
![]() ![]() ![]() |
0..1 | dateTime | Educational material publication date | |||||||
![]() ![]() ![]() |
0..1 | dateTime | Educational material presentation date | |||||||
![]() ![]() |
0..* | CodeableConcept | Patient eligibility for a vaccination program Binding: ImmunizationProgramEligibility (example): The patient's eligibility for a vaccation program. | |||||||
![]() ![]() |
0..1 | CodeableConcept | Funding source for the vaccine Binding: ImmunizationFundingSource (example): The source of funding used to purchase the vaccine administered. | |||||||
![]() ![]() |
0..* | BackboneElement | Details of a reaction that follows immunization | |||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||||
![]() ![]() ![]() |
0..1 | dateTime | When reaction started | |||||||
![]() ![]() ![]() |
0..1 | Reference(Observation) | Additional information on reaction | |||||||
![]() ![]() ![]() |
0..1 | boolean | Indicates self-reported reaction | |||||||
![]() ![]() |
0..* | BackboneElement | Protocol followed by the provider | |||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||||
![]() ![]() ![]() |
0..1 | string | Name of vaccine series | |||||||
![]() ![]() ![]() |
0..1 | Reference(Organization) | Who is responsible for publishing the recommendations | |||||||
![]() ![]() ![]() |
0..* | CodeableConcept | Vaccine preventable disease being targeted Binding: Vaccine Target Diseases - IPS (preferred): The particular disease or diseases against which the patient has been immunized. | |||||||
![]() ![]() ![]() |
1..1 | Dose number within series | ||||||||
![]() ![]() ![]() ![]() |
positiveInt | |||||||||
![]() ![]() ![]() ![]() |
string | |||||||||
![]() ![]() ![]() |
0..1 | Recommended number of doses for immunity | ||||||||
![]() ![]() ![]() ![]() |
positiveInt | |||||||||
![]() ![]() ![]() ![]() |
string | |||||||||
Documentation for this format | ||||||||||
| Path | Conformance | ValueSet | URI | |||
| Immunization.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languagesfrom the FHIR Standard
| ||||
| Immunization.status | required | ImmunizationStatusCodeshttp://hl7.org/fhir/ValueSet/immunization-status|4.0.1from the FHIR Standard | ||||
| Immunization.statusReason | example | ImmunizationStatusReasonCodeshttp://hl7.org/fhir/ValueSet/immunization-status-reasonfrom the FHIR Standard | ||||
| Immunization.vaccineCode | preferred | VaccinesUvIpshttp://hl7.org/fhir/uv/ips/ValueSet/vaccines-uv-ips | ||||
| Immunization.patient.type | extensible | ResourceTypehttp://hl7.org/fhir/ValueSet/resource-typesfrom the FHIR Standard | ||||
| Immunization.reportOrigin | example | ImmunizationOriginCodeshttp://hl7.org/fhir/ValueSet/immunization-originfrom the FHIR Standard | ||||
| Immunization.site | preferred | SNOMEDCTBodyStructureshttp://hl7.org/fhir/ValueSet/body-sitefrom the FHIR Standard | ||||
| Immunization.route | preferred | MedicineRouteOfAdministrationUvIpshttp://hl7.org/fhir/uv/ips/ValueSet/medicine-route-of-administration | ||||
| Immunization.performer.function | extensible | ImmunizationFunctionCodeshttp://hl7.org/fhir/ValueSet/immunization-functionfrom the FHIR Standard | ||||
| Immunization.reasonCode | example | ImmunizationReasonCodeshttp://hl7.org/fhir/ValueSet/immunization-reasonfrom the FHIR Standard | ||||
| Immunization.subpotentReason | example | ImmunizationSubpotentReasonhttp://hl7.org/fhir/ValueSet/immunization-subpotent-reasonfrom the FHIR Standard | ||||
| Immunization.programEligibility | example | ImmunizationProgramEligibilityhttp://hl7.org/fhir/ValueSet/immunization-program-eligibilityfrom the FHIR Standard | ||||
| Immunization.fundingSource | example | ImmunizationFundingSourcehttp://hl7.org/fhir/ValueSet/immunization-funding-sourcefrom the FHIR Standard | ||||
| Immunization.protocolApplied.targetDisease | preferred | VaccineTargetDiseasesUvIpshttp://hl7.org/fhir/uv/ips/ValueSet/target-diseases-uv-ips |
| Id | Grade | Path(s) | Details | Requirements |
| dom-2 | error | Immunization | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
| dom-3 | error | Immunization | 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 | Immunization | 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 | Immunization | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
| dom-6 | best practice | Immunization | 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() | |
| has-a-prequal-vaccine-product-id-code | error | Immunization.extension:productID | Ensure vaccine type is from the prequal vaccine database : valueCoding.memberOf('http://smart.who.int/pcmt-vaxprequal/ValueSets/PreQualProductIDs') | |
| has-a-prequal-vaccine-type | error | Immunization.vaccineCode | Ensure vaccine type is from the prequal vaccine database : memberOf('http://smart.who.int/pcmt-vaxprequal/CodeSystem/PreQualVaccineType') | |
| has-a-product-id-code | error | Immunization.extension:productID | Ensure there is a product id code. A more robust expression is needed here. Intended to be called on (a collection) of ProductId extensions. //to do: better expresssion: valueCoding or valueReference exists and meets the requisite profiles, etc. : exists() | |
| imm-1 | error | Immunization.education | One of documentType or reference SHALL be present : documentType.exists() or reference.exists() |
This structure is derived from Immunization-uv-ips-DVC
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints![]() | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Immunization-uv-ips-DVC | 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 | |||||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created ele-1: All FHIR elements must have a @value or children | ||||||
![]() ![]() |
1..* | 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 | |||||||
![]() ![]() ![]() |
SC | 1..1 | Coding, Reference(Medication Catalog Item) | Extension URL: http://smart.who.int/icvp/StructureDefinition/ProductID ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both has-a-product-id-code: Ensure there is a product id code. A more robust expression is needed here. Intended to be called on (a collection) of ProductId extensions. //to do: better expresssion: valueCoding or valueReference exists and meets the requisite profiles, etc. has-a-prequal-vaccine-product-id-code: Ensure vaccine type is from the prequal vaccine database | ||||||
![]() ![]() |
?! | 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 | ||||||
![]() ![]() |
?!SΣ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization. ele-1: All FHIR elements must have a @value or children | ||||||
![]() ![]() |
SC | 1..1 | CodeableConceptIPS | Vaccine that was administered or was to be administered.Several kinds of vaccine product coding could be provided.
The IPS assumes that either the type of the vaccine for particular disease or diseases (e.g. MMR vaccine) against which the patient has been immunised is provided; or the known absent / unknown code.
Other coded information can be provided as well as: the IDMP Pharmaceutical Product Identifiers (PhPID), Medicinal Product Identifier (MPID), Packaged Medicinal Product Identifier (PCID), when available, or equivalent coded concepts; the WHO ATC codes; or any other kind of code that that identifies, classifies or cluster the administered product. Binding: Vaccines - IPS (preferred): The type of vaccine for particular disease or diseases against which the patient has been immunised, or a code for absent/unknown immunization.
ele-1: All FHIR elements must have a @value or children has-a-prequal-vaccine-type: Ensure vaccine type is from the prequal vaccine database | ||||||
![]() ![]() |
SΣ | 1..1 | Reference(Patient (IPS)) | Who was immunized ele-1: All FHIR elements must have a @value or children | ||||||
![]() ![]() ![]() |
SΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL ele-1: All FHIR elements must have a @value or children | ||||||
![]() ![]() |
SΣ | 1..1 | Vaccine administration date ele-1: All FHIR elements must have a @value or children | |||||||
![]() ![]() ![]() |
Content/Rules for all Types | |||||||||
![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||||||||
![]() ![]() ![]() ![]() ![]() |
S | 0..1 | code | occurrence[x] absence reason URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason Binding: DataAbsentReason (required) ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | ||||||
![]() ![]() ![]() |
dateTime | |||||||||
![]() ![]() ![]() |
string | |||||||||
![]() ![]() |
?!Σ | 0..1 | boolean | Dose potency ele-1: All FHIR elements must have a @value or children | ||||||
Documentation for this format | ||||||||||
| Path | Conformance | ValueSet | URI |
| Immunization.status | required | ImmunizationStatusCodeshttp://hl7.org/fhir/ValueSet/immunization-status|4.0.1from the FHIR Standard | |
| Immunization.vaccineCode | preferred | VaccinesUvIpshttp://hl7.org/fhir/uv/ips/ValueSet/vaccines-uv-ips |
| Id | Grade | Path(s) | Details | Requirements |
| dom-2 | error | Immunization | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
| dom-3 | error | Immunization | 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 | Immunization | 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 | Immunization | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
| dom-6 | best practice | Immunization | 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() | |
| has-a-prequal-vaccine-product-id-code | error | Immunization.extension:productID | Ensure vaccine type is from the prequal vaccine database : valueCoding.memberOf('http://smart.who.int/pcmt-vaxprequal/ValueSets/PreQualProductIDs') | |
| has-a-prequal-vaccine-type | error | Immunization.vaccineCode | Ensure vaccine type is from the prequal vaccine database : memberOf('http://smart.who.int/pcmt-vaxprequal/CodeSystem/PreQualVaccineType') | |
| has-a-product-id-code | error | Immunization.extension:productID | Ensure there is a product id code. A more robust expression is needed here. Intended to be called on (a collection) of ProductId extensions. //to do: better expresssion: valueCoding or valueReference exists and meets the requisite profiles, etc. : exists() |
Differential View
This structure is derived from Immunization-uv-ips-DVC
| Name | Flags | Card. | Type | Description & Constraints![]() |
|---|---|---|---|---|
![]() |
Immunization-uv-ips-DVC | |||
![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() |
C | 1..1 | ProductID | Extension has-a-prequal-vaccine-product-id-code: Ensure vaccine type is from the prequal vaccine database |
![]() ![]() |
C | 1..1 | CodeableConceptIPS | Vaccine that was administered or was to be administered.Several kinds of vaccine product coding could be provided.
The IPS assumes that either the type of the vaccine for particular disease or diseases (e.g. MMR vaccine) against which the patient has been immunised is provided; or the known absent / unknown code.
Other coded information can be provided as well as: the IDMP Pharmaceutical Product Identifiers (PhPID), Medicinal Product Identifier (MPID), Packaged Medicinal Product Identifier (PCID), when available, or equivalent coded concepts; the WHO ATC codes; or any other kind of code that that identifies, classifies or cluster the administered product. has-a-prequal-vaccine-type: Ensure vaccine type is from the prequal vaccine database |
Documentation for this format | ||||
| Id | Grade | Path(s) | Details | Requirements |
| has-a-prequal-vaccine-product-id-code | error | Immunization.extension:productID | Ensure vaccine type is from the prequal vaccine database : valueCoding.memberOf('http://smart.who.int/pcmt-vaxprequal/ValueSets/PreQualProductIDs') | |
| has-a-prequal-vaccine-type | error | Immunization.vaccineCode | Ensure vaccine type is from the prequal vaccine database : memberOf('http://smart.who.int/pcmt-vaxprequal/CodeSystem/PreQualVaccineType') |
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints![]() | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Immunization-uv-ips-DVC | Immunization event information | |||||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation | |||||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||||
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |||||||
![]() ![]() ![]() |
SC | 1..1 | Coding, Reference(Medication Catalog Item) | Extension URL: http://smart.who.int/icvp/StructureDefinition/ProductID has-a-product-id-code: Ensure there is a product id code. A more robust expression is needed here. Intended to be called on (a collection) of ProductId extensions. //to do: better expresssion: valueCoding or valueReference exists and meets the requisite profiles, etc. has-a-prequal-vaccine-product-id-code: Ensure vaccine type is from the prequal vaccine database | ||||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||||
![]() ![]() |
0..* | Identifier | Business identifier | |||||||
![]() ![]() |
?!SΣ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization. | ||||||
![]() ![]() |
0..1 | CodeableConcept | Reason not done Binding: ImmunizationStatusReasonCodes (example): The reason why a vaccine was not administered. | |||||||
![]() ![]() |
SC | 1..1 | CodeableConceptIPS | Vaccine that was administered or was to be administered.Several kinds of vaccine product coding could be provided.
The IPS assumes that either the type of the vaccine for particular disease or diseases (e.g. MMR vaccine) against which the patient has been immunised is provided; or the known absent / unknown code.
Other coded information can be provided as well as: the IDMP Pharmaceutical Product Identifiers (PhPID), Medicinal Product Identifier (MPID), Packaged Medicinal Product Identifier (PCID), when available, or equivalent coded concepts; the WHO ATC codes; or any other kind of code that that identifies, classifies or cluster the administered product. Binding: Vaccines - IPS (preferred): The type of vaccine for particular disease or diseases against which the patient has been immunised, or a code for absent/unknown immunization.
has-a-prequal-vaccine-type: Ensure vaccine type is from the prequal vaccine database | ||||||
![]() ![]() |
SΣ | 1..1 | Reference(Patient (IPS)) | Who was immunized | ||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||
![]() ![]() ![]() |
SΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL | ||||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | ||||||
![]() ![]() ![]() |
Σ | 0..1 | Identifier | Logical reference, when literal reference is not known | ||||||
![]() ![]() ![]() |
Σ | 0..1 | string | Text alternative for the resource | ||||||
![]() ![]() |
0..1 | Reference(Encounter) | Encounter immunization was part of | |||||||
![]() ![]() |
SΣ | 1..1 | Vaccine administration date | |||||||
![]() ![]() ![]() |
Content/Rules for all Types | |||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||
![]() ![]() ![]() ![]() ![]() |
S | 0..1 | code | occurrence[x] absence reason URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason Binding: DataAbsentReason (required) | ||||||
![]() ![]() ![]() |
dateTime | |||||||||
![]() ![]() ![]() |
string | |||||||||
![]() ![]() |
0..1 | dateTime | When the immunization was first captured in the subject's record | |||||||
![]() ![]() |
Σ | 0..1 | boolean | Indicates context the data was recorded in | ||||||
![]() ![]() |
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. | |||||||
![]() ![]() |
0..1 | Reference(Location) | Where immunization occurred | |||||||
![]() ![]() |
0..1 | Reference(Organization) | Vaccine manufacturer | |||||||
![]() ![]() |
0..1 | string | Vaccine lot number | |||||||
![]() ![]() |
0..1 | date | Vaccine expiration date | |||||||
![]() ![]() |
0..1 | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: SNOMEDCTBodyStructures (preferred) | |||||||
![]() ![]() |
0..1 | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: Medicine Route of Administration - IPS (preferred) | |||||||
![]() ![]() |
0..1 | SimpleQuantity | Amount of vaccine administered | |||||||
![]() ![]() |
Σ | 0..* | BackboneElement | Who performed event | ||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | What type of performance was done Binding: ImmunizationFunctionCodes (extensible): The role a practitioner or organization plays in the immunization event. | ||||||
![]() ![]() ![]() |
Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Individual or organization who was performing | ||||||
![]() ![]() |
Σ | 0..* | Annotation | Additional immunization notes | ||||||
![]() ![]() |
0..* | CodeableConcept | Why immunization occurred Binding: ImmunizationReasonCodes (example): The reason why a vaccine was administered. | |||||||
![]() ![]() |
0..* | Reference(Condition | Observation | DiagnosticReport) | Why immunization occurred | |||||||
![]() ![]() |
?!Σ | 0..1 | boolean | Dose potency | ||||||
![]() ![]() |
0..* | CodeableConcept | Reason for being subpotent Binding: ImmunizationSubpotentReason (example): The reason why a dose is considered to be subpotent. | |||||||
![]() ![]() |
C | 0..* | BackboneElement | Educational material presented to patient imm-1: One of documentType or reference SHALL be present | ||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||||
![]() ![]() ![]() |
0..1 | string | Educational material document identifier | |||||||
![]() ![]() ![]() |
0..1 | uri | Educational material reference pointer | |||||||
![]() ![]() ![]() |
0..1 | dateTime | Educational material publication date | |||||||
![]() ![]() ![]() |
0..1 | dateTime | Educational material presentation date | |||||||
![]() ![]() |
0..* | CodeableConcept | Patient eligibility for a vaccination program Binding: ImmunizationProgramEligibility (example): The patient's eligibility for a vaccation program. | |||||||
![]() ![]() |
0..1 | CodeableConcept | Funding source for the vaccine Binding: ImmunizationFundingSource (example): The source of funding used to purchase the vaccine administered. | |||||||
![]() ![]() |
0..* | BackboneElement | Details of a reaction that follows immunization | |||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||||
![]() ![]() ![]() |
0..1 | dateTime | When reaction started | |||||||
![]() ![]() ![]() |
0..1 | Reference(Observation) | Additional information on reaction | |||||||
![]() ![]() ![]() |
0..1 | boolean | Indicates self-reported reaction | |||||||
![]() ![]() |
0..* | BackboneElement | Protocol followed by the provider | |||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||||
![]() ![]() ![]() |
0..1 | string | Name of vaccine series | |||||||
![]() ![]() ![]() |
0..1 | Reference(Organization) | Who is responsible for publishing the recommendations | |||||||
![]() ![]() ![]() |
0..* | CodeableConcept | Vaccine preventable disease being targeted Binding: Vaccine Target Diseases - IPS (preferred): The particular disease or diseases against which the patient has been immunized. | |||||||
![]() ![]() ![]() |
1..1 | Dose number within series | ||||||||
![]() ![]() ![]() ![]() |
positiveInt | |||||||||
![]() ![]() ![]() ![]() |
string | |||||||||
![]() ![]() ![]() |
0..1 | Recommended number of doses for immunity | ||||||||
![]() ![]() ![]() ![]() |
positiveInt | |||||||||
![]() ![]() ![]() ![]() |
string | |||||||||
Documentation for this format | ||||||||||
| Path | Conformance | ValueSet | URI | |||
| Immunization.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languagesfrom the FHIR Standard
| ||||
| Immunization.status | required | ImmunizationStatusCodeshttp://hl7.org/fhir/ValueSet/immunization-status|4.0.1from the FHIR Standard | ||||
| Immunization.statusReason | example | ImmunizationStatusReasonCodeshttp://hl7.org/fhir/ValueSet/immunization-status-reasonfrom the FHIR Standard | ||||
| Immunization.vaccineCode | preferred | VaccinesUvIpshttp://hl7.org/fhir/uv/ips/ValueSet/vaccines-uv-ips | ||||
| Immunization.patient.type | extensible | ResourceTypehttp://hl7.org/fhir/ValueSet/resource-typesfrom the FHIR Standard | ||||
| Immunization.reportOrigin | example | ImmunizationOriginCodeshttp://hl7.org/fhir/ValueSet/immunization-originfrom the FHIR Standard | ||||
| Immunization.site | preferred | SNOMEDCTBodyStructureshttp://hl7.org/fhir/ValueSet/body-sitefrom the FHIR Standard | ||||
| Immunization.route | preferred | MedicineRouteOfAdministrationUvIpshttp://hl7.org/fhir/uv/ips/ValueSet/medicine-route-of-administration | ||||
| Immunization.performer.function | extensible | ImmunizationFunctionCodeshttp://hl7.org/fhir/ValueSet/immunization-functionfrom the FHIR Standard | ||||
| Immunization.reasonCode | example | ImmunizationReasonCodeshttp://hl7.org/fhir/ValueSet/immunization-reasonfrom the FHIR Standard | ||||
| Immunization.subpotentReason | example | ImmunizationSubpotentReasonhttp://hl7.org/fhir/ValueSet/immunization-subpotent-reasonfrom the FHIR Standard | ||||
| Immunization.programEligibility | example | ImmunizationProgramEligibilityhttp://hl7.org/fhir/ValueSet/immunization-program-eligibilityfrom the FHIR Standard | ||||
| Immunization.fundingSource | example | ImmunizationFundingSourcehttp://hl7.org/fhir/ValueSet/immunization-funding-sourcefrom the FHIR Standard | ||||
| Immunization.protocolApplied.targetDisease | preferred | VaccineTargetDiseasesUvIpshttp://hl7.org/fhir/uv/ips/ValueSet/target-diseases-uv-ips |
| Id | Grade | Path(s) | Details | Requirements |
| dom-2 | error | Immunization | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
| dom-3 | error | Immunization | 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 | Immunization | 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 | Immunization | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
| dom-6 | best practice | Immunization | 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() | |
| has-a-prequal-vaccine-product-id-code | error | Immunization.extension:productID | Ensure vaccine type is from the prequal vaccine database : valueCoding.memberOf('http://smart.who.int/pcmt-vaxprequal/ValueSets/PreQualProductIDs') | |
| has-a-prequal-vaccine-type | error | Immunization.vaccineCode | Ensure vaccine type is from the prequal vaccine database : memberOf('http://smart.who.int/pcmt-vaxprequal/CodeSystem/PreQualVaccineType') | |
| has-a-product-id-code | error | Immunization.extension:productID | Ensure there is a product id code. A more robust expression is needed here. Intended to be called on (a collection) of ProductId extensions. //to do: better expresssion: valueCoding or valueReference exists and meets the requisite profiles, etc. : exists() | |
| imm-1 | error | Immunization.education | One of documentType or reference SHALL be present : documentType.exists() or reference.exists() |
This structure is derived from Immunization-uv-ips-DVC
Other representations of profile: CSV, Excel, Schematron