Skip to main content

Track acknowledgments (999 / 277CA)

Outcome

You can read the Submission tab, understand what each acknowledgment type means, identify when a claim is stuck waiting versus actually rejected, and decide whether to re-submit or fix-and-rebuild.

Prerequisites

ScopeWhat it lets you do
billing.claim.readSee the Submission tab
billing.claim.writeRe-submit

A claim that has reached BUILT or beyond.

The acks, end to end

DocLayerSaysWhen
TA1Envelope"I read your envelope"Seconds — only sent on errors usually.
999Functional"I parsed your file's transactions"Minutes.
277CAClaim"I (or the payer) accepted / rejected each claim"Hours.
835Remittance"Here is what we paid"Days to weeks; covered in chapter 4.

A missing ack is a waiting state, not a rejected one. Don't act prematurely.

Reading the Submission tab

/claims/:idSubmission:

ColumnMeaning
Document837, TA1, 999, 277CA, 835.
DirectionOUTBOUND / INBOUND.
Sent / ReceivedUTC timestamp.
ICN / payer refTrading partner control number; payer claim control number.
StatusPARSED, ERRORED, ACCEPTED, REJECTED.
InspectClick → raw segments + structured view.

The Inspect button is your friend: it renders the X12 with loops indented and key elements decoded. Reach for the EDI manual if you need to read raw — most billers won't.

What 999 says

ElementMeaning
IK5*AAll transactions accepted.
IK5*ESome accepted with errors.
IK5*RAll rejected at file level.
AK9*A/E/RSame, at functional group level.
IK3 segmentNames the segment that failed.
IK4 segmentNames the element that failed.

A 999 rejection means the file didn't parse. Almost always: bad sender/receiver IDs, wrong delimiters, or a malformed envelope. Fix trading partner config and re-submit.

What 277CA says

The STC segment carries the result per claim:

STC01Meaning
A1Accepted by clearinghouse.
A2Accepted by payer.
A6Acknowledged for processing.
A7Acknowledged but rejected.
A8Acknowledged but unprocessable.
R*Various reject categories.

A7 and R* are real rejections: the payer says no. The reason text that follows tells you what to fix.

Re-submit vs fix-and-rebuild

Use the Re-submit button when you're sure the cause is transient or file-level. Use Fix & rebuild (which reverses and rebuilds) for data-level rejections.

Re-submitting

  1. Confirm the cause is transient. Read the 277CA's STC text; if you'd send the same bytes you'd expect a different result.

  2. Click Re-submit. The platform writes a new edi_transaction row, sends, and waits for new acks. The old transaction stays for audit.

  3. Watch the new ack chain.

Validation

CheckExpected
999 lands within the partner's stated SLAYes — minutes for most.
277CA lands within the partner's stated SLAYes — hours for clearinghouses, sometimes longer for direct.
Inspect renders structured viewYes for any X12 doc.
Re-submit creates a new transaction row, not in-placeYes.

Troubleshooting

SymptomCauseFix
999 hasn't arrived in 24hTransport stuck, partner outageCheck partner status; resend.
999 says R for the whole fileEnvelope problemEDI manual → 999 reference; usually ISA / GS mismatch.
277CA says A7 with "Member not found"Member ID mismatchVerify the 837's 2010BA / NM109 against the member record; refresh eligibility; rebuild.
277CA never arrives but 999 was cleanSome payers don't send 277CACheck the partner config; if expected to be silent, watch for the 835 instead.
Submission shows ACCEPTED but 30 days later still no 835Payer is slow or 835 dropped en routeSend a 276 status inquiry — see 6.4.

Where to next