Mit Matlab entwickelte Algorithmen für den Wettbewerb »PhysioNet/Computing in Cardiology Challenge« unterscheiden in den erfassten Signalen von Geräten zur Patientenüberwachung auf Intensivstationen zuverlässig zwischen echten und falschen Alarmen.
Fehlalarme von Patientenüberwachungsgeräten sind auf Intensivstationen ein schwerwiegendes Problem. Bis zu 86 Prozent der Alarme auf Intensivstationen sind Fehlalarme [1] und weniger als zehn Prozent der Alarme sind für das Patientenmanagement von Bedeutung [2]. Akustische Fehlalarme stören den Schlaf der Patienten, und häufige Fehlalarme führen beim Pflegepersonal dazu, auf echte Warnungen langsamer zu reagieren.
Ziele und Anforderungen
Im Rahmen des 2015 ausgetragenen Wettbewerbs »PhysioNet/Computing in Cardiology Challenge« (kurz: PhysioNet/CinC) wurden Ideen gesucht, um die Häufigkeit von Fehlalarmen auf Intensivstationen zu verringern. Die Teilnehmer sollten Algorithmen entwickeln, die in den von Überwachungsgeräten auf Intensivstationen ausgewerteten Signalen unterscheiden konnten zwischen echten Alarmen und Fehlalarmen. Die hier besprochenen Algorithmen haben den ersten Platz in der Kategorie »Echtzeit« belegt und den zweiten Platz in der Kategorie »Retrospektive«. Sie erreichten eine Richtig-positiv-Rate von 92 Prozent und eine Richtig-negativ-Rate von 88 Prozent. Der PhysioNet/CinC-Wettbewerb beschäftigte sich mit der genauen Erkennung von fünf Arrhythmien:
Asystolie – das Aussetzen des Herzschlags für mindestens vier Sekunden
Bradykardie – eine Herzschlagfrequenz von unter 40 Schlägen pro Minute (bpm) für fünf aufeinander folgende Schläge
Tachykardie – eine Herzschlagfrequenz von über 140 bpm für 17 aufeinander folgende Schläge
Ventrikuläre Tachykardie – fünf oder mehr ventrikuläre Schläge (Schläge, die von der Herzkammer und nicht dem Vorhof ausgehen) mit einer Herzschlagfrequenz von mehr als 100 bpm
Kammerflattern oder -flimmern – Herzkammerflattern oder -flimmern von mindestens vier Sekunden Dauer
Die Teams untersuchten 750 fünfminütige 250-Hz-Aufzeichnungen von Intensivstationen der Physionet-Datenbank. Jede Aufzeichnung umfasste zwei EKG-Kanäle und -signale eines ABD-Überwachungsgeräts, eines PPG-Geräts (Photoplethysmograph) oder beider Geräte.
Die eingereichten Algorithmen des Wettbewerbs wurden in die zwei Kategorien Echtzeit und Retrospektive unterteilt. In der Kategorie Echtzeit wurden die Algorithmen anhand ihrer Fähigkeit bewertet, ernstzunehmende und falsche Alarme nur mithilfe vorliegender Daten noch vor dem Auslösen des Alarms zu erkennen. In der Kategorie Retrospektive verwendeten die Algorithmen zur Bewertung zusätzliche Daten, die bis zu 30 Sekunden nach Auslösen des Alarms gesammelt wurden.
Die Organisatoren des Wettbewerbs testeten die eingereichten Algorithmen an 500 Aufzeichnungen, die den Teilnehmern zuvor nicht bekannt waren. Die Algorithmen wurden mit einer Formel bewertet, die richtig-positive und richtig-negative Ergebnisse belohnt und falsch-positive und falsch-negative Ergebnisse bestraft. Alle Algorithmen wurden auf der internationalen Konferenz »Computing in Cardiology« präsentiert. Nach der Konferenz kündigten die Organisatoren eine Follow-up-Phase des Wettbewerbs an, in der die Teilnehmer dazu angehalten wurden, ihre Algorithmen weiterzuentwickeln und zu verbessern. Diese Follow-up-Phase endete im Februar 2016.
Auswahl der Herangehensweise
Allen Teilnehmern stand es frei, ihre Algorithmen in einer Sprache ihrer Wahl zu verfassen. Die Organisatoren boten allerdings Matlab-Unterstützung, indem sie die Datensätze als Matlab-Dateien zugänglich machten, das Beispiel eines in Matlab entworfenen Erkennungsalgorithmus zeigten und eine Matlab-Lizenz unentgeltlich zur Verfügung stellten. Dies bewirkte, dass auch Programmierer, die z. B. in C# oder Java Erfahrung hatten, nicht aber im Umgang mit Matlab, sich für Matlab entschieden, um sich auf die Entwicklung der Algorithmen konzentrieren zu können. Viele der benötigten Funktionen standen sofort zur Verfügung. War z. B. ein Histogramm erforderlich, eine Fast-Fourier-Transformation (FFT) oder ein Filter mit endlicher Impulsantwort (FIR, Finite Impulse Response), musste lediglich die entsprechende Matlab-Funktion aufgerufen werden.