The agent-native clinical backend · open source · early access

The backend for AI-native health apps.

Typed clinical primitives on Postgres, FHIR R4 generated underneath, and an agent layer that reads — and safely aggregates — the record. You build the app; ship a SMART-on-FHIR app, not a FHIR server.

Built for agents, not just dashboards.

Apache-2.0 Fresh on commit SMART-on-FHIR Runs in your AWS Agent-ready
01 · In sync

One backend.
Two surfaces.

A patient app and a clinician portal on the same bonfireDB — always in sync, by default.

02 · Fresh on commit

No indexing delay.

The patient logs a tic and it's in the clinician's timeline instantly. A typical FHIR backend is still waiting on its search index.

03 · Both ways

Realtime, both directions.

The clinician adds a check-in; the patient app updates live. A doctor writing to their own patient is clinical authorization, enforced — not a hand-rolled check.

04 · Agent context

Agents read clean context.

Build your own MCP: a cited, permission-scoped projection — not a 3-million-token raw-FHIR dump.

05 · FHIR & audit

And you built none of it.

FHIR R4 export, audit, provenance, and ABAC — automatic, underneath.

Become a design partner →
01 / 05
TicVisionpatient
🚩 Dr. Okafor reviewed your week & added a check-in.
Today
⚡ Motor · eye blink4
⚡ Vocal · throat clear7
Clinician portal · Dr. Okafor · Jordan Rivera
bonfireDB fresh on commit
⚡ Motor · eye blink4
⚡ Vocal · throat clear7
Typical FHIR indexing 0:00
⚡ Motor · eye blink·
⚡ Vocal · throat clear·
"Summarize this patient's last 30 days."
Vocal tics up; severity 7 tracks with stress 8/10. cites Observation/obs_2 · QuestionnaireResponse/qr_1Proposed: message guardian — awaiting approval.
raw FHIR · ~3,000,000 tokens
bonfire projection · ~4,200 tokens, cited
Illustrative — full raw-record dump vs a scoped, cited projection.
🔥 FHIR R4 export🛡️ Audit 🔐 ABAC📡 Realtime, no Redis
your-app.ts
 
Quickstart

From zero to a clinical backend.

One command scaffolds a FHIR-safe backend with a typed SDK; deploy it into your own AWS. Early access — join the waitlist for access.

terminal
# the intended workflow — CLI in early access
# scaffold + deploy into your own AWS
 Postgres + pgvector · FHIR R4 · auth · MCP
app.ts
// typed clinical primitives, fresh on commit
const note = await clinical.notes.create({ patientId, text })
const notes = useClinicalQuery(api.notes.listByPatient, { patientId })
await clinical.fhir.export(patientId) // clean FHIR R4 Bundle

Become a design partner How it works →

What you get

An app backend, not another FHIR server.

HAPI, HealthLake, and Medplum own the FHIR server. bonfireDB is the layer your app actually talks to — typed, fresh, and agent-ready.

Where it sits

The backend you build on — not the pipe that fetches records.

Health-data APIs (Metriport, Particle, Health Gorilla, Zus) pull a patient's outside records in from the networks. That's a different layer, and a complement. bonfireDB is where your app's data lives, where you build, and where your agents read it safely — the open alternative to closed, AI-bolted-on platforms.

The aggregation layer — complement

Metriport / Particle / Health Gorilla / Zus fetch and normalize the outside record from HIE networks. Point them at bonfireDB and keep building.

bonfireDB — the app backend

Typed primitives, fresh-on-commit reads, FHIR generated underneath, and the agent layer. Runs in your AWS, you own the data — the open alternative to AI-bolted-on EHR platforms.

The proof we're building

Agents read raw FHIR at ~50%. We're building the layer that fixes that.

The leading peer-reviewed benchmark (FHIR-AgentBench) found LLM agents over raw FHIR cap near 50% answer-correctness — an architecture ceiling, not a model one. bonfireDB's projection layer is built to break it, and we publish the eval, the method, and the harness so you can re-run it. Until it's measured, this is the ceiling we're attacking — not a number we claim.

Honest by construction

We benchmark against the strongest baseline a competent team ships today — Medplum's MCP as shipped, same model, same token budget — and report the per-task breakdown, not a single vanity number.

See the open eval →

the benchmark
// same model · same tasks · same real data
raw FHIR alone (FHIR-AgentBench)   → ~50% (published floor)
bonfireDB agent layer               → target, measured in the open
// held-out · multi-model · reproducible
Why now

The agents arrived before the data was ready for them.

Three things just became true at once — and together they're why a clinical backend has to be agent-native from the inside, not patched on later.

MCP went standard

Agent-to-data is a Linux Foundation standard as of Dec 2025. Every healthcare app is about to grow an agent — and point it at the chart.

Raw FHIR caps at ~50%

A peer-reviewed, unsolved ceiling. The fix is the data interface, not a bigger model — which is exactly the layer we build.

Anyone can build the UI

The vibe-coding wave made the front end trivial. The compliant clinical data layer is the one part that still stops people cold.

Why bonfire

Where it fits — honestly.

We're not trying to be HAPI, HealthLake, or Medplum. We're the app backend that generates FHIR underneath (not a FHIR server). See exactly how the pieces line up — including where each competitor genuinely wins.

Compare vs HealthLake, Medplum & HAPI → Why building on FHIR is hard

Dogfood

From DynamoDB to FHIR-safe in a weekend.

TicVision — a Tourette's symptom-tracking app — reimagined on bonfireDB. Four bespoke Dynamo tables and a hand-rolled HIPAA audit log become typed primitives with audit and FHIR export for free. (Our own illustrative rebuild.)

Read the TicVision dogfood →

Roadmap

Where we're going — and what's real today.

We build in the open and mark shipped vs planned honestly — a backend you trust starts with a roadmap you can trust. See the full roadmap →

The core · early access

The FHIR-safe backend

Scaffold into your own AWS · typed clinical primitives with FHIR R4 generated underneath · fresh-on-commit reads · clinical ABAC + automatic audit · semantic search · custom MCP builder · terminology validation · seed data · clean FHIR export, no lock-in. Designed in; rolling out through early access — see the roadmap for what is live vs building.

Building next

The agent-readability layer

Projections + reference/code/temporal resolution that take an agent from raw FHIR to clean clinical context — plus an open, reproducible benchmark for it, and propose-not-commit agent writes (the agent drafts, the clinician commits).

Exploring

Agents that aggregate, safely

Agent-readable cohort analytics with ABAC-enforced aggregates and small-cell suppression — answering "how many of my patients…" under your BAA, without an ETL pipeline. App-scale, never cross-org.

The bet: become the agent-native clinical backend the next generation of AI-native health apps are built and run on. Read the vision →

From the blog

Read before you build.

How to think about the clinical data layer under an AI-native health app — the scribe wedge, building on FHIR, and what FHIR actually is.

You build the app. Bonfire is the clinical data layer underneath.

bonfireDB is in early access. Join the waitlist and we'll get you in.

▶ Watch it run