Pharmaceutical Quality (Industry)
1.0.0 - STU1

Pharmaceutical Quality (Industry), published by HL7 International / Biomedical Research and Regulation. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/uv-dx-pq/ and changes regularly. See the Directory of published versions

## Resource Profile: Bundle - Product Excipients

Official URL: http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Bundle-drug-product-excipients-pq | Version: 1.0.0
Active as of 2024-05-08 | Computable Name: BundleDrugProductExcipientsPq
Other Identifiers: OID:2.16.840.1.113883.4.642.40.41.42.14

Identification domain: This Bundle profile represents the structured data used in CTD section 3.2.P.4 Control of Excipients, subsections 3.2.P.4.5 Excipients of Human or Animal Origin and 3.2.P.4.6 Novel Excipients.

Usage:

- Examples for this Resource Profile: Bundle/bundle-drug-product-excipients-pq-ex1

### Formal Views of Profile Content

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

- Differential Table
- Key Elements Table
- Snapshot Table
- Statistics/References
- All

This structure is derived from Bundle

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Bundle |  | 0..* | Bundle | Contains a collection of resources
identifier | S | 0..1 | Identifier | Persistent identifier for the bundle
type | S | 1..1 | code | collection Required Pattern: collection
timestamp | S | 0..1 | instant | When the bundle was assembled
Slices for entry | S | 4..* | BackboneElement | Entry in the bundle - will have a resource or information Slice: Unordered, Open by type:resource
entry:Product-Identification |  | 1..1 | BackboneElement | Entry in the bundle - will have a resource or information
resource |  | 0..1 | MedicinalProductDefinitionDrugProductPq | Detailed definition of a medicinal product
entry:Drug-Ingredient |  | 1..* | BackboneElement | Entry in the bundle - will have a resource or information
resource |  | 0..1 | IngredientDrugPq | An ingredient of a manufactured item or pharmaceutical product
entry:Component-Substance |  | 1..* | BackboneElement | Entry in the bundle - will have a resource or information
resource |  | 0..1 | SubstanceDefinitionComponentSubstanceDrugPq | The detailed description of a substance, typically at a level beyond what is used for prescribing
entry:Organization |  | 1..* | BackboneElement | Entry in the bundle - will have a resource or information
resource |  | 0..1 | OrganizationDrugPq | A grouping of people or organizations with a common purpose
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Bundle | C | 0..* | Bundle | Contains a collection of resources bdl-1: total only when a search or history bdl-2: entry.search only when a search bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) bdl-9: A document must have an identifier with a system and a value bdl-10: A document must have a date bdl-11: A document must have a Composition as the first resource bdl-12: A message must have a MessageHeader as the first resource bdl-13: A subscription-notification must have a SubscriptionStatus as the first resource bdl-14: entry.request.method PATCH not allowed for history bdl-15: Bundle 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 bdl-16: Issue.severity for all issues within the OperationOutcome must be either 'information' or 'warning'. bdl-17: Use and meaning of issues for documents has not been validated because the content will not be rendered in the document. bdl-18: Self link is required for searchsets. bdl-3a: For collections of type document, message, searchset or collection, all entries must contain resources, and not have request or response elements bdl-3b: For collections of type history, all entries must contain request or response elements, and resources if the method is POST, PUT or PATCH bdl-3c: For collections of type transaction or batch, all entries must contain request elements, and resources if the method is POST, PUT or PATCH bdl-3d: For collections of type transaction-response or batch-response, all entries must contain response elements
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
identifier | S Σ C | 0..1 | Identifier | Persistent identifier for the bundle
type | S Σ C | 1..1 | code | collection Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Required Pattern: collection
timestamp | S Σ C | 0..1 | instant | When the bundle was assembled
Slices for entry | S Σ C | 4..* | BackboneElement | Entry in the bundle - will have a resource or information Slice: Unordered, Open by type:resource bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource | Σ C | 0..1 | Resource | A resource in the bundle
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
status | Σ | 1..1 | string | Status response code (text optional)
entry:Product-Identification | Σ C | 1..1 | BackboneElement | Entry in the bundle - will have a resource or information bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource |  | 0..1 | MedicinalProductDefinitionDrugProductPq | Detailed definition of a medicinal product
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
status | Σ | 1..1 | string | Status response code (text optional)
entry:Drug-Ingredient | Σ C | 1..* | BackboneElement | Entry in the bundle - will have a resource or information bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource |  | 0..1 | IngredientDrugPq | An ingredient of a manufactured item or pharmaceutical product
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
status | Σ | 1..1 | string | Status response code (text optional)
entry:Component-Substance | Σ C | 1..* | BackboneElement | Entry in the bundle - will have a resource or information bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource |  | 0..1 | SubstanceDefinitionComponentSubstanceDrugPq | The detailed description of a substance, typically at a level beyond what is used for prescribing
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
status | Σ | 1..1 | string | Status response code (text optional)
entry:Organization | Σ C | 1..* | BackboneElement | Entry in the bundle - will have a resource or information bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource |  | 0..1 | OrganizationDrugPq | A grouping of people or organizations with a common purpose
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
status | Σ | 1..1 | string | Status response code (text optional)
issues | Σ C | 0..1 | OperationOutcome | Issues with the Bundle
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Bundle.type | required | Pattern: collection `http://hl7.org/fhir/ValueSet/bundle-type|5.0.0` from the FHIR Standard
Bundle.entry.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard
Bundle.entry:Product-Identification.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard
Bundle.entry:Drug-Ingredient.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard
Bundle.entry:Component-Substance.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard
Bundle.entry:Organization.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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 : (type = 'searchset') or entry.search.empty() |
bdl-5 | error | Bundle.entry, Bundle.entry:Product-Identification, Bundle.entry:Drug-Ingredient, Bundle.entry:Component-Substance, Bundle.entry:Organization | 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&iif(resource.meta.versionId.exists(), resource.meta.versionId, '')).isDistinct() |
bdl-8 | error | Bundle.entry, Bundle.entry:Product-Identification, Bundle.entry:Drug-Ingredient, Bundle.entry:Component-Substance, Bundle.entry:Organization | fullUrl cannot be a version specific reference : fullUrl.exists() implies 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) |
bdl-13 | error | Bundle | A subscription-notification must have a SubscriptionStatus as the first resource : type = 'subscription-notification' implies entry.first().resource.is(SubscriptionStatus) |
bdl-14 | error | Bundle | entry.request.method PATCH not allowed for history : type = 'history' implies entry.request.method != 'PATCH' |
bdl-15 | error | Bundle | Bundle 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-16 | error | Bundle | Issue.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-17 | error | Bundle | Use 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-18 | error | Bundle | Self link is required for searchsets. : type = 'searchset' implies link.where(relation = 'self' and url.exists()).exists() |
bdl-3a | error | Bundle | For 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-3b | error | Bundle | For 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-3c | error | Bundle | For 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-3d | error | Bundle | For 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-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() |

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Bundle | C | 0..* | Bundle | Contains a collection of resources bdl-1: total only when a search or history bdl-2: entry.search only when a search bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) bdl-9: A document must have an identifier with a system and a value bdl-10: A document must have a date bdl-11: A document must have a Composition as the first resource bdl-12: A message must have a MessageHeader as the first resource bdl-13: A subscription-notification must have a SubscriptionStatus as the first resource bdl-14: entry.request.method PATCH not allowed for history bdl-15: Bundle 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 bdl-16: Issue.severity for all issues within the OperationOutcome must be either 'information' or 'warning'. bdl-17: Use and meaning of issues for documents has not been validated because the content will not be rendered in the document. bdl-18: Self link is required for searchsets. bdl-3a: For collections of type document, message, searchset or collection, all entries must contain resources, and not have request or response elements bdl-3b: For collections of type history, all entries must contain request or response elements, and resources if the method is POST, PUT or PATCH bdl-3c: For collections of type transaction or batch, all entries must contain request elements, and resources if the method is POST, PUT or PATCH bdl-3d: For collections of type transaction-response or batch-response, all entries must contain response elements
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter Set
identifier | S Σ C | 0..1 | Identifier | Persistent identifier for the bundle
type | S Σ C | 1..1 | code | collection Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Required Pattern: collection
timestamp | S Σ 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 | 4..* | BackboneElement | Entry in the bundle - will have a resource or information Slice: Unordered, Open by type:resource bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource | Σ C | 0..1 | Resource | A resource in the bundle
search | Σ C | 0..1 | BackboneElement | Search related information
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
mode | Σ | 0..1 | code | match | include - why this is in the result set Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
score | Σ | 0..1 | decimal | Search ranking (between 0 and 1)
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
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
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
ifNoneMatch | Σ | 0..1 | string | For managing cache validation
ifModifiedSince | Σ | 0..1 | instant | For managing cache currency
ifMatch | Σ | 0..1 | string | For managing update contention
ifNoneExist | Σ | 0..1 | string | For conditional creates
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
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
status | Σ | 1..1 | string | Status response code (text optional)
location | Σ | 0..1 | uri | The location (if the operation returns a location)
etag | Σ | 0..1 | string | The Etag for the resource (if relevant)
lastModified | Σ | 0..1 | instant | Server's date time modified
outcome | Σ | 0..1 | Resource | OperationOutcome with hints and warnings (for batch/transaction)
entry:Product-Identification | Σ C | 1..1 | BackboneElement | Entry in the bundle - will have a resource or information bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource |  | 0..1 | MedicinalProductDefinitionDrugProductPq | Detailed definition of a medicinal product
search | Σ C | 0..1 | BackboneElement | Search related information
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
mode | Σ | 0..1 | code | match | include - why this is in the result set Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
score | Σ | 0..1 | decimal | Search ranking (between 0 and 1)
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
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
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
ifNoneMatch | Σ | 0..1 | string | For managing cache validation
ifModifiedSince | Σ | 0..1 | instant | For managing cache currency
ifMatch | Σ | 0..1 | string | For managing update contention
ifNoneExist | Σ | 0..1 | string | For conditional creates
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
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
status | Σ | 1..1 | string | Status response code (text optional)
location | Σ | 0..1 | uri | The location (if the operation returns a location)
etag | Σ | 0..1 | string | The Etag for the resource (if relevant)
lastModified | Σ | 0..1 | instant | Server's date time modified
outcome | Σ | 0..1 | Resource | OperationOutcome with hints and warnings (for batch/transaction)
entry:Drug-Ingredient | Σ C | 1..* | BackboneElement | Entry in the bundle - will have a resource or information bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource |  | 0..1 | IngredientDrugPq | An ingredient of a manufactured item or pharmaceutical product
search | Σ C | 0..1 | BackboneElement | Search related information
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
mode | Σ | 0..1 | code | match | include - why this is in the result set Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
score | Σ | 0..1 | decimal | Search ranking (between 0 and 1)
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
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
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
ifNoneMatch | Σ | 0..1 | string | For managing cache validation
ifModifiedSince | Σ | 0..1 | instant | For managing cache currency
ifMatch | Σ | 0..1 | string | For managing update contention
ifNoneExist | Σ | 0..1 | string | For conditional creates
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
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
status | Σ | 1..1 | string | Status response code (text optional)
location | Σ | 0..1 | uri | The location (if the operation returns a location)
etag | Σ | 0..1 | string | The Etag for the resource (if relevant)
lastModified | Σ | 0..1 | instant | Server's date time modified
outcome | Σ | 0..1 | Resource | OperationOutcome with hints and warnings (for batch/transaction)
entry:Component-Substance | Σ C | 1..* | BackboneElement | Entry in the bundle - will have a resource or information bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource |  | 0..1 | SubstanceDefinitionComponentSubstanceDrugPq | The detailed description of a substance, typically at a level beyond what is used for prescribing
search | Σ C | 0..1 | BackboneElement | Search related information
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
mode | Σ | 0..1 | code | match | include - why this is in the result set Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
score | Σ | 0..1 | decimal | Search ranking (between 0 and 1)
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
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
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
ifNoneMatch | Σ | 0..1 | string | For managing cache validation
ifModifiedSince | Σ | 0..1 | instant | For managing cache currency
ifMatch | Σ | 0..1 | string | For managing update contention
ifNoneExist | Σ | 0..1 | string | For conditional creates
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
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
status | Σ | 1..1 | string | Status response code (text optional)
location | Σ | 0..1 | uri | The location (if the operation returns a location)
etag | Σ | 0..1 | string | The Etag for the resource (if relevant)
lastModified | Σ | 0..1 | instant | Server's date time modified
outcome | Σ | 0..1 | Resource | OperationOutcome with hints and warnings (for batch/transaction)
entry:Organization | Σ C | 1..* | BackboneElement | Entry in the bundle - will have a resource or information bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource |  | 0..1 | OrganizationDrugPq | A grouping of people or organizations with a common purpose
search | Σ C | 0..1 | BackboneElement | Search related information
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
mode | Σ | 0..1 | code | match | include - why this is in the result set Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
score | Σ | 0..1 | decimal | Search ranking (between 0 and 1)
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
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
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
ifNoneMatch | Σ | 0..1 | string | For managing cache validation
ifModifiedSince | Σ | 0..1 | instant | For managing cache currency
ifMatch | Σ | 0..1 | string | For managing update contention
ifNoneExist | Σ | 0..1 | string | For conditional creates
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
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
status | Σ | 1..1 | string | Status response code (text optional)
location | Σ | 0..1 | uri | The location (if the operation returns a location)
etag | Σ | 0..1 | string | The Etag for the resource (if relevant)
lastModified | Σ | 0..1 | instant | Server's date time modified
outcome | Σ | 0..1 | Resource | OperationOutcome with hints and warnings (for batch/transaction)
signature | Σ | 0..1 | Signature | Digital Signature
issues | Σ C | 0..1 | OperationOutcome | Issues with the Bundle
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Bundle.language | required | AllLanguages `http://hl7.org/fhir/ValueSet/all-languages|5.0.0` from the FHIR Standard
Bundle.type | required | Pattern: collection `http://hl7.org/fhir/ValueSet/bundle-type|5.0.0` from the FHIR Standard
Bundle.link.relation | required | LinkRelationTypes `http://hl7.org/fhir/ValueSet/iana-link-relations|5.0.0` from the FHIR Standard
Bundle.entry.search.mode | required | SearchEntryMode `http://hl7.org/fhir/ValueSet/search-entry-mode|5.0.0` from the FHIR Standard
Bundle.entry.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard
Bundle.entry:Product-Identification.search.mode | required | SearchEntryMode `http://hl7.org/fhir/ValueSet/search-entry-mode|5.0.0` from the FHIR Standard
Bundle.entry:Product-Identification.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard
Bundle.entry:Drug-Ingredient.search.mode | required | SearchEntryMode `http://hl7.org/fhir/ValueSet/search-entry-mode|5.0.0` from the FHIR Standard
Bundle.entry:Drug-Ingredient.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard
Bundle.entry:Component-Substance.search.mode | required | SearchEntryMode `http://hl7.org/fhir/ValueSet/search-entry-mode|5.0.0` from the FHIR Standard
Bundle.entry:Component-Substance.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard
Bundle.entry:Organization.search.mode | required | SearchEntryMode `http://hl7.org/fhir/ValueSet/search-entry-mode|5.0.0` from the FHIR Standard
Bundle.entry:Organization.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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 : (type = 'searchset') or entry.search.empty() |
bdl-5 | error | Bundle.entry, Bundle.entry:Product-Identification, Bundle.entry:Drug-Ingredient, Bundle.entry:Component-Substance, Bundle.entry:Organization | 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&iif(resource.meta.versionId.exists(), resource.meta.versionId, '')).isDistinct() |
bdl-8 | error | Bundle.entry, Bundle.entry:Product-Identification, Bundle.entry:Drug-Ingredient, Bundle.entry:Component-Substance, Bundle.entry:Organization | fullUrl cannot be a version specific reference : fullUrl.exists() implies 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) |
bdl-13 | error | Bundle | A subscription-notification must have a SubscriptionStatus as the first resource : type = 'subscription-notification' implies entry.first().resource.is(SubscriptionStatus) |
bdl-14 | error | Bundle | entry.request.method PATCH not allowed for history : type = 'history' implies entry.request.method != 'PATCH' |
bdl-15 | error | Bundle | Bundle 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-16 | error | Bundle | Issue.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-17 | error | Bundle | Use 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-18 | error | Bundle | Self link is required for searchsets. : type = 'searchset' implies link.where(relation = 'self' and url.exists()).exists() |
bdl-3a | error | Bundle | For 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-3b | error | Bundle | For 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-3c | error | Bundle | For 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-3d | error | Bundle | For 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-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |

This structure is derived from Bundle

Summary

Mandatory: 4 elements
Must-Support: 4 elements

Structures

This structure refers to these other structures:

- MedicinalProductDefinition - Drug Product PQ (http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/MedicinalProductDefinition-drug-product-pq)
- Ingredient - Drug Pq (http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Ingredient-drug-pq)
- SubstanceDefinition - Component Substance Drug PQ (http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/SubstanceDefinition-component-substance-drug-pq)
- Organization - Drug PQ (http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Organization-drug-pq)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Bundle.entry

Differential View

This structure is derived from Bundle

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Bundle |  | 0..* | Bundle | Contains a collection of resources
identifier | S | 0..1 | Identifier | Persistent identifier for the bundle
type | S | 1..1 | code | collection Required Pattern: collection
timestamp | S | 0..1 | instant | When the bundle was assembled
Slices for entry | S | 4..* | BackboneElement | Entry in the bundle - will have a resource or information Slice: Unordered, Open by type:resource
entry:Product-Identification |  | 1..1 | BackboneElement | Entry in the bundle - will have a resource or information
resource |  | 0..1 | MedicinalProductDefinitionDrugProductPq | Detailed definition of a medicinal product
entry:Drug-Ingredient |  | 1..* | BackboneElement | Entry in the bundle - will have a resource or information
resource |  | 0..1 | IngredientDrugPq | An ingredient of a manufactured item or pharmaceutical product
entry:Component-Substance |  | 1..* | BackboneElement | Entry in the bundle - will have a resource or information
resource |  | 0..1 | SubstanceDefinitionComponentSubstanceDrugPq | The detailed description of a substance, typically at a level beyond what is used for prescribing
entry:Organization |  | 1..* | BackboneElement | Entry in the bundle - will have a resource or information
resource |  | 0..1 | OrganizationDrugPq | A grouping of people or organizations with a common purpose
Documentation for this format

Key Elements View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Bundle | C | 0..* | Bundle | Contains a collection of resources bdl-1: total only when a search or history bdl-2: entry.search only when a search bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) bdl-9: A document must have an identifier with a system and a value bdl-10: A document must have a date bdl-11: A document must have a Composition as the first resource bdl-12: A message must have a MessageHeader as the first resource bdl-13: A subscription-notification must have a SubscriptionStatus as the first resource bdl-14: entry.request.method PATCH not allowed for history bdl-15: Bundle 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 bdl-16: Issue.severity for all issues within the OperationOutcome must be either 'information' or 'warning'. bdl-17: Use and meaning of issues for documents has not been validated because the content will not be rendered in the document. bdl-18: Self link is required for searchsets. bdl-3a: For collections of type document, message, searchset or collection, all entries must contain resources, and not have request or response elements bdl-3b: For collections of type history, all entries must contain request or response elements, and resources if the method is POST, PUT or PATCH bdl-3c: For collections of type transaction or batch, all entries must contain request elements, and resources if the method is POST, PUT or PATCH bdl-3d: For collections of type transaction-response or batch-response, all entries must contain response elements
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
identifier | S Σ C | 0..1 | Identifier | Persistent identifier for the bundle
type | S Σ C | 1..1 | code | collection Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Required Pattern: collection
timestamp | S Σ C | 0..1 | instant | When the bundle was assembled
Slices for entry | S Σ C | 4..* | BackboneElement | Entry in the bundle - will have a resource or information Slice: Unordered, Open by type:resource bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource | Σ C | 0..1 | Resource | A resource in the bundle
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
status | Σ | 1..1 | string | Status response code (text optional)
entry:Product-Identification | Σ C | 1..1 | BackboneElement | Entry in the bundle - will have a resource or information bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource |  | 0..1 | MedicinalProductDefinitionDrugProductPq | Detailed definition of a medicinal product
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
status | Σ | 1..1 | string | Status response code (text optional)
entry:Drug-Ingredient | Σ C | 1..* | BackboneElement | Entry in the bundle - will have a resource or information bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource |  | 0..1 | IngredientDrugPq | An ingredient of a manufactured item or pharmaceutical product
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
status | Σ | 1..1 | string | Status response code (text optional)
entry:Component-Substance | Σ C | 1..* | BackboneElement | Entry in the bundle - will have a resource or information bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource |  | 0..1 | SubstanceDefinitionComponentSubstanceDrugPq | The detailed description of a substance, typically at a level beyond what is used for prescribing
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
status | Σ | 1..1 | string | Status response code (text optional)
entry:Organization | Σ C | 1..* | BackboneElement | Entry in the bundle - will have a resource or information bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource |  | 0..1 | OrganizationDrugPq | A grouping of people or organizations with a common purpose
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
status | Σ | 1..1 | string | Status response code (text optional)
issues | Σ C | 0..1 | OperationOutcome | Issues with the Bundle
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Bundle.type | required | Pattern: collection `http://hl7.org/fhir/ValueSet/bundle-type|5.0.0` from the FHIR Standard
Bundle.entry.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard
Bundle.entry:Product-Identification.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard
Bundle.entry:Drug-Ingredient.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard
Bundle.entry:Component-Substance.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard
Bundle.entry:Organization.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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 : (type = 'searchset') or entry.search.empty() |
bdl-5 | error | Bundle.entry, Bundle.entry:Product-Identification, Bundle.entry:Drug-Ingredient, Bundle.entry:Component-Substance, Bundle.entry:Organization | 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&iif(resource.meta.versionId.exists(), resource.meta.versionId, '')).isDistinct() |
bdl-8 | error | Bundle.entry, Bundle.entry:Product-Identification, Bundle.entry:Drug-Ingredient, Bundle.entry:Component-Substance, Bundle.entry:Organization | fullUrl cannot be a version specific reference : fullUrl.exists() implies 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) |
bdl-13 | error | Bundle | A subscription-notification must have a SubscriptionStatus as the first resource : type = 'subscription-notification' implies entry.first().resource.is(SubscriptionStatus) |
bdl-14 | error | Bundle | entry.request.method PATCH not allowed for history : type = 'history' implies entry.request.method != 'PATCH' |
bdl-15 | error | Bundle | Bundle 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-16 | error | Bundle | Issue.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-17 | error | Bundle | Use 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-18 | error | Bundle | Self link is required for searchsets. : type = 'searchset' implies link.where(relation = 'self' and url.exists()).exists() |
bdl-3a | error | Bundle | For 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-3b | error | Bundle | For 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-3c | error | Bundle | For 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-3d | error | Bundle | For 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-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() |

Snapshot View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Bundle | C | 0..* | Bundle | Contains a collection of resources bdl-1: total only when a search or history bdl-2: entry.search only when a search bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) bdl-9: A document must have an identifier with a system and a value bdl-10: A document must have a date bdl-11: A document must have a Composition as the first resource bdl-12: A message must have a MessageHeader as the first resource bdl-13: A subscription-notification must have a SubscriptionStatus as the first resource bdl-14: entry.request.method PATCH not allowed for history bdl-15: Bundle 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 bdl-16: Issue.severity for all issues within the OperationOutcome must be either 'information' or 'warning'. bdl-17: Use and meaning of issues for documents has not been validated because the content will not be rendered in the document. bdl-18: Self link is required for searchsets. bdl-3a: For collections of type document, message, searchset or collection, all entries must contain resources, and not have request or response elements bdl-3b: For collections of type history, all entries must contain request or response elements, and resources if the method is POST, PUT or PATCH bdl-3c: For collections of type transaction or batch, all entries must contain request elements, and resources if the method is POST, PUT or PATCH bdl-3d: For collections of type transaction-response or batch-response, all entries must contain response elements
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter Set
identifier | S Σ C | 0..1 | Identifier | Persistent identifier for the bundle
type | S Σ C | 1..1 | code | collection Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Required Pattern: collection
timestamp | S Σ 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 | 4..* | BackboneElement | Entry in the bundle - will have a resource or information Slice: Unordered, Open by type:resource bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource | Σ C | 0..1 | Resource | A resource in the bundle
search | Σ C | 0..1 | BackboneElement | Search related information
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
mode | Σ | 0..1 | code | match | include - why this is in the result set Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
score | Σ | 0..1 | decimal | Search ranking (between 0 and 1)
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
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
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
ifNoneMatch | Σ | 0..1 | string | For managing cache validation
ifModifiedSince | Σ | 0..1 | instant | For managing cache currency
ifMatch | Σ | 0..1 | string | For managing update contention
ifNoneExist | Σ | 0..1 | string | For conditional creates
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
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
status | Σ | 1..1 | string | Status response code (text optional)
location | Σ | 0..1 | uri | The location (if the operation returns a location)
etag | Σ | 0..1 | string | The Etag for the resource (if relevant)
lastModified | Σ | 0..1 | instant | Server's date time modified
outcome | Σ | 0..1 | Resource | OperationOutcome with hints and warnings (for batch/transaction)
entry:Product-Identification | Σ C | 1..1 | BackboneElement | Entry in the bundle - will have a resource or information bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource |  | 0..1 | MedicinalProductDefinitionDrugProductPq | Detailed definition of a medicinal product
search | Σ C | 0..1 | BackboneElement | Search related information
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
mode | Σ | 0..1 | code | match | include - why this is in the result set Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
score | Σ | 0..1 | decimal | Search ranking (between 0 and 1)
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
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
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
ifNoneMatch | Σ | 0..1 | string | For managing cache validation
ifModifiedSince | Σ | 0..1 | instant | For managing cache currency
ifMatch | Σ | 0..1 | string | For managing update contention
ifNoneExist | Σ | 0..1 | string | For conditional creates
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
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
status | Σ | 1..1 | string | Status response code (text optional)
location | Σ | 0..1 | uri | The location (if the operation returns a location)
etag | Σ | 0..1 | string | The Etag for the resource (if relevant)
lastModified | Σ | 0..1 | instant | Server's date time modified
outcome | Σ | 0..1 | Resource | OperationOutcome with hints and warnings (for batch/transaction)
entry:Drug-Ingredient | Σ C | 1..* | BackboneElement | Entry in the bundle - will have a resource or information bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource |  | 0..1 | IngredientDrugPq | An ingredient of a manufactured item or pharmaceutical product
search | Σ C | 0..1 | BackboneElement | Search related information
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
mode | Σ | 0..1 | code | match | include - why this is in the result set Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
score | Σ | 0..1 | decimal | Search ranking (between 0 and 1)
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
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
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
ifNoneMatch | Σ | 0..1 | string | For managing cache validation
ifModifiedSince | Σ | 0..1 | instant | For managing cache currency
ifMatch | Σ | 0..1 | string | For managing update contention
ifNoneExist | Σ | 0..1 | string | For conditional creates
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
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
status | Σ | 1..1 | string | Status response code (text optional)
location | Σ | 0..1 | uri | The location (if the operation returns a location)
etag | Σ | 0..1 | string | The Etag for the resource (if relevant)
lastModified | Σ | 0..1 | instant | Server's date time modified
outcome | Σ | 0..1 | Resource | OperationOutcome with hints and warnings (for batch/transaction)
entry:Component-Substance | Σ C | 1..* | BackboneElement | Entry in the bundle - will have a resource or information bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource |  | 0..1 | SubstanceDefinitionComponentSubstanceDrugPq | The detailed description of a substance, typically at a level beyond what is used for prescribing
search | Σ C | 0..1 | BackboneElement | Search related information
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
mode | Σ | 0..1 | code | match | include - why this is in the result set Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
score | Σ | 0..1 | decimal | Search ranking (between 0 and 1)
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
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
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
ifNoneMatch | Σ | 0..1 | string | For managing cache validation
ifModifiedSince | Σ | 0..1 | instant | For managing cache currency
ifMatch | Σ | 0..1 | string | For managing update contention
ifNoneExist | Σ | 0..1 | string | For conditional creates
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
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
status | Σ | 1..1 | string | Status response code (text optional)
location | Σ | 0..1 | uri | The location (if the operation returns a location)
etag | Σ | 0..1 | string | The Etag for the resource (if relevant)
lastModified | Σ | 0..1 | instant | Server's date time modified
outcome | Σ | 0..1 | Resource | OperationOutcome with hints and warnings (for batch/transaction)
entry:Organization | Σ C | 1..* | BackboneElement | Entry in the bundle - will have a resource or information bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference 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 | 0..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
resource |  | 0..1 | OrganizationDrugPq | A grouping of people or organizations with a common purpose
search | Σ C | 0..1 | BackboneElement | Search related information
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
mode | Σ | 0..1 | code | match | include - why this is in the result set Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
score | Σ | 0..1 | decimal | Search ranking (between 0 and 1)
request | Σ C | 0..1 | BackboneElement | Additional execution information (transaction/batch/history)
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
method | Σ C | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
url | Σ | 1..1 | uri | URL for HTTP equivalent of this entry
ifNoneMatch | Σ | 0..1 | string | For managing cache validation
ifModifiedSince | Σ | 0..1 | instant | For managing cache currency
ifMatch | Σ | 0..1 | string | For managing update contention
ifNoneExist | Σ | 0..1 | string | For conditional creates
response | Σ C | 0..1 | BackboneElement | Results of execution (transaction/batch/history)
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
status | Σ | 1..1 | string | Status response code (text optional)
location | Σ | 0..1 | uri | The location (if the operation returns a location)
etag | Σ | 0..1 | string | The Etag for the resource (if relevant)
lastModified | Σ | 0..1 | instant | Server's date time modified
outcome | Σ | 0..1 | Resource | OperationOutcome with hints and warnings (for batch/transaction)
signature | Σ | 0..1 | Signature | Digital Signature
issues | Σ C | 0..1 | OperationOutcome | Issues with the Bundle
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Bundle.language | required | AllLanguages `http://hl7.org/fhir/ValueSet/all-languages|5.0.0` from the FHIR Standard
Bundle.type | required | Pattern: collection `http://hl7.org/fhir/ValueSet/bundle-type|5.0.0` from the FHIR Standard
Bundle.link.relation | required | LinkRelationTypes `http://hl7.org/fhir/ValueSet/iana-link-relations|5.0.0` from the FHIR Standard
Bundle.entry.search.mode | required | SearchEntryMode `http://hl7.org/fhir/ValueSet/search-entry-mode|5.0.0` from the FHIR Standard
Bundle.entry.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard
Bundle.entry:Product-Identification.search.mode | required | SearchEntryMode `http://hl7.org/fhir/ValueSet/search-entry-mode|5.0.0` from the FHIR Standard
Bundle.entry:Product-Identification.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard
Bundle.entry:Drug-Ingredient.search.mode | required | SearchEntryMode `http://hl7.org/fhir/ValueSet/search-entry-mode|5.0.0` from the FHIR Standard
Bundle.entry:Drug-Ingredient.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard
Bundle.entry:Component-Substance.search.mode | required | SearchEntryMode `http://hl7.org/fhir/ValueSet/search-entry-mode|5.0.0` from the FHIR Standard
Bundle.entry:Component-Substance.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard
Bundle.entry:Organization.search.mode | required | SearchEntryMode `http://hl7.org/fhir/ValueSet/search-entry-mode|5.0.0` from the FHIR Standard
Bundle.entry:Organization.request.method | required | HTTPVerb `http://hl7.org/fhir/ValueSet/http-verb|5.0.0` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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 : (type = 'searchset') or entry.search.empty() |
bdl-5 | error | Bundle.entry, Bundle.entry:Product-Identification, Bundle.entry:Drug-Ingredient, Bundle.entry:Component-Substance, Bundle.entry:Organization | 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&iif(resource.meta.versionId.exists(), resource.meta.versionId, '')).isDistinct() |
bdl-8 | error | Bundle.entry, Bundle.entry:Product-Identification, Bundle.entry:Drug-Ingredient, Bundle.entry:Component-Substance, Bundle.entry:Organization | fullUrl cannot be a version specific reference : fullUrl.exists() implies 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) |
bdl-13 | error | Bundle | A subscription-notification must have a SubscriptionStatus as the first resource : type = 'subscription-notification' implies entry.first().resource.is(SubscriptionStatus) |
bdl-14 | error | Bundle | entry.request.method PATCH not allowed for history : type = 'history' implies entry.request.method != 'PATCH' |
bdl-15 | error | Bundle | Bundle 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-16 | error | Bundle | Issue.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-17 | error | Bundle | Use 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-18 | error | Bundle | Self link is required for searchsets. : type = 'searchset' implies link.where(relation = 'self' and url.exists()).exists() |
bdl-3a | error | Bundle | For 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-3b | error | Bundle | For 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-3c | error | Bundle | For 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-3d | error | Bundle | For 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-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |

This structure is derived from Bundle

Summary

Mandatory: 4 elements
Must-Support: 4 elements

Structures

This structure refers to these other structures:

- MedicinalProductDefinition - Drug Product PQ (http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/MedicinalProductDefinition-drug-product-pq)
- Ingredient - Drug Pq (http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Ingredient-drug-pq)
- SubstanceDefinition - Component Substance Drug PQ (http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/SubstanceDefinition-component-substance-drug-pq)
- Organization - Drug PQ (http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Organization-drug-pq)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Bundle.entry

Other representations of profile: CSV, Excel, Schematron