AI charge capture
AI charge capture
Closes the 5-15% revenue leak from missed charges that outpatient
practices typically have — without changing the provider workflow.
Lives at /admin/charge-capture.
How it works
After an encounter is signed off, Pollen8 scans:
- The SOAP note text (procedures performed, materials used).
Observationresources (point-of-care labs, vitals if billable).Procedureresources already coded.MedicationAdministration(injections / infusions).Conditionlist (associated Dx for medical-necessity gating).
The AI proposes additional billable CPT codes the provider didn’t code. Each suggestion ships with:
- The exact evidence excerpt from the note text.
- Supporting ICD-10 codes for medical-necessity.
- A confidence score (high / medium / low).
- A rationale string the coder can paste into the audit log.
The queue
/admin/charge-capture is a worklist:
| Encounter | Patient | Provider | Suggested CPT | Evidence | Confidence | Status |
|---|---|---|---|---|---|---|
| 23048 | Jane Doe | Dr. Smith | 96365 IV infusion, init | ”Patient received IV fluids” | high | pending |
Coder reviews → accepts / rejects / skips. Accepted suggestions flow
back into the encounter as Procedure resources and feed the next
837 build.
Why it works without auto-bill
The AI never auto-bills. The coder is always in the loop — same as today’s workflow with a chart auditor — but the AI surfaces what to look at instead of making them read every chart top-to-bottom.
Code suggester (at sign-off)
A related but distinct surface — when a provider signs off an encounter, the code suggester proposes E/M level + ICD-10 dx + CPT procedure codes derived from the SOAP body. Each code rationale links back to the supporting SOAP text span (pairs with audio-span citations for the full audio → SOAP → code chain).
This runs during sign-off; charge capture runs after. They catch different misses — the suggester catches under-coded encounters; charge capture catches missed line-item charges.