Truncated transmission — 837 claim, cut off

A claim file that ends mid-transaction: the ST has no SE, the GS no GE, and there is no IEA. x12-tidy names every missing trailer (all fatal) but will not fabricate them — it stops 'stable' and leaves the payload untouched.

The interchange as submitted

Cannot be repaired — 3 fatal findings below. A conforming parser rejects an interchange that carries any fatal finding, and x12-tidy cannot fix them automatically. The structural repairs earlier passes made are still shown below, but the result is not a conformant interchange. 1 pass · output matches the input

Partially repaired interchange — not conformant

This still carries 3 fatal findings that a conforming parser will reject. We recommend reviewing this file and fixing them before sending it — a receiver's system will most likely be unable to read the interchange while them remain. It is not a drop-in replacement — resolve them in your source data and repair again.

Envelope

SenderZZ / ACME HEALTHFrom ISA05 (qualifier) and ISA06 (ID).
ReceiverZZ / PAYERCENTRALFrom ISA07 (qualifier) and ISA08 (ID).
Usage indicatorPISA15 — P = production, T = test, I = information.
Interchange version00401ISA12 — the interchange control version number.
Date / time240610 1015ISA09 and ISA10 — when the interchange was prepared.
Functional groups1GS segments counted while walking the payload; IEA01 is checked against this.
Transaction sets1ST segments counted; each group's GE01 is checked against its own count.
Segments5Total segments in the cleansed payload; each SE01 is checked against its set's count.

Repair passes

Each pass runs x12-tidy once. Pass 1 works on the interchange as submitted and does the structural repairs. Pass 2 (and any later pass) runs on the previous pass's output, so it shows only what is still wrong after those repairs. The loop stops when a pass changes nothing or finds nothing.

The Byte column is the offset into the submitted text where the flagged structure begins; ISA-line findings share a number, and a dash means the finding isn't tied to one spot.

Hover a severity chip for what it means.

Pass 1 3 fatal no change

296 bytes in → 296 bytes out.

SeverityCodeByteFinding
FATAL st.missing-se — No SE segment closes this transaction set ST b'0001' has no matching SE.

Every ST transaction set must be closed by a matching SE segment before the next ST, the enclosing GE, or the interchange trailer. None was found; the transaction set's boundary was inferred from the next such marker so that everything inside it could still be checked.

FATAL gs.missing-ge — No GE segment closes this functional group GS b'4242' has no matching GE.

Every GS functional group must be closed by a matching GE segment before the next GS or the interchange trailer. None was found; the group's boundary was inferred from the next such marker so that everything inside it could still be checked.

FATAL structure.missing-iea — No IEA segment closes the interchange no IEA segment closes the interchange.

Every ISA interchange must be closed by a matching IEA segment. None was found before the end of the file. This is QA/QC's 'fatal' -- a display/trust signal, not a stop: the rest of the payload is still scanned and every other finding is still reported.

Cannot be repaired — 3 fatal findings below. A conforming parser rejects an interchange that carries any fatal finding, and x12-tidy cannot fix them automatically. The structural repairs earlier passes made are still shown below, but the result is not a conformant interchange. 1 pass · output matches the input