Notes from the build.
Engineering notes, product updates, and announcements as we build open healthcare infrastructure in the open.
What OpenID Connect Adds to a SMART on FHIR Server — and What It Does Not
OpenID Connect adds identity claims and ID tokens to an OAuth/SMART flow, but it does not turn every OAuth capability into a supported identity feature. Ilavrita keeps that boundary explicit.
Conditional FHIR Writes Are Searches with Consequences
Conditional create, update and delete look convenient, but each turns a search into a write decision. Ilavrita routes them through the search and authorization behavior it actually supports.
Why Ilavrita Stores FHIR Binary Payloads Outside the Resource Row
FHIR Binary resources can carry large payloads, but storing those bytes like ordinary JSON creates operational problems. Ilavrita separates resource metadata from payload storage while keeping the FHIR boundary intact.
FHIR R4 Subscriptions Are Delivery Semantics, Not Just Webhooks
FHIR R4 subscriptions are not just webhook plumbing. Here is how Ilavrita handles rest-hook retries, worker claims, stable delivery identity, WebSocket limits, authorization, and SSRF boundaries.
A FHIR Backup Is Not a Database Copy
Backing up a FHIR server with external Binary payloads means preserving two stores as one consistent state. Here is how Ilavrita orders snapshots, verifies manifests, restores safely, and where backup stops short of rollback.
How to Run a Self-Hosted FHIR R4 Server Locally with Ilavrita
Run Ilavrita locally, verify its FHIR R4 CapabilityStatement and authentication boundary, and understand the difference between a server that booted and a build whose source revision you can actually prove.
SMART on FHIR Scopes Should Narrow Authority, Never Create It
SMART scopes are not permissions by themselves. In Ilavrita they intersect with existing AccessPolicy authority, so user, patient, and system scopes can narrow a principal but never make it more powerful.
Audit Records and Transaction Boundaries in Ilavrita
How Ilavrita keeps FHIR interaction records consistent with committed state, including refused interactions and rollback behavior.
What Does meta.profile Actually Mean to a FHIR Server?
A FHIR resource that declares meta.profile is making a conformance claim. Here is what Ilavrita checks today, how ABDM guide examples are cross-validated, and where profile validation still stops.
FHIR Transaction vs Batch Bundles: Atomicity Is the Difference
FHIR transaction and batch Bundles look similar on the wire but make opposite failure promises. Here is how Ilavrita implements atomic transactions, per-entry batch savepoints, reference resolution, and the limits that still matter.
FHIR Validation Is More Than “status: banana”
What a FHIR R4 server can prove from StructureDefinitions, required bindings and invariants—and where profile validation still stops in Ilavrita’s developer preview.
CapabilityStatement: A FHIR Server Should Only Claim What It Can Prove
FHIR R4 requires servers to describe what they actually support. Here is how Ilavrita treats CapabilityStatement as an executable boundary rather than a feature brochure—and where our own evidence still has limits.
PocketBase Is the Runtime, Not Ilavrita's FHIR Contract
Why Ilavrita keeps FHIR routes, search semantics, errors, authorization and storage behind its own interfaces instead of exposing its embedded runtime as the healthcare API.
Why Ilavrita Refuses Unsupported FHIR Search Parameters
FHIR R4 generally recommends lenient handling for unknown search parameters. Ilavrita deliberately fails closed instead. Here is the implementation trade-off, the exact boundary, and what clients should expect.
Why Ilavrita Is Not Ready for Patient Data Yet
Ilavrita already serves a meaningful FHIR R4 surface, but that is not the same as production readiness. Here is what the current dev revision can prove, what remains unverified, and why patient data should stay out for now.
Building Ilavrita in the open
Why we are building open, FHIR-native healthcare infrastructure — and how to follow along.
