ChanjoKE Immunization Implementation Guide
0.1.0 - ci-build

ChanjoKE Immunization Implementation Guide, published by Intellisoft Consulting Ltd. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/IntelliSOFT-Consulting/ChanjoKe-FHIR-IG/ and changes regularly. See the Directory of published versions

Resource Profile: DigitalCertificateDocumentFolder

Official URL: https://chanjoke.intellisoftkenya.com/fhir/StructureDefinition/DigitalCertificateDocumentFolder Version: 0.1.0
Draft as of 2024-11-08 Computable Name: DigitalCertificateDocumentFolder

Digital Certificate Folder of the Paper Certificate

Usage:

Formal Views of Profile Content

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

This structure is derived from List

NameFlagsCard.TypeDescription & Constraintsdoco
.. List 0..* List A list is a curated collection of resources
... subject 1..1 Reference(DigitalCertificatePatient) If all resources have the same subject
.... reference 1..1 string Literal reference, Relative, internal or absolute URL
... entry S 0..* BackboneElement Entries in the list
.... item 1..1 Reference(DigitalCertificateDocumentReference) Actual entry

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. List C 0..* List A list is a curated collection of resources
lst-1: A list can only have an emptyReason if it is empty
lst-2: The deleted flag can only be used if the mode of the list is "changes"
lst-3: An entry date can only be used if the mode of the list is "working"
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code current | retired | entered-in-error
Binding: ListStatus (required): The current state of the list.

... subject Σ 1..1 Reference(DigitalCertificatePatient) If all resources have the same subject
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
... entry SC 0..* BackboneElement Entries in the list
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... deleted ?!C 0..1 boolean If this item is actually marked as deleted
.... item 1..1 Reference(DigitalCertificateDocumentReference) Actual entry

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
List.statusrequiredListStatus
http://hl7.org/fhir/ValueSet/list-status|4.0.1
from the FHIR Standard
List.moderequiredListMode
http://hl7.org/fhir/ValueSet/list-mode|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorListIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorListIf 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-4errorListIf 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-5errorListIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceListA 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()
lst-1errorListA list can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
lst-2errorListThe deleted flag can only be used if the mode of the list is "changes"
: mode = 'changes' or entry.deleted.empty()
lst-3errorListAn entry date can only be used if the mode of the list is "working"
: mode = 'working' or entry.date.empty()
NameFlagsCard.TypeDescription & Constraintsdoco
.. List C 0..* List A list is a curated collection of resources
lst-1: A list can only have an emptyReason if it is empty
lst-2: The deleted flag can only be used if the mode of the list is "changes"
lst-3: An entry date can only be used if the mode of the list is "working"
... 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier Business identifier
... status ?!Σ 1..1 code current | retired | entered-in-error
Binding: ListStatus (required): The current state of the list.

... mode ?!Σ 1..1 code working | snapshot | changes
Binding: ListMode (required): The processing mode that applies to this list.

... title Σ 0..1 string Descriptive name for the list
Example General: Dr. Jane's Patients
... code Σ 0..1 CodeableConcept What the purpose of this list is
Binding: ExampleUseCodesForList (example): What the purpose of a list is.

... subject Σ 1..1 Reference(DigitalCertificatePatient) If all resources have the same subject
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... encounter 0..1 Reference(Encounter) Context in which list created
... date Σ 0..1 dateTime When the list was prepared
... source Σ 0..1 Reference(Practitioner | PractitionerRole | Patient | Device) Who and/or what defined the list contents (aka Author)
... orderedBy 0..1 CodeableConcept What order the list has
Binding: ListOrderCodes (preferred): What order applies to the items in a list.

... note 0..* Annotation Comments about the list
... entry SC 0..* BackboneElement Entries in the list
.... 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
.... flag 0..1 CodeableConcept Status/Workflow information about this item
Binding: PatientMedicineChangeTypes (example): Codes that provide further information about the reason and meaning of the item in the list.

.... deleted ?!C 0..1 boolean If this item is actually marked as deleted
.... date 0..1 dateTime When item added to list
.... item 1..1 Reference(DigitalCertificateDocumentReference) Actual entry
... emptyReason C 0..1 CodeableConcept Why list is empty
Binding: ListEmptyReasons (preferred): If a list is empty, why it is empty.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
List.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
List.statusrequiredListStatus
http://hl7.org/fhir/ValueSet/list-status|4.0.1
from the FHIR Standard
List.moderequiredListMode
http://hl7.org/fhir/ValueSet/list-mode|4.0.1
from the FHIR Standard
List.codeexampleExampleUseCodesForList
http://hl7.org/fhir/ValueSet/list-example-codes
from the FHIR Standard
List.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
List.orderedBypreferredListOrderCodes
http://hl7.org/fhir/ValueSet/list-order
from the FHIR Standard
List.entry.flagexamplePatientMedicineChangeTypes
http://hl7.org/fhir/ValueSet/list-item-flag
from the FHIR Standard
List.emptyReasonpreferredListEmptyReasons
http://hl7.org/fhir/ValueSet/list-empty-reason
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorListIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorListIf 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-4errorListIf 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-5errorListIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceListA 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()
lst-1errorListA list can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
lst-2errorListThe deleted flag can only be used if the mode of the list is "changes"
: mode = 'changes' or entry.deleted.empty()
lst-3errorListAn entry date can only be used if the mode of the list is "working"
: mode = 'working' or entry.date.empty()

Differential View

This structure is derived from List

NameFlagsCard.TypeDescription & Constraintsdoco
.. List 0..* List A list is a curated collection of resources
... subject 1..1 Reference(DigitalCertificatePatient) If all resources have the same subject
.... reference 1..1 string Literal reference, Relative, internal or absolute URL
... entry S 0..* BackboneElement Entries in the list
.... item 1..1 Reference(DigitalCertificateDocumentReference) Actual entry

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. List C 0..* List A list is a curated collection of resources
lst-1: A list can only have an emptyReason if it is empty
lst-2: The deleted flag can only be used if the mode of the list is "changes"
lst-3: An entry date can only be used if the mode of the list is "working"
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code current | retired | entered-in-error
Binding: ListStatus (required): The current state of the list.

... subject Σ 1..1 Reference(DigitalCertificatePatient) If all resources have the same subject
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
... entry SC 0..* BackboneElement Entries in the list
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... deleted ?!C 0..1 boolean If this item is actually marked as deleted
.... item 1..1 Reference(DigitalCertificateDocumentReference) Actual entry

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
List.statusrequiredListStatus
http://hl7.org/fhir/ValueSet/list-status|4.0.1
from the FHIR Standard
List.moderequiredListMode
http://hl7.org/fhir/ValueSet/list-mode|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorListIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorListIf 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-4errorListIf 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-5errorListIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceListA 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()
lst-1errorListA list can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
lst-2errorListThe deleted flag can only be used if the mode of the list is "changes"
: mode = 'changes' or entry.deleted.empty()
lst-3errorListAn entry date can only be used if the mode of the list is "working"
: mode = 'working' or entry.date.empty()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. List C 0..* List A list is a curated collection of resources
lst-1: A list can only have an emptyReason if it is empty
lst-2: The deleted flag can only be used if the mode of the list is "changes"
lst-3: An entry date can only be used if the mode of the list is "working"
... 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier Business identifier
... status ?!Σ 1..1 code current | retired | entered-in-error
Binding: ListStatus (required): The current state of the list.

... mode ?!Σ 1..1 code working | snapshot | changes
Binding: ListMode (required): The processing mode that applies to this list.

... title Σ 0..1 string Descriptive name for the list
Example General: Dr. Jane's Patients
... code Σ 0..1 CodeableConcept What the purpose of this list is
Binding: ExampleUseCodesForList (example): What the purpose of a list is.

... subject Σ 1..1 Reference(DigitalCertificatePatient) If all resources have the same subject
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... encounter 0..1 Reference(Encounter) Context in which list created
... date Σ 0..1 dateTime When the list was prepared
... source Σ 0..1 Reference(Practitioner | PractitionerRole | Patient | Device) Who and/or what defined the list contents (aka Author)
... orderedBy 0..1 CodeableConcept What order the list has
Binding: ListOrderCodes (preferred): What order applies to the items in a list.

... note 0..* Annotation Comments about the list
... entry SC 0..* BackboneElement Entries in the list
.... 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
.... flag 0..1 CodeableConcept Status/Workflow information about this item
Binding: PatientMedicineChangeTypes (example): Codes that provide further information about the reason and meaning of the item in the list.

.... deleted ?!C 0..1 boolean If this item is actually marked as deleted
.... date 0..1 dateTime When item added to list
.... item 1..1 Reference(DigitalCertificateDocumentReference) Actual entry
... emptyReason C 0..1 CodeableConcept Why list is empty
Binding: ListEmptyReasons (preferred): If a list is empty, why it is empty.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
List.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
List.statusrequiredListStatus
http://hl7.org/fhir/ValueSet/list-status|4.0.1
from the FHIR Standard
List.moderequiredListMode
http://hl7.org/fhir/ValueSet/list-mode|4.0.1
from the FHIR Standard
List.codeexampleExampleUseCodesForList
http://hl7.org/fhir/ValueSet/list-example-codes
from the FHIR Standard
List.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
List.orderedBypreferredListOrderCodes
http://hl7.org/fhir/ValueSet/list-order
from the FHIR Standard
List.entry.flagexamplePatientMedicineChangeTypes
http://hl7.org/fhir/ValueSet/list-item-flag
from the FHIR Standard
List.emptyReasonpreferredListEmptyReasons
http://hl7.org/fhir/ValueSet/list-empty-reason
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorListIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorListIf 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-4errorListIf 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-5errorListIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceListA 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()
lst-1errorListA list can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
lst-2errorListThe deleted flag can only be used if the mode of the list is "changes"
: mode = 'changes' or entry.deleted.empty()
lst-3errorListAn entry date can only be used if the mode of the list is "working"
: mode = 'working' or entry.date.empty()

 

Other representations of profile: CSV, Excel, Schematron