Library/Builder Teardown

Teardown: A Clinical Dashboard Stack That Leadership Actually Trusts

The architecture behind a healthcare BI stack that went from 15 disconnected spreadsheets to live Tableau dashboards in under three weeks — the layer that matters more than the charts, and the two failures that teach you why. Public excerpt; the full teardown lives in the Builder library.

The stack, in four layers

This is the shape of a build that took one client group from 15 disconnected spreadsheets to a live Snowflake-plus-Tableau stack in under three weeks. The dashboards are the visible 10%. The other three layers are why leadership trusts them.

Layer 1 — Extraction. EHR, practice management, and billing platforms, pulled through vendor APIs and supported export paths on a schedule. Rule of thumb: land the data raw and untransformed first. Every transformation you do in-flight is a debugging session you've scheduled for later, in a place you can't replay.

Layer 2 — Identity. The unglamorous layer that decides whether the stack survives. Every source system has its own patient and provider identifiers, and at least two will claim to be authoritative. You need a mapping layer that resolves them — deterministic where possible, flagged for review where not — before a single metric is computed.

Layer 3 — Definitions. One place where "active patient," "visit," and "revenue per provider" are each defined exactly once, in code, with the definition visible to the people reading the dashboard. This layer is the actual product. Charts are cheap; agreed-upon numbers are not.

Layer 4 — Presentation. Tableau on top of the definitions layer, with role-scoped access — the front desk, providers, and ownership see different views of the same warehouse. PHI scoping happens here via access control, not by building separate pipelines per audience.

Where the first version broke

The revenue number disagreed with the accountant's. Not because either was wrong — because "revenue" meant collections in one system and billed charges in another, and the dashboard silently picked one. A leadership team that catches one discrepancy stops trusting every chart. The fix was Layer 3: the definition rendered next to the metric, reconciled with finance before launch, not after.

A spreadsheet turned out to be a database. One of the 15 spreadsheets encoded real operational state — in cell colors. Yellow meant "insurance pending." No export preserves that. The lesson: audit spreadsheets as systems, not as data files, and interview the person who maintains each one before you migrate it. The colors are always load-bearing.


The full teardown — the identity-resolution decision rules, the definitions-layer structure we reuse on every healthcare build, the PHI access-scoping pattern, and the three-week build sequence day by day — lives in the Builder library.

The Full Teardown Is in the Builder Library

Implementation detail, checklists, and the parts we'd rather not have public — for members.

Unlock with Builder