WHO Digital Documentation of COVID-19 Certificates (DDCC)
1.0.0 - CI Build International flag

WHO Digital Documentation of COVID-19 Certificates (DDCC), published by WHO. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/ddcc/tree/main and changes regularly. See the Directory of published versions

Resource Profile: DDCC Patient

Official URL: http://smart.who.int/ddcc/StructureDefinition/DDCCPatient Version: 1.0.0
Draft as of 2025-03-10 Computable Name: DDCCPatient

A DDCCPatient should:

  • if the [identifier.assigner](StructureDefinition-DDCCPatient-definitions.html#Patient.identifier] is set then the value of identifier.assigner should be set to reference the DDCC Organization resource associated to the PHA.
  • obeys who-ddcc-patient-1

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..* PatientUvIps Information about an individual or animal receiving health care services
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... identifier SΣ 0..* Identifier An identifier for this patient
ele-1: All FHIR elements must have a @value or children
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
.... system SΣ 0..1 uri The namespace for the identifier value
ele-1: All FHIR elements must have a @value or children
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 0..1 string The value that is unique
ele-1: All FHIR elements must have a @value or children
Example General: 123456
... Slices for name SΣC 1..* HumanName A name associated with the patient
Slice: Unordered, Open by value:use, exists:text
ele-1: All FHIR elements must have a @value or children
ips-pat-1: Patient.name.given, Patient.name.family or Patient.name.text SHALL be present
.... name:All Slices Content/Rules for all slices
..... use ?!Σ 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


ele-1: All FHIR elements must have a @value or children
..... text SΣ 0..1 string Text representation of the full name
ele-1: All FHIR elements must have a @value or children
..... family SΣ 0..1 string Family name (often called 'Surname')
ele-1: All FHIR elements must have a @value or children
..... given SΣ 0..* string Given names (not always 'first'). Includes middle names
ele-1: All FHIR elements must have a @value or children
This repeating element order: Given Names appear in the correct order for presenting the name
.... name:ddccName SΣC 1..* HumanName A name associated with the patient
ele-1: All FHIR elements must have a @value or children
ips-pat-1: Patient.name.given, Patient.name.family or Patient.name.text SHALL be present
..... use ?!SΣ 1..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


ele-1: All FHIR elements must have a @value or children
Required Pattern: official
..... text SΣ 1..1 string Text representation of the full name
ele-1: All FHIR elements must have a @value or children
..... family SΣ 0..1 string Family name (often called 'Surname')
ele-1: All FHIR elements must have a @value or children
..... given SΣ 0..* string Given names (not always 'first'). Includes middle names
ele-1: All FHIR elements must have a @value or children
This repeating element order: Given Names appear in the correct order for presenting the name
... telecom SΣ 0..* ContactPoint A contact detail for the individual
ele-1: All FHIR elements must have a @value or children
... gender SΣ 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.


ele-1: All FHIR elements must have a @value or children
... birthDate SΣ 1..1 date The date of birth for the individual
ele-1: All FHIR elements must have a @value or children
... deceased[x] ?!Σ 0..1 Indicates if the individual is deceased or not
ele-1: All FHIR elements must have a @value or children
.... deceasedBoolean boolean
.... deceasedDateTime dateTime
... address SΣC 0..* Address An address for the individual
ele-1: All FHIR elements must have a @value or children
pat-cnt-2or3-char: The content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.
... generalPractitioner S 0..* Reference(Organization | Practitioner | PractitionerRole) Patient's nominated primary care provider
ele-1: All FHIR elements must have a @value or children
... link ?!Σ 0..* BackboneElement Link to another patient resource that concerns the same actual person
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... other Σ 1..1 Reference(Patient | RelatedPerson) The other patient or related person resource that the link refers to
ele-1: All FHIR elements must have a @value or children
.... type Σ 1..1 code replaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Patient.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.name.userequiredNameUse
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard
Patient.name:ddccName.userequiredPattern: official
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard
Patient.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.link.typerequiredLinkType
http://hl7.org/fhir/ValueSet/link-type|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPatientIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorPatientIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorPatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePatientA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ips-pat-1errorPatient.name, Patient.name:ddccNamePatient.name.given, Patient.name.family or Patient.name.text SHALL be present
: family.exists() or given.exists() or text.exists()
pat-cnt-2or3-charwarningPatient.addressThe content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.
: country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))

 

Other representations of profile: CSV, Excel, Schematron