clinicians.build · interactive · 9 sep 2026

Nobody Has Seen the Whole Path

Forus just raised $150M at a $3B valuation to automate the paperwork between a prescription and a patient. Nothing in the product is clinical. Here is the paperwork, priced — every drug on every Medicare Part D formulary in the country.

Primary source: Fierce Healthcare, “Forus secures $150M Series C at $3B valuation,” Sep 8 2026
Data: CMS Quarterly Prescription Drug Plan Formulary file, contract year 2026 (Q2 2026 release), via MIMI Labs

The pitch is simple enough to fit on a slide: give every prescription its own agent. Prior authorization, benefits verification, appeals, financial assistance, specialty pharmacy routing. The market says that’s worth three billion dollars, tripled in four months.

On October 1, UnitedHealthcare removes prior authorization from roughly 1,700 service codes — the largest single-payer cut of the year. If administrative friction is the product, the product just lost inventory. I don’t think it dents this market at all, and the reason is in the file below.

The bottleneck was never a single gate. It was that no one person has ever seen the whole path.

CMS publishes, four times a year, the complete utilization-management map for Medicare Part D: for every formulary, every drug, whether it carries a prior authorization, a step-therapy requirement, or a quantity limit. Contract year 2026 has 328 distinct formularies and 1,124,586 drug–formulary listings. 49.5% of those listings carry at least one gate — 28.4% prior auth, 38.8% quantity limit, 1.1% step therapy.

Half of everything. And that is the boring finding. The interesting one is what happens when you ask the same question of the same drug across all 328 plans.

931 molecules, plotted by how much the plans disagree

Each dot is one molecule. Position is set by whichever two measures you choose. Colour is disagreement — how close that molecule sits to a coin flip on prior authorization across the plans that list it. Deep red means roughly half the country’s Part D plans demand a PA for it and half don’t. Size is how many formularies list it.

Choose your axes
Horizontal
Vertical
100 of 328
Molecules shown
931
of 931 plotted
Plans disagree
some require PA, some don’t
Near coin flip
25–75% of plans require PA
Correlation r
between the two axes
plans split ~50/50 on prior auth partial disagreement plans agree (always, or never, a PA) · dot size = formularies listing it

What the picture says

Set the horizontal axis to prior auth and the vertical to average tier and the shape is legible immediately: a dense floor of cheap generics at zero gates, a ceiling of specialty-tier drugs at 99–100% PA, and in between a smear of red — the drugs where the answer to “does this need a prior auth?” is it depends on the plan.

Across the 4,196 individual drug products listed on 50 or more formularies, 2,056 of them — 49% — are split. Some plans gate them, some don’t. Only 212 are universally gated. Only 1,928 are universally free. 430 sit inside the 25–75% band, where a prescriber writing the order is, functionally, flipping a coin.

That is the thing the $3B is buying, and it is not a gate. It is the absence of a map. A clinician who has seen a thousand prior auths has seen a thousand instances of one plan’s rules. Nobody in the exam room can see the distribution.

Now break it

Drag the minimum formularies slider. The plot already starts at molecules listed on 100 or more of the 328 formularies; the slider tightens that toward near-universal listing, and it is the honest test of anything you think you see here. The correlation readout recomputes live from the visible points every time you move it.

Two things to try. Leave the axes on prior auth and average tier and drag from 100 to 328: r goes +0.720 → +0.736 across 931 molecules down to 620. That relationship is real — gated drugs are expensive drugs, and no choice of sample rescues or destroys it.

Now set the horizontal axis to formularies listing — leave the vertical on average tier — and drag the same slider. r starts at −0.144 and then becomes undefined at 328, because at that point every remaining molecule is on all 328 formularies and the axis has no variance left to correlate with. (Put prior auth on the vertical instead and the same drag walks r from −0.048 through zero to +0.061 before it dissolves — a sign flip manufactured entirely by choosing a sample.) Same dataset, three different stories, all arithmetically correct, none of them a finding. If a relationship survives the whole range, it’s probably real. If it appears, flips or evaporates as you drag, you found a sample.

Where this data is thin — and it is thin

Three things this file does not know, and each of them is where the actual work lives:

One more honesty note on the plot: a molecule here is a regex-derived grouping of RxNorm product names, so “insulin glargine” and “insulin glargine-yfgn” are separate rows, and a handful of combination products group under their first ingredient. The molecule-level percentages average across every product and plan in the group. The headline counts in the paragraphs above are computed at the individual product (RxCUI) level, where no such grouping is applied.