DHIN 2025Connectathon FHIR IG
0.1.0 - draft

DHIN 2025Connectathon FHIR IG, published by DHIN. 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/Nigeria-FHIR-Community/2025Connectathon/ and changes regularly. See the Directory of published versions

Resource Profile: 3-NG Immunization Client Registration Bundle

Official URL: https://sandbox.dhin-hie.org/ig/StructureDefinition/ng-client-registration-bundle Version: 0.1.0
Draft as of 2025-10-02 Computable Name: NgClientRegistrationBundle

A simple collection Bundle for registering an immunization client. Requires exactly one NgPatient and optionally includes the registering NgOrganization. Designed for low-QA use in DHIN 2025 Connectathon.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Contains a collection of resources
Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... type SΣ 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.
Fixed Value: collection
... Slices for entry SΣC 1..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by profile:resource
Constraints: bdl-5, bdl-8
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
.... entry:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... fullUrl SΣ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource SΣ 1..1 Resource A resource in the bundle
.... entry:patient SΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
Constraints: bdl-5, bdl-8
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... fullUrl SΣ 1..1 uri Prefer URN UUID for intra-bundle references
..... resource S 1..1 NgPatient Information about an individual or animal receiving health care services
.... entry:organization SΣC 0..1 BackboneElement Entry in the bundle - will have a resource or information
Constraints: bdl-5, bdl-8
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... fullUrl SΣ 1..1 uri Prefer URN UUID for intra-bundle references
..... resource S 1..1 NgOrganization A grouping of people or organizations with a common purpose

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Bundle.type Base required BundleType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
bdl-1 error Bundle total only when a search or history total.empty() or (type = 'searchset') or (type = 'history')
bdl-2 error Bundle entry.search only when a search entry.search.empty() or (type = 'searchset')
bdl-3 error Bundle 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 error Bundle 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-5 error Bundle.entry, Bundle.entry:patient, Bundle.entry:organization must be a resource unless there's a request or response resource.exists() or request.exists() or response.exists()
bdl-7 error Bundle 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-8 error Bundle.entry, Bundle.entry:patient, Bundle.entry:organization fullUrl cannot be a version specific reference fullUrl.contains('/_history/').not()
bdl-9 error Bundle A document must have an identifier with a system and a value type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10 error Bundle A document must have a date type = 'document' implies (timestamp.hasValue())
bdl-11 error Bundle A document must have a Composition as the first resource type = 'document' implies entry.first().resource.is(Composition)
bdl-12 error Bundle A message must have a MessageHeader as the first resource type = 'message' implies entry.first().resource.is(MessageHeader)
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle 0..* Bundle Contains a collection of resources
... type S 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Fixed Value: collection
... Slices for entry S 1..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by profile:resource
.... entry:All Slices Content/Rules for all slices
..... fullUrl S 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource S 1..1 Resource A resource in the bundle
.... entry:patient S 1..1 BackboneElement Entry in the bundle - will have a resource or information
..... fullUrl 1..1 uri Prefer URN UUID for intra-bundle references
..... resource 1..1 NgPatient Information about an individual or animal receiving health care services
.... entry:organization S 0..1 BackboneElement Entry in the bundle - will have a resource or information
..... fullUrl 1..1 uri Prefer URN UUID for intra-bundle references
..... resource 1..1 NgOrganization A grouping of people or organizations with a common purpose

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Contains a collection of resources
Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12
... 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
... identifier Σ 0..1 Identifier Persistent identifier for the bundle
... type SΣ 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.
Fixed Value: collection
... timestamp Σ 0..1 instant When the bundle was assembled
... total ΣC 0..1 unsignedInt If search, the total number of matches
... link Σ 0..* BackboneElement Links related to this Bundle
.... 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
.... relation Σ 1..1 string See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
.... url Σ 1..1 uri Reference details for the link
... Slices for entry SΣC 1..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by profile:resource
Constraints: bdl-5, bdl-8
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
.... entry:All Slices Content/Rules for all slices
..... 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
..... link Σ 0..* See link (Bundle) Links related to this entry
..... fullUrl SΣ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource SΣ 1..1 Resource A resource in the bundle
..... search ΣC 0..1 BackboneElement Search related information
...... 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
...... mode Σ 0..1 code match | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
...... score Σ 0..1 decimal Search ranking (between 0 and 1)
..... request ΣC 0..1 BackboneElement Additional execution information (transaction/batch/history)
...... 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
...... method Σ 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
...... ifNoneMatch Σ 0..1 string For managing cache currency
...... ifModifiedSince Σ 0..1 instant For managing cache currency
...... ifMatch Σ 0..1 string For managing update contention
...... ifNoneExist Σ 0..1 string For conditional creates
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... 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
...... status Σ 1..1 string Status response code (text optional)
...... location Σ 0..1 uri The location (if the operation returns a location)
...... etag Σ 0..1 string The Etag for the resource (if relevant)
...... lastModified Σ 0..1 instant Server's date time modified
...... outcome Σ 0..1 Resource OperationOutcome with hints and warnings (for batch/transaction)
.... entry:patient SΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
Constraints: bdl-5, bdl-8
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... 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
..... link Σ 0..* See link (Bundle) Links related to this entry
..... fullUrl SΣ 1..1 uri Prefer URN UUID for intra-bundle references
..... resource S 1..1 NgPatient Information about an individual or animal receiving health care services
..... search ΣC 0..1 BackboneElement Search related information
...... 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
...... mode Σ 0..1 code match | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
...... score Σ 0..1 decimal Search ranking (between 0 and 1)
..... request ΣC 0..1 BackboneElement Additional execution information (transaction/batch/history)
...... 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
...... method Σ 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
...... ifNoneMatch Σ 0..1 string For managing cache currency
...... ifModifiedSince Σ 0..1 instant For managing cache currency
...... ifMatch Σ 0..1 string For managing update contention
...... ifNoneExist Σ 0..1 string For conditional creates
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... 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
...... status Σ 1..1 string Status response code (text optional)
...... location Σ 0..1 uri The location (if the operation returns a location)
...... etag Σ 0..1 string The Etag for the resource (if relevant)
...... lastModified Σ 0..1 instant Server's date time modified
...... outcome Σ 0..1 Resource OperationOutcome with hints and warnings (for batch/transaction)
.... entry:organization SΣC 0..1 BackboneElement Entry in the bundle - will have a resource or information
Constraints: bdl-5, bdl-8
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... 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
..... link Σ 0..* See link (Bundle) Links related to this entry
..... fullUrl SΣ 1..1 uri Prefer URN UUID for intra-bundle references
..... resource S 1..1 NgOrganization A grouping of people or organizations with a common purpose
..... search ΣC 0..1 BackboneElement Search related information
...... 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
...... mode Σ 0..1 code match | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
...... score Σ 0..1 decimal Search ranking (between 0 and 1)
..... request ΣC 0..1 BackboneElement Additional execution information (transaction/batch/history)
...... 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
...... method Σ 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
...... ifNoneMatch Σ 0..1 string For managing cache currency
...... ifModifiedSince Σ 0..1 instant For managing cache currency
...... ifMatch Σ 0..1 string For managing update contention
...... ifNoneExist Σ 0..1 string For conditional creates
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... 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
...... status Σ 1..1 string Status response code (text optional)
...... location Σ 0..1 uri The location (if the operation returns a location)
...... etag Σ 0..1 string The Etag for the resource (if relevant)
...... lastModified Σ 0..1 instant Server's date time modified
...... outcome Σ 0..1 Resource OperationOutcome with hints and warnings (for batch/transaction)
... signature Σ 0..1 Signature Digital Signature

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Bundle.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Bundle.type Base required BundleType 📍4.0.1 FHIR Std.
Bundle.entry.search.​mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry.request.​method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:patient.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:patient.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:organization.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:organization.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
bdl-1 error Bundle total only when a search or history total.empty() or (type = 'searchset') or (type = 'history')
bdl-2 error Bundle entry.search only when a search entry.search.empty() or (type = 'searchset')
bdl-3 error Bundle 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 error Bundle 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-5 error Bundle.entry, Bundle.entry:patient, Bundle.entry:organization must be a resource unless there's a request or response resource.exists() or request.exists() or response.exists()
bdl-7 error Bundle 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-8 error Bundle.entry, Bundle.entry:patient, Bundle.entry:organization fullUrl cannot be a version specific reference fullUrl.contains('/_history/').not()
bdl-9 error Bundle A document must have an identifier with a system and a value type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10 error Bundle A document must have a date type = 'document' implies (timestamp.hasValue())
bdl-11 error Bundle A document must have a Composition as the first resource type = 'document' implies entry.first().resource.is(Composition)
bdl-12 error Bundle A message must have a MessageHeader as the first resource type = 'message' implies entry.first().resource.is(MessageHeader)
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Bundle

Summary

Mandatory: 4 elements
Must-Support: 6 elements
Fixed: 1 element

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Bundle.entry

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Contains a collection of resources
Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... type SΣ 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.
Fixed Value: collection
... Slices for entry SΣC 1..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by profile:resource
Constraints: bdl-5, bdl-8
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
.... entry:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... fullUrl SΣ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource SΣ 1..1 Resource A resource in the bundle
.... entry:patient SΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
Constraints: bdl-5, bdl-8
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... fullUrl SΣ 1..1 uri Prefer URN UUID for intra-bundle references
..... resource S 1..1 NgPatient Information about an individual or animal receiving health care services
.... entry:organization SΣC 0..1 BackboneElement Entry in the bundle - will have a resource or information
Constraints: bdl-5, bdl-8
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... fullUrl SΣ 1..1 uri Prefer URN UUID for intra-bundle references
..... resource S 1..1 NgOrganization A grouping of people or organizations with a common purpose

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Bundle.type Base required BundleType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
bdl-1 error Bundle total only when a search or history total.empty() or (type = 'searchset') or (type = 'history')
bdl-2 error Bundle entry.search only when a search entry.search.empty() or (type = 'searchset')
bdl-3 error Bundle 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 error Bundle 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-5 error Bundle.entry, Bundle.entry:patient, Bundle.entry:organization must be a resource unless there's a request or response resource.exists() or request.exists() or response.exists()
bdl-7 error Bundle 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-8 error Bundle.entry, Bundle.entry:patient, Bundle.entry:organization fullUrl cannot be a version specific reference fullUrl.contains('/_history/').not()
bdl-9 error Bundle A document must have an identifier with a system and a value type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10 error Bundle A document must have a date type = 'document' implies (timestamp.hasValue())
bdl-11 error Bundle A document must have a Composition as the first resource type = 'document' implies entry.first().resource.is(Composition)
bdl-12 error Bundle A message must have a MessageHeader as the first resource type = 'message' implies entry.first().resource.is(MessageHeader)
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle 0..* Bundle Contains a collection of resources
... type S 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Fixed Value: collection
... Slices for entry S 1..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by profile:resource
.... entry:All Slices Content/Rules for all slices
..... fullUrl S 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource S 1..1 Resource A resource in the bundle
.... entry:patient S 1..1 BackboneElement Entry in the bundle - will have a resource or information
..... fullUrl 1..1 uri Prefer URN UUID for intra-bundle references
..... resource 1..1 NgPatient Information about an individual or animal receiving health care services
.... entry:organization S 0..1 BackboneElement Entry in the bundle - will have a resource or information
..... fullUrl 1..1 uri Prefer URN UUID for intra-bundle references
..... resource 1..1 NgOrganization A grouping of people or organizations with a common purpose

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Contains a collection of resources
Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12
... 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
... identifier Σ 0..1 Identifier Persistent identifier for the bundle
... type SΣ 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.
Fixed Value: collection
... timestamp Σ 0..1 instant When the bundle was assembled
... total ΣC 0..1 unsignedInt If search, the total number of matches
... link Σ 0..* BackboneElement Links related to this Bundle
.... 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
.... relation Σ 1..1 string See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
.... url Σ 1..1 uri Reference details for the link
... Slices for entry SΣC 1..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by profile:resource
Constraints: bdl-5, bdl-8
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
.... entry:All Slices Content/Rules for all slices
..... 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
..... link Σ 0..* See link (Bundle) Links related to this entry
..... fullUrl SΣ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource SΣ 1..1 Resource A resource in the bundle
..... search ΣC 0..1 BackboneElement Search related information
...... 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
...... mode Σ 0..1 code match | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
...... score Σ 0..1 decimal Search ranking (between 0 and 1)
..... request ΣC 0..1 BackboneElement Additional execution information (transaction/batch/history)
...... 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
...... method Σ 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
...... ifNoneMatch Σ 0..1 string For managing cache currency
...... ifModifiedSince Σ 0..1 instant For managing cache currency
...... ifMatch Σ 0..1 string For managing update contention
...... ifNoneExist Σ 0..1 string For conditional creates
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... 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
...... status Σ 1..1 string Status response code (text optional)
...... location Σ 0..1 uri The location (if the operation returns a location)
...... etag Σ 0..1 string The Etag for the resource (if relevant)
...... lastModified Σ 0..1 instant Server's date time modified
...... outcome Σ 0..1 Resource OperationOutcome with hints and warnings (for batch/transaction)
.... entry:patient SΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
Constraints: bdl-5, bdl-8
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... 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
..... link Σ 0..* See link (Bundle) Links related to this entry
..... fullUrl SΣ 1..1 uri Prefer URN UUID for intra-bundle references
..... resource S 1..1 NgPatient Information about an individual or animal receiving health care services
..... search ΣC 0..1 BackboneElement Search related information
...... 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
...... mode Σ 0..1 code match | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
...... score Σ 0..1 decimal Search ranking (between 0 and 1)
..... request ΣC 0..1 BackboneElement Additional execution information (transaction/batch/history)
...... 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
...... method Σ 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
...... ifNoneMatch Σ 0..1 string For managing cache currency
...... ifModifiedSince Σ 0..1 instant For managing cache currency
...... ifMatch Σ 0..1 string For managing update contention
...... ifNoneExist Σ 0..1 string For conditional creates
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... 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
...... status Σ 1..1 string Status response code (text optional)
...... location Σ 0..1 uri The location (if the operation returns a location)
...... etag Σ 0..1 string The Etag for the resource (if relevant)
...... lastModified Σ 0..1 instant Server's date time modified
...... outcome Σ 0..1 Resource OperationOutcome with hints and warnings (for batch/transaction)
.... entry:organization SΣC 0..1 BackboneElement Entry in the bundle - will have a resource or information
Constraints: bdl-5, bdl-8
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... 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
..... link Σ 0..* See link (Bundle) Links related to this entry
..... fullUrl SΣ 1..1 uri Prefer URN UUID for intra-bundle references
..... resource S 1..1 NgOrganization A grouping of people or organizations with a common purpose
..... search ΣC 0..1 BackboneElement Search related information
...... 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
...... mode Σ 0..1 code match | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
...... score Σ 0..1 decimal Search ranking (between 0 and 1)
..... request ΣC 0..1 BackboneElement Additional execution information (transaction/batch/history)
...... 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
...... method Σ 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
...... ifNoneMatch Σ 0..1 string For managing cache currency
...... ifModifiedSince Σ 0..1 instant For managing cache currency
...... ifMatch Σ 0..1 string For managing update contention
...... ifNoneExist Σ 0..1 string For conditional creates
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... 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
...... status Σ 1..1 string Status response code (text optional)
...... location Σ 0..1 uri The location (if the operation returns a location)
...... etag Σ 0..1 string The Etag for the resource (if relevant)
...... lastModified Σ 0..1 instant Server's date time modified
...... outcome Σ 0..1 Resource OperationOutcome with hints and warnings (for batch/transaction)
... signature Σ 0..1 Signature Digital Signature

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Bundle.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Bundle.type Base required BundleType 📍4.0.1 FHIR Std.
Bundle.entry.search.​mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry.request.​method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:patient.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:patient.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:organization.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:organization.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
bdl-1 error Bundle total only when a search or history total.empty() or (type = 'searchset') or (type = 'history')
bdl-2 error Bundle entry.search only when a search entry.search.empty() or (type = 'searchset')
bdl-3 error Bundle 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 error Bundle 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-5 error Bundle.entry, Bundle.entry:patient, Bundle.entry:organization must be a resource unless there's a request or response resource.exists() or request.exists() or response.exists()
bdl-7 error Bundle 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-8 error Bundle.entry, Bundle.entry:patient, Bundle.entry:organization fullUrl cannot be a version specific reference fullUrl.contains('/_history/').not()
bdl-9 error Bundle A document must have an identifier with a system and a value type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10 error Bundle A document must have a date type = 'document' implies (timestamp.hasValue())
bdl-11 error Bundle A document must have a Composition as the first resource type = 'document' implies entry.first().resource.is(Composition)
bdl-12 error Bundle A message must have a MessageHeader as the first resource type = 'message' implies entry.first().resource.is(MessageHeader)
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Bundle

Summary

Mandatory: 4 elements
Must-Support: 6 elements
Fixed: 1 element

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Bundle.entry

 

Other representations of profile: CSV, Excel, Schematron