Your suspect list has 40,000 members on it. Your coding team can work maybe 4,000 of them before the sweep closes. So the real problem with documentation gaps in risk adjustment was never finding more of them. It was knowing which 4,000 to work, and being able to stand behind every one when CMS looks back.
Most tools stop at the first half. They scan claims, labs, pharmacy, and charts, then hand you a longer list ranked by RAF value, the risk adjustment factor that drives payment. That ranking treats every gap as equally closable, and they are not. A high-RAF gap on a member with no upcoming visit, no primary care relationship, and an outreach opt-out on file will not close this year, no matter what the RAF column says.
This post covers Medicare Advantage, where capture runs through the CMS-HCC model and the encounter data system. Managed Medicaid and ACA plans have the same underlying problem under different rules, different reports, and different submission paths, and those deserve their own treatment rather than a paragraph here.
This post covers how to find documentation gaps in risk adjustment, how to tell a real one from a guess, and how to work them in an order that holds up at audit.
Where Documentation Gaps in Risk Adjustment Hide in Your Data
Before you buy anything, know that most gaps announce themselves in data you already have. Five patterns account for the majority of them.
Historical. A member carried an HCC last year, a hierarchical condition category, that has not been reported this year. Chronic conditions do not resolve on January 1, so an unreported recurring condition is the highest-confidence gap type there is.
Lab and procedure triggers. A lab result or a CPT procedure code points clearly at a condition, and no risk-eligible claim carries a matching diagnosis. The clinical proof exists, but the coded proof does not.
Pharmacy. A member is on a medication that treats a condition nobody coded. Pharmacy-only members with no medical claims are a common blind spot, especially in dual populations where activity often gets reported under Medicaid. Pharmacy data also drives its own risk score through RXC, so a missed medication signal can cost you on both the medical and the pharmacy side.
Comorbidity patterns. Certain condition clusters travel together. When a member has three of four and the fourth has never appeared, that is a pattern worth a look, not a coincidence.
Chart evidence that never became a code. Natural language processing, or NLP, reads the chart and finds a documented condition that never made it onto a claim. In most plans this is the widest gap category and the least visible, because it lives in text nobody queries.
A few operational triggers stack on top of these. An inpatient stay with a long diagnosis list and no HCC among them. An ER or skilled nursing visit with no primary care or specialist follow-up. A member with a chronic history and no primary care visit or annual wellness visit on record. Each one is a place where documentation and coding fell out of step.
The Gap Category Almost Nobody Puts on the List
Here is the one that gets missed, and it is the most frustrating kind, because the work was already done.
A coder found the condition. The chart supports it. The diagnosis went out on an encounter. And then the code never reached the risk score, because CMS did not accept it or a later void removed it. On your internal reports it looks captured, but on the CMS side it does not exist.
Nothing in a chart-based gap tool will surface that, because the gap is not in the chart. It is in the response files. For Medicare Advantage, the MAO-002 report shows whether CMS accepted or rejected the encounter, and the MAO-004 report shows which submitted diagnoses were accepted, rejected, or deleted for risk adjustment. Read together, they are the only place you can confirm a diagnosis you sent actually counted. For ACA, the same reconciliation runs against the Edge Server response files, the RARSD, RACSD, and ECD, where orphaned claims and coverage mismatches drop records out of processing.
Plans that never reconcile those files are re-chasing conditions they already documented. Coders open the chart, find the condition again, code it again, and send it into the same failure. The gap list gets worked and the RAF does not move.
A documented condition that never counted is still a gap, it just is not a coding gap.
How to Prioritize the Gaps Worth Working
Most gap identification tools compete on how many suspects they generate, but that is the wrong measure. Every plan already has more suspects than coder hours. Adding suspects adds triage work.
The number that matters is how many gaps close accurately, and that depends on things the RAF column knows nothing about. Whether the member has a visit scheduled. Whether they answer the phone. Whether their primary care provider acts on gap reports. Whether the condition is one a provider can confirm in a normal visit or one that needs a specialist.
The practical fix is to rank by two things at once, how much a condition affects the score and how likely it is to close this year, and to do it early enough to act. That reshapes the worklist. The conditions that are both well-supported and reachable rise to the top and earn direct intervention. A middle band is worth active outreach. The rest belong in monitoring and provider group follow-up rather than a coder queue. It is the same population and the same gaps, put to a very different use by a team that cannot work all of it, and every capture on that list traces back to the chart it came from, so it holds up at audit.
Want to see this run on your own population?
What to Ask a Gap Identification Tool
Five questions separate the tools that reduce work from the ones that redistribute it.
Does it show the evidence, or just the code? A suspect with no supporting line in the chart hands the hardest part of the job back to your coder. Invent Health’s NLP detects supporting evidence with 85 percent or higher accuracy out of the box, so the coder starts with the proof in front of them.
Does it rank by what will actually close, not RAF value alone? Ask specifically how the score is built and whether it accounts for negative signals, like opt-outs and no upcoming visit, that should push a member down the list.
Does it read the CMS response files? If the tool never looks at MAO-004, or the ACA RARSD, RACSD, and ECD reports, it cannot see rejected and deleted diagnoses, and your team will re-chase them.
Does it work before the encounter, not just after? Finding a missing diagnosis before submission is worth more than finding it in a chart review nine months later, and the rules taking effect in 2027 widen that gap further.
Does it apply real evidence standards? MEAT logic, meaning the condition is monitored, evaluated, assessed, or treated in the note, plus negation handling and a clear supported, unsupported, or uncertain call on every condition. A tool that only says “found” is not doing the work.
How Invent Health Identifies Gaps
Invent Health runs gap identification across the whole loop rather than at one stop in it, and it starts with analytics, not coding.
Risk Analytics finds the gaps and decides what is worth working. Suspect logic runs across historical, lab, pharmacy, comorbidity, and chart-derived signals, drawing on EMR data through CCD and FHIR. It scores both the medical HCC RAF and the pharmacy RXC, so you see the full risk picture, then ranks each condition by how much it moves the score and how likely it is to close this year. Teams work the highest-impact, most reachable captures before submission rather than chasing everything retrospectively months later.
The Coder Workbench confirms the gap is real. For the conditions analytics surfaces, AI-assisted coding reads the clinical documentation, shows the supporting evidence, and recommends ICD-10-CM codes for a certified coder to confirm and sign. It is a two-pass, coder-in-the-loop model. The AI surfaces what matters, a person makes the call, and every code stays linked to the chart for audit-defensible lineage.
Encounter Submissions makes sure it counts. One engine generates and validates clean submissions, 837P, 837I, and DME for Medicare EDPS, Edge Server XML for ACA, flags missing or non-risk-eligible diagnoses before a file leaves, then reconciles what comes back. It matches MAO-002 and MAO-004 for Medicare and the RARSD, RACSD, and ECD for ACA, so a diagnosis that did not count returns to the worklist as a known condition needing a corrected encounter, ranked by its RAF or RXC value, instead of reappearing as a fresh suspect.
Because analytics, coding, and encounter submission share one platform, the right work happens first and every diagnosis traces back to the chart it came from.
The platform supports CMS-HCC V24 and V28, ESRD, RxHCC, and HHS-HCC for ACA, and new CMS or HHS models are typically live within 30 to 60 days of advance notice. Because Invent Health also works with delegated provider groups and IPAs, gap and capture reporting can roll up to the provider group level, where a lot of closure actually happens.
Why Finding Gaps Earlier Matters More Next Year
Right now most plans still run gap closure as a retrospective program. Find the gaps, pull the charts, submit the chart reviews, catch what the year missed.
That model is losing its safety net. The CY 2027 Rate Announcement ends unlinked chart reviews beginning with the 2027 payment year, which means a diagnosis found in a chart review has to tie back to an encounter CMS accepted. The July HPMS memo on CY 2027 risk adjustment implementation lays out what plans need in place. A gap you find in December with no accepted encounter to attach it to is a gap you found too late.
Two other pressures point the same direction. The V28 model removed a large share of diagnosis codes from risk-adjustment mapping and re-based the values, so fewer conditions carry payment and each one has to hold up on its own. And RADV audits are moving toward every contract every year, with sample findings extrapolated across the contract, which makes a weakly supported capture far more expensive than the single code it appears to be.
The plans in the best position for 2027 are the ones moving gap detection earlier, into the days before an encounter goes out rather than the months after. That is the difference between feeling ahead of the change and scrambling behind it.
See What Your Current Process Is Missing
The fastest way to judge any gap identification approach is to run it against a population you have already worked. Look at what it finds, what it can prove, and how much of it was already documented and lost somewhere between the chart and the CMS response file.
Frequently asked questions
What are documentation gaps in risk adjustment?
A documentation gap is a condition a member has that is not captured in a way that counts. The condition may be undocumented, documented but never coded, coded but unsupported by evidence, or coded and submitted but never accepted by CMS. All four cost RAF accuracy, and each one needs a different fix.
How do you identify documentation gaps in risk adjustment coding?
Gaps are found by comparing what the data suggests against what was actually coded and accepted. That means checking prior-year HCCs, lab and pharmacy signals, comorbidity patterns, and chart text through NLP, then reconciling submitted diagnoses against the CMS response files to catch conditions that were captured but never counted.
What is a suspect condition?
A suspect condition is a diagnosis a member likely has, based on evidence in claims, labs, pharmacy, or chart documentation, that has not been coded on a risk-eligible encounter this year. A suspect is a lead that only counts once a coder confirms it against documented evidence.
Why do suspect lists produce low closure rates?
Most suspect lists rank by RAF value alone, which ignores whether the gap can realistically close. A high-value suspect on a member with no scheduled visit, no active primary care relationship, or an outreach opt-out will not close. Ranking by likelihood of closure alongside score impact produces a shorter, more workable list.
Can a rejected encounter create a documentation gap?
Yes, and it is a common one. If a diagnosis is submitted but the encounter is not accepted, or a later void removes it, the diagnosis never reaches the risk score even though the chart fully supports it. Internal reports show it as captured. Only reconciling the CMS response files reveals that it is not.
What is MAO-004 and why does it matter for coding gaps?
MAO-004 is the Medicare Advantage report that shows which submitted diagnoses CMS accepted, rejected, or deleted for risk adjustment. Read with the MAO-002 processing report, it is where a plan confirms a submitted diagnosis actually counted, or learns why it did not, so the same condition is not chased again.
How does NLP help find documentation gaps?
NLP reads clinical notes and finds conditions that are documented in text but never appear on a claim, which is the largest and least visible gap category in most plans. Strong NLP also surfaces the supporting line in the chart, so a coder can confirm the condition instead of hunting for proof.
What is the difference between prospective and retrospective gap closure?
Prospective closure finds gaps before or during a visit, so the condition gets documented and coded on a live encounter. Retrospective closure finds them afterward through chart review and supplemental submissions. Prospective work costs less per closed gap and is becoming more important as CMS tightens the rules on unlinked chart reviews.
How should you prioritize which gaps to work?
Rank each gap by how much it affects the score and how likely it is to close this year, and find it early enough to act. A high-value condition on a member who will not be seen cannot close, so working the well-supported, reachable conditions first, before submission, gets the most from limited coder hours.
Does ending unlinked chart reviews change gap closure?
Yes. Starting with the 2027 payment year, chart review diagnoses need to tie back to an encounter CMS accepted. Gaps found late, with no accepted encounter to attach them to, lose their path to payment. That pushes gap detection earlier in the year and closer to the point of care.
What data do you need to identify documentation gaps?
At minimum: enrollment files, professional and institutional claims, pharmacy and lab feeds, supplemental data, and CMS response files including the MMR, the MOR, and MAO-004, plus the Edge Server reports for ACA. EMR clinical data through CCD or FHIR adds the chart-level evidence where the deepest gaps usually sit.
How does Invent Health identify documentation gaps?
Invent Health runs suspect logic across historical, lab, pharmacy, comorbidity, and chart signals, scores both the medical HCC RAF and the pharmacy RXC, and surfaces the evidence for a certified coder to confirm in the Coder Workbench. Because coding, analytics, and encounter submission share one platform, diagnoses that did not count come back as corrections rather than repeat suspects.