Profiles & Operations > Structure Definition: Bundle (Transaction) Profile

Profile: Bundle (Transaction)

Canonical URL:http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mi-profile-transaction-Bundle

Simplifier project page: TransactionBundle

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
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
typeS Σ1..1codeBindingFixed Value
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
modeΣ0..1codeBinding
scoreΣ0..1decimal
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
methodS Σ1..1codeBindingFixed Value
urlS Σ1..1uri
ifNoneMatchΣ0..1string
ifModifiedSinceΣ0..1instant
ifMatchΣ0..1string
ifNoneExistΣ0..1string
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*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
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
typeS Σ1..1codeBindingFixed Value
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
modeΣ0..1codeBinding
scoreΣ0..1decimal
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
methodS Σ1..1codeBindingFixed Value
urlS Σ1..1uri
ifNoneMatchΣ0..1string
ifModifiedSinceΣ0..1instant
ifMatchΣ0..1string
ifNoneExistΣ0..1string
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*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
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
typeS Σ1..1codeBindingFixed Value
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
modeΣ0..1codeBinding
scoreΣ0..1decimal
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
methodS Σ1..1codeBindingFixed Value
urlS Σ1..1uri
ifNoneMatchΣ0..1string
ifModifiedSinceΣ0..1instant
ifMatchΣ0..1string
ifNoneExistΣ0..1string
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
statusΣ1..1string
locationΣ0..1uri
etagΣ0..1string
lastModifiedΣ0..1instant
outcomeΣ0..1Resource
signatureΣ0..1Signature

Table View

Bundle..
Bundle.identifier1..
Bundle.identifier.system1..
Bundle.identifier.value1..
Bundle.type..
Bundle.timestamp1..
Bundle.entry1..
Bundle.entry.fullUrl1..
Bundle.entry.resource1..
Bundle.entry.request1..
Bundle.entry.request.method..
Bundle.entry.request.url..

JSON View

{
"resourceType": "StructureDefinition",
"id": "0852c1de-6f3f-457d-9850-5543bcd5e944",
"meta": {
"lastUpdated": "2025-04-15T14:32:07.9068847+00:00"
},
"url": "http://ontariohealth.ca/fhir/mi/StructureDefinition/ca-on-mi-profile-transaction-bundle",
"version": "0.9.0",
"name": "TransactionBundle",
"status": "active",
"date": "2024-04-19T18:26:11.1235916+00:00",
"fhirVersion": "4.0.1",
"mapping": [
{
"identity": "v2",
"uri": "http://hl7.org/v2",
"name": "HL7 v2 Mapping"
},
{
"identity": "rim",
"uri": "http://hl7.org/v3",
"name": "RIM Mapping"
},
{
"identity": "cda",
"uri": "http://hl7.org/v3/cda",
"name": "CDA (R2)"
},
{
"identity": "w5",
"uri": "http://hl7.org/fhir/fivews",
"name": "FiveWs Pattern Mapping"
}
],
"kind": "resource",
"abstract": false,
"type": "Bundle",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Bundle",
"derivation": "constraint",
"element": [
{
"id": "Bundle.identifier",
"path": "Bundle.identifier",
"comment": "globally unique for this instance of the document, and is never re-used",
"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": "transaction",
"mustSupport": true
},
{
"id": "Bundle.timestamp",
"path": "Bundle.timestamp",
"min": 1,
"mustSupport": true
},
{
"id": "Bundle.entry",
"path": "Bundle.entry",
"comment": "There could be other resources in the bundle such as organization, location, etc.",
"min": 1,
"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.request",
"path": "Bundle.entry.request",
"min": 1,
"mustSupport": true
},
{
"id": "Bundle.entry.request.method",
"path": "Bundle.entry.request.method",
"fixedCode": "POST",
"mustSupport": true
},
{
"id": "Bundle.entry.request.url",
"path": "Bundle.entry.request.url",
"mustSupport": true
}
]
}
}

Usage

This bundle resource is only used to contribute MI records to miCDR such as orders, reports, and imaging studies. It is not used for FHIR query.

Notes

.identifier

  • MUST provide a local identifier to uniquely identify this transaction bundle. OCINet should map XDS Submission ID to this field.

.type

  • fixed to value 'transaction'

.timestamp

  • MUST provide a datetime value when the transaction bundle is created.

.entry

  • Each entry will contain an MI record or a resource for support information:
    • for "Submit MI Order" query, the main entry will be ServiceRequest resources
    • for "Submit MI Report" query, the main entry will be DiagnosticReport resources
    • for "Submit Imaging Study" query, the main entry will be ImagingStudy resources
    • Other entries will contain supporting resources (Patient, Practitioner, Organization, Provenance, etc)

.entry.fullUrl

  • When populating entries, contributors MUST generate a GUID and provide fullUrl in the format of "urn:uuid:[generated guid]". This format MUST also be used in references when other resources reference to this resource.

.entry.resource

  • MUST contain the proper resource relevant to the submission.

.entry.request

  • For all resources except Provenance, method should use value "PUT", and populate url with the resource type for this entry with the business identifier (patient's MRN, accession number for reports, orders, imaging manifests). Format should be [ResourceType]?identifier=system|value. Note that if system is an OID, it must have the urn:oid prefix. For example:
  • Patient?identifier=|[mrn-value]
  • ServiceRequest?identifier=[urn:oid:]|ABC-12345
  • DiagnosticReport?identifier=[urn:oid:accession_number_OID]|[accession_number]
  • For Provenance resource, method should use "POST" and populate url with "Provenance"
  • If the resource does not have an identifier (e.g. Practitioner), method should use POST, and url should be \{resource type} (e.g. \Practitioner)