Denial Management

Medical Billing Denial Codes (CARC & RARC), Explained

What the group code, reason code and remark code on your ERA mean, the ten codes practices ask about most, and the first fix for each.

A denial code is the set of codes a payer puts on an ERA (835) or paper EOB to explain why a claim line paid less than you billed: a two-letter group code (CO, PR, OA or PI) that says who owes the difference, a numeric Claim Adjustment Reason Code (CARC) that says why, and often a Remittance Advice Remark Code (RARC) that adds the detail. X12 maintains both code lists. It defines CARCs as codes that “describe why a claim or service line was paid differently than it was billed” and RARCs as codes that “provide additional explanation for an adjustment already described by a Claim Adjustment Reason Code (CARC).”

So “CO-16” is two codes, not one: group code CO plus reason code 16. Read it as “the provider absorbs this amount, because the claim lacks information.” The RARC beside it, such as an N-series remark, tells you which information.

Updated October 23, 2026. Reviewed by Jacob Greenberg, ClaimCarePro. Official code descriptions are quoted from the X12 code lists as read that day.

The four group codes: who owes the money

X12 says group codes “generally assign responsibility for the adjustment amounts.” They are always two letters.

Claim adjustment group codes CO, PR, OA and PI
Group codeX12 nameWho owes the adjusted amountTypical examples
COContractual ObligationThe provider. Under Medicare, a CO amount may not be billed to the beneficiary (CGS).CO-45 contractual write-off, CO-97 bundling, CO-16 missing information, CO-197 no authorization
PRPatient ResponsibilityThe patient. Medicare beneficiaries may be billed only when PR is used (CGS).PR-1 deductible, PR-2 coinsurance, PR-3 copay, PR-204 non-covered benefit
OAOther AdjustmentNeither party by default; it explains an amount that is not a contract write-off or patient balance.OA-23 prior payer’s payment on a secondary claim, OA-18 exact duplicate
PIPayor Initiated ReductionX12 gives only the name. In practice it marks a reduction the payer applied that is not patient responsibility, so the patient is not billed for it.Reductions some commercial and workers’ compensation payers apply

The same reason code can arrive with different group codes, and the group code is what decides whether you can send the patient a bill. X12 even restricts some pairings: CARC 23 is “Use only with Group Code OA,” and CARC 45 is “Use only with Group Codes PR or CO depending upon liability.” An older value, CR (Corrections and Reversal), is marked by X12 as not used with version 005010 and up.

Denial code list: the 10 most searched CARCs

Official description quoted from X12. Plain English is ClaimCarePro’s own translation, the same one our billing software shows next to every code on an 835.

The ten most common denial codes with official description, plain English, cause and first fix
CodeOfficial X12 descriptionPlain EnglishMost common causeFirst fix
CO-16Claim/service lacks information or has submission/billing error(s).Something on the claim is missing or wrong, and the remark code on the same line says what.A missing or invalid data element: referring provider, NPI, date, place of service, or another field the RARC names.Read the paired RARC, correct that element, and send a corrected claim.
CO-97The benefit for this service is included in the payment/allowance for another service/procedure that has already been adjudicated.Bundled: the payer paid this service as part of another one on the same claim or day.A code pair that a bundling edit treats as one service, billed without a supported modifier.Check the edit. Add a modifier only if the documentation supports a separate service; otherwise write it off.
CO-45Charge exceeds fee schedule/maximum allowable or contracted/legislated fee arrangement.Not a denial. The difference between your charge and the contracted or allowed rate.Your fee schedule is higher than the payer allowance, which is normal.Post it as a contractual write-off. Do not bill the patient for it.
CO-22This care may be covered by another payer per coordination of benefits.The payer thinks another plan is primary for this patient.Other coverage on the payer’s file, often an old or spouse’s plan the patient never updated.Confirm coordination of benefits with the patient and payer, bill the true primary, then the secondary with the primary EOB.
CO-197Precertification/authorization/notification/pre-treatment absent.The payer required a prior authorization or notification and found none on the claim.No authorization obtained, or an authorization that existed but was left off the claim.If the auth existed, add the number and resubmit. If not, ask about retro-authorization or appeal per the payer’s policy.
OA-23The impact of prior payer(s) adjudication including payments and/or adjustments. (Use only with Group Code OA)Expected on a secondary claim: the amount the primary payer already paid or adjusted.Normal secondary or crossover processing.Post it as the prior-payer amount. No correction needed.
CO-4The procedure code is inconsistent with the modifier used.The modifier does not fit the procedure code, or a modifier the payer requires is missing.Wrong, missing or misordered modifier for this CPT or HCPCS code under payer policy.Check the modifier against the code and the payer policy, correct it, and send a corrected claim.
PR-204This service/equipment/drug is not covered under the patient’s current benefit planThe patient’s plan excludes this service, and the group code puts the amount on the patient.A benefit exclusion that eligibility and benefits checks did not catch before the visit.Confirm the exclusion with the payer, then bill the patient under the plan terms and any signed waiver.
OA-18Exact duplicate claim/service (Use only with Group Code OA except where state workers’ compensation regulations requires CO)The payer already has this exact claim or service line on file.A resubmission sent as a new claim while the original was still processing or already paid.Do not rebill. Find the original: if it paid, post nothing; if it did not, follow up on that claim or appeal.
PR-1Deductible AmountThe patient has not met the deductible, so this amount is theirs.Early-year visits and high-deductible plans.Check for a secondary payer first, then bill the patient once the claim is final.

Each code above has its own page with the remark codes it usually travels with, the variants (the same reason code under a different group), and a worked fix: CO-16, CO-97, CO-45, CO-22, CO-197, OA-23, CO-4, PR-204, OA-18 and PR-1.

Three of the ten are not really denials. CO-45 is the contractual write-off on a paid claim, OA-23 is the primary payer's amount showing on a secondary claim, and PR-1 is the patient's deductible. Treating those as problems to appeal wastes hours; treating a real denial as a write-off leaves money on the table. Sorting them correctly is the first job.

Claim adjustment reason codes (CARC) vs remark codes (RARC)

A CARC explains the money; a RARC explains the CARC. CARCs are numbers (1, 16, 45, 197) and some alphanumerics (such as B15). RARCs start with N, M or MA. X12 says RARCs “provide additional explanation for an adjustment already described by a Claim Adjustment Reason Code (CARC) or convey information about remittance processing.”

For some CARCs the RARC is mandatory. X12's usage note on CARC 16 reads: “At least one Remark Code must be provided.” That is why a report that shows only “CO-16” is unworkable: the actionable content is in the remark code it left out. Our own billing software shows every CARC and RARC on a line, code first and translation second, for exactly this reason.

A few RARCs, quoted from the X12 list, show how much they add:

  • N20: “Service not payable with other service rendered on the same date.” (Often beside CO-97.)
  • MA04: “Secondary payment cannot be considered without the identity of or payment information from the primary payer.”
  • N4: “Missing/Incomplete/Invalid prior Insurance Carrier(s) EOB.”
  • N130: “Consult plan benefit documents/guidelines for information about restrictions for this service.” (Often beside PR-204.)

How to read a denial code on an ERA or EOB line

On the electronic remittance (the 835 file behind your ERA), every adjustment is carried in a CAS segment that lists the group code, then a reason code and a dollar amount, with room for several reason-and-amount pairs in one segment. A line reading CAS*CO*45*72.00 means “$72.00 contractual obligation, reason 45.” Adjustments can sit at the claim level or on each service line, and remark codes ride separately beside them (line-level RARCs in an LQ segment). The arithmetic always closes: the billed charge equals the amount paid plus every adjustment on the line. On a paper EOB the same data appears as a column of group and reason codes with a footnote glossary, which is why the payer's own wording on a paper EOB may not match the X12 description word for word.

To read any line in under a minute:

  1. Look at the group code first. CO means you absorb it; PR means the patient owes it.
  2. Look up the reason code on the X12 CARC list (or the table above).
  3. Read every remark code on the line. For CO-16 and similar codes, that is where the fix is.
  4. Check whether the paid amount plus the adjustments equals your charge. If not, the line is mis-posted.
  5. Decide the path: post it, correct it, appeal it, bill the patient, or write it off with a reason.

Denial vs adjustment vs rejection

Denial, adjustment and rejection compared
TermWhat happenedCarries a CARC?What you do
AdjustmentThe payer processed and paid, but less than billed, for an expected reason (contract rate, deductible, prior payer).Yes (CO-45, PR-1, OA-23)Post it. Bill the patient only the PR amount.
DenialThe payer processed the claim and refused some or all payment.Yes (CO-16, CO-97, CO-197, PR-204)Correct, appeal, bill the patient (PR only), or write off with a recorded reason.
RejectionThe claim failed front-end edits at the clearinghouse or payer and was never adjudicated.NoFix the field and resubmit it as a new original claim. The filing clock keeps running.

Clearinghouse rejections come back as edit messages (an invalid NPI, a member ID not found), not CARCs, and our software translates them from a separate table for that reason. A rejected claim is not on file with the payer, so there is nothing to correct or appeal; it has to be sent again.

How to fix a denial: corrected claim, appeal or write-off

The right fix depends on whether the claim was wrong or the payer's decision was wrong. Choosing from the CARC alone is how corrected claims get sent for problems that needed an appeal, and the other way round.

Denial fix paths compared
PathUse it whenHow it is sentDeadline to watch
Corrected (replacement) claimYour claim had wrong or missing data: CO-16, CO-4, a missing authorization number.Commercial payers and most Medicaid plans: a replacement claim with claim frequency code 7 and the payer’s original claim number. Check the payer manual.The payer’s corrected-claim window, set by contract.
Medicare reopeningA minor error or omission on a Medicare claim. Federal rules also class denials of claims as duplicates as clerical errors handled by reopening.Through the MAC. First Coast (Florida) offers SPOT, the Claim Reopening Gateway and its IVR for Part B.Within 1 year of the determination for any reason; up to 4 years for good cause (42 CFR 405.980).
AppealThe claim was right and you disagree: bundling with a supported modifier, medical necessity, authorization on file.Payer appeal form or portal with records. Medicare’s first level is a redetermination.Medicare: 120 calendar days from receiving the notice (42 CFR 405.942). Commercial: per contract.
Bill the patientThe group code is PR (deductible, coinsurance, copay, non-covered benefit).Patient statement after any secondary payer has processed.Your statement cycle.
Write-offA contractual adjustment (CO-45), or a CO denial with no correction or appeal basis.Posted with the reason recorded, so the pattern can be fixed upstream.None, but record it the day you decide.

For the full playbook on preventing the denials in the first place, see how to reduce claim denials and why medical claims get denied. If you would rather hand the open denials to someone, ClaimCarePro denial management triages every denial by CARC and RARC, works it to a corrected claim, appeal or recorded write-off before its deadline, and reports weekly.

Denial codes and timely filing limits

Every denial fix races a clock, and the clock that matters most is the original timely filing limit. For Medicare, a claim must be filed “no later than the close of the period ending 1 calendar year after the date of service” (42 CFR 424.44). Commercial and Medicaid limits are shorter or longer by payer; see timely filing limits by payer.

Three ways denial codes and timely filing collide:

  • Rejections do not stop the clock. A claim rejected at the clearinghouse was never received for timely-filing purposes. Keep the acceptance report for every claim; it is your proof of timely filing.
  • Duplicates hide lost claims. An OA-18 on a resubmission can mean the original is still pending, or that it was lost. Find the original before the window closes.
  • CARC 29 is the end of the road. X12 describes it as “The time limit for filing has expired.” It cannot be fixed by resubmitting; the only path is an appeal with proof of timely submission.

What ClaimCarePro sees behind the codes

Most denials we work trace back to something knowable before the claim went out: an authorization number that existed but never reached the claim, a coordination-of-benefits record the patient never updated, a modifier the payer's policy requires, or a resubmission sent as a new claim while the original was still in process. The code tells you which of those it was, if you read the remark codes with it. That is why we pull every denial from the 835 rather than from a summary report, and why the plain English in the table above comes from the same dictionary our billers work from.

Our team has 30+ years combined in medical billing. We do not publish recovery rates; what a denial is worth depends on why it was denied and how old it is.

Denial code questions, answered

What are denial codes in medical billing?
Denial codes are the codes a payer prints on an ERA or EOB to explain why a claim line paid less than billed. Each adjustment carries a two-letter group code (CO, PR, OA or PI) that says who owes the difference and a numeric Claim Adjustment Reason Code (CARC) that says why, often with a Remittance Advice Remark Code (RARC) adding detail.
What is the difference between a CARC and a RARC?
A CARC is the numeric reason code that moves money: it explains why a claim or service line was paid differently than billed. A RARC is an alphanumeric remark code (N, M or MA prefix) that adds explanation to the CARC or conveys remittance information. CO-16, for example, always comes with at least one RARC naming what is missing.
Who maintains the official denial code list?
X12 publishes and maintains both the Claim Adjustment Reason Code list and the Remittance Advice Remark Code list at x12.org, and updates them on a rolling cycle. Descriptions can change between releases, so check the current list rather than an old cheat sheet.
What do CO, PR, OA and PI mean?
They are the claim adjustment group codes. CO is Contractual Obligation (the provider absorbs it), PR is Patient Responsibility (the patient may be billed), OA is Other Adjustment (neither of those applies, such as prior-payer amounts on a secondary claim), and PI is Payor Initiated Reduction.
Can I bill the patient for a CO adjustment?
No. CGS, a Medicare administrative contractor, states that when CO is used a provider is not permitted to bill the beneficiary for that adjustment, and that beneficiaries may be billed only when group code PR is used. Commercial contracts generally work the same way for contractual write-offs.
Is CO-45 a denial?
No. CO-45 is the contractual adjustment: the part of your charge above the payer’s fee schedule or contracted rate. It appears on almost every paid claim. Post it as a write-off and never bill the patient for it.
What is the difference between a rejection and a denial?
A rejection means the claim failed front-end edits at the clearinghouse or payer and was never adjudicated, so it carries no CARC; you fix it and resubmit it as a new claim. A denial means the payer processed the claim and refused some or all of the payment, explained by group and reason codes on the ERA.
Should I send a corrected claim or an appeal?
Send a corrected claim when your claim had wrong or missing data, which is the usual answer for CO-16 and CO-4. Appeal when the claim was right and you disagree with the payer’s decision, such as a medical-necessity or bundling denial you can document. For Medicare, minor errors are corrected through a reopening rather than a resubmitted claim.
How long do I have to fix a denied claim?
It depends on the payer. For Medicare, a redetermination (first-level appeal) must be filed within 120 calendar days of receiving the initial determination, and a contractor may reopen a determination within 1 year for any reason. Commercial deadlines are set by each payer contract. The original timely filing limit keeps running while a rejected claim sits unfixed.
What does denial code CARC 29 mean?
CARC 29 means the time limit for filing has expired. It is not fixable by resubmitting. The only path is an appeal with proof the claim was filed on time, such as a clearinghouse acceptance report; without that proof it is a write-off.

Have a stack of denials you have not worked?

ClaimCarePro works denied and aged A/R on a 10% contingency of what is actually paid: no recovery, no fee. Ongoing billing with denial work included is 6% of collections with a $1,000 monthly minimum. Full terms are on the pricing page.

Get a free A/R audit

Prefer to talk first? Contact us or call (844) 772-8902.

Updated October 23, 2026. Reviewed by Jacob Greenberg, ClaimCarePro.