We recently took a hard look at one insurer's negotiated imaging rates and drew a strong conclusion: that the federal price files don't tell you what each number represents. For any imaging procedure, we said, the file lists a professional rate (the radiologist's read), a technical rate (the machine and the room), and a global rate (both together) — with nothing marking which is which, so anyone benchmarking has to reconstruct the labels themselves.
An outside review of that work checked the claim against the raw file.
We were wrong. The file labels every one of those numbers. And the reason we couldn't see the labels is a better and more useful story than the conclusion we drew — so here is the correction, in full, along with what it exposed on our own side.
What the file actually contains
The Transparency in Coverage schema has a field called billing_code_modifier. For imaging, CMS's own technical guidance expects a separate negotiated-price entry for each modifier: 26 for the professional component, TC for the technical component, and no modifier for the global. That is exactly how a radiologist bills — a -26 for the read, a -TC for the equipment — and the file carries it.
We went back to the source: the raw BCBS of Tennessee home-network file, read directly rather than through our own tooling. Across the 11,527 negotiated-price entries for ten common imaging codes:
96% carried an explicit modifier — 6,808 marked 26, 4,256 marked TC, and 458 left blank for the global.
The labels are not missing. They are in the file, on nearly every line, exactly where the schema says they should be. Take the three numbers we used as our opening example — $56.85, $191.40, and $248.25, for one radiologist and one head CT. Two of them sum to the third to the penny. In our original piece we presented that as a puzzle you had to solve. It was never a puzzle. The file already says it plainly: $56.85 is tagged 26 (professional), $191.40 is tagged TC (technical), $248.25 is the global. 56.85 + 191.40 = 248.25.
How we lost the labels
So why did our analysis see three unlabeled numbers?
Because our extraction pipeline dropped the field. When we pulled the file into our own dataset, the code kept billing_class — which reads "professional" for all of these rows — and discarded billing_code_modifier. The result: a 26 entry and a TC entry both landed in our data as indistinguishable "professional" rates, with the one field that told them apart thrown away.
The unlabeled numbers in our original article were not a property of the payer's file. They were a property of our pipeline. The file did its job; our extraction undid it. We have since fixed the pipeline to carry the modifier through, so that professional, technical, and global stay distinguishable downstream — the way they are in the source.
That is an uncomfortable thing to publish, so let us be plain about why we are publishing it. We build a business on the claim that we turn these files into numbers you can trust. A vendor that makes that claim and then can't correct its own mistake in public is not one you should hand your rate data to. The correction is the product.
The reconstruction works — but you should never need it
Here is the part that is genuinely interesting, and the reason the original finding wasn't useless even though its framing was wrong.
Even after the labels are stripped, the arithmetic gives them back. For a given provider and procedure, professional + technical = global, and you can recover the split by searching for the two numbers that sum to a third. We tested how reliable that is against a null model — shuffle the rates randomly across providers, preserving group sizes and the overall distribution, and see how often the sum-to-a-third pattern appears by chance:
| Data | Cells where the split reconstructs |
|---|---|
| Random shuffle (global) | 7.1% |
| Random shuffle (holding each code's own distribution) | 20.2% |
| The real file | 94.7% |
Real reconstruction succeeds 94.7% of the time — 4.7x above even the strict null. It is not a coincidence of dense data and a loose tolerance; the component structure is really there.
And it lands in the right place. When we reconstruct the professional component and take its share of the global, the median across these ten codes is 31.9%. Medicare's own published fee schedule — the 2026 RVU file, which lists the professional and technical pieces separately — puts the median professional share for the same ten codes at 31.5%. Our reconstruction from a payer's commercial file matches the national benchmark to within four tenths of a percentage point.
So the reconstruction is trustworthy. If someone hands you a feed that dropped the modifier — as ours did — you can rebuild the professional/technical/global split arithmetically and check it against Medicare. That is a real, useful capability.
But you should never have to. The label is right there in the source. The correct fix is not a clever matching algorithm; it is to stop throwing the field away.
Why this is bigger than one file
If our pipeline could silently discard billing_code_modifier and leave no trace of it in the output, any pipeline can. And that is the quiet danger: a modifier-dropped feed doesn't look broken. You get three clean rates per provider, no error, no gap — and no indication that two of them are components of the third. The data looks complete precisely when it is most misleading.
Here is what that costs a benchmark. If a pipeline drops the label and you compare the resulting pooled numbers as if they were all the same thing, this is the gap between the pooled median and the true global rate, code by code:
| CPT | Procedure | Pooled median | True global median | Error if you assumed global |
|---|---|---|---|---|
| 70450 | CT head/brain, w/o contrast | $190 | $306 | 1.61x |
| 70553 | MRI brain, w/o & w/ contrast | $568 | $891 | 1.57x |
| 71260 | CT thorax, w/ contrast | $278 | $359 | 1.29x |
| 72110 | X-ray, lumbosacral spine | $71 | $124 | 1.76x |
| 72148 | MRI lumbar spine, w/o contrast | $353 | $558 | 1.58x |
| 73721 | MRI joint, lower extremity | $367 | $570 | 1.55x |
| 74177 | CT abdomen & pelvis, w/ contrast | $474 | $780 | 1.65x |
| 76700 | Ultrasound, abdominal, complete | $189 | $327 | 1.73x |
| 76856 | Ultrasound, pelvic, complete | $165 | $269 | 1.62x |
| 77067 | Screening mammography, bilateral | $160 | $291 | 1.82x |
Professional-class negotiated rates, BCBS-TN home-network file published 2026-06-27, 365 Nashville-MSA imaging providers. "Pooled" is the median across every rate entry with the modifier discarded. "Global" is the median of the global rates. Compare one provider's professional component against another's global directly and the gap is the full ~3x.
That error runs in both directions — treat a global as a professional and you will think a provider is wildly overpaid; treat a professional as a global and you will walk into a renewal convinced you are underpaid by three times. Either way it is invisible, because the number that would have told you which is which was dropped upstream.
The practical lesson is a single question to ask any data vendor, including us: do you preserve billing_code_modifier? If the answer is no — or "what's that" — then the professional/technical/global distinction is gone from your data, and every imaging comparison built on it is exposed to that ~3x error. Not because the payer hid the label. Because the pipeline dropped it.
What we can and cannot say
We can say what we measured. The raw file carries an explicit modifier on 96% of these imaging entries. Our pipeline discarded it and we have fixed that. The arithmetic reconstruction of the split succeeds 94.7% of the time against a 7–20% null, and the recovered professional share matches Medicare's published split to within half a point. Those are measurements.
We can only say it about one payer, one metro market, one specialty, one file vintage. We have not checked whether every payer populates the modifier as completely as this one does — coverage varies by code even within this file, from 100% on some to lower on others — and we are not going to claim uniformity we haven't measured. And we are stating plainly that our first pass on this file was wrong. If a claim we make doesn't survive someone reading the raw source, the raw source wins, and the correction belongs in public.
See where you actually sit
The reason we do this work — correctly this time — is that the answer at the end is worth having: what a payer pays you, what it pays comparable providers in your market, and which component each of those numbers actually represents. That is exactly the question our Gap Check answers — send your fee schedule and your payer, and we will show you the gap, with every number labeled for what it is.
Methodology: DeductibleData read the raw BlueCross BlueShield of Tennessee home-network MRF (890* series, published 2026-06-27) directly and counted billing_code_modifier across 11,527 negotiated-price entries for ten imaging CPTs (96% populated: 6,808 26, 4,256 TC, 458 blank). Reconstruction and error figures were computed from our extract of the same file (365 Nashville-MSA imaging providers, 45,678 rows); the null model shuffles rates across provider-code groups preserving group sizes and rate distribution (K=15, seed fixed). The professional-share benchmark uses the 2026 National Physician Fee Schedule RVU file (professional and technical RVUs by modifier, conversion-factor-independent). Provider identities are not disclosed; the illustrative rates belong to a single anonymized Nashville-area radiologist. Negotiated rates are contracted amounts and are not a guarantee of payment on any specific claim. Source data is public under the Transparency in Coverage Rule.*