Products

Turn scanned medical bills into defensible damages

The Expert Report Engine turns hundreds of scanned, out-of-order medical bills into a defensible Excel damages breakdown for a medical-legal expert report. It reads HCFA-1500s, UB-04s, EOBs, pharmacy receipts, and liens. It then shows what was charged, what was paid, and what is fair and reasonable under the state fee schedule.

See it run on your own billsProve-then-pay. You validate the breakdown before paying.

What is the Expert Report Engine?

The Expert Report Engine is an automated medical-billing analysis system for personal-injury and medical-legal cases. It reads hundreds of pages of scanned, inconsistent bills for one patient and returns a structured Excel breakdown of every billing line, plus a categorized evidence archive.

That breakdown is the analytical backbone an attorney or expert witness uses to state and defend a plaintiff’s medical damages in litigation. The engine follows a “System 2” design philosophy, named for the slow, deliberate reasoning that Daniel Kahneman contrasts with fast pattern matching in “Thinking, Fast and Slow” (2011). The risky reading and grouping work is done by AI. Every dollar figure and every merge decision is produced or checked by deterministic code, so the arithmetic stays auditable. You can read more about the single-tenant, HIPAA-eligible infrastructure this runs on in our security architecture.

Why can’t you just OCR the bills and add up the charges?

Because the same medical service is almost always billed more than once across different documents. A doctor’s HCFA-1500, the insurer’s explanation of benefits (EOB), a billing ledger, and a lien can all describe one office visit. Adding those charges naively double- or triple-counts the damages, and a wrong total is easy to attack in court.

Medical damages must be proven line by line. In an injury lawsuit, one component of recovery is the cost of treatment, and to claim it you must document each charge and show what remains owed. Every service is billed under a standardized five-digit CPT code that defines the service and its expected cost. The raw evidence arrives as scans that OCR badly, so CPT codes get mangled or glued to adjacent numbers, two-character modifiers get dropped, and one provider’s name appears a dozen different ways. Getting the total right means separating pages into bills, transcribing them faithfully, de-duplicating across sources without deleting real charges, and applying the fee schedule with all its reduction rules.

How it works001

Ten stages, six phases, every page accounted for

The engine runs ten pipeline stages across six logical phases, moving a raw upload from chaos to an audited, formatted breakdown. Every page that enters is accounted for in exactly one output bucket.

Ingest01

Fingerprint & OCR

Content-hashed uploads

Cloud OCR with word positions

Separate02

Classify documents

High-recall rule set

AI removes false positives

Group03

Cluster into bills

One provider per group

Non-bill pages set aside

Extract04

Read every line

Table-aware spatial OCR

Date, CPT, modifier, billed, paid

Output06

Excel & evidence ZIP

Master sheet, QA, provider summary

Zero silent drops, full manifest

01.

Ingest, de-duplicate, and OCR.

Every uploaded PDF is content-fingerprinted, so byte-identical re-uploads drop before any paid work. Each unique page runs cloud OCR for machine-readable text and the position of every word. A content-hash cache makes any previously processed page free on the next run.

02.

Separate and classify.

A deterministic rule set recognizes dozens of billing-document types, tuned for high recall to minimize missed bills. An AI second-opinion pass then removes false positives, such as records or correspondence that look like bills but are not.

03.

Group pages into bills.

An AI step clusters pages into discrete bill groups, tags each with its billing provider, and sets aside non-billing pages. The patient name is pulled from several document types and majority-voted for confidence, and each provider is resolved against a master list.

04.

Extract every line item.

Each bill is re-read as a spatial table grid with blank cells preserved, so a paid amount cannot slide into an empty neighboring column. Structured data comes back for every line: service date, CPT code, modifier, description, units, amount billed, amount paid, and source page.

05.

Repair OCR damage.

Deterministic fixers run before any money is calculated. They un-mangle and validate CPT codes, re-attach dropped modifiers from the valid NJ PIP set, and normalize every date.

06.

De-duplicate without deleting real charges.

A deterministic pass fingerprints each line by date and amount, but is blocked from merging when two lines differ in CPT base code, come from the same source file, or differ in category, laterality, or surgeon and distinct-procedure modifiers.

07.

Run the AI merge agent.

A separate AI agent proposes which leftover lines are the same real-world service, returning only groups of line IDs and never a dollar amount. A deterministic gate re-checks every proposed merge; any that fails is flagged for human review instead of deleted.

08.

Apply the fee schedule.

Deterministic lookups convert raw charges into legally owed amounts against the New Jersey PIP medical fee schedule (N.J.A.C. 11:3-29), matching each CPT by provider category and region.

09.

Produce the output.

The engine builds a formatted Excel workbook with a wide master sheet, a QA checklist tab, and a provider-by-provider summary, plus a ZIP sorting every original page into bills, non-bills, and failed folders with a manifest.

10.

Audit.

Every run is logged with per-stage timing and totals, and each input page lands in exactly one output bucket. This zero-silent-drops accounting is what makes the resulting breakdown defensible.

How does it decide what a service is worth, not just what was billed?

It applies the governing fee schedule. Rather than pay whatever a provider charges, New Jersey PIP (Personal Injury Protection, the no-fault auto insurance system) caps reimbursement at the official state fee-schedule amount. The engine matches each CPT code to that schedule by provider category and region, so “billed” and “owed” become distinct, defensible numbers.

The reduction rules are built in. Bilateral procedures pay 1.5x. A multiple-procedure reduction cuts a repeated same-day code by half. The engine skips its repeated-same-code reduction for surgical codes, since a repeated surgical line usually reflects an assistant surgeon (reimbursed at 20% of the primary fee under N.J.A.C. 11:3-29.4), not a duplicate. Daily caps apply to physical-medicine codes. When a code is not on the schedule, the engine uses a Usual, Customary and Reasonable (UCR) benchmark and flags the row, so the breakdown shows both what was billed and what is fair and reasonable to owe.

Who is the Expert Report Engine for?

It is built for plaintiff-side personal-injury and medical-legal attorneys, their expert witnesses and medical-billing experts, and the litigation-support staff who quantify medical damages. It fits any workflow where a large volume of mixed bills for one case must become a single, defensible damages figure.

The engine is designed for the real volume of litigation records: hundreds of pages of out-of-order bills, duplicates, and interleaved medical records that are not bills at all. Work is parallelized across pages and bills, thick documents are chunked automatically, and previously seen pages are cached, so re-runs and amended cases stay fast. For firms that need related capabilities, S2Reason builds a broader suite of medical-legal AI products on the same architecture, including the PIP Engine for no-fault claim adjudication. The finished narrative report is generated by our sibling Expert Coder Agent.

Why it holds up in court002

What makes this different from a generic AI tool

The engine separates judgment from arithmetic by construction. AI handles the risky reading and grouping; deterministic code produces or gates every dollar figure and every merge decision.

Damages-grade arithmetic

Every dollar amount and final total is computed by deterministic code, never by a language model, so the numbers stay auditable.

Cross-source de-duplication

The same service restated across a HCFA, an EOB, a ledger, and a lien collapses to one charge, while genuinely separate charges stay protected.

Built for messy scans

Dedicated recovery steps and table-aware OCR handle glued CPT codes, dropped modifiers, and blank-column misreads.

Real fee-schedule law

Lookups by category and region, the bilateral multiplier, multiple-procedure reduction with an assistant-surgeon exemption for repeated surgical codes, daily caps, and UCR fallback.

Carrier-specific extraction

Dozens of specialized extraction routines, including logic for the major auto insurers, instead of one generic prompt.

Zero silent drops

Every original page is accounted for in a manifest, landing in exactly one output bucket, so the breakdown withstands scrutiny.

Is the Expert Report Engine secure?

Yes. It handles Protected Health Information inside a compliant, access-controlled processing environment. The system is engineered to meet HIPAA standards and runs on AWS and Google Cloud infrastructure that holds independent SOC 2 Type II attestation and is GDPR-compliant, using single-tenant isolation, a signed BAA chain, encryption in transit and at rest, no public-internet PHI egress, and full audit trails.

All AI runs on HIPAA-eligible AI infrastructure under signed BAAs, and no client data is used to train third-party models. Safety is also built into the analysis itself. A QA checklist tab surfaces duplicate CPTs, patient-name mismatches, unmatched fee-schedule rows, and pre-date-of-loss charges for human review. Unknown providers and low-confidence matches are flagged rather than guessed, and the design degrades gracefully, so an error on one bill leaves that bill’s safe fallback in place instead of corrupting the whole run. You can review the full HIPAA security architecture or browse the wider S2Reason product suite.

Single-tenant isolation: each firm’s records are processed in a dedicated boundary with no shared data plane.

Signed BAA chain: encryption in transit and at rest, no public-internet PHI egress, and complete audit trails.

Built-in review gates: low-confidence matches and unknown providers are flagged, never silently resolved.

FAQ003

Frequently asked questions

What does the Expert Report Engine actually produce?

It produces a formatted Excel damages breakdown for the case, plus an organized ZIP of every original page. The workbook lists each medical charge as its own line: provider, date of service, CPT code, modifier, description, units, amount billed, amount paid, the fee-schedule or fair-and-reasonable amount, and what is still outstanding. It adds summed totals, a QA checklist tab, and a provider-by-provider summary. The ZIP sorts the original pages into bills, non-bills, and failed pages.

How do you make sure a duplicate is not a real, separate charge?

Two independent layers must agree before any lines merge, and anything uncertain is flagged for human review instead of merged. First, a deterministic pass only merges lines that match on date and amount. It is blocked from merging when the CPT base codes differ, the lines share a source file, or they differ in category, laterality, or surgeon and distinct-procedure modifiers. Second, an AI agent proposes additional cross-document matches but only returns line-ID groups, and a deterministic gate re-checks every proposal before anything merges.

Are the dollar amounts calculated by AI?

No. AI is used only to read the documents and to group pages and duplicate lines. Every dollar figure, including fee-schedule amounts, reductions, caps, and totals, is computed by deterministic code applying the state fee-schedule rules. This separation keeps the numbers auditable and defensible.

Can it handle bills from many different providers and insurers?

Yes. It recognizes dozens of billing-document types and uses specialized extraction routines, including carrier-specific logic for the major auto insurers, so each form type and each insurer's EOB quirks are handled correctly. Provider names that appear in many different forms across documents are consolidated to a single clean provider.

What happens to pages that are not bills, or that fail to process?

Nothing is silently dropped. Every page that enters is accounted for in exactly one output bucket: confirmed bills, non-billing pages, or failed pages. A manifest tracks each page through every stage, and that page-level accountability is part of what makes the resulting breakdown defensible.

How large a case can it handle?

It is built for the real volume of litigation medical records, meaning hundreds of pages of mixed, out-of-order bills per case. Work is parallelized across pages and bills, thick documents are chunked automatically, and previously seen pages are cached, so re-runs and amended cases stay fast.

See the breakdown on your own records before you pay.

Start a pilot