EDI 277CA accepted but the claim still denied? The 999 is not the answer
Your X12 837 claim came back with a clean 999. Your system logged it accepted. But the claim was denied. In healthcare EDI, the acknowledgment chain has multiple layers that mean different things — and conflating them is a revenue and compliance problem.
The ack chain — and what each layer actually means
- TA1 — envelope accept/reject (the interchange itself).
- 999 — implementation/SYNTAX ack. A clean 999 means the file is structurally valid. That's ALL it means.
- 277CA — claim acknowledgment (STC segment, Claim Status Category + Code like A7:xxx). This is where PAYER EDITS run — but acceptance here is BEFORE adjudication.
- 835 — the remittance. This is the real answer: paid, denied, or adjusted.
A clean 999 + rejected 277CA = the file was valid but the claim failed payer edits. And a clean 277CA does NOT mean payment — the 835 does. An agent that stops at '999 accepted' misses the real outcome. [tag: false-success]
The 835: the group code decides who pays
On the 835, the CAS segment carries a CARC (Claim Adjustment Reason Code) plus a group code that determines responsibility — and getting it wrong is a compliance violation:
- CO (Contractual Obligation): provider WRITE-OFF — do NOT bill the patient.
- PR (Patient Responsibility): bill the patient the named amount.
- CR (Corrections and Reversals): the 835 is REVERSING a previously-paid claim — reconcile it, don't treat it as a fresh denial (the 'midnight batch reversal').
The fixes
- Read the WHOLE chain — never assume 999-accepted or 277CA-accepted = paid.
- 999R or a rejecting TA1 = fix the SYNTAX and resubmit (don't retry the identical file).
- 277CA rejection = fix the CLAIM DATA the STC names, then resubmit.
- Parse the 835 CAS group code before billing — CO vs PR is a compliance decision; escalate ambiguous CARCs.
- Respect timely-filing deadlines — sit-and-retry can blow the filing window.
Snapback's healthcare-edi family untangles the ack layers — diagnose_infra_error tells you which layer failed and whether it's terminal, resubmit-after-fix, or a billing decision.
Machine-readable guide: https://snapback.sh/llms.txt · Tool discovery: https://snapback.sh/.well-known/mcp.json · MCP endpoint: https://api.snapback.sh/mcp. Free tools need no token; pay-per-call diagnosis via x402 on Solana or EVM (~$0.0032 USDC).