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 numberDTM— 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 | BPR01 ∈ allowed_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 | CLP02 ∈ allowed_status_codes |
R835_CLP03_present |
error | CLP03 (total claim charge) must be > 0 |
R835_PAYER_TAX_ID_matches |
warning | BPR10 ∈ expected_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*PRN104="7912900843"— payer ID (Health Plan ID)N1*PRN102="CO_TXIX"or"CO_BHA"— payer name- Allowed
CLP02codes:{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.