Capability
Si parte dal lavoro da fare: sintesi, OCR, ricerca, classificazione, esportazione o un'altra operazione dichiarata.
Release sorgente 0.8.0 · programma Intelligence Fabric post-0.8
MediFlow è pensata per chi esercita in autonomia e per piccoli ambulatori. Significa che la cartella autorevole resta sul computer di chi cura, con i contenuti clinici sensibili cifrati. Con la 0.8.0 il Mac resta il nodo home-base autorevole; il workspace web e le superfici native per macOS, iPhone e iPad condividono i flussi clinici principali, adattati a ogni piattaforma. Il lavoro post-0.8 sull'Intelligence Fabric affronta il passaggio successivo: quando una funzione usa un esecutore diverso, deve dichiarare quale dato tocca, dove lavora e quale revisione chiede prima che il risultato entri nel lavoro clinico.
MediFlow gestisce anagrafica, diario, terapie, controlli, osservazioni e documenti. La cartella resta local-first; ogni eventuale elaborazione esterna deve essere separata, visibile e governata.
Anagrafica, diagnosi codificate, terapie, esami, osservazioni, allegati. Tutto in un unico posto, con i contenuti clinici sensibili cifrati.
Riassunti, OCR, suggerimenti ICD-11 e funzioni deterministiche. La 0.8 rifiuta gli output incompatibili; Intelligence Fabric aggiunge venue, metodo e provenienza al contratto.
Il PIN sblocca la chiave della sessione locale. I campi clinici sensibili restano cifrati sul disco; dispositivo e backup restano nel perimetro operativo da proteggere.
Backup notturno governato, ritenzione configurabile, manifesto e controllo preliminare prima del ripristino.
Più sedi e reparti distinguibili a colpo d'occhio. Permette di gestire più contesti senza confondere le persone in cura.
Esportazione FHIR R4 della storia clinica. Niente trappola: i tuoi dati restano riusabili anche fuori da MediFlow.
Il prodotto cambia di significato a seconda di chi lo guarda. Ecco cosa cambia per ciascuno.
La scheda clinica con la storia coerente: diagnosi codificate, terapie con principio attivo e ATC, controlli passati e in agenda, osservazioni con unità di misura standard, allegati con riassunto.
La cartella autorevole resta sul suo computer. Se una funzione intelligente lavora altrove, deve dirlo; in ogni caso, niente entra in scheda senza una conferma esplicita.
La 0.8 non chiede account o abbonamenti AI esterni. Un futuro provider opzionale resta separato dalla cartella e richiede un'attivazione esplicita.
Un pacchetto FHIR R4 con anagrafica, diagnosi, visite, terapie e osservazioni. Standard riconosciuto, leggibile da altri sistemi.
La risposta breve è: sul computer di chi cura. I contenuti clinici sensibili sono cifrati lato client e non escono per impostazione predefinita.
Può esistere solo dentro un flusso futuro, qualificato e autorizzato. Deve dichiarare minimizzazione, consenso, ritenzione e provider; oggi quel percorso è chiuso.
Diritto all'oblio (Art. 17 GDPR) con cancellazione governata. Portabilità dei dati (Art. 20) tramite esportazione in formato standard.
Senza PIN non si sblocca la sessione e i campi clinici cifrati restano ciphertext. Dispositivo, backup e metadati restano comunque parte del perimetro da proteggere.
Il database clinico resta single-tenant e local-first. Intelligence Fabric può scegliere un esecutore senza trasformare la cartella in un servizio centrale.
Verso SISS e FSE il confine è esplicito: oggi MediFlow prepara il contesto e richiama i percorsi ufficiali. Non dichiara un'integrazione regionale certificata dove non esiste.
Il registro append-only conserva chi, cosa, quando ed esito. I log applicativi non contengono PHI né testi clinici liberi fuori dal record.
Nessun canone cloud è obbligatorio. Login, abbonamento, API key e OAuth restano classi distinte; nessuna credenziale concede da sola accesso clinico.
Sono quattro vincoli che pesano sulle scelte tecniche e di prodotto. Quando entrano in conflitto con la velocità di sviluppo, vincono i vincoli.
La cartella autorevole resta sul computer. Da lì si parte. Se una funzione futura richiede un canale remoto, servono una policy esplicita, controlli qualificati e nessun fallback nascosto.
I campi clinici sensibili sono cifrati lato client con AES-256-GCM prima della scrittura. Il PIN non viene mai salvato. La chiave principale viene sbloccata dalla chiave derivata dal PIN, custodita in memoria solo durante la sessione e mai sul disco. Nessun ripristino possibile in caso di smarrimento del PIN: è una garanzia, non un bug.
ICD-11 per le diagnosi, ATC e AIC per i farmaci, LOINC e UCUM per le osservazioni, FHIR R4 per l'esportazione. Niente formato proprietario quando esiste un formato condiviso a livello internazionale.
Un risultato non basta: deve dire quale funzione lo ha prodotto, dove è stato calcolato, con quale metodo e da quale provenienza. Diagnosi e terapie richiedono sempre un'azione esplicita del medico.
Il punto non è scegliere una volta per tutte fra locale e cloud. Il punto è scegliere lo strumento in base al lavoro, al dato che tocca e al rischio che introduce.
Si parte dal lavoro da fare: sintesi, OCR, ricerca, classificazione, esportazione o un'altra operazione dichiarata.
Prima di eseguire qualcosa, MediFlow fissa classe del dato, luoghi ammessi, profilo di uscita, ritenzione e revisione richiesta.
A quel punto il resolver sceglie un esecutore compatibile. Se funzione, luogo o profilo non coincidono, il flusso si ferma senza fallback.
Il risultato porta con sé funzione, luogo e passaggi preparatori. Se usa un modello, dichiara anche provider e modello; prompt e contenuti clinici restano fuori dalla ricevuta.
Oggi il quadro è più semplice: le funzioni operative usano il processo locale o il Mac home-base. Ollama è l'unico connettore AI operativo; le pipeline deterministiche funzionano anche senza modello. Il gate verso servizi esterni resta chiuso.
Il contratto Intelligence Fabric esiste ed è stato verificato nel programma post-0.8. Non equivale a una funzione già consegnata: le venue on-device e cloud richiedono sviluppi e verifiche dedicate, e non ereditano autorizzazioni.
Un output ordinato non è ancora un'informazione affidabile. Deve portarsi dietro il proprio contesto operativo.
La cartella autorevole vive sul Mac. Browser locale, client macOS e dispositivi paired seguono percorsi distinti; Intelligence Fabric governa separatamente il luogo di ogni elaborazione.
Ogni client segue un percorso esplicito verso il Mac home-base. I client paired non accedono mai direttamente al database.
/api/*session cookie/api/v1/*bearer token locale/api/v1/network/*pairing + sessione · scritture versionateConfine operativo: loopback per il lavoro sul Mac; rete locale fidata soltanto in modalità network-home-base. Nessun cloud e nessun multi-master per impostazione predefinita.
Nella release 0.8.0 il Mac resta il nodo autorevole: contiene il database, espone le API e governa runtime e backup. Niente server centrale.
Web API per il browser, Native API versionata per i client Apple, Network API opzionale per i client paired in LAN fidata. Capability e versioni restano esplicite.
Runtime web, launcher e core sono verificati anche su Linux e Windows. Non equivale a promettere tre app desktop native complete.
Sei flussi essenziali, in ordine di vita di una giornata clinica. La 0.8.0 mantiene il Mac come base operativa e i client paired dentro capability esplicite.
Il professionista inserisce il PIN. Dal PIN si deriva una chiave intermedia, che a sua volta sblocca la chiave principale, mantenuta in memoria solo per la sessione attiva. Nessuna delle due viene salvata sul disco.
I campi sensibili (note, allegati, riassunti AI) vengono cifrati nel browser prima di partire verso l'API. Sul disco arrivano solo stringhe nella forma ENC:iv:cipher. Il server non vede mai il testo in chiaro.
Il client Apple cifra in locale, parla in HTTPS verso il proxy TLS sulla porta 3443, presenta un token bearer su un'API versionata /api/v1/*. Niente scraping della UI, niente dipendenza dai dettagli interni del web.
Nella 0.8 il referto passa al servizio OCR locale. Un secondo passaggio prepara sintesi, qualità del segnale e codici ICD espliciti. Il risultato viene accettato solo se rispetta il contratto richiesto.
Dal profilo paziente l'AI propone diagnosi e terapie a partire dalle fonti già presenti. Le proposte restano materiale di revisione associato alle evidenze. Nessun dato clinico strutturato entra nella scheda senza un'azione esplicita del medico.
Se attivata in modo esplicito, la modalità rete consente a un dispositivo accoppiato di consultare e aggiornare, entro capability dedicate, profilo e stato, diario, terapie, controlli, osservazioni, prestazioni e alcuni documenti manuali. Ogni scrittura richiede sessione operatore e numero di versione; niente sincronizzazione multi-master, hard delete remoto o invocazioni AI.
Il modello di minaccia è esplicito: descriviamo cosa copriamo e cosa non copriamo. La sicurezza non è una promessa, è un perimetro.
Il modello assume che un attaccante possa:
Per ognuno dei tre, la cifratura a riposo, la redazione dei log e il proxy TLS locale forniscono una difesa esplicita.
Un sistema operativo completamente compromesso (con keylogger e accesso alla memoria) e un attacco fisico a dispositivo già sbloccato sono fuori dal modello. In quei casi nessun software locale può proteggere efficacemente i dati.
AES-256-GCM lato client. Formato di campo cifrato esplicito (ENC:iv:cipher). KDF: PBKDF2-SHA256 da PIN + salt utente. La chiave principale è cifrata sotto la KEK derivata dal PIN ed è leggibile solo durante una sessione attiva.
Cinque tentativi falliti in quindici minuti attivano un blocco di pari durata. Risposte standard: 401 finché il blocco non scatta, 423 con header Retry-After durante il blocco. Il bearer token nativo non aggira la policy: il PIN è la barriera condivisa.
I log applicativi non contengono mai campi paziente decifrati, OCR grezzo, prompt AI completi o allegati. L'audit clinico è separato dai log tecnici: è strutturato, versionato e append-only, con catalogo di eventi minimo.
Nella 0.8 i proxy AI accettano solo destinazioni locali previste. Intelligence Fabric non cambia questo stato: un profilo remoto futuro deve superare gate, consenso, ritenzione, redazione e autorizzazione del provider. Nessun plug-in accede direttamente al database.
Ogni dato clinico ha un codice riconosciuto a livello internazionale. Niente vincoli proprietari sui formati di esportazione.
Diagnosi codificate secondo il sistema OMS, via API locale. Niente più testo libero ambiguo.
Esportazione della cartella in pacchetto JSON HL7 FHIR R4: Patient, Condition, Encounter, MedicationStatement, Observation.
Catalogo farmaci AIFA locale per terapie con principio attivo e codice di identificazione.
Codifica delle osservazioni con unità di misura standardizzate.
La release distingue ciò che è consegnato, i limiti ancora aperti e la direzione post-0.8. Una release sorgente non equivale a una pubblicazione App Store o a una certificazione.
SSI/A2AUna scheda pubblica onesta descrive anche i limiti scelti. Sono confini, non difetti.
Non sincronizziamo le cartelle attraverso Internet con un servizio centrale. La modalità Mac home-base copre solo la rete locale fidata, in opt-in, con scrittura limitata e versionata.
MediFlow non è un servizio condiviso fra strutture. È un'app per chi esercita in autonomia o per piccoli ambulatori che operano sotto la responsabilità di chi cura.
Nella 0.8 Ollama resta l'unico provider AI operativo. Intelligence Fabric non apre da sola un percorso cloud: oggi quel profilo non supera i requisiti e il gate resta chiuso.
Verso SISS/FSE oggi MediFlow prepara il contesto e richiama i percorsi ufficiali in modalità assistita. Niente UI regionale custom dentro il prodotto fino a una qualifica documentata.
L'AI non scrive diagnosi, terapie o altri dati clinici strutturati senza un'azione esplicita del medico. Gli output ambigui, incompleti o incompatibili con il contratto vengono rifiutati.
Nessun ping remoto per misurare l'uso. Nessun analytics o beacon nascosto. Un eventuale servizio esterno deve appartenere a una capability richiesta e riconoscibile.
Apri il termine che ti interessa. Niente acronimi senza traduzione.
La cartella autorevole e le funzioni essenziali restano locali. La rete è opzionale e governata. Local-first non vieta ogni servizio remoto: vieta che diventi invisibile, obbligatorio o necessario per aprire la cartella.
Il contratto post-0.8 che descrive ogni funzione intelligente come una capability. Per ogni richiesta fissa luogo di calcolo, profilo di uscita, revisione e provenienza, poi rifiuta le combinazioni non ammesse.
La venue è il luogo effettivo del calcolo: processo locale, Mac home-base, dispositivo o cloud. Egress indica un'uscita di dati dal perimetro locale. Nella 0.8 il profilo operativo è local_only e il gate esterno resta chiuso.
I campi clinici sensibili vengono cifrati lato client prima della scrittura sul disco. Il PIN sblocca la sessione e non viene salvato. Niente backdoor di recupero: questa è la garanzia, ma anche la responsabilità di chi cura.
L'algoritmo di cifratura usato. È uno standard internazionale considerato robusto. Il numero 256 si riferisce alla lunghezza della chiave in bit; più alto, più difficile da forzare.
Il PIN è quello che chi cura inserisce. Da lì si deriva una "chiave intermedia" (KEK) che serve a proteggere la "chiave principale" (master key). La master key è quella che cifra davvero i dati clinici e vive solo in memoria durante la sessione.
Standard internazionale (HL7 FHIR, versione R4) per scambiare dati sanitari tra sistemi. MediFlow lo usa per esportare la storia clinica in un formato che altri sistemi sono in grado di leggere.
Classificazione internazionale delle malattie, undicesima edizione, curata dall'OMS. Permette di codificare una diagnosi con un identificativo univoco (ad esempio 5A10), invece che con un testo libero soggetto a interpretazione.
Codici per i farmaci. ATC è la classificazione anatomico-terapeutica (a cosa serve il principio attivo); AIC è il codice che identifica un singolo medicinale autorizzato in Italia.
LOINC è un vocabolario standard per identificare osservazioni di laboratorio e cliniche. UCUM è uno standard per le unità di misura. Insieme rendono confrontabili i parametri tra sistemi diversi.
Un database che vive in un singolo file sul disco, senza bisogno di un server. Per MediFlow è il file medical.db: contiene i campi clinici cifrati e resta un file locale da proteggere con sistema operativo, backup e policy fisiche adeguate.
Un programma che permette di eseguire modelli di intelligenza artificiale direttamente sul computer di chi usa l'applicativo, senza chiamare servizi remoti.
Un registro di eventi (chi ha fatto cosa, quando, con che esito) a cui si può solo aggiungere, mai modificare o cancellare. Serve per ricostruire le azioni in caso di necessità clinica o normativa.
SISS è il Sistema Informativo Socio-Sanitario; FSE è il Fascicolo Sanitario Elettronico. MediFlow oggi non li sostituisce: prepara i dati per i percorsi ufficiali e richiama i flussi assistiti, restando dentro un confine dichiarato.
La modalità in cui il computer di chi cura fa da nodo locale: gli altri dispositivi Apple (iPhone, iPad) si accoppiano in modo esplicito e possono leggere e scrivere in modo limitato attraverso una rete locale fidata.
Un dispositivo accoppiato in modo esplicito al Mac home-base. Senza accoppiamento e senza una sessione attiva di chi cura, non può accedere ai dati.