Skip to content

Changelog

Notable changes to the Registry API and these docs. The OpenAPI spec is the authoritative contract; this page is the human-readable history.

The API is unversioned today — changes are additive where possible, and any breaking change will be called out here.

  • New Partner onboarding guide — the end-to-end path for an EHR vendor or integrator: contract and BAA, contract status and beta access, practice and feed-key provisioning, first ingest, and the expected sync cadence (daily floor, event-driven push, bulk backfill at onboarding).
  • New Troubleshooting page — every request-level and per-record OperationOutcome you can receive, what causes it and what to do, plus the feed-health expectations for a live feed.
  • Documented what the partner lane deliberately does not do — no filing lane by default, and nothing identified is stored (masking runs before persistence, as an allow-list).
  • Documented Practitioner and Encounter in the API reference and the data dictionary — including non-NPI provider ids as the identity key and the ATND attendant rule.
  • Amendments. Re-sending a Bundle under a chart number already on file now amends that record — version advances, previous values are kept as history — instead of being rejected as a duplicate. Accepted entries for a correction carry "amended": true and the new version.
  • Retractions. A Composition with status: entered-in-error, or an entry with "request": { "method": "DELETE" }, voids the record it names; a later re-send revives it as a further amendment version.
  • Two guards apply to amendments only: a push older than the stored version is rejected as a conflict (“Stale update ignored”), and a correction that would duplicate a different record is rejected rather than merged.

See Amendments and retractions.

The current API surface:

  • POST /api/registry/fhir/Bundle — submit a FHIR R4 BFDR Bundle (one course of care, or many in batch mode) for asynchronous ingestion.
  • GET /api/registry/fhir/ingestions/{id} — poll an ingestion for its per-record accepted / rejected outcomes.
  • Per-practice API keys (rgk_) carrying ingest:write / ingest:read scopes.
  • Accept-and-flag duplicate detection (suspected_duplicate) and per-practice chart-number uniqueness.
  • A consent decision captured per course of care from an optional FHIR Consent.
  • A 120 request/minute rate limit per endpoint.