Release sorgente 0.8.0 · programma Intelligence Fabric post-0.8

MediFlow è una cartella clinica
local-first. Non significa che tutto debba restare locale.

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.

Leggi la scheda Apri la release 0.8
Cartella autorevole localePIN e cifraturaAI review-firstVenue esplicitaEgress chiuso nella 0.8

Una cartella clinica, niente di più. Niente di meno.

MediFlow gestisce anagrafica, diario, terapie, controlli, osservazioni e documenti. La cartella resta local-first; ogni eventuale elaborazione esterna deve essere separata, visibile e governata.

01

Una scheda paziente coerente

Anagrafica, diagnosi codificate, terapie, esami, osservazioni, allegati. Tutto in un unico posto, con i contenuti clinici sensibili cifrati.

02

Informazione che dichiara come nasce

Riassunti, OCR, suggerimenti ICD-11 e funzioni deterministiche. La 0.8 rifiuta gli output incompatibili; Intelligence Fabric aggiunge venue, metodo e provenienza al contratto.

03

Una sessione sbloccata dal PIN

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.

04

Salvataggi automatici

Backup notturno governato, ritenzione configurabile, manifesto e controllo preliminare prima del ripristino.

05

Multi-ambulatorio

Più sedi e reparti distinguibili a colpo d'occhio. Permette di gestire più contesti senza confondere le persone in cura.

06

Esci quando vuoi

Esportazione FHIR R4 della storia clinica. Niente trappola: i tuoi dati restano riusabili anche fuori da MediFlow.

«MediFlow è uno strumento. Il titolare del trattamento resta chi cura. Il software non sostituisce le sue responsabilità: gli dà solo gli attrezzi giusti per esercitarle.»Principio operativo

Tre punti di vista, una stessa cartella.

Il prodotto cambia di significato a seconda di chi lo guarda. Ecco cosa cambia per ciascuno.

Cosa vede ogni giorno

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.

Cosa cambia rispetto al solito

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.

Cosa non gli viene imposto

La 0.8 non chiede account o abbonamenti AI esterni. Un futuro provider opzionale resta separato dalla cartella e richiede un'attivazione esplicita.

Cosa porta via se cambia idea

Un pacchetto FHIR R4 con anagrafica, diagnosi, visite, terapie e osservazioni. Standard riconosciuto, leggibile da altri sistemi.

Dove finiscono i suoi dati

La risposta breve è: sul computer di chi cura. I contenuti clinici sensibili sono cifrati lato client e non escono per impostazione predefinita.

Quando può esistere un invio

Può esistere solo dentro un flusso futuro, qualificato e autorizzato. Deve dichiarare minimizzazione, consenso, ritenzione e provider; oggi quel percorso è chiuso.

Quali diritti restano garantiti

Diritto all'oblio (Art. 17 GDPR) con cancellazione governata. Portabilità dei dati (Art. 20) tramite esportazione in formato standard.

Cosa succede se il computer viene rubato

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.

Modello di dispiegamento

Il database clinico resta single-tenant e local-first. Intelligence Fabric può scegliere un esecutore senza trasformare la cartella in un servizio centrale.

Compatibilità con il SSR

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.

Cosa resta tracciato

Il registro append-only conserva chi, cosa, quando ed esito. I log applicativi non contengono PHI né testi clinici liberi fuori dal record.

Costi e credenziali

Nessun canone cloud è obbligatorio. Login, abbonamento, API key e OAuth restano classi distinte; nessuna credenziale concede da sola accesso clinico.

Quattro promesse non negoziabili.

Sono quattro vincoli che pesano sulle scelte tecniche e di prodotto. Quando entrano in conflitto con la velocità di sviluppo, vincono i vincoli.

Idefault

Local-first, non local-only

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.

IIcifratura

Cifratura lato client

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.

IIIinteroperabilità

Standard aperti

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.

IVprovenienza

Informazione contestualizzata

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.

Local-first non significa local-only.

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.

01

Capability

Si parte dal lavoro da fare: sintesi, OCR, ricerca, classificazione, esportazione o un'altra operazione dichiarata.

02

Policy

Prima di eseguire qualcosa, MediFlow fissa classe del dato, luoghi ammessi, profilo di uscita, ritenzione e revisione richiesta.

03

Risoluzione

A quel punto il resolver sceglie un esecutore compatibile. Se funzione, luogo o profilo non coincidono, il flusso si ferma senza fallback.

04

Provenienza

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.

Stato della 0.8

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.

Contratto post-0.8

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.

Come arriva l'informazione

Un output ordinato non è ancora un'informazione affidabile. Deve portarsi dietro il proprio contesto operativo.

Che cosa
La capability e l'operazione che hanno prodotto il risultato.
Dove
Processo locale, Mac home-base, dispositivo o servizio cloud autorizzato.
Come
Pipeline deterministica o modello, con provider e passaggi preparatori dichiarati.
Con quali limiti
Profilo di uscita, ritenzione, stato di disponibilità e revisione richiesta.
Cosa succede dopo
Informazione, proposta da rivedere o azione clinica separata e autorizzata.

Dove vivono i dati. Chi parla con chi.

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.

Tre ingressi, un solo nodo autorevole.

Ogni client segue un percorso esplicito verso il Mac home-base. I client paired non accedono mai direttamente al database.

IngressoPercorsoMac home-base · nodo autorevole
Browser web localeUI clinica · cifratura lato client
HTTP loopback · :3000
Client macOS localeSessione sicurezza · cifratura locale
HTTPS loopback · :3443
iPhone, iPad o Mac pairedOpt-in · LAN fidata · capability esplicite
HTTPS LAN · :3443
Web API/api/*session cookie
TLS proxy → Native API/api/v1/*bearer token locale
TLS proxy → Network API/api/v1/network/*pairing + sessione · scritture versionate

Dentro il Mac home-base

medical.dbSQLite autorevole · campi clinici sensibili cifrati
Backup localeartifact governato · retention configurabile
Servizi locali opzionaliOllama :11434 · ICD-11 :8888OpenMed :18080 solo shadow evaluation
Credenziali e TLStoken locale 0600 · percorsi certificato configurabili

Confine 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.

Un nodo, non un servizio

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.

Tre superfici API distinte

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 condiviso, perimetro chiaro

Runtime web, launcher e core sono verificati anche su Linux e Windows. Non equivale a promettere tre app desktop native complete.

Cosa succede davvero quando lavori in scheda.

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.

FLUSSO · 01

Sblocco e attivazione delle chiavi

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.

FLUSSO · 02

Scrittura clinica dal browser

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.

FLUSSO · 03

Lettura/scrittura dal client macOS nativo

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.

FLUSSO · 04

Documento → OCR → sintesi → archivio

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.

FLUSSO · 05

Smart import revisionabile

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.

FLUSSO · 06

Modalità Mac home-base con client paired

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.

Cosa proteggiamo. Da chi. Come.

Il modello di minaccia è esplicito: descriviamo cosa copriamo e cosa non copriamo. La sicurezza non è una promessa, è un perimetro.

Cosa copriamo

Il modello assume che un attaccante possa:

  • ottenere il file del database (furto del disco, leak di un backup)
  • leggere log applicativi, screenshot o crash report
  • annusare il traffico locale verso i client

Per ognuno dei tre, la cifratura a riposo, la redazione dei log e il proxy TLS locale forniscono una difesa esplicita.

Cosa non copriamo

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.

Cifratura

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.

Lockout autenticazione

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.

Logging e redazione

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.

Boundary verso servizi esterni

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.

Standard veri, non promesse.

Ogni dato clinico ha un codice riconosciuto a livello internazionale. Niente vincoli proprietari sui formati di esportazione.

ICD-11

Diagnosi codificate secondo il sistema OMS, via API locale. Niente più testo libero ambiguo.

FHIR R4

Esportazione della cartella in pacchetto JSON HL7 FHIR R4: Patient, Condition, Encounter, MedicationStatement, Observation.

ATC · AIC

Catalogo farmaci AIFA locale per terapie con principio attivo e codice di identificazione.

LOINC · UCUM

Codifica delle osservazioni con unità di misura standardizzate.

Stato pubblico dalla 0.8.0.

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.

v0.8.0 · release sorgente

Workspace web e superfici Apple sullo stesso tree verificato

  • Mac home-base come nodo autorevole per database, runtime e backup
  • Superfici native per macOS, iPhone e iPad con flussi clinici principali adattati alla piattaforma
  • Campi clinici sensibili cifrati, audit append-only e lockout autenticazione
  • Runtime web, launcher e core verificati anche su Linux e Windows, senza dichiarare app desktop native complete
Apple native · parità semantica non completa

Mac nodo autorevole, iPhone e iPad come client paired

  • Pairing esplicito su rete locale fidata
  • Capability discovery e scritture online versionate
  • 30 delle 43 capability con obiettivo di parità risultano complete; 13 restano parziali
  • VoiceOver reale su iPhone e iPad non ancora provato; gli audit automatici non equivalgono a conformità
Document intelligence · review-first

OCR, sintesi ed evidenze con controlli fail-closed

  • Patient Insight, Smart Import e sintesi accettano solo output compatibili con il contratto richiesto
  • Gli output ambigui, multipli, incompleti o con chiavi riservate duplicate vengono rifiutati
  • Le diagnosi estratte restano materiale di revisione e non entrano automaticamente nella scheda
  • Ollama resta l'unico provider AI operativo della release
Boundary regionali · handoff assistito

SISS/FSE dentro il perimetro documentato

  • MediFlow prepara il contesto e richiama i percorsi ufficiali
  • Niente integrazione regionale nativa certificata dichiarata senza qualifica SSI/A2A
  • Prescrizioni di prestazione separate dalle terapie farmacologiche
  • Matching repertorio reviewable, non spacciato per invio regionale
Post-0.8 contratto definito

Intelligence Fabric, un solo contratto per funzioni diverse

  • 5 capability generative e 11 deterministiche registrate nello scaffold verificato
  • Routing esplicito fra processo locale, Mac home-base e future venue on-device o cloud
  • Policy immutabile, provenienza obbligatoria, fallback assente e resolver fail-closed
  • Provider esterni, consenso cloud e interfacce consumer non sono funzioni complete della 0.8
Visione futura

Un ecosistema clinico locale, aperto, installabile

  • Esperienza nativa multi-dispositivo coerente sotto un unico contratto
  • Integrazione SISS/FSE solo se qualificata e sostenibile
  • Contratti di esportazione e migrazione formalizzati

Cosa MediFlow non fa, e non vuole fare adesso.

Una scheda pubblica onesta descrive anche i limiti scelti. Sono confini, non difetti.

Niente sincronizzazione cloud completa

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.

Niente multi-tenant centralizzato

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.

Nessun invio esterno implicito

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.

Niente integrazione regionale fuori boundary

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.

Niente automatismi clinici al buio

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.

Niente telemetria silenziosa

Nessun ping remoto per misurare l'uso. Nessun analytics o beacon nascosto. Un eventuale servizio esterno deve appartenere a una capability richiesta e riconoscibile.

I termini, spiegati a chi non scrive software.

Apri il termine che ti interessa. Niente acronimi senza traduzione.

Local-first / Locale prima di tutto

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.

Intelligence Fabric

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.

Venue ed egress

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.

Cifratura a riposo / PIN

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.

AES-256-GCM

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.

PIN, KEK, master key

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.

FHIR R4

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.

ICD-11

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.

ATC, AIC

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, UCUM

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.

SQLite

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.

Ollama

Un programma che permette di eseguire modelli di intelligenza artificiale direttamente sul computer di chi usa l'applicativo, senza chiamare servizi remoti.

Audit append-only

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 / FSE

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.

Mac home-base

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.

Paired client

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.

«Un software clinico utile è uno che chi lo usa può capire, controllare e abbandonare quando vuole. MediFlow è scritto per essere usato così, non per trattenere chi lo usa.»Visione di prodotto