A patient comes in for an annual physical. Somewhere in the visit they mention their eczema has flared. You look at it, talk through what’s been going on, adjust their topical steroid, and tell them to step back down once it settles. Then you finish the preventive exam and move on to the next room.
That visit was two things at once: a wellness exam and the active management of a flared chronic condition with a change in treatment. The second part is separately billable. Most of the time, it doesn’t get billed. The note captures the eczema in a sentence, the coding stays at the wellness visit, and a small amount of legitimately earned revenue quietly evaporates.
Do that a few times a day, across every provider in a practice, across a year, and you are looking at one of the largest and least-examined costs an independent practice carries. We call it the undercoding tax. It is invisible, it is self-imposed, and almost nobody is measuring it.
Undercoding is the norm, and it is rational
The reflexive assumption is that undercoding is a discipline problem — providers being sloppy or lazy about their billing. It isn’t. Undercoding in independent primary care is nearly universal, and it is a rational response to the incentives every clinician actually faces.
Three forces push in the same direction.
Audit fear. Overcoding gets you audited, clawed back, and in the worst case accused of fraud. Undercoding gets you nothing but a smaller check. When the downside of one direction is an investigation and the downside of the other is quietly leaving money on the table, cautious clinicians round down. Every time.
Documentation that can’t defend the level. This is the deep one. A visit can be genuinely complex — multiple active problems, real medical decision-making, a change in the plan — and still be billed at a lower level because the note doesn’t show that complexity in a way that would survive review. The clinician did the work. The documentation didn’t capture it in a defensible shape. So the safe code is the lower code, because the higher code isn’t supported by what’s written down.
The cognitive cost of coding accurately in the moment. Getting the level right requires holding the visit’s complexity in your head while you also finish the note, see the next patient, and answer the message that just came in. Accurate coding is real cognitive work performed at the end of a long day, and the path of least resistance is the familiar middle-of-the-road code. The 99213 that’s always a safe bet. The wellness code without the add-on.
None of this is negligence. It’s what happens when busy people respond sensibly to a system that punishes precision in one direction and merely shrinks the paycheck in the other.
The scale is larger than it feels
Because undercoding happens one visit at a time, in small increments, it never announces itself. No single visit feels like a loss. The tax is only visible in aggregate — and in aggregate it is substantial.
Consider the arithmetic, and treat these numbers as illustrative rather than precise — your payer mix and locality change everything. The difference between a level-three and a level-four established-patient visit is roughly forty dollars in Medicare, and more in commercial plans. Between a level four and a level five, roughly fifty. A separately-identifiable problem addressed alongside a preventive visit — the eczema flare in the annual physical — can add a hundred dollars or more.
Now suppose a full-time provider sees somewhere around three to four thousand visits a year. If even one visit in ten was documented and billed a level below the care actually delivered, that’s three to four hundred visits, and somewhere in the neighborhood of fifteen thousand dollars per provider, per year, in revenue that was earned and not captured. Multiply across a group. The tax scales with the size of the practice, and it compounds every year it goes unaddressed.
We have seen this pattern directly. In one multi-clinic primary care network we work with, an internal audit found that roughly half of the reviewed providers were routinely documenting at a higher level of complexity than they were billing. The care was being delivered. The documentation was capturing it. The billing simply hadn’t caught up — because for years, nobody had a way to see the gap.
The root cause is the note
Here is the part that connects undercoding to something deeper than billing habits. The reason complexity stays invisible — the reason the note can’t defend the level — is the structure of the note itself.
A traditional clinical note is an undifferentiated bundle of text organized by time. Everything from a single encounter is poured into one document, and the complexity of the visit is smeared across paragraphs that were built for a different purpose. The medical decision-making that would justify a higher level is in there somewhere, but it isn’t surfaced, isn’t structured, isn’t legible as complexity to anyone — including the clinician deciding how to code, and including the auditor who might later ask them to prove it.
We have written at length elsewhere about why the note is the wrong organizing unit for the record. The undercoding tax is one of its most expensive downstream consequences. When the record is organized by problem rather than by date — when each active issue carries its own thread, its own history, its own decision-making made explicit — the complexity of a visit stops being buried in prose and becomes visible. You can see that three chronic problems were actively managed. You can see that a stable condition was reassessed and a plan changed. You can see the separately-identifiable problem sitting inside the wellness visit, because it lives on its own thread instead of dissolving into a sentence.
Complexity you can see is complexity you can document defensibly. And complexity you can document defensibly is complexity you can bill for — honestly, and with the record to back it up.
The line this argument does not cross
It’s worth being precise about what this is and isn’t, because the space between capturing earned revenue and gaming the system is exactly where clinicians are right to be cautious.
This is not an argument for upcoding. It is not an argument for billing a level you didn’t earn, or manufacturing complexity that wasn’t there, or letting software inflate your codes to chase revenue. That is fraud, and it is the thing every honest clinician is right to fear.
This is an argument for capturing what you actually did. The care in the eczema example was real. The decision-making was real. The separately-identifiable problem was real. The only thing missing was documentation in a shape that made the complexity visible and defensible — and, having made it visible, the choice to bill for it.
That choice always belongs to the clinician and the practice. Good documentation infrastructure surfaces the complexity and shows its work; it does not decide the code and it does not submit the claim. It makes the invisible visible, and then it gets out of the way. What the practice does with that visibility — how aggressively to capture, where to draw its own compliance line, which patients’ cost-sharing to weigh — is a decision no tool should make for you.
The tax is optional
The reason the undercoding tax persists is not that practices have chosen to pay it. It’s that most have never been able to see it. It hides in the structure of the note, one small increment at a time, invisible in any single visit and enormous in aggregate.
Make the complexity visible — organize the record around the problems being managed rather than the dates of the encounters — and the tax becomes optional for the first time. The care was already delivered. The documentation can finally show it. What happens next is up to you.
Stream is the AI documentation platform built on the ideas in our book — notes organized around medical problems, so the complexity you deliver is visible, defensible, and yours to bill. Built for independent primary care, by primary care physicians. See how it works or talk to a clinician.