Function: get277Status()
get277Status(
delimiters,tx):X12ClaimStatusResponse|undefined
Extract a typed X12ClaimStatusResponse from a 277 / 277CA
transaction set. Pure function - no I/O, no global state. Returns
undefined only when ST-01 is not "277" (mis-routed call); every
other deviation is recoverable and surfaces on result.warnings. The
transactionType discriminator is derived from ST-03
(005010X214 → "claim-acknowledgment", otherwise "claim-status").
Parameters
delimiters
tx
Returns
X12ClaimStatusResponse | undefined
Example
import { parseX12, get277Status } from "@cosyte/x12";
const ix = parseX12(raw);
for (const group of ix.groups) {
for (const tx of group.transactions) {
if (tx.st.elements[1] !== "277") continue;
const status = get277Status(ix.delimiters, tx);
for (const claim of status?.claims ?? []) {
claim.traces[0]?.referenceId; // echoed 276 trace
claim.statuses[0]?.statuses[0]?.statusCode; // "20"
}
}
}