CARC and RARC Codes: Read Denials From the ERA
TL;DR / Key takeaways
- CARCs explain why a claim or service was paid differently than billed; RARCs add detail that can be essential to remediation.
- The two-letter group code, such as CO, OA, PI, or PR, helps identify financial responsibility for an adjustment.
- Reading a CARC without its RARC can produce the wrong corrective action, especially for broad codes such as CARC 16.
- ERA data becomes much more valuable when aggregated by payer, provider, CPT/HCPCS code, modifier, place of service, and recurring code combination.
- Denial analytics should end with a prevention rule whenever the root cause can be detected before submission.
CARC and RARC codes are the vocabulary of claim adjudication. A Claim Adjustment Reason Code (CARC) describes why a payer paid a claim or service differently than it was billed. A Remittance Advice Remark Code (RARC) supplies additional explanation. Used together with the adjustment group code on the X12 835 Electronic Remittance Advice, they are one of the most important data sources a practice has for understanding denials.
The mistake is to treat the ERA as an accounting file that gets posted and forgotten. It is also a feedback file. It tells you what the payer objected to, what the payer adjusted, who the payer assigned responsibility to, and which patterns should be converted into future claim checks.
What does the adjustment group code tell you?
X12 defines group codes that categorize the adjustment amount. Common values include:
- CO - Contractual Obligation
- OA - Other Adjustment
- PI - Payer Initiated Reductions
- PR - Patient Responsibility
The group code matters because the same numeric CARC can mean something operationally different depending on responsibility. Do not assume that every amount attached to a CARC should be billed to the patient.
For example, deductible and coinsurance amounts are generally reported as patient responsibility when appropriate. Contractual reductions are generally not patient balances simply because the practice billed more than the allowed amount.
What are common CARCs a practice should recognize?
Several codes appear frequently enough that every denial-management workflow should recognize them:
- CARC 16 - claim/service lacks information or has submission/billing errors; additional remark information is generally needed.
- CARC 18 - exact duplicate claim/service.
- CARC 29 - time limit for filing has expired.
- CARC 45 - charge exceeds fee schedule, maximum allowable, or contracted/legislated fee arrangement; X12 clarifies that this is a reduction to an allowed amount, not a full-charge denial.
- CARC 204 - service, equipment, or drug is not covered under the patient’s current benefit plan.
- CARC 284 - authorization/precertification information may be valid but does not apply to the billed services.
- CARC 288 - referral absent.
The exact corrective action cannot always be determined from the CARC alone. That is where RARCs and payer policy become essential.
Why is CARC 16 a perfect example of why RARCs matter?
CARC 16 is broad. It tells you that information is missing, incomplete, invalid, or that there is a submission/billing error. That description does not tell your biller whether the problem is a provider identifier, authorization value, demographic field, clinical data element, or another required item.
X12 guidance and payer remittances commonly pair broad CARCs with remark codes that narrow the cause. That means a denial analytics system should store the CARC + RARC combination, not merely the CARC.
If your dashboard says “CARC 16 = 87 denials,” you still do not know what to fix. If it says “CARC 16 + specific RARC = recurring missing/invalid field for payer X, provider Y, code Z,” you have an actionable pattern.
See CO-16 denial: missing or invalid claim information for the workflow.
Why should CO-45 not automatically appear in your denial count?
CARC 45 deserves special treatment because it is often misunderstood. X12 states that CARC 45 represents a charge above the fee schedule, maximum allowable, or contracted/legislated amount. In an X12 interpretation, the organization clarified that CARC 45 is intended to reduce the submitted charge to an applicable nonzero allowed amount and is not intended to reject the full submitted charge.
Suppose a practice bills $150 and the payer’s allowed amount is $80. A $70 contractual reduction can be a normal adjudication outcome rather than a denial. Counting the $70 as “denied revenue” would exaggerate denial dollars and distort performance.
This is why ClaimsRevenue should distinguish contractual adjustments from true nonpayment when analyzing ERAs.
How should you analyze ERA denial data?
Start with the claim and service-line level. For each adjusted or denied line, capture:
- payer and payer product.
- claim identifier.
- date of service.
- billing and rendering provider.
- CPT/HCPCS code.
- modifiers.
- diagnosis pointers or diagnosis family.
- place of service.
- billed charge.
- allowed amount.
- paid amount.
- group code.
- CARC.
- RARC.
- patient responsibility.
- corrected/resubmitted/appealed outcome if available.
Then aggregate. Ask which combinations are recurring and whether the pattern is specific to one payer, one clinician, one service code, or one workflow.
A denial frequency chart without claim context is descriptive. A denial pattern tied to the underlying claim fields is diagnostic.
How does ERA analysis become denial prevention?
This is the key step. For every recurring pattern, ask:
- Could the practice have known this condition before submission?
- Is the condition deterministic enough to validate?
- Is the rule payer-specific or broadly applicable?
- What data elements are needed to detect it?
- Should the rule block submission, warn the user, or simply flag the claim for review?
Examples:
- repeated CARC 18 -> detect likely duplicate claims and require status review.
- repeated CARC 29 -> alert on aging before filing deadlines.
- repeated CARC 16/RARC combination -> validate the required field.
- repeated NCCI-related denial -> check code pair and modifier logic.
- repeated authorization denial -> compare authorization to service/date/provider before claim submission.
This is the logic behind turning ERA history into claim validation. The aim is not to predict every payer decision. It is to stop recreating denials that already taught you the rule.
Why should you compare payers separately?
Aetna, UnitedHealthcare, Humana, Medicare, Medicaid programs, and regional plans do not all apply identical claim rules. CMS itself notes that other government and private insurers may choose to adopt Medicare NCCI methodologies, but applying Medicare rules outside Medicare can result in denials if those rules conflict with another plan’s own benefit or coverage policy.
Therefore, a denial rule learned from one payer should not automatically become a universal rule. Maintain a payer scope for rules whenever the evidence is payer-specific.
What should a denial dashboard show?
For an independent practice, I would prioritize:
- top denial code combinations by count.
- top denial code combinations by dollars.
- denial rate by payer.
- denial rate by rendering provider.
- denial rate by CPT/HCPCS code.
- recurring denial trend over 30/60/90 days.
- preventable vs. nonpreventable classification.
- reopened/resubmitted claims.
- recovered dollars.
- root causes converted into prospective validation rules.
The last measure is important. A denial-management team can work very hard while the underlying process stays unchanged. The goal is fewer recurring denials, not simply faster denial rework.
FAQ
What is a CARC?
A Claim Adjustment Reason Code explains why a claim or service line was paid differently than it was billed.
What is a RARC?
A Remittance Advice Remark Code adds information about the adjustment and can provide the detail needed to determine the correct follow-up.
What does CO mean on an ERA?
CO is the X12 Claim Adjustment Group Code for Contractual Obligation. The group code helps categorize responsibility for the adjustment.
Is CO-45 a denial?
Not necessarily. CARC 45 is intended for a reduction from the submitted charge to a fee schedule, maximum allowable, or contracted amount. It should not automatically be counted as a full denial.
How can ERA data prevent future denials?
Aggregate recurring CARC/RARC patterns, connect them to the underlying claim fields, and build pre-submission checks for causes that can be detected in advance. See the ERA Analyzer and Claims Validator.