← Projects

The Price of a Heartbeat

What US insurers pay hospitals for cardiac rehab and stress testing, and what more patients and more sessions are worth to a program.

Status
Beta dashboard live
Stack
Python · DuckDB · SQL · JavaScript
Data
Hospital price transparency files (July 2026), CDC Atlas of Heart Disease and Stroke (Medicare, 2019–2020), CMS OPPS 2026
Scope
United States, with Washington hospital detail · cardiac rehab and stress testing
Period
2026
Try the demoSource code

Why this project

The ECG toolkit answers a clinical question with a model. This project is the other half of the work: taking messy public datasets, joining them, and answering a question a health system executive actually asks on a Monday morning.

I have spent four years inside a cardiac service line. The questions asked in that room are financial as often as they are clinical. Which payers reimburse well for the services we run? Are our contracts below what comparable hospitals negotiated? Where is the gap between the care we deliver and the revenue it produces?

I narrowed the work to the services a clinical exercise physiologist runs every day: cardiac rehab sessions and exercise, echo and nuclear stress testing.

What the dashboard shows

In Washington, the revenue gap is volume, not price. Commercial plans pay Washington hospitals well. Too few eligible patients start cardiac rehab, and too few finish it.

The dashboard has three parts: a US map that compares states on price, enrollment, completion and unbilled sessions; a Washington view that places one hospital’s contracts against its peers, insurer by insurer; and a program model that prices referral, enrollment and attendance improvements, or forecasts a program from its own monthly numbers.

How it works

Hospital price files — 1,700+ US hospitals, billions of rows
↓
Keep commercial fee-schedule contracts — plan names classified, physician fees and unit errors dropped
↓
Match facilities to CMS — 94 Washington facilities reviewed by hand; ERs and clinics rejected
↓
Benchmark — insurer × service × hospital type, each price file counted once
↓
Join CDC Medicare data — who starts, who finishes, sessions attended, by county
↓
Dashboard and program model

Price files carry no certification number, so every Washington facility was matched to its CMS record by name and address and checked by hand. Twenty of 94 were rejected: freestanding emergency rooms, clinics, a psychiatric hospital, and two locations that one rural district’s file lists by mistake.

What changed from the plan

The original plan multiplied rates by CMS outpatient volumes. That file is now published by payment group rather than procedure code, and it leaves cardiac rehab out entirely, so per-hospital volumes are not available for free. The dashboard measures volume a different way, per 100 eligible patients from CDC data, and lets a program bring its own monthly numbers for a forecast.

What the data cannot support

Status

Beta. Next: a second price snapshot to start a price time series, pulmonary rehab, and splitting results by hospital system.

I work at UW Medicine. Every input is public data, and UW Medicine facilities are not excluded.