1 ABSTRAKT... 3 2 WSTĘP... 4 3 KONCEPCJA PROPONOWANEGO ROZWIĄZANIA... 5. 3.1 Szczegółowa lista arytmii... 5. 3.2 Algorytm detekcji...



Podobne dokumenty
EKG Zaburzenia rytmu i przewodzenia cz. II

Przedsionkowe zaburzenia rytmu

II KATEDRA KARDIOLOGII CM UMK

AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie

Elektrokardiografia: podstawy i interpretacja

Zaburzenia rytmu serca. Monika Panek-Rosak

Dariusz Kozłowski, Krzysztof Łucki Klinika Kardiologii i Elektroterapii Serca, II Katedra Kardiologii, Gdański Uniwersytet Medyczny

FIZJOLOGICZNE I PATOFIZJOLOGICZNE PODSTAWY INTERPRETACJI EKG. Aleksandra Jarecka

EKG w stanach nagłych. Dr hab. med. Marzenna Zielińska

Układ bodźcoprzewodzący

MONITOROWANIE EKG, ZABURZENIA RYTMU SERCA RC (UK)

Zaburzenia przewodzenia zatokowo-przedsionkowego Disorders of the sino-atrial impuls conduction

Częstoskurcze z wąskimi zespołami QRS częstoskurcze przedsionkowe Narrow QRS tachycardias atrial tachycardias

Układ bodźcoprzewodzący ZABURZENIA. Prawidłowa generacja i przewodzenie impulsów RYTMU I PRZEWODZENIA

10. Zmiany elektrokardiograficzne

SYMULATOR EKG. Bartłomiej Bielecki 1, Marek Zieliński 2, Paweł Mikołajaczak 1,3

SPIS TREŚCI. 1. Podstawy fizyczne elektrokardiografii Rejestracja elektrokardiogramu Ocena morfologiczna elektrokardiogramu...

AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie

KWESTIONARIUSZ EKG INSTRUKcjE dla lekarzy OpISUjących WyNIKI badania EKG

AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie

Fizjologia układu krążenia II. Dariusz Górko

3. KONCEPCJA PROPONOWANEGO ROZWIĄZANIA DODATEK A: OPIS OPRACOWANYCH NARZĘDZI I METODY POSTĘPOWANIA...10

P U Ł A P K I EKG w codziennej praktyce lekarza rodzinnego

Część 1. Podstawowe pojęcia i zasady wykonania i oceny elektrokardiogramu

Częstoskurcz z szerokimi zespołami QRS część I

Częstoskurcze z szerokimi zespołami QRS Broad QRS complex tachycardias

Przetwarzanie sygnałów w systemach diagnostyki medycznej 1. ABSTRAKT SCHEMAT DZIAŁANIA PROGRAMU GŁÓWNEGO REZULTATY I WNIOSKI...

Jaka to arytmia, czyli rzadsze postaci częstoskurczu przedsionkowego

Przewrotny tytuł nie jest tym razem związany

Przyczyny nieadekwatnych interwencji kardiowertera-defibrylatora

Zablokowane pobudzenie przedwczesne przedsionkowe poziom bloku

EKG u pacjentów z kołataniem serca i utratą przytomności

Kołatania serca u osób w podeszłym wieku

Częstoskurcze z wąskimi zespołami QRS częstoskurcze węzłowe Narrow QRS tachycardias nodal tachycardias

ZAŁOŻENIA ORGANIZACYJNO PROGRAMOWE

Podstawy elektrokardiografii część 1

CENTRUM KSZTA CENIA PODYPLOMOWEGO PIEL GNIAREK I PO O NYCH

Elektrokardiografia dla informatyka-praktyka / Piotr Augustyniak. Kraków, Spis treści Słowo wstępne 5

Sportowiec z zaburzeniami rytmu serca

1. ABSTRAKT REZULTATY I WNIOSKI PODSUMOWANIE LITERATURA DODATEK C: OPIS INFORMATYCZNY PROCEDUR...

Zastosowanie Informatyki w Medycynie

Automatyczna klasyfikacja zespołów QRS

Interesujące zapisy 24-godzinnego EKG


EKG pomiędzy napadami kołatania serca lub omdleniami

Dariusz Kozłowski, Krzysztof Łucki Klinika Kardiologii i Elektroterapii Serca, II Katedra Kardiologii, Gdański Uniwersytet Medyczny

Diagnostyka różnicowa omdleń

Detekcja zespołów QRS w sygnale elektrokardiograficznym

Rodzaje omdleń. Stan przedomdleniowy. Omdlenie - definicja. Diagnostyka różnicowa omdleń

AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie

II KATEDRA KARDIOLOGII CM UMK

Analiza i Przetwarzanie Biosygnałów

Rozdział 1. Nagły zgon sercowy. Krzysztof Kaczmarek. Definicja. Mechanizmy nagłego zgonu sercowego

Holter. odprowadzeń CM5, CS2, IS.

CENTRUM KSZTAŁCENIA PODYPLOMOWEGO PIELĘGNIAREK I POŁOŻNYCH

Podstawowe wskazania do ablacji RF wg ACC/AHA/ ESC

Detekcja zmienności rytmu serca

Zaburzeni a rytmu serca. Przygotowała: Joanna Gnarowska II RM

Tętno, Ciśnienie Tętnicze. Fizjologia Człowieka

Pacjent ze stymulatorem

Elektrokardiografia w schematach (część 4) - ostre zespoły wieńcowe Electrocardiography in scheme (part 4) - acute coronary syndromes

PROGRAM PRZYGOTOWANY PRZEZ ZESPÓŁ PROGRAMOWY W SKŁADZIE 1

Różnorodne oblicza telemedycyny

1. ABSTRAKT WSTĘP KONCEPCJA PROPONOWANEGO ROZWIĄZANIA REZULTATY I WNIOSKI PODSUMOWANIE LITERATURA...

Przypadki kliniczne EKG

Przypadki kliniczne EKG

25. Mężczyzna, 68 lat, z paroletnim wywiadem zastoinowej niewydolności serca, zgłaszający nasiloną duszność.

1.ABSTRAKT REZULTATY I WNIOSKI PODSUMOWANIE LITERATURA...5 DODATEK C. OPIS INFORMATYCZNY PROCEDUR... 7

Elektrokardiografia w ratownictwie

Spis treści. Przedmowa Badanie pacjenta z chorobami sercowo-naczyniowymi... 13

Oprogramowanie Analizy Elektrokardiogramów dla Nauki i Edukacji

Załącznik Nr 3 do siwz OPIS PRZEDMIOTU ZAMÓWIENIA - PARAMETRY JAKOŚCIOWE. Część 1 - Defibrylator - kardiowerter ICD-VR jednojamowy z elektrodami

Analiza zapisu elektrokardiograficznego

4 ROZDZIAŁ. Zaburzenia rytmu serca typu przedsionkowego. Cele. Czytelnik po przeczytaniu tego rozdziału powinien umieć:

Co nurtuje lekarza rodzinnego, czyli dylemat: czy ten pacjent ma migotanie przedsionków?

Przy przyjęciu w EKG AFL z czynnością komór 120/min. Bezpośrednio przed zabiegiem, na sali elektrofizjologicznej,

z zapisu EKG 1. WSTĘP CELE PROJEKTU KONCEPCJA PROPONOWANEGO ROZWIĄZANIA... 8

1. Podstawowe badanie kardiologiczne u dzieci 1 I. Wywiad chorobowy 1

Arytmia - kiedy Twoje serce bije nierówno

Najczęstsze przyczyny nieadekwatnych interwencji kardiowertera-defibrylatora. Analiza zapisów wewnątrzsercowych

Nastolatek z kołataniem serca - kiedy kardiolog jest potrzebny od zaraz?

Częstoskurcze z szerokim zespołami QRS algorytm podstawowy Broad QRS complex tachycardia basic algorithm

Nieadekwatne interwencje kardiowerteradefibrylatora.

QT_DISP. AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie. WEAIiE, Katedra Automatyki Laboratorium Biocybernetyki

9. Zaburzenia rytmu serca i przewodzenia

zapis i interpretacja elektrokardiogramu

Częstoskurcze z wąskimi zespołami QRS częstoskurcze przedsionkowo-komorowe Narrow QRS tachycardias atrioventricular tachycardias

Częstoskurcze z wąskimi zespołami QRS zespoły preekscytacji Narrow QRS tachycardias preexcitation syndromes

PRZEDMIOT ZAMÓWIENIA - PARAMETRY JAKOŚCIOWE

PAKIET I-poz.1 Oddział Kardiologii Stymulator jednojamowy SSIR z elektrodami (Podstawowy) Producent: Nazwa/numer katalogowy: Kraj pochodzenia:

Pozornie łagodne napady miarowego częstoskurczu z wąskim zespołem QRS, których podłoże trzeba usunąć metodą ablacji

układu krążenia Paweł Piwowarczyk

Przywrócenie rytmu zatokowego i jego utrzymanie

Zdarzenia przebudzenia: liczba przebudzeń, indeks przebudzeń ([liczba przebudzeń x 60]/ TST)

Joanna Dangel Poradnia Perinatologii i Kardiologii Perinatalnej 2009/2010

Interaktywne wykresy. Interaktywne histogramy. Analiza granicznych wartości w zapisie EKG. Pełne dostosowanie do indywidualnych potrzeb

Częstoskurcze z szerokimi zespołami QRS - algorytm średniozaawansowany Broad QRS complex tachycardia intermediate algorithm

Artefakty w spoczynkowym badaniu EKG to się zdarza i może sprawiać problemy

Ró"nicowanie cz#stoskurczów nadkomorowych i komorowych

Transkrypt:

AKADEMIA GÓRNICZO-HUTNICZA im. St. Staszica w Krakowie WEAIiE, Katedra Automatyki Laboratorium Biocybernetyki Przedmiot: Przetwarzanie sygnałów w systemach diagnostyki medycznej. Temat projektu: Detekcja arytmii. ARRH_DET Spis treści: 1 ABSTRAKT... 3 2 WSTĘP... 4 3 KONCEPCJA PROPONOWANEGO ROZWIĄZANIA... 5 3.1 Szczegółowa lista arytmii... 5 3.2 Algorytm detekcji... 9 4 REZULTATY I WNIOSKI... 9 4.1 Wyniki analizy... 10 5 PODSUMOWANIE... 11 6 LITERATURA... 11 7 DODATEK A: OPIS OPRACOWANYCH NARZĘDZI I METODY POSTĘPOWANIA... 12 8 DODATEK B: REALIZACJA PROPONOWANEGO ROZWIĄZANIA... 12 9 DODATEK C: OPIS INFORMATYCZNY PROCEDUR... 13 10 DODATEK D: SPIS ZAWARTOŚCI CD... 15 11 DODATEK E: TABELA OBJAWÓW ARYTMII... 15 Wykonali: Tomasz Michalski, Jakub Turoboś V rok IS konsultant: dr hab. inż. Piotr Augustyniak

Wersja 1.0. Kraków, styczeń 2010.

1 Abstrakt Celem tego projektu jest zaprojektowanie i zaimplementowanie aplikacji, której zadaniem będzie przeszukiwanie i analiza zapisów EKG w celu znalezienia oraz klasyfikacji podstawowych typów arytmii serca, takich jak bradykardia, tachykardia, pauzy, migotanie przedsionków itp. W naszej aplikacji planujemy wykorzystać algorytmy oparte na analizie odległości między zespołami QRS, a także spróbujemy zbadać działanie algorytmów opartych na cechach sygnału w domenie częstotliwości. Słowa kluczowe: arytmia, detekcja arytmii, klasyfikacja arytmii 3

2 Wstęp Zaburzenie rytmu serca, znane także jako arytmia to stan, w którym skurcze mięśnia sercowego pod wpływem anormalnej aktywności elektrycznej stają się nieregularne, a ich częstotliwość wychodzi poza bezpieczny zakres 60-100 uderzeń na minutę są zbyt szybkie (w skrajnych przypadkach powyżej 400 uderzeń/min) lub zbyt wolne (może też dojść do pominięcia niektórych skurczy). Niektóre arytmie mogą być niebezpieczne dla zdrowia, a nawet prowadzić do śmierci pacjenta, chociaż nie jest to regułą. Klasyfikacja zaburzeń rytmu serca wyróżnia dwie podstawowe grupy arytmii: nadkomorowe: dodatkowe pobudzenia nadkomorowe pojedyncze, pary częstoskurcze przedsionkowe (AT) węzłowe (AVNRT) przedsionkowo-komorowe (AVRT) trzepotanie przedsionków (AFl) migotanie przedsionków (AF) komorowe pojedyncze pobudzenia komorowe (VEB) częstoskurcze: łagodne: z drogi odpływu prawej komory i pęczkowy, kardiomiopatie: rozstrzeniowa, przerostowa, arytmogenna dysplazja prawej komory (ADRV) zespół wydłużonego odstępu QT (LQTS), zespół krótkiego QT (SQTS) częstoskurcze katecholaminergiczne (CPVT) zespół Brugadów (BrS) migotanie komór (VF) W rozdziale 3.1 przedstawione są bardziej szczegółowo te rodzaje arytmii, które staraliśmy się wziąć pod uwagę pisząc naszą aplikację. Arytmie groźne dla życia to najczęściej utrwalone arytmie komorowe, które występują zarówno w mięśniu uszkodzonym (po zawale, kardiomiopatie) jak i zdrowym (genetycznie uwarunkowane arytmiczne choroby serca). Nadkomorowe zaburzenia rytmu serca stanowią zagrożenie wtedy, gdy występują w sercu uszkodzonym i/lub przebiegają z szybką czynnością komór (zespoły preekscytacji). 4

Arytmie zdiagnozować można dzięki ustalonym kryteriom rozpoznania, opierającymi się na analizie zapisu elektrycznej czynności mięśnia sercowego czyli elektrokardiogramu (ECG lub EKG). W literaturze można się spotkać z szeregiem sposobów na automatyczne wykrywanie i klasyfikację arytmii. Najprostszą metodą jest badanie tempa uderzeń serca (mierzenie interwału RR), co pozwala znaleźć sekwencje o nienormalnym tempie, a także łatwo wyznaczyć początek i koniec arytmii. Aby dokonać klasyfikacji arytmii można skorzystać z tablicy zawierającej interwały RR oraz dane dotyczące morfologii danego zespołu. W trakcie klasyfikacji należy zadbać o odpowiednią hierarchię rodzajów arytmii. [1] Istnieją także bardziej skomplikowane metody, oparte o analizę matematyczną i statystyczną. Jedna z takich metod polega na analizie poszczególnych zespołów PQRST. Najpierw wyznaczane są charakterystyczne częstotliwości tworzące te zespoły (tzw. częstotliwości sprzężone fazowo), a następnie są one porównywane z wynikiem FFT pojedynczego zespołu. Analiza różnic pozwala stwierdzić, które zespoły mają cechy arytmii. [4] Dosyć skuteczną metodą klasyfikacji jest analiza statystyczna zespołów PQRST przy użyciu modelowania autoregresyjnego tworzone są modele, których współczynniki opisują kilka różnych rodzajów arytmii. Przyrównując badane zespoły do otrzymanych poprzez autoregresję danych otrzymujemy parametry, które pozwolą na decyzję, jaki rodzaj arytmii reprezentuje dany zespół. Metoda ta osiąga skuteczność powyżej 90%. [3] 3 Koncepcja proponowanego rozwiązania W proponowanym przez nas rozwiązaniu wykorzystujemy listę objawów charakterystycznych dla danych arytmii, analizując informacje o załamkach PQRS pochodzące z poprzednich aplikacji z wykonywanego łańcucha. Wyznaczyliśmy kilka typów arytmii, których objawy są na tyle rozróżnialne, aby można je było poddać analizie automatycznej. 3.1 Szczegółowa lista arytmii 3.1.1 Zwolniony rytm zatokowy (łac. bradycardia sinusalis; ang. sinus bradycardia) Jest wynikiem zmniejszonej częstości powstawania pobudzeń w węźle zatokowym. Może występować w warunkach fizjologicznych np. u sportowców lub w czasie snu (przewaga układu parasympatycznego). W stanach chorobowych najczęstszą jego przyczyną jest choroba niedokrwienna serca, zapalenie mięśnia serca, niedoczynność tarczycy, podwyższone ciśnienie śródczaszkowe, wpływ leków (beta-blokery, naparstnica). 5

Miarowy rytm zatokowy o częstości poniżej 60/min. Załamki P dodatnie w odprowadzeniach I i II, ujemne w avr. Każdy zespół QRS poprzedzony załamkiem P. 3.1.2 Przyspieszony rytm zatokowy (łac. tachycardia sinusalis; ang. sinus tachycardia) Jest wynikiem zwiększonej częstości powstawania pobudzeń w węźle zatokowym. Może występować w warunkach fizjologicznych np. w czasie wysiłku fizycznego i osiągać częstość 180-200/min. Inne jego przyczyny to przewaga układu współczulnego, gorączka, niewydolność oddechowa, nadczynność tarczycy, wstrząs, krwotok, niedokrwistość, wpływ leków sympatykomimetycznych i parasympatykolitycznych oraz alkoholu, kofeiny i nikotyny. Miarowy rytm zatokowy o częstości powyżej 100/min. Załamki P dodatnie w odprowadzeniach I i II, ujemne w avr. Każdy zespół QRS poprzedzony załamkiem P. 3.1.3 Niemiarowość zatokowa (łac. arrhythmia sinusalis; ang. sinus arrhythmia) Jest wynikiem powstawania pobudzeń w węźle zatokowym w nieregularnych odstępach czasu. Wyróżnia się dwie postacie: Niemiarowość zatokowa oddechowa w czasie wdechu dochodzi do odruchowego przyspieszenia rytmu serca, w czasie wydechu do zwolnienia. Przyczyną jest zmieniające się napięcie nerwu błędnego. Jest zjawiskiem fizjologicznym występującym często u dzieci. Nie ma znaczenia klinicznego. Niemiarowość zatokowa bezładna nie stwierdza się żadnych prawidłowości pomiędzy kolejnymi odstępami PP. Występuje w przebiegu organicznych chorób serca. Różnice w czasie trwania odstępów PP większe niż 0,16 s. Załamki P dodatnie w odprowadzeniach I i II, ujemne w avr. Niemiarowość zatokowa oddechowa przyspieszenie rytmu w czasie wdechu. Niemiarowość zatokowa bezładna zmiany rytmu nie zależą od oddychania. 6

3.1.4 Zahamowanie zatokowe (łac. pausa sinusalis; ang. sinus pause) Jest wynikiem ustania czynności bodźcotwórczej węzła zatokowego co doprowadza do przerwy w pracy serca. Przy dłużej trwającym zahamowaniu włącza się zastępczy rytm pozazatokowy lub utrzymuje się asystolia. Może występować u osób zdrowych jako wyraz wzmożonego napięcia nerwu błędnego oraz w wielu organicznych chorobach serca, a także pod wpływem leków. Przerwa w rytmie zatokowym (wydłużenie odstępu PP). Przerwa nie jest wielokrotnością podstawowych odstępów PP (w przeciwieństwie do bloku zatokowo-przedsionkowego). 3.1.5 Blok zatokowo-przedsionkowy (łac. dissociatio sinuatrialis; ang. sinoatrial exit block) Jest wynikiem utrudnionego przewodzenia pobudzeń przez tkankę okołowęzłową do przedsinka. Wyróżnia się bloki I, II i III stopnia. W rutynowym EKG można rozpoznać jedynie blok II stopnia, który polega na okresowym przerwaniu przewodzenia przez tkankę okołowęzłową i wypadaniu ewolucji przedsionkowej. Przerwa w rytmie zatokowym (wydłużenie odstępu PP). Przerwa jest wielokrotnością podstawowych odstępów PP. 3.1.6 Ekstrasystolia przedsionkowa (łac. extrasystolia atrialis; ang. atrial premature beats) Przedsionkowe pobudzenia przedwczesne powstają w ognisku ektopowym w przedsionku, tzn. poza węzłem zatokowym. Niemal zawsze pobudzają wstecznie węzeł zatokowy zmieniając jego rytm i powodując wystąpienie przerwy poekstrasystolicznej, krótszej niż tzw. pełna przerwa wyrównawcza. Mogą występować u osób zdrowych, ale najczęściej spowodowane są organicznymi chorobami serca, zwłaszcza przebiegającymi z przerostem przedsionków. Przedwczesny (w stosunku do rytmu zatokowego) załamek P o zmienionym kształcie. Odstęp PQ dłuższy od 0,1 s. Kształt zespołu QRS przeważnie prawidłowy. 7

3.1.7 Napadowy częstoskurcz nadkomorowy (łac. tachycardia paroxysmalis supraventricularis; ang. paroxysmal supraventricular tachycardia) Pojęcie to obejmuje grupę częstoskurczów (w tym częstoskurcz przedsionkowy i częstoskurcz węzłowy), ale nie precyzuje dokładnie lokalizacji rozrusznika, gdyż jest to na podstawie standardowego EKG często niemożliwe. Większość z nich powstaje w mechanizmie reentry. Częstoskurcze te mają charakter napadowy to znaczy nagle się rozpoczynają i nagle kończą. Występują najczęściej u chorych z wadami serca, chorobą wieńcową, chorobą wieńcową, zapaleniem mięśnia serca, zespołem WPW, nadczynnością tarczycy, czasami u osób zdrowych. Częstość rytmu 150-250/min. Załamek P o zmienionym kształcie w porównaniu z rytmem zatokowym lub niewidoczny. Kształt zespołów QRS przeważnie prawidłowy. Nagły początek i nagły koniec częstoskurczu. 3.1.8 Częstoskurcz komorowy (łac. tachycardia ventricularis; ang. ventricular tachycardia) Jest wynikiem aktywności komorowego ogniska ektopowego wyzwalającego pobudzenia z dużą częstością lub powstaje w mechaniźmie reentry. Można go rozpoznać przy obecności serii 6 lub więcej pobudzeń komorowych. Występuje w świeżym zawale mięśnia serca, w kardiomiopatiach, w zaburzeniach elektrolitowych, w wyniku toksycznego działania leków. Miarowy rytm o częstości 100 250/min. Zespoły QRS zniekształcone i poszerzone (powyżej 0,12 s) z przeciwstawnym kierunkiem odcinka ST i załamka T. Mogą być obecne pobudzenia złożone i przewiedzione pobudzenia nadkomorowe. 3.1.9 Bigeminia komorowa (łac. bigeminia; ang. bigeminy) Pobudzenie komorowe przedwczesne występuje po każdym pobudzeniu rytmu podstawowego. 3.1.10 Para pobudzeń komorowych (łac. dyadis; ang. couplets) Dwa kolejne (występujące bezpośrednio po sobie) pobudzenia komorowe. 8

3.1.11 Salwa komorowa (łac. dyadis; ang. couplets) Kilka (od 3 do 5) kolejnych pobudzeń komorowych. 3.2 Algorytm detekcji Nasz algorytm detekcji arytmii w dużej mierze bazuje na analizie wektora struktur Beats. Najważniejszym elementem algorytmu jest obliczanie odstępu pomiędzy kolejnymi ewolucjami serca. Otrzymany w ten sposób rytm pozwala na wykrycie kilku najbardziej podstawowych typów arytmii bradykardię, tachykardię, niemiarowość zatokową itp. Detekcję można przeprowadzać na dwa sposoby: statycznie wystąpienie arytmii jest sygnalizowane wtedy, kiedy prędkość bicia serca przekroczy zadaną, z góry ustaloną szybkość, np. poniżej 40 lub powyżej 100 uderzeń/min. dynamicznie algorytm mierzy średnie BPM pacjenta i sygnalizuje wystąpienie arytmii dopiero wtedy, gdy dojdzie do znacznej odchyłki od średniej. Korzystając ze średniej ruchomej (np. średnie BPM wyznaczane tylko z ostatniej minuty) możemy uzyskać algorytm, który jest bardziej odporny na zmiany częstotliwości uderzeń z powodów naturalnych i może być bardziej czuły. Z drugiej strony może to powodować pewne ilości fałszywych detekcji, gdyż nawet normalny przebieg wykazuje nieznaczne odchylenia. Następnie są sprawdzane inne charakterystyczne cechy różnych arytmii, np. szerokość QRS, czy fale w innych odprowadzeniach. Zdobyte informacje przechodzą przez drzewko decyzyjne, które pozwala ostatecznie sklasyfikować arytmię. Alternatywnie, zamiast drzewka decyzyjnego, można wykorzystać funkcje oceniające. Do tego należy stworzyć tabelę podobną do tej z Dodatku E, jednakże zamiast wartości binarnych jest/brak objawu, wstawić wagi odpowiadające poszczególnym objawom. Następnie należy zsumować iloczyny waga * objaw dla każdego rodzaju arytmii i wybrać ten, który będzie miał największą sumę. Taka metoda jest bardziej elastyczna niż wykorzystanie samego drzewka lub grafu decyzyjnego, jednakże skonstruowanie odpowiedniej tablicy (ponad 100 współczynników) może być bardzo trudne i wymagać dużej ilości danych testowych, aby uzyskać optymalne wyniki. 4 Rezultaty i wnioski Ze względu na to, że nasza aplikacja opiera się o dane, które powinny być przetworzone przez aplikacje odpalane wcześniej w cyklu, jej wyniki są zależne od jakości tych implementacji. Niestety, w dniu oddawania tego sprawozdania dostęp mamy tylko do jednej aplikacji typu 9

QRS_DET, co pozwala na rozpoznawanie tylko podstawowych typów zaburzeń rytmu. Nie mając innych informacji o sygnale, a w szczególności informacji o załamkach P, nie możemy rozróżnić wielu typów arytmii. Dlatego naszą aplikację musieliśmy przyciąć, tak aby mogła pracować z tymi dostępnymi danymi. Poza tą jedną aplikacją możemy się opierać o dane referencyjne ze strony www.physionet.org, z której to pobieramy próbki do testowania. Niestety one zawierają jeszcze mniej informacji tylko momenty wystąpienia załamka R, co nie pozwala na pełną weryfikację rezultatów. 4.1 Wyniki analizy Plik 100.dat z bazy Physionet zawiera przebieg bicia serca osoby o średnim BPM 75 uderzeń na minutę. Na poniższym przebiegu i histogramie odległości R-R można zauważyć pewną grupę zbyt wczesnych uderzeń, o odstępach sięgających nawet poniżej 0.6 sek. Z drugiej strony widać też nieliczne uderzenia występujące nieco później, w odstępie około sekundy. Wg bazy Physionet w ciągu 30 minut występują 33 arytmie. Nasza aplikacja po dobraniu parametrów była w stanie wykryć około 30 arytmii. Niestety nie wszystkie wykryte arytmie pokrywają się z tymi z bazy referencyjnej (oko 15 z nich). Może to być efektem przyjęcia innych kryteriów detekcji przez algorytm referencyjny lub też niedokładnego wybrania parametrów. Niestety dane przekazane przez aplikację QRS_DET okazały się wadliwe, gdyż wykrywa ona czasem podwójnie zespoły QRS, a następnie pomija jeden lub więcej zespołów, co powoduje wykrywanie fałszywych bloków zatokowych przedsionkowych. 10

Dla pliku 105.dat o bardziej wyróżnialnych arytmiach mamy przebieg i histogram: Jak widać próbki zawierające arytmie są w dużo większej odległości od normalnych ewolucji serca. Dzięki temu detekcja powinna być łatwiejsza. I tak przy 164 próbkach wg Physionetu, nasza aplikacja wykryła 172 arytmie, z czego większość (ponad 80%) była zgodna z referencyjnymi. Niestety bazując tylko na odległości RR nie jesteśmy w stanie wykryć dokładnego typu arytmii, przez co spora część kodu naszej aplikacji jest niewykorzystana. 5 Podsumowanie Efekty działania naszej aplikacji w aktualnej wersji są niezadowalające, jednakże nie do końca mieliśmy na nie wpływ, gdyż jesteśmy zależni od jakości pracy innych. Dopiero mając odpowiednio wypełnione struktury danych aplikacja zaczyna zadowalająco. Dlatego należy ją uważać za rozwojową. Najważniejszym efektem jest jednak to, że podczas jej tworzenia zrozumieliśmy działanie arytmii serca i dokonaliśmy analizy i implementacji kilku ciekawych i obiecujących algorytmów, co na pewno ma wymierny efekt dydaktyczny. 6 Literatura [1] Piotr Augustyniak, Przetwarzanie sygnałów elektrodiagnostycznych, AGH Uczelniane Wydawnictwo Naukowo-Dydaktyczne, Kraków 2001 [2] AS Al-Fahoum, AM Qasaimeh, ECG Arrhythmia Classification Using 11

Simple Reconstructed Phase Space Approach, Biomedical Centre of Excellence, Yarmouk University, Jordan University of Science and Technology, Irbid, Jordan [3] Dingfei Ge, Narayanan Srinivasan, Shankar M Krishnan, Cardiac arrhythmia classification using autoregressive modeling, BioMedical Engineering OnLine 2002, 1:5 [4] GVS Chiranjivi, Vamsi Krishna Madasu, Madasu Hanmandlu, Brian C. Lovell, Arrhythmia Detection in Human Electrocardiogram, Department of Electrical Engineering, Indian Institute of Technology Delhi, New Delhi, India, School of ITEE, University of Queensland, St. Lucia, Australia. [5] Aleksandra Czepiel, Zaburzenia rytmu serca, Postępy Nauk Medycznych 2-3/2007, s. 62-67 [6] Wikipedia, Cardiac arrhythmia, http://en.wikipedia.org/wiki/cardiac_arrhythmia [7] Tomasz Tomasik, AdamWindak, Anna Skalska, Jolanta Kulczycka-Życzkowska, Józef Kocemba, Elektrokardiografia dla lekarza praktyka 7 DODATEK A: Opis opracowanych narzędzi i metody postępowania Program nie wymaga instalacji, wystarczy wypakować z archiwum plik *.exe. W przypadku kompilacji programu ze źródeł wystarczy uruchomić polecenie make. Program nie korzysta z żadnych niestandardowych bibliotek i powinien się skompilować w każdym środowisku z kompilatorem gcc i GNU make lub kompatybilnymi. Program był testowany w środowisku Windows, zarówno jako kompilacja do natywnego pliku wykonywalnego projekt MinGW jak i środowiska zgodnego z POSIX (CygWin). Aby użyć programu należy wykonać polecenie: arrh_det <plik_qrs> <plik_wyj> gdzie: <plik_qrs> - plik zwrócony przez program qrs_det <plik_wyj> - plik, do którego zostaną zapisane dane wyjściowe 8 DODATEK B: Realizacja proponowanego rozwiązania Do realizacji rozwiązania posłużył język C++. Kod programu tworzony był w środowisku Eclipse C/C++, z użyciem kompilatora GCC pod systemem operacyjnym Windows XP. 12

Do poprawnego działania programu wymagany jest plik z surowym sygnałem EKG oraz struktury Config, Status oraz Beats z częściowo przetworzonym sygnałem EKG, szczegółowo opisane w dokumencie o strukturach projektu. Niezbędne dane z tych struktur to częstotliwość próbkowania oraz ilość kanałów sygnału EKG (Config.FileType), oraz dane ze struktur Beats.Det oraz Beats.Waves. Po wczytaniu wyżej wymienionych danych, dla każdej ewolucji serca zapisanej w strukturze Beats przeprowadzana jest statystyczna analiza. Wyliczane są takie wielkości jak długość zespołu QRS, długość odcinka PQ oraz zależności pomiędzy kolejnymi ewolucjami serca, tj. odległości RR, PP, średnia odległość PP, a także wyliczana jest chwilowa oraz średnia częstość ewolucji serca. Porównywane są również wartości sygnału EKG w poszczególnych jego kanałach dla odpowiednich załamków. Na podstawie tak spreparowanych danych oraz kryteriów poszczególnych arytmii serca opisanych w podrozdziale 3.1 przeprowadzana jest klasyfikacja. 9 DODATEK C: Opis informatyczny procedur Wykorzystane biblioteki: stdio.h, stdlib.h, math.h, fileio.h, vector, iostream int loadconfig Funkcja odczytująca konfigurację programu z pliku do globalnej struktury używanej w programie. Argumenty funkcji: char* filename ciąg znakowy, będący ścieżką dostępu do pliku parametr typu int ze zbioru {0 wszystko OK, 1 błąd odczytu pliku} int loadstatus Funkcja odczytująca strukturę Status z pliku do globalnej struktury używanej w programie. Argumenty funkcji: char* filename ciąg znakowy, będący ścieżką dostępu do pliku parametr typu int ze zbioru {0 wszystko OK, 1 błąd odczytu pliku} int loadsignal Funkcja odczytująca surowy sygnał EKG z pliku do globalnej struktury używanej w programie. Argumenty funkcji: char* filename ciąg znakowy, będący ścieżką dostępu do pliku int numofch ilość kanałów sygnału EKG parametr typu int ze zbioru {0 wszystko OK, 1 błąd odczytu pliku} int loadbeats Funkcja odczytująca strukturę Beats z pliku do globalnej struktury używanej w programie. Argumenty funkcji: char* filename ciąg znakowy, będący ścieżką dostępu do pliku parametr typu int ze zbioru {0 wszystko OK, 1 błąd odczytu pliku} int savebeats Funkcja zapisująca strukturę Beats używaną w programie do pliku. Argumenty funkcji: brak 13

parametr typu int ze zbioru {0 wszystko OK, 1 błąd zapisu pliku} int savestatus Funkcja zapisująca strukturę Status używaną w programie do pliku. Argumenty funkcji: brak parametr typu int ze zbioru {0 wszystko OK, 1 błąd zapisu pliku} int saveconfig Funkcja zapisująca strukturę Config używaną w programie do pliku. Argumenty funkcji: brak parametr typu int ze zbioru {0 wszystko OK, 1 błąd zapisu pliku} int* getsample Funkcja odczytująca wartość próbki dla wszystkich kanałów. Argumenty funkcji: int sample numer próbki sygnału parametr typu int* - tablicę o długości równej ilości kanałów sygnału, wypełnioną odpowiednimi wartościami zadanej próbki w danym kanale int getsampleinchannel Funkcja odczytująca wartość próbki dla zadanego kanału. Argumenty funkcji: int sample numer próbki sygnału int channel numer kanału sygnału parametr typu int wartość zadanej próbki w zadanym kanale int detectarrhs Główna funkcja programu, wykrywająca arytmie Argumenty funkcji: brak brak Uzywane zmienne: static int f; // ilość próbek na sekundę static int arrhcount; // zmienna pomocnicza static int lastarrh; // ostatnio wykryta arytmia static int arrhtype; // typ wykrytej arytmii static int RR; // ilość próbek pomiędzy kolejnymi uderzeniami static int BPM; // częstość uderzeń na minutę static int meanbpm; // średnia częstość uderzeń na minutę static int QRS; // długość zespołu QRS static int PP; // długość odcinka PP static int meanpp; // średnia długość odcinka PP static int PQ; // długość odcinka PQ static int PPoint; // środek załamka P static int* P; // wartość sygnału dla próbki PPoint we wszystkich kanałach static bool* symptoms; // tablica wykrytych kryteriów dla klasyfikacji poszczególnych arytmii Struktury używane w programie: enum ArrhType { NONE, PAUSE, // pauza nadkomorowa, zahamowanie zatokowe PACED, // przyspieszony rytm zatokowy VENT_TACHY, // tachykardia komorowa SALVO, // salwa komorowa BIGEMINY, // bigeminia komorowa (PVC) SUPERVENT_TACHY, // napadowy częstoskurcz nadkomorowy (PSVT) BRADY, // bradykardia komorowa COUPLET, // para komorowa SINUS_ARRY, // niemiarowość zatokowa EXIT_BLOCK, // blok zatokowo-przedsionkowy ARTIAL_PRE_BEAT, // ekstrasystolia przedsionkowa LENGHT // wielkość zbioru arytmii }; Typ enum używany w procesie klasyfikacji arytmii enum Symptom { Pvalue, // załamek P jest dodatni w odprowadzeniu I i II, a ujemny w avr Pfail, // brak załamka P 14

BPM przeciwstawne ST i T brak P Zniekształcone QRS > 0,12s zmienne PQ niemiarowe RR fala f 350-600/min fala F 250-350/min P- w II, III i avf PQ > 0,1s przerwa jest wielokrotnością PP przerwa nie jest wielokrotnością PP wydłużenie PP P+ w I i II; P- w avr PP > 0,16s }; PPinterval, // odcinek PP odbiega od średniej PPdouble, // odcinek PP jest wielokrotnością średniej odległości PQinterval, // odcinek PQ jest dłuższy niż 0,1s QRSinterval,// zespół QRS jest dłuższy niż 0,12s lenght // wielkość zbioru symptomów 10 Dodatek D: Spis zawartości CD SRC: ARRH katalog zawierający kod źródłowy aplikacji wraz z plikiem makefile EXE: arch.exe plik wykonywalny aplikacji wraz z wymaganą do uruchomienia biblioteką data katalog z przykładowymi danymi DOC: Katalog zawiera raport w formacie.doc i.pdf 11 Dodatek E: Tabela objawów arytmii typ arytmii / kryteria bradykardia X < 60 tachykardia X > 100 niemiarowość zatokowa X X zahamowanie zatokowe X X blok zatokowo-przedsionkowy X X ekstrasystolia przedsionkowa X rytm przedsionkowy X X 40 100 trzepotanie przedsionków X X X migotanie przedsionków X X X napadowy częstoskurcz nadkomorowy 150 250 wielokształtny częstoskurcz przedsionkowy X 100 250 ekstrasystolia komorowa X X X zastępczy rytm komorowy X X 30 100 przyspieszony rytm komorowy X X częstoskurcz komorowy X X 100 250 15