One hospital bills 198.9× what another does for the same procedure
We loaded all 63,518 Medicare outpatient charge records published for the United States. Here is what is in them.
Every hospital that bills Medicare for outpatient care reports what it charged and what Medicare allowed. CMS publishes the result once a year, aggregated by facility and procedure group. It is public, it is free, and almost nobody looks at it, because it arrives as 116,182 rows with thirty columns of abbreviated field names.
We loaded all of it — 2,993 hospitals across 49 states and DC, 68 procedure groups — and looked at the distribution.
The spread
For Level 2 Urology and Related Services (APC 5372), billed at 848 hospitals nationwide:
Same procedure group. Same year. A factor of 198.9.
It is not an outlier. The five widest groups in the dataset:
| Procedure group | Sites | Low | High | Spread |
|---|---|---|---|---|
| Level 2 Urology and Related Services | 848 | $262 | $52,123 | 199× |
| Level 3 Airway Endoscopy | 912 | $598 | $89,785 | 150× |
| Level 3 Upper GI Procedures | 589 | $1,481 | $154,831 | 105× |
| Comprehensive Observation Services | 2,753 | $3,237 | $304,001 | 94× |
| Level 4 Vascular Procedures | 1,067 | $2,404 | $166,137 | 69× |
It is not simply geography
Median submitted charge for that same procedure group varies by state, but nowhere near enough to explain a 198.9× gap. The dearest state median is TN at $8,675; the cheapest is ID at $680 — a ratio of 12.8×. Most of the variation is between hospitals, not between states.
The more interesting number
Charges are only half the file. The other half is what Medicare actually allowed. Across all 63,518 rows with both figures, the median hospital billed 6.2× what Medicare allowed. At the extreme, 100.7×.
This is the part worth internalising before quoting any of the numbers above: a submitted charge is close to a fiction. Medicare pays its own rate regardless. Commercial insurers negotiate their own. The chargemaster figure mostly affects the uninsured and out-of-network patients — the people least able to argue with it.
So the 198.9× spread is not evidence that one hospital is 198.9 times more expensive. It is evidence that the charge field carries very little information, which is itself worth knowing if you were planning to build on it.
A note on what is missing
Of the 116,182 published rows, 52,664 — about 45% — arrive with every value blank. CMS suppresses cells where the beneficiary count falls below its disclosure threshold. Those are dropped rather than imputed, which means low-volume procedures at small hospitals are systematically absent. Any conclusion drawn from this data is a conclusion about the larger half.
Maryland is missing entirely. Its hospitals are paid under a state-run all-payer rate-setting system rather than Medicare's outpatient prospective payment system, so they never enter this dataset. Coverage is 49 states and DC — worth knowing before anyone describes this as national.
What we would need to answer the real question
“What will this actually cost?” needs commercial negotiated rates, which live in Transparency in Coverage machine-readable files published by each payer and hospital. Those are a different and much harder ingestion problem — deeply nested JSON, provider references split across separate files, tens of terabytes per payer per month. That is the next dataset, not this one.
Reproducing this
Every figure in this post is computed from the dataset at build time — none of them are typed into the prose. The ingestion script is a single file and takes about two minutes to run.
node data/seed/fetch.mjs
Source: Medicare Outpatient Hospitals - by Provider and Service, Centers for Medicare & Medicaid Services, data year 2024.