Extract data from progress notes
Every clinical encounter leaves a progress note, and its four-part SOAP shape is the closest thing medicine has to a universal record across US inpatient and outpatient charts: Subjective is what the patient reports, Objective is what the clinician measured, Assessment is the working impression, and Plan is what happens next. LOINC files the document itself under code 11506-3, but the note behind that code is typed or dictated into an EHR by hundreds of clinicians who each phrase it their own way. A hospitalist rounding on an inpatient, a nurse charting a vitals block, and a coder abstracting the encounter for billing each read the same note for different fields: the temperature of 38.4 C and blood pressure of 148/92, the medications reviewed or started, the assessment with its ICD-10 diagnoses, and the plan with its follow-up and procedures.
The difficulty is that the four sections blur together on the page. Vitals get buried mid-sentence in the objective narrative, an assessment lists three diagnoses at different statuses, and a plan folds a medication change, a lab order, and a two-week follow-up into one paragraph. Amended and addended notes carry a status that changes what counts as current. A note documented 2026-06-11 by Dr. Selin Yavuz at Riverside General Hospital, patient born 1969-02-08, needs the vitals lifted into a typed block, the medications split into an array with dose instructions, and the diagnoses tied to ICD-10 codes, so the encounter reaches the chart and the coding queue as structured JSON rather than a scanned PDF page. Because a progress note is PHI, it stays inside the platform rather than going to a general model.
What gets extracted from progress notes
How extraction works for progress notes
Progress notes come out of inpatient EHR systems, outpatient charting tools, and dictation that lands as a scanned PDF, and the SOAP sections rarely sit in tidy blocks. Talonic classifies the note and maps it to the clinical-document model in the Field Registry, which pulls the subjective, objective, assessment, and plan apart, lifts the vitals into a typed block, and returns medications, observations, procedures, and ICD-10 diagnoses as their own arrays. LOINC-coded observations keep their code and value, the note status of final, amended, or addended is captured so a superseded version is not read as current, and the managing organization, provider credentials, and NPI are read where shown. Every field carries a confidence score and a pixel-region pointer conforming to DIN SPEC 91491, so a coder at a US hospital can verify a diagnosis or a blood pressure against the source note. Talonic structures the note and does not diagnose, code, or infer anything the clinician did not write.
Sample extraction
A one-page outpatient follow-up progress note in SOAP format
{
"document_date": "2026-06-11",
"patient.name": "Diego Fuentes",
"patient.medical_record_number": "8830145",
"patient.date_of_birth": "1969-02-08",
"provider.name": "Dr. Selin Yavuz",
"provider.credentials": "MD",
"status": "final",
"subjective": "Two days of worsening dyspnea on exertion, mild ankle edema",
"objective": "Bibasilar crackles; no acute distress",
"vital_signs.temperature": 38.4,
"vital_signs.blood_pressure": "148/92",
"vital_signs.heart_rate": 96,
"vital_signs.respiratory_rate": 20,
"assessment": "CHF exacerbation",
"plan": "Increase furosemide to 40 mg BID; BMP in 1 week; follow-up 2026-06-25",
"diagnoses": [
{
"diagnosis_code": "I50.9",
"diagnosis_description": "Heart failure, unspecified"
}
]
}Frequently asked
Does it keep the SOAP sections separate?
Yes. Subjective, Objective, Assessment, and Plan each return as their own field, so the patient-reported history does not bleed into the measured findings and the plan stays distinct from the impression. Notes that run the four sections together in prose, whether exported from an Epic or Cerner EHR at a US hospital, are still separated on extraction.
How are vitals captured?
The vitals block returns as typed values: temperature, blood pressure as systolic over diastolic, heart rate, and respiratory rate, each with its measurement time when the note records one. A temperature of 38.4 C and a pressure of 148/92 arrive as structured numbers rather than text inside the objective paragraph.
What happens with amended notes?
The note status is captured, so a final note, an amended note, and an addendum are told apart. A superseded version, such as a note first documented 2026-06-11 and later amended, is flagged rather than merged, because the current record depends on which version is authoritative.
Is a progress note treated as PHI?
Yes. It is processed inside the Talonic platform under the same access controls as any patient record, and the extraction returns structured fields with source provenance without the note leaving the tenant boundary. Talonic does not draw its own clinical conclusions.
What fields are extracted from progress notes?
Talonic returns progress notes as schema-validated, typed fields. Common fields include Patient Name / MRN, Provider, Encounter Date, Subjective, and more, each normalized (dates to ISO 8601, amounts as numbers) and mapped to a stable key so the output shape stays the same across layouts.
How accurate is extraction from progress notes, and how is confidence reported?
Every extracted cell carries a confidence score from 0.0 to 1.0 and a provenance pointer back to the source page and region, so low-confidence values can be reviewed against the original before the data is trusted downstream. There is no single accuracy number: confidence is reported per field so you can gate on it.
Can I use progress notes extraction in production?
Yes. The same engine behind this guide is available as a production REST API and Node SDK with sync, async, and streaming modes, schema versioning, signed webhooks, and EU-resident processing. Start free with an API key, then scale on usage-based pricing.
What does it cost to extract data from progress notes?
There is a free tier for prototyping and agent evaluation with no credit card. Paid usage is credit-based at 1,000 credits per euro: page ingestion is 100 credits per page and registry-resolved queries are free. See talonic.com/pricing for current rates.
Ready to extract from your own progress notes?
- GDPR
- HIPAA
- ISO 27001 / 42001 aligned
- DIN SPEC 91491 co-author
- EU-resident infrastructure
Author note
Reviewed by Talonic engineering · last reviewed 2026-07-07