Skip to main content

Posting & thresholds

Outcome

Each parsed CLP loop is matched to a claim with confidence above the posting threshold (or routed to manual review), CAS rows are split into CO/PR/PI/OA correctly, and the resulting receivable accurately reflects what the payer paid, what the patient owes, and what stays on the AR.

Prerequisites

The 835 was parsed cleanly (6.1 — 835 inbound). The rcm-app posting flow ("Receivables / 835 Workspace" in the Tenant Manual) handles the human review side — this chapter focuses on the EDI-side matching, classification, and threshold logic.

Matching CLP → claim

The match function inside the posting flow runs against four signals, in this order of trust:

TierConfidenceSource
High≥ 0.95CLP07claim.payer_claim_control_number (recorded from a prior 277CA or partial 835).
Mid0.85 – 0.94CLP01 → outbound CLM01.
Low0.60 – 0.84Demographics + service date + amount approximate match.
Unmatched< 0.60Nothing close enough.

The thresholds are configurable per tenant (see the tenant-side posting-flow documentation); the defaults work for most setups.

CAS classification

Once matched, every CAS row routes per group code:

GroupRoutes toEffect
COProvider write-offReduces AR; cannot be billed to patient.
PRPatient ARBecomes patient liability (deductible, coinsurance, copay).
PIProvider write-offSame as CO operationally.
OAInformationalDoes not change AR; logged for analytics.
CRReversalTriggers the reversal handler (see 6.3 — COB chaining).

The CAS reason code (CARC) drives downstream behavior:

  • Specific patient-liability reasons (PR-1 deductible, PR-2 coinsurance, PR-3 copay) split into the patient AR with a liability category.
  • Specific contractual reasons (CO-45 charge exceeds fee schedule) attach to the receivable for variance reporting.
  • Denial-class reasons (CO-4, CO-16, CO-29, etc.) trigger denial records — see the rcm-app denials worklist.

Variances

A variance is a line where the platform's expected payment differs from the posted amount:

Variance sourceDetection
Contracted rate vs. paidAMT*B6 (allowed) ≠ contract's expected allowed.
Patient liability mismatchPatient AR routed to deductible when expected to be coinsurance.
UnderpaymentSVC03 plus CAS amounts ≠ SVC02.

Variances do not block posting — the receivable closes regardless — but they appear on the variance report for follow-up.

Steps

  1. Parsed 835 lands in the receivables workspace in rcm-app (/receivables/:id).

  2. The Auto-matched tab lists CLP loops that hit High confidence. The operator confirms; the platform posts.

  3. The Review tab lists Mid-confidence rows. The operator confirms or rejects each. Confirms post; rejects move to Unmatched.

  4. The Unmatched tab lists Low-confidence + Unmatched rows. The operator manually matches against an outbound claim, or accepts as unposted.

  5. The Exceptions tab lists variances. Operator resolves each (accept variance / contest payer / re-bid).

  6. Click Post. The platform applies all confirmed lines in a single transaction.

Threshold tuning

The posting threshold is one of the few places the EDI side meaningfully overlaps with the tenant-side workflow:

ThresholdDefaultTighten whenLoosen when
High-confidence cutoff0.95Mismatched 277CA-recorded payer claim numbers showing upAlmost never.
Mid-confidence cutoff0.85Auto-confirmed lines turn out to be wrongMost lines fall to Review unnecessarily.
Low-confidence cutoff0.60Operators can't reliably distinguish matches from non-matches at low scoresOperator team is large enough to triage.

Thresholds are set tenant-wide; talk to the tenant admin before adjusting.

Validation

CheckExpected
Auto-matched count + Review count + Unmatched count = total CLP rowsYes.
Sum of confirmed line postings + variances + unmatched = BPR02Yes — file balances by construction.
Each PR-class row creates a patient AR entryYes.
CAS-driven denials produce denial recordsYes.

Troubleshooting

SymptomCauseFix
All rows fall to UnmatchedOutbound CLM01 was not stamped on the source claim, or CLP07 was never recorded from prior 277CAConfirm outbound claim build is writing CLM01 correctly; replay the prior 277CAs to record CLP07.
Post fails with transaction_abortedOne referenced claim was deleted between confirm and postReload the receivable; the orphan row surfaces; manually match or skip.
Variance report has no rows but operator suspects underpaymentVariance threshold set too looseThe variance threshold is on the rcm-core side; check with tenant admin.
Posting routes PR-1 to wrong patientCLP-level patient (NM1*QC) mis-matched the receivable's claimInspect the manual-match step; the operator may have matched to a claim for a different patient.

Next

6.3 — COB chaining (2320 CAS / AMT*F2)