CertICAO
type: StructureDefinition
node role: treeRoot
id:
  v: CertICAO
text:
  status:
    v: extensions
  div: Generated Narrative: StructureDefinition CertICAO Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> <a href="StructureDefinition-CertICAO-definitions.html#CertICAO" title="Data elements for the ICAO Visible Digital Seal Core Data Set. Based on <https://www.icao.int/vdsnc-spec> as of 2023-02-02.">CertICAO 0..* Base This is an abstract type. Certificate - ICAO Visible Digital Seal Logical Model #xD; data 1..1 BackboneElement Data #xD; hdr 1..1 BackboneElement Header #xD; t 1..1 string Type (either `icao.test` for proof of testing, or `icao.vacc` for proof of vaccination) #xD; v 1..1 integer Version #xD; is 1..1 string IssuingCountry (ISO-3166 three letter code; see element details) Binding: Iso3166-1-3 (required) #xD; msg 1..1 BackboneElement Message #xD; pid 1..1 BackboneElement PersonalInformation (more info in element description) #xD; n 1..1 string Name (Name of the holder (as specified in Doc 9303-3) MUST be used.) #xD; dob 0..1 date Date of Birth (The DOB of the test subject. The [RFC 3339] full date format YYYY-MM- DD MUST be used.) #xD; <a href="StructureDefinition-CertICAO-definitions.html#CertICAO.data.msg.pid.dt" title="The ID Document Type of the identity document MUST be used. Only these values MUST be used:#xA;#xA;- `P` – Passport (Doc 9303-4)#xA;- `A` – ID Card (Doc 9303-5)#xA;- `C` – ID Card (Doc 9303-5)#xA;- `I` – ID Card Doc 9303-5)#xA;- `AC` - Crew Member Certificate (Doc 9303-5)#xA;- `V` – Visa (Doc 9303-7)#xA;- `D` – Driving License (ISO 18013-1)">dt 0..1 string ID Document Type of the identity document (see element details) #xD; dn 1..1 string ID Document Number of the identity document #xD; i 0..1 string Travel Document Number #xD; ai 0..1 string Other Document Number #xD; sex 0..1 string Sex of the test subject (as specified in Doc 9303-4 Section 4.1.1.1 – Visual Inspection Zone) #xD; utci 0..1 string UTCI (Unique Test Certificate Identifier; used for `icao.test` only, not used of …
url:
  v: http://smart.who.int/ddcc/StructureDefinition/CertICAO
version:
  v: 1.0.0
name:
  v: CertICAO
title:
  v: Certificate - ICAO Visible Digital Seal Logical Model
status:
  v: draft
date:
  v: 2025-09-23T10:33:16+00:00
publisher:
  v: WHO
contact:
  name:
    v: WHO
  telecom:
    system:
      v: url
    value:
      v: http://who.int
description:
  v: Data elements for the ICAO Visible Digital Seal Core Data Set. Based on <https://www.icao.int/vdsnc-spec> as of 2023-02-02.
jurisdiction:
  coding:
    system:
      v: http://unstats.un.org/unsd/methods/m49/m49.htm
    code:
      v: 001
fhir version:
  v: 4.0.1
kind:
  v: logical
abstract:
  v: true
type:
  v: http://smart.who.int/ddcc/StructureDefinition/CertICAO
base definition:
  v: http://hl7.org/fhir/StructureDefinition/Base
  link: http://hl7.org/fhir/StructureDefinition/Base
derivation:
  v: specialization
snapshot:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version
    value: string
      v: 4.0.1
  element:
    id:
      v: CertICAO
    path:
      v: CertICAO
    short:
      v: Certificate - ICAO Visible Digital Seal Logical Model
    definition:
      v: Data elements for the ICAO Visible Digital Seal Core Data Set. Based on <https://www.icao.int/vdsnc-spec> as of 2023-02-02.
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Base
      min:
        v: 0
      max:
        v: *
    is modifier:
      v: false
  element:
    id:
      v: CertICAO.data
    path:
      v: CertICAO.data
    short:
      v: Data
    definition:
      v: Data
    min:
      v: 1
    max:
      v: 1
    base:
      path:
        v: CertICAO.data
      min:
        v: 1
      max:
        v: 1
    type:
      code:
        v: BackboneElement
    constraint:
      key:
        v: ele-1
      severity:
        v: error
      human:
        v: All FHIR elements must have a @value or children
      expression:
        v: hasValue() or (children().count() > id.count())
      xpath:
        v: @value|f:*|h:div
      source:
        v: http://hl7.org/fhir/StructureDefinition/Element
        link: http://hl7.org/fhir/StructureDefinition/Element
  element:
    id:
      v: CertICAO.data.id
    path:
      v: CertICAO.data.id
    representation:
      v: xmlAttr
    short:
      v: Unique id for inter-element referencing
    definition:
      v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: Element.id
      min:
        v: 0
      max:
        v: 1
    type:
      extension:
        value: url
      code:
        v: http://hl7.org/fhirpath/System.String
    is modifier:
      v: false
    is summary:
      v: false
    mapping:
      identity:
        v: rim
      map:
        v: n/a
  element:
    id:
      v: CertICAO.data.extension
    path:
      v: CertICAO.data.extension
    slicing:
      description:
        v: Extensions are always sliced by (at least) url
      rules:
        v: open
    short:
      v: Additional content defined by implementations
    definition:
      v: 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.
    comment:
      v: 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.
    alias:
      v: extensions
    alias:
      v: user content
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Element.extension
      min:
        v: 0
      max:
        v: *
    type:
      code:
        v: Extension
    constraint:
      key:
        v: ele-1
      severity:
        v: error
      human:
        v: All FHIR elements must have a @value or children
      expression:
        v: hasValue() or (children().count() > id.count())
      xpath:
        v: @value|f:*|h:div
      source:
        v: http://hl7.org/fhir/StructureDefinition/Element
        link: http://hl7.org/fhir/StructureDefinition/Element
    constraint:
      key:
        v: ext-1

url
v: string

v: value

v: url

v: error

v: Must have either extensions or value[x], not both

v: extension.exists() != value.exists()

v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])

v: false

v: false

identity:
  v: rim
map:
  v: n/a

id:
  v: CertICAO.data.modifierExtension
path:
  v: CertICAO.data.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: 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).
comment:
  v: 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.
requirements:
  v: 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](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: CertICAO.data.hdr
path:
  v: CertICAO.data.hdr
short:
  v: Header
definition:
  v: Header
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.hdr
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element

id:
  v: CertICAO.data.hdr.id
path:
  v: CertICAO.data.hdr.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.data.hdr.extension
path:
  v: CertICAO.data.hdr.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: 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.
comment:
  v: 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.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.data.hdr.modifierExtension
path:
  v: CertICAO.data.hdr.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: 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).
comment:
  v: 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.
requirements:
  v: 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](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: CertICAO.data.hdr.t
path:
  v: CertICAO.data.hdr.t
short:
  v: Type (either `icao.test` for proof of testing, or `icao.vacc` for proof of vaccination)
definition:
  v: Type (either `icao.test` for proof of testing, or `icao.vacc` for proof of vaccination)
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.hdr.t
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.hdr.v
path:
  v: CertICAO.data.hdr.v
short:
  v: Version
definition:
  v: Version
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.hdr.v
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: integer

id:
  v: CertICAO.data.hdr.is
path:
  v: CertICAO.data.hdr.is
short:
  v: IssuingCountry (ISO-3166 three letter code; see element details)
definition:
  v: The three letter code is according to Doc 9303-3, which defines this as ISO-3166 country codes.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.hdr.is
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/fhir/ValueSet/iso3166-1-3
    link: http://hl7.org/fhir/ValueSet/iso3166-1-3

id:
  v: CertICAO.data.msg
path:
  v: CertICAO.data.msg
short:
  v: Message
definition:
  v: Message
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element

id:
  v: CertICAO.data.msg.id
path:
  v: CertICAO.data.msg.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.data.msg.extension
path:
  v: CertICAO.data.msg.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: 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.
comment:
  v: 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.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.data.msg.modifierExtension
path:
  v: CertICAO.data.msg.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: 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).
comment:
  v: 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.
requirements:
  v: 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](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: CertICAO.data.msg.pid
path:
  v: CertICAO.data.msg.pid
short:
  v: PersonalInformation (more info in element description)
definition:
  v: PersonalInformation (more info in element description)
comment:
  v: `pid.n`, `pid.dob`, `pid.dt`, and `pid.dn` are required for the `icao.test` type. `pid.n` and either `pid.i` or `pid.dob` are required for the `icao.vacc` type. Cardinalities in the logical model for these elements are set to `0..1` to accommodate the different schemas for the two different credential types.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.pid
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element

id:
  v: CertICAO.data.msg.pid.id
path:
  v: CertICAO.data.msg.pid.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.data.msg.pid.extension
path:
  v: CertICAO.data.msg.pid.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: 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.
comment:
  v: 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.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.data.msg.pid.modifierExtension
path:
  v: CertICAO.data.msg.pid.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: 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).
comment:
  v: 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.
requirements:
  v: 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](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: CertICAO.data.msg.pid.n
path:
  v: CertICAO.data.msg.pid.n
short:
  v: Name (Name of the holder (as specified in Doc 9303-3) MUST be used.)
definition:
  v: Name (Name of the holder (as specified in Doc 9303-3) MUST be used.)
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.pid.n
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.pid.dob
path:
  v: CertICAO.data.msg.pid.dob
short:
  v: Date of Birth (The DOB of the test subject. The [RFC 3339] full date format YYYY-MM- DD MUST be used.)
definition:
  v: Date of Birth (The DOB of the test subject. The [RFC 3339] full date format YYYY-MM- DD MUST be used.)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.pid.dob
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: date

id:
  v: CertICAO.data.msg.pid.dt
path:
  v: CertICAO.data.msg.pid.dt
short:
  v: ID Document Type of the identity document (see element details)
definition:
  v: The ID Document Type of the identity document MUST be used. Only these values MUST be used: - `P` – Passport (Doc 9303-4) - `A` – ID Card (Doc 9303-5) - `C` – ID Card (Doc 9303-5) - `I` – ID Card Doc 9303-5) - `AC` - Crew Member Certificate (Doc 9303-5) - `V` – Visa (Doc 9303-7) - `D` – Driving License (ISO 18013-1)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.pid.dt
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.pid.dn
path:
  v: CertICAO.data.msg.pid.dn
short:
  v: ID Document Number of the identity document
definition:
  v: ID Document Number of the identity document
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.pid.dn
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.pid.i
path:
  v: CertICAO.data.msg.pid.i
short:
  v: Travel Document Number
definition:
  v: Travel Document Number
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.pid.i
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.pid.ai
path:
  v: CertICAO.data.msg.pid.ai
short:
  v: Other Document Number
definition:
  v: Other Document Number
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.pid.ai
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.pid.sex
path:
  v: CertICAO.data.msg.pid.sex
short:
  v: Sex of the test subject (as specified in Doc 9303-4 Section 4.1.1.1 – Visual Inspection Zone)
definition:
  v: Sex of the test subject (as specified in Doc 9303-4 Section 4.1.1.1 – Visual Inspection Zone)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.pid.sex
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.utci
path:
  v: CertICAO.data.msg.utci
short:
  v: UTCI (Unique Test Certificate Identifier; used for `icao.test` only, not used of `icao.vacc`)
definition:
  v: UTCI (Unique Test Certificate Identifier; used for `icao.test` only, not used of `icao.vacc`)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.utci
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.sp
path:
  v: CertICAO.data.msg.sp
short:
  v: ServiceProvider (Required for `icao.test` only, not used of `icao.vacc`)
definition:
  v: ServiceProvider (Required for `icao.test` only, not used of `icao.vacc`)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.sp
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element

id:
  v: CertICAO.data.msg.sp.id
path:
  v: CertICAO.data.msg.sp.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.data.msg.sp.extension
path:
  v: CertICAO.data.msg.sp.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: 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.
comment:
  v: 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.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.data.msg.sp.modifierExtension
path:
  v: CertICAO.data.msg.sp.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: 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).
comment:
  v: 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.
requirements:
  v: 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](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: CertICAO.data.msg.sp.spn
path:
  v: CertICAO.data.msg.sp.spn
short:
  v: Name of testing facility or service provider
definition:
  v: Name of testing facility or service provider
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.sp.spn
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.sp.ctr
path:
  v: CertICAO.data.msg.sp.ctr
short:
  v: Country of test (spec does not indicate code system, but presumably this is ISO-3166 like the other country codes in the certificate)
definition:
  v: Country of test (spec does not indicate code system, but presumably this is ISO-3166 like the other country codes in the certificate)
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.sp.ctr
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.sp.cd
path:
  v: CertICAO.data.msg.sp.cd
short:
  v: ContactDetails
definition:
  v: ContactDetails
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.sp.cd
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element

id:
  v: CertICAO.data.msg.sp.cd.id
path:
  v: CertICAO.data.msg.sp.cd.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.data.msg.sp.cd.extension
path:
  v: CertICAO.data.msg.sp.cd.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: 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.
comment:
  v: 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.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.data.msg.sp.cd.modifierExtension
path:
  v: CertICAO.data.msg.sp.cd.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: 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).
comment:
  v: 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.
requirements:
  v: 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](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: CertICAO.data.msg.sp.cd.p
path:
  v: CertICAO.data.msg.sp.cd.p
short:
  v: PhoneNumber
definition:
  v: PhoneNumber
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.sp.cd.p
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.sp.cd.e
path:
  v: CertICAO.data.msg.sp.cd.e
short:
  v: Email
definition:
  v: Email
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.sp.cd.e
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.sp.cd.a
path:
  v: CertICAO.data.msg.sp.cd.a
short:
  v: Address
definition:
  v: Address
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.sp.cd.a
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.dat
path:
  v: CertICAO.data.msg.dat
short:
  v: DateTimeTestReport (Required for `icao.test` only, not used of `icao.vacc`)
definition:
  v: DateTimeTestReport (Required for `icao.test` only, not used of `icao.vacc`)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.dat
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element

id:
  v: CertICAO.data.msg.dat.id
path:
  v: CertICAO.data.msg.dat.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.data.msg.dat.extension
path:
  v: CertICAO.data.msg.dat.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: 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.
comment:
  v: 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.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.data.msg.dat.modifierExtension
path:
  v: CertICAO.data.msg.dat.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: 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).
comment:
  v: 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.
requirements:
  v: 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](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: CertICAO.data.msg.dat.sc
path:
  v: CertICAO.data.msg.dat.sc
short:
  v: SpecimenCollection (RFC3339)
definition:
  v: SpecimenCollection (RFC3339)
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.dat.sc
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: dateTime

id:
  v: CertICAO.data.msg.dat.ri
path:
  v: CertICAO.data.msg.dat.ri
short:
  v: ReportIssuance (RFC3339)
definition:
  v: ReportIssuance (RFC3339)
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.dat.ri
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: dateTime

id:
  v: CertICAO.data.msg.tr
path:
  v: CertICAO.data.msg.tr
short:
  v: TestResult (Required for `icao.test` only, not used of `icao.vacc`)
definition:
  v: TestResult (Required for `icao.test` only, not used of `icao.vacc`)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.tr
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element

id:
  v: CertICAO.data.msg.tr.id
path:
  v: CertICAO.data.msg.tr.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.data.msg.tr.extension
path:
  v: CertICAO.data.msg.tr.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: 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.
comment:
  v: 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.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.data.msg.tr.modifierExtension
path:
  v: CertICAO.data.msg.tr.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: 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).
comment:
  v: 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.
requirements:
  v: 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](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: CertICAO.data.msg.tr.tc
path:
  v: CertICAO.data.msg.tr.tc
short:
  v: TestConducted
definition:
  v: TestConducted
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.tr.tc
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string
binding:
  strength:
    v: required
  value set:
    v: http://smart.who.int/ddcc/ValueSet/LabTestTypeIcaoValueSet
    link: http://smart.who.int/ddcc/ValueSet/LabTestTypeIcaoValueSet

id:
  v: CertICAO.data.msg.tr.r
path:
  v: CertICAO.data.msg.tr.r
short:
  v: Results
definition:
  v: Results
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.tr.r
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string
binding:
  strength:
    v: required
  value set:
    v: http://smart.who.int/ddcc/ValueSet/LabTestResultIcaoValueSet
    link: http://smart.who.int/ddcc/ValueSet/LabTestResultIcaoValueSet

id:
  v: CertICAO.data.msg.tr.m
path:
  v: CertICAO.data.msg.tr.m
short:
  v: Sampling method
definition:
  v: Sampling method
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.tr.m
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
binding:
  strength:
    v: required
  value set:
    v: http://smart.who.int/ddcc/ValueSet/lab-test-sample-origin-icao
    link: http://smart.who.int/ddcc/ValueSet/lab-test-sample-origin-icao

id:
  v: CertICAO.data.msg.opt
path:
  v: CertICAO.data.msg.opt
short:
  v: Optional data issued at the discretion of the issuing authority
definition:
  v: Optional data issued at the discretion of the issuing authority
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.opt
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.uvci
path:
  v: CertICAO.data.msg.uvci
short:
  v: Unique Vaccination Certificate Identifier (Required for `icao.vacc` only, not used of `icao.test`)
definition:
  v: Unique Vaccination Certificate Identifier (Required for `icao.vacc` only, not used of `icao.test`)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.uvci
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.ve
path:
  v: CertICAO.data.msg.ve
short:
  v: VaccinationEvent (Required for `icao.vacc` only, not used of `icao.test`)
definition:
  v: VaccinationEvent (Required for `icao.vacc` only, not used of `icao.test`)
min:
  v: 0
max:
  v: *
base:
  path:
    v: CertICAO.data.msg.ve
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element

id:
  v: CertICAO.data.msg.ve.id
path:
  v: CertICAO.data.msg.ve.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.data.msg.ve.extension
path:
  v: CertICAO.data.msg.ve.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: 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.
comment:
  v: 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.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.data.msg.ve.modifierExtension
path:
  v: CertICAO.data.msg.ve.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: 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).
comment:
  v: 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.
requirements:
  v: 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](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: CertICAO.data.msg.ve.des
path:
  v: CertICAO.data.msg.ve.des
short:
  v: Vaccine or Prophylaxis (ICD-11 MMS code descending from http://id.who.int/icd/entity/164949870)
definition:
  v: Vaccine or Prophylaxis (ICD-11 MMS code descending from http://id.who.int/icd/entity/164949870)
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.ve.des
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string
binding:
  strength:
    v: required
  value set:
    v: http://smart.who.int/ddcc/ValueSet/WHODDCCVaccinesCOVID19
    link: http://smart.who.int/ddcc/ValueSet/WHODDCCVaccinesCOVID19

id:
  v: CertICAO.data.msg.ve.nam
path:
  v: CertICAO.data.msg.ve.nam
short:
  v: Vaccine Brand (medical product name)
definition:
  v: Vaccine Brand (medical product name)
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.ve.nam
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.ve.dis
path:
  v: CertICAO.data.msg.ve.dis
short:
  v: Disease or agent targeted (ICD-11 code)
definition:
  v: Disease or agent targeted (ICD-11 code)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.ve.dis
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.ve.vd
path:
  v: CertICAO.data.msg.ve.vd
short:
  v: VaccinationDetails
definition:
  v: VaccinationDetails
min:
  v: 1
max:
  v: *
base:
  path:
    v: CertICAO.data.msg.ve.vd
  min:
    v: 1
  max:
    v: *
type:
  code:
    v: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element

id:
  v: CertICAO.data.msg.ve.vd.id
path:
  v: CertICAO.data.msg.ve.vd.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.data.msg.ve.vd.extension
path:
  v: CertICAO.data.msg.ve.vd.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: 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.
comment:
  v: 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.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.data.msg.ve.vd.modifierExtension
path:
  v: CertICAO.data.msg.ve.vd.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: 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).
comment:
  v: 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.
requirements:
  v: 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](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: CertICAO.data.msg.ve.vd.dvc
path:
  v: CertICAO.data.msg.ve.vd.dvc
short:
  v: Date of vaccination (see element details)
definition:
  v: Date on which the vaccine was administered. The ISO8601 full date format YYYY-MM-DD MUST be used.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.ve.vd.dvc
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: date

id:
  v: CertICAO.data.msg.ve.vd.seq
path:
  v: CertICAO.data.msg.ve.vd.seq
short:
  v: Dose number (vaccine dose number, integer between 1 and 99)
definition:
  v: Dose number (vaccine dose number, integer between 1 and 99)
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.ve.vd.seq
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: positiveInt

id:
  v: CertICAO.data.msg.ve.vd.ctr
path:
  v: CertICAO.data.msg.ve.vd.ctr
short:
  v: Country of vaccination (ISO-3166 three letter code; see element details)
definition:
  v: The country in which the individual has been vaccinated. A three letter code identifying the issuing state or organization. The three letter code is according to Doc 9303-3, which defines this as ISO-3166 country codes.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.ve.vd.ctr
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/fhir/ValueSet/iso3166-1-3
    link: http://hl7.org/fhir/ValueSet/iso3166-1-3

id:
  v: CertICAO.data.msg.ve.vd.adm
path:
  v: CertICAO.data.msg.ve.vd.adm
short:
  v: Administering centre (The name or identifier of the vaccination facility)
definition:
  v: Administering centre (The name or identifier of the vaccination facility)
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.ve.vd.adm
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.ve.vd.lot
path:
  v: CertICAO.data.msg.ve.vd.lot
short:
  v: Vaccine batch number
definition:
  v: Vaccine batch number
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.ve.vd.lot
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.ve.vd.dvn
path:
  v: CertICAO.data.msg.ve.vd.dvn
short:
  v: Due date of next dose (see element details)
definition:
  v: Date on which the next 10 vaccination should be administered. The ISO8601 full date format YYYY-MM-DD MUST be used.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertICAO.data.msg.ve.vd.dvn
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: date

id:
  v: CertICAO.sig
path:
  v: CertICAO.sig
short:
  v: Signature
definition:
  v: Signature
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertICAO.sig
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element

id:
  v: CertICAO.sig.id
path:
  v: CertICAO.sig.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.sig.extension
path:
  v: CertICAO.sig.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: 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.
comment:
  v: 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.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: CertICAO.sig.modifierExtension
path:
  v: CertICAO.sig.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: 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).
comment:
  v: 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.
requirements:
  v: 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](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: CertICAO.sig.alg
path:
  v: CertICAO.sig.alg
short:
  v: SignatureAlgo
definition:
  v: SignatureAlgo
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.sig.alg
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.sig.cer
path:
  v: CertICAO.sig.cer
short:
  v: Certificate (X.509 signer certificate in base64url [RFC 4648])
definition:
  v: Certificate (X.509 signer certificate in base64url [RFC 4648])
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.sig.cer
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertICAO.sig.sigvl
path:
  v: CertICAO.sig.sigvl
short:
  v: SignatureValue (Signature value signed over the Data in base64url [RFC 4648])
definition:
  v: SignatureValue (Signature value signed over the Data in base64url [RFC 4648])
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertICAO.sig.sigvl
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

element:
  id:
    v: CertICAO
  path:
    v: CertICAO
  short:
    v: Certificate - ICAO Visible Digital Seal Logical Model
  definition:
    v: Data elements for the ICAO Visible Digital Seal Core Data Set. Based on <https://www.icao.int/vdsnc-spec> as of 2023-02-02.
element:
  id:
    v: CertICAO.data
  path:
    v: CertICAO.data
  short:
    v: Data
  definition:
    v: Data
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: BackboneElement
element:
  id:
    v: CertICAO.data.hdr
  path:
    v: CertICAO.data.hdr
  short:
    v: Header
  definition:
    v: Header
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: BackboneElement
element:
  id:
    v: CertICAO.data.hdr.t
  path:
    v: CertICAO.data.hdr.t
  short:
    v: Type (either `icao.test` for proof of testing, or `icao.vacc` for proof of vaccination)
  definition:
    v: Type (either `icao.test` for proof of testing, or `icao.vacc` for proof of vaccination)
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: string
element:
  id:
    v: CertICAO.data.hdr.v
  path:
    v: CertICAO.data.hdr.v
  short:
    v: Version
  definition:
    v: Version
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: integer
element:
  id:
    v: CertICAO.data.hdr.is
  path:
    v: CertICAO.data.hdr.is
  short:
    v: IssuingCountry (ISO-3166 three letter code; see element details)
  definition:
    v: The three letter code is according to Doc 9303-3, which defines this as ISO-3166 country codes.
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: string
  binding:
    strength:
      v: required
    value set:
      v: http://hl7.org/fhir/ValueSet/iso3166-1-3
      link: http://hl7.org/fhir/ValueSet/iso3166-1-3
element:
  id:
    v: CertICAO.data.msg
  path:
    v: CertICAO.data.msg
  short:
    v: Message
  definition:
    v: Message
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: BackboneElement
element:
  id:
    v: CertICAO.data.msg.pid
  path:
    v: CertICAO.data.msg.pid
  short:
    v: PersonalInformation (more info in element description)
  definition:
    v: PersonalInformation (more info in element description)
  comment:
    v: `pid.n`, `pid.dob`, `pid.dt`, and `pid.dn` are required for the `icao.test` type. `pid.n` and either `pid.i` or `pid.dob` are required for the `icao.vacc` type. Cardinalities in the logical model for these elements are set to `0..1` to accommodate the different schemas for the two different credential types.
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: BackboneElement
element:
  id:
    v: CertICAO.data.msg.pid.n
  path:
    v: CertICAO.data.msg.pid.n
  short:
    v: Name (Name of the holder (as specified in Doc 9303-3) MUST be used.)
  definition:
    v: Name (Name of the holder (as specified in Doc 9303-3) MUST be used.)
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: string
element:
  id:
    v: CertICAO.data.msg.pid.dob
  path:
    v: CertICAO.data.msg.pid.dob
  short:
    v: Date of Birth (The DOB of the test subject. The [RFC 3339] full date format YYYY-MM- DD MUST be used.)
  definition:
    v: Date of Birth (The DOB of the test subject. The [RFC 3339] full date format YYYY-MM- DD MUST be used.)
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: date
element:
  id:
    v: CertICAO.data.msg.pid.dt
  path:
    v: CertICAO.data.msg.pid.dt
  short:
    v: ID Document Type of the identity document (see element details)
  definition:
    v: The ID Document Type of the identity document MUST be used. Only these values MUST be used: - `P` – Passport (Doc 9303-4) - `A` – ID Card (Doc 9303-5) - `C` – ID Card (Doc 9303-5) - `I` – ID Card Doc 9303-5) - `AC` - Crew Member Certificate (Doc 9303-5) - `V` – Visa (Doc 9303-7) - `D` – Driving License (ISO 18013-1)
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: string
element:
  id:
    v: CertICAO.data.msg.pid.dn
  path:
    v: CertICAO.data.msg.pid.dn
  short:
    v: ID Document Number of the identity document
  definition:
    v: ID Document Number of the identity document
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: string
element:
  id:
    v: CertICAO.data.msg.pid.i
  path:
    v: CertICAO.data.msg.pid.i
  short:
    v: Travel Document Number
  definition:
    v: Travel Document Number

v: 0

v: 1

code:
  v: string

id:
  v: CertICAO.data.msg.pid.ai
path:
  v: CertICAO.data.msg.pid.ai
short:
  v: Other Document Number
definition:
  v: Other Document Number
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.pid.sex
path:
  v: CertICAO.data.msg.pid.sex
short:
  v: Sex of the test subject (as specified in Doc 9303-4 Section 4.1.1.1 – Visual Inspection Zone)
definition:
  v: Sex of the test subject (as specified in Doc 9303-4 Section 4.1.1.1 – Visual Inspection Zone)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.utci
path:
  v: CertICAO.data.msg.utci
short:
  v: UTCI (Unique Test Certificate Identifier; used for `icao.test` only, not used of `icao.vacc`)
definition:
  v: UTCI (Unique Test Certificate Identifier; used for `icao.test` only, not used of `icao.vacc`)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.sp
path:
  v: CertICAO.data.msg.sp
short:
  v: ServiceProvider (Required for `icao.test` only, not used of `icao.vacc`)
definition:
  v: ServiceProvider (Required for `icao.test` only, not used of `icao.vacc`)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: BackboneElement

id:
  v: CertICAO.data.msg.sp.spn
path:
  v: CertICAO.data.msg.sp.spn
short:
  v: Name of testing facility or service provider
definition:
  v: Name of testing facility or service provider
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.sp.ctr
path:
  v: CertICAO.data.msg.sp.ctr
short:
  v: Country of test (spec does not indicate code system, but presumably this is ISO-3166 like the other country codes in the certificate)
definition:
  v: Country of test (spec does not indicate code system, but presumably this is ISO-3166 like the other country codes in the certificate)
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.sp.cd
path:
  v: CertICAO.data.msg.sp.cd
short:
  v: ContactDetails
definition:
  v: ContactDetails
min:
  v: 1
max:
  v: 1
type:
  code:
    v: BackboneElement

id:
  v: CertICAO.data.msg.sp.cd.p
path:
  v: CertICAO.data.msg.sp.cd.p
short:
  v: PhoneNumber
definition:
  v: PhoneNumber
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.sp.cd.e
path:
  v: CertICAO.data.msg.sp.cd.e
short:
  v: Email
definition:
  v: Email
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.sp.cd.a
path:
  v: CertICAO.data.msg.sp.cd.a
short:
  v: Address
definition:
  v: Address
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.dat
path:
  v: CertICAO.data.msg.dat
short:
  v: DateTimeTestReport (Required for `icao.test` only, not used of `icao.vacc`)
definition:
  v: DateTimeTestReport (Required for `icao.test` only, not used of `icao.vacc`)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: BackboneElement

id:
  v: CertICAO.data.msg.dat.sc
path:
  v: CertICAO.data.msg.dat.sc
short:
  v: SpecimenCollection (RFC3339)
definition:
  v: SpecimenCollection (RFC3339)
min:
  v: 1
max:
  v: 1
type:
  code:
    v: dateTime

id:
  v: CertICAO.data.msg.dat.ri
path:
  v: CertICAO.data.msg.dat.ri
short:
  v: ReportIssuance (RFC3339)
definition:
  v: ReportIssuance (RFC3339)
min:
  v: 1
max:
  v: 1
type:
  code:
    v: dateTime

id:
  v: CertICAO.data.msg.tr
path:
  v: CertICAO.data.msg.tr
short:
  v: TestResult (Required for `icao.test` only, not used of `icao.vacc`)
definition:
  v: TestResult (Required for `icao.test` only, not used of `icao.vacc`)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: BackboneElement

id:
  v: CertICAO.data.msg.tr.tc
path:
  v: CertICAO.data.msg.tr.tc
short:
  v: TestConducted
definition:
  v: TestConducted
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string
binding:
  strength:
    v: required
  value set:
    v: http://smart.who.int/ddcc/ValueSet/LabTestTypeIcaoValueSet
    link: http://smart.who.int/ddcc/ValueSet/LabTestTypeIcaoValueSet

id:
  v: CertICAO.data.msg.tr.r
path:
  v: CertICAO.data.msg.tr.r
short:
  v: Results
definition:
  v: Results
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string
binding:
  strength:
    v: required
  value set:
    v: http://smart.who.int/ddcc/ValueSet/LabTestResultIcaoValueSet
    link: http://smart.who.int/ddcc/ValueSet/LabTestResultIcaoValueSet

id:
  v: CertICAO.data.msg.tr.m
path:
  v: CertICAO.data.msg.tr.m
short:
  v: Sampling method
definition:
  v: Sampling method
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string
binding:
  strength:
    v: required
  value set:
    v: http://smart.who.int/ddcc/ValueSet/lab-test-sample-origin-icao
    link: http://smart.who.int/ddcc/ValueSet/lab-test-sample-origin-icao

id:
  v: CertICAO.data.msg.opt
path:
  v: CertICAO.data.msg.opt
short:
  v: Optional data issued at the discretion of the issuing authority
definition:
  v: Optional data issued at the discretion of the issuing authority
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.uvci
path:
  v: CertICAO.data.msg.uvci
short:
  v: Unique Vaccination Certificate Identifier (Required for `icao.vacc` only, not used of `icao.test`)
definition:
  v: Unique Vaccination Certificate Identifier (Required for `icao.vacc` only, not used of `icao.test`)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.ve
path:
  v: CertICAO.data.msg.ve
short:
  v: VaccinationEvent (Required for `icao.vacc` only, not used of `icao.test`)
definition:
  v: VaccinationEvent (Required for `icao.vacc` only, not used of `icao.test`)
min:
  v: 0
max:
  v: *
type:
  code:
    v: BackboneElement

id:
  v: CertICAO.data.msg.ve.des
path:
  v: CertICAO.data.msg.ve.des
short:
  v: Vaccine or Prophylaxis (ICD-11 MMS code descending from http://id.who.int/icd/entity/164949870)
definition:
  v: Vaccine or Prophylaxis (ICD-11 MMS code descending from http://id.who.int/icd/entity/164949870)
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string
binding:
  strength:
    v: required
  value set:
    v: http://smart.who.int/ddcc/ValueSet/WHODDCCVaccinesCOVID19
    link: http://smart.who.int/ddcc/ValueSet/WHODDCCVaccinesCOVID19

id:
  v: CertICAO.data.msg.ve.nam
path:
  v: CertICAO.data.msg.ve.nam
short:
  v: Vaccine Brand (medical product name)
definition:
  v: Vaccine Brand (medical product name)
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.ve.dis
path:
  v: CertICAO.data.msg.ve.dis
short:
  v: Disease or agent targeted (ICD-11 code)
definition:
  v: Disease or agent targeted (ICD-11 code)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.ve.vd
path:
  v: CertICAO.data.msg.ve.vd
short:
  v: VaccinationDetails
definition:
  v: VaccinationDetails
min:
  v: 1
max:
  v: *
type:
  code:
    v: BackboneElement

id:
  v: CertICAO.data.msg.ve.vd.dvc
path:
  v: CertICAO.data.msg.ve.vd.dvc
short:
  v: Date of vaccination (see element details)
definition:
  v: Date on which the vaccine was administered. The ISO8601 full date format YYYY-MM-DD MUST be used.
min:
  v: 1
max:
  v: 1
type:
  code:
    v: date

id:
  v: CertICAO.data.msg.ve.vd.seq
path:
  v: CertICAO.data.msg.ve.vd.seq
short:
  v: Dose number (vaccine dose number, integer between 1 and 99)
definition:
  v: Dose number (vaccine dose number, integer between 1 and 99)
min:
  v: 1
max:
  v: 1
type:
  code:
    v: positiveInt

id:
  v: CertICAO.data.msg.ve.vd.ctr
path:
  v: CertICAO.data.msg.ve.vd.ctr
short:
  v: Country of vaccination (ISO-3166 three letter code; see element details)
definition:
  v: The country in which the individual has been vaccinated. A three letter code identifying the issuing state or organization. The three letter code is according to Doc 9303-3, which defines this as ISO-3166 country codes.
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/fhir/ValueSet/iso3166-1-3
    link: http://hl7.org/fhir/ValueSet/iso3166-1-3

id:
  v: CertICAO.data.msg.ve.vd.adm
path:
  v: CertICAO.data.msg.ve.vd.adm
short:
  v: Administering centre (The name or identifier of the vaccination facility)
definition:
  v: Administering centre (The name or identifier of the vaccination facility)
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.ve.vd.lot
path:
  v: CertICAO.data.msg.ve.vd.lot
short:
  v: Vaccine batch number
definition:
  v: Vaccine batch number
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertICAO.data.msg.ve.vd.dvn
path:
  v: CertICAO.data.msg.ve.vd.dvn
short:
  v: Due date of next dose (see element details)
definition:
  v: Date on which the next 10 vaccination should be administered. The ISO8601 full date format YYYY-MM-DD MUST be used.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: date

id:
  v: CertICAO.sig
path:
  v: CertICAO.sig
short:
  v: Signature
definition:
  v: Signature
min:
  v: 0
max:
  v: 1
type:
  code:
    v: BackboneElement

id:
  v: CertICAO.sig.alg
path:
  v: CertICAO.sig.alg
short:
  v: SignatureAlgo
definition:
  v: SignatureAlgo
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertICAO.sig.cer
path:
  v: CertICAO.sig.cer
short:
  v: Certificate (X.509 signer certificate in base64url [RFC 4648])
definition:
  v: Certificate (X.509 signer certificate in base64url [RFC 4648])
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertICAO.sig.sigvl
path:
  v: CertICAO.sig.sigvl
short:
  v: SignatureValue (Signature value signed over the Data in base64url [RFC 4648])
definition:
  v: SignatureValue (Signature value signed over the Data in base64url [RFC 4648])
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string