Polska specyfikacja bazowa HL7 FHIR (HL7 FHIR PL Base)
0.1.2 - ci-build Poland flag

Polska specyfikacja bazowa HL7 FHIR (HL7 FHIR PL Base), published by HL7 Poland. This guide is not an authorized publication; it is the continuous build for version 0.1.2 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7-Poland/pl-fhir-base/ and changes regularly. See the Directory of published versions

Resource Profile: Bundle: Dokument medyczny

Official URL: http://hl7.org.pl/fhir/ig/pl-base/StructureDefinition/pl-base-bundle-document Version: 0.1.2
Draft as of 2025-09-17 Computable Name: PLBaseDocument

Dokument medyczny w standardzie HL7 FHIR

Usages:

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

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Contains a collection of resources
Constraints: bdl-1, bdl-2, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12, bdl-13, bdl-14, bdl-15, bdl-16, bdl-17, bdl-18, bdl-3a, bdl-3b, bdl-3c, bdl-3d
... meta SΣ 1..1 Meta Metadata about the resource
.... Slices for security SΣ 1..* Coding Security Labels applied to this resource
Slice: Unordered, Open by value:system
Binding: AllSecurityLabels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
..... security:confidentialityCode SΣ 1..1 Coding Security Labels applied to this resource
Binding: Poziom poufności (ConfidentialityCode) (required)
...... system Σ 1..1 uri Identity of the terminology system
Required Pattern: http://terminology.hl7.org/CodeSystem/v3-Confidentiality
...... code SΣC 1..1 code Symbol in syntax defined by the system
...... display SΣC 1..1 string Representation defined by the system
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... identifier ΣC 0..1 Identifier Persistent identifier for the bundle
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... system SΣ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣC 1..1 string The value that is unique
Example General: 123456
... Slices for entry SΣC 1..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by value: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 ΣC 1..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource ΣC 1..1 Resource A resource in the bundle
.... entry:composition SΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
Constraints: bdl-5, bdl-8
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... fullUrl ΣC 1..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource 1..1 PLBaseComposition A set of resources composed into a single coherent clinical statement with clinical attestation
... issues ΣC 0..1 OperationOutcome(5.0.0) Issues with the Bundle

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Bundle.meta.securityextensibleAllSecurityLabels
http://hl7.org/fhir/ValueSet/security-labels|5.0.0
From the FHIR Standard
Bundle.meta.security:confidentialityCoderequiredPLConfidentialityCodeVS
http://hl7.org.pl/fhir/ig/pl-base/ValueSet/pl-confidentialityCode-VS
From this IG
Bundle.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|5.0.0
From the FHIR Standard
Bundle.typerequiredPattern Value: document
http://hl7.org/fhir/ValueSet/bundle-type|5.0.0
From the FHIR Standard
Bundle.entry.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|5.0.0
From the FHIR Standard
Bundle.entry:composition.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|5.0.0
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
bdl-1errorBundletotal only when a search or history
: total.empty() or (type = 'searchset') or (type = 'history')
bdl-2errorBundleentry.search only when a search
: (type = 'searchset') or entry.search.empty()
bdl-5errorBundle.entry, Bundle.entry:compositionmust be a resource unless there's a request or response
: resource.exists() or request.exists() or response.exists()
bdl-7errorBundleFullUrl 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&iif(resource.meta.versionId.exists(), resource.meta.versionId, '')).isDistinct()
bdl-8errorBundle.entry, Bundle.entry:compositionfullUrl cannot be a version specific reference
: fullUrl.exists() implies fullUrl.contains('/_history/').not()
bdl-9errorBundleA document must have an identifier with a system and a value
: type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10errorBundleA document must have a date
: type = 'document' implies (timestamp.hasValue())
bdl-11errorBundleA document must have a Composition as the first resource
: type = 'document' implies entry.first().resource.is(Composition)
bdl-12errorBundleA message must have a MessageHeader as the first resource
: type = 'message' implies entry.first().resource.is(MessageHeader)
bdl-13errorBundleA subscription-notification must have a SubscriptionStatus as the first resource
: type = 'subscription-notification' implies entry.first().resource.is(SubscriptionStatus)
bdl-14errorBundleentry.request.method PATCH not allowed for history
: type = 'history' implies entry.request.method != 'PATCH'
bdl-15errorBundleBundle resources where type is not transaction, transaction-response, batch, or batch-response or when the request is a POST SHALL have Bundle.entry.fullUrl populated
: type='transaction' or type='transaction-response' or type='batch' or type='batch-response' or entry.all(fullUrl.exists() or request.method='POST')
bdl-16errorBundleIssue.severity for all issues within the OperationOutcome must be either 'information' or 'warning'.
: issues.exists() implies (issues.issue.severity = 'information' or issues.issue.severity = 'warning')
bdl-17errorBundleUse and meaning of issues for documents has not been validated because the content will not be rendered in the document.
: type = 'document' implies issues.empty()
bdl-18errorBundleSelf link is required for searchsets.
: type = 'searchset' implies link.where(relation = 'self' and url.exists()).exists()
bdl-3aerrorBundleFor collections of type document, message, searchset or collection, all entries must contain resources, and not have request or response elements
: type in ('document' | 'message' | 'searchset' | 'collection') implies entry.all(resource.exists() and request.empty() and response.empty())
bdl-3berrorBundleFor collections of type history, all entries must contain request or response elements, and resources if the method is POST, PUT or PATCH
: type = 'history' implies entry.all(request.exists() and response.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3cerrorBundleFor collections of type transaction or batch, all entries must contain request elements, and resources if the method is POST, PUT or PATCH
: type in ('transaction' | 'batch') implies entry.all(request.method.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3derrorBundleFor collections of type transaction-response or batch-response, all entries must contain response elements
: type in ('transaction-response' | 'batch-response') implies entry.all(response.exists())
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle 0..* Bundle Contains a collection of resources
... meta S 1..1 Meta Metadata about the resource
.... Slices for security S 1..* Coding Security Labels applied to this resource
Slice: Unordered, Open by value:system
..... security:confidentialityCode S 1..1 Coding Security Labels applied to this resource
Binding: Poziom poufności (ConfidentialityCode) (required)
...... system 1..1 uri Identity of the terminology system
Required Pattern: http://terminology.hl7.org/CodeSystem/v3-Confidentiality
...... code S 1..1 code Symbol in syntax defined by the system
...... display S 1..1 string Representation defined by the system
... identifier
.... system S 1..1 uri The namespace for the identifier value
.... value S 1..1 string The value that is unique
... type 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification
Required Pattern: document
.... entry:All Slices Content/Rules for all slices
..... fullUrl 1..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource 1..1 Resource A resource in the bundle
..... search 0..0
..... request 0..0
..... response 0..0
.... entry:composition S 1..1 BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 PLBaseComposition A set of resources composed into a single coherent clinical statement with clinical attestation

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Bundle.meta.security:confidentialityCoderequiredPLConfidentialityCodeVS
http://hl7.org.pl/fhir/ig/pl-base/ValueSet/pl-confidentialityCode-VS
From this IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Contains a collection of resources
Constraints: bdl-1, bdl-2, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12, bdl-13, bdl-14, bdl-15, bdl-16, bdl-17, bdl-18, bdl-3a, bdl-3b, bdl-3c, bdl-3d
... id Σ 0..1 id Logical id of this artifact
... meta SΣ 1..1 Meta Metadata about the resource
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... Slices for security SΣ 1..* Coding Security Labels applied to this resource
Slice: Unordered, Open by value:system
Binding: AllSecurityLabels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
..... security:confidentialityCode SΣ 1..1 Coding Security Labels applied to this resource
Binding: Poziom poufności (ConfidentialityCode) (required)
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Required Pattern: http://terminology.hl7.org/CodeSystem/v3-Confidentiality
...... version Σ 0..1 string Version of the system - if relevant
...... code SΣC 1..1 code Symbol in syntax defined by the system
...... display SΣC 1..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... identifier ΣC 0..1 Identifier Persistent identifier for the bundle
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... type Σ 0..1 CodeableConcept Description of identifier
Binding: IdentifierTypeCodes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
.... system SΣ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣC 1..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... type ΣC 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.
Required Pattern: document
... timestamp ΣC 0..1 instant When the bundle was assembled
... total ΣC 0..1 unsignedInt If search, the total number of matches
... link ΣC 0..* BackboneElement Links related to this Bundle
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... relation ΣC 1..1 code See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
Binding: LinkRelationTypes (required)
.... url ΣC 1..1 uri Reference details for the link
... Slices for entry SΣC 1..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by value:resource
Constraints: bdl-5, bdl-8
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
.... entry:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... link Σ 0..* See link (Bundle) Links related to this entry
..... fullUrl ΣC 1..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource ΣC 1..1 Resource A resource in the bundle
.... entry:composition SΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
Constraints: bdl-5, bdl-8
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... link Σ 0..* See link (Bundle) Links related to this entry
..... fullUrl ΣC 1..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource 1..1 PLBaseComposition A set of resources composed into a single coherent clinical statement with clinical attestation
... signature Σ 0..1 Signature Digital Signature
... issues ΣC 0..1 OperationOutcome(5.0.0) Issues with the Bundle

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Bundle.meta.securityextensibleAllSecurityLabels
http://hl7.org/fhir/ValueSet/security-labels|5.0.0
From the FHIR Standard
Bundle.meta.security:confidentialityCoderequiredPLConfidentialityCodeVS
http://hl7.org.pl/fhir/ig/pl-base/ValueSet/pl-confidentialityCode-VS
From this IG
Bundle.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags|5.0.0
From the FHIR Standard
Bundle.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
From the FHIR Standard
Bundle.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|5.0.0
From the FHIR Standard
Bundle.identifier.typeextensibleIdentifierTypeCodes
http://hl7.org/fhir/ValueSet/identifier-type|5.0.0
From the FHIR Standard
Bundle.typerequiredPattern Value: document
http://hl7.org/fhir/ValueSet/bundle-type|5.0.0
From the FHIR Standard
Bundle.link.relationrequiredLinkRelationTypes
http://hl7.org/fhir/ValueSet/iana-link-relations|5.0.0
From the FHIR Standard
Bundle.entry.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|5.0.0
From the FHIR Standard
Bundle.entry.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|5.0.0
From the FHIR Standard
Bundle.entry:composition.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|5.0.0
From the FHIR Standard
Bundle.entry:composition.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|5.0.0
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
bdl-1errorBundletotal only when a search or history
: total.empty() or (type = 'searchset') or (type = 'history')
bdl-2errorBundleentry.search only when a search
: (type = 'searchset') or entry.search.empty()
bdl-5errorBundle.entry, Bundle.entry:compositionmust be a resource unless there's a request or response
: resource.exists() or request.exists() or response.exists()
bdl-7errorBundleFullUrl 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&iif(resource.meta.versionId.exists(), resource.meta.versionId, '')).isDistinct()
bdl-8errorBundle.entry, Bundle.entry:compositionfullUrl cannot be a version specific reference
: fullUrl.exists() implies fullUrl.contains('/_history/').not()
bdl-9errorBundleA document must have an identifier with a system and a value
: type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10errorBundleA document must have a date
: type = 'document' implies (timestamp.hasValue())
bdl-11errorBundleA document must have a Composition as the first resource
: type = 'document' implies entry.first().resource.is(Composition)
bdl-12errorBundleA message must have a MessageHeader as the first resource
: type = 'message' implies entry.first().resource.is(MessageHeader)
bdl-13errorBundleA subscription-notification must have a SubscriptionStatus as the first resource
: type = 'subscription-notification' implies entry.first().resource.is(SubscriptionStatus)
bdl-14errorBundleentry.request.method PATCH not allowed for history
: type = 'history' implies entry.request.method != 'PATCH'
bdl-15errorBundleBundle resources where type is not transaction, transaction-response, batch, or batch-response or when the request is a POST SHALL have Bundle.entry.fullUrl populated
: type='transaction' or type='transaction-response' or type='batch' or type='batch-response' or entry.all(fullUrl.exists() or request.method='POST')
bdl-16errorBundleIssue.severity for all issues within the OperationOutcome must be either 'information' or 'warning'.
: issues.exists() implies (issues.issue.severity = 'information' or issues.issue.severity = 'warning')
bdl-17errorBundleUse and meaning of issues for documents has not been validated because the content will not be rendered in the document.
: type = 'document' implies issues.empty()
bdl-18errorBundleSelf link is required for searchsets.
: type = 'searchset' implies link.where(relation = 'self' and url.exists()).exists()
bdl-3aerrorBundleFor collections of type document, message, searchset or collection, all entries must contain resources, and not have request or response elements
: type in ('document' | 'message' | 'searchset' | 'collection') implies entry.all(resource.exists() and request.empty() and response.empty())
bdl-3berrorBundleFor collections of type history, all entries must contain request or response elements, and resources if the method is POST, PUT or PATCH
: type = 'history' implies entry.all(request.exists() and response.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3cerrorBundleFor collections of type transaction or batch, all entries must contain request elements, and resources if the method is POST, PUT or PATCH
: type in ('transaction' | 'batch') implies entry.all(request.method.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3derrorBundleFor collections of type transaction-response or batch-response, all entries must contain response elements
: type in ('transaction-response' | 'batch-response') implies entry.all(response.exists())
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Bundle

Summary

Mandatory: 10 elements(2 nested mandatory elements)
Must-Support: 9 elements
Prohibited: 3 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

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

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Contains a collection of resources
Constraints: bdl-1, bdl-2, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12, bdl-13, bdl-14, bdl-15, bdl-16, bdl-17, bdl-18, bdl-3a, bdl-3b, bdl-3c, bdl-3d
... meta SΣ 1..1 Meta Metadata about the resource
.... Slices for security SΣ 1..* Coding Security Labels applied to this resource
Slice: Unordered, Open by value:system
Binding: AllSecurityLabels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
..... security:confidentialityCode SΣ 1..1 Coding Security Labels applied to this resource
Binding: Poziom poufności (ConfidentialityCode) (required)
...... system Σ 1..1 uri Identity of the terminology system
Required Pattern: http://terminology.hl7.org/CodeSystem/v3-Confidentiality
...... code SΣC 1..1 code Symbol in syntax defined by the system
...... display SΣC 1..1 string Representation defined by the system
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... identifier ΣC 0..1 Identifier Persistent identifier for the bundle
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... system SΣ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣC 1..1 string The value that is unique
Example General: 123456
... Slices for entry SΣC 1..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by value: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 ΣC 1..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource ΣC 1..1 Resource A resource in the bundle
.... entry:composition SΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
Constraints: bdl-5, bdl-8
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... fullUrl ΣC 1..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource 1..1 PLBaseComposition A set of resources composed into a single coherent clinical statement with clinical attestation
... issues ΣC 0..1 OperationOutcome(5.0.0) Issues with the Bundle

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Bundle.meta.securityextensibleAllSecurityLabels
http://hl7.org/fhir/ValueSet/security-labels|5.0.0
From the FHIR Standard
Bundle.meta.security:confidentialityCoderequiredPLConfidentialityCodeVS
http://hl7.org.pl/fhir/ig/pl-base/ValueSet/pl-confidentialityCode-VS
From this IG
Bundle.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|5.0.0
From the FHIR Standard
Bundle.typerequiredPattern Value: document
http://hl7.org/fhir/ValueSet/bundle-type|5.0.0
From the FHIR Standard
Bundle.entry.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|5.0.0
From the FHIR Standard
Bundle.entry:composition.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|5.0.0
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
bdl-1errorBundletotal only when a search or history
: total.empty() or (type = 'searchset') or (type = 'history')
bdl-2errorBundleentry.search only when a search
: (type = 'searchset') or entry.search.empty()
bdl-5errorBundle.entry, Bundle.entry:compositionmust be a resource unless there's a request or response
: resource.exists() or request.exists() or response.exists()
bdl-7errorBundleFullUrl 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&iif(resource.meta.versionId.exists(), resource.meta.versionId, '')).isDistinct()
bdl-8errorBundle.entry, Bundle.entry:compositionfullUrl cannot be a version specific reference
: fullUrl.exists() implies fullUrl.contains('/_history/').not()
bdl-9errorBundleA document must have an identifier with a system and a value
: type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10errorBundleA document must have a date
: type = 'document' implies (timestamp.hasValue())
bdl-11errorBundleA document must have a Composition as the first resource
: type = 'document' implies entry.first().resource.is(Composition)
bdl-12errorBundleA message must have a MessageHeader as the first resource
: type = 'message' implies entry.first().resource.is(MessageHeader)
bdl-13errorBundleA subscription-notification must have a SubscriptionStatus as the first resource
: type = 'subscription-notification' implies entry.first().resource.is(SubscriptionStatus)
bdl-14errorBundleentry.request.method PATCH not allowed for history
: type = 'history' implies entry.request.method != 'PATCH'
bdl-15errorBundleBundle resources where type is not transaction, transaction-response, batch, or batch-response or when the request is a POST SHALL have Bundle.entry.fullUrl populated
: type='transaction' or type='transaction-response' or type='batch' or type='batch-response' or entry.all(fullUrl.exists() or request.method='POST')
bdl-16errorBundleIssue.severity for all issues within the OperationOutcome must be either 'information' or 'warning'.
: issues.exists() implies (issues.issue.severity = 'information' or issues.issue.severity = 'warning')
bdl-17errorBundleUse and meaning of issues for documents has not been validated because the content will not be rendered in the document.
: type = 'document' implies issues.empty()
bdl-18errorBundleSelf link is required for searchsets.
: type = 'searchset' implies link.where(relation = 'self' and url.exists()).exists()
bdl-3aerrorBundleFor collections of type document, message, searchset or collection, all entries must contain resources, and not have request or response elements
: type in ('document' | 'message' | 'searchset' | 'collection') implies entry.all(resource.exists() and request.empty() and response.empty())
bdl-3berrorBundleFor collections of type history, all entries must contain request or response elements, and resources if the method is POST, PUT or PATCH
: type = 'history' implies entry.all(request.exists() and response.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3cerrorBundleFor collections of type transaction or batch, all entries must contain request elements, and resources if the method is POST, PUT or PATCH
: type in ('transaction' | 'batch') implies entry.all(request.method.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3derrorBundleFor collections of type transaction-response or batch-response, all entries must contain response elements
: type in ('transaction-response' | 'batch-response') implies entry.all(response.exists())
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle 0..* Bundle Contains a collection of resources
... meta S 1..1 Meta Metadata about the resource
.... Slices for security S 1..* Coding Security Labels applied to this resource
Slice: Unordered, Open by value:system
..... security:confidentialityCode S 1..1 Coding Security Labels applied to this resource
Binding: Poziom poufności (ConfidentialityCode) (required)
...... system 1..1 uri Identity of the terminology system
Required Pattern: http://terminology.hl7.org/CodeSystem/v3-Confidentiality
...... code S 1..1 code Symbol in syntax defined by the system
...... display S 1..1 string Representation defined by the system
... identifier
.... system S 1..1 uri The namespace for the identifier value
.... value S 1..1 string The value that is unique
... type 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification
Required Pattern: document
.... entry:All Slices Content/Rules for all slices
..... fullUrl 1..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource 1..1 Resource A resource in the bundle
..... search 0..0
..... request 0..0
..... response 0..0
.... entry:composition S 1..1 BackboneElement Entry in the bundle - will have a resource or information
..... resource 1..1 PLBaseComposition A set of resources composed into a single coherent clinical statement with clinical attestation

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Bundle.meta.security:confidentialityCoderequiredPLConfidentialityCodeVS
http://hl7.org.pl/fhir/ig/pl-base/ValueSet/pl-confidentialityCode-VS
From this IG

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Contains a collection of resources
Constraints: bdl-1, bdl-2, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12, bdl-13, bdl-14, bdl-15, bdl-16, bdl-17, bdl-18, bdl-3a, bdl-3b, bdl-3c, bdl-3d
... id Σ 0..1 id Logical id of this artifact
... meta SΣ 1..1 Meta Metadata about the resource
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... Slices for security SΣ 1..* Coding Security Labels applied to this resource
Slice: Unordered, Open by value:system
Binding: AllSecurityLabels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
..... security:confidentialityCode SΣ 1..1 Coding Security Labels applied to this resource
Binding: Poziom poufności (ConfidentialityCode) (required)
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Required Pattern: http://terminology.hl7.org/CodeSystem/v3-Confidentiality
...... version Σ 0..1 string Version of the system - if relevant
...... code SΣC 1..1 code Symbol in syntax defined by the system
...... display SΣC 1..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... identifier ΣC 0..1 Identifier Persistent identifier for the bundle
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... type Σ 0..1 CodeableConcept Description of identifier
Binding: IdentifierTypeCodes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
.... system SΣ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣC 1..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... type ΣC 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.
Required Pattern: document
... timestamp ΣC 0..1 instant When the bundle was assembled
... total ΣC 0..1 unsignedInt If search, the total number of matches
... link ΣC 0..* BackboneElement Links related to this Bundle
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... relation ΣC 1..1 code See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
Binding: LinkRelationTypes (required)
.... url ΣC 1..1 uri Reference details for the link
... Slices for entry SΣC 1..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by value:resource
Constraints: bdl-5, bdl-8
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
.... entry:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... link Σ 0..* See link (Bundle) Links related to this entry
..... fullUrl ΣC 1..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource ΣC 1..1 Resource A resource in the bundle
.... entry:composition SΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
Constraints: bdl-5, bdl-8
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... link Σ 0..* See link (Bundle) Links related to this entry
..... fullUrl ΣC 1..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource 1..1 PLBaseComposition A set of resources composed into a single coherent clinical statement with clinical attestation
... signature Σ 0..1 Signature Digital Signature
... issues ΣC 0..1 OperationOutcome(5.0.0) Issues with the Bundle

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Bundle.meta.securityextensibleAllSecurityLabels
http://hl7.org/fhir/ValueSet/security-labels|5.0.0
From the FHIR Standard
Bundle.meta.security:confidentialityCoderequiredPLConfidentialityCodeVS
http://hl7.org.pl/fhir/ig/pl-base/ValueSet/pl-confidentialityCode-VS
From this IG
Bundle.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags|5.0.0
From the FHIR Standard
Bundle.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
From the FHIR Standard
Bundle.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|5.0.0
From the FHIR Standard
Bundle.identifier.typeextensibleIdentifierTypeCodes
http://hl7.org/fhir/ValueSet/identifier-type|5.0.0
From the FHIR Standard
Bundle.typerequiredPattern Value: document
http://hl7.org/fhir/ValueSet/bundle-type|5.0.0
From the FHIR Standard
Bundle.link.relationrequiredLinkRelationTypes
http://hl7.org/fhir/ValueSet/iana-link-relations|5.0.0
From the FHIR Standard
Bundle.entry.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|5.0.0
From the FHIR Standard
Bundle.entry.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|5.0.0
From the FHIR Standard
Bundle.entry:composition.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|5.0.0
From the FHIR Standard
Bundle.entry:composition.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|5.0.0
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
bdl-1errorBundletotal only when a search or history
: total.empty() or (type = 'searchset') or (type = 'history')
bdl-2errorBundleentry.search only when a search
: (type = 'searchset') or entry.search.empty()
bdl-5errorBundle.entry, Bundle.entry:compositionmust be a resource unless there's a request or response
: resource.exists() or request.exists() or response.exists()
bdl-7errorBundleFullUrl 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&iif(resource.meta.versionId.exists(), resource.meta.versionId, '')).isDistinct()
bdl-8errorBundle.entry, Bundle.entry:compositionfullUrl cannot be a version specific reference
: fullUrl.exists() implies fullUrl.contains('/_history/').not()
bdl-9errorBundleA document must have an identifier with a system and a value
: type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10errorBundleA document must have a date
: type = 'document' implies (timestamp.hasValue())
bdl-11errorBundleA document must have a Composition as the first resource
: type = 'document' implies entry.first().resource.is(Composition)
bdl-12errorBundleA message must have a MessageHeader as the first resource
: type = 'message' implies entry.first().resource.is(MessageHeader)
bdl-13errorBundleA subscription-notification must have a SubscriptionStatus as the first resource
: type = 'subscription-notification' implies entry.first().resource.is(SubscriptionStatus)
bdl-14errorBundleentry.request.method PATCH not allowed for history
: type = 'history' implies entry.request.method != 'PATCH'
bdl-15errorBundleBundle resources where type is not transaction, transaction-response, batch, or batch-response or when the request is a POST SHALL have Bundle.entry.fullUrl populated
: type='transaction' or type='transaction-response' or type='batch' or type='batch-response' or entry.all(fullUrl.exists() or request.method='POST')
bdl-16errorBundleIssue.severity for all issues within the OperationOutcome must be either 'information' or 'warning'.
: issues.exists() implies (issues.issue.severity = 'information' or issues.issue.severity = 'warning')
bdl-17errorBundleUse and meaning of issues for documents has not been validated because the content will not be rendered in the document.
: type = 'document' implies issues.empty()
bdl-18errorBundleSelf link is required for searchsets.
: type = 'searchset' implies link.where(relation = 'self' and url.exists()).exists()
bdl-3aerrorBundleFor collections of type document, message, searchset or collection, all entries must contain resources, and not have request or response elements
: type in ('document' | 'message' | 'searchset' | 'collection') implies entry.all(resource.exists() and request.empty() and response.empty())
bdl-3berrorBundleFor collections of type history, all entries must contain request or response elements, and resources if the method is POST, PUT or PATCH
: type = 'history' implies entry.all(request.exists() and response.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3cerrorBundleFor collections of type transaction or batch, all entries must contain request elements, and resources if the method is POST, PUT or PATCH
: type in ('transaction' | 'batch') implies entry.all(request.method.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3derrorBundleFor collections of type transaction-response or batch-response, all entries must contain response elements
: type in ('transaction-response' | 'batch-response') implies entry.all(response.exists())
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Bundle

Summary

Mandatory: 10 elements(2 nested mandatory elements)
Must-Support: 9 elements
Prohibited: 3 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

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

 

Other representations of profile: CSV, Excel, Schematron