Files
cyclone/docs/reference/835.md
T
2026-06-19 19:49:15 -06:00

3.2 KiB

835 — Electronic Remittance Advice (005010X221A1)

The 835 transaction set carries payment and remittance information from a payer (or its clearinghouse) to a provider, in response to previously submitted 837P claims. Cyclone parses it into a ParseResult835 and surfaces the per-claim payment breakdown.

File format

Same as 837P — ASCII text with the same four delimiters declared in ISA.

Envelope

Same as 837P (ISA/IEA/GS/GE/ST/SE).

Loops

Loop Contents
1000A Payer (N1*PR)
1000B Payee (N1*PE)
2100 Claim payment (CLP)
2110 Service payment (SVC)

Header segments

  • BPR — financial information (credit/debit flag, total paid amount, account details)
  • TRN — reassociation trace number
  • DTM — production date

CLP — claim payment

CLP01 = payer claim control number; CLP02 = status code; CLP03 = total claim charge; CLP04 = total claim paid amount.

CLP02 Meaning
1 Processed as Primary
2 Processed as Secondary
3 Processed as Tertiary
4 Denied
19 Processed as Primary, Forwarded
20 Processed as Secondary, Forwarded
21 Reversal of Previous Payment
22 Reversal of Previous Payment (Secondary)
23 Not Our Claim, Forwarded
25 Predetermination Pricing Only - No Payment

Validation rules Cyclone enforces

Rules are defined in cyclone/parsers/validator_835.py and registered on PayerConfig835 for the active payer.

Rule Severity Description
R835_BPR01_handling_code_allowed error BPR01allowed_handling_codes (e.g. C, D, I, X)
R835_BPR02_positive error BPR02 (paid amount) must be > 0
R835_BAL_BPR_vs_CLP04 error BPR02 equals the sum of all CLP04 (±$0.01)
R835_BAL_CLP04_vs_SVC03 error Each CLP04 equals the sum of its SVC03 amounts (±$0.01)
R835_CLP01_present error CLP01 (payer claim control number) is non-empty
R835_CLP02_status_allowed error CLP02allowed_status_codes
R835_CLP03_present error CLP03 (total claim charge) must be > 0
R835_PAYER_TAX_ID_matches warning BPR10expected_payer_tax_ids
R835_PAYER_HEALTH_PLAN_ID_matches warning N1*PR N104 matches expected_payer_health_plan_id
R835_PAYEE_NPI_format error Payee NPI must be 10 digits
R835_REGN01_trn02_present error TRN02 (originating company id / payee TPID) is non-empty

CAS — claim/service adjustment

CAS segments carry reason codes (CO contractual obligation, PR patient responsibility, OA other adjustments, PI payer-initiated reduction). Cyclone preserves the raw CAS text in raw_segments; deep-parsing of reason codes is sub-project 3.

CO Medicaid specifics

  • BPR10 = "81-1725341" (TXIX / Medicaid) or "84-0644739" (BHA / behavioral health)
  • N1*PR N104 = "7912900843" — payer ID (Health Plan ID)
  • N1*PR N102 = "CO_TXIX" or "CO_BHA" — payer name
  • Allowed CLP02 codes: {1, 2, 3, 4, 19, 20, 21, 22, 23, 25}

Reconciliation (sub-project 2)

Matching 835 payouts back to 837P submissions by patient control number + date of service is deferred to sub-project 2. Cyclone currently stores the 835 output as-is.