The Model Isn't the Product. The Verification Layer Is.
A pose model logs 15 clean squats on a knee that's caving. There are 1,524 FDA-authorized AI devices. The scarce part was never the model.

A pose estimation model watches someone do fifteen squats and logs fifteen squats. It's right. The knee was collapsing inward on rep nine, and the model never had an opinion about that, because nobody asked it to have one.
I read a version of this last week from an engineer building exercise verification for physical therapy, and it's the cleanest statement of a problem I keep running into. The model wasn't broken. It answered the question it was trained on, correctly, and the answer was worthless for the thing that mattered.
As of March, the FDA's AI-enabled device list held 1,524 entries. 295 of those cleared in 2025 alone, against six in all of 2015. Whatever the constraint on clinical AI is in 2026, a shortage of models isn't it.
The constraint is the layer almost nobody staffs. It sits between the model's output and the person who acts on it, and its job is to decide whether this particular output deserves to be believed right now. Call it the verification layer. That's where the value is, that's where a fraction of the engineering goes, and the distance between those two facts explains most of what goes wrong after a model ships.
A better model raises the average. Nobody is treating the average.
Every deployed model gets asked two questions. What's the answer, and should I believe it. Training answers the first one. Nothing in the standard pipeline answers the second.
Look at what we measure. AUC, sensitivity, specificity, F1. Every one of those is a statement about a population. They tell you how often the model is right across a distribution of cases. They tell you nothing about whether the output on the screen right now, for this person, is one of the right ones.
The clinician doesn't have a distribution. They have one patient, one image, one alert and about forty seconds. The metric that got the model approved was computed over thousands of cases the clinician will never see, and it can't be spent on the case in front of them.
That mismatch is the whole problem, and a better model doesn't touch it. Improving the model moves the population number. The instance question stays exactly where it was, unanswered, and it's the only question anyone at the bedside is actually asking.
This is why teams get surprised. They ship a model that beat the benchmark, the benchmark was real, the improvement was real, and the deployment still fails. Nothing was faked. The number just never described the thing people needed.
The number that sells a model is rarely the number that breaks it
The Epic sepsis model is the case study everyone in health AI should be able to recite from memory.
In June 2021, a team at Michigan Medicine published an external validation in JAMA Internal Medicine, covering 27,697 patients across 38,455 hospitalizations. The model was already running in hundreds of hospitals. The vendor's reported discrimination was 0.76 to 0.83 AUC. The external validation put it at 0.63.
But the number that made it unusable on the ward wasn't the AUC. It was this: the model missed 67% of the patients who had sepsis, while firing alerts on 18% of everyone admitted.
Sit with the shape of that. Roughly one in five hospitalized patients generated an alert, and two thirds of the people the system existed to catch got nothing. Both of those are deployment properties. Neither is visible in a discrimination score. You could have handed that team a model with a better AUC and, without changing the threshold logic, the alert volume and the miss pattern would have survived the upgrade almost intact.
The verification layer is what should have been sitting there. Not a better sepsis model. Something that knew the local base rate, that could tell a marginal score from a confident one, that could route the uncertain cases somewhere other than the same alert channel as the obvious ones. That component was never built, because it wasn't the product. The model was the product.
The model that survives the lab dies at the door
There's a systematic review of 86 deep learning algorithms in radiology that I think about more than any single benchmark result. 81% of them lost accuracy when tested on external data. Close to a quarter dropped by 0.10 AUC or more.
The causes are unglamorous and completely predictable. Different scanner hardware. Different imaging protocols. Different patient demographics. Different disease prevalence, which quietly wrecks calibration even when discrimination holds. The model didn't degrade. The world it was measured in stopped matching the world it landed in.
Here's what makes this a verification problem rather than a modeling one. Every team knows domain shift exists. Very few can tell you whether it's happening to them this week. The information needed to answer that lives in the deployment, not in the training run, and the only component positioned to see it is the layer watching outputs against local reality as they happen.
Without that layer, you don't learn your model stopped working. You learn it from an incident, a complaint or an audit, which means you learn it late and you learn it in the worst available format.
And notice what this does to procurement. The vendor's validation was performed somewhere else, on someone else's patients, with someone else's equipment. It's evidence, and it's evidence about a different building. Every deployment is an external validation whether or not anyone treats it as one. The only question is whether you're collecting the results.
An unverified output doesn't get ignored. It gets overridden, and that's worse.
The failure mode people expect is that staff stop trusting the model and go around it. What actually happens is more corrosive.
Across the clinical decision support literature, average alert override rates run from 46.2% to 96.2% depending on the system and the setting. One study found 88.2% of very severe drug interaction alerts overridden by prescribers. Very severe. The category built to be impossible to dismiss, dismissed nearly nine times in ten.
That isn't people rejecting the tool. It's people building a reflex, and a reflex doesn't discriminate. Once dismissing is the fast path, the true positive gets cleared with the same keystroke and the same half second of attention as the eighty false ones before it. The system is still running, still logging, still on the compliance inventory as a deployed safety control, and the signal it was built to carry is gone.
Which reframes the job. The verification layer isn't there to filter noise for the user's comfort. It's there to protect the signal, so that the rare output that genuinely matters arrives in a channel the human hasn't already been trained to ignore. Every unverified alert you send spends down the credibility of the next one, and that budget is finite.
Alert fatigue gets discussed as an interface problem. It's a model being asked to do a job it was never evaluated for, in front of people who've correctly learned what its output is worth.
What the verification layer is made of
Four components, none of which are a model.
A confidence estimate calibrated on local data. Not the vendor's confidence score. Theirs was calibrated against their validation set, and your prevalence is different, which means their 0.8 and your 0.8 are different objects. Recalibrating on a few hundred locally labeled cases is unglamorous work that beats a model upgrade almost every time.
An abstention path. The model has to be allowed to return "I don't know," and that answer has to route somewhere that isn't the default channel. A system with no abstention path forces every uncertain case into a confident-looking output, which is how you manufacture the overrides.
Local ground truth capture. What actually happened, recorded on a cadence, in a form you can compare against what the model said. Most deployments never close this loop, which means the model's real-world accuracy is unknown to everyone including the people defending it in a meeting.
A drift signal on inputs, not outputs. Watching output accuracy means waiting for ground truth, and ground truth arrives weeks late. Watching the input distribution tells you the population shifted while you can still do something about it.
Now the staffing question. Most teams I see put the overwhelming share of engineering on the model and treat this list as integration work, handed to whoever has capacity. The value split runs the other way.
The clearest way to see it: the model is the part you can buy. There are 1,524 authorized devices and a functionally unlimited supply of open weights. The verification layer is the part you can't buy, because it's built out of your base rates, your workflows, your staff and your ground truth. It's the only component of a clinical AI deployment that is genuinely yours, which makes it the only one that can be a durable advantage.
Everyone is competing on the commodity and treating the differentiator as plumbing.
The rep nobody was watching
The pose model was never going to catch rep nine. Not because it was a weak model, but because catching rep nine is a different job than counting squats, and someone has to decide to build the thing that does that job.
That decision keeps getting deferred, and I think it's because the verification layer has no demo. You can't show it on stage. It produces no impressive output, it makes the system look less confident rather than more, and its best day is one where it quietly stops a wrong answer from reaching someone. The model demos beautifully and the verification layer demos as an absence, so the roadmap funds the model.
Then the thing ships, the alerts start, the staff learn to dismiss them and eighteen months later someone commissions a review to find out why adoption is flat.
If you're building or buying clinical AI this year, the question worth asking isn't how accurate the model is. It's a harder one, and every serious deployment eventually has to answer it: how does this system behave when it's wrong, and who finds out. That's not a question about the model. It's a question about everything you built around it, which is the part that was always the product.
If you're working through what verification looks like for a model you're about to deploy, get in touch.
This is the ninth in a series on what I see in the market and hear from operators across the companies I've worked with. Next up: what a headless AI agent, one with no interface at all, does to the trust the interface used to carry.


