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