← 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.
| Type | Used for | Behaviour |
|---|---|---|
| transaction | Creating/updating multiple resources | Atomic — all succeed or all fail |
| batch | Independent operations in one request | Each entry processed independently |
| searchset | Search results | Returned by GET /Patient?name=... |
| history | Version history of a resource | Returned by GET /Patient/1/_history |
| document | Clinical document (e.g. Patient Summary) | First entry must be Composition |
| collection | Grouping resources without operations | No processing semantics |
Transaction entry structure
Each entry in a transaction Bundle has:
fullUrl— temporary ID (urn:uuid:...) or permanent URL, used for internal referencesresource— the FHIR resource to create/updaterequest.method— POST, PUT, GET, DELETErequest.url— relative URL (e.g.Patient)request.ifNoneExist— conditional create: skip if matching resource exists