The problem
Billing teams manually re-key claim numbers, billed/allowed/paid amounts, and procedure codes from EOBs and provider bills into billing or patient-accounting systems. Reconciling payer adjustments by hand is slow, and it gets harder to keep accurate at volume.
How Dokyumi solves it
Define a schema for the EOB or medical-bill fields you need — claim number, provider, service date, billed/allowed/paid amounts, patient responsibility, and procedure codes — then select it on the shared extraction endpoint. A successful request returns structured data with confidence and validation details; resolve review results before downstream use.
Because you define the schema, you can limit which fields appear in structured output. The full uploaded source and OCR data still follow Dokyumi’s documented security and retention process; review /security and /privacy before sending sensitive data.
Example schema and result
A real schema shape for healthcare billing documents, and the JSON you get back from one extraction.
Example schema definition
{
"slug": "eob-parser",
"name": "EOB Parser",
"description": "Extracts claim and billing data from Explanation of Benefits statements",
"ocr_mode": "standard",
"fields": [
{
"key": "claim_number",
"type": "string",
"required": true
},
{
"key": "provider_name",
"type": "string",
"required": true
},
{
"key": "service_date",
"type": "date",
"required": true
},
{
"key": "billed_amount",
"type": "currency",
"required": true
},
{
"key": "allowed_amount",
"type": "currency",
"required": false
},
{
"key": "paid_amount",
"type": "currency",
"required": false
},
{
"key": "patient_responsibility",
"type": "currency",
"required": false
},
{
"key": "cpt_codes",
"type": "array",
"required": false
}
]
}Result — POST /api/v1/extract
{
"id": "91ebdb7e-efc3-43c1-b8fd-19b929d3c3d4",
"status": "completed",
"request_id": "861aec32-4511-4850-b254-b17dfc89594a",
"schema": "eob-parser",
"data": {
"claim_number": "CLM-2026-771234",
"provider_name": "Lakeside Family Medicine",
"service_date": "2026-05-08",
"billed_amount": 480,
"allowed_amount": 310,
"paid_amount": 248,
"patient_responsibility": 62,
"cpt_codes": [
"99214",
"90471"
]
},
"confidence": {
"claim_number": 0.99,
"billed_amount": 0.98,
"cpt_codes": 0.93
},
"validation": {
"valid": true,
"errors": [],
"low_confidence_fields": []
},
"meta": {
"processing_time_ms": 1340,
"page_count": 2,
"credits_used": 1,
"ocr_cached": false,
"model": "anthropic/claude-sonnet-4"
}
}How it works
Define the fields you need
Claim number, amounts, procedure codes — only what your billing workflow actually uses.
Call the shared endpoint
Send the file with your schema slug.
Submit EOBs and medical bills
PDF or scanned image, one API call.
Review, then reconcile
Inspect confidence and validation details before mapping structured data into your billing or patient-accounting system.
Healthcare Billing FAQ
Is Dokyumi HIPAA-compliant?+
Can I limit which patient fields get captured?+
Does Dokyumi integrate with my EHR or billing system?+
Can it read handwritten superbills?+
What happens with a low-confidence field, like a hard-to-read procedure code?+
Related use cases
Insurance
Pull named insured, policy numbers, coverage limits, and claim details from dec pages, ACORD forms, and claims paperwork.
Accounts Payable
Extract vendor, line-item, and total data from invoices and receipts — no template building, no AWS Textract setup.
Tax Prep
Turn client-submitted W-2s, 1099s, and 1040s into structured data — or hand clients a branded upload portal for intake season.