Developer docs Security & compliance Live demo
Try the demo

Billing / Claim scrubbing

Caught before the payer catches it.

A denial takes weeks to come back and half an hour to rework; the same problem caught before submission takes seconds. Claims are assembled from the visit, coverage, diagnoses and charges, checked, and held with the fix named beside each problem.

A held claim for Daniel Brooks: one problem that will be rejected, a warning and two pieces of advice, each with what to do, and “Mark as submitted” disabled until the rejection is fixed.
Every claim is checked before it goes out, and every problem comes with its fix. Shown with sample data.

What it does

Claim scrubbing, in practice

Assembled from what is known

A claim is built from a past appointment, the insurance on file, up to four recorded diagnoses and the charges raised in Payments — and records what it was assembled from, because OpenEMR has no billing API to read.

Coded where it is missing

A charge can carry its CPT or HCPCS code when it is raised, and a line that arrives without one is coded on the claim itself, which corrects the charge too.

The common denials, checked first

A mistyped NPI (its check digit is validated), malformed CPT, HCPCS or ICD-10 codes, missing insurance, duplicate lines, unspecified diagnoses, cover never checked, and visits too old to file.

Every finding names its fix

Each problem is marked “will be rejected”, “warning” or “advice”, and says what to do about it.

Nothing leaves that will certainly bounce

Submitting, the 837 download and the CMS-1500 print stay blocked while anything will certainly be rejected. “Check again” rebuilds the claim after a fix.

837P or CMS-1500

An X12 837P (5010) file for your clearinghouse, or a printable CMS-1500.

Closed by the remittance

When the payer’s 835 is loaded in Denials, the matching claim is marked paid or denied.

How it works

From the first step to the last

  1. 1

    Assemble

    Pick a visit with no claim yet; the claim is built from the appointment, the cover, the diagnoses and the charges.

  2. 2

    Check

    Every rule runs at once. Findings are ranked, and each names its fix.

  3. 3

    Send

    Download the 837P or print the CMS-1500 for your clearinghouse, and mark the claim submitted.

What it needs

Before you switch it on

Every module switches on and off by itself, per clinic, with its own screens, permissions and audit trail.

Worth knowing

It prepares claims; it does not transmit them — the file goes to your clearinghouse. And because OpenEMR exposes no billing data, charges are the ones raised in this product rather than imported from a ledger.

See Claim scrubbing working on a real system.

The demo runs every module against an unmodified OpenEMR, with invented patients. Nothing to install and no sales call.