River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

Insurance Denial Appeal Letter Template

Five documents and three sheets that take a denied claim from the remittance to a filed appeal, keyed to the code the payer actually sent.

Free download  ·  No account needed

Appeal Letter

Request for [appeal / reconsideration / provider dispute]

PatientClaim number
Member IDDate(s) of service
BilledAmount denied
Rendering NPIAppeal level

1. The determination being appealed

Quote the payer’s own codes back to them: group code, reason code and its published description, remark code and its published description, and the policy the remittance named.

2. What we are asking for

One sentence, before the argument. Reprocess and pay at the contracted rate. Reverse the edit on line three. Honour the authorization.

3. Why the determination should be reversed

Documentary where the denial is administrative. Against the payer’s quoted criteria where it is a coverage decision.

4. Clinical statement

Completed and signed by the treating clinician

The payer’s criteria for this service are listed here, quoted from the policy. The argument that this patient met them is not drafted for the clinician, and the appeal is not sendable while this block is empty.

_______________________________
Clinician name, credentials, NPI

5. Enclosures

Numbered to match the references in the body.

A denied claim arrives as a code, not as a sentence. Somewhere on the remittance is a two letter group code, a numeric reason code, and usually a remark code, and those three fields decide whether you are looking at a resubmission, a real appeal, or a write off. Most appeal templates skip past all of that and hand you one letter with a blank where the denial reason goes. This pack starts where the payer actually spoke.

So the register is built by service line rather than by claim, because one claim can carry two reason codes with two different answers. The reason code says what the objection was. The remark code usually says whether it is fixable, which is why a claim adjustment reason code 16 arriving with no remark code is a question for the payer instead of a guess, since the code list itself requires one. And the tracker dates every deadline from the clock that payer actually runs on, because Medicare and an ERISA plan are not close.

Take a reason code 197 denial, precertification absent, on a claim where the authorization did exist. Before anything gets written, the register asks whether it was issued against the NPI, the site and the date range that were actually billed. When it was not, this is a documentary appeal with one exhibit rather than a clinical argument. Open the pack in River and the agent decodes your remittance and fills the register. Or download the blank Word and CSV files and work it wherever you already do.

Every document in the pack

The Denial Register, the Payer Appeal Profile, and the appeal letter you send.

Denial Register

Illustrative rows for a fictional practice, Lakeshore Orthopaedics.

ClaimDeniedGrpCARCRARCCall
WB-88412-01$3,140CO197N54Appeal
WB-88412-02$418CO4M78Corrected claim
WB-90117-01$1,265CO16noneAsk first
WB-90204-03$212PR204Write off

CO-197 “Precertification/authorization/notification/pre-treatment absent.” The authorization exists. It was issued to the ambulatory site NPI and the claim went out under the facility NPI.

CO-16 “Claim/service lacks information or has submission/billing error(s).” No remark code was sent, and the code list requires one. Nothing to fix until the payer says what it was.

Sorted by dollars against days remaining, never by claim age.

Payer Appeal Profile

Filled in for a fictional payer, Westbrook Health Plan, from its denial letter and published policy.

Westbrook Health Plan, commercial group

First level is called: Provider dispute
Deadline: 90 days
Dated from: Date of the remittance advice
Source: Appeal rights paragraph, denial letter of 12 June
Second level: 60 days from the dispute determination

Where it goes

Channel: Provider portal, Claims > Disputes
Form: Provider Dispute Resolution Request, v4
Attachments: 25 pages, PDF only
Acknowledges receipt: Yes, portal reference

Corrected claim versus appeal

Coding and modifier defects go back as a corrected claim with frequency code 7. Filed as a dispute they consume the level and still have to be corrected afterwards.

Every field carries its source. Anything neither document stated stays blank with a question against it.

Appeal Letter

Request for provider dispute

ClaimWB-88412Date of service14 May
Denied$3,140.00LevelFirst

1. The determination being appealed

On 12 June, claim WB-88412 line 01 was adjudicated with group code CO and reason code 197, described in the published code list as “Precertification/authorization/notification/pre-treatment absent”, with remark code N54.

2. What we are asking for

We are requesting that line 01 be reprocessed and paid at the contracted rate.

3. Why the determination should be reversed

Authorization A-4471166 was issued on 2 May for CPT 29881, valid 5 May to 4 August, for this member and this rendering provider (Exhibit A). It was issued against the ambulatory site NPI; the claim was submitted under the facility NPI of the same organization (Exhibit B).

Clinical statement: not required for this appeal

This determination is administrative, so the argument is documentary. On a medical necessity denial this block carries the payer’s quoted criteria and stays blank until the treating clinician fills it in and signs.

Every code description is quoted from the published list. Every factual claim points at an exhibit.

What's in the pack

01

Denial Register

One row per denied service line, decoded by group, reason and remark code, with the appeal or resubmit call recorded. A PR group line is not an appeal at all, it is a patient balance, and it leaves here for the patient billing pack.

02

Appeal Letter

The full letter structure, with the clinical statement left as a signed block the treating clinician fills in.

03

Payer Appeal Profile

Where this payer wants appeals sent, on what clock, with which form, sourced field by field.

04

Reason Code Playbook

What actually worked against each code pair at your practice, written from closed appeals rather than a generic list.

05

Appeal Tracker

Every appeal in flight with its deadline, the clock it runs on, and what the filing is waiting on.

06

Supporting Documentation Checklist

What goes in the envelope, by denial type, so the packet is built from the code rather than the chart.

07

Escalation Path

The five level Medicare ladder and the ERISA 180 day floor written out, so an upheld appeal has a dated next level.

08

Outcome by Reason Code

Counts by payer and code pair, so next quarter you know which appeals are worth filing at all. That per-payer recovery rate is also the input the revenue cycle metrics pack needs to turn a denial rate into a cash figure.

How to use it

  1. 1

    Open in River, or download it

    Open the pack in River and let the agent work your queue, or download the blank Word and CSV files instantly.

  2. 2

    Send a remittance

    In River, the AI decodes every denied line from an 835, an ERA export, a paper remittance or a photographed denial letter. Working from the download, fill the register by hand.

  3. 3

    Learn your payers once

    Run the payer playbook with a denial letter in hand and the profile fills with their deadline, their clock, their form, and their appeal address.

  4. 4

    Draft, file, and close the loop

    Write the appeal against the code the payer sent, hand the clinical block to the clinician, then record what came back so the next one is faster.

Frequently asked questions

Is this template free?

Yes. Download the whole pack as Word documents and CSV sheets with no signup and no credit card. "Edit with AI" is a separate, optional path for practices that want the agent to decode a remittance and draft from it. Other packs are in the template library.

What format are the downloaded files?

Word documents (.docx) for the letter, checklist, payer profile, playbook and escalation path, and CSV (.csv) for the three tracking sheets, zipped into one file. They open natively in Word, Pages, Google Docs, Excel, Numbers and Sheets, with nothing to convert.

Does it write the medical necessity argument?

It does the part that takes the time. It pulls the payer's criteria out of the policy the remittance named and lays them out as a checklist, so the clinician writes to that payer's standard in minutes instead of freehand. The signature and the clinical judgement stay theirs. When the packet needs the underlying note, that is the clinical documentation workspace.

How does it know my payer's appeal deadline?

It does not, until you tell it or it reads a denial letter from them. The payer profile is built from that letter's appeal rights paragraph and the payer's published policy, with the source recorded against each field. Anything it cannot source stays blank rather than guessed.

Will it tell me which denials to appeal and which to resubmit?

Yes, and that call comes from the remark code rather than the reason code. A submission defect with a remark code naming the field is a corrected claim, which is faster and does not consume an appeal level. Filing the wrong one costs a cycle. To make that call across a whole remittance, triage the remittance file and work the queue it ranks.

What does 'Edit with AI' actually do?

It creates a free River account, installs this exact pack as a private workspace, and opens it ready to read whatever you send: an 835, an ERA export, a scanned remittance, a denial letter. Nothing is written until you send it something.

Who is this pack for?

Billers, practice managers and small revenue cycle teams who work their own denial queue. It assumes you receive remittances and can reach your payers' portals. A two-provider practice gets the same value as a forty-provider one, since the payer profile and reason code playbook fill from whatever volume you have. Remittance and denial triage works the wider queue, not just the appeals in it.

Work the denial the payer actually sent

Download the blank pack as Word and CSV files, or open this exact pack in River and let the agent decode your remittance first.

Edit with AI