Claim Adjustment Reason Codes (CARCs) Explained
When a payer processes a healthcare claim and pays something other than the full billed amount, they are required to tell you why. That explanation comes in the form of a Claim Adjustment Reason Code, or CARC. Understanding these codes is foundational to effective revenue cycle management — and yet they remain one of the most common sources of confusion for billing teams and EDI developers alike.
This guide breaks down what CARCs are, how they appear in EDI 835 remittance files, how they differ from Remittance Advice Remark Codes (RARCs), and how to act on the codes you’ll encounter most often.
What Is a Claim Adjustment Reason Code?
A CARC is a standardized code maintained by the X12 standards body (with input from the insurance industry) that explains why a payer adjusted a claim line or service. CARCs are published and maintained jointly by the Washington Publishing Company (WPC) on behalf of HIPAA.
CARCs appear at both the claim level and the service line level in an 835 Electronic Remittance Advice (ERA) file. Every time a payer pays less than what was billed — or denies the claim entirely — at least one CARC must be included to explain the reduction.
There are currently over 250 active CARCs, grouped into six broad adjustment reason categories:
| Group Code | Meaning |
|---|---|
| CO | Contractual Obligation — payer contract or fee schedule adjustment |
| CR | Correction and Reversal |
| OA | Other Adjustment |
| PI | Payer Initiated Reductions |
| PR | Patient Responsibility — portion billable to the patient |
| RX | Prescription Drug Adjustment |
The group code combined with the CARC tells you not just why the amount was adjusted, but who is responsible for the balance.
Where CARCs Live in the 835 File
CARCs appear in the CAS (Claim Adjustment) segment of an 835 ERA file. You’ll find CAS segments at two levels:
2100loop (Claim Payment Information) — claim-level adjustments2110loop (Service Payment Information) — service line-level adjustments
Here’s what a CAS segment looks like in raw X12 format:
CAS*CO*45*150.00*1*CO*253*0.00~
Breaking that down:
| Position | Value | Meaning |
|---|---|---|
| CAS01 | CO | Group code: Contractual Obligation |
| CAS02 | 45 | CARC 45 — charges exceed fee schedule |
| CAS03 | 150.00 | Dollar amount of this adjustment |
| CAS04 | 1 | Quantity (number of units adjusted) |
| CAS05 | CO | Group code for second adjustment |
| CAS06 | 253 | CARC 253 — sequencing or adjustment |
| CAS07 | 0.00 | Dollar amount for second adjustment |
A single CAS segment can carry up to six adjustment reason groups (pairs of group code + CARC + amount), which is why they can look dense when you first encounter them.
Here’s a fuller service line example with context:
SVC*HC:99213*120.00*85.00*1~
DTM*472*20260601~
CAS*CO*45*35.00~
CAS*PR*1*0.00*2*0.00~
AMT*B6*85.00~
Reading this:
- Billed: $120.00 for CPT 99213
- Paid: $85.00
- CO-45: $35.00 reduced per fee schedule contract
- PR-1 / PR-2: Patient deductible/copay — both $0 in this case
The Most Common CARCs You’ll See
CO-45 — Charges Exceed Fee Schedule / Maximum Allowable
This is the most common CARC in commercial and Medicare claims. It means the payer’s contracted fee schedule or maximum allowable is lower than what you billed. This is a contractual write-off — you cannot bill the patient for this amount.
Action: No action required unless you believe the fee schedule rate is incorrect. Verify against your contract.
CO-97 — Payment is Included in the Allowance for Another Service/Procedure
This code indicates the procedure was bundled into another service that was already paid. Very common with evaluation and management codes billed on the same day as a procedure, or with NCCI (National Correct Coding Initiative) edits.
Action: Review NCCI edits. If you believe the services are separately payable, submit a modifier (e.g., Modifier 25 or 59) with reconsideration.
CO-4 — Service is Not Covered by This Payer / Contractor
The claim was submitted to the wrong payer, or the service is excluded from coverage entirely under this plan.
Action: Verify payer eligibility, check the patient’s EOB, or resubmit to the correct payer.
PR-1 — Deductible Amount
The patient has not yet met their deductible. This portion is patient responsibility — you can and should bill the patient.
Action: Post as patient AR. Generate a patient statement.
PR-2 — Coinsurance Amount
The patient owes coinsurance (typically a percentage of the allowed amount). Same as PR-1 in terms of billing responsibility.
PR-3 — Copayment Amount
The patient’s copay responsibility under their plan.
CO-50 — These are Non-Covered Services
The service code is not covered under the patient’s benefit plan. Different from CO-4 — this is plan-specific exclusion (e.g., cosmetic procedures, some hearing services, etc.).
Action: If you have an ABN (Advance Beneficiary Notice) on file, you may be able to bill the patient. Otherwise, write off.
CO-109 — Claim/Service Not Covered by This Payer/Contractor — You Must Send the Claim/Service to the Correct Payer/Contractor
Crossed over to wrong payer. Common in Medicare/Medicaid crossover situations.
Action: Identify the correct payer, resubmit.
OA-23 — The Impact of Prior Payer(s) Adjudication Including Payments and/or Adjustments
This appears in coordination of benefits (COB) scenarios where a secondary payer is acknowledging what the primary payer already paid. Not an error — it’s informational.
Action: Verify COB logic. Reconcile against primary 835.
CO-29 — The Time Limit for Filing Has Expired
The claim was submitted past the payer’s timely filing deadline.
Action: Submit proof of timely filing if available (e.g., clearinghouse acknowledgment with original submission date). If past deadline without proof, write off.
CO-96 — Non-Covered Charge(s). Additional information is supplied using the Remittance Advice Remark Code.
This code requires you to look at the accompanying RARC to understand the specific denial reason. CO-96 alone tells you nothing actionable.
Action: Read the RARC in the LOINC/MOA/LQ segment. Common companion RARCs include N30, N95, MA01.
CARCs vs. RARCs: What’s the Difference?
CARCs and Remittance Advice Remark Codes (RARCs) are often seen together, but they serve different purposes:
| CARC | RARC | |
|---|---|---|
| Purpose | Explains the dollar amount of an adjustment | Provides additional context or instructions |
| Location in 835 | CAS segment | MOA, LQ, or MIA segment |
| Required | Yes, whenever a payment is adjusted | Only when supplemental info is needed |
| Actionable amount | Yes — tied to a dollar value | No — narrative/guidance only |
Some denials only make sense when you read the CARC and RARC together. CO-96 is the best example — the CARC tells you it’s non-covered, but the RARC tells you why and whether there’s a corrective path.
Reading CARCs at the Claim Level vs. Service Line Level
CARCs can appear at the claim level (2100 loop) or the service line level (2110 loop), and sometimes both. Here’s how to distinguish them:
Claim-level CAS (in the 2100 loop, after the CLP segment):
CLP*CLAIM123*1*500.00*400.00**MC*123456789~
CAS*CO*45*100.00~
This means the entire claim was adjusted $100 due to CO-45.
Service line-level CAS (in the 2110 loop, after the SVC segment):
SVC*HC:99214*250.00*200.00*1~
CAS*CO*45*50.00~
This means one specific service line was adjusted. When denials appear only at the line level, claim-level adjustments may still be $0.
Best practice: Always reconcile at the service line level for accurate posting. Claim-level adjustments should flow to the appropriate lines during ERA posting.
Common Workflows for CARC-Based Denial Management
1. Automated ERA Posting
Most practice management systems map CARCs to adjustment reason codes during automated ERA posting. Verify that your system:
- Maps CO codes to contractual adjustments (write-off)
- Maps PR codes to patient responsibility (bill patient)
- Flags OA codes for manual review
2. Denial Categorization
Use CARCs to categorize denials systematically:
- CO-4 / CO-109: Payer routing errors → billing workflow fix
- CO-97 / CO-96: Coding/bundling → coder review
- PR-1 / PR-2 / PR-3: Patient AR → statement generation
- CO-29: Timely filing → process improvement
- CO-45: Contractual — no action unless fee schedule discrepancy
3. Appeals Prioritization
Not all denials are worth appealing. Prioritize:
- High-dollar CO-97 (bundling disputes with modifier support)
- CO-50 with ABN on file
- CO-29 when you have proof of timely filing
- Anything where the CARC doesn’t match the actual clinical scenario
EDI Tools for CARC Analysis
Working with raw 835 files makes CARC analysis faster. When you can parse the raw EDI directly:
- You see the exact CAS segment structure without payer portal reformatting
- You can pull all CARCs across a batch of remittances at once
- You can cross-reference claim and service line adjustments without re-entering data
Being able to open an 835 file in the browser — without uploading to a clearinghouse or waiting for an ERA import — is especially useful when investigating specific payment discrepancies or auditing a payer’s adjustment logic.
Summary
Claim Adjustment Reason Codes are the payer’s standardized language for explaining payment decisions. To use them effectively:
- Know your group codes — CO is write-off, PR is patient responsibility
- Read CAS segments at both claim and line level — they tell different stories
- Pair CARCs with RARCs for complete denial context
- Categorize before you act — not every CARC requires the same response
- Use raw EDI access to validate adjustments against what was actually transmitted
Mastering CARCs won’t eliminate denials — but it will dramatically reduce the time your team spends chasing the wrong ones.
Ready to work with EDI files in your browser? Try EDI Paisan free — no install required.