Specification of health data transfer from devices to DiGA (§ 374a SGB V)
| Official URL: https://gematik.de/fhir/hddt/StructureDefinition/hddt-cgm-summary | Version: 0.1.0 | |||
| Draft as of 2025-10-27 | Computable Name: HddtCgmSummary | |||
Copyright/Legal: Copyright (c) 2025 gematik GmbH |
||||
This profile defines the exchange of aggregated measurement data for the Mandatory Interoperable Value (MIV) "Continuous Glucose Measurement". By this it provides a patient’s glucose profile for a defined period. The MIV "Continuous Glucose Measurement" is e.g. implemented by real-time Continuous Glocose Monitoring devices (rtCGM) and Automated Insulin Delivery systems (AID) that control an insulin pump from rtCGM data. Future non-invasive measuring methods will expectedly be linked with this MIV and therefore use this profile for sharing aggregated glucose profile data with DiGA, too.
This profile constrains the FHIR Bundle resource for use as the result container of the $hddt-cgm-summary operation.
The operation requests a patient’s glucose profile. The glucose profile is calculated form continuous glucose measurement data
and consists of the machine-readable parts of the HL7 CGM summary profile.
The Bundle is of type collection and MUST contain only resources of the following types:
HddtPersonalHealthDevice to provide context about the actual Personal Health Device device used.The purpose of this Bundle profile is to provide a consistent structure for server responses when clients query for CGM data with aggregation logic.
It ensures interoperability across different implementations by defining a predictable response format.
This supports use cases such as:
Constraints applied:
Bundle.type is fixed to collection.Bundle.entry.resource is restricted to CGM Observation profiles and HddtPersonalHealthDevice. No other resource types are allowed in the Bundle.Bundle.entry is set as mandatory. A requests for a CGM summary that would result in an empty bundle, MUST give an OperationOutcome with an error or warning message as its response. Therefore there is no scenario where an empty bundle would be shared with a DiGA.Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
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 |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
Σ | 1..1 | code | The bundle is always a collection of CGM summary Observations and optionally related Device and DeviceMetric resources returned by the $hddt-cgm-summary operation. Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Fixed Value: collection |
![]() ![]() |
ΣC | 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 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
Σ | 0..1 | Observations with their related Device and DeviceMetric information | |
![]() ![]() ![]() ![]() |
Observation(CGMSummaryObservation | CGMSummaryMeanGlucoseMassPerVolume | CGMSummaryMeanGlucoseMolesPerVolume | CGMSummaryTimesInRanges | CGMSummaryGMI | CGMSummaryCoefficientOfVariation | CGMSummaryDaysOfWear | CGMSummarySensorActivePercentage) | |||
![]() ![]() ![]() ![]() |
Device(HddtPersonalHealthDevice) | |||
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Bundle.type | Base | required | BundleType | 📍4.0.1 | FHIR Std. |
| 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 | 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 | 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
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Bundle | Contains a collection of resources | |
![]() ![]() |
1..1 | code | The bundle is always a collection of CGM summary Observations and optionally related Device and DeviceMetric resources returned by the $hddt-cgm-summary operation. Fixed Value: collection | |
![]() ![]() |
1..* | BackboneElement | Entry in the bundle - will have a resource or information | |
![]() ![]() ![]() |
0..1 | Observations with their related Device and DeviceMetric information | ||
![]() ![]() ![]() ![]() |
Observation(CGMSummaryObservation | CGMSummaryMeanGlucoseMassPerVolume | CGMSummaryMeanGlucoseMolesPerVolume | CGMSummaryTimesInRanges | CGMSummaryGMI | CGMSummaryCoefficientOfVariation | CGMSummaryDaysOfWear | CGMSummarySensorActivePercentage) | |||
![]() ![]() ![]() ![]() |
Device(HddtPersonalHealthDevice) | |||
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
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 | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
Σ | 0..1 | Identifier | Persistent identifier for the bundle | ||||
![]() ![]() |
Σ | 1..1 | code | The bundle is always a collection of CGM summary Observations and optionally related Device and DeviceMetric resources returned by the $hddt-cgm-summary operation. Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Fixed Value: collection | ||||
![]() ![]() |
Σ | 0..1 | instant | When the bundle was assembled | ||||
![]() ![]() |
ΣC | 0..1 | unsignedInt | If search, the total number of matches | ||||
![]() ![]() |
Σ | 0..* | BackboneElement | Links related to this Bundle | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 1..1 | string | See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1 | ||||
![]() ![]() ![]() |
Σ | 1..1 | uri | Reference details for the link | ||||
![]() ![]() |
ΣC | 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 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..* | See link (Bundle) | Links related to this entry | ||||
![]() ![]() ![]() |
Σ | 0..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() |
Σ | 0..1 | Observations with their related Device and DeviceMetric information | |||||
![]() ![]() ![]() ![]() |
Observation(CGMSummaryObservation | CGMSummaryMeanGlucoseMassPerVolume | CGMSummaryMeanGlucoseMolesPerVolume | CGMSummaryTimesInRanges | CGMSummaryGMI | CGMSummaryCoefficientOfVariation | CGMSummaryDaysOfWear | CGMSummarySensorActivePercentage) | |||||||
![]() ![]() ![]() ![]() |
Device(HddtPersonalHealthDevice) | |||||||
![]() ![]() ![]() |
ΣC | 0..1 | BackboneElement | Search related information | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 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. | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | decimal | Search ranking (between 0 and 1) | ||||
![]() ![]() ![]() |
ΣC | 0..1 | BackboneElement | Additional execution information (transaction/batch/history) | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details. | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URL for HTTP equivalent of this entry | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | For managing cache currency | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | instant | For managing cache currency | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | For managing update contention | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | For conditional creates | ||||
![]() ![]() ![]() |
ΣC | 0..1 | BackboneElement | Results of execution (transaction/batch/history) | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Status response code (text optional) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | uri | The location (if the operation returns a location) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | The Etag for the resource (if relevant) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | instant | Server's date time modified | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Resource | OperationOutcome with hints and warnings (for batch/transaction) | ||||
![]() ![]() |
Σ | 0..1 | Signature | Digital Signature | ||||
Documentation for this format | ||||||||
| 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. |
| 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 | 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 | 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: 1 element
Fixed: 1 element
Structures
This structure refers to these other structures:
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
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 |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
Σ | 1..1 | code | The bundle is always a collection of CGM summary Observations and optionally related Device and DeviceMetric resources returned by the $hddt-cgm-summary operation. Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Fixed Value: collection |
![]() ![]() |
ΣC | 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 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
Σ | 0..1 | Observations with their related Device and DeviceMetric information | |
![]() ![]() ![]() ![]() |
Observation(CGMSummaryObservation | CGMSummaryMeanGlucoseMassPerVolume | CGMSummaryMeanGlucoseMolesPerVolume | CGMSummaryTimesInRanges | CGMSummaryGMI | CGMSummaryCoefficientOfVariation | CGMSummaryDaysOfWear | CGMSummarySensorActivePercentage) | |||
![]() ![]() ![]() ![]() |
Device(HddtPersonalHealthDevice) | |||
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Bundle.type | Base | required | BundleType | 📍4.0.1 | FHIR Std. |
| 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 | 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 | 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
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Bundle | Contains a collection of resources | |
![]() ![]() |
1..1 | code | The bundle is always a collection of CGM summary Observations and optionally related Device and DeviceMetric resources returned by the $hddt-cgm-summary operation. Fixed Value: collection | |
![]() ![]() |
1..* | BackboneElement | Entry in the bundle - will have a resource or information | |
![]() ![]() ![]() |
0..1 | Observations with their related Device and DeviceMetric information | ||
![]() ![]() ![]() ![]() |
Observation(CGMSummaryObservation | CGMSummaryMeanGlucoseMassPerVolume | CGMSummaryMeanGlucoseMolesPerVolume | CGMSummaryTimesInRanges | CGMSummaryGMI | CGMSummaryCoefficientOfVariation | CGMSummaryDaysOfWear | CGMSummarySensorActivePercentage) | |||
![]() ![]() ![]() ![]() |
Device(HddtPersonalHealthDevice) | |||
Documentation for this format | ||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
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 | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
Σ | 0..1 | Identifier | Persistent identifier for the bundle | ||||
![]() ![]() |
Σ | 1..1 | code | The bundle is always a collection of CGM summary Observations and optionally related Device and DeviceMetric resources returned by the $hddt-cgm-summary operation. Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Fixed Value: collection | ||||
![]() ![]() |
Σ | 0..1 | instant | When the bundle was assembled | ||||
![]() ![]() |
ΣC | 0..1 | unsignedInt | If search, the total number of matches | ||||
![]() ![]() |
Σ | 0..* | BackboneElement | Links related to this Bundle | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 1..1 | string | See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1 | ||||
![]() ![]() ![]() |
Σ | 1..1 | uri | Reference details for the link | ||||
![]() ![]() |
ΣC | 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 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..* | See link (Bundle) | Links related to this entry | ||||
![]() ![]() ![]() |
Σ | 0..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() |
Σ | 0..1 | Observations with their related Device and DeviceMetric information | |||||
![]() ![]() ![]() ![]() |
Observation(CGMSummaryObservation | CGMSummaryMeanGlucoseMassPerVolume | CGMSummaryMeanGlucoseMolesPerVolume | CGMSummaryTimesInRanges | CGMSummaryGMI | CGMSummaryCoefficientOfVariation | CGMSummaryDaysOfWear | CGMSummarySensorActivePercentage) | |||||||
![]() ![]() ![]() ![]() |
Device(HddtPersonalHealthDevice) | |||||||
![]() ![]() ![]() |
ΣC | 0..1 | BackboneElement | Search related information | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 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. | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | decimal | Search ranking (between 0 and 1) | ||||
![]() ![]() ![]() |
ΣC | 0..1 | BackboneElement | Additional execution information (transaction/batch/history) | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details. | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URL for HTTP equivalent of this entry | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | For managing cache currency | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | instant | For managing cache currency | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | For managing update contention | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | For conditional creates | ||||
![]() ![]() ![]() |
ΣC | 0..1 | BackboneElement | Results of execution (transaction/batch/history) | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Status response code (text optional) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | uri | The location (if the operation returns a location) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | The Etag for the resource (if relevant) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | instant | Server's date time modified | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Resource | OperationOutcome with hints and warnings (for batch/transaction) | ||||
![]() ![]() |
Σ | 0..1 | Signature | Digital Signature | ||||
Documentation for this format | ||||||||
| 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. |
| 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 | 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 | 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: 1 element
Fixed: 1 element
Structures
This structure refers to these other structures:
Other representations of profile: CSV, Excel, Schematron