All updates

Automatic 997s now check the envelope

Adrian Duyzer

Adrian Duyzer

Automatic 997 acknowledgments now validate the inbound envelope and report
accepted, accepted with errors, or rejected instead of always accepted.

Impact: partners configured for automatic 997s who send invalid X12 will start
receiving 997s that name the problems. Nothing changes for partners whose
envelopes are clean, and on clean traffic the new 997 is byte-identical to the
old one. If you are not sure whether the files you receive are valid, run one
through the EDI Inspector.

The checks that run on every inbound file:

  • The ST and SE control numbers agree, and the segment count declared in SE01
    matches the segments actually present (AK502 codes 3 and 4).
  • The GS and GE control numbers agree, and the transaction set count declared
    in GE01 matches the transaction sets actually present (AK905 codes 4 and 5).
  • Every transaction set has its SE trailer and every group has its GE trailer
    (AK502 code 2, AK905 code 3).
  • The X12 release is one of the seven we support, 003060 through 008010 (AK905
    code 2).
  • Each transaction set is one the partner relationship was built to receive
    (AK502 code 1).

A transaction set whose SE trailer miscounts its segments comes back like this,
where E means accepted with errors and 4 is the X12 code for a segment count
that does not match:

AK1*PO*1000
AK2*850*0001
AK5*E*4
AK9*E*1*1*1

Notes and limits:

  • We send AK5*E, accepted with errors, for anything the pipeline can still
    process and deliver. We only send R, rejected, when processing genuinely
    will not happen: an X12 release we do not support (AK905 code 2), or a
    transaction set the partner relationship is not configured for (AK502
    code 1).
  • The “not configured” check reads the settings the flow was built with rather
    than your live partner configuration, so a transaction setting you have added
    but not built cannot cause a reject.
  • The 997 no longer depends on the parse. A file the parser cannot read still
    gets acknowledged, as long as its ISA and GS headers are readable. A file
    with neither readable still gets no 997, because there is no addressable
    envelope to send one to, and we now log that case.
  • Control numbers are compared numerically when both sides are digits, so a
    partner who pads ST02 and SE02 differently is not flagged for it.
  • There is no segment-level or element-level detail (AK3 and AK4) yet, and
    the HIPAA 999 is not supported.
  • Flows built before this change keep the old always-accept behavior until they
    are rebuilt. Click Rebuild on the partner page to move a flow onto the new
    acknowledgment.

The full list of checks is in the partner docs.

This update was written with AI assistance. It has been reviewed and edited by a human.