Downcoded

How the Vaccine Price File Changed Without Changing Its Name

CMS filled in six blank COVID-19 payment limits on September 1 and left the August 27 issue date stamped on the file name. Same URL, same file name, different prices. If you pulled the file the evening it posted, you are still holding the blanks, and the six codes came back 20.5 percent above last season.


If you pulled the 2026-2027 seasonal vaccine price file the Friday evening it went up, you are holding a version CMS no longer serves.

We read that download again this morning. The last-modified header on it now says Tue, 01 Sep 2026 15:17:43 GMT.

On August 31, reading the same URL, this desk logged Fri, 28 Aug 2026 18:44:43 GMT and committed the read.

Same URL, same ZIP name. Both files inside carry the same name they carried in August, right down to the string (Issue Date 08_27_2026).

The prices inside are different.

What Came Back Filled In

The August 31 radar covered this file's arrival: nine influenza codes landed priced, including the new trivalent mRNA code 90616 at $171.211, and six COVID-19 codes landed with the literal letters TBA where the payment limit goes. Those nine influenza rows are unchanged in the version being served now, to the tenth of a cent.

The six COVID-19 rows have numbers (chart below).

91320, the 30 microgram Comirnaty presentation that covers everyone 12 and up, moves from $168.367 to $230.405. That is $62.038 a dose, up 36.9%, the largest single move on the file. Nuvaxovid picks up $40.299 and mNEXSPIKE $50.312.

Across all six codes the season goes from $965.713 to $1,164.112, up 20.5%.

One detail worth a second look: 91321 and 91322, the 25 microgram and 50 microgram Spikevax presentations, both land on $172.967 this season. Last season they were $147.060 and $161.652, a $14.592 gap. Two different doses, one number.

None of this comes with a coinsurance line. Part B deductibles and coinsurance do not apply to these products, and CMS requires assignment on the vaccine claim, so the allowance is the entire check and the acquisition cost is entirely yours.

The Name Was Supposed to Tell You

Here is the sentence CMS puts at the top of its own vaccine pricing page, describing how you are meant to keep up with this file:

"CMS will update this file periodically over the coming weeks as additional pricing information for the 2026-2027 season becomes available. To help users identify the most current version, the file name will include the date it was published."

The file name did not change on September 1. The version identifier CMS published, and told you to rely on, sat still while the payment limits underneath it moved.

That mechanism does work when CMS uses it. The previous edition of this same file carried (Issue Date 07_30_2026) in its name, and the August update moved it to 08_27_2026. So the rename is the norm and this was the exception, which is the worst arrangement for anyone automating a pull.

Two more timestamps settle it (chart below). The NDC-HCPCS crosswalk, posted three minutes after the original price file, still serves Fri, 28 Aug 2026 18:47:07 GMT and still holds ZIP members stamped August 28.

And the members inside the price file being served today are stamped 2026-09-01 15:09. That rules out a header artifact or a cache quirk, because it is a different archive.

The dates on those six rows read "Effective 08/27/2026" in both versions. So the prices were live for five days before the file that holds them existed, and anyone who priced a fall COVID-19 claim off the August 28 download priced it off a blank.

Final Thoughts

The practical fix is small and worth doing this week. Stop treating the issue date in the file name as the version, hash the ZIP or read its last-modified header instead, and re-pull before you release any COVID-19 vaccine claim with an August date of service.

The larger point is the one this desk keeps running into. CMS publishes no changelog for this file, no revision notice, and no version history, so the only record that the August 28 version ever existed is whatever you or somebody else happened to keep.

We kept ours. The reason we can tell you what changed is that a routine downloaded a file on a Friday night and wrote down what was in it.

Thanks for reading.