Il problema: ricette via email, lavoro a mano
In farmacia le ricette arrivano ancora quasi tutte via email: il medico manda un PDF, e qualcuno dietro il banco deve aprirlo, leggerlo, copiare a mano il nome del paziente, il codice fiscale, il numero della ricetta, i farmaci. Poi stamparlo. Poi ricordarsi chi deve venire a ritirare. Ogni giorno, decine di volte, mentre c'è la coda.
Nel frattempo il paziente non sa se la sua ricetta è arrivata, se è pronta, se deve passare oggi o domani. E chiama. E la farmacia risponde al telefono invece di servire chi è in fila.
Evolution Farmacia nasce per togliere di mezzo tutto questo lavoro manuale.
Cosa abbiamo costruito: quattro pezzi che lavorano insieme
La piattaforma è composta da quattro pezzi che lavorano insieme: il sito pubblico della farmacia, il gestionale dove la farmacia lavora, l'area riservata del paziente e l'app per smartphone.
Il sito web della farmacia
Ogni farmacia che si iscrive ottiene, in pochi minuti, un sito web pubblico già pronto e professionale, con il proprio indirizzo internet.
Non è un costruttore di pagine dove bisogna saper progettare: il sito nasce già strutturato in otto sezioni pensate su misura per una farmacia (Home, Ricette, Prenotazioni, Referti, Servizi e Visite, Telemedicina, Offerte ed Eventi, Messaggi). Il farmacista sceglie tra tre stili grafici, carica il logo, sceglie il colore, scrive i testi, accende o spegne le sezioni che non gli servono. Nient'altro.
È una scelta di prodotto precisa: chi lavora in farmacia non ha tempo né voglia di fare il web designer, e un sito costruito male fa più danni che bene. Meglio poche leve, ma tutte utili.
Il gestionale del farmacista
È il pannello di controllo dove la farmacia lavora davvero: ricette in arrivo, pazienti, prenotazioni, referti da consegnare, catalogo dei servizi, eventi e promozioni, messaggi. Alcune cose lo rendono diverso da un gestionale qualsiasi:
Una casella unica in arrivo. Ricette, messaggi e prenotazioni finiscono tutti nello stesso elenco, in ordine di arrivo. Non serve girare tra cinque schermate per capire cosa c'è da fare stamattina.
Stampa in blocco. Si selezionano venti ricette e si ottiene un unico documento da mandare alla stampante. Se una ricetta è rovinata viene saltata e segnalata, senza far fallire tutto il resto.
Gruppi di cura. Le farmacie servono spesso case di riposo, comunità, famiglie numerose: si possono raggruppare i pazienti e stampare in un colpo solo tutte le ricette del gruppo.
Scadenze automatiche. Le ricette non ritirate si segnano da sole come scadute dopo trenta giorni, così l'elenco delle cose da fare resta vero.
L'area riservata al paziente
Il paziente si registra scegliendo la propria farmacia e da lì può inviare ricette, vedere lo stato di quelle già inviate, prenotare un servizio, scaricare i referti, scrivere alla farmacia.
Tutto ciò che fa resta dentro il perimetro della sua farmacia: una farmacia non vede mai i dati di un'altra, e un paziente non può entrare nell'area di una farmacia diversa dalla propria. Non è una promessa scritta nelle condizioni d'uso: è il sistema che è costruito così, e non ha nemmeno il modo tecnico di sbagliare.
L'app per smartphone
L'app è pensata per il paziente e per un solo gesto: fotografare la ricetta e mandarla in farmacia.
Si apre, si scatta la foto, si aggiunge una nota se serve ("mi serve per giovedì"), si invia. La ricetta compare subito nel gestionale della farmacia, che la controlla e la prende in carico.
Dall'app il paziente vede anche l'elenco delle sue ricette con lo stato aggiornato (ricevuta, in lavorazione, pronta al ritiro), prenota servizi scegliendo giorno e ora tra quelli liberi, scrive alla farmacia in chat, consulta servizi ed eventi in corso, e gestisce il proprio account fino alla cancellazione.
È un'app nativa, veloce, con un'interfaccia chiara e ad alto contrasto: gran parte degli utenti di una farmacia ha più di sessant'anni, e il design è stato tarato su di loro — testi grandi, pochi elementi per schermata, un pulsante evidente per l'azione principale.
Il cuore del progetto: l'assistente che legge le ricette
Questa è la parte di cui andiamo più orgogliosi, ed è quella che fa risparmiare ore di lavoro ogni settimana.
La farmacia collega la propria casella email alla piattaforma. Da quel momento non deve più aprirla.
Ogni cinque minuti il sistema controlla la posta e, per ogni ricetta che trova, fa da solo tutto quello che prima faceva una persona: la legge, la trascrive, la archivia, crea la scheda del paziente se non esiste, e la mette nell'elenco di quelle da preparare. Il farmacista la mattina trova il lavoro già fatto. Ecco cosa succede, passo per passo.
Capire quali email contano
Nella casella di una farmacia arriva di tutto: ricette dei medici, fatture dei fornitori, newsletter, spam. Il sistema deve capire cosa guardare.
Prima prova con le regole semplici, che non costano nulla: l'oggetto contiene la parola "promemoria" o "ricetta"? Bene, si procede. Quasi tutti i programmi usati dai medici italiani scrivono oggetti standard, e questo copre la maggior parte dei casi.
Ma non tutti. Alcuni medici mandano email con oggetti bizzarri, o senza oggetto. Qui interviene l'intelligenza artificiale: legge l'oggetto e i nomi degli allegati e decide in che categoria sta l'email — ricetta, referto, prenotazione o altro. È istruita a essere prudente: nel dubbio dice "altro", perché una ricetta persa si recupera a mano, mentre riempire l'archivio di documenti sbagliati crea un danno che qualcuno deve poi ripulire.
E se l'intelligenza artificiale non risponde — connessione giù, servizio momentaneamente non disponibile — il sistema non si blocca e non sbaglia: si comporta esattamente come si comportava prima che l'AI esistesse. Le regole semplici continuano a funzionare da sole.
Leggere la ricetta
Qui c'è la scelta tecnica di cui andiamo più fieri, ed è il contrario di quello che si fa di solito: non abbiamo affidato tutto all'intelligenza artificiale.
I promemoria delle ricette elettroniche hanno una struttura fissa. Abbiamo scritto un lettore "meccanico" che conosce quella struttura e la legge in millisecondi, a costo zero, con lo stesso risultato ogni volta. È lui la fonte principale: estrae il numero della ricetta, il codice fiscale del paziente, il medico prescrittore, la data, l'esenzione, i farmaci prescritti con i loro codici.
L'intelligenza artificiale entra in gioco solo quando serve davvero:
Quando il lettore meccanico fallisce. Ricette bianche, formati di programmi mai visti, PDF scansionati storti. Lì l'AI guarda il documento come lo guarderebbe una persona e ne ricava i dati.
Quando il risultato "non torna". Abbiamo scritto dei controlli di plausibilità: se il numero di ricetta estratto non ha la forma di un numero di ricetta, o se il codice fiscale del paziente risulta identico a quello del medico, allora il lettore meccanico ha preso il pezzo sbagliato del documento. Meglio rifare tutto con l'AI che archiviare una ricetta sbagliata.
Sempre, per i nomi. E questa è una storia a sé.
Il problema dei nomi (e come l'abbiamo risolto)
Sui documenti delle ricette il nome del paziente è spesso scritto tutto attaccato e tutto in maiuscolo: ROSSIROCCOMARIA. Un computer non ha modo di sapere dove finisce il cognome e dove comincia il nome. "Rossi Roccomaria"? "Rossi Rocco Maria"? "Rossiro Ccomaria"?
Il codice fiscale aiuta — è costruito a partire dalle consonanti di cognome e nome — ma non basta: non distingue i doppi nomi attaccati e sbaglia su alcuni nomi che iniziano per vocale (tipici del Sud Italia: Antonio, Angelina, che venivano tagliati in "Ntonio" e "Ngelina").
Così abbiamo fatto leggere il nome all'intelligenza artificiale, che il documento lo vede davvero. Ma qui nasce il rischio serio: un'AI, quando è incerta, tende a inventare. E su una ricetta medica un nome inventato non è un errore di battitura — è la terapia di una persona archiviata sotto il nome di un'altra.
Quindi abbiamo messo dei guardiani. La proposta dell'AI viene accettata solo se supera tre controlli:
1. Il codice fiscale che l'AI legge sul documento deve coincidere con quello letto dal lettore meccanico. Se non coincide, uno dei due sta leggendo male: si scarta la proposta.
2. Il nome proposto deve essere coerente con il codice fiscale, che porta con sé l'impronta di cognome e nome. Un "Rossi Antonio" al posto di "Russo Donato" non passa: sono lettere diverse, è un'invenzione.
3. L'AI può solo ri-separare le stesse lettere o riparare un nome incoerente. Non può sostituirle.
Se la proposta non passa i controlli, si tiene il nome del lettore meccanico e si registra il caso, così sappiamo quali nomi il sistema non riesce ancora a sciogliere. E se proprio non si capisce niente, si preferisce un nome mancante a un nome sbagliato: il campo resta vuoto, il farmacista lo completa in due secondi, e la prossima ricetta buona lo riempie da sola.
È il principio che ha guidato tutto il progetto: in ambito sanitario, un sistema che dice "non lo so" è infinitamente più utile di uno che risponde con sicurezza e sbaglia.
Due letture, un confronto
C'è un ultimo passaggio che ci piace molto. Dato che l'AI ha comunque letto il documento per i nomi, quella lettura non viene buttata via: viene confrontata con quella del lettore meccanico, come farebbero due persone che controllano lo stesso foglio.
Se le due letture non concordano sul numero della ricetta o sul codice fiscale, la ricetta viene marcata "da controllare" e il farmacista vede il motivo scritto in italiano semplice: "il codice fiscale registrato non è valido: sul documento risulta RSSMRA…". Nessun codice di errore, nessun gergo.
E soprattutto: il sistema segnala solo quando serve davvero. Il codice fiscale contiene una cifra di controllo che permette di capire quale delle due letture è quella giusta — se una è valida e l'altra no, non c'è nulla su cui dubitare, il dato archiviato è corretto e non si disturba nessuno. Perché un avviso che scatta troppo spesso smette di essere letto, e a quel punto tanto vale non averlo.
La scheda paziente si compila da sola
Dal codice fiscale il sistema ricava data di nascita, sesso e comune di nascita, e crea la scheda del paziente se non esiste ancora. Se il paziente c'è già, la aggiorna aggiungendo solo quello che mancava, senza mai cancellare quello che il farmacista ha inserito a mano.
Il risultato: l'anagrafica pazienti della farmacia si costruisce da sé, ricetta dopo ricetta, senza che nessuno digiti niente.
Cercare nell'archivio parlando normalmente
Nel gestionale c'è una casella di ricerca dove il farmacista scrive una domanda in italiano, come la direbbe a un collega: "quante aspirine ho venduto negli ultimi tre mesi", "le ricette del dottor Bianchi non ancora ritirate", "cosa ha preso la signora Esposito a giugno".
L'intelligenza artificiale traduce la domanda in filtri di ricerca e mostra i risultati, spiegando in una riga cosa ha cercato — così il farmacista sa sempre se la domanda è stata capita bene.
Due dettagli che fanno la differenza:
L'AI non ha accesso all'archivio. Non scrive interrogazioni al database e non lo vede nemmeno: restituisce solo un elenco di criteri, che il sistema controlla uno per uno prima di usarli. Anche una domanda scritta apposta per fare danni può, al massimo, produrre una ricerca senza risultati. Ed è sempre il sistema, non l'AI, a imporre che si cerchi solo dentro la propria farmacia.
Quando si chiede "quante aspirine", si conta il numero di confezioni, non di ricette. Sembra un dettaglio, ma è la differenza tra un numero giusto e un numero sbagliato di cui nessuno si accorge.
La farmacia può insegnare al sistema
Ogni tanto arriva un formato di documento mai visto e il sistema non lo riconosce. Prima l'unica strada era che il farmacista mandasse il file allo sviluppatore e aspettasse.
Abbiamo costruito una funzione di prova: il farmacista carica un PDF di esempio e vede immediatamente cosa il sistema ne farebbe — se lo riconosce, cosa ci legge dentro, e cosa suggerisce di fare se non lo riconosce. Se il documento non viene raccolto, il sistema propone la parola da "insegnargli" per riconoscerlo in futuro, e da quel momento tutti i documenti di quel medico entrano automaticamente.
Il file di prova non viene mai salvato da nessuna parte: contiene il nome, il codice fiscale e la terapia di una persona reale.
Dove gira l'intelligenza artificiale (e perché conta)
Le ricette mediche sono dati sanitari, la categoria più protetta dal regolamento europeo sulla privacy.
La tentazione oggi è a portata di mano: incollare la ricetta su ChatGPT o Gemini e farsi estrarre i dati in dieci secondi. Ma quella foto contiene il nome, il codice fiscale e la terapia di una persona che non ha mai dato il consenso — e in quelle chat il documento viaggia su server americani, dove può essere conservato e usato per addestrare i modelli. Non è una scorciatoia: è una violazione della privacy di cui risponde la farmacia, su dati della categoria che il GDPR protegge di più.
Evolution Farmacia fa lo stesso lavoro, ma dentro il perimetro giusto: l'intelligenza artificiale gira su infrastruttura Google Cloud con elaborazione confinata in Europa (data center in Belgio), su un canale dedicato all'azienda, senza che i documenti vengano usati per addestrare modelli. Nei registri di sistema non finisce mai un nome, un codice fiscale o un farmaco: solo il fatto che qualcosa è successo e su quale documento.
Una precedente versione usava un fornitore americano ed è stata sostituita proprio per questo motivo. La differenza tra "usare l'AI" e "usare l'AI a norma" non si vede sullo schermo — si vede dove passano i dati.
Il risultato
Per la farmacia:
— La casella email non va più aperta. Le ricette dei medici entrano da sole, complete, già associate al paziente.
— L'anagrafica pazienti si costruisce da sola.
— Le ricette si stampano in blocco, non una per volta.
— L'archivio si interroga scrivendo in italiano, non con i filtri.
— I casi dubbi sono pochi, evidenti e spiegati in italiano.
Per il paziente:
— Manda la ricetta con una foto, quando vuole, da dove vuole.
— Sa quando è pronta senza telefonare.
— Prenota i servizi dall'app.
— Ritira senza fare la coda per chiedere.
Le scelte che rifaremmo
L'intelligenza artificiale come rinforzo, non come motore. Sul lavoro ripetitivo e prevedibile vince il codice deterministico: costa zero, è istantaneo, dà sempre lo stesso risultato. L'AI serve dove le regole finiscono — e lì è insostituibile. Metterla dappertutto sarebbe stato più veloce da scrivere, più caro da usare e meno affidabile.
Ogni risposta dell'AI passa da un controllo. Nessun dato prodotto da un modello entra in archivio senza essere stato verificato contro qualcosa di indipendente.
Se l'AI si spegne, la piattaforma continua a funzionare. Nessuna funzione essenziale dipende dalla sua disponibilità.
Il sistema deve poter dire "non lo so". In sanità è la risposta più preziosa che esista.
Le farmacie si autonomizzano. La funzione di prova e le parole da insegnare esistono perché il farmacista risolva da solo i casi nuovi, senza passare da noi.
Il progetto è stato realizzato interamente in casa: analisi, progettazione del prodotto, sviluppo del backend, dell'interfaccia web, dell'app mobile, integrazione dell'intelligenza artificiale, infrastruttura e messa in produzione. Sotto il cofano: Laravel, PostgreSQL, React, Flutter per l'app, AI su Google Cloud in regione europea.
Se nella tua attività c'è un lavoro ripetitivo che qualcuno fa a mano ogni giorno — trascrivere documenti, allineare archivi, rispondere alle stesse telefonate — è esattamente il tipo di problema da cui partiamo. Abbiamo raccolto esempi concreti per settore nella pagina cosa può fare l'AI per la tua azienda; se invece vuoi vedere come lavoriamo su un sistema completo, questo è il lavoro che facciamo con il software su misura e gli agenti AI.
