Piattaforma per il monitoraggio a distanza dei pazienti affetti dal morbo di Parkinson
Tremor Monitoring è un sistema intelligente per il rilevamento continuo dei tremori nei pazienti affetti da Parkinson. Il progetto si pone l'obiettivo di essere uno strumento per il personale sanitario specializzato, per ottenere statistiche sull'andamento della malattia nel corso del tempo. L'obiettivo principale è stato quello di realizzare un'applicazione il meno invasiva possibile per il paziente, e il quanto più indipendente possibile da una sua interazione. Utilizzando lo smartwatch Google Pixel 2 si è potuto recuperare i dati sensoriali relativi al movimento del braccio, e tramite un dispositivo gateway come il Raspberry Pi 5 questi dati sono stati trasmessi sfruttando il Bluetooth Low Energy (BLE) fino al cloud, dove un sistema di intelligenza artificiale ha permesso di classificare il movimento del paziente. Questi dati sono poi stati resi accessibile tramite frontend al personale medico, previa registrazione sulla piattaforma.
L'architettura si basa su un sistema a microservizi, containerizzati con Docker e comunicanti tramite API RESTful. Il punto di accesso
per ogni richiesta è il servizio API GATEWAY, fornito da AWS, che si occupa dell'instradamento o di elaborazioni tramite il paradigma serverless e le Lambda functions:
- Backend basato sul framework SpringBoot in Java.
- Microservizio per la classificazione del tremore tramite l'uso dell'intelligenza artificiale
- Dati archiviati su MongoDB e S3;
- Frontend sviluppato in React+Vite
Il sistema include login sicuro, una dashboard per visualizzare i pazienti nel sistema, un'interfaccia di controllo per monitorare l'installazione del dispositivo, e il tracciamento dello storico dei tremori per assistere la diagnosi. Ogni componente è pensato per fornire supporto al medico durante la sua attività lavorativa, lasciando un determinato grado di libertà nella gestione del paziente.
L'interfaccia web è stata sviluppata usando React+Vite e distribuita tramite un'istanza sul cloud. Questa permette al medico di visualizzare i parametri relativi ai pazienti, visualizzarne la cartella clinica e eventualmente aggiornarla. Permette inoltre l'aggiunta/rimozione del paziente dal sistema e il monitoraggio dello stato di installazione del dispositivo nell'abitazione
Il backend è composto da 2 microservizi principali, entrambi containerizzati e deployati su architettura cloud: -User Service: dedicato alla gestione di pazienti e dottori all'interno del database -Tremor Analisys: dedicato all'elaborazione dei dati sensoriali, tramite l'utilizzo di algoritmi di intelligenza artificiale La comunicazione a questi 2 servizi infine è gestita dal servizio AWS di API GATEWAY.
Repository del progetto: