Denial codes (officially, Claim Adjustment Reason Codes or CARCs) are the short codes on an ERA or EOB that explain why an insurance payer paid less than billed — or paid nothing. Each code pairs with a group code (CO, PR, OA, or PI) that tells you who absorbs the money. This guide explains the most common codes in plain English: what each one means, why it happens, and whether you can do anything about it.
Code descriptions verified against the official X12 CARC list, which is updated three times a year. Last verified: August 2026.
First: Denial vs Rejection vs Adjustment
Three different things get called “denials,” and they need different responses:
- Rejection — the claim never entered the payer's system (bad format, wrong ID). Fix and resubmit; no appeal needed.
- Denial — the payer processed the claim and refused payment. This is what CARC codes on a $0 line explain.
- Adjustment — the payer paid, but less than billed. CO-45, the most common code of all, is an adjustment, not a denial — it's the normal contractual discount.
The Group Codes: Who Absorbs the Money
Every adjustment carries one of four group codes, and the group code decides who eats the dollar:
- CO — Contractual Obligation. The provider writes it off. The patient may not be billed.
- PR — Patient Responsibility. May be billed to the patient (deductible, coinsurance, copay, terminated coverage).
- OA — Other Adjustment. Neither of the above (duplicates, COB shuffling). Review before writing off.
- PI — Payer-Initiated Reductions. The payer reduced payment on its own initiative. Often appealable.
Here's why this matters: the same reason code flips meaning with a different group code. Reason 204 (“not covered under the patient's plan”) as CO-204 means you write it off; as PR-204 the patient owes it. Reading the code without the group is how billing teams write off money that patients legitimately owed — or bill patients for money they never did.
Denial Codes Master Table
| Code | Plain English | Who owes it | Fixable? |
|---|---|---|---|
| CO-45 | Your price was higher than the contracted rate. Normal on almost every remit. | Provider writes off | Not a true denial |
| PR-1 | The patient hasn't met their deductible yet. | Patient | Bill the patient |
| PR-2 | The patient's percentage share of the allowed amount. | Patient | Bill the patient |
| PR-3 | The fixed per-visit fee. | Patient | Bill the patient |
| CO-16 | Something is missing or wrong on the claim. Check the remark codes for what. | Provider (fix & resubmit) | Easy fix |
| OA-18 | The payer already has this exact claim. | Nobody — find the original | Easy fix |
| CO-22 | Another insurance should be billed first. | Resubmit to right payer | Medium |
| PR-27 | The policy had ended by the date of service. | Patient (often uncollectable) | Preventable |
| CO-29 | You submitted too late. Nearly unappealable. | Provider writes off | Preventable |
| CO-50 | The payer doesn't think the service was medically needed. | Appeal with documentation | Hard |
| CO-96 | The plan simply doesn't cover this service. | Check plan; maybe patient | Medium |
| CO-97 | Bundled — already paid inside another code. | Provider (or modifier fix) | Medium |
| CO-109 | Wrong payer — send it to the right one. | Resubmit to right payer | Easy fix |
| CO-119 | The patient used up this benefit (e.g., visit limits). | Patient (with notice rules) | Not preventable |
| CO-197 | No prior authorization on file. | Provider (retro-auth/appeal) | Preventable |
| CO-204 | Not a covered benefit for this member. | Depends on group code | Medium |
| CO-252 | The payer wants supporting documents. | Provider (send docs) | Easy fix |
| CO-253 | Mandatory federal payment reduction (Medicare). | Provider writes off | Not appealable |
| CO-4 | Wrong or missing modifier. | Provider (fix & resubmit) | Easy fix |
| CO-11 | The diagnosis doesn't justify the procedure billed. | Provider (recheck coding) | Medium |
| B7 | Credentialing/enrollment problem for this provider. | Provider (fix enrollment) | Preventable |
The Codes That Matter Most, Explained
CO-45: Charge Exceeds Fee Schedule
Official description: “Charge exceeds fee schedule/maximum allowable or contracted/legislated fee arrangement.”
The most common code in existence — and usually not a problem. It's the difference between your charge and the contracted rate, and you agreed to it when you signed the payer contract. Write it off; never bill the patient for it. It only becomes a problem when the allowed amount doesn't match your contract — that's an underpayment, and it's worth checking systematically.
PR-27: Coverage Terminated
Official: “Expenses incurred after coverage terminated.”
Why it happens: the patient's policy ended — job change, missed premiums, Medicaid redetermination — before the date of service, and nobody checked. The trap: you find out weeks after the visit, when collection odds are poor. Prevention: this denial is almost 100% preventable with an eligibility check before the visit — registration and eligibility errors cause roughly 27% of all denials, the single largest cause per the Change Healthcare Denials Index.
CO-29: Timely Filing Expired
Official: “The time limit for filing has expired.”
Every payer has a filing deadline (90 days to a year). Miss it and the money is simply gone — CO means you can't bill the patient either, and appeals succeed only with proof of earlier timely submission. Prevention is the only strategy: submit within days of service, track per-payer deadlines with aging alerts, and treat rejected-but-unfixed claims as ticking clocks — a rejection that sits in a queue for four months quietly becomes a CO-29.
CO-197: No Prior Authorization
Official: “Precertification/authorization/notification/pre-treatment absent.”
The service needed pre-approval and there's none on file. Some payers grant retro-authorizations within a window; otherwise appeal with clinical documentation. Prevention: an auth-requirement check at scheduling, and prior authorization automation to keep auth status attached to the claim.
CO-16: Missing or Invalid Information
Official: “Claim/service lacks information or has submission/billing error(s).”
The catch-all “something's wrong” code — always accompanied by remark codes (RARCs) saying what. Fix the named field and resubmit; no appeal needed. Recurring CO-16s are a data-quality signal: the same missing field, over and over, is a workflow bug, not bad luck.
OA-18: Duplicate Claim
Official: “Exact duplicate claim/service.”
The payer already has this claim. A detail most references get wrong: X12 specifies group code OA for code 18 (CO only where state workers' comp rules require it). Don't “fix” a duplicate by resubmitting again — check the status of the original with a 276/277 status inquiry; the first claim is usually still in process or already paid. Repeated duplicates usually mean your team re-fires claims instead of checking status.
CO-97: Bundled Service
Official: “The benefit for this service is included in the payment/allowance for another service.”
Paid inside another procedure per bundling edits (NCCI). Sometimes correct; sometimes a missing modifier (like 59) legitimately unbundles it. Coding review decides which.
CO-50: Not Medically Necessary
Official: “These are non-covered services because this is not deemed a 'medical necessity' by the payer.”
The payer's clinical rules say the documentation doesn't justify the service. The most appeal-worthy denial — and appeals work: industry surveys consistently show the majority of pursued appeals succeed. Appeal with clinical notes, the payer's own coverage policy, and the ordering rationale.
What Denials Cost (and Why This Page Matters)
- Initial denial rates hit 11.8% in 2024, up from 10.2% in 2020 (Crowe benchmarking).
- ~86% of denials are potentially avoidable — yet up to 65% of denied claims are never resubmitted (Change Healthcare Denials Index / HFMA).
- Reworking one denial costs $25 (practices) to $118 (hospitals) — prevention is always cheaper than appeals.
For the full picture of where denials come from and how to prevent each category, see our data deep-dive: the most common claim denial reasons.
If your team is fighting the same codes every month, the fix is usually upstream — eligibility checks, claim scrubbing, and status tracking built into the billing flow. That's what our revenue cycle management software development team builds. Talk to our team about a denial-pattern review.



