FHIR Artifacts > Structure Definition: Bundle Profile

Structure Definition: Bundle Profile

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

Simplifier project page: Bundle

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
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
typeS Σ1..1codeBindingPattern
timestampS Σ1..1instant
totalΣ I0..1unsignedInt
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
relationΣ1..1string
urlΣ1..1uri
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
relationS Σ1..1string
urlS Σ1..1uri
fullUrlS Σ1..1uri
resourceS Σ1..1Resource
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
fullUrlΣ0..1uri
resourceΣ I0..1MessageHeader
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
modeΣ0..1codeBinding
scoreΣ0..1decimal
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
methodΣ1..1codeBinding
urlΣ1..1uri
ifNoneMatchΣ0..1string
ifModifiedSinceΣ0..1instant
ifMatchΣ0..1string
ifNoneExistΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
statusΣ1..1string
locationΣ0..1uri
etagΣ0..1string
lastModifiedΣ0..1instant
outcomeΣ0..1Resource
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
fullUrlΣ0..1uri
resourceΣ0..1ServiceRequest, Task, Appointment, Communication
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
modeΣ0..1codeBinding
scoreΣ0..1decimal
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
methodΣ1..1codeBinding
urlΣ1..1uri
ifNoneMatchΣ0..1string
ifModifiedSinceΣ0..1instant
ifMatchΣ0..1string
ifNoneExistΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
statusΣ1..1string
locationΣ0..1uri
etagΣ0..1string
lastModifiedΣ0..1instant
outcomeΣ0..1Resource
signatureΣ0..1Signature

Hybrid View

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
typeS Σ1..1codeBindingPattern
timestampS Σ1..1instant
totalΣ I0..1unsignedInt
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
relationΣ1..1string
urlΣ1..1uri
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
relationS Σ1..1string
urlS Σ1..1uri
fullUrlS Σ1..1uri
resourceS Σ1..1Resource
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
fullUrlΣ0..1uri
resourceΣ I0..1MessageHeader
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
modeΣ0..1codeBinding
scoreΣ0..1decimal
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
methodΣ1..1codeBinding
urlΣ1..1uri
ifNoneMatchΣ0..1string
ifModifiedSinceΣ0..1instant
ifMatchΣ0..1string
ifNoneExistΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
statusΣ1..1string
locationΣ0..1uri
etagΣ0..1string
lastModifiedΣ0..1instant
outcomeΣ0..1Resource
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
fullUrlΣ0..1uri
resourceΣ0..1ServiceRequest, Task, Appointment, Communication
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
modeΣ0..1codeBinding
scoreΣ0..1decimal
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
methodΣ1..1codeBinding
urlΣ1..1uri
ifNoneMatchΣ0..1string
ifModifiedSinceΣ0..1instant
ifMatchΣ0..1string
ifNoneExistΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
statusΣ1..1string
locationΣ0..1uri
etagΣ0..1string
lastModifiedΣ0..1instant
outcomeΣ0..1Resource
signatureΣ0..1Signature

Snapshot View

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
typeS Σ1..1codeBindingPattern
timestampS Σ1..1instant
totalΣ I0..1unsignedInt
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
relationΣ1..1string
urlΣ1..1uri
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
relationS Σ1..1string
urlS Σ1..1uri
fullUrlS Σ1..1uri
resourceS Σ1..1Resource
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
fullUrlΣ0..1uri
resourceΣ I0..1MessageHeader
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
modeΣ0..1codeBinding
scoreΣ0..1decimal
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
methodΣ1..1codeBinding
urlΣ1..1uri
ifNoneMatchΣ0..1string
ifModifiedSinceΣ0..1instant
ifMatchΣ0..1string
ifNoneExistΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
statusΣ1..1string
locationΣ0..1uri
etagΣ0..1string
lastModifiedΣ0..1instant
outcomeΣ0..1Resource
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
fullUrlΣ0..1uri
resourceΣ0..1ServiceRequest, Task, Appointment, Communication
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
modeΣ0..1codeBinding
scoreΣ0..1decimal
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
methodΣ1..1codeBinding
urlΣ1..1uri
ifNoneMatchΣ0..1string
ifModifiedSinceΣ0..1instant
ifMatchΣ0..1string
ifNoneExistΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
statusΣ1..1string
locationΣ0..1uri
etagΣ0..1string
lastModifiedΣ0..1instant
outcomeΣ0..1Resource
signatureΣ0..1Signature

Table View

Bundle..
Bundle.entry..
Bundle.entry.link..
Bundle.entry.link.relation..
Bundle.entry.link.url..
Bundle.entry.request..
Bundle.entry.request.method..
Bundle.entry.request.url..
Bundle.entry.response..
Bundle.entry.response.status..
Bundle.entry.response.location..
Bundle.entry.response.etag..
Bundle.entry.response.lastModified..
Bundle.entry.response.outcome..

JSON View

{
    "resourceType": "StructureDefinition",
    "id": "eReferralBundle",
    "url": "http://ehealthontario.ca/fhir/StructureDefinition/eReferralBundle",
    "version": "1.0.0",
    "name": "EReferralBundle",
    "title": "Bundle",
    "status": "draft",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "Bundle",
    "baseDefinition": "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Bundle",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "Bundle.entry.link",
                "path": "Bundle.entry.link",
                "mustSupport": true
            },
            {
                "id": "Bundle.entry.link.relation",
                "path": "Bundle.entry.link.relation",
                "mustSupport": true
            },
            {
                "id": "Bundle.entry.link.url",
                "path": "Bundle.entry.link.url",
                "mustSupport": true
            },
            {
                "id": "Bundle.entry.request",
                "path": "Bundle.entry.request",
                "mustSupport": false
            },
            {
                "id": "Bundle.entry.request.method",
                "path": "Bundle.entry.request.method",
                "mustSupport": true
            },
            {
                "id": "Bundle.entry.request.url",
                "path": "Bundle.entry.request.url",
                "mustSupport": true
            },
            {
                "id": "Bundle.entry.response",
                "path": "Bundle.entry.response",
                "mustSupport": false
            },
            {
                "id": "Bundle.entry.response.status",
                "path": "Bundle.entry.response.status",
                "mustSupport": true
            },
            {
                "id": "Bundle.entry.response.location",
                "path": "Bundle.entry.response.location",
                "mustSupport": true
            },
            {
                "id": "Bundle.entry.response.etag",
                "path": "Bundle.entry.response.etag",
                "mustSupport": true
            },
            {
                "id": "Bundle.entry.response.lastModified",
                "path": "Bundle.entry.response.lastModified",
                "mustSupport": true
            },
            {
                "id": "Bundle.entry.response.outcome",
                "path": "Bundle.entry.response.outcome",
                "mustSupport": true
            }
        ]
    }
}

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.0.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