SWISS INSURANCE POC (NDA)
POC zur Automatisierung von Versicherungsdokumenten
Über das Projekt
Wie SAPIENTROQ einen schema-getriebenen POC zur Automatisierung von Versicherungsdokumenten fur ein Schweizer Backoffice lieferte: Mistral OCR plus OpenAI JSON-Modus, Schemata live aus Admin-Konfiguration generiert, KI-Anbieter tauschbar hinter einer Schnittstelle.
Benutze Technologien:
Land
Switzerland
Branche
Versicherung
Development Stunden
500+
Teamgröße
3-4
Ausgangslage
Ein Schweizer Versicherungs-Backoffice erhalt taglich heterogene Dokumente: eine 40-seitige gescannte PDF-Schadensmeldung, eine Excel-Pramienliste, eine fotografierte handschriftliche Kundigung, eine per E-Mail eingehende Leistungsabrechnung. Operatoren lesen jedes Dokument manuell, ordnen es einer Kategorie zu und tippen die relevanten Felder ins fuhrende System ein.
Das Problem ist doppelt: Die manuelle Bearbeitung ist langsam und uneinheitlich, und jede neue Dokumentfamilie — neue Unterkategorie, neues Feld — wird zum Engineering-Ticket. Das Team wollte am echten Dokumentbestand validieren, dass die Automatisierung von Versicherungsdokumenten schema-first moglich ist: neue Familien per Konfiguration, nicht per Code, und KI-Anbieter tauschbar ohne Umbau.
Architektur
Wir lieferten den POC als ein einziges Monorepo aus Laravel 12 und React 19. Das Backend ist klassisches Laravel mit Pest als Testframework, das Frontend ist Inertia-style React, ausgeliefert uber Vite. Ziggy stellt benannte Routen geteilt mit PHP bereit, Laravel Reverb lauft als WebSocket-Server fur live ubertragenen Fortschritt.
Die Infrastruktur bleibt bewusst nuchtern: Redis fur Queues und Cache, Docker fur lokale und CI-Paritat, Swagger fur die dokumenten-extraktions-api, Radix UI und shadcn/ui im Frontend. Ein Repository, ein Deploy-Artefakt, ein Set Credentials — passend fur einen POC, bei dem das Team jede Zeile lesen will. Siehe unseren Hub Dokumentenautomatisierung fur das Muster jenseits eines einzelnen POC.
Schemabasierte Extraktion
Der Kerngedanke: Das Extraktionsschema ist nicht hartcodiert. Administratoren definieren Kategorien (Leistungsabrechnung, Gesundheitspravention, Kundigung), Unterkategorien (Arzt, Medikament, Laboranalyse), Dateiblocke (Patient, Leistungserbringer, Rechnungssteller) und getypte Felder uber die Admin-UI.
Beim Ingest laufen MakeMetadataSchemaAction und MakeCategorySchemaAction durch die Eloquent-Modelle — Category, FieldBlock, Field, File, FileMetadata, FileDetail, FileProcessingStage — und bauen das JSON-Schema, das das Sprachmodell befullen muss. Eine neue Dokumentfamilie ist eine No-Code-Operation. Dieselbe Typdisziplin nutzen wir im Stammdatenmanagement, hier angewendet auf eingehende Dokumente statt auf Stammsatze.
Tauschbare KI-Schicht
OCR und Extraktion liegen hinter einem einzigen AIExtractor-Vertrag. Die OCR-Implementierung ruft Mistral OCR fur die seitenweise Texterkennung; der Extractor ruft OpenAI im JSON-Modus uber openai-php/laravel. Beide sind konkrete Klassen, die zur Laufzeit an den Vertrag gebunden werden.
Es geht um Governance, nicht um Hype: Wird Mistral OCR ersetzt oder OpenAI spater gegen ein Schweiz-gehostetes Modell auf der Apertus-Linie getauscht, andern sich die Aufrufstellen nicht. Die schemabasierte extraktion bleibt, die Pipeline bleibt, nur das Binding wandert. Dasselbe Prinzip vertreten wir in unserer KI-Beratung — Schnittstelle zuerst, Anbieter zweitrangig.
Asynchrone Pipeline und Live-Fortschritt
Jede Datei lauft durch eine deterministische Stage-Folge: prepare file, recognize images, extract metadata, extract details, save details, notify. Die Prepare-Stage verzweigt nach Dateityp — poppler rastert PDFs zu Seitenbildern, einzelne JPGs gehen direkt durch — sodass eine 40-seitige PDF und ein einseitiger Scan in derselben downstream-Pipeline landen. Jede Stage ist ein eigener Queue-Job und kann isoliert wiederholt werden.
Wahrend die Pipeline lauft, sendet laravel reverb pro Ubergang ein FileProcessingEvent. Das React-Dashboard abonniert per WebSocket und zeigt den Operatoren, in welcher Stage und auf welcher Seite ihr Dokument gerade ist — ohne Polling. Die ki-dokumenteneingang-Oberflache und REST-Clients lesen denselben Eventstrom.
Liefer-Ergebnis und nachster Schritt
Der POC lieferte auf die Vertrauensfragen, die das Backoffice gestellt hatte: heterogene Eingangsdokumente werden zu sauberen strukturierten Datensatzen, die manuelle Lesezeit sinkt, die Konsistenz uber Dokumentfamilien steigt und neue Familien werden per Konfiguration statt durch einen Engineering-Sprint erganzt. Die ki-schadensbearbeitung wird messbar nachvollziehbar, weil Operatoren Live-Fortschritt pro Datei sehen.
Das ist ein POC, kein produktiver Rollout — genau das ist der Punkt. Codebase, schema-Primitive, AIExtractor-Vertrag und Staged Pipeline sind eine saubere Basis, die das Team zu eigenen Bedingungen in Produktion fuhren kann. Planen Sie Ihren Dokumenten-POC mit SAPIENTROQ — buchen Sie ein Discovery-Gesprach und bringen Sie eine echte Dokumentfamilie mit; wir scopen den POC in derselben Woche.
Lösungen
Losungen in diesem Engagement
- Monorepo aus Laravel 12 und React 19 mit Reverb-WebSockets
- Schema zur Laufzeit aus Admin-Kategorien und Feldern gebaut
- AIExtractor-Vertrag — Mistral OCR und OpenAI hinter einer API
- Staged-Pipeline — prepare, recognize, extract, save, notify
Erbrachte Leistung
- Unstrukturierte Eingange werden zu sauberen Datensatzen
- Manuelle Lesezeit fur das Backoffice spurbar reduziert
- Neue Dokumentfamilien per Konfiguration statt per Code
- Live-Fortschritt pro Datei in Echtzeit fur Operatoren
Haufige Fragen zu diesem Engagement
Jede Datei lauft durch dieselbe Staged-Pipeline. Poppler rastert PDFs oder JPGs gehen direkt durch, sodass ein 40-Seiten-Scan und ein einzelnes Bild als normalisierte Seitenbilder vorliegen. Mistral OCR holt den Text, OpenAI fullt im JSON-Modus das Kategorie-Schema.
Administratoren legen in der Admin-UI eine Kategorie an, erganzen Unterkategorien, definieren Dateiblocke (Patient, Leistungserbringer) und die getypten Felder. MakeMetadataSchemaAction und MakeCategorySchemaAction bauen daraus das Schema. Kein Code-Change, kein Deploy.
OCR und Extraktion liegen hinter einem AIExtractor-Vertrag. Aktuelle Bindings sind Mistral OCR fur den OCR-Lauf und OpenAI uber openai-php/laravel fur den Extractor, doch die Aufrufstellen kennen nur die Schnittstelle. Ein Wechsel ist ein Binding-Change, kein Umbau.
Laravel Reverb lauft als first-party WebSocket-Server und sendet bei jedem Pipeline-Ubergang ein FileProcessingEvent: prepare, recognize, extract metadata, extract details, save, notify. Das React-Dashboard zeigt Operatoren in Echtzeit Stage und Seite des Dokuments.
Das Schema entsteht aus Eloquent-Modellen: Category, FieldBlock, Field, FileMetadata. MakeMetadataSchemaAction lauft durch Kategorie und Blocke; MakeCategorySchemaAction erganzt Unterkategorien und getypte Felder. Admin-Anderungen wirken beim nachsten Ingest.
Über SAPIENTROQ
Sind Sie an einer Lösung interessiert?
Wir freuen uns, Ihnen die Möglichkeiten unverbindlich aufzuzeigen.

Roland Kurmann
CEO, SAPIENTROQ


