# Denial Codes: CARC, RARC and CO-16, CO-45, CO-97 Explained

> What denial codes mean: CARC and RARC codes, the CO, PR, OA and PI group codes, the most common denials and how to fix them, plus a free denial log template.

Canonical: https://origindatapartners.com/guides/denial-codes-carc-rarc
By: Origin Data Partners
Status: Published
Published: 2026-11-13
Updated: 2026-11-14
Sources checked: 2026-11-13

## Quick answer

Denial codes are the codes a payer puts on a remittance to explain why a claim or line was paid differently than billed. Each adjustment pairs a group code (CO, PR, OA or PI), which says who is responsible, with a claim adjustment reason code (CARC), often with a remark code (RARC) adding detail. CO-45, for example, is a contractual reduction the provider writes off.

## Key points

- Read the group code first: CO means the provider absorbs it, PR means the patient may be billed.
- The CARC gives the reason; the RARC gives detail. Several CARCs require at least one remark code.
- Some codes, such as CO-45, are routine adjustments, not denials to appeal.
- A denial log that joins code, fix and outcome shows which problems keep coming back.

## What are denial codes?

X12 describes claim adjustment reason codes as codes that "describe why a claim or service line was paid differently than it was billed" ([X12 CARC list](https://x12.org/codes/claim-adjustment-reason-codes)). They arrive on the electronic remittance advice (the 835) or the paper remittance. CMS explains that for any line or claim level adjustment, "3 sets of codes may be used": the claim adjustment group code, the claim adjustment reason code (CARC) and the remittance advice remark code (RARC) ([CMS](https://www.cms.gov/medicare/billing/electronicbillingeditrans/remittance)).

A code written CO-16 is two parts: the group code CO and the reason code 16. Billing staff call all of these "denial codes", though many adjustments are not denials at all: a contractual write-down or a patient deductible uses the same codes.


## What do CO, PR, OA and PI mean in denial codes?

Group codes "generally assign responsibility for the adjustment amounts" ([X12](https://x12.org/codes/claim-adjustment-reason-codes)). CMS gives the two that matter most to a practice: CO "assigns responsibility to the provider" and PR "assigns responsibility to the patient", and Medicare beneficiaries "may be billed only when Group Code PR is used with an adjustment" ([CMS](https://www.cms.gov/medicare/billing/electronicbillingeditrans/remittance)).

| Group code | X12 name | What it means for the practice |
| --- | --- | --- |
| CO | Contractual Obligation | The provider absorbs the amount under its contract or the payer's rules; do not bill the patient |
| PR | Patient Responsibility | The patient owes it, for example a deductible, coinsurance or copay |
| OA | Other Adjustment | Neither of the above, for example an exact duplicate claim (OA-18) or a prior payer's adjustment (OA-23) |
| PI | Payer Initiated Reductions | The payer reduced the amount without a contract basis and does not treat it as the patient's responsibility; read the reason and remark codes to see why |


## What are the most common denial codes, and how do you fix them?

These are the codes billing teams search for most, in plain words. The wording is ours; the official text and usage notes are on the [X12 CARC list](https://x12.org/codes/claim-adjustment-reason-codes), which changes several times a year. Check the current entry before you act.

| Code as it usually appears | What it means (paraphrased) | Usual next step |
| --- | --- | --- |
| PR-1, PR-2, PR-3 | Deductible, coinsurance and copay amounts | Not a denial: bill the patient the stated amount |
| CO-4 | The procedure code does not match the modifier used | Correct the modifier and send a corrected claim |
| CO-16 | The claim is missing information or has a billing error; X12 says at least one remark code must accompany it | Read the remark code, fix the field and resubmit |
| OA-18 | Exact duplicate of a claim or service already received | Check claim status before resending; do not appeal |
| CO-22 | Another payer may be primary under coordination of benefits | Confirm the primary payer and bill it first |
| OA-23 | The amount reflects what a prior payer already paid or adjusted | Usually informational on secondary claims; reconcile |
| CO-29 | The filing deadline has passed | Appeal only with proof of timely filing, such as a clearinghouse acceptance report |
| CO-45 | The charge is above the fee schedule or contracted amount | Write off the difference; it is a contractual adjustment, not a denial |
| CO-50 | Not covered because the payer did not consider it medically necessary | Appeal with records and a medical necessity letter |
| CO-96, PR-96 | Non-covered charges; X12 says a remark code must be provided | Read the remark code; the group code shows whether the patient or the practice carries the amount |
| CO-97 | Payment is included in another service already paid (bundled) | Check bundling edits and modifiers; correct or accept |
| CO-197 | Prior authorization, precertification or notification was missing | Get a retro authorization if the payer allows it, then appeal |
| PR-204 | Not covered under the patient's current benefit plan | Confirm benefits; bill the patient under your financial policy |
| CO-252 | An attachment or other documentation is needed | Send the requested records with the claim number |


## What is a RARC, and how does it work with a CARC?

Remittance advice remark codes "are used to provide additional explanation for an adjustment already described by a Claim Adjustment Reason Code (CARC) or to convey information about remittance processing" ([X12 RARC list](https://x12.org/codes/remittance-advice-remark-codes)). Most are supplemental and explain a specific adjustment. The others are informational: they "are all prefaced with Alert:" and "are never related to a specific adjustment or CARC".

For a CO-16 or CO-96, the remark code usually tells you exactly which field or document the payer wants. Read it before you rework the claim.


## Denial log example: three denials worked from code to outcome

A denial log turns remittance codes into a work queue with outcomes. The [denial log template (CSV)](https://origindatapartners.com/downloads/denial-log-template.csv) has the columns below and three fictional rows. Amounts are in US dollars.

| Claim | Code | Root cause | Action | Outcome |
| --- | --- | --- | --- | --- |
| CLM-1001, line 2 (billed 180.00) | CO-197 | Authorization requested after the procedure | Retro authorization requested, then appeal sent day 6 | Paid 142.00 on day 31 |
| CLM-1002 (billed 95.00) | CO-16 with a remark for a missing referring provider | Referring provider field left blank | Corrected claim sent day 2 | Paid 71.40 on day 16 |
| CLM-1003 (billed 410.00) | CO-50 | Payer policy requires six weeks of conservative care first | Appeal with notes and imaging report, day 12 | Upheld on day 44; patient informed |

Fictional data. A real log also tracks the payer, the appeal level, the staff member and the days to resolution, so you can see which payers and which causes cost the most time.


## Denial management: a five-step process

Denial management is the routine that keeps denials from turning into write-offs.

- Capture: post every adjustment from the 835 with its group code, CARC and RARC, not just the paid amount.
- Sort: separate routine adjustments (contractual, deductible) from true denials, then rank denials by amount and deadline.
- Fix or appeal: correct and resubmit errors; appeal decisions you disagree with, inside the payer's appeal window.
- Find the root cause: tag each denial with the step that failed, such as registration, eligibility, authorization, coding or documentation.
- Prevent: change the front-end step that caused it and track whether that denial reason falls.


## Common mistakes when working denials

Most lost revenue from denials comes from a few repeated habits.

- Appealing CO-45 or PR-1 to PR-3: they are expected adjustments, not errors.
- Billing the patient for a CO adjustment. CO assigns the amount to the provider.
- Ignoring the remark code on CO-16 and CO-96 and guessing what the payer wants.
- Resending a duplicate instead of checking claim status, which can produce an OA-18.
- Logging the denial but not the outcome, so nobody can tell which fixes worked.
- Copying old code descriptions into templates; X12 updates the lists, so link to the current list instead.


## Your denial history is a record of payer decisions

Years of denials, each with its codes, the fix, the appeal and the final payment, record how payers actually decide and how a team gets claims paid. That sequence is hard to recreate from public sources.

AI developers building billing, denial and authorization tools ask for this kind of history, where each request or claim is joined to the payer's decision and what happened next. Only the practice or group that owns the records can agree to share them, and only after de-identification that meets HIPAA (see [de-identifying company data](https://origindatapartners.com/guides/de-identify-company-data-before-licensing)). A billing company holds these records for its clients and needs their written permission.

If your company keeps years of claims, denial and prior authorization records, the [guide for physician groups and billing companies](https://origindatapartners.com/guides/healthcare-billing-denial-prior-auth-data) explains what AI developers ask for and who signs. To see what yours could be worth, [describe them in six questions](https://origindatapartners.com/check-fit?sector=healthcare); no files or system access needed.


## Questions and answers

### What are denial codes in medical billing?

Codes on a remittance that explain why a claim or line was paid differently than billed. Each adjustment pairs a group code (CO, PR, OA or PI) with a claim adjustment reason code (CARC), often with a remittance advice remark code (RARC) that adds detail.

### What does denial code CO-16 mean?

The claim or service lacks information or has a submission or billing error. X12 requires at least one remark code with it, and the remark code usually names the missing or wrong item. Fix it and resubmit.

### What does denial code CO-45 mean, and should it be appealed?

The charge exceeds the fee schedule, maximum allowable or contracted amount. It is a contractual adjustment that the provider writes off, not a denial to appeal, unless the payer applied the wrong fee schedule.

### What does denial code CO-97 mean?

The benefit for the service is included in the payment for another service already adjudicated, which billers call bundling. Check whether a modifier applies under the payer's policy; if not, the line is not separately payable.

### What is the difference between CARC and RARC codes?

A CARC gives the reason for an adjustment. A RARC adds detail to a CARC, or, for remark codes that begin with "Alert:", gives general information about remittance processing that is not tied to an adjustment.

### What does PR mean on an EOB or remittance?

Patient responsibility. The amount, such as a deductible, coinsurance or copay, may be billed to the patient. CMS notes that Medicare beneficiaries may be billed only when group code PR is used with an adjustment.

### Where can I find the full list of denial codes?

X12 publishes the claim adjustment reason codes and remittance advice remark codes on its website and updates them several times a year. Payers may also publish their own guides to how they use the codes.

### How do I reduce CO-197 prior authorization denials?

Check authorization requirements when the visit is scheduled, record the authorization number and its dates against the order, and recheck before the service if the plan or the procedure changes. A tracking log helps.

### What does denial code CO-22 mean?

X12 defines CARC 22 as "This care may be covered by another payer per coordination of benefits", so the payer is pointing to other coverage that may be primary. Confirm the patient's other coverage and bill the primary payer first.

### What does denial code CO-96 mean?

CARC 96 means "Non-covered charge(s)", and the X12 code list says "At least one Remark Code must be provided" with it. Read that remark code before deciding whether to appeal, correct or write off. With group code CO the practice carries the amount; with PR the patient can be billed.

### What does denial code CO-252 mean?

X12 defines CARC 252 as "An attachment/other documentation is required to adjudicate this claim/service", and it must come with at least one remark code. Check the remark code and the payer's request for which document is missing, then send it with the claim number.

## Sources

- [X12: Claim Adjustment Reason Codes (external code list)](https://x12.org/codes/claim-adjustment-reason-codes)
- [X12: Remittance Advice Remark Codes (external code list)](https://x12.org/codes/remittance-advice-remark-codes)
- [CMS: Electronic Remit Advice (ERA) and Standard Paper Remit (SPR)](https://www.cms.gov/medicare/billing/electronicbillingeditrans/remittance)
- [CMS: 835 Flat File, 5010A1 (PDF)](https://www.cms.gov/medicare/billing/electronicbillingeditrans/downloads/835-flatfile.pdf)

## Related reading

- [Healthcare Claims Data for AI: Denials and Prior Auth](https://origindatapartners.com/guides/healthcare-billing-denial-prior-auth-data)
- [Electronic Remittance Advice: How to Read an 835 File](https://origindatapartners.com/guides/835-electronic-remittance-advice)
- [Prior Authorization Form: What to Include and Tracking Log](https://origindatapartners.com/guides/prior-authorization-form)
- [Licensing healthcare operational data for AI: HIPAA basics](https://origindatapartners.com/guides/license-healthcare-operational-data)
- [Closing a Medical Practice Checklist: Notices and Records](https://origindatapartners.com/guides/closing-a-medical-practice-checklist)
- [/glossary/claim-adjustment-reason-code](https://origindatapartners.com/glossary/claim-adjustment-reason-code)
- [/glossary/electronic-remittance-advice](https://origindatapartners.com/glossary/electronic-remittance-advice)
