Profiles & Operations Index > Profile: Bundle

Profile: Bundle

Canonical URL:http://ontariohealth.ca/fhir/StructureDefinition/ca-on-ps-profile-bundle

Simplifier project page: Bundle (PS-ON)

Derived 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
extensionI0..*Extension
versionIdS Σ0..1id
lastUpdatedS Σ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
identifierS Σ1..1Identifier
typeS Σ1..1codeBindingFixed Value
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
fullUrlS Σ1..1uri
resourceΣ0..1Resource
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
fullUrlΣ0..1uri
resourceS Σ I1..1Composition (PS-ON)
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
id0..1string
extensionI0..*Extension
versionIdS Σ0..1id
lastUpdatedS Σ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
identifierS Σ1..1Identifier
typeS Σ1..1codeBindingFixed Value
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
fullUrlS Σ1..1uri
resourceΣ0..1Resource
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
fullUrlΣ0..1uri
resourceS Σ I1..1Composition (PS-ON)
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
id0..1string
extensionI0..*Extension
versionIdS Σ0..1id
lastUpdatedS Σ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
identifierS Σ1..1Identifier
typeS Σ1..1codeBindingFixed Value
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
fullUrlS Σ1..1uri
resourceΣ0..1Resource
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
fullUrlΣ0..1uri
resourceS Σ I1..1Composition (PS-ON)
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.id..
Bundle.meta1..
Bundle.meta.versionId..
Bundle.meta.lastUpdated..
Bundle.meta.profile1..
Bundle.identifier1..
Bundle.type..
Bundle.timestamp1..
Bundle.entry1..
Bundle.entry.fullUrl1..
Bundle.entry.search..0
Bundle.entry.request..0
Bundle.entry.response..0
Bundle.entry1..1
Bundle.entry.resourceComposition (PS-ON)1..

JSON View

{
    "resourceType": "StructureDefinition",
    "id": "ca-on-ps-profile-bundle",
    "url": "http://ontariohealth.ca/fhir/StructureDefinition/ca-on-ps-profile-bundle",
    "version": "0.10.0",
    "name": "BundlePSON",
    "title": "Bundle (PS-ON)",
    "status": "active",
    "date": "2022-10-15T12:00:00+00:00",
    "publisher": "Ontario Health",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "Bundle",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Bundle",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "Bundle",
                "path": "Bundle",
                "short": "Bundle Profile",
                "definition": "The Bundle Profile is based upon the core FHIR Bundle Resource"
            },
            {
                "id": "Bundle.id",
                "path": "Bundle.id",
                "definition": "Logical id of this artifact"
            },
            {
                "id": "Bundle.meta",
                "path": "Bundle.meta",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "Bundle.meta.versionId",
                "path": "Bundle.meta.versionId",
                "mustSupport": true
            },
            {
                "id": "Bundle.meta.lastUpdated",
                "path": "Bundle.meta.lastUpdated",
                "mustSupport": true
            },
            {
                "id": "Bundle.meta.profile",
                "path": "Bundle.meta.profile",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "Bundle.identifier",
                "path": "Bundle.identifier",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "Bundle.type",
                "path": "Bundle.type",
                "fixedCode": "document",
                "mustSupport": true
            },
            {
                "id": "Bundle.timestamp",
                "path": "Bundle.timestamp",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "Bundle.entry",
                "path": "Bundle.entry",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "profile",
                            "path": "resource"
                        }
                    ],
                    "rules": "open"
                },
                "short": "Entry resource in the patient summary bundle",
                "definition": "An entry resource included in the patient summary bundle resource.",
                "comment": "Must contain at a minimum the IPS Composition as the first entry.",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "Bundle.entry.fullUrl",
                "path": "Bundle.entry.fullUrl",
                "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:composition",
                "path": "Bundle.entry",
                "sliceName": "composition",
                "min": 1,
                "max": "1",
                "mustSupport": true
            },
            {
                "id": "Bundle.entry:composition.resource",
                "path": "Bundle.entry.resource",
                "min": 1,
                "type":  [
                    {
                        "code": "Composition",
                        "profile":  [
                            "http://ontariohealth.ca/fhir/StructureDefinition/ca-on-ps-profile-composition"
                        ]
                    }
                ],
                "mustSupport": true
            }
        ]
    }
}

Usage

The Bundle Resource gathers all the content of the Patient Summary into a single XML or JSON document for exchange.

The Patient Summary is a Bundle of type "document" that has a Composition resource as the first resource in the bundle, followed by a series of other resources, referenced from the Composition resource, that provide supporting evidence for the document.

Notes

The following rules apply to document type Bundles only

.meta.versionId

  • the resource version, to reflect the number of updates to this Patient Summary Document Bundle
  • MustSupport indicates that this shall be populated by the Patient Summary repository, but is not expected for Patient Summary submissions

.meta.lastUpdated

  • the document date
  • used to identify when the document Bundle was assembled from the underlying resources
  • SHALL be equal to or greater than Composition.date (when the author 'wrote' the Patient summary)
  • at initial creation of the patient summary bundle, .meta.lastUpdated and .timestamp are expected to be the same instant. .meta.lastUpdated may change after submission to the patient summary repository, but .timestamp will remain the initial creation time
  • MustSupport indicates that this shall be populated by the Patient Summary repository, but is not expected for Patient Summary submissions

.meta.profile

  • used to declare conformance to this profile
  • populate with a fixed value: http://ontariohealth.ca/fhir/StructureDefinition/ca-on-ps-profile-bundle|0.10.0

.meta.versionId

  • SHALL be populated by the Patient Summary Repository server
  • consuming systems can expect this element to be populated when retrieving patient summary instances from the repository
  • source systems do not need to populate this element prior to submission

.identifier

  • a persistent identifier that is generated by the submitting system
  • SHALL be globally unique for the instance of the Patient Summary, and SHALL never be re-used, including for other documents derived from the same composition
  • populate with a UUID
  • when present, both .identifier.value and .identifier.system SHALL be populated
  • .identifier.system will be a URL to be provided by Ontario Health
  • once created in the initial submission, the point of service system must use the same identifier for all subsequent submissions/updates of the same patient summary

.type

  • declares that the Bundle contains a document
  • populate with a fixed value: document

.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)
  • at initial creation of the patient summary bundle, .meta.lastUpdated and .timestamp are expected to be the same instant. .meta.lastUpdated may change after submission to the patient summary repository, but .timestamp will remain the initial creation time

.entry

  • create an entry for each of the FHIR Resources required to convey the information within the Patient Summary
  • the Composition 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.
  • all resources referenced in the composition SHALL be contained within the patient summary bundle