Extract patient intake forms to structured JSON

Patient intake forms collect demographics, insurance details, medical history, and consent signatures. Every facility uses its own layout. Sensible converts intake form data into structured JSON for EHR integration, insurance verification, and patient onboarding automation.

Why patient intake forms confuse standard parsers

Custom facility layouts, mixed handwriting, and checkbox-heavy medical history sections resist OCR.

Facility-Specific Layouts

Every clinic designs intake forms differently: field ordering, section layout, page count all vary. The extraction adapts to each facility's form while outputting a consistent patient record schema.

Handwritten Content

Patients fill forms by hand, and handwriting varies enormously. LLM parsing interprets the content; confidence scores flag uncertain fields so your intake staff reviews only what needs review, not every form.

Medical History Checklists

Conditions, medications, allergies: medical history sections capture these through checkboxes, yes/no fields, or free text. Each item is captured regardless of the input method the form uses.

Fields we extract

Demographics, insurance, and medical history fields ship by default. Map to your EHR schema.

Demographics

Patient name, date of birth, gender, address, phone, email, SSN (masked), emergency contact name/phone/relationship

Insurance

Primary insurance carrier, group number, member ID, policyholder name, policyholder DOB, secondary insurance, employer name

Medical history

Current medications, allergies, surgical history, chronic conditions, family history, current symptoms, primary care physician


{ /* SenseML: patient intake form extraction */
"fields": [
{
"method": {
"id": "queryGroup",
"queries": [
{
// Patient full name
"id": "patient_name",
"description": "patient name, full name, first name last name"
},
{
// Date of birth
"id": "date_of_birth",
"description": "date of birth, DOB, birth date",
"type": { "id": "date" }
},
{
// Insurance member ID
"id": "member_id",
"description": "member ID, insurance ID, subscriber ID, policy number"
},
{
// Allergies
"id": "allergies",
"description": "allergies, drug allergies, known allergies, allergy list"
}
// Additional fields for medications, medical history, emergency contact, etc.
]
}
}
]
}
HIPAA Authorization

Patient consent for release of protected health information.

New Patient Registration

Patient demographics, emergency contacts, and insurance information form.

Medical History Questionnaire

Patient-completed form covering medications, allergies, surgeries, and family history.

Supported intake form types

Sensible processes intake forms from any healthcare facility. The hybrid approach handles handwritten content, printed text, and checkbox grids, all validated against your patient record schema.

By facility type

Hospitals, primary care clinics, urgent care centers, dental offices, behavioral health practices, specialty clinics

By content

Registration/demographics, insurance verification, medical history, medication reconciliation, consent/HIPAA authorization

Trusted by operations and engineering teams at

Common Questions

Answers about facility form support, handwriting recognition, and EHR integration.

What patient demographics does Sensible extract?

Sensible extracts patient name, date of birth, address, phone, email, emergency contact, employer, and preferred pharmacy from standard intake forms.

How does Sensible handle checkbox grids on intake forms?

Sensible detects checked and unchecked boxes in medical history grids, symptom checklists, and consent forms. Each checkbox field is returned with a boolean value.

Can Sensible read handwritten patient intake forms?

Yes. Sensible uses LLM-based parsing for handwritten content. Confidence signals indicate extraction certainty on each field, and low-confidence fields are flagged for human review.

Can Sensible extract insurance information from intake forms?

Yes. Sensible captures insurance company, policy number, group number, subscriber name, subscriber DOB, and relationship to patient from the insurance section of intake forms.

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.