Policlinico San Donato AritmoLab · Policlinico San Donato

Role of AI in the Analysis of Unstructured Clinical Databases

How we turned a mix of structured and free-text clinical records into a research data platform — the AritmoLab platform experience.

AritmoLab A clinical data platform hosting cardiology data and analysis tools
Dr. Marco Pancotti - MultiPhysixLab Dr. Sara Paratico - I.R.C.C.S. Policlinico San Donato

“Multidimensional Characterization of Cardiac Arrhythmias: Role of Electrocardiology in the Artificial Intelligence Era”

San Donato Milanese, Milan, Italy · 2–3 October 2026

Role of AI in the Analysis of Unstructured Clinical DatabasesDr. Marco Pancotti - MultiPhysixLabDr. Sara Paratico - Gruppo San DonatoSan Donato Milanese, Milan, Italy · 2–3 October 202601 / 14
AritmoLab · Policlinico San Donato

Four islands and four missing pieces

?Clinical Intelligencedashboards on the clinical history of the Unit and its patients
?Datawarehousethe single source of truth
?ML-ready datacohort tables, ready for model training
?Professional PortalAritmoLab — the grown-up Omics Portal
Missing Pieces

▸ click a system: how it was used — and what held it back · click a missing piece: what it would have given

Role of AI in the Analysis of Unstructured Clinical DatabasesDr. Marco Pancotti - MultiPhysixLabDr. Sara Paratico - Gruppo San DonatoSan Donato Milanese, Milan, Italy · 2–3 October 202602 / 14
AritmoLab · Policlinico San Donato
The plan

What we wanted to build

One platform, two destinations: the 360° patient portal and a research-ready warehouse. Built on open-source pillars, with AI coding agents wherever they helped. This talk follows the hardest piece — the unstructured data.

What existed
Cardiorefcardiology records · procedures · letters
Genetic datalabs · variants · nomenclature
ECGsignals · device follow-up
+Future sourcesnew subsystems can be connected as sources
→
What we built
Stagingraw replica of the sources
→
Integrationcleaned, normalized, deduplicated
AI reads the clinical text: pathologies, procedures, drug-challenge outcomes
→
Star schemadimensional transformation
→
Datamartsresearch-ready marts
AI builds them on demand from plain-English questions (ThothII)
→
AritmoLab Data Warehousequeried for research
AritmoLab Portalmanagement & exploration
AI coding agents — Anthropic · OpenAI — used wherever they helped, 360° in the code Airflow · orchestration Superset · dashboards Django · portal scaffolding Authentik · auth — GSD LDAP
Role of AI in the Analysis of Unstructured Clinical DatabasesDr. Marco Pancotti - MultiPhysixLabDr. Sara Paratico - Gruppo San DonatoSan Donato Milanese, Milan, Italy · 2–3 October 202603 / 14
AritmoLab · Policlinico San Donato
From free text to a research platform

The clinical truth lives in unstructured columns

“Il paziente riferisce sincope ricorrente; ECG basale con sopraslivellamento ST in V1–V3; test provocativo con flecainide positivo per pattern Brugada.”

EN“The patient reports recurrent syncope; baseline ECG with ST-segment elevation in V1–V3; flecainide provocation test positive for a Brugada pattern.”

SourcesCardioref · Genetic data
Omics Portal · ECG
→
Stagingraw replica
→
Integration3NF · text mining
→
Data Warehousestar schema
→
Martsdbt · Superset
four challenges to face · the answers come next
01
Volume without structuretwenty years of records locked in free-text columns
02
Ambiguous languagenegation · family history · bilingual shorthand
03
No shared ontologyevery system names conditions its own way
04
Proving reliabilityextraction must be demonstrably correct
outputs of the datamarts
Dashboardsclinical review on Superset
Machine Learningcohort tables for model training
Predictive Statisticsoutcomes & risk analysis
ThothII — natural-language → SQL over the DWH, builds the final datamarts
Role of AI in the Analysis of Unstructured Clinical DatabasesDr. Marco Pancotti - MultiPhysixLabDr. Sara Paratico - Gruppo San DonatoSan Donato Milanese, Milan, Italy · 2–3 October 202604 / 14
AritmoLab · Policlinico San Donato
What the text mining produced

Deterministic AI, audited numbers

58,438letters read
73,389pathologies extracted
10,908tests parsed
2,307Brugada patients
≈ 240letters / month
Letter readerevery discharge letter, Italian & English
Clinical matcherrecognises diagnoses, procedures, test outcomes
Context guardnegations & family history kept apart
Ontology sorterevery finding into its clinical category
Traceable. Every finding carries the version of the rules that produced it (pattern_version): any number can be rebuilt years later.
Audited. A new rule set goes live only after it proves ≥95% accuracy on 100 records reviewed by hand.
Role of AI in the Analysis of Unstructured Clinical DatabasesDr. Marco Pancotti - MultiPhysixLabDr. Sara Paratico - Gruppo San DonatoSan Donato Milanese, Milan, Italy · 2–3 October 202605 / 14
AritmoLab · Policlinico San Donato
Clinical NLP

Reading clinical text is not keyword matching

  • Negation — “fibrillazione atriale esclusa”, “non FA” (“AF ruled out”, “no AF”): the rule scans a window around every match before deciding
  • Family ≠ patient — “padre con FA” (“father with AF”) is attributed to the family member, not to the patient
  • Two languages — every pattern matches IT and EN forms: fibrillazione atriale / atrial fibrillation
  • Abbreviations & noise — FA, f.a., “TA 140/90” (blood pressure, not a diagnosis)
  • One field, many statements — the text is split into clauses before matching
what the rules seeexamples from the corpus
“padre con fibrillazione atriale”
“father with atrial fibrillation”
  → patologia: FA · attribuzione: familiare
pathology: AF · attribution: family

“fibrillazione atriale esclusa”
“atrial fibrillation ruled out”
  → patologia: FA · negato
pathology: AF · negated

“test provocativo con flecainide
  positivo per pattern Brugada”
“flecainide provocation test, positive for Brugada pattern”
  → test: flecainide · esito: POSITIVO
test: flecainide · outcome: POSITIVE
Role of AI in the Analysis of Unstructured Clinical DatabasesDr. Marco Pancotti - MultiPhysixLabDr. Sara Paratico - Gruppo San DonatoSan Donato Milanese, Milan, Italy · 2–3 October 202606 / 14
AritmoLab · Policlinico San Donato
The clinical ontology

Two tiers, one clinical order

TIER 1 · arrhythmic11
AFFABrugadaFlutterATTAAVNRTTRNPSVTWPW / TPSVVTTVVFFVVentricular ectopyExtrasistolia V.SyncopeSincopeLong QTQT lungo
TIER 2 · structural5
AV blockBlocco AVBundle branch blockBlocco di brancaCardiomyopathyCardiomiopatiaHeart failureScompensoValvular diseaseValvulopatia
01
Order encodes clinical precedence — “Brugada” is matched before “TV”, so “substrato per TV” (“substrate for VT”) can't mask a Brugada pattern
02
Synonyms live inline — FA / f.a. / fib. atriale / atrial fibrillation → one canonical label
03
Versioned like software — semver for the pattern library, pattern_version on every extracted row
The output: text becomes recorded data
01
Quantitative data on the recordsevery procedure and implant the text analysis reads is written back as structured, quantitative values on the record that describes it
02
Straight into the DWH flowthese records enter the data-warehouse generation like any other source
03
As if typed at the visitthe data lands exactly as if clinicians had keyed it in themselves during the visits
Role of AI in the Analysis of Unstructured Clinical DatabasesDr. Marco Pancotti - MultiPhysixLabDr. Sara Paratico - Gruppo San DonatoSan Donato Milanese, Milan, Italy · 2–3 October 202607 / 14
AritmoLab · Policlinico San Donato
Validation

Trusting the text is a process, not a promise

  • Quality gates — ≥95% procedure classification, ≥85% pathology detection, validated on 100 manually reviewed records
  • Clinical review — the extracted Brugada cohort was validated by clinicians on Superset dashboards
  • Feedback loop — ~893 Brugada false positives found and removed in pattern-library v1.3.1
  • Nothing is silently dropped — negated and family-attributed findings are stored too, filtered only at the mart layer
Quality gateAn extraction is accepted only after 100 manual reviews confirm the agreed accuracy — the same standard for every new pattern release.
Role of AI in the Analysis of Unstructured Clinical DatabasesDr. Marco Pancotti - MultiPhysixLabDr. Sara Paratico - Gruppo San DonatoSan Donato Milanese, Milan, Italy · 2–3 October 202608 / 14
AritmoLab · Policlinico San Donato
The portal, today

AritmoLab — a quick tour

screenshot
screenshot
screenshot
screenshot
screenshot
screenshot

[MP: 6-7 real screenshots of the portal, anonymized or demo data]

Role of AI in the Analysis of Unstructured Clinical DatabasesDr. Marco Pancotti - MultiPhysixLabDr. Sara Paratico - Gruppo San DonatoSan Donato Milanese, Milan, Italy · 2–3 October 202609 / 14
AritmoLab · Policlinico San Donato
All good? Not yet.

The warehouse speaks SQL. Research needs more.

  • Clinicians and researchers don't write SQL — a star schema is built for analysts, not for the ward
  • Health Intelligence — to present the past, the Unit needs ready-made aggregates: volumes, incidence, outcomes
  • Predictive research — multivariate analysis and ML models need clean, wide, cohort-shaped tables
  • Hand-made datamarts are the bottleneck — even with coding agents, each one takes hours of careful work
The gapTwenty years of data, one warehouse — and no fast road from a research question to an answer.
Role of AI in the Analysis of Unstructured Clinical DatabasesDr. Marco Pancotti - MultiPhysixLabDr. Sara Paratico - Gruppo San DonatoSan Donato Milanese, Milan, Italy · 2–3 October 202610 / 14
AritmoLab · Policlinico San Donato
Role 3 — AI for analysis

Ask the warehouse in plain English

“How many Brugada patients had an effective ablation?” a researcher, in natural language
NL → SQLAI writes the query over the star schemaAI
→
Human reviewthe researcher checks every proposed query
→
Datamartcurated, research-ready martsAI
→
Supersetstatistics & dashboards

The session is a conversation: refine the question, iterate on the datamart — every step reviewable.

Role of AI in the Analysis of Unstructured Clinical DatabasesDr. Marco Pancotti - MultiPhysixLabDr. Sara Paratico - Gruppo San DonatoSan Donato Milanese, Milan, Italy · 2–3 October 202611 / 14
AritmoLab · Policlinico San Donato
ThothII, step by step

From question to datamart — the app

screenshot
screenshot
screenshot
screenshot
screenshot
screenshot

[MP: 6-7 real screenshots of ThothII — ask, review SQL, datamart, dashboard]

Role of AI in the Analysis of Unstructured Clinical DatabasesDr. Marco Pancotti - MultiPhysixLabDr. Sara Paratico - Gruppo San DonatoSan Donato Milanese, Milan, Italy · 2–3 October 202612 / 14
AritmoLab · Policlinico San Donato
From datamart to discovery

One datamart — many questions answered

Multivariate analysis[SVG chart — next step]
Machine learning[SVG chart — next step]

[Illustrative data, modeled on published arrhythmology predictors — Brugada focus]

Role of AI in the Analysis of Unstructured Clinical DatabasesDr. Marco Pancotti - MultiPhysixLabDr. Sara Paratico - Gruppo San DonatoSan Donato Milanese, Milan, Italy · 2–3 October 202613 / 14
AritmoLab · Policlinico San Donato
Questions?

Thank you

Want the deep dives? The technical walkthroughs of the text miner, the mapping agents and ThothII are coming as videos on our Substack.

Dr. Marco Pancotti - MultiPhysixLab Dr. Sara Paratico - I.R.C.C.S. Policlinico San Donato
Role of AI in the Analysis of Unstructured Clinical DatabasesDr. Marco Pancotti - MultiPhysixLabDr. Sara Paratico - Gruppo San DonatoSan Donato Milanese, Milan, Italy · 2–3 October 202614 / 14