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: DDCCProvideDocumentBundle - Detailed Descriptions

Draft as of 2025-03-10

Definitions for the DDCCProvideDocumentBundle resource profile.

Guidance on how to interpret the contents of this table can be found here

0. Bundle
Definition

A container for a collection of resources.

ShortContains a collection of resources
Control0..*
Is Modifierfalse
Summaryfalse
Invariantsbdl-1: total only when a search or history (total.empty() or (type = 'searchset') or (type = 'history'))
bdl-2: entry.search only when a search (entry.search.empty() or (type = 'searchset'))
bdl-3: entry.request mandatory for batch/transaction/history, otherwise prohibited (entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history')))
bdl-4: entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited (entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history')))
bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) ((type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct())
bdl-9: A document must have an identifier with a system and a value (type = 'document' implies (identifier.system.exists() and identifier.value.exists()))
bdl-10: A document must have a date (type = 'document' implies (timestamp.hasValue()))
bdl-11: A document must have a Composition as the first resource (type = 'document' implies entry.first().resource.is(Composition))
bdl-12: A message must have a MessageHeader as the first resource (type = 'message' implies entry.first().resource.is(MessageHeader))
bdl-1: total only when a search or history (total.empty() or (type = 'searchset') or (type = 'history'))
bdl-2: entry.search only when a search (entry.search.empty() or (type = 'searchset'))
bdl-3: entry.request mandatory for batch/transaction/history, otherwise prohibited (entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history')))
bdl-4: entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited (entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history')))
bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) ((type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct())
bdl-9: A document must have an identifier with a system and a value (type = 'document' implies (identifier.system.exists() and identifier.value.exists()))
bdl-10: A document must have a date (type = 'document' implies (timestamp.hasValue()))
bdl-11: A document must have a Composition as the first resource (type = 'document' implies entry.first().resource.is(Composition))
bdl-12: A message must have a MessageHeader as the first resource (type = 'message' implies entry.first().resource.is(MessageHeader))
2. Bundle.implicitRules
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

ShortA set of rules under which this content was created
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Control0..1
Typeuri
Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. Bundle.type
Definition

Indicates the purpose of this bundle - how it is intended to be used.

Shortdocument | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Comments

It's possible to use a bundle for other purposes (e.g. a document can be accepted as a transaction). This is primarily defined so that there can be specific rules for some of the bundle types.

Control1..1
BindingThe codes SHALL be taken from BundleTypehttp://hl7.org/fhir/ValueSet/bundle-type|4.0.1
(required to http://hl7.org/fhir/ValueSet/bundle-type|4.0.1)

Indicates the purpose of a bundle - how it is intended to be used.

Typecode
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Pattern Valuetransaction
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
6. Bundle.entry
Definition

An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).

ShortEntry in the bundle - will have a resource or information
Control10..*
TypeBackboneElement
Is Modifierfalse
Must Supporttrue
Summarytrue
Invariantsbdl-5: must be a resource unless there's a request or response (resource.exists() or request.exists() or response.exists())
bdl-8: fullUrl cannot be a version specific reference (fullUrl.contains('/_history/').not())
ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
bdl-5: must be a resource unless there's a request or response (resource.exists() or request.exists() or response.exists())
bdl-8: fullUrl cannot be a version specific reference (fullUrl.contains('/_history/').not())
SlicingThis element introduces a set of slices on Bundle.entry. The slices areUnordered and Closed, and can be differentiated using the following discriminators:
  • profile @ resource
  • value @ request.method
  • 8. Bundle.entry.modifierExtension
    Definition

    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).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    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.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    10. Bundle.entry.resource
    Definition

    The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type.

    ShortA resource in the bundle
    Control0..1
    TypeResource
    Is Modifierfalse
    Must Supporttrue
    Summarytrue
    12. Bundle.entry:SubmissionSet
    Slice NameSubmissionSet
    Definition

    The SubmissionSet defines who submitted it, why they submitted it, when they submitted, what is in it, and where it is destine.


    An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).

    Shortthe SubmissionSetEntry in the bundle - will have a resource or information
    Control10..1*
    TypeBackboneElement
    Is Modifierfalse
    Summarytrue
    Invariantsbdl-5: must be a resource unless there's a request or response (resource.exists() or request.exists() or response.exists())
    bdl-8: fullUrl cannot be a version specific reference (fullUrl.contains('/_history/').not())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    bdl-5: must be a resource unless there's a request or response (resource.exists() or request.exists() or response.exists())
    bdl-8: fullUrl cannot be a version specific reference (fullUrl.contains('/_history/').not())
    14. Bundle.entry:SubmissionSet.modifierExtension
    Definition

    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).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    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.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    16. Bundle.entry:SubmissionSet.resource
    Definition

    A list is a curated collection of resources.


    The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type.

    ShortA list is a curated collection of resourcesA resource in the bundle
    Control10..1
    TypeListResource(DDCC Submission Set)
    Is Modifierfalse
    Summaryfalse
    Alternate NamesCollection, WorkingList, Organizer
    18. Bundle.entry:SubmissionSet.request
    Definition

    Additional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry.

    ShortAdditional execution information (transaction/batch/history)
    Control10..1
    This element is affected by the following invariants: bdl-3
    TypeBackboneElement
    Is Modifierfalse
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    20. Bundle.entry:SubmissionSet.request.modifierExtension
    Definition

    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).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    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.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    22. Bundle.entry:SubmissionSet.request.method
    Definition

    In a transaction or batch, this is the HTTP action to be executed for this entry. In a history bundle, this indicates the HTTP action that occurred.

    ShortGET | HEAD | POST | PUT | DELETE | PATCH
    Control1..1
    BindingThe codes SHALL be taken from HTTPVerbhttp://hl7.org/fhir/ValueSet/http-verb|4.0.1
    (required to http://hl7.org/fhir/ValueSet/http-verb|4.0.1)

    HTTP verbs (in the HTTP command line). See HTTP rfc for details.

    Typecode
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Pattern ValuePOST
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    24. Bundle.entry:SubmissionSet.request.url
    Definition

    The URL for this entry, relative to the root (the address to which the request is posted).

    ShortURL for HTTP equivalent of this entry
    Comments

    E.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT and the URL would be "Patient/[id]".

    Control1..1
    Typeuri
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    26. Bundle.entry:DocumentRefs
    Slice NameDocumentRefs
    Definition

    any new DocumentReference that are part of the SubmissionSet. These might be new or other associations


    An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).

    Shortthe DocumentReference resourcesEntry in the bundle - will have a resource or information
    Control0..*
    TypeBackboneElement
    Is Modifierfalse
    Summarytrue
    Invariantsbdl-5: must be a resource unless there's a request or response (resource.exists() or request.exists() or response.exists())
    bdl-8: fullUrl cannot be a version specific reference (fullUrl.contains('/_history/').not())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    bdl-5: must be a resource unless there's a request or response (resource.exists() or request.exists() or response.exists())
    bdl-8: fullUrl cannot be a version specific reference (fullUrl.contains('/_history/').not())
    28. Bundle.entry:DocumentRefs.modifierExtension
    Definition

    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).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    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.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    30. Bundle.entry:DocumentRefs.resource
    Definition

    A reference to a document of any kind for any purpose. Provides metadata about the document so that the document can be discovered and managed. The scope of a document is any seralized object with a mime-type, so includes formal patient centric documents (CDA), cliical notes, scanned paper, and non-patient specific documents like policy text.


    The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type.

    ShortA reference to a documentA resource in the bundle
    Comments

    Usually, this is used for documents other than those defined by FHIR.

    Control10..1
    TypeDocumentReferenceResource(DDCC Document Reference)
    Is Modifierfalse
    Summaryfalse
    32. Bundle.entry:DocumentRefs.request
    Definition

    Additional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry.

    ShortAdditional execution information (transaction/batch/history)
    Control10..1
    This element is affected by the following invariants: bdl-3
    TypeBackboneElement
    Is Modifierfalse
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    34. Bundle.entry:DocumentRefs.request.modifierExtension
    Definition

    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).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    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.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    36. Bundle.entry:DocumentRefs.request.method
    Definition

    In a transaction or batch, this is the HTTP action to be executed for this entry. In a history bundle, this indicates the HTTP action that occurred.

    ShortGET | HEAD | POST | PUT | DELETE | PATCH
    Control1..1
    BindingThe codes SHALL be taken from HTTPVerbhttp://hl7.org/fhir/ValueSet/http-verb|4.0.1
    (required to http://hl7.org/fhir/ValueSet/http-verb|4.0.1)

    HTTP verbs (in the HTTP command line). See HTTP rfc for details.

    Typecode
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Pattern ValuePOST
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    38. Bundle.entry:DocumentRefs.request.url
    Definition

    The URL for this entry, relative to the root (the address to which the request is posted).

    ShortURL for HTTP equivalent of this entry
    Comments

    E.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT and the URL would be "Patient/[id]".

    Control1..1
    Typeuri
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    40. Bundle.entry:UpdateDocumentRefs
    Slice NameUpdateDocumentRefs
    Definition

    any updated DocumentReference that are part of the SubmissionSet if a new new DocumentReference replaces this DocumentReference.


    An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).

    Shortthe superseded DocumentReference resourcesEntry in the bundle - will have a resource or information
    Control0..*
    TypeBackboneElement
    Is Modifierfalse
    Summarytrue
    Invariantsbdl-5: must be a resource unless there's a request or response (resource.exists() or request.exists() or response.exists())
    bdl-8: fullUrl cannot be a version specific reference (fullUrl.contains('/_history/').not())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    bdl-5: must be a resource unless there's a request or response (resource.exists() or request.exists() or response.exists())
    bdl-8: fullUrl cannot be a version specific reference (fullUrl.contains('/_history/').not())
    42. Bundle.entry:UpdateDocumentRefs.modifierExtension
    Definition

    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).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    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.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    44. Bundle.entry:UpdateDocumentRefs.resource
    Definition

    This resource is a non-persisted resource used to pass information into and back from an operation. It has no other use, and there is no RESTful endpoint associated with it.


    The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type.

    ShortOperation Request or ResponseA resource in the bundle
    Comments

    The parameters that may be used are defined by the OperationDefinition resource.

    Control10..1
    TypeParametersResource(MHD DocumentReference Patch Parameters)
    Is Modifierfalse
    Summaryfalse
    46. Bundle.entry:UpdateDocumentRefs.request
    Definition

    Additional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry.

    ShortAdditional execution information (transaction/batch/history)
    Control10..1
    This element is affected by the following invariants: bdl-3
    TypeBackboneElement
    Is Modifierfalse
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    48. Bundle.entry:UpdateDocumentRefs.request.modifierExtension
    Definition

    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).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    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.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    50. Bundle.entry:UpdateDocumentRefs.request.method
    Definition

    In a transaction or batch, this is the HTTP action to be executed for this entry. In a history bundle, this indicates the HTTP action that occurred.

    ShortGET | HEAD | POST | PUT | DELETE | PATCH
    Control1..1
    BindingThe codes SHALL be taken from HTTPVerbhttp://hl7.org/fhir/ValueSet/http-verb|4.0.1
    (required to http://hl7.org/fhir/ValueSet/http-verb|4.0.1)

    HTTP verbs (in the HTTP command line). See HTTP rfc for details.

    Typecode
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Pattern ValuePATCH
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    52. Bundle.entry:UpdateDocumentRefs.request.url
    Definition

    The URL for this entry, relative to the root (the address to which the request is posted).

    ShortURL for HTTP equivalent of this entry
    Comments

    E.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT and the URL would be "Patient/[id]".

    Control1..1
    Typeuri
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    54. Bundle.entry:Documents
    Slice NameDocuments
    Definition

    the Documents referenced by the DocumentReference resources


    An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).

    Shortthe DocumentsEntry in the bundle - will have a resource or information
    Control0..*
    TypeBackboneElement
    Is Modifierfalse
    Summarytrue
    Invariantsbdl-5: must be a resource unless there's a request or response (resource.exists() or request.exists() or response.exists())
    bdl-8: fullUrl cannot be a version specific reference (fullUrl.contains('/_history/').not())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    bdl-5: must be a resource unless there's a request or response (resource.exists() or request.exists() or response.exists())
    bdl-8: fullUrl cannot be a version specific reference (fullUrl.contains('/_history/').not())
    56. Bundle.entry:Documents.modifierExtension
    Definition

    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).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    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.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    58. Bundle.entry:Documents.resource
    Definition

    A resource that represents the data of a single raw artifact as digital content accessible in its native format. A Binary resource can contain any content, whether text, image, pdf, zip archive, etc.


    The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type.

    ShortPure binary content defined by a format other than FHIRA resource in the bundle
    Comments

    Typically, Binary resources are used for handling content such as:

    • CDA Documents (i.e. with XDS)
    • PDF Documents
    • Images (the Media resource is preferred for handling images, but not possible when the content is already binary - e.g. XDS).
    Control10..1
    TypeBinaryResource(Binary)
    Is Modifierfalse
    Summaryfalse
    60. Bundle.entry:Documents.request
    Definition

    Additional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry.

    ShortAdditional execution information (transaction/batch/history)
    Control10..1
    This element is affected by the following invariants: bdl-3
    TypeBackboneElement
    Is Modifierfalse
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    62. Bundle.entry:Documents.request.modifierExtension
    Definition

    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).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    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.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    64. Bundle.entry:Documents.request.method
    Definition

    In a transaction or batch, this is the HTTP action to be executed for this entry. In a history bundle, this indicates the HTTP action that occurred.

    ShortGET | HEAD | POST | PUT | DELETE | PATCH
    Control1..1
    BindingThe codes SHALL be taken from HTTPVerbhttp://hl7.org/fhir/ValueSet/http-verb|4.0.1
    (required to http://hl7.org/fhir/ValueSet/http-verb|4.0.1)

    HTTP verbs (in the HTTP command line). See HTTP rfc for details.

    Typecode
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    66. Bundle.entry:Documents.request.url
    Definition

    The URL for this entry, relative to the root (the address to which the request is posted).

    ShortURL for HTTP equivalent of this entry
    Comments

    E.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT and the URL would be "Patient/[id]".

    Control1..1
    Typeuri
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    68. Bundle.entry:FhirDocuments
    Slice NameFhirDocuments
    Definition

    the FHIR-FhirDocuments referenced by the DocumentReference resources


    An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).

    Shortthe FHIR-FhirDocumentsEntry in the bundle - will have a resource or information
    Control0..*
    TypeBackboneElement
    Is Modifierfalse
    Summarytrue
    Invariantsbdl-5: must be a resource unless there's a request or response (resource.exists() or request.exists() or response.exists())
    bdl-8: fullUrl cannot be a version specific reference (fullUrl.contains('/_history/').not())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    bdl-5: must be a resource unless there's a request or response (resource.exists() or request.exists() or response.exists())
    bdl-8: fullUrl cannot be a version specific reference (fullUrl.contains('/_history/').not())
    70. Bundle.entry:FhirDocuments.modifierExtension
    Definition

    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).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    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.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    72. Bundle.entry:FhirDocuments.resource
    Definition

    A container for a collection of resources.


    The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type.

    ShortContains a collection of resourcesA resource in the bundle
    Control10..1
    TypeBundleResource(Bundle)
    Is Modifierfalse
    Summaryfalse
    74. Bundle.entry:FhirDocuments.request
    Definition

    Additional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry.

    ShortAdditional execution information (transaction/batch/history)
    Control10..1
    This element is affected by the following invariants: bdl-3
    TypeBackboneElement
    Is Modifierfalse
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    76. Bundle.entry:FhirDocuments.request.modifierExtension
    Definition

    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).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    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.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    78. Bundle.entry:FhirDocuments.request.method
    Definition

    In a transaction or batch, this is the HTTP action to be executed for this entry. In a history bundle, this indicates the HTTP action that occurred.

    ShortGET | HEAD | POST | PUT | DELETE | PATCH
    Control1..1
    BindingThe codes SHALL be taken from HTTPVerbhttp://hl7.org/fhir/ValueSet/http-verb|4.0.1
    (required to http://hl7.org/fhir/ValueSet/http-verb|4.0.1)

    HTTP verbs (in the HTTP command line). See HTTP rfc for details.

    Typecode
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Pattern ValuePOST
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    80. Bundle.entry:FhirDocuments.request.url
    Definition

    The URL for this entry, relative to the root (the address to which the request is posted).

    ShortURL for HTTP equivalent of this entry
    Comments

    E.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT and the URL would be "Patient/[id]".

    Control1..1
    Typeuri
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    82. Bundle.entry:Folders
    Slice NameFolders
    Definition

    any Folders being created or updated


    An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).

    ShortFoldersEntry in the bundle - will have a resource or information
    Control0..*
    TypeBackboneElement
    Is Modifierfalse
    Summarytrue
    Invariantsbdl-5: must be a resource unless there's a request or response (resource.exists() or request.exists() or response.exists())
    bdl-8: fullUrl cannot be a version specific reference (fullUrl.contains('/_history/').not())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    bdl-5: must be a resource unless there's a request or response (resource.exists() or request.exists() or response.exists())
    bdl-8: fullUrl cannot be a version specific reference (fullUrl.contains('/_history/').not())
    84. Bundle.entry:Folders.modifierExtension
    Definition

    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).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    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.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    86. Bundle.entry:Folders.resource
    Definition

    A list is a curated collection of resources.


    The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type.

    ShortA list is a curated collection of resourcesA resource in the bundle
    Control10..1
    TypeListResource(DDCC Folder)
    Is Modifierfalse
    Summaryfalse
    Alternate NamesCollection, WorkingList, Organizer
    88. Bundle.entry:Folders.request
    Definition

    Additional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry.

    ShortAdditional execution information (transaction/batch/history)
    Control10..1
    This element is affected by the following invariants: bdl-3
    TypeBackboneElement
    Is Modifierfalse
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    90. Bundle.entry:Folders.request.modifierExtension
    Definition

    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).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    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.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    92. Bundle.entry:Folders.request.method
    Definition

    In a transaction or batch, this is the HTTP action to be executed for this entry. In a history bundle, this indicates the HTTP action that occurred.

    ShortGET | HEAD | POST | PUT | DELETE | PATCH
    Control1..1
    BindingThe codes SHALL be taken from MHD Folder List Types ValueSethttp://hl7.org/fhir/ValueSet/http-verb|4.0.1
    (required to https://profiles.ihe.net/ITI/MHD/ValueSet/MHDprovideFolderActions)
    Typecode
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    94. Bundle.entry:Folders.request.url
    Definition

    The URL for this entry, relative to the root (the address to which the request is posted).

    ShortURL for HTTP equivalent of this entry
    Comments

    E.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT and the URL would be "Patient/[id]".

    Control1..1
    Typeuri
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    96. Bundle.entry:Patient
    Slice NamePatient
    Definition

    the Patient


    An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).

    Shortthe PatientEntry in the bundle - will have a resource or information
    Control0..1*
    TypeBackboneElement
    Is Modifierfalse
    Summarytrue
    Invariantsbdl-5: must be a resource unless there's a request or response (resource.exists() or request.exists() or response.exists())
    bdl-8: fullUrl cannot be a version specific reference (fullUrl.contains('/_history/').not())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    bdl-5: must be a resource unless there's a request or response (resource.exists() or request.exists() or response.exists())
    bdl-8: fullUrl cannot be a version specific reference (fullUrl.contains('/_history/').not())
    98. Bundle.entry:Patient.modifierExtension
    Definition

    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).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    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.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    100. Bundle.entry:Patient.resource
    Definition

    Demographics and other administrative information about an individual or animal receiving care or other health-related services.


    The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type.

    ShortInformation about an individual or animal receiving health care servicesA resource in the bundle
    Control10..1
    TypePatientResource(DDCC Patient)
    Is Modifierfalse
    Summaryfalse
    Alternate NamesSubjectOfCare Client Resident