Insurance · Workers' compensation

Workers' compensation PDF extraction platform

RPM's team no longer re-keys workers' compensation policy details by hand. Upload a PDF, and the platform extracts policy headers, multi-state classifications, premium totals, and exclusion schedules — with every value linked back to its exact location in the document.

Document viewer · Extracted information

Document viewer

Page 4 of 12

Extracted information

Data extracted

Policy No.

WC-2024-8841

Named Insured

Summit Logistics LLC

FEIN

84-2910337

Classifications

8810 · CA$1.42
8742 · TX$0.98

10+

Structured fields extracted per policy document

100%

Extracted values linked to source locations in the PDF

Multi-state

Classification and premium tables across states

1 upload

From PDF to structured, review-ready output

The challenge

WC policies are too complex for copy-paste.

Workers' compensation policy documents arrive as long, layout-heavy PDFs. Each one carries critical data — policy number, coverage period, FEIN, named insured, state-by-state classification codes, rate tables, premium totals, and officer exclusion schedules. For RPM, reviewing and transferring this information was a slow, error-prone process.

Operations staff spent significant time reading multi-page policies and manually entering data into downstream systems. WC PDFs are not simple forms: tables span pages, descriptions continue across rows, the same code can appear in different states, and premium sections mix summary lines with adjustments that must not be confused with totals. RPM needed extraction that understood insurance document structure — and let reviewers verify every value against the original source.

What we built

Structured extraction reviewers can verify.

01PDF upload02PyMuPDF parse03OpenAI structure04Position match05Review UI06JWT secure

01

Text-first, AI-structured

PyMuPDF extracts full document text and word-level coordinates. OpenAI structured output — Pydantic-validated — turns unstructured policy text into typed fields: headers, classification rows, premium tables, and exclusion schedules.

02

Display and raw values

Every field stores both a human-readable value and the exact PDF text. The UI stays clean while source matching stays precise for highlights and audit.

03

Position-aware verification

Extracted values are matched back to word coordinates. Reviewers click any field, classification row, or premium cell and the platform jumps to the correct page and highlights the source.

04

WC-specific extraction rules

The engine encodes domain logic: multi-row classification merging, state-level deduplication, filtering non-classification rows, and strict rules for Total Class Premium vs. adjustment lines.

The product

Upload, extract, and confirm in one view.

01

Upload and extraction workflow

A drag-and-drop zone accepts policy PDFs. After authentication, users click Extract and the backend processes the document. Extracted data appears in a structured panel alongside the original PDF — no tab-switching or re-uploading.

Upload · WC policy PDF

Drop workers' comp policy PDF

policy-summit-logistics.pdf · 2.4 MB

02

Interactive document review

The document viewer renders the PDF with page navigation, a data-extracted status badge, and a toggle for highlights. Reviewers work in a split view: document on one side, structured output on the other — policy headers, premium tables, classifications, and exclusion schedules.

Document viewer · Extracted information

Document viewer

Page 4 of 12

Extracted information

Data extracted

Policy No.

WC-2024-8841

Named Insured

Summit Logistics LLC

FEIN

84-2910337

Classifications

8810 · CA$1.42
8742 · TX$0.98

03

Source-linked verification

Clicking any policy field, classification row, or premium value selects the corresponding data, navigates to the correct PDF page, and highlights the source region. Reviewers confirm AI output against the original document — not a black-box result.

Source-linked verification

PDF · highlighted source

Page 4 of 12

Click a field to jump here — page 4, classification row

Selected · Code 8810 · CA

Matched in document

8810 — Clerical office employees · California · $1.42 per $100

Display value

$1.42

Raw PDF text

1.42

Stack

The spine of the product.

Next.js
React
TypeScript
FastAPI
Python
OpenAI
PyMuPDF