preBallot - The specification is currently in ballot review and subject to change. . . . For a full list of available versions, see the Directory of published versions
Bundle (CA:eReC)
Links
Profile
Derived from
http://hl7.org/fhir/StructureDefinition/Bundle
Description
The bundle resource is used to package a collection of resources into a single instance. This resource would be used for referral in the following contexts:
- Sending a set of resources as part of a message exchange
- Grouping a self-contained set of resources to act as an exchangeable and persistable collection with clinical integrity - e.g. a clinical document
References to this resource
Resource Content
Bundle | Bundle | ||
identifier | S | ||
system | S | 1.. | |
value | S | 1.. | |
type | S | Pattern | |
timestamp | S | 1.. | |
entry | S | 2.. | |
(All Slices) | |||
fullUrl | S | 1.. | |
resource | S | 1.. | |
search | ..0 | ||
request | ..0 | ||
response | ..0 | ||
Message | S | 1..1 | |
resource | MessageHeader | ||
Focus | S | 1.. | |
resource | ServiceRequest, Task, Appointment, Communication |
Bundle | I | Bundle | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
identifier | S Σ | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
type | S Σ | 1..1 | codeBindingPattern |
timestamp | S Σ | 1..1 | instant |
total | Σ I | 0..1 | unsignedInt |
link | Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
relation | Σ | 1..1 | string |
url | Σ | 1..1 | uri |
entry | S Σ I | 2..* | BackboneElement |
(All Slices) | |||
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
link | Σ | 0..* | see (link) |
fullUrl | S Σ | 1..1 | uri |
resource | S Σ | 1..1 | Resource |
search | Σ I | 0..0 | BackboneElement |
request | Σ I | 0..0 | BackboneElement |
response | Σ I | 0..0 | BackboneElement |
Message | S Σ I | 1..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
link | Σ | 0..* | see (link) |
fullUrl | Σ | 0..1 | uri |
resource | I | 0..1 | MessageHeader |
search | Σ I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
mode | Σ | 0..1 | codeBinding |
score | Σ | 0..1 | decimal |
request | Σ I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
method | Σ | 1..1 | codeBinding |
url | Σ | 1..1 | uri |
ifNoneMatch | Σ | 0..1 | string |
ifModifiedSince | Σ | 0..1 | instant |
ifMatch | Σ | 0..1 | string |
ifNoneExist | Σ | 0..1 | string |
response | Σ I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
status | Σ | 1..1 | string |
location | Σ | 0..1 | uri |
etag | Σ | 0..1 | string |
lastModified | Σ | 0..1 | instant |
outcome | Σ | 0..1 | Resource |
Focus | S Σ I | 1..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
link | Σ | 0..* | see (link) |
fullUrl | Σ | 0..1 | uri |
resource | Σ | 0..1 | ServiceRequest, Task, Appointment, Communication |
search | Σ I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
mode | Σ | 0..1 | codeBinding |
score | Σ | 0..1 | decimal |
request | Σ I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
method | Σ | 1..1 | codeBinding |
url | Σ | 1..1 | uri |
ifNoneMatch | Σ | 0..1 | string |
ifModifiedSince | Σ | 0..1 | instant |
ifMatch | Σ | 0..1 | string |
ifNoneExist | Σ | 0..1 | string |
response | Σ I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
status | Σ | 1..1 | string |
location | Σ | 0..1 | uri |
etag | Σ | 0..1 | string |
lastModified | Σ | 0..1 | instant |
outcome | Σ | 0..1 | Resource |
signature | Σ | 0..1 | Signature |
<StructureDefinition xmlns="http://hl7.org/fhir"> <id value="CA-eReC-Bundle" /> <url value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Bundle" /> <name value="Bundle" /> <status value="draft" /> <description value="The bundle resource is used to package a collection of resources into a single instance. This resource would be used for referral in the following contexts: \n- Sending a set of resources as part of a message exchange\n- Grouping a self-contained set of resources to act as an exchangeable and persistable collection with clinical integrity - e.g. a clinical document" /> <fhirVersion value="4.0.1" /> <kind value="resource" /> <abstract value="false" /> <type value="Bundle" /> <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Bundle" /> <derivation value="constraint" /> <differential> <element id="Bundle.identifier"> <path value="Bundle.identifier" /> <mustSupport value="true" /> </element> <element id="Bundle.identifier.system"> <path value="Bundle.identifier.system" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Bundle.identifier.value"> <path value="Bundle.identifier.value" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Bundle.type"> <path value="Bundle.type" /> <patternCode value="message" /> <mustSupport value="true" /> </element> <element id="Bundle.timestamp"> <path value="Bundle.timestamp" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Bundle.entry"> <path value="Bundle.entry" /> <slicing> <discriminator> <type value="profile" /> <path value="resource" /> </discriminator> <description value="The specific bundle entries that are needed for an eReC Message Bundle." /> <rules value="open" /> </slicing> <min value="2" /> <mustSupport value="true" /> </element> <element id="Bundle.entry.fullUrl"> <path value="Bundle.entry.fullUrl" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Bundle.entry.resource"> <path value="Bundle.entry.resource" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Bundle.entry.search"> <path value="Bundle.entry.search" /> <max value="0" /> </element> <element id="Bundle.entry.request"> <path value="Bundle.entry.request" /> <max value="0" /> </element> <element id="Bundle.entry.response"> <path value="Bundle.entry.response" /> <max value="0" /> </element> <element id="Bundle.entry:Message"> <path value="Bundle.entry" /> <sliceName value="Message" /> <short value="Entry in the bundle - will have a resource or information" /> <definition value="An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only)." /> <min value="1" /> <max value="1" /> <mustSupport value="true" /> </element> <element id="Bundle.entry:Message.resource"> <path value="Bundle.entry.resource" /> <short value="A resource that describes a message that is exchanged between systems" /> <definition value="The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle." /> <type> <code value="Resource" /> <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-MessageHeader" /> </type> </element> <element id="Bundle.entry:Focus"> <path value="Bundle.entry" /> <sliceName value="Focus" /> <short value="Entry in the bundle - will have a resource or information" /> <definition value="An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only)." /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Bundle.entry:Focus.resource"> <path value="Bundle.entry.resource" /> <short value="A resource that describes a message that is exchanged between systems" /> <definition value="The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle." /> <type> <code value="Resource" /> <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest" /> <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Task" /> <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Appointment" /> <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Communication" /> </type> </element> </differential> </StructureDefinition>
{ "resourceType": "StructureDefinition", "id": "CA-eReC-Bundle", "url": "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Bundle", "name": "Bundle", "status": "draft", "description": "The bundle resource is used to package a collection of resources into a single instance. This resource would be used for referral in the following contexts: \n- Sending a set of resources as part of a message exchange\n- Grouping a self-contained set of resources to act as an exchangeable and persistable collection with clinical integrity - e.g. a clinical document", "fhirVersion": "4.0.1", "kind": "resource", "abstract": false, "type": "Bundle", "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Bundle", "derivation": "constraint", "differential": { "element": [ { "id": "Bundle.identifier", "path": "Bundle.identifier", "mustSupport": true }, { "id": "Bundle.identifier.system", "path": "Bundle.identifier.system", "min": 1, "mustSupport": true }, { "id": "Bundle.identifier.value", "path": "Bundle.identifier.value", "min": 1, "mustSupport": true }, { "id": "Bundle.type", "path": "Bundle.type", "patternCode": "message", "mustSupport": true }, { "id": "Bundle.timestamp", "path": "Bundle.timestamp", "min": 1, "mustSupport": true }, { "id": "Bundle.entry", "path": "Bundle.entry", "slicing": { "discriminator": [ { "type": "profile", "path": "resource" } ], "description": "The specific bundle entries that are needed for an eReC Message Bundle.", "rules": "open" }, "min": 2, "mustSupport": true }, { "id": "Bundle.entry.fullUrl", "path": "Bundle.entry.fullUrl", "min": 1, "mustSupport": true }, { "id": "Bundle.entry.resource", "path": "Bundle.entry.resource", "min": 1, "mustSupport": true }, { "id": "Bundle.entry.search", "path": "Bundle.entry.search", "max": "0" }, { "id": "Bundle.entry.request", "path": "Bundle.entry.request", "max": "0" }, { "id": "Bundle.entry.response", "path": "Bundle.entry.response", "max": "0" }, { "id": "Bundle.entry:Message", "path": "Bundle.entry", "sliceName": "Message", "short": "Entry in the bundle - will have a resource or information", "definition": "An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).", "min": 1, "max": "1", "mustSupport": true }, { "id": "Bundle.entry:Message.resource", "path": "Bundle.entry.resource", "short": "A resource that describes a message that is exchanged between systems", "definition": "The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.", "type": [ { "code": "Resource", "profile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-MessageHeader" ] } ] }, { "id": "Bundle.entry:Focus", "path": "Bundle.entry", "sliceName": "Focus", "short": "Entry in the bundle - will have a resource or information", "definition": "An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).", "min": 1, "mustSupport": true }, { "id": "Bundle.entry:Focus.resource", "path": "Bundle.entry.resource", "short": "A resource that describes a message that is exchanged between systems", "definition": "The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.", "type": [ { "code": "Resource", "profile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest", "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Task", "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Appointment", "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Communication" ] } ] } ] } }
Terminology bindings
Constraints
Path | Id | Grade | Details | Expression |
---|---|---|---|---|
Bundle; Bundle; Bundle; Bundle; Bundle; Bundle; Bundle; Bundle; Bundle; Bundle.meta; Bundle.implicitRules; Bundle.language; Bundle.identifier; Bundle.identifier.extension; Bundle.identifier.extension; Bundle.identifier.use; Bundle.identifier.type; Bundle.identifier.system; Bundle.identifier.value; Bundle.identifier.period; Bundle.identifier.assigner; Bundle.type; Bundle.timestamp; Bundle.total; Bundle.link; Bundle.link.extension; Bundle.link.extension; Bundle.link.modifierExtension; Bundle.link.modifierExtension; Bundle.link.relation; Bundle.link.url; Bundle.entry; Bundle.entry; Bundle.entry; Bundle.entry.extension; Bundle.entry.extension; Bundle.entry.modifierExtension; Bundle.entry.modifierExtension; Bundle.entry.link; Bundle.entry.fullUrl; Bundle.entry.search; Bundle.entry.search.extension; Bundle.entry.search.extension; Bundle.entry.search.modifierExtension; Bundle.entry.search.modifierExtension; Bundle.entry.search.mode; Bundle.entry.search.score; Bundle.entry.request; Bundle.entry.request.extension; Bundle.entry.request.extension; Bundle.entry.request.modifierExtension; Bundle.entry.request.modifierExtension; Bundle.entry.request.method; Bundle.entry.request.url; Bundle.entry.request.ifNoneMatch; Bundle.entry.request.ifModifiedSince; Bundle.entry.request.ifMatch; Bundle.entry.request.ifNoneExist; Bundle.entry.response; Bundle.entry.response.extension; Bundle.entry.response.extension; Bundle.entry.response.modifierExtension; Bundle.entry.response.modifierExtension; Bundle.entry.response.status; Bundle.entry.response.location; Bundle.entry.response.etag; Bundle.entry.response.lastModified; Bundle.entry:Message; Bundle.entry:Message; Bundle.entry:Message; Bundle.entry:Message.extension; Bundle.entry:Message.extension; Bundle.entry:Message.modifierExtension; Bundle.entry:Message.modifierExtension; Bundle.entry:Message.link; Bundle.entry:Message.fullUrl; Bundle.entry:Message.resource; Bundle.entry:Message.resource; Bundle.entry:Message.resource; Bundle.entry:Message.resource; Bundle.entry:Message.resource; Bundle.entry:Message.search; Bundle.entry:Message.search.extension; Bundle.entry:Message.search.extension; Bundle.entry:Message.search.modifierExtension; Bundle.entry:Message.search.modifierExtension; Bundle.entry:Message.search.mode; Bundle.entry:Message.search.score; Bundle.entry:Message.request; Bundle.entry:Message.request.extension; Bundle.entry:Message.request.extension; Bundle.entry:Message.request.modifierExtension; Bundle.entry:Message.request.modifierExtension; Bundle.entry:Message.request.method; Bundle.entry:Message.request.url; Bundle.entry:Message.request.ifNoneMatch; Bundle.entry:Message.request.ifModifiedSince; Bundle.entry:Message.request.ifMatch; Bundle.entry:Message.request.ifNoneExist; Bundle.entry:Message.response; Bundle.entry:Message.response.extension; Bundle.entry:Message.response.extension; Bundle.entry:Message.response.modifierExtension; Bundle.entry:Message.response.modifierExtension; Bundle.entry:Message.response.status; Bundle.entry:Message.response.location; Bundle.entry:Message.response.etag; Bundle.entry:Message.response.lastModified; Bundle.entry:Focus; Bundle.entry:Focus; Bundle.entry:Focus; Bundle.entry:Focus.extension; Bundle.entry:Focus.extension; Bundle.entry:Focus.modifierExtension; Bundle.entry:Focus.modifierExtension; Bundle.entry:Focus.link; Bundle.entry:Focus.fullUrl; Bundle.entry:Focus.search; Bundle.entry:Focus.search.extension; Bundle.entry:Focus.search.extension; Bundle.entry:Focus.search.modifierExtension; Bundle.entry:Focus.search.modifierExtension; Bundle.entry:Focus.search.mode; Bundle.entry:Focus.search.score; Bundle.entry:Focus.request; Bundle.entry:Focus.request.extension; Bundle.entry:Focus.request.extension; Bundle.entry:Focus.request.modifierExtension; Bundle.entry:Focus.request.modifierExtension; Bundle.entry:Focus.request.method; Bundle.entry:Focus.request.url; Bundle.entry:Focus.request.ifNoneMatch; Bundle.entry:Focus.request.ifModifiedSince; Bundle.entry:Focus.request.ifMatch; Bundle.entry:Focus.request.ifNoneExist; Bundle.entry:Focus.response; Bundle.entry:Focus.response.extension; Bundle.entry:Focus.response.extension; Bundle.entry:Focus.response.modifierExtension; Bundle.entry:Focus.response.modifierExtension; Bundle.entry:Focus.response.status; Bundle.entry:Focus.response.location; Bundle.entry:Focus.response.etag; Bundle.entry:Focus.response.lastModified; Bundle.signature | bdl-1; bdl-2; bdl-3; bdl-4; bdl-7; bdl-9; bdl-10; bdl-11; bdl-12; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; bdl-5; bdl-8; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; bdl-5; bdl-8; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; dom-2; dom-3; dom-4; dom-5; dom-6; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; bdl-5; bdl-8; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1 | error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; warning; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error | total only when a search or history; entry.search only when a search; entry.request mandatory for batch/transaction/history, otherwise prohibited; entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited; FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles); A document must have an identifier with a system and a value; A document must have a date; A document must have a Composition as the first resource; A message must have a MessageHeader as the first resource; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; must be a resource unless there's a request or response; fullUrl cannot be a version specific reference; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; must be a resource unless there's a request or response; fullUrl cannot be a version specific reference; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; If the resource is contained in another resource, it SHALL NOT contain nested Resources; If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource; If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated; If a resource is contained in another resource, it SHALL NOT have a security label; A resource should have narrative for robust management; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; must be a resource unless there's a request or response; fullUrl cannot be a version specific reference; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children | total.empty() or (type = 'searchset') or (type = 'history'); entry.search.empty() or (type = 'searchset'); entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history')); entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history')); (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct(); type = 'document' implies (identifier.system.exists() and identifier.value.exists()); type = 'document' implies (timestamp.hasValue()); type = 'document' implies entry.first().resource.is(Composition); type = 'message' implies entry.first().resource.is(MessageHeader); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); resource.exists() or request.exists() or response.exists(); fullUrl.contains('/_history/').not(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); resource.exists() or request.exists() or response.exists(); fullUrl.contains('/_history/').not(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); contained.contained.empty(); contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty(); contained.meta.versionId.empty() and contained.meta.lastUpdated.empty(); contained.meta.security.empty(); text.`div`.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); resource.exists() or request.exists() or response.exists(); fullUrl.contains('/_history/').not(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()) |
Usage
The bundle resource is used to package a collection of resources into a single instance. This resource would be used for referral in the following contexts:
- Sending a set of resources as part of a message exchange
- Grouping a self-contained set of resources to act as an exchangeable and persistable collection with clinical integrity - e.g. a clinical document
The Bundle SHALL have an entry for each of the FHIR Resources required to convey information about the business event, starting with the MessageHeader which SHALL always be first.
Notes
The following rules apply to message
type Bundles.
.id
- used to uniquely identify a message instance
- populate this element with a UUID each time a message is sent
- note: a FHIR message contains two identifiers that are unique within the message stream, rules:
- a
Bundle.id
(this element) SHALL be assigned each time the message is sent - a
MessageHeader.id
SHALL be assigned when the message is created
- a
.type
- Declares that the Bundle contains a message
- Populate with a fixed value:
message
.timestamp
- Populate with the instant in time when the Bundle was created
- Format: YYYY-MM-DDThh:mm:ss.sss+zz:zz (e.g. 2015-02-07T13:28:17.239+02:00 or 2017-01-01T00:00:00Z).
.entry
- Create an
entry
for each of the FHIR Resources required to convey information about the business event - The MessageHeader SHALL be the first entry
.entry.fullUrl
- Each entry in the Bundle SHALL have a fullUrl which is the identity of the resource in the entry
- If a persistent identity for the resource is not available to use in the Bundle, a UUID SHOULD be used (urn:uuid:...)
.entry.resource
- SHALL be populated with the resource for this entry
.entry.Message
- SHALL have at least one messageHeader
.entry.Focus
- SHALL have at least one focus resource, same as the focus indicated in the
messagerheader.focus