Split the 835 file at the ST/SE transaction set boundaries; each ST*835 block is one remittance advice from one payer for one payment
Extract BPR segment: BPR02 is the payment amount, BPR04 is the payment method (ACH, check), BPR16 is the check or EFT trace number — use this to match against your bank deposit
Navigate Loop 2100 (payee/payer name loops) then iterate Loop 2110 CLP segments: CLP01 is patient account number, CLP02 is claim status code (1=paid, 2=adjusted, 3=denied, 4=denied), CLP04 is the paid amount
Within each CLP loop read SVC segments for service-line detail (SVC01 procedure code, SVC02 billed, SVC03 paid), then read CAS segments for adjustment reason codes (CAS01 group code: CO/PR/OA/PI, CAS02 CARC, CAS03 adjustment amount)
After all CLP loops in the transaction, read PLB segments: PLB01 is provider NPI, PLB03-1/PLB03-2 pairs are adjustment reason code and reference ID, PLB04 is the dollar amount (positive = debit against provider, negative = credit); common codes include WO (withhold), FC (forward balance), IR (interest)
Post each CLP to AR as paid/adjusted/denied; apply PLB amounts as provider-level balance adjustments separate from individual claim posting; reconcile total CLP paid amounts plus PLB net to BPR02
Known gotchas
PLB segments appear at the transaction level, not the claim level — a single PLB can affect the net payment for the entire check without being tied to any specific claim; missing PLB processing causes bank reconciliation discrepancies
CAS group code 'PR' denotes patient responsibility and should not be written off as a contractual adjustment; distinguish PR from CO (contractual obligation) in your AR workflow
835 files may contain multiple ST/SE blocks in one ISA envelope (one check, multiple payers); always iterate all ST segments rather than parsing only the first
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp