Profile: Bundle (Document)

Simplifier project page: BundleDocument

Derived from: Bundle (R4)

Canonical_URLProfile_StatusProfile_VersionFHIR_Version
http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-profile-Bundle-documentactive4.0.14.0.1

Formal Views of Profile Content

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

Differential View

idS Σ0..1string
id0..1string
extensionI0..*Extension
versionIdS Σ0..1id
lastUpdatedS Σ0..1instant
sourceS Σ0..1uri
profileS Σ1..*canonical(StructureDefinition)
id0..1string
extensionI0..*Extension
systemS Σ0..1uri
versionΣ0..1string
codeS Σ0..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
extensionI0..*Extension
systemS Σ0..1uri
versionΣ0..1string
codeS Σ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
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..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
resourceS Σ0..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
statusΣ1..1string
locationΣ0..1uri
etagΣ0..1string
lastModifiedΣ0..1instant
outcomeΣ0..1Resource
signatureΣ0..1Signature

Hybrid View

idS Σ0..1string
id0..1string
extensionI0..*Extension
versionIdS Σ0..1id
lastUpdatedS Σ0..1instant
sourceS Σ0..1uri
profileS Σ1..*canonical(StructureDefinition)
id0..1string
extensionI0..*Extension
systemS Σ0..1uri
versionΣ0..1string
codeS Σ0..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
extensionI0..*Extension
systemS Σ0..1uri
versionΣ0..1string
codeS Σ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
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..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
resourceS Σ0..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
statusΣ1..1string
locationΣ0..1uri
etagΣ0..1string
lastModifiedΣ0..1instant
outcomeΣ0..1Resource
signatureΣ0..1Signature

Snapshot View

idS Σ0..1string
id0..1string
extensionI0..*Extension
versionIdS Σ0..1id
lastUpdatedS Σ0..1instant
sourceS Σ0..1uri
profileS Σ1..*canonical(StructureDefinition)
id0..1string
extensionI0..*Extension
systemS Σ0..1uri
versionΣ0..1string
codeS Σ0..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
extensionI0..*Extension
systemS Σ0..1uri
versionΣ0..1string
codeS Σ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
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..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
resourceS Σ0..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
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.source..
Bundle.meta.profile1..
Bundle.meta.security..
Bundle.meta.security.system..
Bundle.meta.security.code..
Bundle.meta.tag..
Bundle.meta.tag.system..
Bundle.meta.tag.code..
Bundle.identifier1..
Bundle.identifier.system1..
Bundle.identifier.value1..
Bundle.type..
Bundle.timestamp1..
Bundle.entry1..
Bundle.entry.fullUrl1..
Bundle.entry.resource..

JSON View

{
    "resourceType": "StructureDefinition",
    "text": {
        "status": "empty",
        --- We have skipped the narrative for better readability of the resource ---
    },
    "url": "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-profile-Bundle-document",
    "version": "4.0.1",
    "name": "BundleDocument",
    "title": "BundleDocument",
    "status": "active",
    "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",
                "mustSupport": true
            },
            {
                "id": "Bundle.id",
                "path": "Bundle.id",
                "mustSupport": true
            },
            {
                "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.source",
                "path": "Bundle.meta.source",
                "mustSupport": true
            },
            {
                "id": "Bundle.meta.profile",
                "path": "Bundle.meta.profile",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "Bundle.meta.security",
                "path": "Bundle.meta.security",
                "mustSupport": true
            },
            {
                "id": "Bundle.meta.security.system",
                "path": "Bundle.meta.security.system",
                "mustSupport": true
            },
            {
                "id": "Bundle.meta.security.code",
                "path": "Bundle.meta.security.code",
                "fixedCode": "HTEST",
                "mustSupport": true
            },
            {
                "id": "Bundle.meta.tag",
                "path": "Bundle.meta.tag",
                "mustSupport": true
            },
            {
                "id": "Bundle.meta.tag.system",
                "path": "Bundle.meta.tag.system",
                "mustSupport": true
            },
            {
                "id": "Bundle.meta.tag.code",
                "path": "Bundle.meta.tag.code",
                "mustSupport": true
            },
            {
                "id": "Bundle.identifier",
                "path": "Bundle.identifier",
                "min": 1,
                "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",
                "fixedCode": "document",
                "mustSupport": true
            },
            {
                "id": "Bundle.timestamp",
                "path": "Bundle.timestamp",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "Bundle.entry",
                "path": "Bundle.entry",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "Bundle.entry.fullUrl",
                "path": "Bundle.entry.fullUrl",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "Bundle.entry.resource",
                "path": "Bundle.entry.resource",
                "mustSupport": true
            }
        ]
    }
}

Usage

The Bundle Resource gathers all the content of the MedicationDispense and/or MedicationAdministration into a single JSON document for exchange.

The MedicationDispense and/or MedicationAdministration 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.

Notes

The following rules apply to document type Bundles only

.meta.versionId

  • the version changes when the document is created or updated
  • this data element will be managed and returned by server

.meta.lastUpdated

  • when the document last changed
  • this data element will be managed and returned by server

.meta.source

  • the source of the document
  • this data element will be managed and returned by server

.meta.profile

  • used to declare conformance to this profile
  • populate with a fixed value: http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-profile-Bundle-document|4.0.1

.meta.tag

  • this data element will be managed and returned by server

.identifier

  • a persistent identifier that is generated by the submitting system
  • when present, both .identifier.value and .identifier.system SHALL be populated
  • identifier.system SHALL be a URL provided by Ontario Health during onboarding process

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

.entry

  • create an entry for each of the FHIR Resources required to convey the information within the MedicationDispense or MedicationAdministration
  • 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

.entry.resource

  • SHALL be populated with the resource for this entry.
  • all resources referenced in the composition SHALL be contained within the MedicationDispense or MedicationAdministration bundle