HL7 Austria ELGA Laboratory Report R4 Implementation Guide
0.1.0 - ci-build
HL7 Austria ELGA Laboratory Report R4 Implementation Guide, published by HL7 Austria. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/gabriel0316/test-laboratory/ and changes regularly. See the Directory of published versions
| Official URL: https://fhir.hl7.at/elga-labor/StructureDefinition/at-elga-lab-bundle | Version: 0.1.0 | |||
| Draft as of 2026-05-04 | Computable Name: ATELGALabBundle | |||
FHIR Bundle for Austrian ELGA Laboratory Reports.
Extends the HL7 Europe Laboratory Report Bundle with Austrian-specific requirements:
This bundle represents a legally signable, self-contained laboratory report document.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | BundleLabReportEu | 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 |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
SΣ | 1..1 | Identifier | Persistent identifier for this laboratory report bundle |
![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
![]() ![]() ![]() |
SΣ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient |
![]() ![]() ![]() |
SΣ | 1..1 | string | The value that is unique Example General: 123456 |
![]() ![]() |
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: document |
![]() ![]() |
SΣ | 1..1 | instant | Date/time the bundle was assembled |
![]() ![]() |
Σ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 |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Resource | A resource in the bundle |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
1..1 | CompositionLabReportEu | Laboratory Report 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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
1..1 | DiagnosticReportLabEu | Laboratory Report DiagnosticReport | |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
1..1 | PatientEuLab, PatientAnimalEu | Information about an individual or animal receiving health care services | |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
1..1 | ObservationResultsLaboratoryEu | Laboratory result for a simple test or for a panel/study | |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
1..1 | SpecimenEu | Laboratory 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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
1..1 | ServiceRequestLabEu | Laboratory Order | |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Organization | A resource in the bundle |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
1..1 | PractitionerEu | A person with a formal responsibility in the provisioning of healthcare or related services | |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
1..1 | PractitionerRoleEu | Roles/organizations the practitioner is associated with | |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
1..1 | BodyStructureEuLab | Specific and identified anatomical structure | |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Encounter | A resource in the bundle |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Location | A resource in the bundle |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Provenance | A resource in the bundle |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Coverage | A resource in the bundle |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Device | A resource in the bundle |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Bundle.identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| 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. |
| 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
|
This structure is derived from BundleLabReportEu
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | BundleLabReportEu | Laboratory Report bundle | |
![]() ![]() |
S | 1..1 | Identifier | Persistent identifier for this laboratory report bundle |
![]() ![]() ![]() |
S | 1..1 | uri | The namespace for the identifier value |
![]() ![]() ![]() |
S | 1..1 | string | The value that is unique |
![]() ![]() |
S | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Fixed Value: document |
![]() ![]() |
S | 1..1 | instant | Date/time the bundle was assembled |
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | BundleLabReportEu | 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 | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
SΣ | 1..1 | Identifier | Persistent identifier for this laboratory report bundle | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
![]() ![]() ![]() |
SΣ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
![]() ![]() ![]() |
SΣ | 1..1 | string | The value that is unique Example General: 123456 | ||||
![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
![]() ![]() |
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: document | ||||
![]() ![]() |
SΣ | 1..1 | instant | Date/time the bundle was assembled | ||||
![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() |
Content/Rules for all slices | |||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Resource | A resource in the bundle | ||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
1..1 | CompositionLabReportEu | Laboratory Report 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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
1..1 | DiagnosticReportLabEu | Laboratory Report DiagnosticReport | |||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
1..1 | PatientEuLab, PatientAnimalEu | Information about an individual or animal receiving health care services | |||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
1..1 | ObservationResultsLaboratoryEu | Laboratory result for a simple test or for a panel/study | |||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
1..1 | SpecimenEu | Laboratory 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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
1..1 | ServiceRequestLabEu | Laboratory Order | |||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Organization | A resource in the bundle | ||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
1..1 | PractitionerEu | A person with a formal responsibility in the provisioning of healthcare or related services | |||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
1..1 | PractitionerRoleEu | Roles/organizations the practitioner is associated with | |||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
1..1 | BodyStructureEuLab | Specific and identified anatomical structure | |||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Encounter | A resource in the bundle | ||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Location | A resource in the bundle | ||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Provenance | A resource in the bundle | ||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Coverage | A resource in the bundle | ||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Device | A resource in the bundle | ||||
![]() ![]() |
Σ | 0..1 | Signature | Digital Signature of this report | ||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Bundle.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std. |
| Bundle.identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Bundle.identifier.type | Base | extensible | IdentifierType | 📍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. |
| 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
|
This structure is derived from BundleLabReportEu
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | BundleLabReportEu | 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 |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
SΣ | 1..1 | Identifier | Persistent identifier for this laboratory report bundle |
![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
![]() ![]() ![]() |
SΣ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient |
![]() ![]() ![]() |
SΣ | 1..1 | string | The value that is unique Example General: 123456 |
![]() ![]() |
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: document |
![]() ![]() |
SΣ | 1..1 | instant | Date/time the bundle was assembled |
![]() ![]() |
Σ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 |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Resource | A resource in the bundle |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
1..1 | CompositionLabReportEu | Laboratory Report 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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
1..1 | DiagnosticReportLabEu | Laboratory Report DiagnosticReport | |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
1..1 | PatientEuLab, PatientAnimalEu | Information about an individual or animal receiving health care services | |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
1..1 | ObservationResultsLaboratoryEu | Laboratory result for a simple test or for a panel/study | |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
1..1 | SpecimenEu | Laboratory 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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
1..1 | ServiceRequestLabEu | Laboratory Order | |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Organization | A resource in the bundle |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
1..1 | PractitionerEu | A person with a formal responsibility in the provisioning of healthcare or related services | |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
1..1 | PractitionerRoleEu | Roles/organizations the practitioner is associated with | |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
1..1 | BodyStructureEuLab | Specific and identified anatomical structure | |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Encounter | A resource in the bundle |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Location | A resource in the bundle |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Provenance | A resource in the bundle |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Coverage | A resource in the bundle |
![]() ![]() ![]() |
Σ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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Device | A resource in the bundle |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Bundle.identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| 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. |
| 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
This structure is derived from BundleLabReportEu
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | BundleLabReportEu | Laboratory Report bundle | |
![]() ![]() |
S | 1..1 | Identifier | Persistent identifier for this laboratory report bundle |
![]() ![]() ![]() |
S | 1..1 | uri | The namespace for the identifier value |
![]() ![]() ![]() |
S | 1..1 | string | The value that is unique |
![]() ![]() |
S | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Fixed Value: document |
![]() ![]() |
S | 1..1 | instant | Date/time the bundle was assembled |
Documentation for this format | ||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | BundleLabReportEu | 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 | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
SΣ | 1..1 | Identifier | Persistent identifier for this laboratory report bundle | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
![]() ![]() ![]() |
SΣ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
![]() ![]() ![]() |
SΣ | 1..1 | string | The value that is unique Example General: 123456 | ||||
![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
![]() ![]() |
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: document | ||||
![]() ![]() |
SΣ | 1..1 | instant | Date/time the bundle was assembled | ||||
![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() |
Content/Rules for all slices | |||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Resource | A resource in the bundle | ||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
1..1 | CompositionLabReportEu | Laboratory Report 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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
1..1 | DiagnosticReportLabEu | Laboratory Report DiagnosticReport | |||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
1..1 | PatientEuLab, PatientAnimalEu | Information about an individual or animal receiving health care services | |||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
1..1 | ObservationResultsLaboratoryEu | Laboratory result for a simple test or for a panel/study | |||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
1..1 | SpecimenEu | Laboratory 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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
1..1 | ServiceRequestLabEu | Laboratory Order | |||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Organization | A resource in the bundle | ||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
1..1 | PractitionerEu | A person with a formal responsibility in the provisioning of healthcare or related services | |||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
1..1 | PractitionerRoleEu | Roles/organizations the practitioner is associated with | |||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
1..1 | BodyStructureEuLab | Specific and identified anatomical structure | |||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Encounter | A resource in the bundle | ||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Location | A resource in the bundle | ||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Provenance | A resource in the bundle | ||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Coverage | A resource in the bundle | ||||
![]() ![]() ![]() |
Σ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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URI for resource (Absolute URL server address or URI for UUID/OID) | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Device | A resource in the bundle | ||||
![]() ![]() |
Σ | 0..1 | Signature | Digital Signature of this report | ||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Bundle.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std. |
| Bundle.identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Bundle.identifier.type | Base | extensible | IdentifierType | 📍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. |
| 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
|
This structure is derived from BundleLabReportEu
Other representations of profile: CSV, Excel, Schematron