Healthcare Billing Automation: Extract Data From EOBs & Medical Bills

Explanation of Benefits (EOBs)Medical billsSuperbillsItemized statements

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 exactly the EOB/medical-bill fields you need — claim number, provider, service date, billed/allowed/paid amounts, patient responsibility, procedure codes — and get a dedicated endpoint. Submit scanned or PDF EOBs and get back validated JSON.

Because you define the schema, you capture only the fields you actually need — a simple way to minimize how much sensitive data you collect in the first place.

For handling of protected health information, see our security page — Dokyumi uses a HIPAA-aware architecture, and a BAA is available on the Enterprise plan.

Example schema and result

A real schema shape for healthcare billing documents, and the JSON you get back from one extraction.

Schema — GET /api/v1/schemas

{
  "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": "ext_hb3q7m",
  "status": "completed",
  "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
  },
  "meta": {
    "processing_time_ms": 1340,
    "page_count": 2,
    "ocr_cached": false
  }
}

How it works

1

Define the fields you need

Claim number, amounts, procedure codes — only what your billing workflow actually uses.

2

Get a dedicated endpoint

Scoped to that schema alone.

3

Submit EOBs and medical bills

PDF or scanned image, one API call.

4

Reconcile automatically

Structured JSON with confidence scores flows into your billing or patient-accounting system.

Healthcare Billing FAQ

Is Dokyumi HIPAA-compliant?+
Dokyumi is built with a HIPAA-aware architecture: encryption in transit and at rest, access controls, and schemas designed to help you minimize what you collect. A Business Associate Agreement (BAA) is available on the Enterprise plan — contact hello@dokyumi.com before sending PHI. See /security for details.
Can I limit which patient fields get captured?+
Yes — you design the schema, so you only extract the fields your workflow needs. Leaving a field out of the schema means Dokyumi never captures it.
Does Dokyumi integrate with my EHR or billing system?+
Not with a native pre-built connector today. Extractions are delivered as JSON via the API or a webhook, so you integrate it into whatever system you already use.
Can it read handwritten superbills?+
OCR accuracy on handwriting is limited compared to typed or printed documents; typed EOBs and itemized statements extract most reliably.
What happens with a low-confidence field, like a hard-to-read procedure code?+
The extraction still completes, but the response flags low-confidence fields so you can route them for manual review instead of trusting them blindly.

Stop re-keying explanation of benefits (eobs) by hand.

100 free extractions every month — no credit card, no AWS account, no setup hell.