SMART Health Cards: Vaccination & Testing Implementation Guide
1.0.0 - STU 1 International flag

SMART Health Cards: Vaccination & Testing Implementation Guide, published by HL7 International / Public Health. 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/HL7/fhir-shc-vaccination-ig/ and changes regularly. See the Directory of published versions

Resource Profile: Infectious Disease (Generic) Laboratory Test Results Bundle - Data Minimization

Official URL: http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-infectious-disease-laboratory-bundle-dm Version: 1.0.0
Standards status: Trial-use Maturity Level: 4 Computable Name: SHCInfectiousDiseaseLaboratoryBundleDM

Defines a primary (DM) profile representing a bundle of patient and generic infectious disease laboratory testing data for health cards.

See here for implementation details.

Start here!
Profile Group: Bundles

Description:

Defines the contents of the fhirBundle element in a SMART Health Card for a given use case.

Primary profile (DM) Fallback profile (AD) Scope of profile pair
Immunization Bundle Fallback Immunization for any infectious disease
COVID-19 Labs Bundle Fallback Lab results for COVID-19 only
Generic Labs Bundle Fallback Lab results for any infections disease
For more information about the types of profiles in this IG, see the profiles page.

Usages:

  • This Profile is not used by any profiles in this Implementation Guide

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
... 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 2..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Closed by type: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
..... fullUrl SΣ 1..1 uri Locally unique identifier like resource:0
..... resource SΣ 0..1 Resource A resource in the bundle
.... entry:patient SΣC 1..1 BackboneElement Patient
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
..... fullUrl SΣC 1..1 uri Locally unique identifier like resource:0
Constraints: vc-shall-be-resource-uri
..... resource S 1..1 SHCPatientGeneralDM Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test
.... entry:labResult SΣC 1..* BackboneElement Laboratory result
Constraints: bdl-5, bdl-8, vc-bundle-lab-status-complete
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
..... fullUrl SΣC 1..1 uri Locally unique identifier like resource:0
Constraints: vc-shall-be-resource-uri
..... resource S 1..1 SHCInfectiousDiseaseLaboratoryResultObservationDM Measurements and simple assertions

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Bundle.type Base required BundleType 📍4.0.1 FHIR Std.
Bundle.entry.request.​method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:patient.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:labResult.​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:labResult 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:labResult 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()
vc-bundle-lab-status-complete error Bundle.entry:labResult Bundle SHALL only include results with status final or status that is subsequent to final. $this.resource.ofType(Observation).status.lower() in ('final'|'amended'|'corrected')
vc-shall-be-resource-uri error Bundle.entry:patient.fullUrl, Bundle.entry:labResult.fullUrl IDs SHALL use resource:# format $this.matches('^resource:[0-9]+$')

This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle 0..* Bundle Contains a collection of resources
... id C 0..0 Should be omitted
Constraints: vc-should-be-omitted
... meta 0..0 Metadata about the resource
... implicitRules 0..0 A set of rules under which this content was created
... identifier 0..0 Persistent identifier for the bundle
... type S 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Fixed Value: collection
... timestamp 0..0 When the bundle was assembled
... total 0..0 If search, the total number of matches
... link 0..0 Links related to this Bundle
... Slices for entry S 2..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Closed by type:resource
.... entry:All Slices Content/Rules for all slices
..... id 0..0 Should not be populated
..... extension 0..0 Extension
..... modifierExtension 0..0 Extension
..... link 0..0 Links related to this entry
..... fullUrl S 1..1 uri Locally unique identifier like resource:0
..... resource S 0..1 Resource A resource in the bundle
..... search 0..0 Search related information
..... request 0..0 Additional execution information (transaction/batch/history)
..... response 0..0 Results of execution (transaction/batch/history)
.... entry:patient S 1..1 BackboneElement Patient
..... id 0..0 Should not be populated
..... extension 0..0 Extension
..... modifierExtension 0..0 Extension
..... link 0..0 Links related to this entry
..... fullUrl SC 1..1 uri Locally unique identifier like resource:0
Constraints: vc-shall-be-resource-uri
..... resource 1..1 SHCPatientGeneralDM Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test
..... search 0..0 Search related information
..... request 0..0 Additional execution information (transaction/batch/history)
..... response 0..0 Results of execution (transaction/batch/history)
.... entry:labResult SC 1..* BackboneElement Laboratory result
Constraints: vc-bundle-lab-status-complete
..... id 0..0 Should not be populated
..... extension 0..0 Extension
..... modifierExtension 0..0 Extension
..... link 0..0 Links related to this entry
..... fullUrl SC 1..1 uri Locally unique identifier like resource:0
Constraints: vc-shall-be-resource-uri
..... resource 1..1 SHCInfectiousDiseaseLaboratoryResultObservationDM Measurements and simple assertions
..... search 0..0 Search related information
..... request 0..0 Additional execution information (transaction/batch/history)
..... response 0..0 Results of execution (transaction/batch/history)
... signature 0..0 Digital Signature

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
vc-bundle-lab-status-complete error Bundle.entry:labResult Bundle SHALL only include results with status final or status that is subsequent to final. $this.resource.ofType(Observation).status.lower() in ('final'|'amended'|'corrected')
vc-shall-be-resource-uri error Bundle.entry:patient.fullUrl, Bundle.entry:labResult.fullUrl IDs SHALL use resource:# format $this.matches('^resource:[0-9]+$')
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
... 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 2..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Closed by type: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
..... fullUrl SΣ 1..1 uri Locally unique identifier like resource:0
..... resource SΣ 0..1 Resource A resource in the bundle
.... entry:patient SΣC 1..1 BackboneElement Patient
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
..... fullUrl SΣC 1..1 uri Locally unique identifier like resource:0
Constraints: vc-shall-be-resource-uri
..... resource S 1..1 SHCPatientGeneralDM Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test
.... entry:labResult SΣC 1..* BackboneElement Laboratory result
Constraints: bdl-5, bdl-8, vc-bundle-lab-status-complete
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
..... fullUrl SΣC 1..1 uri Locally unique identifier like resource:0
Constraints: vc-shall-be-resource-uri
..... resource S 1..1 SHCInfectiousDiseaseLaboratoryResultObservationDM Measurements and simple assertions

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
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:labResult.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:labResult.​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:labResult 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:labResult 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()
vc-bundle-lab-status-complete error Bundle.entry:labResult Bundle SHALL only include results with status final or status that is subsequent to final. $this.resource.ofType(Observation).status.lower() in ('final'|'amended'|'corrected')
vc-shall-be-resource-uri error Bundle.entry:patient.fullUrl, Bundle.entry:labResult.fullUrl IDs SHALL use resource:# format $this.matches('^resource:[0-9]+$')

This structure is derived from Bundle

Summary

Mandatory: 7 elements
Must-Support: 8 elements
Fixed: 1 element
Prohibited: 30 elements

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 (Closed)

Maturity: 4

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
... 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 2..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Closed by type: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
..... fullUrl SΣ 1..1 uri Locally unique identifier like resource:0
..... resource SΣ 0..1 Resource A resource in the bundle
.... entry:patient SΣC 1..1 BackboneElement Patient
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
..... fullUrl SΣC 1..1 uri Locally unique identifier like resource:0
Constraints: vc-shall-be-resource-uri
..... resource S 1..1 SHCPatientGeneralDM Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test
.... entry:labResult SΣC 1..* BackboneElement Laboratory result
Constraints: bdl-5, bdl-8, vc-bundle-lab-status-complete
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
..... fullUrl SΣC 1..1 uri Locally unique identifier like resource:0
Constraints: vc-shall-be-resource-uri
..... resource S 1..1 SHCInfectiousDiseaseLaboratoryResultObservationDM Measurements and simple assertions

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Bundle.type Base required BundleType 📍4.0.1 FHIR Std.
Bundle.entry.request.​method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:patient.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:labResult.​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:labResult 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:labResult 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()
vc-bundle-lab-status-complete error Bundle.entry:labResult Bundle SHALL only include results with status final or status that is subsequent to final. $this.resource.ofType(Observation).status.lower() in ('final'|'amended'|'corrected')
vc-shall-be-resource-uri error Bundle.entry:patient.fullUrl, Bundle.entry:labResult.fullUrl IDs SHALL use resource:# format $this.matches('^resource:[0-9]+$')

Differential View

This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle 0..* Bundle Contains a collection of resources
... id C 0..0 Should be omitted
Constraints: vc-should-be-omitted
... meta 0..0 Metadata about the resource
... implicitRules 0..0 A set of rules under which this content was created
... identifier 0..0 Persistent identifier for the bundle
... type S 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Fixed Value: collection
... timestamp 0..0 When the bundle was assembled
... total 0..0 If search, the total number of matches
... link 0..0 Links related to this Bundle
... Slices for entry S 2..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Closed by type:resource
.... entry:All Slices Content/Rules for all slices
..... id 0..0 Should not be populated
..... extension 0..0 Extension
..... modifierExtension 0..0 Extension
..... link 0..0 Links related to this entry
..... fullUrl S 1..1 uri Locally unique identifier like resource:0
..... resource S 0..1 Resource A resource in the bundle
..... search 0..0 Search related information
..... request 0..0 Additional execution information (transaction/batch/history)
..... response 0..0 Results of execution (transaction/batch/history)
.... entry:patient S 1..1 BackboneElement Patient
..... id 0..0 Should not be populated
..... extension 0..0 Extension
..... modifierExtension 0..0 Extension
..... link 0..0 Links related to this entry
..... fullUrl SC 1..1 uri Locally unique identifier like resource:0
Constraints: vc-shall-be-resource-uri
..... resource 1..1 SHCPatientGeneralDM Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test
..... search 0..0 Search related information
..... request 0..0 Additional execution information (transaction/batch/history)
..... response 0..0 Results of execution (transaction/batch/history)
.... entry:labResult SC 1..* BackboneElement Laboratory result
Constraints: vc-bundle-lab-status-complete
..... id 0..0 Should not be populated
..... extension 0..0 Extension
..... modifierExtension 0..0 Extension
..... link 0..0 Links related to this entry
..... fullUrl SC 1..1 uri Locally unique identifier like resource:0
Constraints: vc-shall-be-resource-uri
..... resource 1..1 SHCInfectiousDiseaseLaboratoryResultObservationDM Measurements and simple assertions
..... search 0..0 Search related information
..... request 0..0 Additional execution information (transaction/batch/history)
..... response 0..0 Results of execution (transaction/batch/history)
... signature 0..0 Digital Signature

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
vc-bundle-lab-status-complete error Bundle.entry:labResult Bundle SHALL only include results with status final or status that is subsequent to final. $this.resource.ofType(Observation).status.lower() in ('final'|'amended'|'corrected')
vc-shall-be-resource-uri error Bundle.entry:patient.fullUrl, Bundle.entry:labResult.fullUrl IDs SHALL use resource:# format $this.matches('^resource:[0-9]+$')

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
... 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 2..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Closed by type: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
..... fullUrl SΣ 1..1 uri Locally unique identifier like resource:0
..... resource SΣ 0..1 Resource A resource in the bundle
.... entry:patient SΣC 1..1 BackboneElement Patient
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
..... fullUrl SΣC 1..1 uri Locally unique identifier like resource:0
Constraints: vc-shall-be-resource-uri
..... resource S 1..1 SHCPatientGeneralDM Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test
.... entry:labResult SΣC 1..* BackboneElement Laboratory result
Constraints: bdl-5, bdl-8, vc-bundle-lab-status-complete
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
..... fullUrl SΣC 1..1 uri Locally unique identifier like resource:0
Constraints: vc-shall-be-resource-uri
..... resource S 1..1 SHCInfectiousDiseaseLaboratoryResultObservationDM Measurements and simple assertions

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
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:labResult.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:labResult.​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:labResult 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:labResult 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()
vc-bundle-lab-status-complete error Bundle.entry:labResult Bundle SHALL only include results with status final or status that is subsequent to final. $this.resource.ofType(Observation).status.lower() in ('final'|'amended'|'corrected')
vc-shall-be-resource-uri error Bundle.entry:patient.fullUrl, Bundle.entry:labResult.fullUrl IDs SHALL use resource:# format $this.matches('^resource:[0-9]+$')

This structure is derived from Bundle

Summary

Mandatory: 7 elements
Must-Support: 8 elements
Fixed: 1 element
Prohibited: 30 elements

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 (Closed)

Maturity: 4

 

Other representations of profile: CSV, Excel, Schematron