HL7 Europe Laboratory Report
0.2.0-ci - ci-build 150

HL7 Europe Laboratory Report, published by HL7 Europe. This guide is not an authorized publication; it is the continuous build for version 0.2.0-ci built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7-eu/laboratory/ and changes regularly. See the Directory of published versions

Resource Profile: Bundle: Laboratory Report

Official URL: http://hl7.eu/fhir/laboratory/StructureDefinition/Bundle-eu-lab Version: 0.2.0-ci
Standards status: Trial-use Draft as of 2025-12-01 Maturity Level: 2 Computable Name: BundleLabReportEu

Copyright/Legal: Used by permission of HL7 Europe, all rights reserved Creative Commons License

Clinical document used to represent a Laboratory Report for the scope of the HL7 Europe project.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Laboratory Report bundle
Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12, one-comp, one-dr, dr-comp-identifier, dr-comp-type, dr-comp-category, dr-comp-subj, dr-comp-enc
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... identifier Σ 1..1 Identifier Business identifier for this Laboratory Report
... type Σ 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.
Required Pattern: document
... Slices for entry ΣC 2..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open 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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Resource A resource in the bundle
.... entry:composition Σ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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 CompositionLabReportEu Laboratory Report composition
.... entry:diagnosticReport Σ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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 DiagnosticReportLabEu Laboratory Report DiagnosticReport
.... entry:patient ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 Patient, PatientEuCore, PatientAnimalEu Information about an individual or animal receiving health care services
.... entry:observation ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 ObservationResultsLaboratoryEu Laboratory result for a simple test or for a panel/study
.... entry:specimen ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 SpecimenEu Laboratory Specimen
.... entry:serviceRequest ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 ServiceRequestLabEu Laboratory Order
.... entry:organization ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Organization A resource in the bundle
.... entry:practitioner ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 PractitionerEuCore A person with a formal responsibility in the provisioning of healthcare or related services
.... entry:practitionerRole ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 PractitionerRoleEuCore Roles/organizations the practitioner is associated with
.... entry:bodyStructure ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 BodyStructureEuCore Specific and identified anatomical structure
.... entry:encounter ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Encounter A resource in the bundle
.... entry:location ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Location A resource in the bundle
.... entry:provenance ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Provenance A resource in the bundle
.... entry:coverage ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Coverage A resource in the bundle
.... entry:device ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Device A resource in the bundle
... signature Σ 0..1 Signature Digital Signature of this report

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:composition.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:diagnosticReport.​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:observation.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:specimen.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:serviceRequest.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:organization.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:practitioner.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:practitionerRole.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:bodyStructure.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:encounter.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:location.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:provenance.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:coverage.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:device.​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:composition, Bundle.entry:diagnosticReport, Bundle.entry:patient, Bundle.entry:observation, Bundle.entry:specimen, Bundle.entry:serviceRequest, Bundle.entry:organization, Bundle.entry:practitioner, Bundle.entry:practitionerRole, Bundle.entry:bodyStructure, Bundle.entry:encounter, Bundle.entry:location, Bundle.entry:provenance, Bundle.entry:coverage, Bundle.entry:device 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:composition, Bundle.entry:diagnosticReport, Bundle.entry:patient, Bundle.entry:observation, Bundle.entry:specimen, Bundle.entry:serviceRequest, Bundle.entry:organization, Bundle.entry:practitioner, Bundle.entry:practitionerRole, Bundle.entry:bodyStructure, Bundle.entry:encounter, Bundle.entry:location, Bundle.entry:provenance, Bundle.entry:coverage, Bundle.entry:device 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)
dr-comp-category error Bundle At least one DiagnosticReport.category.coding and Composition.category.coding SHALL be equal (entry.resource.ofType(Composition).category.exists() or entry.resource.ofType(DiagnosticReport).category.exists()) implies entry.resource.ofType(Composition).category.coding.intersect(entry.resource.ofType(DiagnosticReport).category.coding).exists()
dr-comp-enc error Bundle DiagnosticReport and Composition SHALL have the same encounter ( (entry.resource.ofType(Composition).encounter.empty() and entry.resource.ofType(DiagnosticReport).encounter.empty() ) or entry.resource.ofType(Composition).encounter = entry.resource.ofType(DiagnosticReport).encounter )
dr-comp-identifier error Bundle If one or more DiagnosticReport.identifiers are given, at least one of them SHALL be equal to the Composition.identifier (entry.resource.ofType(Composition).identifier.exists() or entry.resource.ofType(DiagnosticReport).identifier.exists()) implies entry.resource.ofType(Composition).identifier.intersect(entry.resource.ofType(DiagnosticReport).identifier).exists()
dr-comp-subj error Bundle DiagnosticReport and Composition SHALL have the same subject ( (entry.resource.ofType(Composition).subject.empty() and entry.resource.ofType(DiagnosticReport).subject.empty() ) or entry.resource.ofType(Composition).subject = entry.resource.ofType(DiagnosticReport).subject )
dr-comp-type error Bundle At least one DiagnosticReport.code.coding and Composition.type.coding SHALL be equal entry.resource.ofType(Composition).type.coding.intersect(entry.resource.ofType(DiagnosticReport).code.coding).exists()
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()
one-comp error Bundle A laboratory report bundle SHALL include one and only one Composition entry.resource.ofType(Composition).count() = 1
one-dr error Bundle A laboratory report SHALL include one and only one DiagnosticReport entry.resource.ofType(DiagnosticReport).count() = 1

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Laboratory Report bundle
Constraints: one-comp, one-dr, dr-comp-identifier, dr-comp-type, dr-comp-category, dr-comp-subj, dr-comp-enc
... identifier 1..1 Identifier Business identifier for this Laboratory Report
... type 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Required Pattern: document
... timestamp 1..1 instant When the bundle was assembled
... link 0..0 Links related to this Bundle
... Slices for entry 2..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by type:resource
.... entry:All Slices Content/Rules for all slices
..... link 0..0 Links related to this entry
..... fullUrl 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..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:composition 1..1 BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 CompositionLabReportEu Laboratory Report composition
.... entry:diagnosticReport 1..1 BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 DiagnosticReportLabEu Laboratory Report DiagnosticReport
.... entry:patient 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 Patient, PatientEuCore, PatientAnimalEu Information about an individual or animal receiving health care services
.... entry:observation 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 ObservationResultsLaboratoryEu Laboratory result for a simple test or for a panel/study
.... entry:specimen 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 SpecimenEu Laboratory Specimen
.... entry:serviceRequest 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 ServiceRequestLabEu Laboratory Order
.... entry:organization 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 Organization A resource in the bundle
.... entry:practitioner 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 PractitionerEuCore A person with a formal responsibility in the provisioning of healthcare or related services
.... entry:practitionerRole 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 PractitionerRoleEuCore Roles/organizations the practitioner is associated with
.... entry:bodyStructure 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 BodyStructureEuCore Specific and identified anatomical structure
.... entry:encounter 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 Encounter A resource in the bundle
.... entry:location 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 Location A resource in the bundle
.... entry:provenance 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 Provenance A resource in the bundle
.... entry:coverage 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 Coverage A resource in the bundle
.... entry:device 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 Device A resource in the bundle
... signature 0..1 Signature Digital Signature of this report

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
dr-comp-category error Bundle At least one DiagnosticReport.category.coding and Composition.category.coding SHALL be equal (entry.resource.ofType(Composition).category.exists() or entry.resource.ofType(DiagnosticReport).category.exists()) implies entry.resource.ofType(Composition).category.coding.intersect(entry.resource.ofType(DiagnosticReport).category.coding).exists()
dr-comp-enc error Bundle DiagnosticReport and Composition SHALL have the same encounter ( (entry.resource.ofType(Composition).encounter.empty() and entry.resource.ofType(DiagnosticReport).encounter.empty() ) or entry.resource.ofType(Composition).encounter = entry.resource.ofType(DiagnosticReport).encounter )
dr-comp-identifier error Bundle If one or more DiagnosticReport.identifiers are given, at least one of them SHALL be equal to the Composition.identifier (entry.resource.ofType(Composition).identifier.exists() or entry.resource.ofType(DiagnosticReport).identifier.exists()) implies entry.resource.ofType(Composition).identifier.intersect(entry.resource.ofType(DiagnosticReport).identifier).exists()
dr-comp-subj error Bundle DiagnosticReport and Composition SHALL have the same subject ( (entry.resource.ofType(Composition).subject.empty() and entry.resource.ofType(DiagnosticReport).subject.empty() ) or entry.resource.ofType(Composition).subject = entry.resource.ofType(DiagnosticReport).subject )
dr-comp-type error Bundle At least one DiagnosticReport.code.coding and Composition.type.coding SHALL be equal entry.resource.ofType(Composition).type.coding.intersect(entry.resource.ofType(DiagnosticReport).code.coding).exists()
one-comp error Bundle A laboratory report bundle SHALL include one and only one Composition entry.resource.ofType(Composition).count() = 1
one-dr error Bundle A laboratory report SHALL include one and only one DiagnosticReport entry.resource.ofType(DiagnosticReport).count() = 1
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Laboratory Report bundle
Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12, one-comp, one-dr, dr-comp-identifier, dr-comp-type, dr-comp-category, dr-comp-subj, dr-comp-enc
... 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 Σ 1..1 Identifier Business identifier for this Laboratory Report
... type Σ 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.
Required Pattern: document
... timestamp Σ 1..1 instant When the bundle was assembled
... Slices for entry ΣC 2..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open 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
..... 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Resource A resource in the bundle
.... entry:composition Σ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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 CompositionLabReportEu Laboratory Report composition
.... entry:diagnosticReport Σ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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 DiagnosticReportLabEu Laboratory Report DiagnosticReport
.... entry:patient ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 Patient, PatientEuCore, PatientAnimalEu Information about an individual or animal receiving health care services
.... entry:observation ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 ObservationResultsLaboratoryEu Laboratory result for a simple test or for a panel/study
.... entry:specimen ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 SpecimenEu Laboratory Specimen
.... entry:serviceRequest ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 ServiceRequestLabEu Laboratory Order
.... entry:organization ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Organization A resource in the bundle
.... entry:practitioner ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 PractitionerEuCore A person with a formal responsibility in the provisioning of healthcare or related services
.... entry:practitionerRole ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 PractitionerRoleEuCore Roles/organizations the practitioner is associated with
.... entry:bodyStructure ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 BodyStructureEuCore Specific and identified anatomical structure
.... entry:encounter ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Encounter A resource in the bundle
.... entry:location ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Location A resource in the bundle
.... entry:provenance ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Provenance A resource in the bundle
.... entry:coverage ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Coverage A resource in the bundle
.... entry:device ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Device A resource in the bundle
... signature Σ 0..1 Signature Digital Signature of this report

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:composition.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:composition.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:diagnosticReport.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:diagnosticReport.​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:observation.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:observation.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:specimen.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:specimen.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:serviceRequest.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:serviceRequest.​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.
Bundle.entry:practitioner.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:practitioner.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:practitionerRole.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:practitionerRole.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:bodyStructure.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:bodyStructure.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:encounter.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:encounter.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:location.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:location.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:provenance.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:provenance.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:coverage.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:coverage.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:device.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:device.​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:composition, Bundle.entry:diagnosticReport, Bundle.entry:patient, Bundle.entry:observation, Bundle.entry:specimen, Bundle.entry:serviceRequest, Bundle.entry:organization, Bundle.entry:practitioner, Bundle.entry:practitionerRole, Bundle.entry:bodyStructure, Bundle.entry:encounter, Bundle.entry:location, Bundle.entry:provenance, Bundle.entry:coverage, Bundle.entry:device 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:composition, Bundle.entry:diagnosticReport, Bundle.entry:patient, Bundle.entry:observation, Bundle.entry:specimen, Bundle.entry:serviceRequest, Bundle.entry:organization, Bundle.entry:practitioner, Bundle.entry:practitionerRole, Bundle.entry:bodyStructure, Bundle.entry:encounter, Bundle.entry:location, Bundle.entry:provenance, Bundle.entry:coverage, Bundle.entry:device 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)
dr-comp-category error Bundle At least one DiagnosticReport.category.coding and Composition.category.coding SHALL be equal (entry.resource.ofType(Composition).category.exists() or entry.resource.ofType(DiagnosticReport).category.exists()) implies entry.resource.ofType(Composition).category.coding.intersect(entry.resource.ofType(DiagnosticReport).category.coding).exists()
dr-comp-enc error Bundle DiagnosticReport and Composition SHALL have the same encounter ( (entry.resource.ofType(Composition).encounter.empty() and entry.resource.ofType(DiagnosticReport).encounter.empty() ) or entry.resource.ofType(Composition).encounter = entry.resource.ofType(DiagnosticReport).encounter )
dr-comp-identifier error Bundle If one or more DiagnosticReport.identifiers are given, at least one of them SHALL be equal to the Composition.identifier (entry.resource.ofType(Composition).identifier.exists() or entry.resource.ofType(DiagnosticReport).identifier.exists()) implies entry.resource.ofType(Composition).identifier.intersect(entry.resource.ofType(DiagnosticReport).identifier).exists()
dr-comp-subj error Bundle DiagnosticReport and Composition SHALL have the same subject ( (entry.resource.ofType(Composition).subject.empty() and entry.resource.ofType(DiagnosticReport).subject.empty() ) or entry.resource.ofType(Composition).subject = entry.resource.ofType(DiagnosticReport).subject )
dr-comp-type error Bundle At least one DiagnosticReport.code.coding and Composition.type.coding SHALL be equal entry.resource.ofType(Composition).type.coding.intersect(entry.resource.ofType(DiagnosticReport).code.coding).exists()
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()
one-comp error Bundle A laboratory report bundle SHALL include one and only one Composition entry.resource.ofType(Composition).count() = 1
one-dr error Bundle A laboratory report SHALL include one and only one DiagnosticReport entry.resource.ofType(DiagnosticReport).count() = 1

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Laboratory Report bundle
Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12, one-comp, one-dr, dr-comp-identifier, dr-comp-type, dr-comp-category, dr-comp-subj, dr-comp-enc
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... identifier Σ 1..1 Identifier Business identifier for this Laboratory Report
... type Σ 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.
Required Pattern: document
... Slices for entry ΣC 2..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open 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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Resource A resource in the bundle
.... entry:composition Σ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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 CompositionLabReportEu Laboratory Report composition
.... entry:diagnosticReport Σ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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 DiagnosticReportLabEu Laboratory Report DiagnosticReport
.... entry:patient ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 Patient, PatientEuCore, PatientAnimalEu Information about an individual or animal receiving health care services
.... entry:observation ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 ObservationResultsLaboratoryEu Laboratory result for a simple test or for a panel/study
.... entry:specimen ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 SpecimenEu Laboratory Specimen
.... entry:serviceRequest ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 ServiceRequestLabEu Laboratory Order
.... entry:organization ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Organization A resource in the bundle
.... entry:practitioner ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 PractitionerEuCore A person with a formal responsibility in the provisioning of healthcare or related services
.... entry:practitionerRole ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 PractitionerRoleEuCore Roles/organizations the practitioner is associated with
.... entry:bodyStructure ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 BodyStructureEuCore Specific and identified anatomical structure
.... entry:encounter ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Encounter A resource in the bundle
.... entry:location ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Location A resource in the bundle
.... entry:provenance ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Provenance A resource in the bundle
.... entry:coverage ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Coverage A resource in the bundle
.... entry:device ΣC 0..* 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 Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Device A resource in the bundle
... signature Σ 0..1 Signature Digital Signature of this report

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:composition.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:diagnosticReport.​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:observation.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:specimen.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:serviceRequest.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:organization.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:practitioner.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:practitionerRole.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:bodyStructure.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:encounter.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:location.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:provenance.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:coverage.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:device.​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:composition, Bundle.entry:diagnosticReport, Bundle.entry:patient, Bundle.entry:observation, Bundle.entry:specimen, Bundle.entry:serviceRequest, Bundle.entry:organization, Bundle.entry:practitioner, Bundle.entry:practitionerRole, Bundle.entry:bodyStructure, Bundle.entry:encounter, Bundle.entry:location, Bundle.entry:provenance, Bundle.entry:coverage, Bundle.entry:device 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:composition, Bundle.entry:diagnosticReport, Bundle.entry:patient, Bundle.entry:observation, Bundle.entry:specimen, Bundle.entry:serviceRequest, Bundle.entry:organization, Bundle.entry:practitioner, Bundle.entry:practitionerRole, Bundle.entry:bodyStructure, Bundle.entry:encounter, Bundle.entry:location, Bundle.entry:provenance, Bundle.entry:coverage, Bundle.entry:device 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)
dr-comp-category error Bundle At least one DiagnosticReport.category.coding and Composition.category.coding SHALL be equal (entry.resource.ofType(Composition).category.exists() or entry.resource.ofType(DiagnosticReport).category.exists()) implies entry.resource.ofType(Composition).category.coding.intersect(entry.resource.ofType(DiagnosticReport).category.coding).exists()
dr-comp-enc error Bundle DiagnosticReport and Composition SHALL have the same encounter ( (entry.resource.ofType(Composition).encounter.empty() and entry.resource.ofType(DiagnosticReport).encounter.empty() ) or entry.resource.ofType(Composition).encounter = entry.resource.ofType(DiagnosticReport).encounter )
dr-comp-identifier error Bundle If one or more DiagnosticReport.identifiers are given, at least one of them SHALL be equal to the Composition.identifier (entry.resource.ofType(Composition).identifier.exists() or entry.resource.ofType(DiagnosticReport).identifier.exists()) implies entry.resource.ofType(Composition).identifier.intersect(entry.resource.ofType(DiagnosticReport).identifier).exists()
dr-comp-subj error Bundle DiagnosticReport and Composition SHALL have the same subject ( (entry.resource.ofType(Composition).subject.empty() and entry.resource.ofType(DiagnosticReport).subject.empty() ) or entry.resource.ofType(Composition).subject = entry.resource.ofType(DiagnosticReport).subject )
dr-comp-type error Bundle At least one DiagnosticReport.code.coding and Composition.type.coding SHALL be equal entry.resource.ofType(Composition).type.coding.intersect(entry.resource.ofType(DiagnosticReport).code.coding).exists()
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()
one-comp error Bundle A laboratory report bundle SHALL include one and only one Composition entry.resource.ofType(Composition).count() = 1
one-dr error Bundle A laboratory report SHALL include one and only one DiagnosticReport entry.resource.ofType(DiagnosticReport).count() = 1

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Laboratory Report bundle
Constraints: one-comp, one-dr, dr-comp-identifier, dr-comp-type, dr-comp-category, dr-comp-subj, dr-comp-enc
... identifier 1..1 Identifier Business identifier for this Laboratory Report
... type 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Required Pattern: document
... timestamp 1..1 instant When the bundle was assembled
... link 0..0 Links related to this Bundle
... Slices for entry 2..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by type:resource
.... entry:All Slices Content/Rules for all slices
..... link 0..0 Links related to this entry
..... fullUrl 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..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:composition 1..1 BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 CompositionLabReportEu Laboratory Report composition
.... entry:diagnosticReport 1..1 BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 DiagnosticReportLabEu Laboratory Report DiagnosticReport
.... entry:patient 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 Patient, PatientEuCore, PatientAnimalEu Information about an individual or animal receiving health care services
.... entry:observation 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 ObservationResultsLaboratoryEu Laboratory result for a simple test or for a panel/study
.... entry:specimen 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 SpecimenEu Laboratory Specimen
.... entry:serviceRequest 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 ServiceRequestLabEu Laboratory Order
.... entry:organization 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 Organization A resource in the bundle
.... entry:practitioner 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 PractitionerEuCore A person with a formal responsibility in the provisioning of healthcare or related services
.... entry:practitionerRole 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 PractitionerRoleEuCore Roles/organizations the practitioner is associated with
.... entry:bodyStructure 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 BodyStructureEuCore Specific and identified anatomical structure
.... entry:encounter 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 Encounter A resource in the bundle
.... entry:location 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 Location A resource in the bundle
.... entry:provenance 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 Provenance A resource in the bundle
.... entry:coverage 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 Coverage A resource in the bundle
.... entry:device 0..* BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 Device A resource in the bundle
... signature 0..1 Signature Digital Signature of this report

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
dr-comp-category error Bundle At least one DiagnosticReport.category.coding and Composition.category.coding SHALL be equal (entry.resource.ofType(Composition).category.exists() or entry.resource.ofType(DiagnosticReport).category.exists()) implies entry.resource.ofType(Composition).category.coding.intersect(entry.resource.ofType(DiagnosticReport).category.coding).exists()
dr-comp-enc error Bundle DiagnosticReport and Composition SHALL have the same encounter ( (entry.resource.ofType(Composition).encounter.empty() and entry.resource.ofType(DiagnosticReport).encounter.empty() ) or entry.resource.ofType(Composition).encounter = entry.resource.ofType(DiagnosticReport).encounter )
dr-comp-identifier error Bundle If one or more DiagnosticReport.identifiers are given, at least one of them SHALL be equal to the Composition.identifier (entry.resource.ofType(Composition).identifier.exists() or entry.resource.ofType(DiagnosticReport).identifier.exists()) implies entry.resource.ofType(Composition).identifier.intersect(entry.resource.ofType(DiagnosticReport).identifier).exists()
dr-comp-subj error Bundle DiagnosticReport and Composition SHALL have the same subject ( (entry.resource.ofType(Composition).subject.empty() and entry.resource.ofType(DiagnosticReport).subject.empty() ) or entry.resource.ofType(Composition).subject = entry.resource.ofType(DiagnosticReport).subject )
dr-comp-type error Bundle At least one DiagnosticReport.code.coding and Composition.type.coding SHALL be equal entry.resource.ofType(Composition).type.coding.intersect(entry.resource.ofType(DiagnosticReport).code.coding).exists()
one-comp error Bundle A laboratory report bundle SHALL include one and only one Composition entry.resource.ofType(Composition).count() = 1
one-dr error Bundle A laboratory report SHALL include one and only one DiagnosticReport entry.resource.ofType(DiagnosticReport).count() = 1

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Laboratory Report bundle
Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12, one-comp, one-dr, dr-comp-identifier, dr-comp-type, dr-comp-category, dr-comp-subj, dr-comp-enc
... 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 Σ 1..1 Identifier Business identifier for this Laboratory Report
... type Σ 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.
Required Pattern: document
... timestamp Σ 1..1 instant When the bundle was assembled
... Slices for entry ΣC 2..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open 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
..... 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Resource A resource in the bundle
.... entry:composition Σ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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 CompositionLabReportEu Laboratory Report composition
.... entry:diagnosticReport Σ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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 DiagnosticReportLabEu Laboratory Report DiagnosticReport
.... entry:patient ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 Patient, PatientEuCore, PatientAnimalEu Information about an individual or animal receiving health care services
.... entry:observation ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 ObservationResultsLaboratoryEu Laboratory result for a simple test or for a panel/study
.... entry:specimen ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 SpecimenEu Laboratory Specimen
.... entry:serviceRequest ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 ServiceRequestLabEu Laboratory Order
.... entry:organization ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Organization A resource in the bundle
.... entry:practitioner ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 PractitionerEuCore A person with a formal responsibility in the provisioning of healthcare or related services
.... entry:practitionerRole ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 PractitionerRoleEuCore Roles/organizations the practitioner is associated with
.... entry:bodyStructure ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1 BodyStructureEuCore Specific and identified anatomical structure
.... entry:encounter ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Encounter A resource in the bundle
.... entry:location ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Location A resource in the bundle
.... entry:provenance ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Provenance A resource in the bundle
.... entry:coverage ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Coverage A resource in the bundle
.... entry:device ΣC 0..* 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
..... fullUrl Σ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 1..1 Device A resource in the bundle
... signature Σ 0..1 Signature Digital Signature of this report

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:composition.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:composition.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:diagnosticReport.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:diagnosticReport.​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:observation.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:observation.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:specimen.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:specimen.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:serviceRequest.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:serviceRequest.​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.
Bundle.entry:practitioner.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:practitioner.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:practitionerRole.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:practitionerRole.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:bodyStructure.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:bodyStructure.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:encounter.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:encounter.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:location.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:location.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:provenance.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:provenance.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:coverage.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:coverage.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:device.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:device.​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:composition, Bundle.entry:diagnosticReport, Bundle.entry:patient, Bundle.entry:observation, Bundle.entry:specimen, Bundle.entry:serviceRequest, Bundle.entry:organization, Bundle.entry:practitioner, Bundle.entry:practitionerRole, Bundle.entry:bodyStructure, Bundle.entry:encounter, Bundle.entry:location, Bundle.entry:provenance, Bundle.entry:coverage, Bundle.entry:device 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:composition, Bundle.entry:diagnosticReport, Bundle.entry:patient, Bundle.entry:observation, Bundle.entry:specimen, Bundle.entry:serviceRequest, Bundle.entry:organization, Bundle.entry:practitioner, Bundle.entry:practitionerRole, Bundle.entry:bodyStructure, Bundle.entry:encounter, Bundle.entry:location, Bundle.entry:provenance, Bundle.entry:coverage, Bundle.entry:device 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)
dr-comp-category error Bundle At least one DiagnosticReport.category.coding and Composition.category.coding SHALL be equal (entry.resource.ofType(Composition).category.exists() or entry.resource.ofType(DiagnosticReport).category.exists()) implies entry.resource.ofType(Composition).category.coding.intersect(entry.resource.ofType(DiagnosticReport).category.coding).exists()
dr-comp-enc error Bundle DiagnosticReport and Composition SHALL have the same encounter ( (entry.resource.ofType(Composition).encounter.empty() and entry.resource.ofType(DiagnosticReport).encounter.empty() ) or entry.resource.ofType(Composition).encounter = entry.resource.ofType(DiagnosticReport).encounter )
dr-comp-identifier error Bundle If one or more DiagnosticReport.identifiers are given, at least one of them SHALL be equal to the Composition.identifier (entry.resource.ofType(Composition).identifier.exists() or entry.resource.ofType(DiagnosticReport).identifier.exists()) implies entry.resource.ofType(Composition).identifier.intersect(entry.resource.ofType(DiagnosticReport).identifier).exists()
dr-comp-subj error Bundle DiagnosticReport and Composition SHALL have the same subject ( (entry.resource.ofType(Composition).subject.empty() and entry.resource.ofType(DiagnosticReport).subject.empty() ) or entry.resource.ofType(Composition).subject = entry.resource.ofType(DiagnosticReport).subject )
dr-comp-type error Bundle At least one DiagnosticReport.code.coding and Composition.type.coding SHALL be equal entry.resource.ofType(Composition).type.coding.intersect(entry.resource.ofType(DiagnosticReport).code.coding).exists()
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()
one-comp error Bundle A laboratory report bundle SHALL include one and only one Composition entry.resource.ofType(Composition).count() = 1
one-dr error Bundle A laboratory report SHALL include one and only one DiagnosticReport entry.resource.ofType(DiagnosticReport).count() = 1

 

Other representations of profile: CSV, Excel, Schematron