Audit-grade RADV validation.
99% precision.
CMS is now auditing every eligible Medicare Advantage contract, every year, with multiple payment years in flight at once. Martlet AI verifies your submitted codes against the record, links the evidence to the page, and builds the submission packets — for the audit you’re in now, and every one after.
- 99%
precision on automated codes
- 95%
of codes closed automatically
- 100,000+
lives on the platform
- Zero
PHI leaving your network
What you actually get.
Four things come out of a Martlet AI RADV run, whatever stage of the audit you are in.
- SupportedE11.42 → HCC 37Diabetes with chronic complicationsevidence sentence linked, page 4
- Routed to reviewI50.22 → HCC 226Heart failure, chronic systolicsignature not found on the record
- Flagged for deletionF33.1 → HCC 155Major depressive disordernot addressed at this encounter
All patient data shown is synthetically generated for illustration.
Every code checked against the record
Every code comes back supported with evidence, flagged for deletion, or routed to your team as an exception — with the page, the date and the signature behind the decision. A supported code carries the sentence that supports it; a flagged one carries the reason it failed. This runs on codes submitted years ago, coded by anyone, on a platform you may have since left.
Your coders review the exceptions
95% of codes arrive already decided. The rest reach your team as exceptions, ranked so the highest-value and weakest-evidence ones surface first, with the chart already open to the page in question. A coder confirms a finding instead of going to look for it.
Submission packets built as you go
Evidence sentence, source page, date of service, provider, signature and MEAT signals, assembled per HCC as the validation runs and regenerated whenever the underlying evidence changes. The packet exists before the record request arrives, rather than being assembled by hand inside a five-month window.
Runs on your own infrastructure
On-premises, in your private cloud, or air-gapped, with updates shipped as versioned releases your team applies on its own schedule. No outsourced reviewers, no chart shipping, and no PHI leaving your network — with a full audit trail on every decision that can be replayed years later.
What gets checked on every chart.
The same six checks run on every chart, before submission and again when the packet is assembled.
- 01
Document and encounter type
Every encounter inside a bundled file is identified and classified on its own, so a single PDF holding months of visits is separated into the encounters it actually contains — progress notes, discharge summaries, consults and outpatient records, each typed before anything is coded against it.
- 02
Signature validity
Each record is checked for a signature and for whether it can be attributed to the clinician who wrote the note. Anything missing, unattributable or unclear is flagged rather than assumed, and surfaced early enough to be acted on.
- 03
Provider credentials
Signing clinicians are resolved against the current CMS specialty list, and gaps are flagged with the reason attached.
- 04
Dates of service
A date of service is established per encounter and checked against the period that applies to the payment year being validated.
- 05
Labs, imaging and pathology
Diagnostic reports are read and assessed under the criteria that apply to each type, including results that sit inside a scanned report rather than a structured feed.
- 06
Clinical support
Each diagnosis is checked for support in the encounter itself rather than carried forward, and the sentence carrying that support is linked to its page.
CMS guidance changes. We update the checks to match, so validation follows the rules currently in force — published in CMS’s Medical Record Reviewer Guidance.
- Evidence sentence“A1c 8.1%. Type 2 diabetes with diabetic polyneuropathy — continue metformin, titrate gabapentin.”
- Source recordprogress_note_2025-03-14.pdf · page 4
- EncounterOffice visit · face-to-face · detected
- Date of service03/14/2025 · inside collection year
- ProviderJ. Rivera, MD · acceptable specialty · credential verified
- SignatureElectronically signed · authentication language present
- MEATEvaluate · Treat
- CoversheetEnrollee matched · CDAT-ready ordering
All patient data shown is synthetically generated for illustration.
Four levels of review, in one workflow.
Findings arrive in the system your coders already work in. Four levels run by default, configured to your existing process, and every decision is recorded at each one.
- Level 01Level 01
Automated validation
95% of codes
Every check runs and each code is scored. The ones that are clearly supported or clearly unsupported close here.
- Level 02Level 02
Certified coder
the remaining 5%
Exceptions only, with the evidence already attached and ranked, so a coder confirms rather than goes looking.
- Level 03Level 03
QA and audit lead
a sample of the above
Re-reviewed for consistency, with recurring patterns reported back by coder, vendor and provider group.
- Level 04Level 04
Compliance sign-off
final approval
Final approval, recorded against the evidence as it stood at the time, and against the model version that produced it.
Once recorded, a decision cannot be altered or removed. Every one shows who made it, on what evidence, and which model version produced it.
Before the letter. After the letter.
The engine runs the same way whether or not a letter has arrived. Before selection you sample and verify on your own schedule. After selection the same engine works the audit you were handed.
Proactive — before the letter
Mock audits, at any scale.
- Sample your contracts on CMS’s own sampling methodology, so your internal findings line up with how CMS will sample.
- Or verify every submitted HCC across the contract, since you cannot predict which enrollees CMS draws.
- Re-run quarterly and trend confirmation and deletion rates by coder, vendor and provider group, so you can see whether last cycle’s fixes actually held.
- Fix documentation before you are selected, while the people who wrote it are still there to ask.
Reactive — after the letter
The window is five months.
- Ingest the enrollee data list and map every audited HCC to its best evidence in hours, so retrieval starts against a known target rather than a blank list.
- Rank candidate records by validation strength, so you submit the strongest one rather than the first one found.
- Surface signature and credential gaps early, while there is still time to act on them.
- Generate coversheet-ready packets and track intake rejections inside the window, so a bounced submission is caught while it can still be replaced.
Payment-year schedules, submission windows and appeal deadlines are tracked on the RADV Hub.
The specifics.
The questions that come up before a pilot, answered here rather than in a follow-up call.
What it ingests
Charts as PDFs or scans, with OCR run on anything that is not already text, along with claims extracts and the code lists you submitted. If you have been selected, it also takes the Enrollee Data List CMS posts in CDAT.
Sampling
Sample on CMS's stratified methodology so your findings line up with how CMS draws, or verify every submitted HCC across the whole contract.
Contracts and payment years
Several contracts and several payment years run at once, each scored against the model and the guidance that applied to its own year.
Thresholds and routing
You set the confidence thresholds, how many review levels run, and which findings go to which queue.
Reviewer workflow
Exceptions arrive in queues with the evidence attached and ranked. Second-level review, QA sampling and sign-off run in the same system, and every action is recorded.
Evidence packets
Each HCC gets a packet carrying the evidence sentence, the source page, the date of service, the provider and signature status, and the MEAT signals behind the decision.
Reporting
Confirmation and deletion rates roll up by coder, vendor, provider group and condition, alongside findings by HCC and by enrollee and an exposure estimate for the contract.
Exports and integration
Packets, findings and submission deltas leave in the formats your submission pipeline and reporting stack already expect.
Beyond this year’s audit.
The setup carries from one payment year to the next, and each cycle makes the next one cheaper to run.
Your exposure stays current
Every contract and payment year carries a live confirmation and deletion rate, so you know where you stand at any point rather than at the end of a cycle.
Failure patterns surface by source
Rates are broken out by coder, vendor, provider group and condition, so documentation problems can be fixed where they originate.
The capability stays in-house
Workflow, evidence and audit trail live inside your organization, tuned to your contracts, your coders and your thresholds. The setup carries from one payment year to the next.
Capacity scales with the software
Volume is handled by the engine, so adding contracts or payment years does not mean adding reviewers.
The same checks, one step earlier.
The validation that answers a RADV audit is the same validation that should run before a code is ever submitted. Teams that run it at coding time find the gaps while the documentation can still be fixed, and when a letter arrives the packets already exist. That is the retrospective engine, and it uses the same checks and the same evidence model you see here.
See retrospective codingWhat buyers ask us.
What do you need from us to start?
Your charts and the codes you submitted for the payment year in question. Charts can be PDFs or scans; anything that is not already text goes through OCR. If you have been selected, we also take the Enrollee Data List CMS posts in CDAT. None of it needs to leave your network — the engine runs where the data already is.
Does this work on codes we didn't code?
Yes. RADV runs against what was submitted, so it does not matter who did the original coding or which platform they used. Martlet AI ingests your submitted codes and the underlying records and validates them independently. That is the common case for plans whose retrospective coding was outsourced, or who have changed vendors since the payment year under audit.
Who reviews what the engine finds?
Four levels run by default. Automated validation scores every code and closes the ones that are clearly supported or clearly unsupported, which is about 95% of them. Everything else reaches a certified coder as an exception, with the evidence already attached and ranked. A QA or audit lead re-reviews a sample for consistency, and compliance signs off. You configure how many levels run and where the thresholds sit, and every decision at every level is recorded against the evidence as it stood and cannot be altered afterwards.
What happens to codes you flag for deletion?
They come back with the reason and the evidence behind the finding, so a coder confirms before anything moves. Confirmed deletions export as submission deltas in the format your pipeline already expects, alongside the additions, so both directions go out through the same route.
What reporting comes out of it?
Findings by HCC and by enrollee, confirmation and deletion rates broken down by coder, vendor, provider group and condition, and an exposure estimate per contract. The breakdowns are what most teams take to their compliance committee, and they are what turns one audit's findings into documentation fixes at the source.
How quickly can you run a mock RADV audit?
A mock audit on a single contract runs in days rather than quarters. Martlet AI ingests your charts and submitted codes, samples the contract on CMS's own stratified methodology, validates every sampled HCC against the same checks CMS applies, and returns findings by HCC with evidence packets and an exposure estimate. It runs on-premises or in your private cloud, so no PHI leaves your network.
Bring one contract. We'll run a mock RADV on it.
Sampled on CMS's methodology, validated at 99% precision, findings returned by HCC with evidence packets and an exposure estimate — inside your environment, on codes submitted years ago, by anyone, on any platform.
- 95%
closed automatically
- 99%
precision on automated codes
- 100,000+
lives on the platform