An NDJSON batch that ingests silently for four hours and then dies at row 3.7 million is a bad on-call experience. Monitoring is what turns that opaque failure into a graph, an alert, and an actionable metric. Every ingestion pipeline...
Compression Choices for NDJSON Delivery
An uncompressed NDJSON export is a lot of JSON. Bulk exports for a mid-size health plan run in the tens of gigabytes uncompressed. Compression reduces both delivery bandwidth and storage, and the choice of compression algorithm matters...
Handling Mixed-Resource NDJSON in a $export
FHIR $export usually delivers one NDJSON file per resource type — Patient.ndjson, Observation.ndjson, and so on. Sometimes the spec-compliant output mixes resource types in a single file. Handling that case is a specific dispatch pattern...
Detecting Corruption in a Large NDJSON Stream
Corruption in an NDJSON stream is rarely announced. The file downloads cleanly, the checksum matches, and the pipeline chugs happily until row 4.2 million turns out to be malformed and everything past it silently misinterprets. Building...
Sampling an NDJSON to Sanity-Check the Export
A fresh $export lands in a bucket. Before running it through the ingestion pipeline, a five-second sanity check saves the hour of debugging you would otherwise do when the whole pipeline runs on a bad export. That check is a small NDJSON...
Streaming an NDJSON File Into a Database
Streaming an NDJSON file into a database is the ingestion path for every real bulk-data pipeline. The naïve "load the file, insert row by row" approach hits memory ceilings on large exports. The naïve "insert every row in its own...
The NDJSON Format and Why Bulk Data Uses It
FHIR could have picked a Bundle-shaped export. It didn't. The bulk-data specification picked NDJSON — newline-delimited JSON — as the wire format for $export. That choice was deliberate, and understanding it is what makes bulk-data...
Reading an NDJSON Export Without Loading the Whole File
The first NDJSON file from a FHIR $export lands on a developer's laptop and the reflex is to open it in a text editor. Ten seconds later the editor locks up because the file is 800 MB. Reading NDJSON without loading the whole file is the...
Storage Footprint of 4 FHIR Servers After Loading the Same Dataset
Storage size is the metric that quietly shapes hosting cost, backup windows, and disaster-recovery RTO over the life of a FHIR platform. A new public benchmark from Health Samurai loaded the same Synthea dataset (1,000 patients, around 2…
Top 5 Payer Platforms That Cover the Full Four-API Scope of CMS-0057-F in 2026
Most vendor conversations about CMS-0057-F still center on Patient Access, which is the wrong scope. The rule actually pins four APIs to the Jan 1, 2027 production deadline: Patient Access, Provider Access, Payer-to-Payer, and Prior…