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

Logical Model: IMMZ_C_Client_registration - Detailed Descriptions

Active as of 2024-12-18

Definitions for the IMMZCClientregistration logical model.

Guidance on how to interpret the contents of this table can be found here

0. IMMZCClientregistration
Definition

Data elements for the IMMZ.C Client registration Data Dictionary.

ShortIMMZ.C Client registration
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. IMMZCClientregistration.uniqueIdentifier
Definition

Unique identifier for the client, according to the policies applicable to each country. There can be more than one unique identifier used to link records (e.g. national identification [ID], health ID, immunization information system ID, medical record ID)

ShortUnique identifier
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE1
4. IMMZCClientregistration.name
Definition

The full name of the client

ShortName
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE2, LOINC 54125-0, SNOMED CT 371484003
InvariantsIMMZ-C-name-1: Only letters and special characters (period, dash) allowed. ($this.matches('[A-Za-z-.]*'))
6. IMMZCClientregistration.firstName
Definition

Client's first name or given name

ShortFirst name
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE3, LOINC 45392-8, SNOMED CT 184095009
InvariantsIMMZ-C-name-1: Only letters and special characters (period, dash) allowed. ($this.matches('[A-Za-z-.]*'))
8. IMMZCClientregistration.familyName
Definition

Client's family name or last name

ShortFamily name
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE4, LOINC 45394-4, SNOMED CT 184096005
InvariantsIMMZ-C-name-1: Only letters and special characters (period, dash) allowed. ($this.matches('[A-Za-z-.]*'))
10. IMMZCClientregistration.sex
Definition

Documentation of a specific instance of sex information for the client

ShortSex
Control1..1
BindingThe codes SHALL be taken from IMMZ.C.DE5 ValueSet for Sex
(required to http://smart.who.int/immunizations/ValueSet/IMMZ.C.DE5)
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE5, LOINC 46098-0, SNOMED CT 184100006
12. IMMZCClientregistration.dateOfBirth
Definition

Client's date of birth (DOB) if known; if unknown, use assigned DOB for administrative purposes

ShortDate of birth
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE10, LOINC 21112-8, SNOMED CT 184099003
14. IMMZCClientregistration.age
Definition

The client's calculated age (presented as number of years, months, weeks, days) based on the DOB and the visit date

ShortAge
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE13, LOINC 63900-5
InvariantsIMMZ-C-age-1: Required if date of birth is entered. (not(%resource.dateOfBirth.exists()) or $this.exists())
16. IMMZCClientregistration.caregiversMultiple
Definition

Details of the client's caregiver (person) who could be next of kin (e.g. partner, husband, mother, sibling, etc.)

ShortCaregivers (multiple)
Control0..*
TypeBackboneElement
Definitional CodesIMMZ.C CodeSystem for Data Elements DE14, SNOMED CT 184140000
18. IMMZCClientregistration.caregiversMultiple.caregiversFullName
Definition

The full name of the client's caregiver

ShortCaregiver's full name
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE15, SNOMED CT 184140000
InvariantsIMMZ-C-name-1: Only letters and special characters (period, dash) allowed. ($this.matches('[A-Za-z-.]*'))
20. IMMZCClientregistration.caregiversMultiple.caregiversFirstName
Definition

First or given name of the client's caregiver

ShortCaregiver's first name
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE16, LOINC 45392-8
InvariantsIMMZ-C-name-1: Only letters and special characters (period, dash) allowed. ($this.matches('[A-Za-z-.]*'))
22. IMMZCClientregistration.caregiversMultiple.caregiversFamilyName
Definition

Family name or last name of the client's caregiver

ShortCaregiver's family name
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE17, LOINC 45394-4
InvariantsIMMZ-C-name-1: Only letters and special characters (period, dash) allowed. ($this.matches('[A-Za-z-.]*'))
24. IMMZCClientregistration.contactPhoneNumber
Definition

Client's phone number; can be a landline or a mobile phone number

ShortContact phone number
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE18, LOINC 42077-8, SNOMED CT 184103008
26. IMMZCClientregistration.address
Definition

Client's home address or address that the client is consenting to disclose

ShortAddress
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE19, LOINC 56799-0, SNOMED CT 184097001

Guidance on how to interpret the contents of this table can be found here

0. IMMZCClientregistration
Definition

Data elements for the IMMZ.C Client registration Data Dictionary.

ShortIMMZ.C Client registration
Control0..*
Is Modifierfalse
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. IMMZCClientregistration.uniqueIdentifier
Definition

Unique identifier for the client, according to the policies applicable to each country. There can be more than one unique identifier used to link records (e.g. national identification [ID], health ID, immunization information system ID, medical record ID)

ShortUnique identifier
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE1
4. IMMZCClientregistration.name
Definition

The full name of the client

ShortName
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE2, LOINC 54125-0, SNOMED CT 371484003
InvariantsIMMZ-C-name-1: Only letters and special characters (period, dash) allowed. ($this.matches('[A-Za-z-.]*'))
6. IMMZCClientregistration.firstName
Definition

Client's first name or given name

ShortFirst name
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE3, LOINC 45392-8, SNOMED CT 184095009
InvariantsIMMZ-C-name-1: Only letters and special characters (period, dash) allowed. ($this.matches('[A-Za-z-.]*'))
8. IMMZCClientregistration.familyName
Definition

Client's family name or last name

ShortFamily name
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE4, LOINC 45394-4, SNOMED CT 184096005
InvariantsIMMZ-C-name-1: Only letters and special characters (period, dash) allowed. ($this.matches('[A-Za-z-.]*'))
10. IMMZCClientregistration.sex
Definition

Documentation of a specific instance of sex information for the client

ShortSex
Control1..1
BindingThe codes SHALL be taken from IMMZ.C.DE5 ValueSet for Sex
(required to http://smart.who.int/immunizations/ValueSet/IMMZ.C.DE5)
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE5, LOINC 46098-0, SNOMED CT 184100006
12. IMMZCClientregistration.dateOfBirth
Definition

Client's date of birth (DOB) if known; if unknown, use assigned DOB for administrative purposes

ShortDate of birth
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE10, LOINC 21112-8, SNOMED CT 184099003
14. IMMZCClientregistration.age
Definition

The client's calculated age (presented as number of years, months, weeks, days) based on the DOB and the visit date

ShortAge
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Definitional CodesIMMZ.C CodeSystem for Data Elements DE13, LOINC 63900-5
InvariantsIMMZ-C-age-1: Required if date of birth is entered. (not(%resource.dateOfBirth.exists()) or $this.exists())
16. IMMZCClientregistration.caregiversMultiple
Definition

Details of the client's caregiver (person) who could be next of kin (e.g. partner, husband, mother, sibling, etc.)

ShortCaregivers (multiple)
Control0..*
TypeBackboneElement
Definitional CodesIMMZ.C CodeSystem for Data Elements DE14, SNOMED CT 184140000
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
18. IMMZCClientregistration.caregiversMultiple.id
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

ShortUnique id for inter-element referencing
Control0..1
Typestring
Is Modifierfalse
XML FormatIn the XML format, this property is represented as an attribute.
Summaryfalse
20. IMMZCClientregistration.caregiversMultiple.extension
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ShortAdditional content defined by implementations
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
SlicingThis element introduces a set of slices on IMMZCClientregistration.caregiversMultiple.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 22. IMMZCClientregistration.caregiversMultiple.modifierExtension
    Definition

    May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    24. IMMZCClientregistration.caregiversMultiple.caregiversFullName
    Definition

    The full name of the client's caregiver

    ShortCaregiver's full name
    Control0..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Definitional CodesIMMZ.C CodeSystem for Data Elements DE15, SNOMED CT 184140000
    InvariantsIMMZ-C-name-1: Only letters and special characters (period, dash) allowed. ($this.matches('[A-Za-z-.]*'))
    26. IMMZCClientregistration.caregiversMultiple.caregiversFirstName
    Definition

    First or given name of the client's caregiver

    ShortCaregiver's first name
    Control0..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Definitional CodesIMMZ.C CodeSystem for Data Elements DE16, LOINC 45392-8
    InvariantsIMMZ-C-name-1: Only letters and special characters (period, dash) allowed. ($this.matches('[A-Za-z-.]*'))
    28. IMMZCClientregistration.caregiversMultiple.caregiversFamilyName
    Definition

    Family name or last name of the client's caregiver

    ShortCaregiver's family name
    Control0..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Definitional CodesIMMZ.C CodeSystem for Data Elements DE17, LOINC 45394-4
    InvariantsIMMZ-C-name-1: Only letters and special characters (period, dash) allowed. ($this.matches('[A-Za-z-.]*'))
    30. IMMZCClientregistration.contactPhoneNumber
    Definition

    Client's phone number; can be a landline or a mobile phone number

    ShortContact phone number
    Control1..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Definitional CodesIMMZ.C CodeSystem for Data Elements DE18, LOINC 42077-8, SNOMED CT 184103008
    32. IMMZCClientregistration.address
    Definition

    Client's home address or address that the client is consenting to disclose

    ShortAddress
    Control1..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Definitional CodesIMMZ.C CodeSystem for Data Elements DE19, LOINC 56799-0, SNOMED CT 184097001

    Guidance on how to interpret the contents of this table can be found here

    0. IMMZCClientregistration
    Definition

    Data elements for the IMMZ.C Client registration Data Dictionary.

    ShortIMMZ.C Client registration
    Control0..*
    Is Modifierfalse
    Logical ModelInstances of this logical model are not marked to be the target of a Reference
    2. IMMZCClientregistration.uniqueIdentifier
    Definition

    Unique identifier for the client, according to the policies applicable to each country. There can be more than one unique identifier used to link records (e.g. national identification [ID], health ID, immunization information system ID, medical record ID)

    ShortUnique identifier
    Control1..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Definitional CodesIMMZ.C CodeSystem for Data Elements DE1
    4. IMMZCClientregistration.name
    Definition

    The full name of the client

    ShortName
    Control1..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Definitional CodesIMMZ.C CodeSystem for Data Elements DE2, LOINC 54125-0, SNOMED CT 371484003
    InvariantsIMMZ-C-name-1: Only letters and special characters (period, dash) allowed. ($this.matches('[A-Za-z-.]*'))
    6. IMMZCClientregistration.firstName
    Definition

    Client's first name or given name

    ShortFirst name
    Control0..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Definitional CodesIMMZ.C CodeSystem for Data Elements DE3, LOINC 45392-8, SNOMED CT 184095009
    InvariantsIMMZ-C-name-1: Only letters and special characters (period, dash) allowed. ($this.matches('[A-Za-z-.]*'))
    8. IMMZCClientregistration.familyName
    Definition

    Client's family name or last name

    ShortFamily name
    Control0..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Definitional CodesIMMZ.C CodeSystem for Data Elements DE4, LOINC 45394-4, SNOMED CT 184096005
    InvariantsIMMZ-C-name-1: Only letters and special characters (period, dash) allowed. ($this.matches('[A-Za-z-.]*'))
    10. IMMZCClientregistration.sex
    Definition

    Documentation of a specific instance of sex information for the client

    ShortSex
    Control1..1
    BindingThe codes SHALL be taken from IMMZ.C.DE5 ValueSet for Sex
    (required to http://smart.who.int/immunizations/ValueSet/IMMZ.C.DE5)
    Typecode
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Definitional CodesIMMZ.C CodeSystem for Data Elements DE5, LOINC 46098-0, SNOMED CT 184100006
    12. IMMZCClientregistration.dateOfBirth
    Definition

    Client's date of birth (DOB) if known; if unknown, use assigned DOB for administrative purposes

    ShortDate of birth
    Control1..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Definitional CodesIMMZ.C CodeSystem for Data Elements DE10, LOINC 21112-8, SNOMED CT 184099003
    14. IMMZCClientregistration.age
    Definition

    The client's calculated age (presented as number of years, months, weeks, days) based on the DOB and the visit date

    ShortAge
    Control0..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Definitional CodesIMMZ.C CodeSystem for Data Elements DE13, LOINC 63900-5
    InvariantsIMMZ-C-age-1: Required if date of birth is entered. (not(%resource.dateOfBirth.exists()) or $this.exists())
    16. IMMZCClientregistration.caregiversMultiple
    Definition

    Details of the client's caregiver (person) who could be next of kin (e.g. partner, husband, mother, sibling, etc.)

    ShortCaregivers (multiple)
    Control0..*
    TypeBackboneElement
    Definitional CodesIMMZ.C CodeSystem for Data Elements DE14, SNOMED CT 184140000
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    18. IMMZCClientregistration.caregiversMultiple.id
    Definition

    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

    ShortUnique id for inter-element referencing
    Control0..1
    Typestring
    Is Modifierfalse
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    20. IMMZCClientregistration.caregiversMultiple.extension
    Definition

    May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

    ShortAdditional content defined by implementations
    Comments

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TypeExtension
    Is Modifierfalse
    Summaryfalse
    Alternate Namesextensions, user content
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    SlicingThis element introduces a set of slices on IMMZCClientregistration.caregiversMultiple.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 22. IMMZCClientregistration.caregiversMultiple.modifierExtension
      Definition

      May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

      Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

      ShortExtensions that cannot be ignored even if unrecognized
      Comments

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TypeExtension
      Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
      Summarytrue
      Requirements

      Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

      Alternate Namesextensions, user content, modifiers
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      24. IMMZCClientregistration.caregiversMultiple.caregiversFullName
      Definition

      The full name of the client's caregiver

      ShortCaregiver's full name
      Control0..1
      Typestring
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Definitional CodesIMMZ.C CodeSystem for Data Elements DE15, SNOMED CT 184140000
      InvariantsIMMZ-C-name-1: Only letters and special characters (period, dash) allowed. ($this.matches('[A-Za-z-.]*'))
      26. IMMZCClientregistration.caregiversMultiple.caregiversFirstName
      Definition

      First or given name of the client's caregiver

      ShortCaregiver's first name
      Control0..1
      Typestring
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Definitional CodesIMMZ.C CodeSystem for Data Elements DE16, LOINC 45392-8
      InvariantsIMMZ-C-name-1: Only letters and special characters (period, dash) allowed. ($this.matches('[A-Za-z-.]*'))
      28. IMMZCClientregistration.caregiversMultiple.caregiversFamilyName
      Definition

      Family name or last name of the client's caregiver

      ShortCaregiver's family name
      Control0..1
      Typestring
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Definitional CodesIMMZ.C CodeSystem for Data Elements DE17, LOINC 45394-4
      InvariantsIMMZ-C-name-1: Only letters and special characters (period, dash) allowed. ($this.matches('[A-Za-z-.]*'))
      30. IMMZCClientregistration.contactPhoneNumber
      Definition

      Client's phone number; can be a landline or a mobile phone number

      ShortContact phone number
      Control1..1
      Typestring
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Definitional CodesIMMZ.C CodeSystem for Data Elements DE18, LOINC 42077-8, SNOMED CT 184103008
      32. IMMZCClientregistration.address
      Definition

      Client's home address or address that the client is consenting to disclose

      ShortAddress
      Control1..1
      Typestring
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Definitional CodesIMMZ.C CodeSystem for Data Elements DE19, LOINC 56799-0, SNOMED CT 184097001