Construct the 837P transaction set with required loop and segment hierarchy: ISA/GS envelope, ST*837, BPR (financial information), NM1 loops for submitter (Loop 1000A), receiver (Loop 1000B), billing provider (Loop 2000A), subscriber (Loop 2000B), and claim (Loop 2300).
Populate the CLM segment (claim information): CLM-01 (patient account number), CLM-02 (total charge), CLM-05 (place of service code, facility/non-facility), CLM-11 (provider acceptance of assignment).
Add LX/SV1 (service line) loops under Loop 2400 for each procedure: SV1-01 (procedure code composite with CPT/HCPCS code and modifiers), SV1-02 (line charge amount), SV1-03 (unit of measurement), SV1-04 (service unit count).
Include DTP segments for claim service dates (qualifier 472 for service date range) and NPI numbers in NM1 segments using qualifier XX.
Submit to the clearinghouse via their REST or SFTP API; receive a 999 functional acknowledgment confirming EDI structural acceptance; then wait for the 277CA (claim acknowledgment) to confirm payer acceptance.
Monitor for ERA (835 electronic remittance advice) for adjudication results: CAS segments contain adjustment reason codes and CO/PR/OA adjustment group codes indicating payer vs. patient responsibility.
Known gotchas
The 837P requires a valid NPI for the billing provider and, where applicable, a rendering provider; mismatched or missing NPIs are a top cause of claim rejection.
Payer-specific requirements (additional loops, proprietary qualifiers, or required fields beyond the base 837P TR3) vary widely; always review the payer's companion guide before submitting.
999 acceptance does not mean the claim will be paid; it only confirms EDI structural validity; claim-level errors appear in the 277CA and payment-level adjustments in the 835 ERA.
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