Kunde
Der Kunde bietet eine KI-basierte Plattform zur Analyse von Elektroenzephalogrammen (EEG), die darauf ausgelegt ist, neue Behandlungen zu beschleunigen und die menschliche Gesundheit durch fortschrittliche Gehirnanalysen zu verbessern. Der Kern dieser Lösung ist ein Bluetooth Low-Energy (BLE)-Gerät, das elektrische Wellen misst und in Daten umwandelt. Um die Daten zu erfassen, zu verarbeiten und auf einen Server hochzuladen, war eine mobile Anwendung erforderlich. Mit diesem Ziel vor Augen wandte sich der Kunde an Elinext, um eine plattformübergreifende mobile Anwendung zu entwickeln, die mit dem BLE-Gerät gekoppelt, EEG-Gehirndaten empfängt und auf einem mobilen Bildschirm anzeigt.
Prozess
Nach einem ersten Gespräch mit dem Kunden hat Elinext zwei Wochen damit verbracht, einen Prototyp einer mobilen App zu entwickeln. Der Kunde war daran interessiert zu testen, ob die App mit ihrem BLE-Gerät funktionieren könnte. Nach einer erfolgreichen Präsentation des Prototyps ging Elinext zur Entwicklungsphase über und nutzte dabei von dem Kunden entworfene App-Bildschirme. Insgesamt dauerte es dem Team 6 Monate, um einen funktionsfähigen Prototyp zu entwickeln. Aktuell durchläuft die App den 510(k)-Prozess, was bedeutet, dass sie die FDA-Zulassung für die Markteinführung erhalten muss.
Lösung
Die Lösung ist eine mobile Anwendung, die Echtzeit-EEG-Überwachungsdaten über eine grafische Benutzeroberfläche (GUI) anzeigt. Die aktuelle Version der mobilen Anwendung umfasst Funktionen, die es Benutzern ermöglichen, BLE-Geräte zu scannen und zu verbinden, eine Benachrichtigung zu erhalten, wenn die Verbindung zum Gerät unterbrochen wird, und den Batteriestand des EEG-Geräts anzuzeigen.
Die mobile App bietet detaillierte Anleitungen zur Einrichtung des Geräts sowie seines EEG-Kits.
Mit der App können Benutzer die Aufzeichnungssitzung starten oder beenden, EEG-Daten in Echtzeit anzeigen, die Ansichtseinstellungen ändern und Daten auf dem Cloud-Server speichern.
Kalender- und Stimmungsverfolgungsfunktionen
Die Kalenderfunktion hilft Benutzern, ihre EEG-Sitzungen im Auge zu behalten. Der Stimmungsverfolger überwacht die Schlafqualität und verfolgt Gefühle. Diese Funktion kann auch während Überwachungssitzungen genutzt werden, um Ereignisse wie beispielsweise Anfälle zu verfolgen. Diese Funktionen sind derzeit nicht in der 510(k)-App-Version enthalten, könnten jedoch möglicherweise in zukünftige App-Versionen integriert werden.
Schnelle und reibungslose App-Performance
Die App zeigt Daten als gekrümmten Graphen an, der sich in Echtzeit auf Grundlage der Informationen ändert, die von einem Gerät gesammelt wurden. Anschließend haben wir das SKIA Engine Tool verwendet, um die gekrümmte Linie auf dem Graphen zu zeichnen und anzuzeigen.
Wir nutzen requestAnimationFrame, um sicherzustellen, dass Aktualisierungen der Benutzeroberfläche mit der Bildwiederholrate des Geräts synchronisiert sind, die in der Regel bei etwa 60 Bildern pro Sekunde (FPS) liegt. Dadurch wird auch die Funktionalität der App auf leistungsschwächeren Geräten gewährleistet.
Der Benutzer kann mit dem Graphen interagieren, indem er den Bereich ändert (1 Sekunde, 2 Sekunden, 5 Sekunden, 10 Sekunden) und den Mikrovolt-Wert ändert. Der Graph zeigt Achsenbeschriftungen und Gitterlinien an, was eine klare visuelle Darstellung der Daten ermöglicht.
Benutzer können zwischen Hoch- und Querformat wechseln, wenn sie die Anwendung verwenden, und die Grafiken passen sich entsprechend an.
Detaillierte Dokumentation
Elinext hat ein 50-seitiges Systemdesign-Dokument erstellt, das detaillierte Beschreibungen zu Komponenten, ihren Eigenschaften, Ereignissen und Fehlerbehandlungen enthält. Darüber hinaus haben wir eine SOAP-Analyse sowie die Verifizierungsprotokolldokumente erstellt, die für QA-Ingenieure notwendig sind.
Funktion für den mehrteiligen Upload von Daten
Wir haben eine Funktion implementiert, die Dateien in 1-MB-Abschnitte aufteilt und sie auf einen Server hochlädt. Diese Lösung war entscheidend, da Überwachungssitzungen bis zu 14 Stunden dauern können und die Ausgabedaten bis zu 800 MB groß sein können. Die Verarbeitung solch großer Datenmengen ist komplex. Mit dieser neuen Funktion ist der Prozess des Datenuploads optimiert. Im Falle eines Fehlers beim Hochladen können Benutzer den Prozess von der Stelle aus neu starten, an der er unterbrochen wurde.
Authentifizierungsfunktion
Um die Authentifizierung innerhalb der App zu handhaben, haben wir Keycloak integriert. Dies ermöglicht uns, Benutzeridentitäten zu verwalten und es Einzelpersonen zu ermöglichen, sich sicher mit ihren Anmeldedaten anzumelden.
CI/CD Implementierung
Wir haben eine automatische Versionsierungsfunktion durch Skripte implementiert, die dabei helfen, eine Version der App zu erhöhen. Durch die Implementierung des automatisierten Build-Prozesses stellen wir sicher, dass der Code konstant gebaut und getestet wird, was für den CI/CD-Pipeline entscheidend ist.
Um den CI/CD-Prozess zu verbessern, haben wir auch die folgenden Fähigkeiten implementiert:
Linter-Funktion - sie stellt sicher, dass neue Entwickler, die dem Projekt beitreten, sich an festgelegte Codierungsstandards und Regeln halten. Pre-Commit-Hook - er verhindert, dass Entwickler Code commiten, der den Überprüfungsprozess nicht bestanden hat. Automatischer Änderungsverlauf - erzeugt automatisch Änderungsprotokolle und enthält Informationen wie die neueste Version der Anwendung, Fehlerkorrekturen und andere relevante Updates.
Ergebnisse
Das Ergebnis des Projekts ist eine plattformübergreifende mobile Anwendung, die Echtzeit-EEG-Überwachungsdaten bietet.
Derzeit durchläuft die App den 510(k)-Überprüfungsprozess. Sobald sie auf dem Markt akzeptiert wird, wird die App von medizinischen Zentren in Verbindung mit dem restlichen EEG-Kit, das vom Kunden entwickelt wurde, eingesetzt.