Why underpayments hide

A denial announces itself. It sits in a queue, it has a reason code, somebody is assigned to it.

An underpayment does none of that. The claim went out, the payer processed it, money arrived, the balance closed. Every system involved considers the matter finished. The only thing wrong is the amount, and nothing in the workflow compares the amount to anything.

So underpayments are found deliberately or not at all.

Step one: establish what you should have been paid

Not what you charged. What the contract says for that code, that payer, that plan, that date of service.

This sounds obvious and is the step most often skipped, because it requires having the fee schedule to hand and knowing which one applies. A single payer can have several, and the one that applies can depend on the plan, the product line and the date.

Without this number there is no investigation, only a feeling that the payment looked low. Get the contracted amount first.

Step two: read the group code before the dollar amount

Every adjustment carries a Claim Adjustment Group Code, and the group code assigns responsibility. X12 defines CO (Contractual Obligation), CR (Corrections and Reversal, not used with 005010 and up), OA (Other Adjustment), PI (Payer Initiated Reductions) and PR (Patient Responsibility).1

  • CO is the amount you agreed to write off by signing the contract. The difference between your charge and your contracted rate lives here, and it is not a shortfall.
  • PR is the patient’s share. Collectible, but not from the payer.
  • PI is a reduction the payer made on its own initiative. Read every one of these.
  • OA is neither contractual nor patient responsibility. Also read every one.

A practice that treats all adjustments as write-offs is accepting PI and OA reductions it never agreed to. That is the single most common way underpayments become permanent.

Step three: read the reason code, then the remark code

The Claim Adjustment Reason Code describes why the line was paid differently than billed.1 The Remittance Advice Remark Code exists, in X12’s words, “to provide additional explanation for an adjustment already described by a Claim Adjustment Reason Code (CARC) or to convey information about remittance processing”.2

Informational remarks are prefaced “Alert:” and X12 notes they are never related to a specific adjustment.2 An Alert is context, not a finding. A supplemental remark sitting beside a PI or OA reduction usually is a finding.

Step four: work out which kind of underpayment it is

By this point the claim will fall into one of four groups, and they need different responses.

  • Priced against the wrong fee schedule. The payer used a rate that is not yours. Correctable, and worth checking whether it happened to more than one claim.
  • A modifier or unit was not honoured. The payer priced something other than what was billed.
  • A payer-initiated reduction you did not agree to. PI, and it needs to be read and challenged or accepted deliberately.
  • Correctly paid. You were paid the contracted rate and the shortfall was the contractual write-off. This is a real and useful outcome: it tells you the contract is the problem, not the processing.

Step five: ask whether it is one claim or a pattern

This is where the value is. A single underpaid claim is worth its own dollar amount. A systematic mispricing on one code for one payer is worth that amount multiplied by every claim it touched, in both directions: what has already been underpaid, and what will be until it is fixed.

So after resolving the individual claim, run the same code and payer across a period and see whether the pattern holds. That is the question VixisIQ™ is built to answer from remittance data, and VixisTrace™ is what works the causes it surfaces.

Related: how to read an ERA and auditing A/R by age.

CareVixis is not affiliated with, endorsed by, sponsored by or certified by TherapyNotes. No API integration, native integration, certification or partnership with TherapyNotes is claimed. TherapyNotes is a trademark of its respective owner and is referred to here only to describe how a practice using it works. Uploading a remittance file is a supported data import, not a native integration.

Sources

  1. X12, Claim Adjustment Reason Codes. CARCs describe why a claim or service line was paid differently than billed. The Claim Adjustment Group Codes are CO (Contractual Obligation), CR (Corrections and Reversal, not used with 005010 and up), OA (Other Adjustment), PI (Payer Initiated Reductions) and PR (Patient Responsibility). Maintained by the X12-03 External Code List Oversight subcommittee. Accessed 26 September 2026. Source
  2. X12, Remittance Advice Remark Codes. RARCs "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." Informational RARCs are prefaced "Alert:" and are never tied to a specific adjustment. Accessed 26 September 2026. Source

Look for the Pattern, Not the Claim

VixisTrace™ reads your own remittance data and separates agreed write-offs from reductions you never agreed to. Free and read-only.

Analyze My Claims Free