Purpose
Quick guide for Billing Jr to identify denial type and apply correct fix without escalating everything to Expert.
Quick classification
| Type | Billing Jr action | When to escalate |
|---|---|---|
| Data error (DOB, ID, etc) | Fix and resubmit | Never — always Jr |
| Missing attachment | Add attachment and resubmit | If doc not found → escalate to clinical team |
| Frequency limit | Verify and write-off or bill patient | If real frequency differs from rule → Expert |
| Medical necessity | Do NOT fix — escalate | Always → Expert (it's an appeal) |
| Filing limit | Verify dates | If past limit → Expert (late appeal) |
| Non-covered | Bill patient or write-off | If patient didn't sign disclosure → escalate |
Denials by code (top 10)
CO-29: Time limit for filing expired
Cause: Claim sent after carrier filing limit.
Action: Verify DOS vs. carrier filing limit. If past → escalate to Expert (late appeal with proof of timely filing).
Prevention: Always work +60 day claims.
CO-50: Service not medically necessary
Cause: Carrier considered procedure unnecessary.
Action: Escalate to Expert. Requires appeal with clinical narrative + X-rays + perio chart if applicable.
CO-96: Non-covered service
Cause: Procedure not covered by this plan.
Action:
- Check against TRN-INS-G02 (Carrier Notes) if it's typical rule
- If expected (D4921, D9910 on some) → write-off or bill patient per policy
- If patient signed pre-treatment disclosure → bill patient
- If didn't sign → write-off + investigate workflow
CO-97: Payment included in another service (bundled)
Cause: Carrier considers this procedure included in another it paid.
Action: Verify if bundling rule is legitimate. If so → write-off. If not → appeal.
Common example: D2950 (build-up) bundled with D2740 (crown) on some carriers.
CO-119: Frequency limit met
Cause: Patient exceeded allowed plan frequency.
Action:
- Verify real plan frequency in TRN-INS-002
- If legitimate → bill patient or wait for next year
- If carrier is wrong → escalate (rare)
CO-151: Insufficient documentation
Cause: Missing attachment or clinical info.
Action: Get missing attachment (X-ray, narrative, perio chart) and resubmit as corrected claim.
See TRN-CL-001 → attachment table by procedure.
CO-186: Level of care not authorized
Cause: Procedure required pre-auth and didn't have it.
Action: Escalate to Expert. Requires retroactive pre-auth + appeal.
Data mismatch (Subscriber ID, DOB, Name)
Cause: Subscriber data doesn't match carrier.
Action:
- Call patient and confirm data vs. card
- If card says different → update OD and resubmit
- Especially check DOB (MM/DD/YYYY format) and subscriber ID (case sensitive on some)
Payer not configured (Stedi)
Cause: Stedi doesn't support this carrier for 276/270/837D.
Action:
- Check against TRN-INS-G02 (Carrier Notes) if documented
- Known unsupported: Aetna 837D, several Delta Dentals, Guardian 276, MetLife 276
- Workaround: manual carrier portal
"Cannot provide further status electronically"
Cause: Carrier won't respond electronic status.
Action: Call carrier directly. UHC and Cigna typically require this.
BrandaCare tools to detect denials
audit.py— runs status check (276) on all pending claimsauto_resubmit.py— detects E0 errors (data mismatch) and auto-corrects + resubmitspayer_capabilities.json— cache of which carriers support what (276, 270, 837D)- Google Sheet → "Corrections" tab → claims with detected errors
auto_resubmit.py resubmits automatically with response data, without you touching anything. Confirm in Google Sheet "Auto-Resubmit Log" tab.
When NOT to fix and escalate to Expert
- Any denial requiring appeal with clinical narrative
- Filing limit expired
- Bundling disputes requiring research
- External review / IRO
- Patients with 5+ denied procedures on same claim
