FlexNIRS - App de Monitoreo Cerebral para Harvard Medical

SaludIoTInvestigación Médica
Pierluigi Raffone
Liderado porPierluigi Raffone
FlexNIRS - App de Monitoreo Cerebral para Harvard Medical

El Problema

FlexNIRS es un oxímetro cerebral wearable de bajo costo desarrollado en el Massachusetts General Hospital. El dispositivo monitorea niveles de oxígeno cerebral mediante espectroscopía de infrarrojo cercano (NIRS), pero necesitaba una app móvil para recolección de datos. El equipo de investigación necesitaba tanto una interfaz detallada para investigadores expertos como un modo simplificado para asistentes que realizan estudios de rutina.

La Solución

Desarrollamos una app Flutter para iOS y Android que se conecta a FlexNIRS vía Bluetooth Low Energy. La app tiene dos modos: Expert mode con visualización completa de señales, acceso a datos raw y configuración avanzada; Non-Expert mode con setup guiado y controles simplificados para asistentes de investigación. Gráficos en tiempo real muestran datos de oxigenación cerebral (SO2) a 100 Hz. La app maneja el emparejamiento del dispositivo, registro de datos y proporciona feedback inmediato sobre calidad de señal.

Mantener viva la conexión

Transmitir datos de SO2 a 100 Hz por BLE no es cuestión de leer una characteristic dentro de un bucle. A esa frecuencia el connection interval, el MTU y la estructura de los paquetes hay que negociarlos con cuidado, o el teléfono empieza a perder muestras de una forma que en la señal parece ruido y no un problema de transporte.

El problema más difícil es lo que pasa fuera del laboratorio. Un asistente de investigación bloquea el teléfono, va a otra sala, vuelve. iOS suspende la app, la conexión se cae, y si la app no está construida para esperarlo vuelve con un hueco en la grabación y ninguna indicación de que algo haya fallado. Lo resolvimos con los background modes declarados para este caso de uso concreto, state restoration para que el sistema pueda relanzar la app y devolverle la conexión, y una lógica de reconexión que hace backoff en lugar de reintentar de forma agresiva y acabar limitada.

En un dispositivo de investigación esto pesa más de lo normal. Un hueco en un dataset no es un bug que el usuario note enseguida. Es un bug que descubre semanas después, cuando el estudio ya ha terminado.

Dos usuarios, una sola app

El equipo de investigación tenía dos usuarios muy distintos. Un investigador con experiencia necesita acceso a la señal raw, configuración completa y poder ver cuándo la calidad del dato se degrada. Un asistente que lleva un estudio de rutina necesita conectar el dispositivo, confirmar que funciona y pulsar grabar.

Construir una sola interfaz para ambos habría fallado con los dos. Construimos dos modos con un data layer compartido debajo: misma pipeline de adquisición, mismo logging, distinta cantidad de máquina expuesta. El modo Expert muestra los canales raw y la configuración. El modo Non-Expert ofrece un setup guiado y un único indicador de calidad de señal que dice si la colocación es lo bastante buena para empezar.

Es un patrón que aparece en casi todas las apps de dispositivos médicos en las que hemos trabajado. Quien maneja el dispositivo y quien interpreta los datos rara vez son la misma persona.

Prof. Maria Angela Franceschini
Entendieron nuestros requisitos rápidamente y entregaron un producto confiable. La app se ve genial y funciona como esperábamos.
Maria Angela FranceschiniProduct Lead en MGH / Harvard Medical

Resultados

100 HzDatos en tiempo real
Sleep modeConexión persistente
Data processingCalidad de señal y logging
2 modosExpert y Non-Expert

Puntos Clave

  • Conexión Bluetooth Low Energy al wearable FlexNIRS
  • Expert mode: visualización completa de señales y acceso a datos raw
  • Non-Expert mode: setup guiado para asistentes de investigación
  • Gráficos de oxigenación cerebral (SO2) en tiempo real a 100 Hz
  • Feedback de calidad de señal y registro de datos

Categoría

SaludIoTInvestigación Médica

Cliente

Harvard Medical School

Sector

Salud

Tecnología

Flutter

Tech Stack

FlutteriOS & AndroidBluetooth Low EnergyGráficos en Tiempo RealProcesamiento de Señales

Estado

En uso en el Mass General

Sobre el líder del proyecto

Pierluigi Raffone

Pierluigi Raffone

15+ años de experiencia

Engineer and entrepreneur with 15+ years in electronics, firmware, and IoT. Bridges hardware and software to create connected experiences.