Extract explanation of benefits to structured JSON

Explanation of Benefits documents detail how a claim was processed, what was billed, what the plan paid, and what the patient owes. Every payer formats EOBs differently. Sensible normalizes EOB data into consistent JSON for claims reconciliation, billing, and revenue cycle management.

Why EOBs break standard extraction tools

Hundreds of payer formats and dense claim-level detail make EOB extraction a normalization problem.

Payer Format Diversity

UnitedHealthcare, Anthem, Aetna, Cigna, hundreds of regional payers: each produces EOBs with unique layouts, code tables, and adjustment logic. All normalized into a single claims schema for your billing system.

Adjustment Reason Code Parsing

CARC and RARC codes explain payment variances: why the paid amount differs from the billed amount. Each adjustment is extracted with its reason code, amount, and the service line it applies to, structured for automated denial management.

Multi-Claim Documents

Multiple claims, patients, or service dates on a single EOB. Each claim is processed separately and returned as a distinct item, preserving the per-claim detail your revenue cycle management requires.

Fields we extract

Claim-level and line-level fields cover revenue cycle workflows. Customize for your billing system integration.

Claim header

Patient name, member ID, provider name, claim number, service date(s), payer name, check/EFT number, payment date

Line-level detail

CPT/HCPCS code, description, billed amount, allowed amount, plan paid, patient responsibility (copay/coinsurance/deductible), adjustment amount, CARC/RARC codes

Payment summary

Total billed, total allowed, total paid, total patient responsibility, check amount, provider-level adjustments


{ /* SenseML: Explanation of Benefits extraction */
"fields": [
{
"method": {
"id": "queryGroup",
"queries": [
{
// Patient name
"id": "patient_name",
"description": "patient name, member name, subscriber name"
},
{
// Claim number
"id": "claim_number",
"description": "claim number, claim #, claim ID"
},
{
// Total amount paid by insurer
"id": "amount_paid",
"description": "amount paid, plan pays, insurer payment, paid amount",
"type": { "id": "currency" }
},
{
// Patient responsibility
"id": "patient_responsibility",
"description": "patient responsibility, you owe, amount you owe, your cost",
"type": { "id": "currency" }
}
// Additional fields for CPT codes, billed amount, allowed amount, etc.
]
}
}
]
}
Medicare EOB

Medicare Summary Notice detailing Part A and Part B claim processing.

Aetna EOB

Aetna EOB format showing billed charges, plan payments, and member cost share.

Blue Cross Blue Shield EOB

BCBS EOB covering in-network and out-of-network claim adjudication.

UnitedHealthcare EOB

UnitedHealthcare Explanation of Benefits with claim detail, allowed amounts, and patient responsibility.

Supported payer formats

Sensible processes EOBs from any commercial or government payer. Pre-built templates in the healthcare library cover major payers. New formats can be configured using SenseML's hybrid extraction approach.

Commercial payers

UnitedHealthcare, Anthem/Elevance, Aetna/CVS Health, Cigna, Humana, BCBS (all affiliates), Kaiser, regional plans

Government payers

Medicare (MAC-specific formats), Medicaid (state-specific), TRICARE, VA, workers compensation, auto/no-fault

Trusted by operations and engineering teams at

Common Questions

Answers about payer format support, adjustment code parsing, and multi-claim handling.

Does Sensible extract remittance advice details?

Yes. Sensible captures check/EFT number, payment date, provider NPI, claim number, and payment totals. For 835 electronic remittances, direct file parsing is more efficient than PDF extraction.

Can Sensible calculate patient responsibility from EOBs?

Sensible extracts copay, coinsurance, deductible applied, and total patient responsibility amounts per service line. Remark codes and adjustment reason codes are also captured.

Does Sensible extract CPT and ICD codes from EOBs?

Yes. Sensible extracts CPT/HCPCS procedure codes, ICD-10 diagnosis codes, billed amounts, allowed amounts, adjustments, and payment amounts for each service line.

Which insurance payers' EOBs does Sensible support?

Sensible processes EOBs from any payer. Pre-built templates cover several major payers including Cigna, Humana, Medicaid, and Tricare. Custom payer formats can be configured quickly.

Do you support webhooks?

Yes. Sensible sends extraction results to your webhook endpoint when processing completes. You can also poll the API for status.

Does Sensible support human review?

Yes. Sensible flags extractions with low confidence for human review. You can configure review thresholds and workflows.

What security certifications does Sensible have?

Sensible is SOC 2 Type II certified and HIPAA compliant. Data is encrypted in transit and at rest.

How long is document data retained?

Document data is stored indefinitely by default. Custom retention policies are available and can be configured for same-day deletion if needed.

Is there a free trial?

Yes. Sensible offers a 14-day free trial on the Growth plan. No credit card required to start.

How is pricing structured?

Sensible uses per-document pricing for predictable costs. No token-based billing or usage surprises. Volume discounts are available for higher throughput.

How do I integrate with Sensible?

Sensible provides REST APIs and SDKs for Python and Node.js. Most integrations take a few hours. Webhooks, Zapier, and direct API calls are all supported.

What file formats does Sensible support?

Sensible processes PDFs (native or scanned), Microsoft Word (DOC, DOCX), spreadsheets (XLSX, XLS, CSV), single-page images (JPEG, PNG), multi-page images (TIFF), and email bodies with attachments.

How accurate is the extraction?

Accuracy depends on document quality and configuration. Most production deployments achieve 95%+ accuracy with proper validation rules and confidence signals.

How fast is document processing?

Processing speed depends on document size, page count, OCR requirements, and which extraction methods are used. Simple single-page documents process in seconds. Larger or more complex documents that use LLM-based extraction take longer.