OCVTS ← Torna al sito

Atlante — la mappa dei dati

Il grafo che ricostruisce, leggendo il codice dei progetti SAS, da dove viene ogni dato del sistema OCVTS, come è stato costruito e cosa dipende da cosa.

Cos'è

In breve, prima dei dettagli.

Atlante è un agente conversazionale che risponde in linguaggio naturale a domande sulla provenienza dei dati, basandosi solo su ciò che è realmente scritto nel codice SAS dei progetti — non su documentazione a parte, che può essere disallineata dal codice. In pratica risponde a tre domande: da dove viene un dato, come è stato costruito, e cosa si rompe se lo cambi.

Come funziona: il grafo

Atlante legge il codice dei progetti SAS Enterprise Guide (EGP) e ne ricostruisce un grafo di provenienza (data lineage). Il grafo ha quattro tipi di nodi principali.

Tabelle (dataset)

I nodi principali. Ogni tabella appartiene a un livello di raffinatezza dei dati, da L0 (dato grezzo regionale) a L4 (classi di rischio) — lo stesso schema descritto nella documentazione tecnica.

Trasformazioni

Gli step di codice SAS (DATA step, PROC SQL, PROC MEANS, …) che leggono una o più tabelle in input, applicano filtri e regole, e ne producono una nuova in output. Sono la "ricetta" che collega i nodi tra loro.

Progetti (EGP) e flussi

Le trasformazioni sono raggruppate in progetti SAS Enterprise Guide (builder, produzione, coorti), a loro volta organizzati in flussi di esecuzione interni al progetto.

Macro e parametri

Filtri, soglie e finestre temporali condivise (es. &nome.) che le trasformazioni usano come parametri, e che Atlante sa risolvere su richiesta.

Un esempio concreto: così il grafo rappresenta la costruzione di una diagnosi integrata (es. il diabete), che incrocia più fonti per stabilire se e da quando un soggetto è affetto da una patologia.

flowchart LR esen[esenzioni]:::l0 --> M{{merge per key_anagrafe
+ min-date}}:::tf lab[laboratorio
marcatori]:::l1 --> M farma[farmaci
classi ATC]:::l1 --> M diagg[diagnosi
aggregate]:::l2 --> M M --> INT[integrata_<patologia>
data + from]:::l3 classDef l0 fill:#d9e8fb,stroke:#4a78b5,color:#111; classDef l1 fill:#d7f0d7,stroke:#4a9a4a,color:#111; classDef l2 fill:#fff2cc,stroke:#c9a227,color:#111; classDef l3 fill:#f8d0d5,stroke:#c04a57,color:#111; classDef tf fill:#ececec,stroke:#777,color:#111;
L0 — grezzo RER L1 — prima aggregazione L2 — intermedio L3 — diagnosi integrata trasformazione (merge/filtri)

Chiedendo ad Atlante "da dove viene integrata_diabete?" risponde percorrendo esattamente questo grafo, citando le tabelle e i filtri realmente usati. Lo stesso esempio, esteso a tutte le fonti, è descritto passo passo nella documentazione tecnica.

Cosa puoi chiedere

In linguaggio naturale, come a un collega che conosce tutti i flussi a memoria.

Chi può accedere

L'accesso è riservato al gruppo OCVTS e ad autorizzazione tramite login Google. Se sei già autorizzato, entra direttamente; se non lo sei ancora, puoi richiedere l'accesso in autonomia — la richiesta viene notificata e approvata dal responsabile del gruppo.