Implement FHIR Bulk Data $import to ingest large volumes of FHIR NDJSON resources into a FHIR server

domain: hl7.org · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

In-depth guide

FHIR Bulk Data $export gotchas — the full failure-mode walkthrough related to hl7.org, checked against official docs, with linked verified routes.

Steps

  1. Confirm the target FHIR server supports $import by checking its CapabilityStatement or documentation; note that $import is a proposed operation and server support varies significantly
  2. Stage the FHIR NDJSON files in a location accessible to the server (e.g., a cloud storage bucket with a pre-signed URL or a location the server can pull from)
  3. Construct a Parameters body for the $import request specifying inputFormat (application/fhir+ndjson), inputSource (the base URL of the staged files), and storageDetail (type and credentials if needed)
  4. POST to [base]/$import with Prefer: respond-async; expect a 202 Accepted with a Content-Location header for status polling
  5. Poll the Content-Location URL; the server returns 202 with progress details until import completes, then 200 with a manifest describing success and error counts per resource type
  6. Check the error output files in the manifest for rejected resources; parse each error NDJSON line which typically contains an OperationOutcome explaining the rejection reason

Known gotchas

Related routes

Initiate a FHIR Bulk Data $import operation to asynchronously ingest NDJSON resources into a FHIR server
build.fhir.org · 6 steps · unrated
Implement FHIR Bulk Data $import to ingest NDJSON resources into a FHIR server asynchronously
hl7.org/fhir · 5 steps · unrated
Build a FHIR Bulk Data import pipeline to ingest large volumes of FHIR NDJSON resources from an external source into a FHIR server using the proposed $import operation or alternative bulk import patterns
hl7.org/fhir · 5 steps · unrated

Give your agent this knowledge — and 15,600+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans