DRAFT - The specification is currently in development and subject to significant change. It is not ready for limited roll-out or production level use.

Bundle (CA:eReC)

Structure Definition: Bundle Profile

Canonical URL: https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Bundle

Simplifier project page: Bundle

Derived from: Bundle (R4)

Formal Views of Profile Content

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

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
identifierS Σ0..1Identifier
typeS Σ1..1codeBinding
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
urlΣ1..1uri
fullUrlS Σ1..1uri
resourceΣ1..1Resource
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
statusS Σ1..1string
locationS Σ0..1uri
etagS Σ0..1string
lastModifiedS Σ0..1instant
outcomeS Σ0..1Resource
signatureΣ0..1Signature
idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
identifierS Σ0..1Identifier
typeS Σ1..1codeBinding
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
urlΣ1..1uri
fullUrlS Σ1..1uri
resourceΣ1..1Resource
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
statusS Σ1..1string
locationS Σ0..1uri
etagS Σ0..1string
lastModifiedS Σ0..1instant
outcomeS Σ0..1Resource
signatureΣ0..1Signature
idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
identifierS Σ0..1Identifier
typeS Σ1..1codeBinding
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
urlΣ1..1uri
fullUrlS Σ1..1uri
resourceΣ1..1Resource
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
statusS Σ1..1string
locationS Σ0..1uri
etagS Σ0..1string
lastModifiedS Σ0..1instant
outcomeS Σ0..1Resource
signatureΣ0..1Signature
Bundle..
Bundle.meta..
Bundle.identifier..
Bundle.type..
Bundle.timestamp1..
Bundle.entry2..
Bundle.entry.link..
Bundle.entry.link.relation..
Bundle.entry.fullUrl1..
Bundle.entry.resource1..
Bundle.entry.response..
Bundle.entry.response.status..
Bundle.entry.response.location..
Bundle.entry.response.etag..
Bundle.entry.response.lastModified..
Bundle.entry.response.outcome..

{
    "resourceType": "StructureDefinition",
    "id": "CA-eReC-Bundle",
    "url": "https://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Bundle",
    "version": "0.1.0",
    "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.meta",
                "path": "Bundle.meta",
                "comment": "The MustSupport flag on this element has been relaxed in this version until further confirmation of the use of meta.profile (outside of use for certain validation suites) and impact can be assessed by the working group."
            },
            {
                "id": "Bundle.identifier",
                "path": "Bundle.identifier",
                "mustSupport": true
            },
            {
                "id": "Bundle.type",
                "path": "Bundle.type",
                "mustSupport": true
            },
            {
                "id": "Bundle.timestamp",
                "path": "Bundle.timestamp",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "Bundle.entry",
                "path": "Bundle.entry",
                "min": 2,
                "mustSupport": true
            },
            {
                "id": "Bundle.entry.link.relation",
                "path": "Bundle.entry.link.relation",
                "mustSupport": true
            },
            {
                "id": "Bundle.entry.fullUrl",
                "path": "Bundle.entry.fullUrl",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "Bundle.entry.resource",
                "path": "Bundle.entry.resource",
                "min": 1
            },
            {
                "id": "Bundle.entry.response",
                "path": "Bundle.entry.response",
                "mustSupport": true
            },
            {
                "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
            }
        ]
    }
}

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

.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