Clinical document extraction

Extract documented clinical facts, structure report findings, and identify patient and provider roles.

Choose an example

Abstract explicitly documented clinical facts from synthetic notes.

Step 01

Define and Align

Choose an example, review the proposed output, and annotate the fields that need to change. Your guidance defines the learned rules.

Output schema
Chest painYes / No / Unknown

Whether current chest pain is explicitly documented.

  • true
  • false
  • null
Asthma statusChoose one

Preserve whether asthma is current, historical, or denied.

  • current
  • historical
  • negated
  • not_documented
Pneumonia statusChoose one

Preserve the certainty of the documented finding.

  • confirmed
  • possible
  • negated
  • not_documented
app.sutro.sh/functions/clinical-data-abstraction
Collecting feedback · 1/3
Abstract explicitly documented clinical facts from synthetic notes.
Example 1 of 3

Negated symptom

Model input
Document excerpt
Clinical note

Synthetic note: Denies chest pain. Reports intermittent dizziness.

Model output
Chest pain
Asthma status
Pneumonia status

Step 02

Model Sweep

Compare quality and cost on your examples, then choose a model or use Sutro’s default.

Compare models on expert agreement and cost. The interactive chart uses illustrative measurements.

Illustrative sweep · select Value or Best to use that model in your function.

Step 03

Deployment

Call Sutro Functions like any other software. Swap the model as soon as something more performant is released.

Selected modelWaiting for sweep results.

Real-time

import sutro as so

input_data = {
    "text": "Synthetic note: Denies chest pain. Reports intermittent dizziness."
}

result = so.run_function(
    "clinical-data-abstraction",
    input_data,
)

Batch

import sutro as so

job_id = so.batch_run_function(
    name="clinical-data-abstraction",
    data="clinical_data_abstraction.csv",
)
results = so.await_job_completion(job_id)

Ready to get started?

Book time with the team

Join the self-serve waitlist

What are your bottlenecks? (Select any that apply)