Data models
Stable Pydantic contracts in faxautomation/core/models.py. Plugins must return these types — never raw vendor dicts past the adapter boundary.
ParserInfo
| Field |
Type |
Description |
id |
str |
Unique parser ID for API/UI |
label |
str |
Human-readable name |
kind |
ocr | extract |
Parser category |
enabled |
bool |
false if deps/creds missing |
disabled_reason |
str? |
Shown in UI tooltip |
| Field |
Type |
Description |
job_id |
str |
UUID for audit (no PHI in logs) |
filename |
str |
Original upload name |
content |
bytes |
Raw file bytes |
mime_type |
str |
Default application/pdf |
| Field |
Type |
page_number |
int |
text |
str |
confidence |
float 0–1 |
AnalyteRow
| Field |
Type |
name |
str |
value |
str |
unit |
str |
ref_low |
str |
ref_high |
str |
loinc |
str |
ParseJobResult (API response)
| Field |
Type |
job_id |
str |
filename |
str |
ocr_results |
list of per-parser OCR output |
analytes |
list of per-parser extract output |
elation_preview |
dict? — dry-run Elation payload |