FHIR Artifacts > Structure Definition: Bundle Profile

Structure Definition: Bundle Profile

Canonical URL:http://ehealthontario.ca/fhir/StructureDefinition/eReferralBundle

Simplifier project page: EReferralBundle

Derived from: Bundle (CA:eReC)

Base FHIR from: Bundle (R4)

Formal Views of Profile Content

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

Differential View

idΣ0..1string
id0..1string
extensionC0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ0..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
typeS Σ1..1codeBindingPattern
timestampS Σ1..1instant
totalΣ C0..1unsignedInt
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
relationΣ1..1string
urlΣ1..1uri
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
fullUrlS Σ1..1uri
resourceS Σ1..1Resource
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
fullUrlS Σ1..1uri
resourceS Σ1..1Resource
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
fullUrlS Σ1..1uri
resourceS Σ1..1EReferralServiceRequest, EReferralTask, EReferralAppointment, EReferralCommunication
signatureΣ0..1Signature

Hybrid View

idΣ0..1string
id0..1string
extensionC0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ0..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
typeS Σ1..1codeBindingPattern
timestampS Σ1..1instant
totalΣ C0..1unsignedInt
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
relationΣ1..1string
urlΣ1..1uri
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
fullUrlS Σ1..1uri
resourceS Σ1..1Resource
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
fullUrlS Σ1..1uri
resourceS Σ1..1Resource
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
fullUrlS Σ1..1uri
resourceS Σ1..1EReferralServiceRequest, EReferralTask, EReferralAppointment, EReferralCommunication
signatureΣ0..1Signature

Snapshot View

idΣ0..1string
id0..1string
extensionC0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ0..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
typeS Σ1..1codeBindingPattern
timestampS Σ1..1instant
totalΣ C0..1unsignedInt
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
relationΣ1..1string
urlΣ1..1uri
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
fullUrlS Σ1..1uri
resourceS Σ1..1Resource
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
fullUrlS Σ1..1uri
resourceS Σ1..1Resource
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
fullUrlS Σ1..1uri
resourceS Σ1..1EReferralServiceRequest, EReferralTask, EReferralAppointment, EReferralCommunication
signatureΣ0..1Signature

Table View

Bundle..
Bundle.meta..
Bundle.meta.profile..
Bundle.identifier..
Bundle.identifier.system1..
Bundle.identifier.value1..
Bundle.type..
Bundle.timestamp1..
Bundle.entry2..
Bundle.entry.fullUrl1..
Bundle.entry.resource1..
Bundle.entry.search..0
Bundle.entry.request..0
Bundle.entry.response..0
Bundle.entry:Message1..1
Bundle.entry:Message.resource..
Bundle.entry:Focus1..
Bundle.entry:Focus.resourceEReferralServiceRequest, EReferralTask, EReferralAppointment, EReferralCommunication..

JSON View

{
"resourceType": "StructureDefinition",
"id": "eReferralBundle",
"url": "http://ehealthontario.ca/fhir/StructureDefinition/eReferralBundle",
"version": "1.2.0",
"name": "EReferralBundle",
"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: - 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",
"fhirVersion": "4.0.1",
"kind": "resource",
"abstract": false,
"type": "Bundle",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Bundle",
"derivation": "constraint",
"element": [
{
"id": "Bundle.meta",
"path": "Bundle.meta",
"mustSupport": true
},
{
"id": "Bundle.meta.profile",
"path": "Bundle.meta.profile",
"comment": "Implementers should be aware that some Canadian jurisdictions require vendors to use meta.profile to declare which FHIR profile(s) and version(s) the resource conforms to.",
"mustSupport": true
},
{
"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": {
{
"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",
"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."
},
{
"id": "Bundle.entry:Focus",
"path": "Bundle.entry",
"sliceName": "Focus",
"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://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-ServiceRequest",
"http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Task",
"http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Appointment",
"http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Communication"
]
}
]
}
]
}
}

STABILITY RISK: This profile is undergoing Ontario Health harmonization and may be adjusted as part of this process (e.g., adjustments to Must Support obligations).

Usage

A Bundle resource (type=message) is used to package together a collection of FHIR Resource instances to be sent from one system to another. 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

.meta.profile

  • used to declare conformance to this profile
  • populate with a fixed value: http://ehealthontario.ca/fhir/StructureDefinition/eReferralBundle|1.2.0

.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:Message.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:Message.resource

  • SHALL be populated with the resource for this entry

.entry:Message.request

  • SHALL NOT be populated

.entry:Message.response

  • SHALL NOT be populated