@openinsure/acord package provides typed data models for ACORD standard forms and an AI extraction pipeline that converts uploaded PDFs and images into structured submission data.
Supported Forms
| Form | Title | Use |
|---|---|---|
| ACORD 125 | Commercial Lines Application | GL, Property, Umbrella new business |
| ACORD 200 | Commercial Lines — Workers Compensation | WC new business |
| ACORD 126 | Commercial General Liability Section | Standalone GL supplement |
| Supplemental | Program-specific supplements | Additional risk questions per program |
Data Model
Every extracted form produces a typed object:extractionConfidence is an aggregate score (0–1) calculated per field and averaged across the form. A score below 0.75 triggers a review flag in the UW queue — an underwriter manually verifies the highlighted fields before the submission is created.
Extraction Pipeline
- Upload — Producer uploads a PDF via the portal or it arrives via the mailbox ingest cron 2.
OCR — The PDF is rendered to images via the Browser binding and passed to Workers AI (Llama 3
vision) for OCR text extraction 3. Field extraction — Claude (
claude-haiku-4-5) maps OCR text to theACORD125/ACORD200schema using a structured output prompt 4. Validation — Zod schema validation catches missing required fields and type mismatches 5. Confidence scoring — Per-field confidence is calculated based on regex match strength and Claude’s self-reported uncertainty 6. Result — StructuredExtractionResultstored in PlanetScale; source PDF stored in R2
API
Submit a form for extraction
Poll extraction status
Auto-populate submission
Once extraction is complete with confidence ≥ 0.75, the submission fields are auto-populated:⚠ Review in the producer portal form.
Review Queue
Extractions withconfidence < 0.75 appear in the UW Review Queue under Extraction Review. The UW:
- Sees the original PDF alongside the extracted fields
- Corrects any flagged fields inline
- Clicks Approve — the corrected data is merged and the submission proceeds
Manual ACORD Input
If no PDF is uploaded, producers can enter ACORD data directly through the submission form in the producer portal. The form follows the ACORD 125/200 field layout and validates the same schema.Adding a New Form Type
- Add the form’s TypeScript interface in
packages/acord/src/types/{form}.ts2. Create the extraction prompt inpackages/acord/src/prompts/{form}.ts3. Add the form to theSUPPORTED_FORMSregistry inpackages/acord/src/index.ts4. Write extraction tests using fixtures inpackages/acord/src/__fixtures__/(sample PDFs + expected output) 5. Update this page with the new form in the Supported Forms table