Read the JavaScript Bundle

In September I pointed a swarm of research agents at the free data the US government publishes about healthcare and asked one question: what is sitting there that almost nobody uses? Every number it came back with carries a label, found, estimated, or modeled, and a URL that was actually fetched on the date stated.

The best finds did not come from documentation. They came from reading the JavaScript bundle of the site that hosts the data, which is not a research method anyone teaches and is the only one that worked.

An Employer Directory Nobody Advertises

Under the transparency-in-coverage rule, every insurer posts machine-readable files of its negotiated rates. The conversation about those files is always about the rate files, which are the part you cannot afford to process. One insurer's in-network files run to tens of terabytes.

The index files are a different thing. One national carrier's site bundle has a listable blob catalog in it, not advertised anywhere on the regulator's site, that returns every index file with its size. About 68,000 index files at around two kilobytes each. A 232-megabyte download that gives you, for every self-funded employer that carrier administers, the employer's name, tax identifier, plan names, and market type.

I have not found a single health plan that does this. The regulation requires the files to be crawlable and forbids blocking automated access. The catalog endpoint was in the front-end code, waiting.

The same regulation, the same schema, and a 45-times difference in what it costs just to list what is there. One carrier's whole index set is 232 megabytes across 68,000 files. Another's is a single blob over ten gigabytes.

The out-of-network side of the same rule is functionally empty. Twelve and a half thousand files averaging 248 bytes against 63 terabytes of in-network data. A twenty-claim reporting threshold hollowed out that whole half of the regulation.

The Government Ships the Pricer

The agency that pays hospitals publishes ten prospective-payment pricers, one per care setting, as executable Java archives with source. The COBOL was discontinued in early 2022. It also ships the inpatient grouper as a runnable archive, and the risk-adjustment model in Python.

The concrete missed use: a plan can run its own prior-year inpatient claims through next fiscal year's grouper from the final rule, and through the current one. That puts a number on the shift before the effective date. The payment-grade grouper no longer needs a proprietary statistics package. Almost nobody in the industry knows the source is downloadable.

The Number Everyone Thinks Is Confidential

The drug program publishes a manufacturer-reported average price aggregate monthly, for free, at the product-group level. Payer analysts almost universally believe that figure is confidential. It is, at the transaction level. In this aggregated form it is a public file.

The Archive That Overwrites Itself

Every refresh writes over the provider-quality files in place. A plan that mirrored the 417 archive files once, about 36 gigabytes, owns a 2019-to-present provider-quality panel that nobody can buy back later. Recovered by reading the site's own script bundle, which references an archive endpoint the page never links to.

The Labeled Training Set

One federal audit program publishes 163,940 claim lines where a medical reviewer has already ruled. That is a labeled training set for improper-payment detection, free.

The near-universal plan behavior is to cite that program's headline error rate in a board deck, then build pre-payment edits from vendor rule packs and internal denial history. Which is circular. Internal denial history only contains the errors your existing edits already catch. The labeled federal set contains the ones they did not.

A Leading Indicator, Buried in a Staffing File

Nursing-home staffing data carries contractor columns. The share of hours filled by agency staff is the best public early warning there is that a facility is about to go bad. It shows months before a deficiency lands in the inspection file and a year before the star rating moves. It is a column in a spreadsheet.

Why It Sits There

Every one of those is free. Every one of them is in the open. The reason nobody uses them is not secrecy. It is that the conversation about public healthcare data is always about the biggest file, and the biggest file is the one that is too expensive to process, and everyone stops there.

The finds above came from three habits. Read the front-end code, because the endpoints the page uses are not the endpoints the page documents. Measure the file, because a 248-byte average tells you the regulation is empty before you read a word of it. And look for the columns that are not the headline, because the headline is what everyone already cites.

The swarm that did this also produced a critic that audited its own coverage and found the sweep had walked past the biggest growth-side finding twice. That is a different post. This one is just the drawer.

-- Justin Higgins. Software Engineer, Midwest. Read the site's own JavaScript and found the directory the regulator never linked.


Companion pieces: Survived Is Not Endorsed - how the sweep audited itself.

Reactions, disagreements, war stories: jchigg2000.dev@gmail.com