-
Gebiet der
Erfindung
-
Diese Erfindung bezieht sich auf
das elektronische Schaltungsgebiet bzw. Gebiet elektronischer Schaltungen.
Genauer gesagt bezieht sich diese Erfindung auf eine medizinische
Vorrichtung zum Klassifizieren von Herzschlägen in einer EKG-Wellenform.
-
Hintergrund
der Erfindung
-
Designer bzw. Entwickler von medizinischen Instrumenten
bzw. Vorrichtungen, wie Kardiographen, stellen sich vielen unterschiedlichen
Herausforderungen in ihrer Arbeit. Von den Geräten, die sie entwerfen, wird
erwartet, daß sie
Informationen hoher Qualität über die
elektrische Aktivität
eines Herzens eines Patienten an einen Kardiologen oder anderes
medizinisches Personal liefern, so daß eine korrekte Diagnose des
Zustands des Herzens eines Patienten gemacht werden kann. Unglücklicherweise liefern
die EKG-Elektroden, die mit dem bzw. an den Patienten verbunden
bzw. angeschlossen sind, normalerweise EKG-Daten an einen Kardiographen,
die nicht nur Information, die die elektrische Aktivität des Herzens
des Patienten zeigt, sondern auch elektrisches Rauschen umfassen.
Diese Störungen
können den
Großteil
der EKG-Daten ausmachen und können den
Anteil bzw. Teil der EKG-Daten, die Informationen über die
elektrische Aktivität
eines Herzens eines Patienten enthalten, fälschen oder total überlagern. Dieses
Problem ist besonders akut bei feindlichen Umgebungen bzw. Umständen, wie
bei einem Patient, der einen Streß- oder Belastungstest durchläuft, bei
dem die Störungen
bzw. das Rauschen sehr extrem sein können. Wenn die Entwickler von
medizinischen Vorrichtungen nicht erfolgreich im Entwerfen einer
medizinischen Vorrichtung sind, die diese EKG-Daten analysiert,
um die Effekte dieses Rauschens zu eliminieren oder reduzieren,
wird der Kardiologe oder anderes medizinisches Personal es schwer,
wenn nicht unmöglich
finden, Information über
ein Patientenherz, wie die Klassifizierung der Art eines Herzschlags
zu erlangen, die verwendbar ist beim Erzielen bzw. Ableiten einer
korrekten Diagnose des Zustands des Herzens des Patienten.
-
US Patent 4,589,420 beschreibt ein
Verfahren und eine Vorrichtung für
eine automatische Rhythmusanalyse von digitalisierten EKG-Signalen. Zu überprüfende bzw.
Testherzschläge
werden detektiert und das Rauschen des EKG-Signalanteils, der den
Test enthält,
wird ausgewertet, um zu bestimmen, ob der Test ein gültiger bzw.
korrekter, nominaler oder störungsbehafteter
Schlag oder ein ungültiges,
inkorrektes, störungsbehaftetes,
gesättigtes
Signal ist. Das Zeitverhalten von detektierten, sowohl störungsbehafteten
als auch nominalen Herzschlägen
wird relativ zu vorab validierten Herzschlägen bestimmt.
-
Zusammenfassung
der Erfindung
-
Im Zusammenhang mit der vorliegenden
Erfindung wird eine medizinische Vorrichtung zur Verfügung gestellt,
wie sie in Anspruch 1 beansprucht ist.
-
In einer bevorzugten Ausführung umfaßt die medizinische
Vorrichtung eine Vorrichtung zum Klassifizieren von Herzschlägen, welche
EKG-Daten von einer Vielzahl von EKG-Wel lenformen erhält, welche der
Reihe nach von Signalen erhalten werden, die von einer Vielzahl
von EKG-Elektroden empfangen bzw. aufgenommen werden. Eine QRS-Detektionslogik
detektiert Herzschläge
in den EKG-Daten. Eine Klassifizierungslogik teilt die erfaßten Herzschläge basierend
auf Form und/oder Zeitverhalten in Kategorien ein. Diese Klassifizierung
wird durch ein Vergleichen jedes Herzschlags mit einer Gruppe von Modellen
bzw. Schablonen, die einer oder mehreren Herzschlagklassifizierungen
entsprechen, gemacht. Die Modelle werden aktualisiert, um Änderungen
in der Morphologie der Herzschläge
nachzuvollziehen. Die Herzschlagklassifizierung wird dem Kardiologen oder
medizinischen Personal für
eine Diagnose des Zustands des Herzens des Patienten angezeigt.
-
BESCHREIBUNG
DER ZEICHNUNGEN
-
1 zeigt
ein Blockdiagramm der medizinischen Vorrichtung der bevorzugten
Ausführung
der Erfindung.
-
2 zeigt
ein Blockdiagramm der medizinischen Vorrichtung von 1 in größerem Detail.
-
3 zeigt
einen Prozessor einer Berechnungseinheit der medizinischen Vorrichtung
von 2 in größerem Detail.
-
4 und 12 zeigen Flußdiagramme
des Betriebs des Kardiographen der bevorzugten Ausführung der
Erfindung.
-
5 zeigt
ein Flußdiagramm
hohen Niveaus des Betriebs der Berechnungseinheit der bevorzugten
Ausführung
der Erfindung.
-
6 zeigt
ein Flußdiagramm
des Betriebs einer QRS-Detektionslogik der bevorzugten Ausführung der
Erfindung.
-
7 zeigt
ein Flußdiagramm
des Betriebs der Herzfrequenzberechnungslogik der bevorzugten Ausführung der
Erfindung.
-
8 zeigt
ein Flußdiagramm
des Betriebs der Klassifizierungslogik der bevorzugten Ausführung der
Erfindung.
-
9 zeigt
ein Flußdiagramm
des Betriebs der Anordnungslogik der bevorzugten Ausführung der
Erfindung.
-
10 zeigt
ein Flußdiagramm
des Betriebs der repräsentativen
Herzschlags-Erzeugungslogik der bevorzugten Ausführung der Erfindung.
-
11 zeigt
ein Flußdiagramm
des Betriebs der Meßlogik
der bevorzugten Ausführung
der Erfindung.
-
13 zeigt
einen Graphen von drei beispielhaften EKG-Wellenformen, die von der QRS-Detektionslogik
der bevorzugten Ausführung
der Erfindung verwendet werden.
-
14 zeigt
einen Graph einer beispielhaften aktiven Funktion, die von der QRS-Erfassungslogik
der bevorzugten Ausführung
der Erfindung verwendet wird.
-
15 zeigt
einen Graph von beispielhaften klassifizierten Herzschlägen.
-
16 zeigt
einen Graph von beispielhaften Herzschlägen, die durch die Ausrichtungslogik
der bevorzugten Ausführung
der Erfindung ausgerichtet werden.
-
17 zeigt
einen Graph von beispielhaft ausgerichteten Herzschlägen, die
durch die repräsentative
Herzschlag-Erzeugungslogik der bevorzugten Ausführung der Erfindung zeitlich
unterteilt werden.
-
18 zeigt
einen Ausdruck oder eine Anzeige eines repräsentativen Herzschlags ohne
Messungen.
-
19 zeigt
einen Ausdruck oder eine Anzeige eines repräsentativen Herzschlags mit
Messungen.
-
Detaillierte Beschreibung
der bevorzugten Ausführung
-
2. Überblick
-
1 zeigt
ein Blockdiagramm der medizinischen Vorrichtung der bevorzugten
Ausführung
der Erfindung. Die medizinische Vorrichtung 10 umfaßt eine
Erfassungseinheit 20, Elektroden 25, einen Kardiographen 40 und
der Berechnungseinheit 60. In einer bevorzugten Ausführung sind
ein Kardiograph 40 und die Erfassungseinheit 20 separate
Komponenten eines PageWriter XLi, hergestellt von Hewlett-Packard
company, modifiziert, um die Flußdiagramme von 4 und 12 der
bevorzugten Ausführung
der Erfindung auszuführen.
Die Berechnungseinheit 60 ist ein HP Vectra Personal Computer,
der geeignet programmiert ist, um die Flußdiagramme von 5–11 der bevorzugten Ausführung der
Erfindung auszuführen.
-
2 zeigt
ein Blockdiagramm einer medizinischen Vorrichtung 10 in
größerem Detail.
Der Kardiograph 40 beinhaltet eine Erfassungseinheits-Schnittstelle 41,
einen Prozessor 45, einen Drucker 47 und eine
Berechnungseinheits-Schnittstelle 49. Der Prozessor 45 führt die
Flußdiagramme
von 4 und 12 der bevorzugten Ausführung der
Erfindung aus. Die Berechnungseinheit 60 beinhaltet eine Kardiographen-Schnittstelle 61,
einen Prozessor 65, eine Anzeige 66, ein Eingabegerät 67,
einen Speicher bzw. Arbeitsspeicher 68 und einen Speicher 69. Der
Prozessor 65 führt
die Flußdiagramme
von 5–11 der bevorzugten Ausführung der
Erfindung aus. Während 2 die medizinische Vorrichtung 10 als
diskrete Komponenten beinhaltend zeigt, werden Fachleute anerkennen,
daß die
medizinische Vorrichtung 10 eine einzelne Einheit sein
kann, die jede der Komponenten ent hält, die in 2 gezeigt wird, oder eine andere Anzahl
von diskreten Komponenten enthält,
und noch immer innerhalb des Geists und des Bereichs der Erfindung
fallen würde.
-
3 zeigt
den Prozessor 65 der Berechnungseinheit 60 der
medizinischen Vorrichtung 10 detaillierter. Der Prozessor 65 enthält eine
QRS-Detektionslogik 71, eine Herzfrequenzberechnungslogik 73,
eine Klassifizierungslogik 74, eine Ausrichtungslogik 75,
eine repräsentative
Herzschlag-Erzeugungslogik 77 und eine Meßlogik 78.
In der bevorzugten Ausführung
wird jeder dieser Logikblocks durch Software ausgeführt, die
geschrieben ist, um die Funktionen der relevanten Teile der Flußdiagramme
auszuführen,
die in 5–11 gezeigt sind, und diese
Software wird durch den Prozessor 65 ausgeführt. Alternativ
dazu könnten
manche oder alle der Logikblöcke 71–78 Hardware
für spezielle
Erfordernisse bzw. Zwecke sein, wie solche, die in anwendungsspezifischen,
integrierten Schaltungen enthalten ist, die entworfen ist, um Funktionen
von relevanten Teilen der Flußdiagramme
auszuführen,
die in 5–11 gezeigt sind.
-
4 zeigt
ein Flußdiagramm
der Arbeit bzw. des Betriebs eines Kardiographen 40 der
bevorzugten Ausführung
der Erfindung. In Block 101 werden EKG-Signale von Elektroden 25 der
Erfassungseinheit 20 empfangen. In der bevorzugten Ausführung sind
diese Signale digitale Signale, die mit einer hohen Abtastungsrate
bzw. -frequenz abgetastet werden. Block 103 dezimiert bzw.
vernichtet und filtert die abgetasteten EKG-Signale außerhalb
einer vorbestimmten Bandweite bzw. -breite. In der bevorzugten Ausführung ist
die vorbestimmte Bandbreite ,01 Hz–150 Hz, und der Dezimierungsprozeß reduziert
die Anzahl der Werte auf ein Achtel der Anzahl der originalen bzw.
ursprünglichen
Werte. Block 105 macht zwölf EKG-Ableitungen für die zehn
Elektroden in einer herkömmlichen
Art. Die Signale, die in den zwölf
EKG-Ableitungen
beinhaltet sind, werden hier als "EKG-Wellenformen" bezeichnet, und die Information, die
darin beinhaltet bzw. enthalten ist, wird hier als "EKG-Daten" bezeichnet. Fachleute
werden anerkennen, daß die
tatsächliche
Anzahl der Elektroden oder Ableitungen bzw. Leitungen unterschiedlich zu
den oben besprochenen sein kann und noch immer innerhalb des Geists
und des Bereichs der Erfindung fällt.
Block 108 sendet EKG-Daten betreffend die EKG-Wellenformen
zu der Berechnungseinheit 60. Das Flußdiagramm endet in Block 109.
-
5 zeigt
ein Flußdiagramm
hohen Niveaus der Arbeit der Berechnungseinheit 60 der
bevorzugten Ausführung
der Erfindung. Block 201 empfängt die EKG-Wellenformen, die
die EKG-Daten des Kardiographen 40 beinhalten.
Block 203 filtert die EKG-Daten vorwärts. In der bevorzugten Ausführung ist
dieser Filter ein Hochpaßfilter,
das als Teil eines Vorwärts-/Rückwärts-/Filterschemas
verwendet wird, um eine Basislinienwanderung zu entfernen, während Niederfrequenzinformation
in den EKG-Daten bewahrt werden. Block 300 ruft ein Unterprogramm auf,
das die Herzschläge
(d. h. QRS-Komplexe) in den EKG-Wellenformen detektiert. Dieses
Unterprogramm bzw. diese Subroutine berechnet eine Aktivitätsfunktion
aus einer Untermenge bzw. einem Subsatz der EKG-Wellenformen, von
welchen bestimmt wurde, am wenigstens gestört zu sein, und verwendet diese
Aktivitätsfunktion,
um nach Herzschlägen zu
suchen. Dies erlaubt, daß wahre
Herzschläge
erfaßt
bzw. detektiert werden, während
falsche "Rausch"- bzw. "Störungs"-Schläge verworfen
werden. Die Arbeit dieses Unterprogramms wird später detaillierter im Zusammenhang
mit der Diskussion von 6 beschrieben.
-
Block 400 ruft ein Unterprogramm
auf, das die Herzschlagfrequenz des Patienten berechnet. Diese Logik
bestimmt die Intervalle zwischen den Herzschlägen, verwirft einen Prozentsatz
der kürzesten
und längsten
Intervalle und mittelt die restlichen bzw. verbleibenden Intervalle,
um die Herzschlagfrequenz des Patienten zu erhalten. Dies mündet in
einer robusten bzw. stabilen Berechnung der Herzfrequenz, sogar
in der Gegenwart von Störungen,
die fälschlicherweise
als Herzschläge
detektiert werden, und verfehlten Schlägen, die üblich in störungsanfälligen Umgebungen sind. Die
Arbeit dieses Unterprogramms wird später in größerem Detail im Zusammenhang
mit der Diskussion von 7 beschrieben.
-
Block 500 ruft ein Unterprogramm
auf, das Herzschläge
klassifiziert. Diese Klassifizierung wird durch einen Vergleich
jedes Herzschlags mit einer Modellgruppe entsprechend einer oder
mehrerer Herzschlagklassifizierungen gemacht. Die Modelle bzw. Schablonen
werden aktualisiert, um Änderungen
in der Morphologie der Herzschläge
zu erfassen. Die Arbeit dieses Unterprogramms wird später in größerem Detail
in Zusammenhang mit der Diskussion von 8 beschrieben.
-
Block 205 filtert die EKG-Daten
rückwärts. In der
bevorzugte Ausführung
ist dieses Filter ein Hochpaßfilter,
das als ein Teil eines Vorwärts-/Rückwärtsfilterschemas
verwendet ist, um eine Basislinienwanderung zu entfernen, während Niederfrequenzinformation
in den EKG-Daten bewahrt wird.
-
Block 600 ruft ein Unterprogramm
auf, das Herzschläge
vorab zu einer repräsentativen
Herzschlag-Erzeugung ausrichtet. Diese Logik schiebt die Herzschläge über einen
Ausrichtungsmodellherzschlag, um zu berechnen, wenn die Herzschlä ge ausgerichtet
sind bzw. werden, und führt
Einstellungen aus, um die Effekte von Rauschen oder Flackern bzw.
Flimmern auf den unterschiedlichen EKG-Wellenformen zu reduzieren.
Die Arbeit dieses Unterprogramms wird später in größerem Detail in Zusammenhang
mit der Diskussion von 9 erklärt.
-
Block 700 ruft ein Unterprogramm
auf, das einen repräsentativen
Herzschlag aus den ausgerichteten Herzschlägen erzeugt. Diese Logikzeit schneidet
durch die ausgerichteten Herzschläge, wobei ein Prozentsatz von
kleinsten und größten Größen der
ausgerichteten Herzschläge
von jedem Zeitpunkt verworfen wird und die verbleibenden Größ gemittelt.
werden, um einen repräsentativen
Herzschlag zu erzeugen. Diese getrimmte Mittelungstechnik resultiert
in einem repräsentativen
Schlag hoher Qualität,
da Abtastungen bzw. Werte von Störungen bzw.
Rauschen und mißqualifizierte
bzw. falsch zugeordnete Schläge
verworfen werden. Die Arbeit dieses Unterprogramms wird später in größerem Detail im
Zusammenhang mit der Diskussion von 10 beschrieben.
-
Block 800 ruft ein Unterprogramm
auf, das verschiedene Aspekte eines repräsentativen Herzschlags mißt. Diese
Logik analysiert die repräsentativen
Herzschläge
von einer Gruppe von EKG-Wellenformen, um einen frühesten QRS-Beginn
bzw. -Einsatz und spätesten
QRS-Offset bzw. -Ausstieg zu bestimmen, und verwendet diese Werte,
um eine Vielzahl von Messungen auszuführen. Dies resultiert in robusten
bzw. stabilen Messungen, sogar in sehr störungsanfälligen Umgebungen. Die Arbeit
dieses Unterprogramms wird später
in größerem Detail
in Zusammenhang mit der Diskussion von 11 beschrieben.
-
Block 210 zeigt den repräsentativen
Herzschlag, der durch das Unterprogramm 700 erzeugt wird,
und optional die Messungen, die von den Unterprogrammen 800 und 400 erhalten
wurden, auf der Anzeige 66 der Berechnungseinheit 60 ( 2) an. Beispiele dieser
Anzeigen werden in 18 und 19 gezeigt. Block 220 sendet
den repräsentativen
Herzschlag und Messungen für
jede EKG-Wellenform, die die Herzfrequenzmessungen beinhaltet, von
dem Unterprogramm 400 berechnet wurde, zurück an den Kardiographen 40.
Der Kardiograph 40 bearbeitet diese Information in Übereinstimmung
mit dem Flußdiagramm
der 12. Das Flußdiagramm
endet in Block 249.
-
12 zeigt,
wie der Kardiograph 40 die Information bearbeitet, die
von der Berechnungseinheit 60 empfangen wurde. Block 150 empfängt bzw.
erhält
den repräsentativen
Herzschlag und Messungen, die die Herzfrequenzmessung beinhalten,
die von Block 220 der 5 gesendet
wurde. Block 190 druckt den repräsentativen Herzschlag, der
von Unterprogramm 700 erzeugt wurde, und optional die Messungen,
die von den Unterprogrammen 800 und 400 erhalten
wurden, auf einem Drucker 47 des Kardiographen 40 (2). Beispiele dieser Ausdrucke werden
in 18 und 19 gezeigt.
-
II. QRS-Erkennung
-
6 zeigt
ein Flußdiagramm
der Ausführung
des Unterprogramms 300, ausgeführt durch die QRS-Detektionslogik 71 der
Berechnungseinheit 60 der bevorzugten Ausführung der
Erfindung. Block 302 führt
einen Initialisierungsprozeß aus,
der über die
bzw. von den EKG-Daten lernt. Spezieller analysiert während des
ersten Durchlaufs durch das Unterprogramm dieser Arbeitsablauf bzw.
Prozeß die
ersten paar Sekunden von EKG-Daten, um ein einleitendes bzw. vorbereitendes
Intervall zwischen Spitzen bzw. Spitzenwerten und die Größe eines
mittleren Spitzenwerts zu erhalten. Während der Programmverarbeitung
(d. h. nachträglichen
bzw. nachfolgenden Zeiten bzw. Durchläufen durch das Unterprogramm)
fährt Block 302 fort,
die Information zu aktualisieren, die durch den ersten Durchlauf
durch das Unterprogramm erhalten wurde. Block 301 empfängt EKG-Daten
von drei EKG-Wellenformen aus den zwölf EKG-Wellenformen, die von
der Berechnungseinheit 60 in Block 201 (4) empfangen wurden. Ein
Graph von drei beispielhaften EKG-Wellenformen wird in 13 gezeigt. In der bevorzugten
Ausführung
wählt Block 301 diese
drei EKG-Wellenformen als die drei EKG-Wellenformen, die optimale Rausch-
bzw. Störungscharakteristika
haben, aus. Dies wird durch wiederholtes Berechnen der Signalqualität an den
zwölf EKG-Wellenformen
und Reihen dieser Wellenformen von höchster zu niedrigster Signalqualität gemacht.
-
Block 303 berechnet eine
Aktivitätsfunktion aus
den drei Ableitungen der EKG-Daten. Eine Aktivitätsfunktion ist ein Signal,
das mathematisch von den EKG-Daten hergeleitet bzw. abgeleitet ist,
welche Merkmale bzw. Charakteristika des Herzschlags anhebt bzw.
hervorhebt, während
der Einfluß von Rauschen
minimiert wird, um eine genauere Herzschlagdetektion zu ermöglichen.
In der bevorzugten Ausführung
wird die Aktivitätsfunktion
durch ein Dezimieren bzw. Verringern der EKG-Daten um eine Hälfte, Filtern
der Daten unter Verwendung eines Bandpaßfilters und Nehmen des absoluten
Werts der ersten Differenz erzeugt. Die absoluten, ersten Differenzen
der drei EKG-Wellenformen werden dann zu einem verbesserten Störungsverhalten
zusammengezählt,
mit einem Schwellwert abgeglichen und geglättet. Rausch- bzw. Störungsstatistiken
(d. h. Signalqualität) über alle
zwölf EKG- Wellenformen werden
berechnet und aktualisiert. Ein Graph einer beispielhaften Aktivitätsfunktionen
wird in 14 gezeigt.
-
Block 305 überprüft bzw.
testet die Rausch- bzw. Störungsstatistiken,
um zu sehen, ob unakzeptabel hohes Rauschen erkannt bzw. detektiert
wurde. Wenn es so ist, gibt Block 306 eine Nachricht "hohes Rauschen" aus, welche auf
einer Anzeige 66 der Berechnungseinheit 60 angezeigt
wird ( 2). Dieser Fehler
bewirkt, daß das
Unterprogramm abnormal durch Beendigung in Block 398 beendet
wird. In der Abwesenheit bzw. beim Fehlen von hohem Rauschen wird
Block 305 negativ beantwortet. Block 309 schaut,
um zu sehen, ob er einen weiteren Herzschlag detektiert. Wenn nicht,
kehrt das Unterprogramm in Block 399 zu Block 400 von 5 zurück.
-
Wenn Block 309 positiv bzw.
bejahend beantwortet wird, führt
ein Unterprogramm 300 bis zu drei unterschiedliche Arten
von Suchen aus, um jeden Herzschlag zu finden. Die erste Suche ist
eine Einschaltzeitsuche. Diese Suche wird normalerweise verwendet,
um Herzschläge
zu erkennen, die innerhalb eines schmalen Fensters bzw. Rahmens
ihrer erwarteten Zeit auftreten. Wenn die Einschaltzeitsuche versagt,
einen Herzschlag zu erkennen bzw. zu detektieren, wird eine modifizierte
Einschaltzeitsuche verwendet. Die modifizierte Einschaltzeitsuche
ist ähnlich
im Betrieb der Einschaltzeitsuche, aber kann Herzschläge in Umgebungen
mit niedrigem Rauschen, wie frühe
Schläge
erkennen, die die Einschaltzeitsuche verfehlen könnte. Wenn sowohl die Einschaltzeitsuche
als auch die modifizierte Einschaltzeitsuche verfehlen, einen Herzschlag
zu erkennen, wird eine späte
Schlagsuche ausgeführt. Diese
Suche detektiert Herz schläge,
die später
auftauchen als zu ihrer erwarteten Zeit.
-
Der Betrieb der Einschaltzeitsuche
wird nun detaillierter diskutiert. Block 310 führt eine
Einschaltzeitsuche der Aktivitätsfunktion
von QRS-Komplexen in den EKG-Daten aus. In der bevorzugten Ausführung sucht
Block 310 über
115% der derzeitigen Intervallänge
zwischen Herzschlägen
(wie in Block 302 bestimmt) mit einer Schwelle, die bei
80% des mittleren Spitzenwerts der Aktivitätsfunktion beginnt. Die Schwelle
wird dann linear über
die Zeit auf 40% am Ende des Suchfensters abgesenkt. Von jedem lokalen
Maximum, das über
dieser linear abnehmenden Schwelle entdeckt wird, wird. angenommen,
eine "Spitze" zu sein.
-
Block 315 testet bzw. überprüft, um zu
sehen, ob irgendwel- che Spitzen detektiert wurden. Wenn es so ist,
wählt Block 320 den
wirklichen bzw. wahren Herzschlag (d. h. QRS-Spitze) von den festgestellten
bzw. detektierten Spitzen bzw. Peaks aus, indem er auf die Zeiten
schaut, zu denen jede Spitze auftrat. Fachleute werden anerkennen,
daß die
oben beschriebene Suche mehrfache Spitzen in einer rauschreichen
Umgebung erkennen könnte,
wobei alle bis auf eine Rauschen sein würden. Von der Spitze, die am
nächsten
zu der Zeit auftrat, in der der nächste Herzschlag erwartet wurde,
wird angenommen, ein wirklicher Herzschlag zu sein, und Information über das
Zeitverhalten dieses Herzschlags wird im Speicher 69 der
Berechnungseinheit 60 gespeichert (2). Das Flußdiagramm der Steuerung kehrt
zurück
zu Block 309, um nach einem weiteren Schlag, der zu detektieren
ist, zu schauen bzw. zu suchen.
-
Wieder bezogen auf 6, wird der Betrieb der modifizierten
Einschaltzeitsuche jetzt besprochen. Wenn Block 315 negativ
beantwortet wird, testet Block 330, um zu sehen, ob das
Rauschniveau gering ist. Wenn es so ist, sucht Block 335 die
Aktivitätsfunktion
unter Verwendung einer modifizierten Einschaltzeitsuche. In der
bevorzugten Ausführung wird
diese Suche durch Verwendung einer konstanten, niedrigeren Schwelle,
wie 54% des mittleren Aktivitätsfunktionsspitzenswerts, über 115%
der gegenwärtigen
Intervallänge
ausgeführt.
Block 335 testet, um zu sehen, ob irgendwelche Spitzen
erkannt wurden. Wenn es so ist, wählt Block 338 den
wahren Herzschlag aus den detektierten Spitzen durch Auswählen der
Spitze, die am nächsten
zu der Zeit auftrat, zu. der der nächste Herzschlag erwartet wurde. Information über den
Herzschlag, der in Block 338 ausgewählt wurde, wie Schlagzeitverhaltensinformation,
wird im Speicher 69 der Berechnungseinheit 60 gespeichert
(2). Das Flußdiagramm
der Regelung bzw. Steuerung kehrt zurück zu Block 309, um nach
einem weiteren Schlag, der zu detektieren ist, zu schauen.
-
Der Betrieb der späten Schlagsuche
wird nun diskutiert. Wenn einer der Blöcke 330 oder 335 negativ
beantwortet wird, führt
Block 350 eine späte Schlagsuche
aus. In der bevorzugten Ausführung sucht
dieser Block die Aktivitätsfunktion über drei R-R-Intervallängen, indem
eine linear abfallende Schwelle verwendet wird, wie es in der Einschaltzeitsuche
gemacht wurde. Block 355 testet, um zu sehen, ob irgendwelche
Spitzen detektiert wurden. Wenn es so ist, wählt Block 358 den
wahren Herzschlag aus den detektierten Spitzen durch Auswahl der
ersten Spitze, die er findet. Information über den Herzschlag, der in
Block 358 ausgewählt
wird, wie Schlagzeitverhaltensinformation, wird im Speicher 69 der
Berechnungseinheit 60 gespeichert ( 2). Das Flußdiagramm der Steuerung kehrt
zurück
zu Block 309, um nach einem weiteren Schlag, der zu detektieren
ist, zu schauen. Wenn Block 355 negativ beantwortet wird,
gibt Block 370 eine Nachricht "Detektorversagen" aus, die auf einer Anzeige 66 der
Berechnungseinheit 60 angezeigt wird. Da keine Schläge erkannt
wurden, bewirkt dies eine abnormale Beendigung des Unterprogramms
in Block 396.
-
III. Herzratenberechnung
-
7 zeigt
ein Flußdiagramm
des Betriebs von Unterprogramm 400, das durch die Herzfrequenzberechnungslogik 73 der
Berechnungseinheit 60 der bevorzugten Ausführung der
Erfindung ausgeführt
wird. Block 401 setzt einen Zähler, genannt RR_ctr = 0. Block 403 liest
und speichert das R-R' Intervall
zwischen dem ersten Herzschlag, der in der EKG-Wellenform detektiert wurde, und dem
zweiten Herzschlag, der in der EKG-Wellenform detektiert wurde.
In der bevorzugten Ausführung
wird diese Detektion durch Verwendung von Information durchgeführt, die
von der QRS-Erkennungslogik 71 in Unterprogramm 300 gespeichert
wird, obwohl konventionelle Methoden für ein Detektieren von R-R Intervallen
in einer EKG-Wellenform auch verwendet werden könnten. Block 405 erhöht RR_ctr.
Block 410 überprüft, um zu
sehen, ob der Zähler
weniger als ein maximaler Zählerwert
ist und zusätzliche
Herzschläge noch
immer für
eine Analyse in der EKG-Wellenform verfügbar sind.
Wenn beide dieser Bedingungen wahr sind, kehrt das Flußdiagramm
der Steuerung zurück
zu Block 403, bis eine Bedingung nicht mehr länger wahr
ist. Eine alternative Ausführung
wurde erwogen, wo Block 403 ein Zeitgeber ist und wo Block 410 testet,
um zu sehen, ob eine maximale Zeit vergangen ist. Beispielsweise
werden, wenn eine maximale Zeit auf 10 Sekunden gesetzt wurde, nur Herzschläge, die
in der jüngsten
10 Sekunden-Periode der Zeit auftreten, verwendet, um die Herzfrequenz
zu berechnen.
-
Wenn Block 410 schließlich negativ
beantwortet wird, testet Block 420, um sicher zu gehen, daß zumindest
eine minimale Anzahl von Herzschlägen durch die Schleife, die
von den Blöcken 403–410 ausgebildet
wird, analysiert wurde.
-
Wenn Block 420 positiv beantwortet
wird, sortiert Block 425 die R-R Intervalle vom kürzesten zum
längsten.
Block 430 verwirft dann einen Prozentsatz der kürzesten
und längsten
R-R Intervalle. In einer rauschreichen Umgebung könnte der
QRS-Detektor inkorrekter Weise Rauschen als einen Herzschlag erkennen
und könnte
inkorrekter Weise einen realen Herzschlag verfehlen. Diese Fehler
resultieren in inkorrekten, sowohl zu kurzen als auch zu langen
R-R Intervallen. Das getrimmte Mittel, das hier gemacht wird, resultiert
in einer robusten und genauen Herzfrequenzberechnung sogar in der
Anwesenheit bzw. Gegenwart von falschen Detektionen und verfehlten
Schlägen.
Mit geringem Rauschen und/oder Herzrhythmusstörungen produziert diese getrimmte
Mittlungstechnik auch eine genaue Berechnung der Herzfrequenz.
-
In der bevorzugten Ausführung verwirft
Block 430 25% der kürzesten
und 25% der längsten
R-R Intervalle, obwohl auch unterschiedliche Werte verwendet werden
könnten.
Block 435 mittelt dann die verbliebenen R-R Intervalle.
Block 440 konvertiert diese mittleren R-R Intervalle in
eine Herzfrequenz. Block 445 glättet die Herzfrequenz, die
durch Block 440 bestimmt wurde, durch Mitteln derselben
mit einer vorbestimmten Anzahl früherer Herzfrequenzen. In der
bevorzugten Ausführung
mittelt Block 445 die gegenwärtige Herzfre quenz mit den
letzten zwei Herzfrequenzen. In jedem Fall wird die Herzfrequenz,
die durch Block 445 (oder durch Block 440, wenn
der Glättungsschritt
von Block 445 nicht erwünscht
ist) bestimmt wird, durch Block 450 in dem Speicher 69 der
Berechnungseinheit 60 gespeichert (2). Das Unterprogramm kehrt in Block 499 zu Block 500 von 5 zurück.
-
Wenn Block 420 negativ beantwortet
wird, berechnet Block 460 einfach das mittlere R-R Intervall
der geringen Anzahl von R-R Intervallen, die in Block 403 gelesen
und gespeichert wurden. Dieses mittlere R-R Intervall wird in eine
Herzfrequenz in Block 440 konvertiert und die Herzfrequenz
wird durch Block 450 im Speicher 69 der Berechnungseinheit 60 gespeichert
(2). Wie zuvor, kehrt
das Unterpro- gramm in Block 499 zu Block 500 von 5 zurück.
-
IV. Herzschlagklassifikation
-
8 zeigt
ein Flußdiagramm
der Betriebs-Subroutine 500, die durch eine Klassifizierungslogik 74 der
Berechnungseinheit 60 der bevorzugten Ausführung der
Erfindung ausgeführt
wird. In der bevorzugten Ausführung
wird das Unterprogramm 500 verwendet, um Schläge als "D" (dominant), "V" (ventrikulär ektopisch), "S" (supraventrikulär ektopisch) oder "Q" (fraglich) zu klassifizieren, auch
wenn andere Klassifizierungen verwendet werden könnten.
-
Block 501 testet, um zu
sehen, ob weitere Herzschläge
zu klassifizieren sind. Wenn es so ist, bekommt Block 502 eine
Schlagzeitverhaltensinformation für den nächsten Herzschlag. In der bevorzugten
Ausführung
wird diese Information von der QRS-Detektionslogik 71 in
einer Art, die be reits besprochen wurde, erhalten, auch wenn konventionelle Methoden,
diese Information zu erhalten, ebenfalls verwendet werden könnten. Block 503 normalisiert bzw.
skaliert den Teil der Aktivitätsfunktion
(von QRS-Detektionslogik 71 oder konventionellen Mitteln)
um den Schlag, der in dem Modellanpassungsprozeß zu verwenden ist. Block 505 führt Zeitverhaltens-
und physiologische Messungen sowohl auf der Aktivitätsfunktion
als auch dem Schlag, der zu klassifizieren ist, aus. Diese Messungen
werden in den Blöcken 510 und 550 verwendet,
um in der Schlagklassifizierung zu assistieren, wie dies später besprochen
wird.
-
Block 510 testet bzw. überprüft, um zu
sehen, ob alle Messungen, die von Block 505 gemacht wurden,
innerhalb physiologischer Grenzen sind (d. h. innerhalb einer vorbestimmten
Weite und Höhe)
. Wenn nicht, wird der Schlag als fraglich ("Q")
klassifiziert, verursacht durch Rauschen, und das Flußdiagramm
der Steuerung kehrt zurück
zu Block 501, um zu sehen, ob weitere Schläge zu klassifizieren
sind. Wenn Block 510 positiv beantwortet wird setzt Block 515 einen
Modellzähler
auf 1, wobei eine Serie bzw. Folge von Schritten initialisiert wird,
die den zu klassifizierenden Schlag mit einem oder mehreren Modell vergleichen.
Block 518 testet, um zu sehen, ob ein Zähler, genannt Num_templates
= 0. Wenn es so ist, wurden noch keine Modelle für diese EKG-Wellenform erzeugt
und das Flußdiagramm
der Steuerung springt zu den Blöcken 539 und 540,
um ein neues Modell durch ein Sichern dieser Schläge als das
erste Modell zu erzeugen. Block 542 verwendet dann Zeitverhaltens- und physiologische
Information, um diesen Schlag zu klassifizieren, und modelliert
ihn entweder als "D" (dominat), "V" (ventrikulär ektopisch), "S" (supraventrikulär ektopisch) oder "Q" (fraglich). Am häufigsten wird dieser Schlag
als D und das Modell als D/S, für "dominant/supraventrikulär ektopisch" klassifiziert, da
die große
Mehrheit von klassifizierten Schlägen auf diese Weise klassifiziert wird
und da sowohl D- als auch S-Schläge
dieselbe Morphologie haben und folglich mit demselben Modell übereinstimmen
würden,
jedoch durch die Zeitverhaltensinformation variieren – der S-Schlag
ist früher
als der D-Schlag. Die Methode eines Unterscheidens zwischen D- und
S-Schlägen
wird von den Blöcken 545 bis 558 ausgeführt, wie
dies später
detaillierter diskutiert wird. Fachleute werden anerkennen, daß mehr als
ein Modell als "D/S" klassifiziert werden kann,
weil dominante Herzschläge
mehr als eine einzigartige Morphologie haben können. Block 542 erhöht Num_Template
auf. eins, um auf ein gespeichertes Modell hinzuweisen. Das Flußdiagramm
von Kontrollen bewegt sich zu Block 545, dessen Betrieb später diskutiert
wird.
-
Sobald zumindest ein Modell erzeugt
ist, antwortet. Block 518 negativ, und Block 520 schiebt
den Schlag, der zu klassifizieren ist, über das erste, stationäre Modell.
Wie vorher besprochen, entspricht das erste Modell gewöhnlich einer
ersten Herzschlagklassifizierung von D/S, womit das Modell für dominante
und supraventrikuläre
Wellenformen gemeint ist. Wenn bzw. da Block 520 diesen
Schlag über
das erste Modell schiebt, wird das minimale Differenzgebiet zwischen
dem zu klassifizierenden Schlag und dem ersten Modell berechnet.
Block 525 frägt,
ob dieses minimale Differenzgebiet weniger bzw. geringer als eine
Schwelle bzw. ein Schwellwert ist. Wenn es das ist, stimmt der Schlag
mit dem ersten (D/S) Modell überein
und Block 530 mittelt die neuen Schlagdaten in das Modell,
mit dem sie übereinstimmten.
In der bevorzugten Ausführung
wird ein gewichtetes Mittel verwendet, bei dem dem existierenden
Modell mehr Gewicht in dem Mittelungsprozeß gegeben wird als dem neuen
Schlag. Block 530 bleibt ebenfalls am laufenden über die
Anzahl der Zeiten, die ein Schlag diesem Modell entsprach, genauso,
wenn bzw. wann ein Schlag unmittelbar zuvor diesem Modell entsprach.
-
Wenn Block 525 negativ beantwortet
wird, erhöht
Block 535 den Modellzähler.
Block 538 verifiziert die maximale Anzahl von Modellen,
um zu überprüfen, daß er nicht überschritten
wurde, was bedeuten würde,
daß alle
Modelle getestet wurden. Wenn Block 538 positiv beantwortet
wird, kehrt das Flußdiagramm
der Steuerung zurück
zu den Blöcken 518 und 520,
in denen der Schlag über
das zweite Modell geschoben. wird. Das zweite Modell entspricht
beispielsweise einer Klassifizierung von ventrikulär ektopisch
("V"). Block 520 berechnet
wieder die minimale Flächen-
bzw. Bereichsdifferenz und Block 525 frägt wieder, ob diese minimale
Bereichsdifferenz geringer als ein Schwellewert ist. Wenn sie das
ist, entspricht der Schlag dem zweiten (V) Modell und Block 530 mittelt
die neuen Schlagdaten in das Modell, dem sie entsprachen. Wenn keine
Entsprechung bzw. Übereinstimmung
gefunden wurde, schleift das Unterprogramm durch die Blöcke 535, 538, 518, 520 und 525,
bis eine Übereinstimmung
gefunden wird, oder bis Block 538 negativ beantwortet wird,
was bedeutet, daß alle
existierenden Modelle auf Übereinstimmungen
getestet wurden.
-
Wenn eine Übereinstimmung gefunden ist und
Block 530 die neuen Schlagdaten in das Modell, dem sie
entsprachen, Bemittelt hat, verifiziert Block 537 die Klassifizierung
des Modells. Da neue Schläge
in die existierenden Modelle Bemittelt werden, ist es möglich, daß sich die
Klassifizierungen des Modells ändern.
Beispielsweise kann ein Modell, das ursprünglich als "V" klassifiziert
wurde, neu klassifiziert werden zu "D",
wenn mehr Schläge
in es Bemittelt werden. Block 545 testet, um zu sehen,
ob der Schlag einem D/S-Modell entsprach. Wenn es so ist, muß eine zusätzliche
Untersuchung von dem Schlag gemacht werden, bevor der Schlag klassifiziert
werden kann. Dies wird in Block 550 gemacht, welcher fragt,
ob der Schlag früh
war. Wenn es so ist, wird der Schlag als supraventrikulär ("S") in Block 555 klassifiziert,
und das Flußdiagramm
der Steuerung kehrt zurück
zu Block 501, um zu schauen, um zu sehen, ob weitere Schläge zu klassifizieren
sind. Wenn nicht, wird der Schlag als dominant ("D")
in Block 558 klassifiziert, und der Fluß der Steuerung kehrt zurück zu Block 501,
um zu schauen, um zu sehen, ob mehr Schläge zu klassifizieren sind.
Wenn Block 545 bestimmte, daß der Schlag einem anderen
Modell. anders als dem D/S-Modell entsprach, klassifiziert Block 560 den
Schlag als die Klassifizierung, die mit dem Modell übereinstimmt,
dem er entsprach. Beispielsweise würde, wenn der Schlag dem ventrikulären ektopischen
("V") Modell entsprach,
der Schlag als ventrikulär
ektopisch klassifiziert werden. Der Fluß der Steuerung kehrt zurück zu Block 501,
wie vorher diskutiert.
-
Bezogen wieder auf Block 538,
wenn Block 538 negativ beantwortet wird, wurden alle existierenden
Modelle getestet und keines von ihnen entspricht. Block 539 fragt
dann, ob Num_template weniger ist als Max_template – einem
Zähler,
der die maximale Anzahl von Modellen angibt. Wenn nicht, erzeugt
Block 540 ein neues Modell für diesen Schlag, Block 542 klassifiziert
das neue Modell und den Schlag, und erhöht Num-templates, wie vorher besprochen.
-
Wenn Block 539 negativ beantwortet
wird, wurde die maximale Anzahl von Modellen erreicht. Block 541 überschreibt
das Modell mit der jüngsten bzw.
neuesten Aktualisierung. Wie Block 542 klassifiziert Block 543 das
neue Modell, aber erhöht Num_template
nicht, weil die Anzahl von Modellen sich nicht geändert hat.
Fachleute werden anerkennen, daß die
Anzahl von tatsächlich
erzeugten Modellen abhängig
von der Menge an Rauschen in der Umgebung und davon variieren kann,
ob irgendwelche ektopischen Schläge
festgestellt werden.
-
Wenn Block 501 bestimmt,
daß keine
Schläge
mehr zu klassifizieren sind, zeigt Block 590 die klassifizierten
Herzschläge
auf der Anzeige 66 der Berechnungseinheit 60 an.
(2). Eine solche beispielhafte
Anzeige wird in 15 gezeigt.
Das Unterprogramm kehrt in Block 599 zu Block 205 von 5 zurück.
-
Y. Schlagausrichtung
-
9 zeigt
ein Flußdiagramm
der Arbeit von Unterprogramm 600, ausgeführt von
der Ausrichtungslogik 75 der Berechnungseinheit 60 der
bevorzugten Ausführung
der Erfindung. Block 601 bestimmt, welche 3 EKG-Wellenformen
am wenigsten gestört
bzw. mit Rauschen behaftet sind. In der bevorzugten Ausführung wird
das gemacht durch Verwendung der Information, die in Block 301 von
dem Unterprogramm 300 zum Detektieren der QRS-Komplexe in einer
EKG-Wellenform erhalten wurde, obwohl diese Bestimmung direkt in
diesem Unterprogramm durch wiederholte Berechnung des Signal-Rausch-Verhältnisses
oder einer anderen Angabe der Signalqualität an den zwölf EKG-Wellenformen und Bewertung
dieser Wellenformen von höchster
zum niedrigster oder durch Verwendung von irgendeiner anderen Technik
gemacht werden könnte. Block
603 setzt
einen vorderen bzw. Abteilungszähler,
um auf die erste von den drei am wenigsten gestörten EKG-Wellenformen zu schauen.
Block 605 empfängt
EKG-Daten von der EKG-Wellenform, die durch den vorderen bzw. Leitzähler bestimmt
werden. Nachdem die EKG-Daten in Block 608 Tiefpaß-gefiltert
wurden, bestimmt Block 610 das dominante Modell unter den
Schlägen,
das zu verwenden ist, um den repräsentativen Herzschhag zu konstruieren.
In der bevorzugten Ausführung
wird dies durch Schauen auf die Anzahl von Zeiten bzw. Vorgängen gemacht,
in denen die Modelle, die von der Klassifizierungslogik verwendet
werden, mit einem Schlag übereinstimmten,
wie dies in Block 530 in 8 bestimmt
wird. Per Definition wird dies ein D/S-Modell sein.
-
Block 620 erzeugt und speichert
ein Ausrichtungsmodell im Speicher 69 der Berechnungseinheit 60.
In der bevorzugten Ausführung
wird das Ausrichtungsmodell mit einem Schlag erzeugt, welcher dem dominanten
Modell entsprach, das in Block 610 bestimmt wurde, wo ein
Teil des dominanten Modells um das QRS herum skaliert wird. Eine
alternative Ausführung
wurde erwogen, in welcher Schritt 610 übersprungen wird, und Block 620 ein
Ausrichtungsmodell durch ein Finden des ersten Schlags, der als D
(durch die Schlagklassifizierungslogik 74 oder eine konventionelle
Methode der Schlagklassifizierung) klassifiziert wurde, und Verwenden
dieses Schlags als das Ausrichtungsmodell erzeugt.
-
Block 630 setzt einen Schlagzähler auf
1. Block 640 bekommt den nächsten dominanten Schlag für diese
EKG-Wellenform und skaliert bzw. normalisiert einen Teil bzw. Abschnitt
dieses Schlags um den QRS-Komplex. Für die Zwecke dieser Anwendung
bzw. Anmeldung werden Schläge,
welche als "D" klassifiziert sind,
hier als "dominant" bezeichnet, während Schläge, die als "V", "S" oder "Q" klassifiziert werden, als "nicht dominant" bezeichnet werden.
In der bevorzugten Ausführung
werden nicht dominante Schläge
von einer Ausrichtung und von der Bestimmung eines repräsentativen
Herzschlags ausgenommen, weil diese Schläge den repräsentativen Herzschlag kontaminieren
können.
-
Block 650 schiebt diesen
Schlag über
das stationäre
Ausrichtungsmodell während
des Berechnens des Werts der Summe der absoluten Werte der Differenz
zwischen dem Schlag und dem Ausrichtungsmodell. Dieser Wert wird
hier als die Flächen- bzw.
Bereichsdifferenz bezeichnet. Die Position, wo die Bereichsdifferenz
das Minimum bzw. minimal ist (Minimum- bzw. minimale Bereichsdifferenz),
ist die Position, wo der Schlag am besten mit dem Ausrichtungsmodell
ausgerichtet ist, und diese Position wird für diesen Schlag im Speicher 69 der
Berechnungseinheit 60 gespeichert bzw. gesichert. Block 655 erhöht den Schlagzähler. Block 660 testet,
um zu sehen, ob der Schlagzähler
größer als
oder gleich ist der Anzahl von Schlägen, die für diese EKG-Wellenform auszurichten
sind. Wenn nicht, kehrt der Fluß der
Steuerung zurück
zu Block 640, um den nächsten dominanten
Schlag zu erhalten. Wenn es so ist, erhöht Block 670 den Leitzähler.
-
Block 675 testet bzw. überprüft, um zu
sehen, ob der Leitzähler
größer als
oder gleich 3 ist – die
Anzahl von am wenigsten gestörten
EKG-Wellenformen, in Block 601 ausgewählt wurden. Wenn Block 675 negativ
beantwortet wird, kehrt der Fluß der
Steuerung zurück
zu Block 605, wo der Ausrichtungsprozeß für die nächste EKG-Wellenform wiederholt
wird. Wenn Block 675 positiv beantwortet wird, korrigiert
und speichert Block 680 jede Schlagzeit bzw. jeden Schlagzeitpunkt
auf jeder EKG-Wellenform mit dem Median- bzw. Zen tralwert der Ausrichtungszeiten,
die gerade unabhängig
auf den drei am wenigstens gestörten
Ableitungen bestimmt wurden. Dies wird gemacht, um den Effekt von
Rauschen zu minimieren, welches in Schlägen auf unterschiedlichen EKG-Wellenformen
resultiert, die am besten zu leicht unterschiedlichen Zeiten ausgerichtet
sind (d. h. zeitliche Instabilität
bzw. Signalschwankung bzw. Synchronisationsfehler), zu minimieren. Das
Unterprogramm kehrt in Block 699 zu Block 700 in 5 zurück. 16 zeigt einen neuen Schlag, der über ein
stationäres
Modell bzw. eine stationäre Schablone
geschoben wird.
-
VI. Erzeugung eines repräsentativen
Schlags
-
10 zeigt
ein Flußdiagramm
der Arbeit von Unterprogramm 700, das von der Erzeugungslogik 77 eines
repräsentativen
Herzschlags der Berechnungseinheit 60 der bevorzugten Ausführung der
Erfindung ausgeführt
wird. Block 701 bestimmt, welche Schläge beim Erzeugen des repräsentativen Herzschlags
zu verwenden sind. In der bevorzugten Ausführung werden nur "dominante" Schläge verwendet,
die durch die Schlagausrichtungsschritte, die oben besprochen wurden,
ausgerichtet wurden. Wenn mehr "dominante" Schläge verfügbar sind
als die Anzahl, die gebraucht wird, um einen repräsentativen
Herzschlag zu konstruieren, werden jene mit der ähnlichsten Morphologie verwendet.
Wenn zwei oder mehr dominante Modelle in dem Klassifizierungsunterprogramm 500 erzeugt
wurden, werden beispielsweise nur die Schläge vorzugsweise verwendet werden,
die mit dem dominanten Modell übereinstimmen,
das die meisten Schläge
enthält. Block 705 setzt
einen Zähler,
welcher auf dem Laufenden bleibt darüber, von welcher EKG-Wellenform der
repräsentative
Herzschlag erzeugt wird.
-
Block 710 testet um zu sehen,
ob der Leitanzahlzähler
größer als
oder gleich der maximalen Anzahl von EKG-Wellenformen ist. Wenn
nicht, liest Block 715 die ausgerichteter. "dominanten" Schläge für diese
EKG-Wellenform. Block 72C setzt einen Zeitzeiger auf Null.
-
Block 725 bekommt einen
Zeitabschnitt mit Daten für
jeder. ausgerichteten Schlag bei der Gelegenheit, die durch den
Zeitzeiger identifiziert wird. In der bevorzugten Ausführung sind
diese Daten die Größe von jedem
der ausgerichteten, dominanten Herzschläge an diesem Moment der Zeit.
Block 730 sortiert die Größen für diesen Abschnitt der Zeit
vom kleinsten zum größten. Block 735 verwirft
einen Prozentsatz von kleinsten und größten Größen. In einer störungsreichen
Umgebung kann das Schlagklassifizierungsunterprogramm inkorrekter
Weise Schläge als
dominant klassifizieren. Diese Fehler resultieren darin, daß falsch
klassifizierte Schläge
inkorrekter Weise in die ausgerichteten Schläge aufgenommen werden. Das
getrimmte Mittel, das hier gemacht wird, resultiert in einem robusten
und genauen, repräsentativen
Herzschlag sogar in der Gegenwart von falsch klassifizierten Schlägen und
hohem Rauschen, welches auf dominanten Schlägen vorhanden ist. In der bevorzugten
Ausführung
werden 33% der kleinsten Größen und
33% der größten Größen verworfen,
obwohl andere Werte verwendet werden könnten. Block 740 mittelt
die übriggebliebenen
Größen für diesen Zeitbereich.
Block 750 speichert die mittlere bzw. durchschnittliche
Größe für diesen
Zeitbereich in einem Feld eines repräsentativen Schlags in dem Speicher 69 der
Berechnungseinheit 60. Block 755 erhöht den Zeitzeiger
zu dem nächsten
Bereich der Zeit und Block 760 testet, um zu sehen, ob
der Zeitzeiger seinen maximalen Wert erreicht hat. Wenn nicht, kehrt der
Fluß von
Steuerungen zurück
zu Block 725, um die mittlere Größe der anderen Stücke der
Zeit zu bestimmen, um das Feld der repräsentativen Herzschläge fertigzustellen. 17 zeigt beispielsweise ausgerichtete
Schläge,
die durch Verwendung des Vorgangs zeitlich unterteilt werden, das
oben beschrieben wurde.
-
Wenn Block 760 positiv beantwortet
wird, filtert Block 765 die repräsentativen Herzschläge vorwärts und
rückwärts, die
in dem Feld des repräsentativen
Herzschlags gespeichert sind, und speichert das Ergebnis zurück in das
Feld bzw. Matrixfeld in Block 770. Eine alternative Ausführung wurde.
erwogen, in der dieser Schritt übersprungen
wird. Block 775 erhöht
den EKG-Wellenformzähler
und der Fluß der
Steuerung kehrt zurück
zu Block 710, um einen repräsentativen Herzschlag für jede der
anderen EKG-Wellenformen zu erzeugen. Wenn einmal Block 710 bestimmt,
daß repräsentative
Herzschläge
für jede
den EKG-Wellenformen erzeugt und gespeichert wurden, zeigt Block 780 die
repräsentativen Herzschläge auf der
Anzeige 66 der Berechnungseinheit 60. Eine beispielsweise
Anzeige eines repräsentativen
Herzschlags ist in 18 gezeigt.
Das Unterprogramm kehrt in Block 799 zu Block 800 von 5 zurück.
-
VII. Messungen
-
11 zeigt
ein Flußdiagramm
der Arbeit von Unterprogramm 800, ausgeführt durch
die Meßlogik 78 der
Berechnungseinheit 60 der bevorzugten Ausführung der
Erfindung. Block 801 erhält die repräsentativen Herzschläge für jede der
EKG-Wellenformen.
In der bevorzugten Ausführung
wird dies durch ein Lesen bzw. Auslesen des Felds des repräsentativen
Herz schlags, das in Schritt 770 von 10 gespeichert wird, gemacht. Alternativ
dazu könnten
repräsentative
Herzschläge,
die durch eine Verwendung einer unterschiedlichen Methode erzeugt
werden, die konventionell bekannte Methoden für eine Erzeugung repräsentativer
Herzschläge
beinhaltet, verwendet werden.
-
Block 803 mißt den frühesten QRS-Einsatz bzw.
-Beginn und das späteste
QRS-Ende von allen repräsentativen
Herzschlägen,
die in Block 801 erhalten wurden. Diese Werte werden für viele
der Messungen verwendet, die für
diese repräsentativen Herzschläge gemacht
werden, wie dies bald besprochen werden wird. Block 805 setzt
einen Zähler,
der die. EKG-Wellenformen verfolgt, für die der repräsentative
Herzschlag gemessen wird. Block 810 bekommt den repräsentativen.
Herzschlag für
diese EKG-Wellenform. Block 815 bestimmt das isoelektrische
Niveau des repräsentativen
Herzschlags. In der bevorzugten Ausführung ist dies das mittlere
Niveau der 16 ms von Daten vor dem frühesten QRS-Beginn bzw. -Einsatz.
Block 820 bestimmt die R-Wellenamplitude für diesen
repräsentativen
Herzschlag. In der bevorzugten Ausführung ist dies der maximale,
positive Wert zwischen dem frühesten
QRS-Beginn bzw. und dem spätesten
QRS-Ende mit einer Justierung bzw. Einstellung, die dafür gemacht
ist, um die erhöhten
ST-Segmente an den spätesten
QRS-Enden zu korrigieren, wenn die "T"-Welle
so groß ist,
daß sie die
Bestimmung der R-Wellenamplitude beeinflußt.
-
Block 825 bestimmt das ST-Niveau.
In der bevorzugten Ausführung
ist dies das Mittel über
10 ms um den benutzerbestimmten ST-Meßpunkt des repräsentativen
Herzschlags. Block 830 bestimmt die ST-Neigung. In der
bevorzugten Ausführung
wird diese durch Verwendung eines best-line-fit bzw. einer Regressionsanpassung
zwischen dem spätesten QRS-Ende
und dem ST-Meßpunkt
des repräsentativen
Herzschlags bestimmt. Block 835 bestimmt das ST integral.
In der bevorzugten Ausführung
ist dies bestimmt durch ein Berechnen der Summe des negativen Gebiets
zwischen der spätesten
QRS-Verschiebung bzw. dem spätesten
QRS-Ende und dem ST-Meßpunkt
des repräsentativen
Herzschlags.
-
Block 850 aktualisiert ein
Meßvertrauens-Flag
für jede
genommene Messung. In der bevorzugten Ausführung werden historische Information
und physiologische Grenzen verwendet, um diese Meßflags entweder
auf ein "niedriges" oder "hohes" Vertrauen zu setzen.
Diese Vertrauensflags können einem
Benutzer in einer Vielzahl von Wegen angezeigt werden, welche eine
Anzeige des Terms bzw. Ausdrucks "niedrig" oder "hoch" neben
einer Messung, eine Änderung
der Farbe der Messung auf der Anzeige (z. B. grün bedeutet hoch, rot bedeutet
niedrig), usw., beinhaltet. Ein "niedriges" Vertrauensflag würde dem
Kardiologen oder anderen medizinischen Personal zeigen, daß eine Messung
nicht physiologisch ist oder sich in einer nicht physiologischen
Art verändert
hat und händisch
auf Korrektheit nachgeprüft
werden sollte. Block 855 erhöht den EKG-Wellenformzähler. Block 860 testet,
um zu sehen, ob der EKG-Wellenformzähler die maximale Anzahl von EKG-Wellenformen überschreitet.
Wenn nicht, kehrt der Fluß der
Steuerung zurück
zu Block 810, um den Prozeß für die anderen EKG-Wellenform
zu wiederholen. Wenn es so ist, zeigt Block 880 die Messung auf
der Anzeige 66 der Berechnungseinheit 60 (2) an. Eine beispielsweise
Anzeige dieser Messungen, die entlang dem repräsentativen Herzschlägen angezeigt
ist, wird in 19 gezeigt.
Ein Kardiologe, der auf den repräsentativen
Herzschlag und die Messungen schaut, die in 19 gezeigt werden, würde sehen, daß es ein
verringertes bzw. gemindertes ST-Segment gibt, welches darauf hinweist,
daß der
Patient, der einen Streßtest
durchläuft,
eine koronale Arterienerkrankung hat. Das Unterprogramm kehrt in
Block 899 zu Block 210 von 5 zurück.