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.
Billing / Claim scrubbing
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.

What it does
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.
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.
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.
Each problem is marked “will be rejected”, “warning” or “advice”, and says what to do about it.
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.
An X12 837P (5010) file for your clearinghouse, or a printable CMS-1500.
When the payer’s 835 is loaded in Denials, the matching claim is marked paid or denied.
How it works
Pick a visit with no claim yet; the claim is built from the appointment, the cover, the diagnoses and the charges.
Every rule runs at once. Findings are ranked, and each names its fix.
Download the 837P or print the CMS-1500 for your clearinghouse, and mark the claim submitted.
What it needs
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.
The demo runs every module against an unmodified OpenEMR, with invented patients. Nothing to install and no sales call.