Wie Coatables ein Analysenzertifikat verifiziert
Zuletzt aktualisiert: 15. Juni 2026
Lade ein CoA-PDF hoch (digital oder gescannt). Ein Vision-Modell liest es; eine deterministische Schicht berechnet die sicherheitskritischen Werte neu und gleicht sie mit dem aufgedruckten Labor-Urteil ab. Du erhältst geprüftes JSON und Excel.
Die drei Schritte
- Extrahieren — Claude Vision liest digitale PDFs und Scans nativ: Analyt, Ergebnis, Einheit, Spezifikationsgrenzwert, Methode, LOD/LOQ und das aufgedruckte Labor-Urteil.
- Verifizieren — Grenzwert-Notation und Einheiten werden normalisiert, dann wird Bestanden/Nicht-bestanden aus den ausgelesenen Zahlen neu berechnet — nicht von einem Modell geraten.
- Abgleichen — das berechnete Urteil wird mit dem aufgedruckten des Labors verglichen. Jede Abweichung, jedes fehlende Feld oder jeder Wert mit niedriger Konfidenz wird geflaggt.
Was unterstützt wird
Drittlabor-Berichte für Nahrungsergänzungsmittel — Schwermetalle, Mikrobiologie, Kontaminanten — über eine begrenzte Menge gängiger Labor-Formate. Es ist bewusst kein allgemeiner „Beliebiges-Dokument“-Extraktor; ein nicht erkanntes Layout wird zur Prüfung geflaggt statt still geraten (und wird nicht berechnet).
Grenzwert-Notation, die es liest
| Notation | Bedeutung |
|---|---|
| ≤ / < / ≥ / > | obere / untere Grenzen |
| NMT / NLT / max / min | nicht-mehr-als / nicht-weniger-als |
| X–Y | Bereich |
| Absent in 25 g | mikrobielle Abwesenheit |
| ND / <LOQ | nicht nachgewiesen / unter Bestimmungsgrenze |
Einheiten werden kanonisiert und klassenweise verglichen: mg/kg ↔ ppm, µg/kg ↔ ppb, mg/g ↔ % und CFU/g-Klassen. Ein Ergebnis, dessen Einheitenklasse nicht zum Analyten passt, wird geflaggt.
Ausgabe
JSON — das vollständige strukturierte Ergebnis: Dokument-Header und je Analyt das rohe + ausgelesene Ergebnis, die normalisierte Einheit, der strukturierte Grenzwert (min/max/Typ), Methode, LOD/LOQ, das Labor-Urteil, das berechnete Urteil, ob sie übereinstimmen, Konfidenz und Flags.
XLSX — ein Header-Blatt (Dokument-Metadaten) plus ein Analyten-Blatt, eine Zeile pro Analyt mit denselben Spalten.
Verifizierungs-Flags
| Flag | Bedeutung |
|---|---|
| verdict_mismatch | unser neu berechnetes Bestanden/Nicht-bestanden weicht vom aufgedruckten Labor-Urteil ab |
| missing_limit | ein Ergebnis ohne Spezifikationsgrenzwert zum Abgleich |
| unparseable_limit | eine Grenzwert-Zeichenkette, die wir nicht normalisieren konnten |
| ambiguous_unit | eine Einheit, die wir nicht kanonisieren konnten (bei qualitativen Ergebnissen übersprungen) |
| unit_class_mismatch | die Einheitenklasse passt nicht zum Analyten |
| low_confidence | ein Wert mit niedriger Konfidenz (häufig bei Scans) — prüfen |
| no_analytes | auf Dokumentebene: nichts als unterstütztes CoA erkannt |
API
Das Tool ist ein dünner Client über einem einzigen Endpoint.
| Feld | Wert |
|---|---|
| POST | /api/extract |
| body | multipart/form-data, Feld file = das PDF (≤ 20 MB) |
| ?format=xlsx | liefert das XLSX statt JSON |
| Authorization | Bearer <credit key> (wenn Abrechnung aktiv ist) |
| X-Credits-Remaining | Response-Header mit deinem Guthaben nach dem Aufruf |
| 402 / 400 / 500 | kein/ungültiger Schlüssel oder kein Guthaben / keine Datei / Extraktionsfehler |