Extract data from medical history forms
A medical history form is the record a clinician relies on before making any decision, and it is dense with the parts of a chart that never fit a tidy box: past conditions, prior surgeries, current medications, allergies, family history, and the social history covering tobacco, alcohol, and substance use. A medical-records team keying these into an EHR reads them as a longitudinal picture rather than a snapshot, and the same form arrives as a scanned questionnaire, a patient-portal export modeled on HL7 FHIR from a system such as Epic Systems or Oracle Health, and a faxed history from a prior physician, each laid out differently and much of it free text or a patient's handwriting. What the team extracts is factual: which conditions the patient reports, which drugs at what dose, and which substances they are allergic to. The difficulty is that the record mixes coded lists, repeating tables, and narrative. Past medical history and family history are lists where each entry pairs a condition with an onset date and a status such as active or resolved, so a hypertension diagnosis dated 2015-03-12 reads differently from a resolved one. Medications repeat as a table of drug, dose, and dosing instructions, and an RxNorm code pins the drug when the source carries one. Allergies pair a substance with a reaction and a severity, and a missed entry is a safety issue the record has to preserve. Social history and the review of systems stay as narrative that still has to be captured verbatim. Talonic reads the medical history form and returns the patient identifiers, the coded history lists, and the medication, allergy, surgery, and family-history tables as structured rows, with handwriting scored for confidence. A history recorded 2026-05-30 under MRN 4471982, whether it came from an Epic Systems export or a scanned EMR printout, loads into the EHR with its condition list and medication table intact instead of retyped from a page. Talonic structures the fields as written; it does not interpret them or offer any clinical judgment.
What gets extracted from medical history forms
How extraction works for medical history forms
Medical history forms reach a records team as patient-portal exports modeled on HL7 FHIR, scanned paper questionnaires, and faxed histories from a prior physician, so no single template holds across practices or EHR vendors such as Epic Systems, Oracle Health, and MEDITECH. Talonic classifies the form and maps it to the clinical-history schema in the Field Registry, which separates the patient identifiers from the repeating history tables. Past medical history and family history are returned as rows pairing a condition with an onset date such as 2018-07-01 and a status, medications as a table of drug, dose, and dosing instructions with an RxNorm code where present, and allergies as a substance paired with a reaction and severity. Handwritten and narrative fields such as the review of systems are captured with confidence scoring so a low-confidence entry is flagged rather than entered silently. Every value returns with a confidence score and pixel-region provenance under DIN SPEC 91491 conformity, so a records team can verify a captured allergy or medication against the source form. Talonic structures the fields exactly as written and applies no clinical interpretation.
Sample extraction
A scanned three-page medical history questionnaire
{
"document_date": "2026-05-30",
"patient_identifier": "4471982",
"patient": {
"name": "Helen Park",
"date_of_birth": "1968-02-14"
},
"managing_organization": "Riverside Internal Medicine",
"past_medical_history": [
{
"condition": "Hypertension",
"onset_date": "2015-03-12",
"status": "active"
},
{
"condition": "Type 2 diabetes",
"onset_date": "2018-07-01",
"status": "active"
}
],
"medications": [
{
"medication_name": "Lisinopril",
"dose": "10 mg",
"dose_instructions": "once daily",
"medication_status": "active"
},
{
"medication_name": "Metformin",
"dose": "500 mg",
"dose_instructions": "twice daily",
"medication_status": "active"
}
],
"allergies": [
{
"substance": "Penicillin",
"reaction_type": "rash",
"severity": "moderate"
}
],
"family_history": [
{
"relative_relationship": "father",
"condition": "coronary artery disease",
"status": "deceased"
}
],
"social_history": {
"tobacco_use": "former",
"alcohol_use": "occasional"
}
}Frequently asked
Does it capture the repeating medication and allergy tables?
Yes. Medications are returned as rows of drug, dose, and dosing instructions, and allergies as a substance with its reaction and severity, so an EHR receives discrete entries rather than one block of text, which matters because a missed allergy is a safety issue.
How are past conditions and family history structured?
Each is returned as rows pairing a condition with an onset date and a status such as active or resolved, and a family-history row adds the relative, so a records team loads a longitudinal problem list rather than a paragraph.
How is patient health information handled?
Talonic treats protected health information (PHI) as a data-extraction step only: fields are structured from the source document and returned with a confidence score and a link to their source region, and Talonic applies no clinical interpretation or advice. PHI-conscious processing keeps a records team in control of what enters the EHR, since each value can be verified against the page before it is accepted.
Ready to extract from your own medical history forms?
Author note
Reviewed by Talonic engineering, schema review · last reviewed 2026-07-06