The billing pipeline
Outcome
You understand the path a single charge takes from your EMR all the way to a posted, paid (or written-off) line. Every later chapter assumes this picture.
The big diagram
Stage-by-stage
1. Ingestion (upstream of you)
Your EMR (or another source — push API, SFTP file feed, HL7 v2 listener)
delivers an inbound batch. The platform parses it against the configured
mapping, validates it, and writes the result as service.charge rows.
You see the result on /charges. The how of ingestion is the Tenant
Admin's job; you only need to know what arrived and why anything
failed.
| Where to look | What it tells you |
|---|---|
/charges?status=NEEDS_FIX | Validation failed; you have to repair upstream or correct in-app. |
/charges?status=VALIDATED | Ready to bill. |
/admin/ingestion/feeds/:id/artifacts | The most recent inbound batch — admins see this; you usually don't. |
See 2.1 — Where charges come from for the upstream picture.
2. Charge prep
Before a charge is billable, the platform has to know:
- Active coverage for the member on the date of service. Eligibility cache may need a refresh — see 2.4 — Confirm eligibility.
- Active authorization if the program requires one. If the auth is missing, you can attach an existing one or request a new one — see 2.5 — Attach or request auth.
- Validated rate. The rate-resolver picks the highest-priority applicable rate (contract → fee schedule → state default).
The Charges page surfaces these checks as inline issues. A charge that
fails any of them sits at NEEDS_FIX until you (or the clinical team)
resolves it.
3. Build
Selecting validated charges and clicking Build claim creates a
CREATED claim and runs the scrubber:
| Scrubber stage | Job |
|---|---|
| Modifier injection | Adds modifiers per modifier_injection_rule (e.g. HQ for groups, 95 for telehealth). |
| Validation rules | Pre-submit checks (auth required, modifier valid, bundle conflicts, etc.) per the PRE_SUBMIT_VALIDATE rule set. |
| Bundling | CCI / MUE compaction. |
| Pricing | Applies contracted fee schedule + any group / per-diem / institutional bands. |
If anything fails the claim stays CREATED with an issue list. Fix and
re-validate; the platform re-runs the scrubber idempotently.
4. Submit
A clean CREATED claim accepts Submit. The platform:
- Routes to the right trading partner per the routing rules.
- Renders 837P or 837I based on filing type.
- Hands the file to the transport (SFTP / API / direct).
- Promotes the claim to
BUILT→SUBMITTEDonce transport confirms.
5. Acknowledgment
Two acks come back:
| Doc | When | Effect |
|---|---|---|
999 | Within minutes of the file arriving | Confirms the file parsed. |
277CA | Hours later | Confirms the payer accepted (or rejected) the claim. |
A clean 277CA flips the claim to ACCEPTED. A rejection generates an
issue with the payer's reason; you fix and rebuild.
6. Adjudication & 835
The payer adjudicates — sometimes minutes, sometimes weeks. The result
arrives as an 835 (electronic remittance advice). The receivable
lands at /receivables/:id with six tabs: Auto-matched, Review,
Unmatched, Exceptions, Adjustments, Trace.
You walk those tabs (chapter 4), then Post. Posting:
- Updates each claim's balance.
- Records
remittance_adjustmentrows (CARC / RARC). - Routes patient liability (
PR-1/2/3) to the patient AR. - Auto-builds secondary / tertiary claims if COB applies.
- Emits
denialrows for anyDENIEDlines, which appear on the worklist.
7. Denials → auto-correction → re-bill
A denial flows to the /denials worklist. The auto-correction
engine has a registry of handlers keyed by CARC (CO-4, CO-16,
CO-29, CO-18, CO-97, CO-197, etc.). It runs automatically; you
review the result on the Auto-correction tab.
| Engine outcome | Your move |
|---|---|
SUCCESS | None — the rebill is in flight. |
FAILED / SKIPPED | Manually decide: appeal, rebill, write off, or route back. |
| Not yet attempted | Wait, or trigger by hand. |
8. AR management & timely filing
Anything outstanding lives on /ar/aging. You sort by age, by payer, by
days-in-AR. The timely-filing watch (/ar/timely-filing) shows
claims approaching their payer-specific filing deadline; the dashboard
alert escalates as the window narrows.
9. Patient billing
Lines tagged PR-1/2/3 and any unbilled patient balance after secondary
post route to patient AR. Statements (electronic + paper) generate
on a configurable cadence.
Where each stage lives in this manual
| Stage | Chapter |
|---|---|
| Ingestion + charge prep | 2. From EMR to Claim |
| Build, submit, ack, COB | 3. Claim Lifecycle |
| ERA posting | 4. Receivables |
| Denials + appeals | 5. Denials |
| Aging, timely filing | 6. AR |
| Patient AR | 7. Patient Billing |
| KPIs | 8. Reporting |
Where to next
- 1.3 — Day 1 as a billing clerk if you build and submit.
- 1.4 — Day 1 as a posting clerk if you post.
- 1.5 — Day 1 as an AR analyst if you do AR follow-up.