Methodology
CarePriceFinder exists to make hospital prices usable. Every number on the site comes from a hospital's own published price file — never a guess, and never a price scraped from a web page. This page explains exactly how we get the data and how we compute what you see.
- Hospital price file We download each hospital’s official machine-readable file (MRF).
- Parse & normalize We read the standardized CMS data and key it to the procedure’s billing code.
- Compare hospitals We line up the published prices across hospitals in the same area.
- Sourced range We publish a dated range, with every number linked to its source file.
Where the prices come from
Under federal hospital price-transparency rules, every U.S. hospital must publish a
machine-readable file (MRF) of its standard charges using a standardized CMS
template. Each hospital also publishes a small cms-hpt.txt file at its website root
that points to the MRF. We use that to locate each file, then download and parse the file
directly. We identify our crawler honestly and cache responsibly.
The price types in the files
- Gross charge — the hospital's full list price before any discount. We do not feature it.
- Discounted cash price — what the hospital charges a self-pay (uninsured) patient. We lead with this when a hospital publishes it.
- De-identified minimum & maximum — the lowest and highest negotiated rates across the hospital's payers. Most hospitals publish these even when they omit a cash price, so they are the basis for the price range we show.
- Payer-specific negotiated charges — rates tied to individual insurance plans. We do not display these in this release; they add contract complexity without helping a cash-paying reader.
Which price we show for each hospital
A hospital may list a procedure more than once (for example, outpatient and inpatient). For each hospital we choose a single representative row, preferring the outpatient setting. From that row we use the discounted cash price if the hospital publishes one; in practice most don't, so we fall back to the de-identified minimum and maximum negotiated rates they are required to publish, and show that range. Every hospital row is labeled with the basis it uses (cash vs. negotiated).
How we compute the "typical range"
Each hospital contributes a price range (a single point when only a cash price is published). The headline typical range runs from the median of the hospitals' low bounds to the median of their high bounds — every figure is a real number taken from a file, never an interpolated estimate. The published span shows the lowest and highest figure across all hospitals in the file.
A note on small samples: when only a few hospitals report a price for a procedure in a city, the range is necessarily rough. We always show how many hospitals a figure is based on so you can weigh it accordingly.
How we handle outlier highs
The de-identified maximum a hospital publishes for a billing code reflects the highest negotiated rate across all of its payer contracts — including any single outlier plan that negotiates at a very high rate. On a page with only one hospital (or on any page where the published high is more than ten times the published low), displaying that number as the “typical” high would be misleading for patients estimating an out-of-pocket cost.
Our display rule: the headline range and chart axis are capped at 10× the published low for any row where the true high exceeds that threshold. Where a cap applies, it is always labeled explicitly (e.g., “high end capped — single-payer outlier”), and the full published figures remain visible in the price table below the chart. We never alter, hide, or round the source data — only the chart scale and headline are adjusted, and only with a clear disclosure. The cap floor is at least $500 above the low so a meaningful range is always shown.
Freshness & provenance
We re-ingest hospital files on a schedule and detect changes by file hash. Every price page shows a last-updated date, and every hospital row links back to the exact source file with the date we ingested it. We never show an undated price.
How we name procedures
We match records on the hospital's billing code (a fact), but we display plain-English procedure names we write ourselves rather than reproducing the official code descriptions, some of which are copyrighted. Names are chosen to be clear and neutral.
Limitations
- Coverage grows in waves; not every hospital or procedure is included yet.
- Hospital files vary in quality and timeliness; some may be incomplete or out of date at the source.
- Published prices are list prices, not quotes. Your actual bill depends on your care, your hospital, and your insurer.
- We provide prices and neutral factual context only — never medical advice.
Questions about our method? Contact us.