Skip to main content
FHIR Batch Bundle terminology operations

Overview

Send multiple FHIR terminology operations in a single HTTP request using a FHIR Batch Bundle. Each entry is processed independently, and results are returned in a batch-response Bundle preserving entry order. This is how ETL pipelines perform bulk terminology lookups and translations efficiently via FHIR.

Contract Parameters

string
default:"r4"
string
OMOP vocabulary release; defaults to the active release.
string
Header alternative to vocab_release; the header takes precedence.
FHIR wire version (r4, r4b, r5, or r6).
string
required
Must be Bundle.
string
required
Must be batch or transaction.
array
required
Bundle entries containing relative FHIR request method and URL.

Request

Response

Response Fields

string
Always Bundle.
string
Always batch-response.
array
One response entry per request entry, in request order.
object | null
FHIR response resource when the operation returned one.
object
Per-entry status and optional outcome.
string
FHIR HTTP status text.
object | null
OperationOutcome for an entry-level failure.

Supported Operations

The following GET operations can be included in batch entries:
Not supported in batch. CodeSystem search, CodeSystem instance read, ValueSet search, find−matches](/api−reference/fhir−terminology/find−matches),[find-matches](/api-reference/fhir-terminology/find-matches), [closure, and [diff](/api−reference/fhir−terminology/diff)cannotbeincludedinabatchBundle−callthemdirectly.‘diff](/api-reference/fhir-terminology/diff) cannot be included in a batch Bundle - call them directly. `find-matchesand$closure` are POST-only operations and batch only supports GET entries; the search-type and instance-read endpoints are omitted by design because they’re single-shot discovery calls that don’t benefit from batching.

Limits

  • Maximum 100 entries per batch. Exceeding this returns a 400 error.
  • GET only for MVP. POST-with-body entries are not supported.
  • No transaction bundles - only type: "batch" is accepted.
  • Metering: Each entry counts as 1 API call toward your quota.

Partial Failure

Individual entry errors do not fail the entire batch. Each entry receives its own HTTP status in the response:

Errors