CertDIVOC
type: StructureDefinition
node role: treeRoot
id:
  v: CertDIVOC
text:
  status:
    v: extensions
  div: Generated Narrative: StructureDefinition CertDIVOC Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> <a href="StructureDefinition-CertDIVOC-definitions.html#CertDIVOC" title="Data elements for the DIVOC Core Data Set.#xA;#xA;The official DIVOC documentation appears to be at <https://divoc.digit.org>. However, this does not include a full list of elements included in DIVOC certificates.#xA;#xA;There is a JSON-LD context referenced in DIVOC certificate examples (`https://cowin.gov.in/credentials/vaccination/v1`), which would provide some element-level information, but this URL does not resolve. There is a copy of this JSON-LD context at <https://github.com/egovernments/DIVOC/blob/main/vaccination-context/vaccination-context.js>.#xA;#xA;It was not possible to find any online documentation regarding DIVOC proof of testing. Information on this was provided by the DIVOC team via email.#xA;#xA;Some element descriptions in this logical model provide details that are not in publicly available DIVOC documentation.">CertDIVOC 0..* Base This is an abstract type. Certificate - DIVOC Verifiable Credential Logical Model #xD; context 1..* string Context (JSON-LD) - should actually be `@context` but this name isn't supported by FHIR. #xD; type 1..* string Type #xD; issuer 1..1 string Issuer identifier #xD; issuanceDate 1..1 dateTime issuanceDate #xD; nonTransferable 0..1 boolean Non Trasnferability #xD; credentialSubject 1..1 BackboneElement CredentialSubject #xD; type 1..* string type #xD; uhid 0..1 string another id #xD; refId 0..1 string reference id #xD; name 0..1 string A name associated with the patient #xD; gender 0..1 string Gender (`Male` or `Female`; unknown if there are other options) #xD; sex 0..1 string Sex (not used in examples; presumably `Male` or `Female`; unknown if there are other options) #xD; age 0..1 string Age #xD; dob 0..1 date The date of birth for the individual (V2 only) #xD; nationality 0..1 …
url:
  v: http://smart.who.int/ddcc/StructureDefinition/CertDIVOC
version:
  v: 1.0.0
name:
  v: CertDIVOC
title:
  v: Certificate - DIVOC Verifiable Credential 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 DIVOC Core Data Set. The official DIVOC documentation appears to be at <https://divoc.digit.org>. However, this does not include a full list of elements included in DIVOC certificates. There is a JSON-LD context referenced in DIVOC certificate examples (`https://cowin.gov.in/credentials/vaccination/v1`), which would provide some element-level information, but this URL does not resolve. There is a copy of this JSON-LD context at <https://github.com/egovernments/DIVOC/blob/main/vaccination-context/vaccination-context.js>. It was not possible to find any online documentation regarding DIVOC proof of testing. Information on this was provided by the DIVOC team via email. Some element descriptions in this logical model provide details that are not in publicly available DIVOC documentation.
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/CertDIVOC
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: CertDIVOC
    path:
      v: CertDIVOC
    short:
      v: Certificate - DIVOC Verifiable Credential Logical Model
    definition:
      v: Data elements for the DIVOC Core Data Set. The official DIVOC documentation appears to be at <https://divoc.digit.org>. However, this does not include a full list of elements included in DIVOC certificates. There is a JSON-LD context referenced in DIVOC certificate examples (`https://cowin.gov.in/credentials/vaccination/v1`), which would provide some element-level information, but this URL does not resolve. There is a copy of this JSON-LD context at <https://github.com/egovernments/DIVOC/blob/main/vaccination-context/vaccination-context.js>. It was not possible to find any online documentation regarding DIVOC proof of testing. Information on this was provided by the DIVOC team via email. Some element descriptions in this logical model provide details that are not in publicly available DIVOC documentation.
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Base
      min:
        v: 0
      max:
        v: *
    is modifier:
      v: false
  element:
    id:
      v: CertDIVOC.context
    path:
      v: CertDIVOC.context
    short:
      v: Context (JSON-LD) - should actually be `@context` but this name isn't supported by FHIR.
    definition:
      v: Context (JSON-LD) - should actually be `@context` but this name isn't supported by FHIR.
    min:
      v: 1
    max:
      v: *
    base:
      path:
        v: CertDIVOC.context
      min:
        v: 1
      max:
        v: *
    type:
      code:
        v: string
  element:
    id:
      v: CertDIVOC.type
    path:
      v: CertDIVOC.type
    short:
      v: Type
    definition:
      v: JSON-LD Type
    min:
      v: 1
    max:
      v: *
    base:
      path:
        v: CertDIVOC.type
      min:
        v: 1
      max:
        v: *
    type:
      code:
        v: string
  element:
    id:
      v: CertDIVOC.issuer
    path:
      v: CertDIVOC.issuer
    short:
      v: Issuer identifier
    definition:
      v: Issuer identifier URI. generally a DID
    min:
      v: 1
    max:
      v: 1
    base:
      path:
        v: CertDIVOC.issuer
      min:
        v: 1
      max:
        v: 1
    type:
      code:
        v: string
  element:
    id:
      v: CertDIVOC.issuanceDate
    path:
      v: CertDIVOC.issuanceDate
    short:
      v: issuanceDate
    definition:
      v: Date and time when a credential becomes valid
    min:
      v: 1
    max:
      v: 1
    base:
      path:
        v: CertDIVOC.issuanceDate
      min:
        v: 1
      max:
        v: 1
    type:
      code:
        v: dateTime
  element:
    id:
      v: CertDIVOC.nonTransferable
    path:
      v: CertDIVOC.nonTransferable
    short:
      v: Non Trasnferability
    definition:
      v: indicates that a verifiable credential must only be encapsulated into a verifiable presentation whose proof was issued by the credentialSubject
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: CertDIVOC.nonTransferable
      min:
        v: 0
      max:
        v: 1
    type:
      code:
        v: boolean
  element:
    id:
      v: CertDIVOC.credentialSubject
    path:
      v: CertDIVOC.credentialSubject
    short:
      v: CredentialSubject
    definition:
      v: Contains claims about one or more objects (Patients)

v: 1

v: 1

path:
  v: CertDIVOC.credentialSubject
min:
  v: 1
max:
  v: 1

code:
  v: BackboneElement

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: CertDIVOC.credentialSubject.id
path:
  v: CertDIVOC.credentialSubject.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: CertDIVOC.credentialSubject.extension
path:
  v: CertDIVOC.credentialSubject.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: CertDIVOC.credentialSubject.modifierExtension
path:
  v: CertDIVOC.credentialSubject.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: CertDIVOC.credentialSubject.type
path:
  v: CertDIVOC.credentialSubject.type
short:
  v: type
definition:
  v: Type of credential. Generally 'Person'
min:
  v: 1
max:
  v: *
base:
  path:
    v: CertDIVOC.credentialSubject.type
  min:
    v: 1
  max:
    v: *
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.uhid
path:
  v: CertDIVOC.credentialSubject.uhid
short:
  v: another id
definition:
  v: another id
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.credentialSubject.uhid
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.refId
path:
  v: CertDIVOC.credentialSubject.refId
short:
  v: reference id
definition:
  v: reference id
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.credentialSubject.refId
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.name
path:
  v: CertDIVOC.credentialSubject.name
short:
  v: A name associated with the patient
definition:
  v: A name associated with the patient
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.credentialSubject.name
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.gender
path:
  v: CertDIVOC.credentialSubject.gender
short:
  v: Gender (`Male` or `Female`; unknown if there are other options)
definition:
  v: Gender (`Male` or `Female`; unknown if there are other options)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.credentialSubject.gender
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.sex
path:
  v: CertDIVOC.credentialSubject.sex
short:
  v: Sex (not used in examples; presumably `Male` or `Female`; unknown if there are other options)
definition:
  v: Sex (not used in examples; presumably `Male` or `Female`; unknown if there are other options)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.credentialSubject.sex
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.age
path:
  v: CertDIVOC.credentialSubject.age
short:
  v: Age
definition:
  v: Age
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.credentialSubject.age
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.dob
path:
  v: CertDIVOC.credentialSubject.dob
short:
  v: The date of birth for the individual (V2 only)
definition:
  v: The date of birth for the individual (V2 only)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.credentialSubject.dob
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: date

id:
  v: CertDIVOC.credentialSubject.nationality
path:
  v: CertDIVOC.credentialSubject.nationality
short:
  v: Nationality
definition:
  v: Nationality
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.credentialSubject.nationality
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.address
path:
  v: CertDIVOC.credentialSubject.address
short:
  v: Address
definition:
  v: Address
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.credentialSubject.address
  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: CertDIVOC.credentialSubject.address.id
path:
  v: CertDIVOC.credentialSubject.address.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: CertDIVOC.credentialSubject.address.extension
path:
  v: CertDIVOC.credentialSubject.address.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: CertDIVOC.credentialSubject.address.modifierExtension
path:
  v: CertDIVOC.credentialSubject.address.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: CertDIVOC.credentialSubject.address.streetAddress
path:
  v: CertDIVOC.credentialSubject.address.streetAddress
short:
  v: Line 1 of the address
definition:
  v: Line 1 of the address
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.credentialSubject.address.streetAddress
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.address.streetAddress2
path:
  v: CertDIVOC.credentialSubject.address.streetAddress2
short:
  v: Line 2 of the address
definition:
  v: Line 2 of the address
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.credentialSubject.address.streetAddress2
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.address.district
path:
  v: CertDIVOC.credentialSubject.address.district
short:
  v: District name (aka county)
definition:
  v: District name (aka county)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.credentialSubject.address.district
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.address.city
path:
  v: CertDIVOC.credentialSubject.address.city
short:
  v: Name of city, town etc.
definition:
  v: Name of city, town etc.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.credentialSubject.address.city
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.address.addressRegion
path:
  v: CertDIVOC.credentialSubject.address.addressRegion
short:
  v: Sub-unit of country (abbreviations ok)
definition:
  v: Sub-unit of country (abbreviations ok)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.credentialSubject.address.addressRegion
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.address.addressCountry
path:
  v: CertDIVOC.credentialSubject.address.addressCountry
short:
  v: Country (e.g. may be ISO 3166 2 or 3 letter code)
definition:
  v: Country (e.g. may be ISO 3166 2 or 3 letter code)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.credentialSubject.address.addressCountry
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.address.postalCode
path:
  v: CertDIVOC.credentialSubject.address.postalCode
short:
  v: Postal code for area
definition:
  v: Postal code for area
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.credentialSubject.address.postalCode
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence
path:
  v: CertDIVOC.evidence
short:
  v: Evidence
definition:
  v: Vaccination Information
min:
  v: 0
max:
  v: *
base:
  path:
    v: CertDIVOC.evidence
  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: CertDIVOC.evidence.id
path:
  v: CertDIVOC.evidence.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: CertDIVOC.evidence.extension
path:
  v: CertDIVOC.evidence.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: CertDIVOC.evidence.modifierExtension
path:
  v: CertDIVOC.evidence.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: CertDIVOC.evidence.feedbackUrl
path:
  v: CertDIVOC.evidence.feedbackUrl
short:
  v: URL for feedback
definition:
  v: URL for feedback
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.feedbackUrl
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.infoUrl
path:
  v: CertDIVOC.evidence.infoUrl
short:
  v: URL for more information on this record
definition:
  v: URL for more information on this record
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.infoUrl
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.certificateId
path:
  v: CertDIVOC.evidence.certificateId
short:
  v: Certificate Unique Identifier
definition:
  v: Certificate Unique Identifier
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.certificateId
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.type
path:
  v: CertDIVOC.evidence.type
short:
  v: type
definition:
  v: Type of evidence record. Generally `Vaccination` or `TestDetails`
min:
  v: 1
max:
  v: *
base:
  path:
    v: CertDIVOC.evidence.type
  min:
    v: 1
  max:
    v: *
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.batch
path:
  v: CertDIVOC.evidence.batch
short:
  v: Vaccine lot number
definition:
  v: Vaccine lot number
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.batch
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.vaccine
path:
  v: CertDIVOC.evidence.vaccine
short:
  v: Vaccine description. Might include vaccine type and brand
definition:
  v: Vaccine description. Might include vaccine type and brand
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.vaccine
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.manufacturer
path:
  v: CertDIVOC.evidence.manufacturer
short:
  v: Name of the Vaccine/Test Manufacturer
definition:
  v: Name of the Vaccine/Test Manufacturer
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.manufacturer
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.date
path:
  v: CertDIVOC.evidence.date
short:
  v: Date of immunization
definition:
  v: Date of immunization
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.date
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime

id:
  v: CertDIVOC.evidence.effectiveStart
path:
  v: CertDIVOC.evidence.effectiveStart
short:
  v: Effective immunization start date
definition:
  v: Effective immunization start date
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.effectiveStart
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: date

id:
  v: CertDIVOC.evidence.effectiveUntil
path:
  v: CertDIVOC.evidence.effectiveUntil
short:
  v: Effective immunization end date
definition:
  v: Effective immunization end date
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.effectiveUntil
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: date

id:
  v: CertDIVOC.evidence.dose
path:
  v: CertDIVOC.evidence.dose
short:
  v: Dose Number
definition:
  v: Dose Number
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.dose
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: positiveInt

id:
  v: CertDIVOC.evidence.totalDoses
path:
  v: CertDIVOC.evidence.totalDoses
short:
  v: Total doses for this vaccine protocol regimen
definition:
  v: Total doses for this vaccine protocol regimen
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.totalDoses
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: positiveInt

id:
  v: CertDIVOC.evidence.verifier
path:
  v: CertDIVOC.evidence.verifier
short:
  v: Verifier
definition:
  v: Practitioner that oversaw the application
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.verifier
  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: CertDIVOC.evidence.verifier.id
path:
  v: CertDIVOC.evidence.verifier.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: CertDIVOC.evidence.verifier.extension
path:
  v: CertDIVOC.evidence.verifier.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: CertDIVOC.evidence.verifier.modifierExtension
path:
  v: CertDIVOC.evidence.verifier.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: CertDIVOC.evidence.verifier.name
path:
  v: CertDIVOC.evidence.verifier.name
short:
  v: Name of the practitioner
definition:
  v: Name of the practitioner
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.verifier.name
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.facility
path:
  v: CertDIVOC.evidence.facility
short:
  v: Facility
definition:
  v: Facility where the immunization took place
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.facility
  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: CertDIVOC.evidence.facility.id
path:
  v: CertDIVOC.evidence.facility.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: CertDIVOC.evidence.facility.extension
path:
  v: CertDIVOC.evidence.facility.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: CertDIVOC.evidence.facility.modifierExtension
path:
  v: CertDIVOC.evidence.facility.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: CertDIVOC.evidence.facility.name
path:
  v: CertDIVOC.evidence.facility.name
short:
  v: Name of the facility/entity
definition:
  v: Name of the facility/entity
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.facility.name
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.facility.address
path:
  v: CertDIVOC.evidence.facility.address
short:
  v: Address of the facility
definition:
  v: Address of the facility
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.facility.address
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Address
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: CertDIVOC.evidence.facility.address.id
path:
  v: CertDIVOC.evidence.facility.address.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: CertDIVOC.evidence.facility.address.extension
path:
  v: CertDIVOC.evidence.facility.address.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: CertDIVOC.evidence.facility.address.use
path:
  v: CertDIVOC.evidence.facility.address.use
short:
  v: home | work | temp | old | billing - purpose of this address
definition:
  v: The purpose of this address.
comment:
  v: Applications can assume that an address is current unless it explicitly says that it is temporary or old.
requirements:
  v: Allows an appropriate address to be chosen from a list of many.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Address.use
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
example:
  label:
    v: General
  value: code
    v: home
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
is modifier:
  v: true
is modifier reason:
  v: This is labeled as "Is Modifier" because applications should not mistake a temporary or old address etc.for a current/permanent one
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
    value: string
      v: AddressUse
  strength:
    v: required
  description:
    v: The use of an address.
  value set:
    v: http://hl7.org/fhir/ValueSet/address-use|4.0.1
    link: 4.0
    link: .1
mapping:
  identity:
    v: v2
  map:
    v: XAD.7
mapping:
  identity:
    v: rim
  map:
    v: unique(./use)
mapping:
  identity:
    v: servd
  map:
    v: ./AddressPurpose

id:
  v: CertDIVOC.evidence.facility.address.type
path:
  v: CertDIVOC.evidence.facility.address.type
short:
  v: postal | physical | both
definition:
  v: Distinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both.
comment:
  v: The definition of Address states that "address is intended to describe postal addresses, not physical locations". However, many applications track whether an address has a dual purpose of being a location that can be visited as well as being a valid delivery destination, and Postal addresses are often used as proxies for physical locations (also see the [Location](http://hl7.org/fhir/R4/location.html#) resource).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Address.type
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
example:
  label:
    v: General
  value: code
    v: both
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
is modifier:
  v: false
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
    value: string
      v: AddressType
  strength:
    v: required
  description:
    v: The type of an address (physical / postal).
  value set:
    v: http://hl7.org/fhir/ValueSet/address-type|4.0.1
    link: 4.0
    link: .1
mapping:
  identity:
    v: v2
  map:
    v: XAD.18
mapping:
  identity:
    v: rim
  map:
    v: unique(./use)
mapping:
  identity:
    v: vcard
  map:
    v: address type parameter

id:
  v: CertDIVOC.evidence.facility.address.text
path:
  v: CertDIVOC.evidence.facility.address.text
short:
  v: Text representation of the address
definition:
  v: Specifies the entire address as it should be displayed e.g. on a postal label. This may be provided instead of or as well as the specific parts.
comment:
  v: Can provide both a text representation and parts. Applications updating an address SHALL ensure that when both text and parts are present, no content is included in the text that isn't found in a part.
requirements:
  v: A renderable, unencoded form.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Address.text
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
example:
  label:
    v: General
  value: string
    v: 137 Nowhere Street, Erewhon 9132
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
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6
mapping:
  identity:
    v: rim
  map:
    v: ./formatted
mapping:
  identity:
    v: vcard
  map:
    v: address label parameter

id:
  v: CertDIVOC.evidence.facility.address.line
path:
  v: CertDIVOC.evidence.facility.address.line
short:
  v: Street name, number, direction & P.O. Box etc.
definition:
  v: This component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Address.line
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: string
order meaning:
  v: The order in which lines should appear in an address label
example:
  label:
    v: General
  value: string
    v: 137 Nowhere Street
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
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: XAD.1 + XAD.2 (note: XAD.1 and XAD.2 have different meanings for a company address than for a person address)
mapping:
  identity:
    v: rim
  map:
    v: AD.part[parttype = AL]
mapping:
  identity:
    v: vcard
  map:
    v: street
mapping:
  identity:
    v: servd
  map:
    v: ./StreetAddress (newline delimitted)

id:
  v: CertDIVOC.evidence.facility.address.city
path:
  v: CertDIVOC.evidence.facility.address.city
short:
  v: Name of city, town etc.
definition:
  v: Name of city, town etc.
alias:
  v: Municpality
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Address.city
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
example:
  label:
    v: General
  value: string
    v: Erewhon
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
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: XAD.3
mapping:
  identity:
    v: rim
  map:
    v: AD.part[parttype = CTY]
mapping:
  identity:
    v: vcard
  map:
    v: locality
mapping:
  identity:
    v: servd
  map:
    v: ./Jurisdiction

id:
  v: CertDIVOC.evidence.facility.address.district
path:
  v: CertDIVOC.evidence.facility.address.district
short:
  v: District name (aka county)
definition:
  v: District name (aka county)
comment:
  v: District is sometimes known as county, but in some regions 'county' is used in place of city (municipality), so county name should be conveyed in city instead.
alias:
  v: County
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Address.district
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
example:
  label:
    v: General
  value: string
    v: Madison
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
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: XAD.9
mapping:
  identity:
    v: rim
  map:
    v: AD.part[parttype = CNT | CPA]

id:
  v: CertDIVOC.evidence.facility.address.state
path:
  v: CertDIVOC.evidence.facility.address.state
short:
  v: Sub-unit of country (abbreviations ok)
definition:
  v: Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (e.g. US 2 letter state codes).
alias:
  v: Province
alias:
  v: Territory
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Address.state
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
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
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: XAD.4
mapping:
  identity:
    v: rim
  map:
    v: AD.part[parttype = STA]
mapping:
  identity:
    v: vcard
  map:
    v: region
mapping:
  identity:
    v: servd
  map:
    v: ./Region

id:
  v: CertDIVOC.evidence.facility.address.postalCode
path:
  v: CertDIVOC.evidence.facility.address.postalCode
short:
  v: Postal code for area
definition:
  v: Postal code for area
alias:
  v: Zip
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Address.postalCode
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
example:
  label:
    v: General
  value: string
    v: 9132
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
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: XAD.5
mapping:
  identity:
    v: rim
  map:
    v: AD.part[parttype = ZIP]
mapping:
  identity:
    v: vcard
  map:
    v: code
mapping:
  identity:
    v: servd
  map:
    v: ./PostalIdentificationCode

id:
  v: CertDIVOC.evidence.facility.address.country
path:
  v: CertDIVOC.evidence.facility.address.country
short:
  v: Country (e.g. can be ISO 3166 2 or 3 letter code)
definition:
  v: Country - a nation as commonly understood or generally accepted.
comment:
  v: ISO 3166 3 letter codes can be used in place of a human readable country name.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Address.country
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
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
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: XAD.6
mapping:
  identity:
    v: rim
  map:
    v: AD.part[parttype = CNT]
mapping:
  identity:
    v: vcard
  map:
    v: country
mapping:
  identity:
    v: servd
  map:
    v: ./Country

id:
  v: CertDIVOC.evidence.facility.address.period
path:
  v: CertDIVOC.evidence.facility.address.period
short:
  v: Time period when address was/is in use
definition:
  v: Time period when address was/is in use.
requirements:
  v: Allows addresses to be placed in historical context.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Address.period
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Period
example:
  label:
    v: General
  value: Period
    start:
      v: 2010-03-23
    end:
      v: 2010-07-01
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
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: XAD.12 / XAD.13 + XAD.14
mapping:
  identity:
    v: rim
  map:
    v: ./usablePeriod[type="IVL<TS>"]
mapping:
  identity:
    v: servd
  map:
    v: ./StartDate and ./EndDate

id:
  v: CertDIVOC.evidence.facility.address.streetAddress
path:
  v: CertDIVOC.evidence.facility.address.streetAddress
short:
  v: Line 1 of the address
definition:
  v: Line 1 of the address
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.facility.address.streetAddress
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.facility.address.streetAddress2
path:
  v: CertDIVOC.evidence.facility.address.streetAddress2
short:
  v: Line 2 of the address
definition:
  v: Line 2 of the address
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.facility.address.streetAddress2
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.facility.address.addressRegion
path:
  v: CertDIVOC.evidence.facility.address.addressRegion
short:
  v: Sub-unit of country (abbreviations ok)
definition:
  v: Sub-unit of country (abbreviations ok)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.facility.address.addressRegion
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.facility.address.addressCountry
path:
  v: CertDIVOC.evidence.facility.address.addressCountry
short:
  v: Country (e.g. may be ISO 3166 2 or 3 letter code)
definition:
  v: Country (e.g. may be ISO 3166 2 or 3 letter code)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.facility.address.addressCountry
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
binding:
  strength:
    v: preferred
  value set:
    v: http://hl7.org/fhir/ValueSet/iso3166-1-3
    link: http://hl7.org/fhir/ValueSet/iso3166-1-3

id:
  v: CertDIVOC.evidence.icd11Code
path:
  v: CertDIVOC.evidence.icd11Code
short:
  v: ICD-11 code of this vaccine type (no binding information in spec)
definition:
  v: The specification for DIVOC does not provide any information beyond that this is an ICD-11 code, so correspondingly there is no required binding to a specific ValueSet in this logical model.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.icd11Code
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
binding:
  strength:
    v: preferred
  value set:
    v: http://smart.who.int/ddcc/ValueSet/WHODDCCVaccinesCOVID19
    link: http://smart.who.int/ddcc/ValueSet/WHODDCCVaccinesCOVID19

id:
  v: CertDIVOC.evidence.prophylaxis
path:
  v: CertDIVOC.evidence.prophylaxis
short:
  v: Descriptive details of the vaccine type
definition:
  v: Descriptive details of the vaccine type
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.prophylaxis
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.testName
path:
  v: CertDIVOC.evidence.testName
short:
  v: Lab test results: Test name
definition:
  v: Lab test results: Test name
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.testName
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.testType
path:
  v: CertDIVOC.evidence.testType
short:
  v: Lab test results: Type of test, either `RT-PCR` or `Rapid Antigen Test (RAT)`
definition:
  v: Lab test results: Type of test, either `RT-PCR` or `Rapid Antigen Test (RAT)`
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.testType
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
binding:
  strength:
    v: required
  value set:
    v: http://smart.who.int/ddcc/ValueSet/LabTestTypeDivocValueSet
    link: http://smart.who.int/ddcc/ValueSet/LabTestTypeDivocValueSet

id:
  v: CertDIVOC.evidence.sampleOrigin
path:
  v: CertDIVOC.evidence.sampleOrigin
short:
  v: Lab test results: Type of sample that was taken (e.g., `nasal swab`
definition:
  v: Lab test results: Type of sample that was taken (e.g., `nasal swab`
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.sampleOrigin
  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-divoc
    link: http://smart.who.int/ddcc/ValueSet/lab-test-sample-origin-divoc

id:
  v: CertDIVOC.evidence.disease
path:
  v: CertDIVOC.evidence.disease
short:
  v: Lab test results: Disease or agent targeted
definition:
  v: Lab test results: Disease or agent targeted
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.disease
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
binding:
  strength:
    v: required
  value set:
    v: http://smart.who.int/ddcc/ValueSet/LabTestPathogenDivocValueSet
    link: http://smart.who.int/ddcc/ValueSet/LabTestPathogenDivocValueSet

id:
  v: CertDIVOC.evidence.sampleCollectionTimestamp
path:
  v: CertDIVOC.evidence.sampleCollectionTimestamp
short:
  v: Lab test results: Sample collection date and time; complete date, with time and time zone, following ISO 8601
definition:
  v: Lab test results: Sample collection date and time; complete date, with time and time zone, following ISO 8601
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.sampleCollectionTimestamp
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime

id:
  v: CertDIVOC.evidence.resultTimestamp
path:
  v: CertDIVOC.evidence.resultTimestamp
short:
  v: Lab test results: Results date and time; complete date, with time and time zone, following ISO 8601
definition:
  v: Lab test results: Results date and time; complete date, with time and time zone, following ISO 8601
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.resultTimestamp
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime

id:
  v: CertDIVOC.evidence.result
path:
  v: CertDIVOC.evidence.result
short:
  v: Lab test results: result of test
definition:
  v: Lab test results: result of test
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.evidence.result
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
binding:
  strength:
    v: required
  value set:
    v: http://smart.who.int/ddcc/ValueSet/LabTestQualitativeResultDivocValueSet
    link: http://smart.who.int/ddcc/ValueSet/LabTestQualitativeResultDivocValueSet

id:
  v: CertDIVOC.proof
path:
  v: CertDIVOC.proof
short:
  v: Proof
definition:
  v: One or more cryptographic proofs that can be used to detect tampering and verify the authorship of a credential or presentation
min:
  v: 1
max:
  v: *
base:
  path:
    v: CertDIVOC.proof
  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: CertDIVOC.proof.id
path:
  v: CertDIVOC.proof.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: CertDIVOC.proof.extension
path:
  v: CertDIVOC.proof.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: CertDIVOC.proof.modifierExtension
path:
  v: CertDIVOC.proof.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: CertDIVOC.proof.type
path:
  v: CertDIVOC.proof.type
short:
  v: Type of proof
definition:
  v: Type of proof
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.proof.type
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.proof.created
path:
  v: CertDIVOC.proof.created
short:
  v: Signature date and time
definition:
  v: Signature date and time
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.proof.created
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime

id:
  v: CertDIVOC.proof.verificationMethod
path:
  v: CertDIVOC.proof.verificationMethod
short:
  v: Resolvable issuer identifier
definition:
  v: Resolvable issuer identifier
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertDIVOC.proof.verificationMethod
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.proof.proofPurpose
path:
  v: CertDIVOC.proof.proofPurpose
short:
  v: Purpose of the signature
definition:
  v: Clearly expresses the purpose for the proof and ensures this information is protected by the signature
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CertDIVOC.proof.proofPurpose
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.proof.jws
path:
  v: CertDIVOC.proof.jws
short:
  v: Signature
definition:
  v: Signature
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CertDIVOC.proof.jws
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

element:
  id:
    v: CertDIVOC
  path:
    v: CertDIVOC
  short:
    v: Certificate - DIVOC Verifiable Credential Logical Model
  definition:
    v: Data elements for the DIVOC Core Data Set. The official DIVOC documentation appears to be at <https://divoc.digit.org>. However, this does not include a full list of elements included in DIVOC certificates. There is a JSON-LD context referenced in DIVOC certificate examples (`https://cowin.gov.in/credentials/vaccination/v1`), which would provide some element-level information, but this URL does not resolve. There is a copy of this JSON-LD context at <https://github.com/egovernments/DIVOC/blob/main/vaccination-context/vaccination-context.js>. It was not possible to find any online documentation regarding DIVOC proof of testing. Information on this was provided by the DIVOC team via email. Some element descriptions in this logical model provide details that are not in publicly available DIVOC documentation.
element:
  id:
    v: CertDIVOC.context
  path:
    v: CertDIVOC.context
  short:
    v: Context (JSON-LD) - should actually be `@context` but this name isn't supported by FHIR.
  definition:
    v: Context (JSON-LD) - should actually be `@context` but this name isn't supported by FHIR.
  min:
    v: 1
  max:
    v: *
  type:
    code:
      v: string
element:
  id:
    v: CertDIVOC.type
  path:
    v: CertDIVOC.type
  short:
    v: Type
  definition:
    v: JSON-LD Type
  min:
    v: 1
  max:
    v: *
  type:
    code:
      v: string
element:
  id:
    v: CertDIVOC.issuer
  path:
    v: CertDIVOC.issuer
  short:
    v: Issuer identifier
  definition:
    v: Issuer identifier URI. generally a DID
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: string
element:
  id:
    v: CertDIVOC.issuanceDate
  path:
    v: CertDIVOC.issuanceDate
  short:
    v: issuanceDate
  definition:
    v: Date and time when a credential becomes valid
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: dateTime
element:
  id:
    v: CertDIVOC.nonTransferable
  path:
    v: CertDIVOC.nonTransferable
  short:
    v: Non Trasnferability
  definition:
    v: indicates that a verifiable credential must only be encapsulated into a verifiable presentation whose proof was issued by the credentialSubject
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: boolean
element:
  id:
    v: CertDIVOC.credentialSubject
  path:
    v: CertDIVOC.credentialSubject
  short:
    v: CredentialSubject
  definition:
    v: Contains claims about one or more objects (Patients)
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: BackboneElement
element:
  id:
    v: CertDIVOC.credentialSubject.type
  path:
    v: CertDIVOC.credentialSubject.type
  short:
    v: type
  definition:
    v: Type of credential. Generally 'Person'
  min:
    v: 1
  max:
    v: *
  type:
    code:
      v: string
element:
  id:
    v: CertDIVOC.credentialSubject.uhid
  path:
    v: CertDIVOC.credentialSubject.uhid
  short:
    v: another id
  definition:
    v: another id
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: string
element:
  id:
    v: CertDIVOC.credentialSubject.refId
  path:
    v: CertDIVOC.credentialSubject.refId
  short:
    v: reference id
  definition:
    v: reference id
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: string
element:
  id:
    v: CertDIVOC.credentialSubject.name
  path:
    v: CertDIVOC.credentialSubject.name
  short:
    v: A name associated with the patient
  definition:
    v: A name associated with the patient
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: string
element:
  id:
    v: CertDIVOC.credentialSubject.gender
  path:
    v: CertDIVOC.credentialSubject.gender
  short:
    v: Gender (`Male` or `Female`; unknown if there are other options)
  definition:
    v: Gender (`Male` or `Female`; unknown if there are other options)
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: string
element:
  id:
    v: CertDIVOC.credentialSubject.sex
  path:
    v: CertDIVOC.credentialSubject.sex
  short:
    v: Sex (not used in examples; presumably `Male` or `Female`; unknown if there are other options)
  definition:
    v: Sex (not used in examples; presumably `Male` or `Female`; unknown if there are other options)
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: string

id:
  v: CertDIVOC.credentialSubject.age
path:
  v: CertDIVOC.credentialSubject.age
short:
  v: Age
definition:
  v: Age
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.dob
path:
  v: CertDIVOC.credentialSubject.dob
short:
  v: The date of birth for the individual (V2 only)
definition:
  v: The date of birth for the individual (V2 only)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: date

id:
  v: CertDIVOC.credentialSubject.nationality
path:
  v: CertDIVOC.credentialSubject.nationality
short:
  v: Nationality
definition:
  v: Nationality
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.address
path:
  v: CertDIVOC.credentialSubject.address
short:
  v: Address
definition:
  v: Address
min:
  v: 0
max:
  v: 1
type:
  code:
    v: BackboneElement

id:
  v: CertDIVOC.credentialSubject.address.streetAddress
path:
  v: CertDIVOC.credentialSubject.address.streetAddress
short:
  v: Line 1 of the address
definition:
  v: Line 1 of the address
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.address.streetAddress2
path:
  v: CertDIVOC.credentialSubject.address.streetAddress2
short:
  v: Line 2 of the address
definition:
  v: Line 2 of the address
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.address.district
path:
  v: CertDIVOC.credentialSubject.address.district
short:
  v: District name (aka county)
definition:
  v: District name (aka county)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.address.city
path:
  v: CertDIVOC.credentialSubject.address.city
short:
  v: Name of city, town etc.
definition:
  v: Name of city, town etc.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.address.addressRegion
path:
  v: CertDIVOC.credentialSubject.address.addressRegion
short:
  v: Sub-unit of country (abbreviations ok)
definition:
  v: Sub-unit of country (abbreviations ok)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.address.addressCountry
path:
  v: CertDIVOC.credentialSubject.address.addressCountry
short:
  v: Country (e.g. may be ISO 3166 2 or 3 letter code)
definition:
  v: Country (e.g. may be ISO 3166 2 or 3 letter code)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.credentialSubject.address.postalCode
path:
  v: CertDIVOC.credentialSubject.address.postalCode
short:
  v: Postal code for area
definition:
  v: Postal code for area
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence
path:
  v: CertDIVOC.evidence
short:
  v: Evidence
definition:
  v: Vaccination Information
min:
  v: 0
max:
  v: *
type:
  code:
    v: BackboneElement

id:
  v: CertDIVOC.evidence.feedbackUrl
path:
  v: CertDIVOC.evidence.feedbackUrl
short:
  v: URL for feedback
definition:
  v: URL for feedback
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.infoUrl
path:
  v: CertDIVOC.evidence.infoUrl
short:
  v: URL for more information on this record
definition:
  v: URL for more information on this record
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.certificateId
path:
  v: CertDIVOC.evidence.certificateId
short:
  v: Certificate Unique Identifier
definition:
  v: Certificate Unique Identifier
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.type
path:
  v: CertDIVOC.evidence.type
short:
  v: type
definition:
  v: Type of evidence record. Generally `Vaccination` or `TestDetails`
min:
  v: 1
max:
  v: *
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.batch
path:
  v: CertDIVOC.evidence.batch
short:
  v: Vaccine lot number
definition:
  v: Vaccine lot number
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.vaccine
path:
  v: CertDIVOC.evidence.vaccine
short:
  v: Vaccine description. Might include vaccine type and brand
definition:
  v: Vaccine description. Might include vaccine type and brand
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.manufacturer
path:
  v: CertDIVOC.evidence.manufacturer
short:
  v: Name of the Vaccine/Test Manufacturer
definition:
  v: Name of the Vaccine/Test Manufacturer
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.date
path:
  v: CertDIVOC.evidence.date
short:
  v: Date of immunization
definition:
  v: Date of immunization
min:
  v: 0
max:
  v: 1
type:
  code:
    v: dateTime

id:
  v: CertDIVOC.evidence.effectiveStart
path:
  v: CertDIVOC.evidence.effectiveStart
short:
  v: Effective immunization start date
definition:
  v: Effective immunization start date
min:
  v: 0
max:
  v: 1
type:
  code:
    v: date

id:
  v: CertDIVOC.evidence.effectiveUntil
path:
  v: CertDIVOC.evidence.effectiveUntil
short:
  v: Effective immunization end date
definition:
  v: Effective immunization end date
min:
  v: 0
max:
  v: 1
type:
  code:
    v: date

id:
  v: CertDIVOC.evidence.dose
path:
  v: CertDIVOC.evidence.dose
short:
  v: Dose Number
definition:
  v: Dose Number
min:
  v: 0
max:
  v: 1
type:
  code:
    v: positiveInt

id:
  v: CertDIVOC.evidence.totalDoses
path:
  v: CertDIVOC.evidence.totalDoses
short:
  v: Total doses for this vaccine protocol regimen
definition:
  v: Total doses for this vaccine protocol regimen
min:
  v: 0
max:
  v: 1
type:
  code:
    v: positiveInt

id:
  v: CertDIVOC.evidence.verifier
path:
  v: CertDIVOC.evidence.verifier
short:
  v: Verifier
definition:
  v: Practitioner that oversaw the application
min:
  v: 0
max:
  v: 1
type:
  code:
    v: BackboneElement

id:
  v: CertDIVOC.evidence.verifier.name
path:
  v: CertDIVOC.evidence.verifier.name
short:
  v: Name of the practitioner
definition:
  v: Name of the practitioner
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.facility
path:
  v: CertDIVOC.evidence.facility
short:
  v: Facility
definition:
  v: Facility where the immunization took place
min:
  v: 0
max:
  v: 1
type:
  code:
    v: BackboneElement

id:
  v: CertDIVOC.evidence.facility.name
path:
  v: CertDIVOC.evidence.facility.name
short:
  v: Name of the facility/entity
definition:
  v: Name of the facility/entity
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.facility.address
path:
  v: CertDIVOC.evidence.facility.address
short:
  v: Address of the facility
definition:
  v: Address of the facility
min:
  v: 0
max:
  v: 1
type:
  code:
    v: Address

id:
  v: CertDIVOC.evidence.facility.address.streetAddress
path:
  v: CertDIVOC.evidence.facility.address.streetAddress
short:
  v: Line 1 of the address
definition:
  v: Line 1 of the address
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.facility.address.streetAddress2
path:
  v: CertDIVOC.evidence.facility.address.streetAddress2
short:
  v: Line 2 of the address
definition:
  v: Line 2 of the address
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.facility.address.district
path:
  v: CertDIVOC.evidence.facility.address.district
short:
  v: District name (aka county)
definition:
  v: District name (aka county)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.facility.address.city
path:
  v: CertDIVOC.evidence.facility.address.city
short:
  v: Name of city, town etc.
definition:
  v: Name of city, town etc.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.facility.address.addressRegion
path:
  v: CertDIVOC.evidence.facility.address.addressRegion
short:
  v: Sub-unit of country (abbreviations ok)
definition:
  v: Sub-unit of country (abbreviations ok)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.facility.address.addressCountry
path:
  v: CertDIVOC.evidence.facility.address.addressCountry
short:
  v: Country (e.g. may be ISO 3166 2 or 3 letter code)
definition:
  v: Country (e.g. may be ISO 3166 2 or 3 letter code)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string
binding:
  strength:
    v: preferred
  value set:
    v: http://hl7.org/fhir/ValueSet/iso3166-1-3
    link: http://hl7.org/fhir/ValueSet/iso3166-1-3

id:
  v: CertDIVOC.evidence.facility.address.postalCode
path:
  v: CertDIVOC.evidence.facility.address.postalCode
short:
  v: Postal code for area
definition:
  v: Postal code for area
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.icd11Code
path:
  v: CertDIVOC.evidence.icd11Code
short:
  v: ICD-11 code of this vaccine type (no binding information in spec)
definition:
  v: The specification for DIVOC does not provide any information beyond that this is an ICD-11 code, so correspondingly there is no required binding to a specific ValueSet in this logical model.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string
binding:
  strength:
    v: preferred
  value set:
    v: http://smart.who.int/ddcc/ValueSet/WHODDCCVaccinesCOVID19
    link: http://smart.who.int/ddcc/ValueSet/WHODDCCVaccinesCOVID19

id:
  v: CertDIVOC.evidence.prophylaxis
path:
  v: CertDIVOC.evidence.prophylaxis
short:
  v: Descriptive details of the vaccine type
definition:
  v: Descriptive details of the vaccine type
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.testName
path:
  v: CertDIVOC.evidence.testName
short:
  v: Lab test results: Test name
definition:
  v: Lab test results: Test name
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.evidence.testType
path:
  v: CertDIVOC.evidence.testType
short:
  v: Lab test results: Type of test, either `RT-PCR` or `Rapid Antigen Test (RAT)`
definition:
  v: Lab test results: Type of test, either `RT-PCR` or `Rapid Antigen Test (RAT)`
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string
binding:
  strength:
    v: required
  value set:
    v: http://smart.who.int/ddcc/ValueSet/LabTestTypeDivocValueSet
    link: http://smart.who.int/ddcc/ValueSet/LabTestTypeDivocValueSet

id:
  v: CertDIVOC.evidence.sampleOrigin
path:
  v: CertDIVOC.evidence.sampleOrigin
short:
  v: Lab test results: Type of sample that was taken (e.g., `nasal swab`
definition:
  v: Lab test results: Type of sample that was taken (e.g., `nasal swab`
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-divoc
    link: http://smart.who.int/ddcc/ValueSet/lab-test-sample-origin-divoc

id:
  v: CertDIVOC.evidence.disease
path:
  v: CertDIVOC.evidence.disease
short:
  v: Lab test results: Disease or agent targeted
definition:
  v: Lab test results: Disease or agent targeted
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string
binding:
  strength:
    v: required
  value set:
    v: http://smart.who.int/ddcc/ValueSet/LabTestPathogenDivocValueSet
    link: http://smart.who.int/ddcc/ValueSet/LabTestPathogenDivocValueSet

id:
  v: CertDIVOC.evidence.sampleCollectionTimestamp
path:
  v: CertDIVOC.evidence.sampleCollectionTimestamp
short:
  v: Lab test results: Sample collection date and time; complete date, with time and time zone, following ISO 8601
definition:
  v: Lab test results: Sample collection date and time; complete date, with time and time zone, following ISO 8601
min:
  v: 0
max:
  v: 1
type:
  code:
    v: dateTime

id:
  v: CertDIVOC.evidence.resultTimestamp
path:
  v: CertDIVOC.evidence.resultTimestamp
short:
  v: Lab test results: Results date and time; complete date, with time and time zone, following ISO 8601
definition:
  v: Lab test results: Results date and time; complete date, with time and time zone, following ISO 8601
min:
  v: 0
max:
  v: 1
type:
  code:
    v: dateTime

id:
  v: CertDIVOC.evidence.result
path:
  v: CertDIVOC.evidence.result
short:
  v: Lab test results: result of test
definition:
  v: Lab test results: result of test
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string
binding:
  strength:
    v: required
  value set:
    v: http://smart.who.int/ddcc/ValueSet/LabTestQualitativeResultDivocValueSet
    link: http://smart.who.int/ddcc/ValueSet/LabTestQualitativeResultDivocValueSet

id:
  v: CertDIVOC.proof
path:
  v: CertDIVOC.proof
short:
  v: Proof
definition:
  v: One or more cryptographic proofs that can be used to detect tampering and verify the authorship of a credential or presentation
min:
  v: 1
max:
  v: *
type:
  code:
    v: BackboneElement

id:
  v: CertDIVOC.proof.type
path:
  v: CertDIVOC.proof.type
short:
  v: Type of proof
definition:
  v: Type of proof
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.proof.created
path:
  v: CertDIVOC.proof.created
short:
  v: Signature date and time
definition:
  v: Signature date and time
min:
  v: 0
max:
  v: 1
type:
  code:
    v: dateTime

id:
  v: CertDIVOC.proof.verificationMethod
path:
  v: CertDIVOC.proof.verificationMethod
short:
  v: Resolvable issuer identifier
definition:
  v: Resolvable issuer identifier
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.proof.proofPurpose
path:
  v: CertDIVOC.proof.proofPurpose
short:
  v: Purpose of the signature
definition:
  v: Clearly expresses the purpose for the proof and ensures this information is protected by the signature
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: CertDIVOC.proof.jws
path:
  v: CertDIVOC.proof.jws
short:
  v: Signature
definition:
  v: Signature
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string