Skip to main content
DoneThat

AI Adoption GuideHealthcareBill

Denial appeal letter generation

LLM reads the denial reason, retrieves relevant clinical evidence and payer policy, and drafts an appeal letter for staff review, using tools like AKASA.

Healthcare processAccessIntakeAssessDiagnoseTreatDischargeBillFollowup

By Don, DoneThat’s AI coach · updated

A draft that names the reason and the evidence

A specialist-ready appeal draft is a paragraph that cites the denial reason and the clinical evidence that answers it. If that evidence is not in the chart, the paragraph stays empty. Do not invent medical necessity. Staff still send the appeal.

The rest of the letter (salute, claim identifiers, member and provider blocks, requested action) is scaffolding. The quality check lives in that one paragraph. A denial specialist should be able to read it and say, without opening a second screen, which payer sentence is being answered and which note, order, result, or policy clause is doing the answering.

Fluency is not the test. A polished letter that asserts necessity without a cite fails. A short, awkward paragraph that quotes the denial language and points to a dated progress note can pass.

Platforms in this class include AKASA, Waystar, Epic, and Cohere Health. Treat them as one kind of assistant: they sit next to the denial packet and the chart. They do not certify that a coverage article is current, and they do not file the appeal.

Load the denial packet and the chart first

Do not generate until two sources are in the same workspace: the denial, and the chart for the dates of service on the claim.

From the denial, capture the payer's stated reason in the payer's words, the reason or remark codes, the claim and line identifiers, the dates of service, the procedure or revenue codes at issue, and the appeal deadline. Copy the reason text. Do not clean it up before drafting. Softened language is how a draft answers a different denial than the one on the letter.

From the chart, load the notes, orders, results, and medication or therapy history that cover those dates, plus any earlier conservative care the denial is asking about.

If this claim was flagged before it went out, open that packet too. Denial prediction before submission is the upstream check. It is not a substitute for the appeal record.

If a prior authorization determination sits under the same service, pull that file and the clinicals that were submitted with it. Autonomous prior authorization material belongs in the appeal only when the denial is pointing at that determination. Do not assume the authorization file and the billed chart tell the same story.

Charge-side documentation can be the missing cite. If the denial is a coding or capture gap, the related work is automated charge capture from notes, not a more persuasive paragraph.

Stop if either source is incomplete. A draft written from the denial letter alone will invent the clinical side. A draft written from the chart alone will invent the payer's objection.

Dual cites: the note and the policy

The necessity paragraph needs two kinds of cite, not a story.

The chart cite names a document type, a date, and the sentence or finding that answers the reason. "Progress note, 12 March, physical therapy: patient completed six weeks of supervised therapy with no functional change" is a cite. "The patient failed conservative care" is not.

The policy cite is the payer rule the denial is using, quoted or closely paraphrased from text retrieved for this payer, this plan, and this code. Include the policy name or number and the version or effective date when the document shows one. If you cannot retrieve that text, do not write a rule. Inventing a payer rule is a failure mode. It trains reviewers to trust language the payer never published, and it can put a false statement on letterhead.

Write the paragraph in that order: restate the denial reason, place the chart cite, place the policy cite, then state the requested action (overturn, reprocess, or peer-to-peer). Do not lead with a conclusion and hunt for support afterward. That is how a necessity claim appears with no note cite.

For example, a commercial outpatient lumbar MRI is denied as not medically necessary, remark text "no documented conservative therapy." Physical therapy notes run from 6 January through 20 February. A 21 February note states that pain and function are unchanged and that the surgeon is requesting MRI. You retrieve the payer's imaging policy for uncomplicated low back pain, including the conservative-care section. The draft paragraph restates the remark, cites the 21 February PT note and the therapy date range, cites that policy section, and asks for reprocessing. It does not add stenosis or neurologic deficit unless those findings are in the loaded record.

If the PT notes are not in the chart, the same steps do not produce "patient completed conservative therapy." The paragraph stays empty. The work queues as a documentation request, not as a send-ready appeal.

Leave blanks when the chart does not support the reason

Empty is a valid output. It is the correct output when the denial asks for evidence the record does not contain.

If the remark is lack of conservative therapy and there is no therapy note, do not infer therapy from a primary-care line that says "continue home exercises." If the remark is a missing operative report and the report is not in the packet, do not rebuild the procedure from the charge. If the remark is experimental or investigational and you cannot retrieve the coverage article, do not quote a rule you remember from another payer.

Watch for a necessity claim with no note cite. Language such as "clinically indicated," "standard of care," or "the patient's condition required this service" cannot sit in the paragraph without a document date behind it. Strip that sentence.

Make blanks visible to staff. Use a labeled hole ("clinical evidence: not found in the loaded chart for these dates of service") rather than a smooth skip. A smooth skip is how a reviewer treats the draft as finished.

When the blank is a documentation gap, send the packet back to clinical or HIM. When the blank is a policy-retrieval gap, stop until the correct coverage article is in hand. When the blank is that the service does not meet the retrieved rule, staff decide whether to appeal on other grounds or to drop. The generator does not make that call.

Staff review is the send

The model drafts. Staff send. Treating the draft as sent is a failure mode. Queue, status, and mailbox belong to the appeal team. A generated letter sitting in an inbox is not an appeal. A named reviewer checks cites, deadline, and attachments before any portal, print, or mail step.

Review is not copy-editing. Check four things before anyone sends:

  1. The restated reason matches the denial letter, including codes.
  2. Every clinical sentence has a chart cite that exists in the loaded record.
  3. Every policy sentence comes from retrieved text for this payer and this service, not from memory and not from another case.
  4. Attachments listed in the letter are the attachments in the packet.

If any check fails, the letter does not go. Fix the cite, fetch the policy, or leave the paragraph empty and re-route.

Keep a trail of what was loaded, what was cited, and who released the send. That trail is what compliance audit risk scoring will look for later: not whether the prose was confident, but whether the claims in the letter were grounded in the record that existed at the time of review.

Do not let the generator fill a blank during review unless the reviewer has added a real document to the packet. Completing a blank from memory is the same failure as inventing medical necessity at draft time.

Is this worth automating for you?

Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.

DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.

Measure the baseline first