Skip to content
Back to CMS Watch
PolicyJuly 22, 2026·4 min read

An ICD coding model scored 0.709 on a 50-code subset and 0.527 across all 15,761 codes

A July 2026 preprint reports two very different accuracy numbers for the same automated ICD-10-CM coding system, depending on whether it was scored on a curated 50-code slice or the full leaf-code space. The gap is a useful question to bring to any coding-automation demo you get pitched.

AIICD-10-CMcoding automationdocumentationQA
Jess P., CPC

Reviewed by Jess P., CPC

Published July 22, 2026

A packed card-index drawer with the cards at the back falling into shadow, standing in for the rare-code tail an automated ICD coding system misses.
The common codes sit at the front of the drawer. The accuracy gap lives at the back.Illustration: HCC Buddy

Key Takeaways

  • A July 11, 2026 arXiv preprint reports that the same automated ICD-10-CM coding system scored 0.709 micro-F1 on a curated 50-code subset and 0.527 micro-F1 on the full 15,761-code leaf space.
  • The authors report a +0.044 micro-F1 and +0.157 macro-F1 improvement over the strongest flat baseline in the full-code setting, a gap that indicates the gains concentrate in rarely used codes.
  • The method guarantees a structurally valid billable leaf code as its output, which means a returned code always passes a format edit but is not thereby clinically correct.
  • The authors report that the three-specialist cascade design they compared against overflowed its context window on 28 to 32% of full-space test notes, while their single shared policy avoided that overflow.
  • The study is an unreviewed preprint scored on de-identified inpatient discharge summaries from MIMIC-IV, not on outpatient or risk-adjustment charts.

On July 11, 2026, four researchers posted a preprint to arXiv describing a new approach to automated ICD-10-CM coding, in which a language model walks down the code hierarchy level by level instead of scoring every code independently. The paper is worth a coder's attention less for the method than for the two accuracy figures it reports side by side, because the difference between them is the difference between a demo and a workday.

What the study actually measured

The authors trained systems to read de-identified inpatient discharge summaries from MIMIC-IV, a credentialed-access research database, and output ICD-10-CM leaf codes. Their best supervised model, which they call SFT-1+, was scored two ways: against a curated 50-code subset, and against the full space of 15,761 codes. On the 50-code subset it reached 0.709 micro-F1. On the full space it reached 0.527.

Both numbers describe the same system. Only the label space changed.

This is a preprint. It has not been through peer review, and the results are the authors' own reported measurements, not an independent evaluation.

The 50-code subset and the full code space are different tests

Fifty codes is about 0.3% of a 15,761-code label space. Scoring on a slice that size is a normal research convenience, and it's a poor proxy for a real queue, because the codes you actually argue about are the ones that didn't make the cut.

What is reportedWhat it measuresWhat it does not tell you
0.709 micro-F1, 50-code subsetPerformance on a curated slice worth about 0.3% of the code setAnything about the specificity and manifestation codes outside that slice
0.527 micro-F1, 15,761-code spacePerformance when every leaf code is a candidateHow the errors are distributed across common vs rare codes
+0.044 micro-F1 over the strongest flat baselineAggregate improvement, weighted toward frequent codesWhether a specific code family got better or worse
+0.157 macro-F1 over the strongest flat baselineImprovement averaged evenly across codes, so rare codes count fullyWhether the rare codes are now right often enough to bill from

The macro-F1 gain being more than three times the micro-F1 gain is the tell. Macro-F1 weights every code equally, so a big macro gain next to a small micro gain says the movement happened in the tail, not in the codes the model already handled.

Where the model loses ground is the rare-code tail

The authors describe rare labels as the bottleneck their design is meant to relieve, and they report that the graph-constrained approach mitigates it. Mitigates is doing real work in that sentence. A tail that's less bad than it was is still the part of the code set where a risk-adjustment or specialty coder spends most of the day.

If you code diabetes with complications, cardiomyopathy subtypes, or anything where the fourth, fifth, and sixth characters carry the money, you live in the part of the distribution these systems are weakest on. That is the same pattern we covered when an earlier preprint reported 91% accuracy at ICD category level while its scoring counted a category hit as correct regardless of the code underneath it.

Structurally valid is not the same as clinically correct

The method's headline safety property is that walking the hierarchy guarantees a structurally valid billable leaf code every time. That's genuinely useful. It also means the output will always pass a format edit.

For a coder, this changes what a clean output proves. A code that exists, is billable, and carries the right number of characters has cleared the edit check and nothing else. Whether it matches what the provider documented is a separate question that no structural constraint answers. Treat "the system returned a valid code" as the start of your review, not the end of it.

Long notes broke the cascade design on 28 to 32% of cases

Buried in the results is a detail with an immediate documentation consequence. The authors compared their single shared policy against a three-specialist cascade, and report that the cascade overflowed its context window on 28 to 32% of full-space test notes. Their shared policy avoids that overflow.

The lesson isn't about the cascade. It is that discharge summaries are long enough to exceed what these systems can hold, and every design has some limit. When a note runs past that limit, something gets dropped, and what gets dropped is whatever sits furthest from wherever the system starts reading. A comorbidity mentioned once, deep in a hospital course narrative, is the first casualty. That's an argument for the thing coders have been asking providers for all along: state the assessed conditions in the assessment, not only in the middle of the narrative.

What this changes about your QA sample

Most AI-assist QA samples are drawn proportionally, which means they're mostly common codes, which means they mostly measure the part of the system that already works. If the reported gains concentrate in rare codes and the reported weakness is the tail, a proportional sample is close to blind by construction.

The fix isn't complicated. Stratify. Pull a fixed number of rare-code encounters into every sample regardless of how rarely they occur, and score them separately from the common ones, so you have your own micro and macro read instead of a single blended number. You can spot-check any code the tool hands back against the official descriptor and hierarchy in the code book or the encoder before you accept it, and hold the underlying diagnosis to the same MEAT standard you would apply to a human-coded chart.

Federal watchdogs have already flagged the oversight gap around automated coding accuracy, which we covered when GAO reported on AI in medical coding. Until that gap closes, the benchmark number a vendor quotes is only as meaningful as the label space it was measured on. Ask for that number.

What coders should do now

  1. 1Ask any coding-automation vendor for the accuracy figure measured on the full code space and the size of that label space, not the number from a curated benchmark subset.
  2. 2Stratify your AI-assist QA sample so a fixed number of rare-code and high-specificity encounters land in every review cycle, and score those separately from the common codes.
  3. 3Stop treating a well-formed billable code as a passed review. Confirm the descriptor and hierarchy in the [code book](/code-book) or the [encoder](/encoder) against what the provider actually documented.
  4. 4Push assessed conditions into the assessment section of long notes rather than leaving them mentioned once inside a narrative, since anything past a system's context limit gets dropped silently.
  5. 5Track your own rare-code error rate over time so you have an internal baseline to compare a vendor claim against.

Frequently Asked Questions

Why does an AI coding system score differently on a 50-code subset than on the full code set?

A curated subset contains the highest-frequency codes, which are the ones a model has the most training examples for. When every leaf code becomes a candidate, the system must also handle codes it has rarely seen, and reported accuracy falls. In this preprint the same system scored 0.709 micro-F1 on a 50-code subset and 0.527 micro-F1 across 15,761 codes.

What is the difference between micro-F1 and macro-F1 for medical coding?

Micro-F1 pools every code decision together, so frequent codes dominate the score. Macro-F1 averages the score for each code equally, so a rarely used code counts as much as a common one. A large macro-F1 gain alongside a small micro-F1 gain indicates the improvement happened on rare codes rather than on the codes the system already handled well.

Does a structurally valid ICD-10-CM code mean the code is correct?

No. A structurally valid code exists in the code set, is billable, and has the right character length, so it will pass a format edit. Whether it reflects the condition the provider documented and supported is a separate determination that no structural guarantee addresses, and it still requires a coder reading the note.

Do these results apply to outpatient risk-adjustment coding?

Not directly. The study was scored on de-identified inpatient discharge summaries from the MIMIC-IV research database. Outpatient and risk-adjustment charts differ in length, structure, and the code families that matter, so the reported figures should be read as evidence about the method, not as a performance estimate for a risk-adjustment queue.

Is this study peer reviewed?

No. It is a preprint posted to arXiv on July 11, 2026, and the accuracy figures are the authors' own reported measurements. It has not been through journal peer review or independent replication.

Related topics:AIICD-10-CMcoding automationdocumentationQA
Jess P., CPC

Jess P., CPC

Certified Professional Coder

Jess reviews HCC Buddy editorial content for accuracy against the current CMS-HCC model and the active FY ICD-10-CM tabular release.

Get CMS Updates in Your Inbox

RADV news, model changes, and coding guidance — within days of CMS publishing, not quarters.