deck slide 05: numbers as slim top strip; analysis components on ellipse vertices with arc arrows; stat note explained in plain language
This commit is contained in:
+16
-14
@@ -185,20 +185,22 @@
|
||||
.arit .stat .sub { font: 400 12px/1.45 var(--sans); color: var(--ink-muted); }
|
||||
.arit .stat-note { margin-top: 26px; font: 400 13px/1.5 var(--sans); color: var(--ink-muted); }
|
||||
|
||||
/* slide "What the text miner reads": compact numeral band on top + analysis components */
|
||||
.arit.stats .sbody { padding-top: 24px; }
|
||||
.arit.stats .stat-grid { grid-template-columns: repeat(5, 1fr); }
|
||||
.arit.stats .stat { padding: 4px 18px; gap: 5px; }
|
||||
.arit.stats .stat .num { font-size: 40px; }
|
||||
.arit.stats .stat .lbl { font-size: 12.5px; }
|
||||
.arit.stats .stat .sub { font-size: 10.5px; }
|
||||
.arit.stats .stat.month .num { font-size: 32px; }
|
||||
.arit.stats .comps { display: flex; align-items: stretch; gap: 8px; margin-top: 34px; }
|
||||
.arit.stats .comp { flex: 1; text-align: center; padding: 4px 8px; }
|
||||
.arit.stats .comp .cicon { width: 42px; height: 42px; color: var(--bordeaux); display: block; margin: 0 auto 9px; }
|
||||
.arit.stats .comp b { display: block; font: 700 13.5px/1.25 var(--sans); text-transform: uppercase;
|
||||
letter-spacing: .03em; color: var(--ink); }
|
||||
.arit.stats .comp span.d { display: block; margin-top: 5px; font: 400 11.5px/1.4 var(--sans); color: var(--ink-muted); }
|
||||
/* slide "What the text miner reads": slim numbers strip + elliptical component cycle */
|
||||
.arit.stats .sbody { padding-top: 22px; }
|
||||
.arit.stats .strip { display: flex; justify-content: space-between; align-items: baseline;
|
||||
border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 9px 2px; }
|
||||
.arit.stats .sstat { display: flex; align-items: baseline; gap: 9px; }
|
||||
.arit.stats .sstat .n { font: 700 25px/1 var(--sans); color: var(--bordeaux); letter-spacing: -.02em; }
|
||||
.arit.stats .sstat .l { font: 600 11.5px/1.2 var(--sans); color: var(--ink); }
|
||||
.arit.stats .cycle { position: relative; width: 1184px; height: 280px; margin: 6px auto 0; }
|
||||
.arit.stats .cycle-svg { position: absolute; inset: 0; width: 100%; height: 100%; }
|
||||
.arit.stats .vcomp { position: absolute; transform: translate(-50%, -50%); width: 250px;
|
||||
text-align: center; background: var(--surface); padding: 4px 6px; }
|
||||
.arit.stats .vcomp .cicon { width: 46px; height: 46px; color: var(--bordeaux); display: block; margin: 0 auto 7px; }
|
||||
.arit.stats .vcomp b { display: block; font: 700 14.5px/1.25 var(--sans); text-transform: uppercase;
|
||||
letter-spacing: .04em; color: var(--ink); }
|
||||
.arit.stats .vcomp span.d { display: block; margin-top: 4px; font: 400 11.5px/1.4 var(--sans); color: var(--ink-muted); }
|
||||
.arit.stats .stat-note { margin-top: 8px; font-size: 12.5px; line-height: 1.55; max-width: 1100px; }
|
||||
|
||||
/* divider */
|
||||
.arit.divider .sbody { justify-content: center; }
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<title>AritmoLab — Role of AI in the Analysis of Unstructured Clinical Databases</title>
|
||||
<link rel="stylesheet" href="vendor/reveal/dist/reveal.css">
|
||||
<link rel="stylesheet" href="fonts.css?v=8">
|
||||
<link rel="stylesheet" href="deck.css?v=30">
|
||||
<link rel="stylesheet" href="deck.css?v=31">
|
||||
</head>
|
||||
<body>
|
||||
<div class="reveal"><div class="slides">
|
||||
@@ -226,23 +226,29 @@
|
||||
<div class="sbody">
|
||||
<div class="kicker">What the text mining produced</div>
|
||||
<h2>Deterministic AI, audited numbers</h2>
|
||||
<div class="stat-grid">
|
||||
<div class="stat"><span class="num">58,438</span><span class="lbl">discharge letters read</span><span class="sub">free-text fields, bilingual IT/EN patterns</span></div>
|
||||
<div class="stat"><span class="num">73,389</span><span class="lbl">pathologies extracted</span><span class="sub">two-tier clinical ontology</span></div>
|
||||
<div class="stat"><span class="num">10,908</span><span class="lbl">drug-challenge tests parsed</span><span class="sub">flecainide · ajmaline · adrenaline · isoprenaline</span></div>
|
||||
<div class="stat"><span class="num">2,307</span><span class="lbl">Brugada patients identified</span><span class="sub">confirmed by clinical review on dashboards</span></div>
|
||||
<div class="stat month"><span class="num">≈ 240</span><span class="lbl">letters processed monthly</span><span class="sub">nightly batch on twenty years of history</span></div>
|
||||
<div class="strip">
|
||||
<div class="sstat"><span class="n">58,438</span><span class="l">letters read</span></div>
|
||||
<div class="sstat"><span class="n">73,389</span><span class="l">pathologies extracted</span></div>
|
||||
<div class="sstat"><span class="n">10,908</span><span class="l">tests parsed</span></div>
|
||||
<div class="sstat"><span class="n">2,307</span><span class="l">Brugada patients</span></div>
|
||||
<div class="sstat"><span class="n">≈ 240</span><span class="l">letters / month</span></div>
|
||||
</div>
|
||||
<div class="comps">
|
||||
<div class="comp"><svg class="cicon" viewBox="0 0 34 34" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><rect x="7" y="4" width="20" height="26" rx="2.5"/><path d="M12 11h10"/><path d="M12 16h10"/><path d="M12 21h6"/></svg><b>Letter reader</b><span class="d">every discharge letter, Italian & English</span></div>
|
||||
<div class="arrow">→</div>
|
||||
<div class="comp"><svg class="cicon" viewBox="0 0 34 34" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><circle cx="14.5" cy="14.5" r="8"/><path d="M20.5 20.5 L29 29"/><path d="M11 14.5 h7"/><path d="M14.5 11 v7"/></svg><b>Clinical matcher</b><span class="d">recognises diagnoses, procedures, test outcomes</span></div>
|
||||
<div class="arrow">→</div>
|
||||
<div class="comp"><svg class="cicon" viewBox="0 0 34 34" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 3.5 L28 8 v8.5 c0 7-4.7 11.6-11 14 C10.7 28.1 6 23.5 6 16.5 V8 Z"/><path d="M12.5 16.5 l3.2 3.2 L23.5 12"/></svg><b>Context guard</b><span class="d">negations & family history kept apart</span></div>
|
||||
<div class="arrow">→</div>
|
||||
<div class="comp"><svg class="cicon" viewBox="0 0 34 34" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><circle cx="17" cy="7" r="3"/><circle cx="7" cy="26.5" r="3"/><circle cx="27" cy="26.5" r="3"/><path d="M17 10 v7"/><path d="M17 17 L8 23.5"/><path d="M17 17 L26 23.5"/></svg><b>Ontology sorter</b><span class="d">every finding into its clinical category</span></div>
|
||||
<div class="cycle">
|
||||
<svg class="cycle-svg" viewBox="0 0 1184 280">
|
||||
<defs><marker id="arrw" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6.5" markerHeight="6.5" orient="auto-start-reverse"><path d="M0 0L10 5L0 10z" fill="#cb333b"/></marker></defs>
|
||||
<g fill="none" stroke="#cb333b" stroke-width="2">
|
||||
<path d="M627 52 A400 88 0 0 1 898 83" marker-end="url(#arrw)"/>
|
||||
<path d="M898 197 A400 88 0 0 1 627 228" marker-end="url(#arrw)"/>
|
||||
<path d="M557 228 A400 88 0 0 1 286 197" marker-end="url(#arrw)"/>
|
||||
<path d="M194 132 A400 88 0 0 1 286 83" marker-end="url(#arrw)"/>
|
||||
</g>
|
||||
</svg>
|
||||
<div class="vcomp" style="left:592px; top:50px"><svg class="cicon" viewBox="0 0 34 34" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><rect x="7" y="4" width="20" height="26" rx="2.5"/><path d="M12 11h10"/><path d="M12 16h10"/><path d="M12 21h6"/></svg><b>Letter reader</b><span class="d">every discharge letter, Italian & English</span></div>
|
||||
<div class="vcomp" style="left:992px; top:140px"><svg class="cicon" viewBox="0 0 34 34" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><circle cx="14.5" cy="14.5" r="8"/><path d="M20.5 20.5 L29 29"/><path d="M11 14.5 h7"/><path d="M14.5 11 v7"/></svg><b>Clinical matcher</b><span class="d">recognises diagnoses, procedures, test outcomes</span></div>
|
||||
<div class="vcomp" style="left:592px; top:230px"><svg class="cicon" viewBox="0 0 34 34" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 3.5 L28 8 v8.5 c0 7-4.7 11.6-11 14 C10.7 28.1 6 23.5 6 16.5 V8 Z"/><path d="M12.5 16.5 l3.2 3.2 L23.5 12"/></svg><b>Context guard</b><span class="d">negations & family history kept apart</span></div>
|
||||
<div class="vcomp" style="left:192px; top:140px"><svg class="cicon" viewBox="0 0 34 34" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><circle cx="17" cy="7" r="3"/><circle cx="7" cy="26.5" r="3"/><circle cx="27" cy="26.5" r="3"/><path d="M17 10 v7"/><path d="M17 17 L8 23.5"/><path d="M17 17 L26 23.5"/></svg><b>Ontology sorter</b><span class="d">every finding into its clinical category</span></div>
|
||||
</div>
|
||||
<p class="stat-note">Every row carries its pattern-library semver (<code>pattern_version</code>) · quality gate: ≥95% accuracy on 100 manual reviews.</p>
|
||||
<p class="stat-note">No black box: every extracted finding carries the version of the rules that produced it (<code>pattern_version</code>) — any number in this talk can be rebuilt years from now. And no rule set reaches production until it proves ≥95% accuracy on 100 records reviewed by hand.</p>
|
||||
</div>
|
||||
<footer class="foot"><span class="g">Role of AI in the Analysis of Unstructured Clinical Databases</span><span class="g">Dr. Marco Pancotti - MultiPhysixLab</span><span class="g">Dr. Sara Paratico - Gruppo San Donato</span><span class="g">San Donato Milanese, Milan, Italy · 2–3 October 2026</span><span class="g num">05 / 14</span></footer>
|
||||
<aside class="notes">
|
||||
|
||||
Reference in New Issue
Block a user