← ReferenceStandards

What is a Bundle?

A Bundle is a container for multiple Resources. It groups them into a single HTTP request or response. The type field determines how the server processes the Bundle and what it means.

TypeUsed forBehaviour
transactionCreating/updating multiple resourcesAtomic — all succeed or all fail
batchIndependent operations in one requestEach entry processed independently
searchsetSearch resultsReturned by GET /Patient?name=...
historyVersion history of a resourceReturned by GET /Patient/1/_history
documentClinical document (e.g. Patient Summary)First entry must be Composition
collectionGrouping resources without operationsNo processing semantics

Transaction entry structure

Each entry in a transaction Bundle has:

  • fullUrl — temporary ID (urn:uuid:...) or permanent URL, used for internal references
  • resource — the FHIR resource to create/update
  • request.method — POST, PUT, GET, DELETE
  • request.url — relative URL (e.g. Patient)
  • request.ifNoneExist — conditional create: skip if matching resource exists