Air Liquide Medical Systems è l’ attività produttiva Air Liquide Healthcare (Gruppo Air Liquide) dedicata ai dispositivi medici per la cura delle patologie respiratorie. Con 40 anni di esperienza in ascolto dei pazienti ed in continua collaborazione con professionisti ed operatori del settore sanitario, la priorità di Air Liquide Medical Systems è quella di contribuire alla qualità e all’efficacia delle cure ottimizzando il comfort del paziente e semplificando l’uso dei dispositivi grazie alla ricerca, allo sviluppo di nuove soluzioni ed all’applicazione dei più elevati standard qualitativi.

Il cliente ci ha contattato per lo sviluppo di un software in grado di comunicare con ASL 5000 Breathing Simulator, un simulatore di respirazione della IngMar Medical che simula il respiro e la risposta tipici di un paziente. Lo scopo del nuovo applicativo era offrire uno strumento che eseguisse delle simulazioni attraverso script scritti ad hoc per poi leggere e interpretare i risultati di questi test.

Ecco l’iter di sviluppo e i risultati raggiunti.

Sviluppo applicativo desktop per Air Liquide Medical Systems: percorso e risultati

Siamo partiti da un’analisi del protocollo utilizzato dal device, consultando la documentazione fornita in prima battuta e con una serie di verifiche presso il cliente. Questa fase del progetto è stata fondamentale per approfondire la modalità di collegamento via socket, i comandi necessari per l’avvio / stop di una simulazione ed i dati di output tornati dal device. Abbiamo ottenuto subito buoni risultati anche grazie all’aiuto del personale qualificato del cliente che conosceva bene lo strumento ed ha facilitato tutte le verifiche svolte.

Raccolte le informazioni, non abbiamo subito iniziato lo sviluppo dell’applicativo desktop richiesto: abbiamo infatti preferito realizzare un prototipo senza interfaccia (o headless) concentrandoci solo sull’aspetto di comunicazione, esecuzione ed analisi dei dati. Sempre con l’aiuto del personale di Air Liquide Medical Systems abbiamo dunque iniziato a far “lavorare” il prototipo con gli script simulativi da quest’ultimo creati. E qui i primi feedback positivi: pilotato dal nostro software, il device ASL5000 funzionava correttamente e non era necessario alcun intervento manuale da parte dell’operatore.

Nella fase successiva siamo passati a leggere e convertire i dati di output dal formato binario ad un formato testuale. Questa parte non documentata è stata più complessa da realizzare, ma avendo esperienza con le varie integrazioni fatte in passato avevamo gli strumenti giusti per approcciare il problema. Con i dati ora leggibili potevamo concentrarci sulla loro interpretazione con l’analisi della pressione (cmh2o) e del volume dell’aria scambiata; per questo task si è reso necessario l’utilizzo di librerie per l’analisi dei segnali digitali e per svolgere operazioni quali resample o ricerca dei picchi.

ricercatori al computer

L’ultima fase è stata quella dello sviluppo dell’interfaccia grafica. Abbiamo creato un progetto Spring Boot con JavaFX che ci garantiva la portabilità su Windows, Mac e Linux. La UI aveva il compito di guidare l’operatore durante le fasi dei vari test, un pulsante per far partire la simulazione e poi al termine la presentazione di una lampadina verde o rossa sulla base dell’esito d’analisi di dati ricevuti in output dallo strumento. Per facilitare i primi debug, nell’interfaccia vengono anche presentati i valori delle variabili utilizzate per determinare l’esito dell’analisi.

Con il software pronto per l’utilizzo, abbiamo realizzato una pipeline GitLab per fare il build automatico dell’applicativo (o artifact) con configurazioni e script a corredo. Nel nostro CI/CD ogni push di una nuova modifica genera un nuovo pacchetto rilasciatile al cliente.

Sviluppo software e integrazioni personalizzati: contattaci!

Ti è piaciuto il nostro progetto per Air Liquide Medical Systems? Hai bisogno di un applicativo desktop personalizzato o di un‘integrazione custom che snelliscano la tua operatività quotidiana e ti aiutino a migliorare le tue performance? Contattaci senza impegno.