Skip to content

interchange

Parses healthcare interchange files — X12 835 (remittance), 837P/837I (claims), and HL7 v2 — into all-VARCHAR bronze grain tables. Structural truth, bare codes, no typing: conform and code-set translation live downstream in dbt/silver.

Two properties everything else hangs off:

  • Total-or-reject. A malformed claim is never partially attributed. It becomes a recoverable reject that keeps its raw bytes, because a mis-attributed row is a breach and a reject is a ticket. See Cross-patient attribution.
  • Everything descriptive is derived. The schema page, the parser scorecard, the fixture manifest and the corpus ledger are all generated, committed, and regenerate-and-diffed in CI, so documentation cannot drift from behaviour.

Start here

If you want to… Read
See a real file go in and grains come out, interactively The explainer
Understand where the seams are and what each layer may assume Architecture
Know exactly what columns you get, and which carry PHI Bronze schema
Join bronze grains without re-merging patients Bronze join key
Land these tables in your own pipeline Using with dlt + Dagster
Understand how this codebase decides something is correct Testing doctrine

A note on this site

It is behind Cloudflare Access because a number of these pages name customers, quote real landing-bucket paths, and are security write-ups. No PHI reaches it: every committed fixture is synthesised and PHI-guarded (Gold dataset), and the explainer published here is additionally redacted at build time.