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/ and changes regularly. See the Directory of published versions

Resource Profile: DDCC Organization

Official URL: http://smart.who.int/ddcc/StructureDefinition/DDCCOrganization Version: 1.0.0
Draft as of 2024-08-14 Computable Name: DDCCOrganization

Abstraction for a DDCC Organization. There should be a DDCC Organization associated to each public health authortiy (PHA)

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization C 0..* Organization A grouping of people or organizations with a common purpose
org-1: The organization SHALL at least have a name or an identifier, and possibly more than one
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... active ?!Σ 0..1 boolean Whether the organization's record is still in active use

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOrganizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOrganizationIf 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorOrganizationIf 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-5errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOrganizationA 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()
org-1errorOrganizationThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization C 0..* Organization A grouping of people or organizations with a common purpose
org-1: The organization SHALL at least have a name or an identifier, and possibly more than one
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
dom-r4b: Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier ΣC 0..* Identifier Identifies this organization across multiple systems
... active ?!Σ 0..1 boolean Whether the organization's record is still in active use
... type Σ 0..* CodeableConcept Kind of organization
Binding: OrganizationType (example): Used to categorize the organization.


... name SΣC 1..1 string Name used for the organization
... alias 0..* string A list of alternate names that the organization is known as, or was known as in the past
... telecom C 0..* ContactPoint A contact detail for the organization
org-3: The telecom of an organization can never be of use 'home'
... address C 0..* Address An address for the organization
org-2: An address of an organization can never be of use 'home'
... partOf Σ 0..1 Reference(Organization) The organization of which this organization forms a part
... contact 0..* BackboneElement Contact for the organization for a certain purpose
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... purpose 0..1 CodeableConcept The type of contact
Binding: ContactEntityType (extensible): The purpose for which you would contact a contact party.

.... name 0..1 HumanName A name associated with the contact
.... telecom 0..* ContactPoint Contact details (telephone, email, etc.) for a contact
.... address 0..1 Address Visiting or postal addresses for the contact
... endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the organization

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Organization.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Organization.typeexampleOrganizationType
http://hl7.org/fhir/ValueSet/organization-type
from the FHIR Standard
Organization.contact.purposeextensibleContactEntityType
http://hl7.org/fhir/ValueSet/contactentity-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOrganizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOrganizationIf 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorOrganizationIf 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-5errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOrganizationA resource should have narrative for robust management
: text.`div`.exists()
dom-r4bwarningOrganization.containedContaining new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems
: ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
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()
org-1errorOrganizationThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
org-2errorOrganization.addressAn address of an organization can never be of use 'home'
: where(use = 'home').empty()
org-3errorOrganization.telecomThe telecom of an organization can never be of use 'home'
: where(use = 'home').empty()

This structure is derived from Organization

Summary

Mandatory: 1 element
Must-Support: 1 element

Differential View

This structure is derived from Organization

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization C 0..* Organization A grouping of people or organizations with a common purpose
org-1: The organization SHALL at least have a name or an identifier, and possibly more than one
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... active ?!Σ 0..1 boolean Whether the organization's record is still in active use

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOrganizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOrganizationIf 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorOrganizationIf 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-5errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOrganizationA 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()
org-1errorOrganizationThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization C 0..* Organization A grouping of people or organizations with a common purpose
org-1: The organization SHALL at least have a name or an identifier, and possibly more than one
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
dom-r4b: Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier ΣC 0..* Identifier Identifies this organization across multiple systems
... active ?!Σ 0..1 boolean Whether the organization's record is still in active use
... type Σ 0..* CodeableConcept Kind of organization
Binding: OrganizationType (example): Used to categorize the organization.


... name SΣC 1..1 string Name used for the organization
... alias 0..* string A list of alternate names that the organization is known as, or was known as in the past
... telecom C 0..* ContactPoint A contact detail for the organization
org-3: The telecom of an organization can never be of use 'home'
... address C 0..* Address An address for the organization
org-2: An address of an organization can never be of use 'home'
... partOf Σ 0..1 Reference(Organization) The organization of which this organization forms a part
... contact 0..* BackboneElement Contact for the organization for a certain purpose
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... purpose 0..1 CodeableConcept The type of contact
Binding: ContactEntityType (extensible): The purpose for which you would contact a contact party.

.... name 0..1 HumanName A name associated with the contact
.... telecom 0..* ContactPoint Contact details (telephone, email, etc.) for a contact
.... address 0..1 Address Visiting or postal addresses for the contact
... endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the organization

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Organization.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Organization.typeexampleOrganizationType
http://hl7.org/fhir/ValueSet/organization-type
from the FHIR Standard
Organization.contact.purposeextensibleContactEntityType
http://hl7.org/fhir/ValueSet/contactentity-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOrganizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOrganizationIf 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.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorOrganizationIf 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-5errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOrganizationA resource should have narrative for robust management
: text.`div`.exists()
dom-r4bwarningOrganization.containedContaining new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems
: ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
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()
org-1errorOrganizationThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
org-2errorOrganization.addressAn address of an organization can never be of use 'home'
: where(use = 'home').empty()
org-3errorOrganization.telecomThe telecom of an organization can never be of use 'home'
: where(use = 'home').empty()

This structure is derived from Organization

Summary

Mandatory: 1 element
Must-Support: 1 element

 

Other representations of profile: CSV, Excel, Schematron