CMS HPT Tracker / price transparency audit

Explainer · 1 of 3

Hospital price files

Every hospital has to post its prices in one big downloadable file. The law calls it a machine-readable file, or MRF. This site calls it a price file.

The basics

A big data file, not a price menu

A price file lists what a hospital charges, in a format that software can read. It is built for researchers and programs, not for patients browsing.

The file covers everything the hospital sets a price for. That includes supplies, procedures, room and board, and bundled services. It also includes services by clinicians the hospital employs. Some hospitals need more than one file, because sites under one license can have different prices.

These files are huge. The same service is listed again for every insurance company, plan, billing code and care setting. A file can hold millions of rows even when the hospital offers far fewer services.

One service branching into many rows, one for each insurer and plan. One servicefor example, a scan Insurer A · Plan 1 Insurer A · Plan 2 Insurer B · Plan 1 Insurer B · Plan 2 Insurer C · Plan 1 Insurer C · Plan 2 Insurer D · Plan 1 Insurer D · Plan 2 …and many more, for each care setting and billing code
Why the files are so big: the same service is listed again for every insurer, plan, care setting and code. The bars stand for different negotiated prices. This picture is an example, not real data.

Reading the data

What one row says

Each row needs enough detail to tell you what was priced, where, for whom, and how the price was set.

Item or service
What is being priced, such as a scan, a lab test, a supply, a drug, a room, or a bundle of services.
Billing code
A code for the service. It can be the hospital’s own code or a standard one (CPT, HCPCS, DRG, NDC or a revenue code). One service can have several.
Care setting
Whether the price is for a hospital stay, an outpatient visit, or both.
Payer and plan
The insurance company and plan behind a negotiated price. If one rate covers a whole group of plans, the row can name the group.
Price method
Whether the price is a dollar amount, a percentage, a formula, or another kind of contract term.

Matching codes do not mean matching care. Two rows with the same code can still price different things, because the site, setting, units and what is bundled in can all differ.

Standard charges

Five different answers to “what does it cost?”

The rule defines five kinds of price. Each answers a different question, so don’t treat them as the same number.

The five kinds of price placed on a line from lower to higher. Cash price Lowest negotiated One price per insurer and plan Highest negotiated List price Lower priceHigher price
The five kinds of price on one line. Where each one falls changes from service to service. These positions are an example. The list price is usually far above what insurers negotiate.
Kind of priceWhat it isKeep in mind
Gross chargeThe hospital’s list price, before any discount.Often much higher than what anyone actually pays.
Discounted cash priceThe price for someone who pays cash or the equivalent.It may not be the only self-pay deal, and it isn’t a personal quote.
Negotiated price for a payerThe price the hospital agreed with one insurer and plan.One service can have many of these, one per insurer and plan.
Lowest negotiated priceThe lowest price any insurer negotiated for the service. The insurer isn’t named.You can’t tell which insurer or plan it belongs to.
Highest negotiated priceThe highest price any insurer negotiated for the service. The insurer isn’t named.You can’t tell which insurer or plan it belongs to.
The five kinds of price are defined in 45 CFR 180.20.

The lowest and highest prices give a range, not a typical price. They don’t show how many prices sit near either end. The insurer-specific rows carry more detail, but to compare them you still need the same code, setting, units and price method.

Price methods

Not every negotiated price is a dollar amount

Some contracts set a fixed dollar price. Others use a percentage, a fee schedule or a formula that depends on details known only when the claim is processed.

The file has to say which method applies. If the price can’t be written as dollars in advance, the 2026 rules ask the hospital to include what a reader needs to work it out, when the hospital has that information.

For these contracts, the template also lists what the hospital was actually paid in the past: the 10th percentile, the median, the 90th percentile, and how many payments those figures come from. That is history over a set look-back period. It is not a promise about future payments.

File layout

CMS sets the layout

Since July 2024, hospitals must use a CMS template. There are three allowed layouts: tall CSV, wide CSV and JSON.

Tall CSV

More rows, fewer columns

Prices run down the page. Databases handle this well, but the file gets very long.

Wide CSV

Fewer rows, more columns

Related values sit side by side. A spreadsheet can still struggle with how wide and big the file is.

JSON

Nested groups

Hospital, service, code and price details are grouped inside each other instead of laid out in a grid.

Every layout starts with facts about the file itself: the hospital’s name, its sites and addresses, its license, the template version, and the date of the last update. The 2026 rules add the hospital’s organization ID numbers (NPIs), a signed statement that the file is accurate, and the name of the senior official responsible for it.

In a CSV, those facts sit above the main table, so the file can look odd in a spreadsheet. JSON holds the same facts in nested records. Whichever you open, use the CMS data dictionary to read it, not how it happens to look on screen.

Limits

A posted price isn’t your bill

A negotiated price is a deal between a hospital and an insurer. It doesn’t say what you personally will owe.

Your deductible, coinsurance, copay, network status, benefit limits and the care you actually get all change your share. The file can include charges for clinicians the hospital employs. But you can still get separate bills from independent doctors, labs, anesthesia groups, ambulance services and others.

The files are still useful. They let people study prices, compare markets, review contracts and hold hospitals to account. For a personal estimate, use the hospital’s own patient tool and your insurer’s benefit information.

A file that opens isn’t necessarily complete or correct. Opening a file in the current format doesn’t prove every required price is there, every code is right, or every contract is shown properly.

This tracker

The check confirms a file is posted, not every price in it

The tracker follows public links and reads the start of each file to answer a few narrow questions.

It checks whether the file can be found and opened, whether it names the current template version, and whether its update date is within the last year. It doesn’t read and verify every price in every file. It also doesn’t test the separate patient lookup tool.

So read a tracker result as a note about public access and basic file details. It is useful evidence. It is not a CMS ruling, and it says nothing about whether the prices are good.

Sources

Official references

Next CMS rules Who has to follow the rule, what hospitals post, and how CMS enforces it. Also Pointer files How a small text file points software to the full price file.