Distribuzione farmaceutica · Sovereign AI
Federfarma Lombarda — Nexus MDS Core in produzione
- Settore:
- distribuzione farmaceutica
- Piattaforma:
- Nexus MDS Core
- Perimetro:
- oltre 1.000 farmacie nelle province di Milano, Lodi e Monza Brianza
- Stato:
- in produzione
Il problema che nessuno chiamava per nome
Federfarma Lombarda — l’Associazione Chimica Farmaceutica Lombarda fra Titolari di Farmacia, che rappresenta i titolari delle province di Milano, Lodi e Monza Brianza — produce un flusso continuo di comunicazioni operative verso le farmacie associate: circolari, ritiri e carenze di farmaci, turni di guardia, scadenze fiscali, normative, moduli. Migliaia di documenti eterogenei che si sovrappongono e si aggiornano nel tempo, perché una comunicazione ne corregge o ne sostituisce un’altra.
Pubblicare quei documenti non era il problema. Era già stato risolto due volte, male.
Esisteva un sito con l’intera documentazione e un motore di ricerca costruito su tecnologia Google. Funzionava male. Il canale precedente non ha raggiunto un utilizzo significativo. Un sistema che nessuno apre non ha un problema di adozione: ha un problema di utilità.
In parallelo circolava, e circola tuttora, una newsletter che recapita i documenti a ogni farmacia. È comoda e continuerà a esistere. Ma svolge una funzione che vale la pena nominare con precisione: trasferisce l’onere di conformità su mille farmacisti, ciascuno tenuto a leggere ogni documento, ricordarlo, e sapere autonomamente quale versione sia ancora vigente nel momento in cui deve applicarla.
Non era distribuzione di informazione. Era distribuzione di responsabilità senza gli strumenti per esercitarla.
Perché un motore di ricerca non bastava, e perché un RAG ingenuo sarebbe stato peggio
Su un corpus normativo, la ricerca semantica restituisce il documento più pertinente alla domanda. Non quello vigente.
La distinzione sembra sottile e non lo è. Se la circolare B sostituisce la A, e il farmacista chiede le modalità di erogazione di un farmaco, un sistema di retrieval standard può restituire la A con piena sicurezza: è pertinente, è ben scritta, risponde esattamente alla domanda. Ed è superata.
Il farmacista agisce su una disposizione non più valida credendo di essere conforme. In farmacia questo non è un fastidio operativo. È un errore di conformità con un nome sopra.
Aggiungere un assistente conversazionale a quel corpus, senza prima risolvere la successione normativa, avrebbe peggiorato la situazione: accesso più rapido e più fiducioso alla risposta sbagliata.
La catena di versioni
Il sistema risolve l’obsolescenza in due fasi distinte, e la seconda è quella che conta.
In ingestione, un passo di analisi individua nel documento i riferimenti di sostituzione verso comunicazioni precedenti, confrontandolo con i candidati recuperati semanticamente sullo stesso oggetto, zona o farmaco. Estrae inoltre entità, date, scadenze e finestre di validità.
In riconciliazione, un passo globale rilegge l’intero indice e ricostruisce le catene di versione — A sostituito da B, B da C — marcando come superato ogni documento che è stato rimpiazzato.
La proprietà che rende utilizzabile il sistema è che questa seconda fase è indipendente dall’ordine di caricamento. Gli arretrati possono essere importati dopo i documenti recenti: la catena si ricompone corretta. Chiunque abbia costruito un archivio normativo sa che questa è la parte difficile, e che i sistemi che non la risolvono producono risposte plausibili e sbagliate.
Non tutto viene affidato al linguaggio. I turni di guardia sono estratti come dati strutturati con la propria finestra di validità e interrogati per data e luogo, non per somiglianza semantica. I farmaci sono riconosciuti e normalizzati contro il registro AIFA. Dove la domanda ha una risposta esatta, il sistema la tratta come tale.
Cosa vede il farmacista
Alla domanda — turni, modalità di erogazione, carenze, campagne vaccinali, eventi — il sistema restituisce tre cose insieme.
La risposta specifica, formulata sulla domanda posta.
I documenti citati, in ordine cronologico inverso, con i superati esclusi per impostazione predefinita.
Il grafo della catena di versioni: nodi e archi che mostrano quale documento sostituisce quale.
Quest’ultimo punto è il centro del progetto. Un sistema che dà la risposta giusta senza mostrare perché è un sistema di cui bisogna fidarsi. Un sistema che espone la catena di successione è un sistema che si può verificare. In un contesto regolato, la seconda proprietà vale più della prima.
Dove passa il confine dei dati
La sovranità del dato, in questo progetto, non è una dichiarazione di collocazione dei server. È una proprietà dell’architettura, e va descritta per quello che è.
I dati personali non entrano nell’indice. Non vengono filtrati a valle: un controllo in fase di ingestione riconosce i documenti che contengono dati sanitari o anagrafici individuali e li esclude dall’indicizzazione. Le cartelle di lavoro personali sono bloccate per configurazione.
E non escono nemmeno dalla domanda. Un farmacista che digita il nome di un paziente sta scrivendo un dato sanitario personale in un campo di ricerca. È il caso previsto: un filtro di redazione dedicato opera sul testo in ingresso, sulla macchina dell’organizzazione, prima che qualsiasi cosa raggiunga il passo successivo. È la funzione primaria per cui quel componente esiste, non un effetto collaterale.
Indicizzazione, ricerca, riconciliazione e audit sono interamente locali. Estrazione testo, vettorizzazione, database vettoriale, catene di versione, identità e registrazione: tutto sul server dell’organizzazione, dietro un unico gateway.
La sola generazione della risposta finale avviene su un endpoint di inferenza in datacenter europeo, raggiunto attraverso il gateway e tracciato. Ciò che transita sono la domanda e i frammenti di documenti già recuperati — cioè le stesse circolari che l’Associazione distribuisce quotidianamente via newsletter alle farmacie associate. Nessun dato riservato, nessun dato personale.
Quell’endpoint è un componente sostituibile, e la scelta del fornitore segue il dato. Poiché ciò che transita è documentazione già pubblica verso i destinatari, non c’era ragione di pagare un provider o un modello più costosi: il criterio è la proporzionalità fra costo e riservatezza, non la fiducia in un nome. Qualunque provider di inferenza è utilizzabile al suo posto. Il fallback su modello locale è implementato e funzionante, e su hardware di classe superiore l’intera catena — generazione finale compresa — gira in casa senza modifiche architetturali.
Il confine è una decisione di dimensionamento, non un vincolo di progetto.
Questa è la differenza fra sovranità come slogan e sovranità come proprietà verificabile: non “il fornitore promette che i dati restano dove dice”, ma “l’organizzazione può spostare il confine quando decide di spostarlo”.
La ricostruibilità
Se un farmacista agisce su una risposta del sistema e da quell’azione nasce una contestazione, l’organizzazione deve poter ricostruire cosa il sistema ha risposto, quando, sulla base di quali documenti.
Ogni invocazione — locale ed esterna — è registrata in una catena di hash cifrata e verificabile, progettata per essere a prova di manomissione: alterare un record a posteriori rompe la catena in modo rilevabile. È il servizio di audit costruito specificamente per gli obblighi di registrazione, trasparenza e sorveglianza umana previsti dal Regolamento UE 2024/1689.
La ricostruibilità non è garantita dalla collocazione fisica dell’inferenza. È garantita dal registro. Questa distinzione è il motivo per cui il sistema resta conforme in entrambe le configurazioni.
L’hardware
Il sistema in produzione gira su una singola GPU consumer da 8 GB, del 2015, che ospita contemporaneamente modello locale, filtro privacy ed embeddings. Modelli quantizzati, gestione della frammentazione della memoria video, coda di lavoro con tetto di concorrenza.
Non è un vanto di frugalità. È l’estremo inferiore di un intervallo: la stessa architettura, senza modifiche, gira su schede da 48 GB dove serva portare in casa anche la generazione finale.
Il punto per chi decide è questo: il dimensionamento è una scelta di esercizio, non un vincolo imposto dal fornitore. Dove altri richiedono infrastruttura cloud da decine di migliaia di euro l’anno, qui la stessa conformità si ottiene su una macchina da ufficio — e si scala quando serve.
Risultati
| Prima | Adesso | |
|---|---|---|
| Strumento | Sito con motore di ricerca Google | Assistente su Nexus MDS Core |
| Utilizzo | Non ha raggiunto un utilizzo significativo | ~2.000 interrogazioni al giorno |
| Vigenza normativa | A carico del farmacista | Catena di versioni esplicita e verificabile |
| Onere di conformità | Distribuito su 1.000 farmacie | Presidiato dal sistema, controllabile dall’utente |
| Dati personali | — | Mai indicizzati, esclusi in ingestione |
| Tracciabilità | Nessuna | Registro inalterabile di ogni invocazione |
La newsletter resta attiva. Non è stata sostituita: è stata affiancata da uno strumento che risponde nel momento in cui la domanda si pone, invece di anticiparla e sperare che venga ricordata.
Tecnologie utilizzate
Cosa firmo
L’architettura, la collocazione del confine dei dati e il modello di tracciabilità sono decisioni tecniche documentate e assunte. In un settore in cui l’errore di conformità ha conseguenze personali per chi lo commette, chi progetta il sistema deve poter rispondere delle proprie scelte.
Corrado Patierno — Principal AI Architect, Dynamics Consulting
corrado.patierno@mensa.it · dynamicsconsulting.it
Dove si ferma la responsabilità del tuo fornitore, e dove comincia la tua?
Dal 9 dicembre 2026 la direttiva europea sulla responsabilità da prodotto include il software fra i prodotti. L’assessment di esposizione stabilisce, per la tua organizzazione, dove passa il confine.
Assessment di esposizione →