These are the specific traps, with the measurements behind
them. We publish them because a price comparison you cannot check is worth
nothing, and because every one of these would have made our own numbers look
more impressive than the truth.
Mandatory, and empty
A hospital can obey the rule and still tell you nothing
The discounted cash price column is mandatory. It is not required to contain
anything.
Neither file Ohio State University lists for CMS carries a single
self-pay price. The column the rule requires is present and empty
across all 2,366,510 rows of the OSU Hospitals file and all
4,470,209 rows of the James Cancer Hospital file. A patient
paying for themselves cannot learn their price from either one.
We downloaded both files again on 9 August 2026, straight from the addresses
OSU publishes at wexnermedical.osu.edu/cms-hpt.txt, and counted them ourselves.
Version 3.0.0, dated 1 July 2026. Some hospitals record a cash price as a payer
row instead of in the dedicated column, so we checked that too: both files carry
26 payers, every one of them an insurer, and no self-pay, cash or uninsured rate
appears in any column of either file.
This is not a hospital refusing to answer. OSU states on its own pricing page
that its charges are the same for every patient, and it points people to an
estimate tool and a phone number. Someone who can ring up and
ask will get a figure. What is missing is a figure in the file, which is the
only thing a machine, a researcher or a price comparison can read. That gap is
the finding, and it is not the same accusation as hiding a price.
For comparison, in the same city: OhioHealth publishes a self-pay price for 41
of the 58 procedures we track at each hospital, Mount Carmel for 52 to 53, and
Nationwide Children's for 54.
What we doThe grade on each hospital
page is about whether a price exists at all, not whether it is a good price.
One code, seven prices
One billing code, seven different prices
A hospital may list the same procedure code many times at different prices,
under an identical description, with nothing indicating which one applies to
you.
Mount Carmel East lists CPT 20610, a major joint injection, at seven
distinct cash prices — every one of them under the same description.
$15.68
$23.04
$98
$144
$156
$196
$288
CPT 20610 at one hospital.
Nothing in the file says which of the seven you would be charged.
This is the trap that matters most, because whichever price a comparison site
happens to read first becomes "the price". Reading the lowest of one hospital's
seven against another hospital's single figure produced, on an early version of
this site, a claim that one hospital charged 87.7× more than
another. That number was pure artefact.
What we doWhere a hospital publishes
several prices for a code, we show the range and mark it varies, and we
leave it out of hospital-to-hospital comparisons entirely.
Not the same unit of sale
The same code is not the same thing at two hospitals
A code can describe one line on a bill at one hospital and an entire surgical
episode at another. Both are published honestly. Dividing one by the other is
meaningless.
$775.80
$55,316.58
Shoulder arthroscopy, same code.
Nationwide Children's publishes a single operating-room line, against a gross
charge of $862. Mount Carmel East publishes a whole admission.
So the test is not how far prices spread. It is whether a code names one
fixed amount of work. Imaging and lab codes do: one scan, one panel, one draw.
DRG codes do too, because a DRG is a bundle CMS itself defines, which is why a
hip replacement can be compared even though it is surgery. Surgical CPT codes
are where hospitals itemise at different levels, and a code billed at different
levels is not a price for the same thing.
This page used to justify that a different way, by how tightly each category's
prices cluster, and that was wrong. It was one city's pattern. Here is the gap
between the cheapest and dearest cash price published for the same code in the
same metro, averaged over every code two or more hospitals publish:
The order reverses. In Columbus the two categories we compare are the tight
ones, which is what the old claim rested on. Across 25 metros they are the
widest. So a narrow spread never proved anything and we have stopped saying it
did.
Those wide national numbers are real prices, not a fault in the reading.
Hospitals differ enormously in what fraction of their own list price they charge
someone paying cash, and that lands on a blood test as hard as on surgery. The
cheapest hospital for a blood count really is the cheapest. What a wide spread
cannot tell you is whether two hospitals are selling the same thing, and that is
the question that decides what we are willing to rank.
What we doWe rank hospitals against
each other on imaging, lab work and the CMS-defined DRG bundles, on that test
and not on spread. Surgical codes are shown on a hospital's own page and never
ranked. Separately, any hospital publishing more than one price for a code is
dropped from that ranking, because it has not told us which price applies.
Both values correct
Two prices for the same test can both be real
Banner Heart Hospital lists a prothrombin time blood test at
$0.83 and also at $8.06. Neither is an error.
The first is a point-of-care bedside test with a $13 list price; the second is a
full lab test with a $126 list price. Both carry the same 6.4% self-pay discount.
We flagged the $0.83 as a suspected bug in our own reader and went to Banner's
published file to check. It was correct. We mention it because the instinct to
"fix" a number that looks wrong is how a comparison site quietly starts editing
hospitals' data.
Wrong unit
A published minimum is often not a price anyone pays
Files carry the minimum and maximum an insurer has negotiated. Some of those
rows are not dollar amounts at all — they are a percentage of charges, or a
per-day rate, recorded in a way that reads as a very small number.
Taken at face value, OSU's published minimum for a colonoscopy is
$0.62. That is not a price. It is a rate expressed in a
different unit, and any site that aggregates those rows prints a number it
cannot defend.
What we doRows whose rate is not
stated in dollars are counted and excluded rather than dropped silently. Each
hospital page reports how many were excluded from its file.
Correctly absent
Some missing prices are correct
Hospital files cover facility charges. An office visit or an ECG is
billed by the doctor, not the building, so its absence from a hospital's file is
the file behaving correctly rather than a gap.
What we doWe mark those procedures as
normally absent instead of rendering an empty cell that reads like missing
data.
No index, a third unreachable
There is no national list of these files, and roughly a third are unreachable
CMS requires each hospital to advertise its price file at a fixed address on its
own website, and does not collect the results anywhere. There is no index.
We checked that address on 1,658 hospital domains.
1,051 answered with a usable file — about 63%. The rest returned
nothing, refused automated requests outright, or had no file at the address the
rule specifies.
Hospitals also merge and rebrand, and the old address stops working. Beaumont
Health became Corewell Health; five Detroit hospitals looked non-compliant purely
because we were still asking the old domain. They were publishing normally.
What we doEach metro page says how many
of its hospitals we found a file for. A hospital we could not find one for gets a
page saying exactly that, rather than being left off the list.