How it works, and its limits
Two federal rules make hospitals and insurers publish their prices. This site reads those files for Arizona and puts the numbers side by side.
Where the prices come from
Hospitals. Since 2021 every hospital must post a machine-readable file of its standard charges: the list price, the discounted cash price, and the price it has negotiated with each insurer and plan. We find each of Arizona's 95 non-federal hospitals' files through the cms-hpt.txt file the rule requires on its website, download it every week, and read it in CMS's template format.
Insurers. The Transparency in Coverage rule makes insurers publish the rates they've agreed with every provider in their networks. These files are enormous (one insurer's are about 30 GB compressed, hundreds of gigabytes as text), so they're streamed once a month and only the rates for Arizona hospitals are kept. We start with Cigna.
How the numbers are compared
- Prices are matched by billing code (CPT, HCPCS or MS-DRG), by setting (inpatient or outpatient) and by type of charge. A hospital's facility fee is never compared with a physician's fee.
- The “insurer median” on each page is the middle of the dollar prices a hospital lists across its insurers and plans. Filters narrow it to one insurance type or insurer.
- Some prices are a percentage of billed charges or a formula. They're shown as written, but can't be turned into a dollar amount.
How hospitals are scored
We check each file against the rules a program can verify. The score is the share it meets.
- 1Its website lists the price fileA cms-hpt.txt file at the website's root must point to the hospital's price file, so programs can find it.
- 2That listing is machine-readablecms-hpt.txt must follow CMS's format so a program can read it.
- 3The price file can be downloadedThe file must be free to download without an account, password or personal details, and by automated programs, not just a browser.
- 4The file follows CMS's templateSince July 2024 hospitals must use one of CMS's templates (CSV or JSON).
- 5The file says which template version it usesThe version tells a reader which columns and rules apply.
- 6Every required header field is filled inHospital name, address, license number, last-updated date and an attestation that the file is accurate.
- 7It lists what each insurer paysPayer-specific negotiated charges are the heart of the rule.
- 8Insurer prices are mostly dollar amountsPrices given only as percentages or formulas can't be compared; we expect at least half to be dollars.
- 9The file was updated in the last yearHospitals must update the file at least once a year.
- 10It gives a cash price for its shoppable servicesThe rule requires a discounted cash price for each service. Many files list only insurer prices for a procedure; we expect a cash price for at least 90% of the shoppable services the file prices.
- 11It gives a list price for its shoppable servicesThe rule also requires the gross charge, the hospital's full list price. We expect one for at least 90% of the shoppable services the file prices.
A file that can't be downloaded or read can't be checked for the rest, so those rules count as unchecked, not passed.
What this can't tell you
- What you'll pay. Your cost depends on your plan's deductible, copays and coinsurance, and on the care you actually receive. Ask your insurer and the hospital for an estimate.
- Every fee for a visit. A procedure often has separate bills: the hospital, the doctor, anesthesia, imaging. A page shows the charge for one billing code.
- Whether a file is right. We show what hospitals and insurers publish. When the two disagree about the same price, both are shown.
Open source
Every step, from downloading files to this page, is in the project's repository. Found a problem? Hospital pages link to each hospital's own file, so you can check any number against its source.