CAS02 in X12 835: A Field Guide to Claim Adjustment Reason Code
CAS01 tells you who owes the money. CAS02 tells you why — and it is pulled from a code list long enough that most test suites only ever exercise a dozen values, which is exactly why a real denial reason so often shows up in a billing system as a blank line or a generic "adjustment applied" message.
CAS02 is the Claim Adjustment Reason Code, better known as a CARC — a numeric code from a shared external code list that explains the specific reason behind the adjustment amount reported in the same CAS iteration. It always pairs with the group code in CAS01, which says who is responsible, while CAS02 says why.
A few common CARC examples
Example
A synthetic bundling adjustment: reason code 97 explains that the $40.00 write-off happened because this charge was bundled into another service's allowed amount. Synthetic remittance data.
Where this trips people up
Because the CARC list is long and payers use different subsets of it, teams building denial-reason displays often hardcode a lookup table sized to whatever handful of codes appeared in early sample files, then route everything else to a generic fallback message. That gap stays invisible until a payer returns a legitimate but less common CARC, and the front-end staff who need to know exactly why a claim was reduced instead see nothing actionable. Synthetic test data should include CARCs well outside the handful everyone tests first.