Andrew Napier
Changing Models in Clinical Documentation Without Losing Control
How I think about swapping model backends in clinical documentation without turning the chart into an experiment.
When I think about changing models in a clinical documentation system, I do not start with benchmarks or leaderboard energy.
I start with failure modes.
If the current model is failing in ways I cannot accept, then I look for a replacement. If it is not, I leave it alone.
That sounds conservative. It is. Clinical documentation should be conservative. The chart is a bad place to indulge technical curiosity.
That sounds obvious. In practice, a lot of teams still do the opposite. They see a new model get attention, run a few sample prompts, and convince themselves they are looking at progress. That is not a migration strategy. That is curiosity dressed up as engineering.
The Problem
In higher-acuity charting contexts, the failures that matter are usually some version of the same problem:
- Invented non-existent medication orders
- Added implied interventions that were never discussed
- Flattened uncertainty into confident statements
- Converted negations into positives under compression pressure
One fabricated sentence in a chart is enough. “Mostly good” is not a real standard when the note becomes part of the medical record.
That is the part people outside healthcare miss. In a lot of software, a bad output is annoying. In clinical documentation, a bad output can become part of the record, shape downstream decisions, and create legal exposure at the same time.
It also poisons the relationship with the end user almost immediately. Doctors do not need many examples before they start distrusting the system. Once that trust breaks, getting it back is hard.
It also changes physician behavior. Once a doctor sees the system invent something once or twice, they stop trusting the rest of the output. So this is not only about safety in the narrow sense. It is also about whether the product keeps any credibility at all.
Why This Is Not a Prompt-Only Problem
Structured prompts and extraction-first constraints help. They do not fully fix model tendencies under long, messy, multi-turn clinical context.
So treat it as a systems problem:
- Re-evaluate model behavior under the actual workload
- Rebuild prompts around stronger constraint discipline
- Add hard validation gates before chart assembly
I have seen too many teams act like prompt engineering is the whole game. It is not. If the architecture gives the model too much room to improvise, the prompt is not going to save you.
That is one of the recurring pathologies in this space. Teams keep trying to negotiate with a structural problem using nicer instructions. If the system design rewards fluent guessing, the model will keep finding ways to guess.
That is one reason I prefer architectures that force the system to earn each claim. If the model is allowed to glide from source text to polished chart prose in one jump, you lose too much visibility. You might still get something that looks clean. You just do not know how many liberties it took on the way there.
Migration Strategy
When I do this kind of migration, I do it in phases:
- Baseline comparison on representative note types (HPI-heavy, critical care, ACP, complex differentials)
- Side-by-side scoring for fabrication, omission, uncertainty handling, and style drift
- Agent-by-agent rollout instead of monolithic cutover
- Post-deployment monitoring with explicit risk flags
The biggest lesson was simple. Migration is much easier when the architecture is modular.
A modular pipeline lets you shift one stage at a time. For example:
- HPI extraction
- Physical exam selector
- Physical exam synthesis
- Critical care documentation
- ACP documentation
- Diagnostic synthesis
- Assessment/plan
- Chart builder
That kind of separation changes the whole migration conversation. You stop asking, “Is the new model better overall?” You start asking, “Is it better at this stage, for this kind of work, under these constraints?” That is a much more useful question.
It is also a more honest one. “Better overall” is usually a dodge. It lets people hide section-specific failures inside a general impression that the new output feels stronger. I do not care if it feels stronger. I care whether it is safer in the part of the pipeline where it is being used.
It also keeps the blast radius smaller. If a new model is better at HPI extraction but worse at assessment text, that is a useful finding. You do not have to promote it everywhere at once just to justify the evaluation effort.
What Improves
After a migration and retuning pass, the improvements I want are usually some combination of:
- Fabrication incidence dropped materially in high-risk sections
- Outputs adhered better to extraction-only instructions
- Uncertainty language was preserved more consistently
- False specificity was reduced in plan and diagnostics layers
The gain never comes from model behavior alone. It comes from model behavior plus guardrails.
That is worth emphasizing because teams love to attribute success to the model alone. Usually that is not true. Usually what actually happened is that the model improved a bit and the system around it stopped letting obvious errors pass through.
That distinction matters operationally. If you credit the model for everything, you will keep chasing the next model. If you credit the system, you will keep improving the product.
That mindset shift matters more than people admit. A team that worships model upgrades ends up reactive. A team that understands system design gets harder to fool by hype.
Non-Negotiable Guardrails
For production clinical documentation, I treat these controls as non-negotiable:
- Evidence grounding checks before final assembly
- String-match validation for high-risk entities
- Modality preservation (possible vs probable vs confirmed)
- Negation preservation
- Explicit absence-handling gates
If a sentence cannot be tied back to encounter evidence, it should not ship.
I do not care how fluent it sounds. I do not care how plausible it is. If it is not grounded, it should not survive.
I feel strongly about that because the language model failure mode is always the same temptation. It can usually produce something that sounds better than the real source material. That is exactly why you need the system to be stricter than the prose is polished.
Tradeoffs
No migration is free. I expect:
- Rewriting prompts across agents
- Retuning token budgets and temperatures
- Revalidating downstream formatting assumptions
- Temporary throughput variability during cutover
If the end state is more reliable, the extra work is worth it. Reliability beats convenience in clinical systems every time.
That tradeoff gets easier once you accept what kind of product you are building. If you are building a toy demo, convenience wins. If you are building something that touches the chart, convenience should lose almost every time.
I think a lot of bad decisions in healthcare AI come from pretending those are the same product. They are not. The bar for a demo is low. The bar for something that writes into the chart should be punishing.
There is too much borrowing from demo culture in clinical AI. Too much tolerance for “close enough.” Too much willingness to confuse a smooth output with a safe one. That attitude is survivable in a product mockup. It is unacceptable in charting.
Practical Advice for Teams Doing This Now
- Measure failure modes first, not aggregate quality.
- Decompose your pipeline before you migrate models.
- Add hard validation gates independent of the model.
- Roll out incrementally and watch high-risk sections first.
- Define clear “do not ship” conditions.
The core principle is simple. In healthcare AI, the safest architecture wins.
Not the prettiest architecture. Not the newest model. Not the one with the best launch thread. The safest one.
That is still the filter I trust most. If a team cannot explain how the system limits damage when the model is wrong, I am not very interested in the rest of the pitch. That is where the real engineering is.