Extract lab reports to structured JSON

Lab reports contain test results, reference ranges, specimen details, and ordering physician information. Labs like Quest and LabCorp each use different formats. Sensible extracts lab data into validated JSON for clinical integration, population health analytics, and compliance.

Why lab reports resist automated extraction

Result tables with abnormal flags, multi-panel groupings, and varying reference ranges resist parsing.

Result Table Complexity

Lab reports pack test names, values, units, reference ranges, and abnormal flags into varying column layouts. Sensible extracts each line.

Bundled Applications

A single report may group CBC, CMP, lipid, and urinalysis results under different headers. Sensible nests results by panel.

Dense Checkbox Grids

Labs display reference ranges as ranges, inequalities, or text descriptions. Sensible parses the bounds and flags out-of-range results.

Fields we extract

Extract any data you need from lab reports into your desired output schema

Order and specimen

Patient name, DOB, MRN, ordering physician, specimen type, collection date/time, received date, report date, lab name/CLIA number

Test results

Test name, result value, units, reference range, abnormal flag (high/low/critical), result status (final/preliminary), LOINC code

Panel summaries

Panel name, component tests, overall interpretation, pathologist notes, critical value alerts

Urinalysis Report

Urine test results with chemical, microscopic, and physical analysis.

Comprehensive Metabolic Panel

CMP results covering glucose, electrolytes, kidney, and liver function markers.

Complete Blood Count (CBC)

Standard CBC lab report with WBC, RBC, hemoglobin, hematocrit, and platelet values.

Supported lab formats

Sensible processes lab reports from any reference lab or hospital system, many available in our healthcare template library. Custom lab configs build quickly.

Reference labs

Quest Diagnostics, LabCorp, BioReference, ARUP, Mayo Clinic Laboratories, Sonic Healthcare

Hospital and specialty

Hospital reference labs, pathology reports, cytology results, microbiology, toxicology screens

Trusted by operations and engineering teams at

Common Questions

Details on Sensible lab report extraction.

Can Sensible group results by test panel?

Yes. Sensible preserves panel groupings (CBC, CMP, lipid panel, thyroid panel) and returns results nested under their parent panel in the structured output.

What patient and specimen data does Sensible extract?

Sensible captures patient name, DOB, MRN, ordering physician, specimen collection date/time, specimen type, and lab facility information.

How does Sensible extract lab results?

Sensible extracts each test result with test name, result value, units, reference range, and abnormal flag. Results are returned as structured arrays preserving the report's panel groupings.

Does Sensible parse reference ranges from lab reports?

Yes. Sensible extracts the reference range for each test and indicates whether the result falls within, above, or below the normal range.

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?

Documents are deleted after 30 days by default. You can configure shorter retention periods or request immediate deletion via API.

Is there a free trial?

Yes. Sensible offers a free tier with 50 documents per month. 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 PDF, PNG, JPG, and TIFF files. PDFs can be native or scanned.

How accurate is the extraction?

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

How fast is document processing?

Most documents process in 2 to 10 seconds depending on complexity and page count.