Denial Management Playbook
Overview
Structured decision logic for processing healthcare claim denials. This skill provides code-to-action mappings, payer-specific rules, and response templates that agents use to classify and respond to denials systematically.
Denial Classification
Action Types
| Action |
Description |
When Used |
correct_resubmit |
Fix error and resubmit claim |
Data entry, coding, modifier errors |
resubmit_with_proof |
Resubmit with documentation showing original was correct |
Payer claims info missing but it wasn't |
formal_appeal |
Submit formal appeal with supporting documentation |
Medical necessity, coverage disputes |
write_off |
Accept denial, no further action |
Below threshold, valid denial |
escalate |
Route to human for complex decision |
High value, ambiguous, repeat denial |
CARC Code Reference
Coding/Modifier Errors (Action: correct_resubmit)
| Code |
Description |
Root Cause |
Correction |
| CO-4 |
Procedure code inconsistent with modifier |
Wrong modifier applied |
Review modifier requirements, correct and resubmit |
| CO-5 |
Procedure code inconsistent with place of service |
POS mismatch |
Verify POS code, correct and resubmit |
| CO-11 |
Diagnosis inconsistent with procedure |
Dx doesn't support CPT |
Review medical record, correct Dx or CPT |
| CO-97 |
Payment adjusted - already adjudicated |
Duplicate submission |
Verify if duplicate; if not, resubmit with explanation |
| Code |
Description |
Check First |
If Missing |
If Present |
| CO-16 |
Missing required information |
Was info on original claim? |
Correct and resubmit |
Resubmit with proof of original |
| CO-252 |
Additional information required |
What specific info? |
Gather and resubmit |
Resubmit with clarification |
| N56 |
Procedure requires prior auth number |
Was auth obtained? |
Get auth, resubmit |
Include auth # and resubmit |
| Code |
Description |
Documentation Required |
| CO-50 |
Non-covered, not medically necessary |
Clinical notes, peer literature, LCD/NCD criteria mapping |
| CO-55 |
Procedure not payable with reported Dx |
Medical necessity argument, supporting Dx rationale |
| CO-167 |
Diagnosis not covered |
Coverage policy appeal with clinical justification |
Authorization (Action: varies)
| Code |
Description |
Action |
Details |
| CO-15 |
Auth not obtained |
Check if auth exists |
If exists: resubmit with auth#. If not: may need retrospective auth |
| CO-197 |
Precertification not obtained |
Check if urgent/emergent |
If emergent: appeal with documentation. Otherwise: write-off likely |
Eligibility (Action: verify_then_decide)
| Code |
Description |
Verification Steps |
| CO-27 |
Expenses incurred after coverage terminated |
Verify DOS vs. coverage dates, check for retroactive eligibility |
| PR-96 |
Non-covered charge |
Verify benefit coverage, check if secondary payer applicable |
| CO-109 |
Not covered by this payer |
Verify correct payer, check COB |
Timely Filing (Action: appeal_if_valid OR write_off)
| Code |
Description |
Appeal If |
| CO-29 |
Time limit for filing expired |
Can prove timely original submission |
| N290 |
Missing/incomplete/invalid hospital admission date |
Can document admission date |
Decision Logic
Threshold Parameters
APPEAL_MINIMUM: $50 # Don't appeal below this
AUTO_WRITEOFF: $25 # Auto write-off below this
ESCALATE_ABOVE: $1000 # Human review above this
REPEAT_DENIAL_THRESHOLD: 3 # Escalate if same denial 3x
Decision Tree
INPUT: Denial (CARC, RARC, amount, payer, claim_id, denial_count)
1. IF amount < AUTO_WRITEOFF → RETURN write_off
2. IF denial_count >= REPEAT_DENIAL_THRESHOLD → RETURN escalate
3. IF amount > ESCALATE_ABOVE → RETURN escalate
4. LOOKUP action = denial_codes[CARC].action
5. IF action == "formal_appeal" AND amount < APPEAL_MINIMUM → RETURN write_off
6. RETURN action
Payer-Specific Rules
Appeal Windows
| Payer |
Appeal Window |
Resubmit Window |
Notes |
| Medicare |
120 days |
12 months |
Strict deadlines |
| Medicaid |
Varies by state |
Varies |
Check state-specific |
| Aetna |
180 days |
365 days |
|
| UnitedHealthcare |
180 days |
365 days |
|
| BCBS |
180 days (varies by plan) |
365 days |
Plan-specific variations |
| Cigna |
180 days |
365 days |
|
| Humana |
180 days |
365 days |
|
Payer Behaviors
aetna:
known_patterns:
- "Frequently denies E/M upcoding - include detailed documentation"
- "Prior auth denials often reversed with clinical notes"
appeal_tips:
- "Include time-based documentation for E/M levels"
- "Reference Aetna CPB (Clinical Policy Bulletin) in appeals"
uhc:
known_patterns:
- "Medical necessity denials common for advanced imaging"
- "Strict on timely filing - document submission dates"
appeal_tips:
- "Include peer-to-peer request for medical necessity"
- "Reference UHC Medical Policy in appeals"
medicare:
known_patterns:
- "LCD/NCD coverage criteria strictly enforced"
- "ABN required for non-covered services"
appeal_tips:
- "Always cite specific LCD/NCD criteria"
- "Include ABN if applicable"
Response Templates
Template: correct_resubmit
No cover letter needed. Correct claim and resubmit through standard channel.
Correction checklist:
- [ ] Error identified and corrected
- [ ] Supporting documentation attached if applicable
- [ ] Claim flagged as corrected submission
Template: resubmit_with_proof
RE: Corrected Claim Submission
Original Claim #: {claim_id}
Patient: {patient_name}
DOS: {date_of_service}
Denied Amount: {amount}
This claim was denied under CARC {carc_code}: "{carc_description}"
Upon review, the required information was included in our original
submission dated {original_submit_date}. Please see attached copy
of the original claim showing {specific_field} was populated with
{value}.
We request immediate reprocessing of this claim.
Attachments:
- Copy of original claim submission
- {additional_attachments}
Template: medical_necessity_appeal
FORMAL APPEAL - MEDICAL NECESSITY
RE: Appeal of Claim Denial
Claim #: {claim_id}
Patient: {patient_name}
DOS: {date_of_service}
Denied Procedure: {cpt_code} - {procedure_description}
Denied Amount: {amount}
CARC: {carc_code}
Dear Appeals Department:
We are formally appealing the denial of the above-referenced claim
on the basis of medical necessity.
CLINICAL SUMMARY:
{clinical_summary}
MEDICAL NECESSITY ARGUMENT:
The patient presented with {diagnosis} ({icd_code}). Based on
{clinical_findings}, the {procedure} was medically necessary because:
1. {reason_1}
2. {reason_2}
3. {reason_3}
SUPPORTING CRITERIA:
This service meets your coverage criteria as documented in:
- {policy_reference}
- {lcd_ncd_reference}
SUPPORTING DOCUMENTATION:
- Clinical notes from {date}
- {lab_results_imaging}
- {peer_reviewed_literature}
We respectfully request reconsideration and payment of this claim.
Sincerely,
{provider_name}
{provider_npi}
Template: timely_filing_appeal
APPEAL - TIMELY FILING DISPUTE
RE: Claim # {claim_id}
CARC: CO-29 / CO-N29
This claim was denied for timely filing. We are appealing because
the original claim was submitted within the filing deadline.
Original submission: {original_submit_date}
Filing deadline: {filing_deadline}
Proof of submission: {submission_proof_type}
Attached please find:
- {proof_document} showing submission on {date}
We request immediate reprocessing.
Prevention Mapping
| Denial Code |
Prevention Strategy |
Implementation |
| CO-4 |
Modifier validation |
Pre-submission edit check |
| CO-16 |
Required field validation |
Claim scrubbing rules |
| CO-15 |
Auth tracking |
Eligibility/auth verification at scheduling |
| CO-27 |
Eligibility verification |
Real-time eligibility check at check-in |
| CO-29 |
Submission tracking |
Clearinghouse confirmation logging |
| CO-50 |
Medical necessity screening |
Pre-service medical necessity check |
Resources
references/
- carc-rarc-complete.md — Full CARC/RARC code list with descriptions
- payer-contacts.md — Appeal addresses and contacts by payer
- state-medicaid-rules.md — State-specific Medicaid filing rules
scripts/
- denial-classifier.py — Classifies denial and returns action
- template-filler.py — Populates templates with claim data
assets/
- appeal-letter-templates.docx — Formatted letter templates