Vashlabs: dal referto odontoiatrico al Fascicolo Sanitario Elettronico.

Generazione, firma e invio di referti CDA2 al Fascicolo Sanitario Elettronico, più la ricetta bianca elettronica, per un software usato dagli studi odontoiatrici.

Il gestionale produce referti CDA2 validati e firmati e li invia al Fascicolo Sanitario Elettronico attraverso due canali: middleware nazionale e INI della Regione Sicilia.

Cliente
Vashlabs
Settore
Software sanitario per studi odontoiatrici
Anno
2025–2026
Schema del flusso: dal gestionale al documento CDA2, validazione, PDF firmato, invio tramite middleware REST o INI Sicilia SOAP, esito restituito al gestionale
Flusso del referto verso il Fascicolo Sanitario Elettronico, semplificato.

Contesto

Vashlabs sviluppa software per studi odontoiatrici in Sicilia. Il prodotto doveva collegarsi al Fascicolo Sanitario Elettronico e gestire la ricetta bianca elettronica: due adempimenti con specifiche nazionali e regionali, poco spazio per interpretazioni e molti sistemi coinvolti.

Ho lavorato sul backend Java del prodotto tra marzo 2025 e agosto 2026, in coordinamento con il team della software house e sul loro codice esistente. Il mio incarico è stato lo sviluppo: hosting e messa in esercizio sono gestiti da Vashlabs.

Problema

Un referto per il FSE non è un semplice XML. Deve rispettare lo standard HL7 CDA2 con il profilo del referto di specialistica ambulatoriale, superare controlli XSD e Schematron, essere incorporato in un PDF e firmato digitalmente prima dell’invio.

L’invio segue due strade diverse: un middleware REST nazionale e i servizi SOAP dell’Infrastruttura Nazionale per l’Interoperabilità in sussidiarietà per la Regione Sicilia, con autenticazione tramite tessera sanitaria CNS. Ogni sistema risponde con identificativi, codici e stati propri, che il gestionale deve capire.

Soluzione

Ho costruito il modulo che porta un referto dal gestionale fino all’esito dell’invio. Ogni fase è esposta come operazione separata, così può essere eseguita e verificata da sola in fase di assistenza.

  • Generatore CDA2 per il referto di specialistica ambulatoriale (RSA 1.1): mappatura dei dati, controlli semantici, modello del documento e serializzazione XML, con versionamento dei documenti.
  • Validazione locale con XSD e Schematron (ART-DECOR, XSLT/SVRL), con errori e avvisi distinti.
  • Incorporamento del CDA nel PDF e firma PAdES con smart card (PKCS#11, Windows) oppure firma remota.
  • Canale middleware REST: validazione server, pubblicazione, stato transazione e cancellazione, con autenticazione HMAC.
  • Canale INI Sicilia SOAP: comunicazione metadati, esito caricamento, ricerca e cancellazione, con sessione CNS e proxy gateway.
  • Modello unico di risposta per il gestionale: successo, oppure errore con categoria, codice, dettagli e indicazione se è possibile riprovare.
  • Ricetta bianca elettronica, sviluppata sia lato backend sia lato frontend: invio, visualizzazione e annullamento delle ricette, autenticazione a due fattori, ricerca farmaci e diagnosi, promemoria PDF e interfaccia React avviata dal gestionale.

Risultato

Il gestionale può produrre, firmare e inviare referti conformi senza che lo studio si occupi di formati, firme e comunicazioni tra sistemi. Gli errori arrivano al gestionale con un significato chiaro invece di una risposta grezza del provider.

Le API sono documentate con OpenAPI e ogni fase del flusso è isolabile: utile per diagnosticare un invio fallito senza ripetere tutto da capo.

Dettagli tecnici

Backend Java 8 con Spring Boot e MySQL. Client SOAP generati da WSDL con JAX-WS, EU DSS per la firma PAdES, PDFBox per il PDF, Saxon per le trasformazioni Schematron. Frontend della ricetta bianca in React, servito dallo stesso backend.

  • Java
  • Spring Boot
  • HL7 CDA2
  • Schematron
  • PAdES / EU DSS
  • SOAP / JAX-WS
  • REST
  • MySQL
  • React

Hai un’integrazione complessa da portare nel tuo prodotto?

Posso affiancare il tuo team nell’analisi e nello sviluppo.