ELEKTROKARDIOGRAFISK DIAGNOSTICERING
|
|
|
- Camilla Rasmussen
- 9 år siden
- Visninger:
Transkript
1 ELEKTROKARDIOGRAFISK DIAGNOSTICERING AF PAROXYSMAL ATRIEFLIMREN BJARKE SKOGSTAD LARSEN BIOMEDICAL ENGINEERING AALBORG UNIVERSITET
2
3 The Faculty of Engineering, Science and Medicine Department of Health Science and Technology Fredrik Bajers Vej 7D, DK-9220 Aalborg Øst Telefon Fax Synopsis: Titel: Elektrokardiografisk diagnosticering af paroxysmal atrieflimren Semester: 2. semester af Masteruddannelsen for Sundhedsteknologi Tema: Analyse og modellering og/eller design og implementering af medicinske, fysiologiske eller teknologiske systemer. Projektperiode: 1. september 2010 til 5. september 2011 Projektgruppe: Bjarke Skogstad Larsen Vejledere: Claus Graff Oplagstal: 5 Sidetal: 102 Afsluttet: 28. august 2011 Atrieflimren (AF) er en degenerativ sygdom, der bliver sværere at modvirke, som den forværres. Tidligt stadie af AF består typisk i korte selvafsluttende episoder af AF dette kaldes paroxysmal atrieflimren (PAF). AF er særdeles svær at diagnosticere på dette stadie, da det kun opstår som korte og selvafsluttende episoder. Målet for dette projekt var at undersøge mulige parametre til diagnosticering af PAF ud fra korte EKGoptagelser. Data blev hentet fra PhysioNets [1] atrieflimren database, hvorfra 16 forsøgspersoner blev tilfældigt udvalgt; 8 med dokumenteret PAF (P-gruppen) og 8 uden dokumenteret PAF (N-gruppen). Kun én optagelse fra hver af de 16 forsøgspersoner blev inkluderet. 3 minutter fra hver optagelse blev annoteret med Pon, Ppeak, Poff, Qon, og 30 minutter fra hver optagelse blev annoteret med R. Til dette formål blev et program, ECGLab, udviklet, hvormed semiautomatisk annotering blev effektiviseret. Herefter blev følgende parametre til diagnosticering af PAF ud fra korte EKG-optagelser undersøgt: P-bølgens varighed, PR interval, varighed af første og anden del af P-bølgen, ujævnhed af P-bølgen, ensartetheden af P-bølgerne, samt antallet af præmature hjerteslag af supraventrikulær oprindelse (PAC) og ventrikulær oprindelse (PVC). Antallet af PVC var signifikant forskellige mellem de to grupper ved en tosidet t-test med konfidensinterval på 95 %. De resterende parametre viste ved samme test ingen signifikant forskel mellem de to grupper. Ved ROC blev det optimale threshold for antal PVC bestemt til 0,5, og med dette threshold blev 15 af 16 forsøgspersoner korrekt klassificeret (93,75 %). Resultaterne viser at personer med dokumenteret PAF har en øget frekvens af PVC selv langt fra AF episoder. Øget og kaotisk aktivering af atrierne, der nogle gange fører til aktivering af AV knuden, kan ligge til grund herfor. Nogle personer med dokumenteret PAF havde desuden i størrelsesordnen gange flere PAC end andre personer, men dette var ikke en generel observation for alle gruppens forsøgspersoner. Resultater er dog kun baseret på 16 forsøgspersoner, hvorfor yderligere undersøgelser er nødvendige for at verificere eller afvise dem. Endvidere har ECGLab vist sig at have potentiale til brug i anden forskning, hvor annotering af EKG-optagelser er nødvendig. Rapportens indhold er frit tilgængeligt, men offentliggørelse (med kildeangivelse) må kun ske efter aftale med forfatteren.
4
5 FORORD Denne rapport er udarbejdet af Bjarke Skogstad Larsen på 2. semester af Masteruddannelsen for Sundhedsteknologi på Institut for Sundhedsvidenskab og Teknologi indenfor specialiseringen Medicinske Signaler på Aalborg Universitet. Projektet er udarbejdet i perioden 1. september 2010 til 5. september Rapporten henvender sig til vejledere, medstuderende og andre med interesse i paroxysmal atrieflimren og diagnosticering heraf. Illustrationen på forsiden stammer fra Bjarke Skogstad Larsen
6 INDHOLDSFORTEGNELSE 1 Introduktion Atrieflimren Klassificering Patofysiologi Diagnosticering Behandling Erfaringer fra tidligere studier Krstacic et al Lynn et al Yang et al Schreier et al Zong et al Langley et al Opsummering Problemformulering Parametre P-bølgens timing og varighed P-bølgens ujævnhed P-bølge ensartethed Udledning af gennemsnits P-bølgen Hyppighed af præmature hjerteslag Klassificering af QRS Data Læringssæt Testsæt ECGLab Kravspecifikation Funktionelle krav Ikke-funktionelle krav Løsningsmål Interface gennemgang... 34
7 7.2.1 Menuen Files Menuen Annotation Statuslinien Signalvisning Interfacefunktionaliteter Åbn signal Åbn annotering Vælg afledning Autodetektér Vælg annoteringer Naviger i signal Tilføj annoteringer Fjern annotering Gem annotering Markér område med dårlig signalkvalitet Fjern markering af område med dårlig signalkvalitet Gem annotering som ny fil Luk annotering Luk signal Afslut ECGLab Dialog: Ugemte annoteringer Design Struktur Klasserne Filter Detekteringsalgoritme Resultater Dataudvælgelse og -annotering P-bølgens varighed Varighed af første del af P-bølgen Varighed af anden del af P-bølgen PR interval P-bølgens ujævnhed P-bølgens ensartethed #PAC #PVC Diskussion Konklusion... 81
8 11 Appendiks Matlab: Filter for baseline drift Matlab: Lavpasfilter Matlab: Detektionsalgoritme for R Matlab: Kurvelængdetransformation Matlab: Class: ECGLabWindow Matlab: Class: ECGLabAnnotation Matlab: Class: ECGLabSignal Referencer... 95
9 KAPITEL 1 1 INTRODUKTION Atrieflimren (AF) er den mest almindelige hjertearytmi og er associeret med øget morbiditet af blandt andet slagtilfælde og tromboembolisme. Som oftest er AF en degenerativ sygdom, der primært rammer ældre ofte i forbindelse med andre lidelser som hypertension, hjerteklapfejl, forsnævring af kranspulsårer, diabetes og lungesygdomme. [2, 3] Prævalensen af AF estimeres til 1 % af den generelle befolkning og viser et stærkt tilhørsforhold til alder; livstidsrisiko for at udvikle AF er ca. 25 % for både mænd og kvinder over 40 år. Figur 1 viser sammenhængen mellem paroxysmal AF, persisterende AF og alder. [2, 3] Med en stigende gennemsnitsalder, samt forbedrede behandlingsmuligheder og dermed bedre overlevelses chance efter myokardieinfarkt og hjertesvigt, udgør AF i dag en større trussel mod befolkningssundhed end hidtil. [3] Det estimeres pr. 2007, at ca. 2,5 millioner amerikanere lider af AF. Prævalensen forventes at fordobles over de næste 20 år og tredobles over de næste 30 år. [2, 3] Prævalens Paroxysmal AF Persisterende AF Alder [År] Figur 1 Sammenhæng mellem paroxysmal AF, persisterende AF og alder. Både antallet af personer med PAF og persisterende AF stiger med alderen. Andelen af personer med persisterende AF stiger dog i forhold til antallet af personer med PAF, hvilket også afspejler at PAF er det initierende stadie af AF. Modificeret fra [4]. Således har omkostninger været støt stigende de seneste årtier og udviklingen forventes at fortsætte. Eksempelvis steg de direkte omkostninger for AF i Storbritannien fra 244 millioner i 1995 til 459 millioner i Dette svarer til 0,62 % af udgifterne for National Health Service (NHS) i 1995 og 0,97 % i [3] AF resulterer i højfrekvent asynkron elektrisk aktivering af atrierne på mellem 300 og 600 slag i minuttet, hvilket fører til tab af atriel sammentrækningsevne og dermed nedsat atriel funktionalitet Figur 2 viser, hvordan AF repræsenteres på et EKG-signal i forhold til normal hjerterytme. Ubehandlet kan den øgede atrielle aktivitet føre til en øget ventrikulær aktivitet, hvorfor den resulterende takykardi kan medføre nedsat ventrikulær funktion og dermed øget risiko for hjertestop. AF alene øger risikoen for hjerteinfarkt fem til syv gange, og risikoen for at dø fordobles. [2, 5]
10 Kapitel 1 Introduktion Normal Atrieflimren Figur 2 Øverst vises et normalt EKG-signal og nederst et EKG-signal under AF episode. Som det ses, optræder der ingen reel P-bølge på EKG-signalet under AF, da atrierne ikke har en koordineret sammentrækning i denne periode. Endvidere kan ses højfrekvente lav amplitude udsving generelt på EKG-signalet, der afspejler ukoordineret elektrisk aktivering af atrierne. AF inddeles i tre stadier: [2] Paroxysmal atrieflimren (PAF) Persisterende atrieflimren Permanent atrieflimren Den kliniske udvikling af AF starter med kortvarige selvafsluttende episoder paroxysmal atrieflimren. Dette kan udvikle sig til længerevarende episoder, hvor hjertet ikke vender tilbage til normal sinusfunktion uden indgriben persisterende atrieflimren. Det sidste stadie permanent atrieflimren består af vedvarende AF, der ikke er afsluttet indenfor 1 år på trods af indgriben, eller hvor indgriben fravælges. [2] Det er velkendt, at sygdomsforløbet for AF udvikler sig fra paroxysmal til persisterende og til sidst permanent AF. [4] Udviklingen fra paroxysmal til persisterende til permanent AF involverer kompleks remodellering af den elektriske funktion og struktur af de individuelle atrielle myocytter, samt strukturelle ændringer af forkamrene. De elektriske ændringer sker hurtigt og kan indledningsvis repareres, mens de strukturelle ændringer tager længere tid og ligeledes er langsommere at reparere dette er illustreret i Figur 3. [2] 2
11 Kapitel 1 Introduktion Remodelleringsgrad Elektrisk remodellering Strukturel remodellering er Reversibilitet Paroxysmal Atrieflimren Persisterende Atrieflimren Permanent Atrieflimren Figur 3 Den elektriske remodellering af atrierne forekommer tidligt i forløbet og er nemmere at reparere end den langsommere strukturelle remodellering. Det vil sige, at under PAF stadiet har der kun været let strukturel remodellering og en relativ større andel elektrisk remodellering end i de senere stadier. Dette betyder også at reversibiliteten af remodelleringen falder som PAF udvikles til persisterende og permanent AF. Patienter, der lider af PAF, er grundlæggende forskellige fra dem, der lider af persisterende eller permanent AF; de er yngre og sandsynligvis fri for strukturelle hjertesygdomme. To årsager ligger til grund herfor. (1) Patienter med PAF kan have specifikke mekanismer til grund for AF, der ikke kræver den mere diffuse atrielle myopati og/eller forstyrrelse af den atrielle elektrofysiologi, der går forud for de mere vedholdende former for arytmien. (2) PAF kan repræsentere den initierende form af AF, der over tid degenerer til persisterende eller permanent AF. Dette betyder, at risikovurdering af disse patienter er markant anderledes. [4] En tidligere diagnosticering af AF det vil sige i PAF stadiet vil således muliggøre, at igangsætte behandling inden betydelige strukturelle ændringer, der er sværere at modvirke end de tidlige elektriske ændringer, har fundet sted. En tidlig diagnosticering er dog betydelig sværere, da episoder af AF hos PAF patienter er pludseligt opstående og selvafsluttende. Nuværende diagnosticeringsmuligheder består i langtidsmålinger af EKG, f.eks. Holter. Ved at lave langtidsmålinger forsøges herved at opfange de pludseligt opstående og selvafsluttende episoder af AF. Det er endnu ikke muligt at diagnosticere PAF udenfor episoder af AF, og derfor er de længerevarende EKG-optagelser nødvendige. Hvis parametre til diagnosticering af PAF udenfor episoder af AF kunne bestemmes, ville dette muliggøre en nemmere diagnosticering af PAF f.eks. ved analyse af en kortvarig EKG-optagelse. En sådan diagnosticeringsmetode vil muliggøre screening for PAF, og derved igangsættelse af behandlingsforløb inden sygdommen degenererer til persisterende eller permanente stadier. Desuden vil non-invasiv screening gøre det muligt, at bestemme for hver patient om mere specifikke og komplekse diagnosticeringsmetoder skal tages i brug. Således kan det initierende problem formuleres: Hvordan kan diagnosticering af PAF ved analyse af kortvarige EKG-optagelser muliggøres? 3
12
13 KAPITEL 2 2 ATRIEFLIMREN 2.1 Klassificering AF kan klassificeres i tre stadier baseret på det tidsmæssige forløb af arytmien. Det første stadie kaldes paroxysmal atrieflimren (PAF), hvor atrieflimren opstår spontant og er som regel selvafsluttende inden for syv dage. Persisterende atrieflimren er det andet stadie, hvor arytmien er vedvarende og kræver elektrisk eller farmakologisk indgriben for at standse AF. Det sidste stadie kaldes permanent atrieflimren, hvor AF varer længere end 1 år og ikke kan afsluttes ved indgriben, eller hvor indgriben vælges fra. [2] Ydermere kan AF klassificeres på baggrund af ætiologi. AF som forekommer med ætiologi, såsom akut myokardieinfarkt, hjertekirurgi, pericarditis, myocarditis, hyperthyroidisme, lungeemboli, lungebetændelse eller andre akutte pulmonale lidelser, klassificeres som sekundær AF. [6] I disse tilfælde er AF ikke det primære problem, og derfor vil behandlingen af den underliggende sygdom som regel også stoppe arytmien uden risiko for tilbagefald. Når AF forekommer uden identificerbar ætiologi hos patienter under 60 år med en strukturelt normal hjerte, og hverken i besiddelse af kliniske eller ekkokardiografiske tegn på kardiopulmonale sygdomme, herunder hypertension, klassificeres det som Lone AF. Disse patienter har god prognose med hensyn til tromboemboli og mortalitet. Over tid kan patienter dog bevæge sig ud af Lone AF kategorien, som følge af aldring eller udvikling af abnormaliteter i hjertet, såsom udvidelsen af det venstre forkammer. Herved stiger risikoen for tromboemboli og mortalitet. Mens Lone AF udgør omkring 15 % af alle AF tilfælde, ligger sekundær AF til grund for de fleste tilfælde af persisterende og permanent AF. [6] Det anslås at ca. 90 % af personer med Lone AF kan kategoriseres som PAF. [5] 2.2 Patofysiologi Patogenesen af AF involvere en initierende udløsende faktor (trigger), ofte i form af ektopiske pacemaker aktivitet fra ektopiske foci, og unormal atriel væv, som er i stand til at opretholde arytmien. Ektopiske foci er områder i hjertet, der forårsager et tidligt hjerteslag (præmature hjerteslag) uden for en normal fungerende SA node. [2] Ektopiske foci pacemakeraktiviteter, der ofte ligger i det muskelvæv, der strækker fra venstre atrium til proksimale dele af de pulmonale vener, spiller en afgørende rolle i forbindelse med initiering af AF. Mindre hyppigt kan initiering af AF skyldes ektopisk aktivitet i muskelvæv i den proksimale del af vena cava superior. [7] Bølgerne fra den ektopiske aktivitet kan udbrede sig og kolliderer med normal elektrisk aktivitet i atrierne, hvilket fører til interferens og flere bølger af elektrisk aktivering i atrierne, der initierer AF, se Figur 4. Selvom de pulmonale veners ektopiske rolle er velkendt, så er de underliggende faktorer mindre klare. [6]
14 Kapitel 2 Atrieflimren Figur 4 (A) Normal sinusrytme. Hjerteslaget er én velkoordineret proces, der begynder i SA knuden (1). Det elektriske signal spredes ud over atrierne (2) og via AV knuden (3) til ventriklerne (4). (B) Atrieflimren. Atrierne er under konstant kaotisk aktivering af flere forskellige elektriske signaler og aktiveres med en frekvens mellem 300 og 600 slag per minut (1). AV knuden (2) frafiltrerer de fleste af disse ekstra aktiveringer, men nogle slag når stadig ventriklerne. [5] 2.3 Diagnosticering Mange symptomer forbundet med AF skyldes hurtig hjerterytme. En normal hvilepuls er 60 til 100 slag per minut. Under en episode af AF, opstår høj asynkron atrial elektrisk aktivering af atrierne med op mod slag i minuttet, hvilket betyder tab af atrial sammentrækningsevne. Den øgede atrielle aktivering kan forhøje den ventrikulære frekvens, hvor den heraf følgende takykardi-medierede kardiomyopati kan udløse ventrikulær dysfunktion og hjertesvigt. Herudover kan de hæmodynamiske ændringer, som ledsager udvikling af hjertesvigt, øge forekomsten af AF. [2, 5] Ineffektiv fyldning af ventriklerne fører også til mange symptomer af atrieflimren. Patienter oplever ofte åndenød, brystsmerter, træthed, nedsat evne til at udøve fysisk aktivitet, samt svimmelhed. Når AF er alvorlig, kan forvirring og besvimelse forekomme. Atrieflimren er ofte først diagnosticeret af lægen ved at lytte til hjertet. Diagnosen kan herefter bekræftes ved elektrokardiogram (EKG), som tager målinger af den elektriske aktivitet i hjertet. Indimellem kan ekkokardiografi af hjertet til visualisering være nødvendig for bedre diagnosticering. [6] For PAF, hvor episoder forekommer periodiske og kun vare nogle få sekunder eller minutter, kan patienter bære en transportabel, kontinuerlig EKG optager i nogle dage for diagnosticering dette kaldes for Holter monitorering. En lignende enhed, kaldet en event overvåger, tager kun EKG optagelser, når patienten får symptomer og trykker på en knap. En event overvåger kan bæres i flere måneder. [6] 2.4 Behandling AF associeres med tre potentielt livstruende komplikationer: apopleksi, myokardie infarkt og nedsat cardiac output. [4, 6] Risikoen for apoleksi og myokardie resultater fra blodansamling i atrierne i løbet af AF. Dette kan medføre dannelse af blodpropper, der kan løsrives og sætte sig i hjernen og hjertets muskulatur. Vedvarende eller permanent AF kræver behandling med blodfortyndende medicin for at reducere denne risiko. [7] Nedsat cardiac output betyder, at der ikke pumpes nok iltet blod til kroppens celler, hvilket medfører nekrose. Hvis symptomer hos patienter med PAF forværres, kan antiarytmetisk medicin, der sænker pulsen, ordineres. [7] Den sænkede pulsen giver ventriklerne mere tid til at fyldes med blod, og leder derfor til en øget cardiac output. Antiarytmika til behandling af AF har vist at have moderat effekt, og har tilknyttet høj risiko for livstruende ventrikulær proarytmi. [7] Der er 6
15 Kapitel 2 Atrieflimren også behandlingsmuligheder for AF, som ikke indebærer brug af medicin, hvoraf den mest brugte er elektrisk kardioversion. Dette er en procedure, der forsøger at omdanne unormal hjerterytme til normal med en kontrolleret elektrisk strøm, der passeres gennem hjertet. Disse metoder håndterer symptomer på AF, men behandler ikke den underliggende arytmi. På grund af den øgede anerkendelse af risici i forbindelse med AF, har der i de senere år også været en øget indsats for bedre at forstå AF og til at udvikle sikrere og mere effektive diagnosticeringsog behandlingsmuligheder. [2, 8] På grund af den uregelmæssige og selvafsluttende karakter af PAF, kræves for mange af disse patienter ikke nogen behandling. Dette gælder især, hvis patienten ikke oplever svære symptomer. Patienterne rådes dog til at mindske stress, samt indtagelse af koffein, alkohol og nikotin. Mere end halvdelen af patienter med PAF oplever stress som den største udløsende faktor for episoder af AF. Højt blodtryk kan også have en udløsende effekt for AF, hvorfor det er vigtig at få under kontrol. [6, 7] 7
16
17 KAPITEL 3 3 ERFARINGER FRA TIDLIGERE STUDIER The Computers in Cardiology Challenge 2001 [9] bestod af to dele; ved analyse af EKGsignaler der ikke indeholder AF episoder: (1) at kunne skelne mellem patienter der har risiko for PAF, og patienter der ikke har risiko for PAF, (2) at kunne forudsige AF episoder hos PAF patienter umiddelbart før de forekommer. Dette projekt tager kun den første del af udfordringen i betragtning; screening for PAF, jævnfør den initierende problemformulering i kapitel 1. En database ( blev til formålet oprettet i PhysioNet [1], bestående af 100 forsøgspersoner hvoraf 53 havde dokumenteret PAF og 47 ikke havde dokumenteret PAF. Data fra denne database beskrives nærmere i kapitel 6. Denne udfordring og den fælles åbne database gav anledning til øget forskningsaktivitet indenfor området, og umiddelbart også en række mulige fremgangsmåder. 3.1 Krstacic et al. En relativ simpel metode, der benytter maksimal ratio af kort og lang på hinanden følgende RR intervaller, blev forsøgt af [10], se Figur 5. Threshold blev sat til 2; hvis et RR interval er mindst 2 gange længere end det foregående RR interval, anses patienten for at have risiko for PAF. Resultatet af denne metode var høj sensitivitet (ca. 90 %), men en lav specificitet (ca. 60 %). Det lykkedes kun at opnå en korrekt klassificering på 30 ud af 50 forsøgspersoner for testgruppen, eller 60 %. RR interval ratio 1 Figur 5 Illustrationen viser metoden anvendt i [10]. Øverst vises et EKG-signal af en varierende hjerterytme, samt en ekstrasystole og herunder er QRS komplekser identificeret og vist med én prik for hvert slag. Nederst vises RR interval for hvert par af på hinanden følgende RR intervaller. Metoden bestemmer således alle RR interval ratioer og udvælger den maksimale, der i dette eksempel er markeret med fed. Som resultatet også afspejler, så synes den afprøvede parameter at være utilstrækkelig. Da det ikke er ualmindeligt at selv raske patienter til tider har præmature sammentrækninger af hjertets kamre præmatur atriel kontraktion (PAC) og præmatur ventrikulær kontraktion (PVC) er dette ikke overraskende. I denne undersøgelse skelnes der dog ikke mellem PVC og præmature hjerteslag grundet PAC. Metoden opnår nogen separation af de to grupper i testen, hvilket også afspejler andre undersøgelsers fund, at AF/PAF patienter ofte har præmature hjerteslag.
18 Kapitel 3 Erfaringer fra tidligere studier 3.2 Lynn et al. En mere kompleks metode [11] bestod i at identificere alle hjerteslag og transformere RR intervallerne til et HRV-signal (Heart Rate Variability signal). Herefter blev der lavet to Poincaré plot: ét for HRV-signalet (return map) og ét for det differentierede HRV-signal (difference map), se Figur Figur 6 Til venstre er Poincaré plot for HRV-signalet (return map) og til højre Poincaré plot for det differentierede HRV-signal (difference map). Der laves sådan to plot for hvert subjekt. Modificeret fra [11]. For at lave en feature vektor konstrueredes først en matrice for hvert af de to plot: Return plot blev inddelt i 60x60 områder i intervallet [30-230] for begge akser Figur 7 illustrerer denne inddeling. Antallet af punkter indenfor hvert af disse områder er værdien for det tilsvarende indeks i matricen. Difference map blev inddelt i 70x70 området i intervallet [ ] for begge akser hvorudfra en matrice blev konstrueret med samme fremgangsmåde. Matricerne blev omformet til henholdsvis 3600x1 og 4900x1 vektorer, hvilket er de to feature vektorer, der benyttes til klassificering. 60 kolonner rækker Figur 7 Return plot fra Figur 6 inddeles i en 60x60 matrice i intervallet Antallet af punkter indenfor hvert af disse områder er værdien for det tilsvarende indeks i matricen. Sådanne to vektorer blev beregnet for hvert subjekt i læringssættet. Ligeledes blev disse to feature vektorer beregnet for hvert subjekt i testsættet, og de 5 nærmeste vektorer i læringssættet blev identificeret. Flertallet af de 5 vektorer tilhørende den ene eller anden gruppe bestemte således hvilken gruppe hvert subjekt i testsættet tilhører. Resultatet af denne metode var en korrekt klassificering af 34 ud af 50 forsøgspersoner, eller 68 %. Resultaterne viser, at der er nogen sammenhæng mellem HRV og PAF, idet en rimelig separation af grupperne opnåedes på baggrund af denne parameter. Endvidere benytter artiklen sig af en interessant vægtning af k nærmeste feature vektorer baseret på afstanden til disse vektorer. Med denne vægtning opnåedes et bedre resultat, og på baggrund af det tilhørende konfidensinterval kan det besluttes om resultatet accepteres, eller om andre metoder skal tages i brug. 10
19 Kapitel 3 Erfaringer fra tidligere studier 3.3 Yang et al. En dynamisk analyse af RR intervaller blev foreslået af [12], kaldet Footprint analysis, hvor ændring af RR intervaller blev inddelt i 3 tilstande: forkortelse, ingen ændring, og forlængelse. Kun ændringer større end 50 ms blev anset for forkortelse eller forlængelse, og mindre ændringer blev anset for ingen ændring. Herefter blev hvert syv på hinanden følgende RR intervaller kodet til en sekvens af seks tilstande (ændringer af RR intervaller), således at der opnås 3 6 (729) mulige kombinationer, se Figur 8. Figur 8 (A) 30 minutter plot af RR intervaller med 1 min. udsnit nedenfor. (B) RR intervaller kodes til sekvenser af seks intervalændringer. Tilstande er simplificeret til tre: ingen ændring (0), forkortelse (1), forlængelse (2). (C) Et histogram der viser frekvensen af hver sekvens for et 30 minutter signal. [12] 11
20 Kapitel 3 Erfaringer fra tidligere studier Til klassificering blev der brugt footprint analysis. Inden da blev det optimale cut-off niveau bestemt til at være 0,006 ved at anvende ROC (Receiver Operating Characteristic) kurve, se Figur 9B. Gennem denne algoritme opnåedes en korrekt klassificering på 66 %. Figur 9 (A) Frekvensforskellen for hver sekvens mellem PAF- og kontrolgruppen. En højere værdi betyder en større sandsynlighed for at tilhørende sekvens optræder i et PAF subjekt. (B) ROC kurve. Det bedste cut-off niveau er 0,006, med en sensitivitet på 0,72 og en specificitet på 0,76. [12] Metoden ligner en simplificeret udgave af [11], der blev gennemgået ovenfor. Begge metoder bruger RR intervaller som parameter. Forskellen mellem de to metoder ligger i detaljegraden af parametrene samt klassificeringsmetoden. Mens [11] bruger 60 inddelinger af RR intervalændringer, har [12] simplificeret dette til kun tre inddelinger. På trods af dette opnår [12] næsten lige så godt resultat som [11], hvilket indikerer at den ekstra præcision af RR interval ændringer ikke indeholder yderligere information til diagnosticering af PAF. 12
21 Kapitel 3 Erfaringer fra tidligere studier 3.4 Schreier et al. En algoritme, der benytter P-bølge morfologi som parameter, blev udviklet af [13]. QRS komplekser blev identificeret og klassificeret som enten normale hjerteslag eller præmature hjerteslag grundet PAC. Desuden blev en repræsentativ P-bølge konstrueret ud fra gennemsnittet af alle P-bølger fra normale hjerteslag. Herefter blev korrelationskoefficienten mellem hver P-bølge og gennemsnits P-bølgen bestemt, se Figur 10. Figur 10 Et 10 sekunder udsnit af et EKG-signal med afledning I og II vist, samt den beregnede korrelationskoefficient mellem gennemsnits P-bølgen og P-bølgen for hvert hjerteslag. Som det ses, består hjerteslag nr. 515 af et PAC efterfulgt af et normalt QRS-kompleks. P-bølgen for dette slag har en meget lavere korrelationskoefficient end de andre hjerteslag (ca. 55 %). [13] Klassificering skete gennem en nonparametrisk U-test på de to grupper af korrelationskoefficienter (fra henholdsvis normale hjerteslag og præmature hjerteslag af supraventrikulær oprindelse). Sandsynligheden, p værdien, for at de stammer fra samme gruppe blev brugt som parameter til screening for PAF. Metoden opnåede det bedste resultat blandt de indsendte i Computer in Cardiology Challenge 2001 [9]: 41 ud af 50, eller 82 %. Dog bør det nævnes, at denne metode udnyttede at data er parret, og derfor kan det gode resultat tænkes at skyldes ændret P-bølge morfologi umiddelbart før en AF episode (det ene af to signaler for hvert par er umiddelbart før en PAF episode) frem for en generel ændret P-bølge morfologi til alle tider for PAF patienter. Resultatet viser dog en sammenhæng mellem PAF og hyppigheden af PAC, samt ændret P-bølge morfologi. Det ville være interessant at anvende en tilsvarende metode udelukkende på data langt fra AF episoder for at se om lige så gode resultater kan opnås. 13
22 Kapitel 3 Erfaringer fra tidligere studier 3.5 Zong et al. En metode der tog frekvensen af PAC i betragtning var [14]. QRS komplekser blev automatisk detekteret, og PAC blev identificeret ved at sammenligne varighed, amplitude og areal under kurven for QRS komplekser der kom mindst 15 % for tidligt. Som det ses af Figur 11, optræder både PAC og PVC for tidligt, men kun QRS komplekset fra PAC ligner dem fra de almindelige hjerteslag. QRS komplekser fra PVC er typisk af højere amplitude og længere varighed, og dermed også et større areal under kurven. PAC PVC Figur 11 Et EKG-signal med ét PAC og ét PVC. Mens QRS komplekset fra PAC ligner dem fra de almindelige hjerteslag, så har QRS komplekset fra PVC en større amplitude og er af længere varighed. Når alle PAC var annoteret, blev der foretaget en vægtet sum af dem, således at PAC mod slutningen af signalet favoriseredes, se Figur 12. Figur 12 Vægtning foretages således at senere PAC favoriseres; flere PAC senere i signalet betyder højere sandsynlighed for PAF. Kun de sidste 10 minutter af signalet tages i betragtning. Til sidst blev signalerne parvis testet mod et threshold, og hvis bare én af dem overskred denne værdi, blev begge klassificeret som PAF. Metoden fik den anden højeste score i Computer in Cardiology Challenge 2001 [9]: 40 ud af 50 forsøgspersoner blev korrekt klassificeret, eller 80 %. Vægtning blev foretaget, idet PAC optræder med større hyppighed forud for AF. Af data vides på forhånd at AF episoder (hvis de optræder) kommer umiddelbart efter signalets afslutning, og således var det med denne viden naturligt at vægte senere PAC højere end tidligere. Under normale forhold vides dog ikke, i forbindelse med screening, hvornår AF forekommer (hvis de opstår), hvorfor en sådan vægtning ikke kan anvendes. Metoden viser dog en stærk sammenhæng mellem PAC og PAF, og resultaterne fra forudsigelse af AF episoder på baggrund af PAC opnåede også den højeste score, 79 %. Det ville være interessant, at undersøge om der er en højere hyppighed af PAC hos patienter med PAF selv langt fra AF episoder. 14
23 Kapitel 3 Erfaringer fra tidligere studier 3.6 Langley et al. En anden metode, der også benyttede ektopiske hjerteslag til klassificering af PAF, var [15] der opnåede en korrekt klassificering af PAF på kun 60 %. Den store forskel i resultaterne for denne metode og [14], der også benytter frekvensen PAC til klassificering af PAF, kan skyldes en ringe detektering af PAC i [14], som de selv nævner. Identificering af PAC foretages ved at vurdere RR intervallet i stedet for at vurdere korrelationskoefficienten for QRS komplekset med et normalt hjerteslag som [14]. Desuden benytter metoden sig ikke af vægtning og viden om fremtidige AF episoder som [14], hvilket også kan have indflydelse på forskellen. Dog skal det nævnes, at [14] opnåede 79 % korrekt klassificering af signaler, der var umiddelbart forud for AF episoder selv uden vægtning, mens [15] kun opnåede 61 %. Med dette taget i betragtning er det sandsynligt, at der har været en væsentlig forskel i detektering af PAC mellem de to artikler. 3.7 Opsummering Samlet set ser der ud til at være en veldokumenteret sammenhæng mellem PAF og øget frekvens af PAC. Det er dog stadig uklart hvorvidt den øgede frekvens af PAC kun forekommer umiddelbart før AF episoder, eller om personer med PAF har en generel højere frekvens af PAC i forhold til raske personer selv i tider langt fra AF episoder. De bedste resultater fra ovenstående undersøgelser kom fra undersøgelse af RR intervaller og PAC, hvilket også stemmer overens med [16], der undersøgte flere forskellige parametre baseret på RR intervaller, P-bølge morfologi og frekvensindhold. Intuitivt burde der dog være parametre at finde baseret på P-bølge morfologi og timing, og nogle undersøgelser får også rimelige resultater baseret på dette. Ud over at undersøge disse parametre individuelt kunne de også være interessant at samle dem, da det er muligt de indeholder forskellig information om risiko for PAF. 15
24
25 KAPITEL 4 4 PROBLEMFORMULERING På baggrund af ovenstående analyse formuleres følgende problem: Hvilke parametre fra kortvarige EKG-optagelser er indikatorer for PAF. Til at bestemme mulige parametre skal adskillige EKG-optagelser undersøges. I denne forbindelse annoteres karakteristiske punkter: P on, P peak, P off, Q on og R. Mulige parametre for dette projekt afgrænses således til P-bølgen og QRS kompleks. Dette valg er gjort fordi P- bølgen repræsenterer atriernes sammentrækning det kunne tænkes at anormalitet kan findes i atriernes sammentrækning selv udenfor PAF events hos patienter med PAF. QRS kompleks inkluderes på grund af tidligere undersøgelsers succes med brug af RR interval eller forekomsten af PAC som parameter til diagnosticering af PAF. Da en stor mængde data skal annoteres er det nødvendigt med automatisk eller semiautomatiske værktøjer for at lette processen. Algoritmer til automatisk annotering vil dog ikke være uden fejl, og da målet ikke er at udvikle et færdigt diagnosticeringsprogram, men at finde parametre der indikerer PAF, prioriteres validitet af parametrene, og derfor er det vigtigt at data de bygger på er korrekte. Automatisk annotering af EKG-signalerne er dermed i sig selv ikke tilstrækkelig, hvilket betyder at manuelt eller automatisk annotering med efterfølgende inspektion er nødvendig. For nemt at kunne gennemse og rette de mange signaler er det fordelagtigt at udvikle et program for at lette processen. For at svare på problemformuleringen er følgende trin derfor nødvendige: Udvælgelse af parametre Udvælgelse af data (EKG-optagelser) Udvikling af semiautomatisk værktøj til annotering af EKG-optagelser Annotering af EKG-optagelser Statistisk analyse af parametre på baggrund af data
26
27 KAPITEL 5 5 PARAMETRE Efter inspiration fra tidligere undersøgelsers resultater kan parametre, der skal undersøges i dette projekt, bestemmes. I alt undersøges otte forskellige parametre: P-bølgens timing og varighed (herunder fire forskellige parametre), P-bølgens ujævnhed, P-bølgens ensartethed, samt hyppighed af præmature hjerteslag (herunder to forskellige parametre). 5.1 P-bølgens timing og varighed Ved en ukoordineret elektrisk aktivitet af atrierne er det sandsynligt at P-bølgens varighed øges. Det kan tænkes at varigheden øges på flere forskellige måder; en general forlængelse af P- bølgens varighed, forlængelse af den første del af P-bølgen, forlængelse af den sidste den af P- bølgen, eller et tidligere onset af P-bølgen. Ved at undersøge alle disse parametre kan en øget forståelse af PAF muligvis opnås. A B P on P d P 1 P off P on P peak C D P on PR interval Q on P peak P 2 P off Figur 13 (A) P-bølgens varighed, Pd. (B) Varighed af den første del af P-bølgen, P1. (C) Varighed af den anden del af P-bølgen, P2. (D) PR intervallet afspejler timing af P-bølgen i forhold til QRS komplekset. Som det ses af Figur 13 haves følgende ligninger til beregning af parametrene: = = = = Det er nødvendigt at lokalisere P-bølger for hvert subjekt, hvorefter følgende skridt skal foretages for hver af de fire parametre: 1. Identificér endepunkter; P on, P peak, P off, Q on. 2. Beregn varighed; P d, P 1, P 2, PR. 3. Beregn middelværdien af varigheden for hvert subjekt. 4. Opstil middelværdierne i to grupper; P og N. 5. Foretag en tosidet t-test med 95 % konfidensinterval for at teste om middelværdien for parameteren for de to grupper er ens. H 0 : =, H 1 :. 6. Det optimale threshold til klassificering af PAF med denne parameter kan bestemmes ved brug af ROC.
28 Kapitel 5 Parametre 5.2 P-bølgens ujævnhed Ved AF episoder er atriernes elektriske aktivitet ukoordineret, og da den elektriske aktivitet remodelleres tidligt i udviklingen fra paroxysmal til persisterende AF [2], er det sandsynligt, at denne ukoordineret elektriske aktivitet kan findes i P-bølgen på et EKG-signal selv uden for episoder af AF i dette stadie. Hvis dette er tilfældet, kan det give sig til udtryk i form af ujævne P-bølger, se Figur 14 A0 i forhold til B0. A0 B0 A1 B1 A2 B2 Figur 14 (A0) Abnorm P-bølge morfologi. P-bølgen er ujævn, hvilket afspejler den ukoordinerede elektriske aktivitet. (A1) Den differentierede abnorme P-bølge. (A2) Den dobbelt differentierede abnorme P-bølge. (B0) Normal P-bølge. P-bølgen forløber jævnt. (B1) Den differentierede normale P-bølge. (B2) Den dobbelt differentierede normale P-bølge. Blå og røde områder repræsenterer henholdsvis positive og negative accelerationer (A2 og B2). Hvert af disse områder indeholder én krumning af P-bølgen (A0 og B0). Ved at identificere områder med positiv og negativ acceleration af P-bølgen, kan antallet af krumninger på kurven findes, der efterfølgende kan bruges som et indeks for ujævnhed og dermed niveau af ukoordineret aktivitet. Normale P-bølger kan også indeholde ujævnheder, men et højere niveau af ukoordineret elektrisk aktivitet af atrierne burde også resulterer i en større andel af P-bølger med ujævnhed og/eller flere ujævnheder per P-bølge. Følgende skridt foretages for at beregne indekset for ukoordineret aktivitet af atrierne for hvert subjekt: 1. Identificér P-bølgernes endepunkter; P on og P off. 2. Afled den dobbelt differentierede for hver P-bølge. 3. Tæl antallet af positive og negative områder for hver dobbelt differentierede P-bølge. 4. Beregn middelværdien af antallet for hvert subjekt. 5. Opstil middelværdierne i to grupper; P og N. 6. Foretag en tosidet t-test med 95 % konfidensinterval for at teste om middelværdien for parameteren for de to grupper er ens. H 0 : =, H 1 :. 7. Det optimale threshold til klassificering af PAF med denne parameter kan bestemmes ved brug af ROC. 20
29 Kapitel 5 Parametre 5.3 P-bølge ensartethed En ukoordineret aktivitet af atrierne kan tænkes at give sig til udtryk i en forskelligartethed af P-bølgens morfologi fra slag til slag, se Figur 15 A i forhold til B. Ved at undersøge ensartetheden af P-bølgen for den samme patient, kan det undersøges om dette er tilfældet. A B A B Figur 15 (A) Forskelligartet P-bølger har lav korrelationskoefficient med den gennemsnitlige P-bølge, (A ). (B) Ensartede P-bølger har høj korrelationskoefficient med den gennemsnitlige P-bølge (B ) selvom denne ikke ligner en optimal P-bølge. Følgende skridt skal foretages for hvert subjekt for at beregne ensartetheden af P-bølgerne: 1. Identificér P-bølgernes endepunkter; P on og P off. 2. Udled gennemsnits P-bølgen,, se afsnit nedenfor. 3. Beregn korrelationskoefficienten for hver P-bølge med gennemsnits P-bølgen,. 4. Beregn middelværdien af korrelationskoefficienterne for hvert subjekt. 5. Opstil middelværdierne i to grupper; P og N. 6. Foretag en tosidet t-test med 95 % konfidensinterval for at teste om middelværdien for parameteren for de to grupper er ens. H 0 : =, H 1 :. 7. Det optimale threshold til klassificering af PAF med denne parameter kan bestemmes ved brug af ROC. 21
30 Kapitel 5 Parametre Udledning af gennemsnits P-bølgen For at udlede den gennemsnitlige P-bølge skal P-bølgerne først synkroniseres, således at de overlapper hinanden med maksimal korrelation, se Figur Amplitude Tid [ms] Figur 16 Samtlige annoterede P-bølger for optagelse n31 er plottet med maksimal korrelation. Den gennemsnitlige P-bølge er den fede sorte kurve. Følgende proces foretages: 1. Første og anden P-bølge tidsforskydes, således at de har maksimal korrelation, og gennemsnits P-bølgen,, beregnes: = 2. Tredje P-bølge og den ovenfor bestemte gennemsnits P-bølge,, tidsforskydes således at de har maksimal korrelation og en ny gennemsnits P-bølge,, beregnes ved: = 3. Denne proces fortsættes for alle P-bølger med ligningen =, og den endelige gennemsnits P-bølge,, er fundet. 22
31 Kapitel 5 Parametre 5.4 Hyppighed af præmature hjerteslag Tidligere undersøgelser har vist et stærkt sammenhæng mellem PAF og hyppigheden af præmature hjerteslag. Det er dog uvist, om denne øget hyppighed også er til stede lang fra AF episoder. Ved at finde antallet af PAC og PVC for hvert subjekt, kan det undersøges, hvorvidt dette er tilfældet. Følgende skridt er nødvendige for hvert subjekt for både PAC og PVC: 1. Identificér QRS komplekser. 2. Klassificér hvert QRS kompleks til normal, PAC eller PVC, se afsnit nedenfor. 3. Tæl antallet af QRS komplekser samt antallet præmature hjerteslag; PAC og PVC. 4. Beregn ratio af præmature (PAC eller PVC) hjerteslag i forhold til normale hjerteslag. 5. Opstil antallet af præmature (PAC eller PVC) hjerteslag i to grupper; P og N. 6. Foretag en tosidet t-test med 95 % konfidensinterval for at teste om middelværdien for parameteren for de to grupper er ens. H 0 : =, H 1 :. 7. Det optimale threshold til klassificering af PAF med denne parameter kan bestemmes ved brug af ROC Klassificering af QRS Til identificering af PAC og PVC benyttes en semiautomatisk metode. Først identificeres præmature hjerteslag automatisk gennem et adaptivt threshold, der beskrives nedenfor. RR intervallet,, er defineret til = Hvor og er tiden til hjerteslag og 1 henholdsvis. Det adaptive threshold beregnes gennem et moving average af signalet for RR intervallerne, således at threshold, T, til hjerteslag er 80 % af gennemsnittet af de fem foregående hjerteslag til de fem efterfølgende hjerteslag ( =5): 1 = Hvis et RR interval er mindre end dette threshold, klassificeres det som præmaturt (1), og ellers klassificeres det som normalt (0): = 1, h < 0, h Et eksempel på et RR interval signal og tilhørende adaptive threshold kan ses i Figur
32 Kapitel 5 Parametre RR T RR interval [ms] Tid [antal hjerteslag] Figur 17 Eksempelet viser hvordan RR intervallet (den blå kurve) kan variere over tid, hvorfor et adaptivt threshold er nødvendigt. Den røde kurve er det adaptive threshold, T, og gennem dette threshold identificeres tre præmature hjerteslag i figuren mellem hjerteslag nr. 50 og 100. Samtidig undgås falsk positive klassificeringer senere når RR intervallet falder på grund af øget hjerterytme mellem hjerteslag nr. 150 og 300. Efterfølgende klassificering af præmature hjerteslag (hvor =1) til PAC eller PVC foretages manuelt ved inspektion af de detekterede præmature hjerteslag. 24
33 KAPITEL 6 6 DATA Data er hentet fra en PhysioNet [1] database, der blev oprettet i forbindelse med The Computers in Cardiology Challenge 2001 [17] ( Den består af segmentudtræk fra 2- kanals Holter EKG-optagelser og er opdelt i to lige store sæt; et læringssæt og et testsæt. Optagelserne er samplet med 128 Hz med en opløsning på 12 bit. Data kan inddeles i to segmenttyper; (A) og (B) som vist i Figur 18. (A) Ingen PAF events PAF events 30 min. 5 min. Segment umiddelbart før PAF Kontinuationssegment (B) Ingen PAF events 45 min. 30 min. 5 min. 40 min. Segment langt fra PAF Kontinuationssegment Figur 18 Data kan inddeles i to segmenttyper; (A) og (B). Segmenttype (A) er et 30 minutters segment umiddelbart før PAF. Hvis der er et tilhørende 5 minutters kontinuationssegment, så vil dette indeholde PAF events. Segmenttype (B) er et 30 minutters segment langt fra PAF. Der vil ikke være PAF events i et interval på minimum 45 minutter før og efter segmentet, samt i segmentet selv. Hvis der er et tilhørende 5 minutters kontinuationssegment, så vil dette ikke indeholde PAF events. Både lærings- og testsæt består af to grupper; P-gruppen, der består af personer med dokumenteret PAF, og N-gruppen, der består af personer uden dokumenteret PAF. Af de 12 standard afledninger, er afledning II den bedste til studie af atriel aktivitet [18], og på denne baggrund vælges afledning II til videre analyse. 6.1 Læringssæt Læringssættet består af 50 datasæt (angivet her som læringssubjekter), som stammer fra 48 forskellige subjekter. Hver af disse datasæt består af to 30 minutters segmenter og to 5 minutters kontinuationssegmenter. Alle fire segmenter er udtræk fra ét længere, sammenhængende EKG fra samme subjekt. Ud af læringssættet er 25 datasæt (listet i Tabel 1) fra subjekter med dokumenteret PAF, P-gruppen. Ét segment (A) af hvert par af 30 minutters segmenter fra samme subjekt er umiddelbart før AF episoder som vist i Figur 18 (A), mens det andet segment (B) er langt fra AF episoder som vist i Figur 18 (B). De resterende 25 datasæt (listet i Tabel 2) er fra subjekter uden dokumenteret PAF, N-gruppen. Begge segmenter (B) er langt fra AF episoder som vist i Figur 18 (B). Disse subjekter er sunde kontroller, der er blevet henvist til Holter monitorering, samt patienter indlagt på intensiv afdelinger. For samtlige segmenter i læringssættet er der et tilhørende 5 minutters kontinuationssegement, der kan bruges til at kontrollere, om der er AF umiddelbart efter segmenterne (A) eller (B).
34 Kapitel 6 Data 6.2 Testsæt Testsættet består også af 50 datasæt fra 50 forskellige subjekter, men der er ingen tilhørende kontinuationssegmenter. Ud af disse tilhører 28 datasæt (listet i Tabel 3) P-gruppen, mens 22 datasæt (listet i Tabel 4) tilhører N-gruppen. P-gruppen Segment (A) 30 min. Kont. Segment 1 5 min. Segment (B) 30 min. Kont. Segment 5 min. Læringssubjekt 1 p02 p02c p01 p01c Læringssubjekt 2 p04 p04c p03 p03c Læringssubjekt 3 p06 p06c p05 p05c Læringssubjekt 4 p08 p08c p07 p07c Læringssubjekt 5 p10 p10c p09 p09c Læringssubjekt 6 p12 p12c p11 p11c Læringssubjekt 7 p14 p14c p13 p13c Læringssubjekt 8 p16 p16c p15 p15c Læringssubjekt 9 p18 p18c p17 p17c Læringssubjekt 10 p20 p20c p19 p19c Læringssubjekt 11 p22 p22c p21 p21c Læringssubjekt 12 p24 p24c p23 p23c Læringssubjekt 13 p26 p26c p25 p25c Læringssubjekt 14 p28 p28c p27 p27c Læringssubjekt 15 p30 p30c p29 p29c Læringssubjekt 16 p32 p32c p31 p31c Læringssubjekt 17 p34 p34c p33 p33c Læringssubjekt 18 p36 p36c p35 p35c Læringssubjekt 19 p38 p38c p37 p37c Læringssubjekt 20 p40 p40c p39 p39c Læringssubjekt 21 p42 p42c p41 p41c Læringssubjekt 22 p44 p44c p43 p43c Læringssubjekt 23 p46 p46c p45 p45c Læringssubjekt 24 p48 p48c p47 p47c Læringssubjekt 25 p50 p50c p49 p49c Tabel 1 Læringssubjekter med dokumenteret PAF, P-gruppen. Hvert subjekt har to 30 minutters segmenter med tilhørende 5 minutters kontinuationssegmenter. Segmenterne (A) er umiddelbart før AF, og segmenterne (B) er langt fra AF, se Figur 18 (A) og (B). 1 Disse segmenter indeholder PAF events. 26
35 Kapitel 6 Data N-gruppen Segment (B) 30 min. Kont. Segment 5 min. Segment (B) 30 min. Kont. Segment 5 min. Læringssubjekt 26 n01 n01c n02 n02c Læringssubjekt 27 n03 n03c n04 n04c Læringssubjekt 28 n05 n05c n06 n06c Læringssubjekt 29 n07 n07c n08 n08c Læringssubjekt 30 n09 n09c n10 n10c Læringssubjekt 31 n11 n11c n12 n12c Læringssubjekt 32 n13 n13c n14 n14c Læringssubjekt 33 n15 n15c n16 n16c Læringssubjekt 34 n17 n17c n18 n18c Læringssubjekt 35 n19 n19c n20 n20c Læringssubjekt 36 n21 n21c n22 n22c Læringssubjekt 37 n23 n23c n24 n24c Læringssubjekt 38 n25 n25c n26 n26c Læringssubjekt 39 n27 n27c n28 n28c Læringssubjekt 40 n29 n29c n30 n30c Læringssubjekt 41 n31 n31c n32 n32c Læringssubjekt 42 n33 n33c n34 n34c Læringssubjekt 43 n35 n35c n36 n36c Læringssubjekt 44 n37 n37c n38 n38c Læringssubjekt 45 n39 n39c n40 n40c Læringssubjekt 46 n41 n41c n42 n42c Læringssubjekt 47 n43 n43c n44 n44c Læringssubjekt 48 n45 n45c n46 n46c Læringssubjekt 49 n47 n47c n48 n48c Læringssubjekt 50 n49 n49c n50 n50c Tabel 2 Læringssubjekter uden dokumenteret PAF, N-gruppen. Hvert subjekt har to 30 minutters segmenter med tilhørende 5 minutters kontinuationssegmenter. Segmenterne (B) er langt fra AF som vist i Figur 18 (B). 27
36 Kapitel 6 Data P-gruppen Segment (A) 30 min. Segment (B) 30 min. Testsubjekt 1 t02 t01 Testsubjekt 3 t05 t06 Testsubjekt 4 t08 t07 Testsubjekt 5 t09 t10 Testsubjekt 6 t12 t11 Testsubjekt 9 t17 t18 Testsubjekt 11 t22 t21 Testsubjekt 12 t23 t24 Testsubjekt 14 t27 t28 Testsubjekt 15 t30 t29 Testsubjekt 20 t39 t40 Testsubjekt 24 t47 t48 Testsubjekt 25 t49 t50 Testsubjekt 26 t51 t52 Testsubjekt 27 t53 t54 Testsubjekt 29 t58 t57 Testsubjekt 31 t62 t61 Testsubjekt 33 t65 t66 Testsubjekt 36 t72 t71 Testsubjekt 38 t76 t75 Testsubjekt 39 t77 t78 Testsubjekt 40 t79 t80 Testsubjekt 41 t81 t82 Testsubjekt 43 t86 t85 Testsubjekt 44 t87 t88 Testsubjekt 45 t90 t89 Testsubjekt 49 t98 t97 Testsubjekt 50 t99 t100 Tabel 3 Testsubjekter med dokumenteret PAF, P-gruppen. Hvert subjekt har to 30 minutters segmenter. Segmenterne (A) er umiddelbart før AF og segmenterne (B) er langt fra PAF, se Figur 18 (A) og (B). 28
37 Kapitel 6 Data N-gruppen Segment (B) 30 min. Segment (B) 30 min. Testsubjekt 2 t03 t04 Testsubjekt 7 t13 t14 Testsubjekt 8 t15 t16 Testsubjekt 10 t19 t20 Testsubjekt 13 t25 t26 Testsubjekt 16 t31 t32 Testsubjekt 17 t33 t34 Testsubjekt 18 t35 t36 Testsubjekt 19 t37 t38 Testsubjekt 21 t41 t42 Testsubjekt 22 t43 t44 Testsubjekt 23 t45 t46 Testsubjekt 28 t55 t56 Testsubjekt 30 t59 t60 Testsubjekt 32 t63 t64 Testsubjekt 34 t67 t68 Testsubjekt 35 t69 t70 Testsubjekt 37 t73 t74 Testsubjekt 42 t83 t84 Testsubjekt 46 t91 t92 Testsubjekt 47 t93 t94 Testsubjekt 48 t95 t96 Tabel 4 Testsubjekter uden dokumenteret PAF, N-gruppen. Hvert subjekt har to 30 minutters segmenter. Segmenterne (B) er langt fra AF som vist i Figur 18 (B). 29
38
39 KAPITEL 7 7 ECGLAB Et led i analysen af EKG-signalerne består i at annotere, dvs. at notere hvornår bestemte fænomener opstår i signalet. I forbindelse med dette projekt er det nødvendigt at annotere de karakteristiske punkter: P on, P peak, P off, Q on og R. Herudfra kan de fysiologiske parametre for PAF således undersøges. ECGLab er udviklet til at være et værktøj til annotering af EKG-signaler, hvor det er muligt at benytte automatisk detektering af R og efterfølgende gennemse signalet og foretage manuelle rettelser, samt foretage manuelle annoteringer af P on, P peak, P off og Q on. Det kan også være vigtigt at kunne annotere områder af signalet hvor signalkvaliteten er ringe, så senere analyse kan bero udelukkende på signalområder af højere kvalitet. I dette kapitel gennemgås først de krav, der stilles for ECGLab, så præsenteres det implementerede interface og den funktionelle brug af ECGLab, og til sidst det bagvedliggende design der er lavet for at opnå disse funktionaliteter. 7.1 Kravspecifikation Kravspecifikationen inddeles i tre punkter: funktionelle krav, ikke-funktionelle krav, samt løsningsmål. Funktionelle krav er en liste over de funktioner, det ønskes at systemet skal kunne udføre. Det specificeres hvad systemet skal kunne, men ikke hvordan dette opnås. Ikkefunktionelle krav består af en række begrænsninger for systemets løsningsmuligheder, og løsningsmål er retningslinjer til valg af løsning ud fra prioriteringer. Strukturen for kravspecifikationen er opbygget med inspiration fra [19] Funktionelle krav Systemet skal bruges til at gennemse og annotere EKG-signaler. Det vil sige, at systemet skal kunne indlæse EKG-signaler samt vise det til brugeren. For at arbejdet med systemet kan være fleksibelt, og så annoteringerne kan analyseres i andre scripts, skal det være muligt at gemme annoteringer, samt at kunne indlæse gemte annoteringer for at gennemse og/eller fortsætte annotering af EKG-signalet. Dermed skal systemet kunne: Indlæse EKG-signaler. Gennemse EKG-signalet. Indlæse og gemme annoteringer. Gennemse annoteringer. Redigere annoteringer Ikke-funktionelle krav Der er to overordnede typer af ikke-funktionelle krav: performancebegrænsninger og projektbegrænsninger. Performancebegrænsninger består af begrænsninger til systemløsninger ud fra en performancebetragtning. Dette kan f.eks. være kapacitet, skalerbarhed eller
40 Kapitel 7 ECGLab tilgængelighed. Projektbegrænsninger opstiller begrænsninger til systemløsninger ud fra en projektmæssig betragtning. Dette kan f.eks. være ressourcer, tid eller kvalitet Performancebegrænsninger Matlab, der er et vidt brugt redskab i forsknings- og udviklingssammenhæng, benyttes i høj grad på Aalborg Universitets linje for Sundhedsteknologi. Det er derfor oplagt at systemet skal være kompatibelt med Matlab, således at annoteringer fra ECGLab nemt kan bruges af programmer, der er skrevet i Matlab. På denne måde sikres både, at videre analyse af annoteringerne kan foretages i Matlab, samt at andre fremtidige projekter indenfor samme linje nemt kan gøre brug af systemet. PhysioNet [1] er en stor database, der består af digitale optagelser af fysiologiske signaler og bliver i vid udstrækning brugt i biomedicinsk forskning. Disse optagelser er hovedsageligt tilgængelige i et format kaldet Waveform Database (WFDB). Da signalerne, der bruges i dette projekt, er fra PhysioNet og er tilgængelig i WFDB format, skal ECGLab designes til at læse WFDB signal (data og header) filer. For at lette annotering af de talrige EKG-optagelser ønskes en automatisk detektering og annotering af hjerteslag implementeret. Selvom det er muligt, at en automatisk detekteringsalgoritme kan opnå høj sensitivitet og specificitet, opstår der unægtelig fejl ind imellem. Derfor er det også vigtigt, at systemet giver mulighed for manuel annotering, således at EKG-signalet efterfølgende kan gennemses, og eventuelle fejl kan rettes. Herved opnås en bedre annotering af signalerne og derfor også mulighed for en bedre efterfølgende analyse. For at give brugeren maksimal navigeringsmulighed, skal EKG-optagelserne kunne vises både i detaljer (det vil sige et kort tidsvindue) samt i overblik (det vil sige stort eller komplet tidsvindue). De ønskede parametre der skal undersøges kræver karakteristiske punkter P on, P peak, P off, Q on og R annoteret, se kapitel 5. Dermed haves performancebegrænsningerne: Systemet skal være kompatibelt med Matlab. Systemet skal kunne læse WFDB signal filer. Systemet skal give mulighed for både automatisk og manuel annotering af R. Systemet skal give mulighed for manuel annotering af P on, P peak, P off og Q on. Systemet skal kunne vise overblik af EKG-signalet. Systemet skal kunne vise detaljer i EKG-signalet Projektbegrænsninger Da systemet i første omgang ikke skal bruges af andre, lægges der mindre vægt på brugervenlighed og det antages at brugeren kender systemets brug. Projektbegrænsningerne opsummeres: Der lægges mindre vægt på brugervenlighed. 32
41 Kapitel 7 ECGLab Løsningsmål Det primære mål med systemet er, at det skal være nemt at gennemse EKG-optagelser og annotere karakteristiske punkter i signalet. Da der skal annoteres mange timers EKGoptagelser, er det vigtigt at denne proces er så effektiv som muligt. Derfor prioriteres effektiv annotering af EKG-optagelser højest. Effektiv annotering betyder, at normal brug skal være ukompliceret, nemt og hurtigt, og handlinger, der gentages ofte, skal reduceres til færrest mulige trin. Det er sandsynligt, at systemet kan bruges til andre lignende projekter, hvorfor det ønskes at fleksibilitet prioriteres dog ikke på højde med de primære mål. Retningslinjer for valg af løsning opstilles ved brug af MoSCoW [20], hvor: M Must have; Krav der skal være til stede ved deadline for at levering af systemet kan anses for en succes. S Should have; Disse krav er også vigtige for projektet, men er ikke absolut nødvendige indenfor den første tidsramme. C Could have; Krav der er ikke er kritiske og ofte er nice to have. W Won t have; Krav der ikke inkluderes indenfor leveringsdatoen, men der ønskes implementeret i fremtidige versioner. Følgende prioritering er valgt: (M) Effektiv annotering af EKG-signaler. (S) Håndtering af fejl der forstyrrer normalt brug. (C) Fleksibilitet mht. fremtidige ændringer af systemet. (W) Håndtering af fejl der ikke forstyrrer normalt brug. 33
42 Kapitel 7 ECGLab 7.2 Interface gennemgang ECGLab, Figur 19, er udviklet med engelsk sprog i både interface og kode kommentarer, da fremtidige brugere eller udviklere kan være ikke dansk talende på grund af studiets internationale karakter. Så vidt muligt er der brugt velkendte interface beslutninger for at gøre programmet så intuitivt som muligt. Eksempelvis er det første menupunkt Files som i de fleste programmer, og menuen indeholder ligeledes nogle af de underpunkter, man ville forvente se afsnit 0 for mere information om denne menu. Det har ikke været af høj prioriteret at implementere genvejstaster til f.eks åbne, ctrl+o for Open, og gemme, ctrl+s for Save, da der er i stedet lagt vægt på at få en basal interfacefunktionalitet, samt et fornuftigt bagvedliggende design. Ligeledes er der kun i få tilfælde implementeret kontrol funktioner i forhold til brugerens valg. Bland andet kontrolleres, om annoteringer vil gå tabt, når en annotering lukkes, da dette kan have konsekvenser i form af tabt data. Derimod er en kontrol funktion til at forhindre brugeren i at forsøge at åbne en annotering, uden der allerede er åbnet et signal, eksempelvis ikke implementeret. Figur 19 Sådan ser ECGLab ud når det startes. 34
43 Kapitel 7 ECGLab ECGLabs grafisk bruger interface (GUI) kan inddeles i seks områder, hvor hvert område beskrives nærmere herunder. Som vist på Figur 20 er disse områder: 1. Oversigtsvindue Oversigtsvinduet giver brugeren et komplet billede af EKG-signalet fra start til slut. Dette vindue giver også mulighed for at navigere i signalet. 2. Detaljevindue Detaljevinduet visers et udsnit af signalet, hvorved flere detaljer kan ses. 3. Statuslinie Statuslinien viser sti og filnavne på åbne signal og annotering. 4. Autodetektering Autodetekteringsområdet giver mulighed for at benytte en algoritme til automatisk annotering af R. 5. Annoteringsinstillinger/status Annoteringsinstillinger/-status området giver mulighed for at vælge, hvilke punkter der skal annotateres, samt giver oplysning om hvilket punkt, der bliver annoteret næste gang, der tilføjes en annotering. 6. Valg af afledning Afledningsvalg giver mulighed for at vælge afledning Figur 20 ECGLab interface inddelt i seks felter: 1. Oversigtsvindue, 2. Detaljevindue, 3. Statuslinie, 4. Autodetektering, 5. Annoteringsinstillinger/-status, 6. Afledningsvalg. Desuden er der to menuer kaldet hhv. Files og Annotation. Som det ses af Figur 20, er der to menupunkter; Files og Annotering og nedenunder i statuslinien, er der information om, hvilke filer der arbejdes med, og hvor de er placeret. Disse to menupunkter samt statuslinien beskrives i detaljer i de følgende underafsnit. 35
44 Kapitel 7 ECGLab Menuen Files Menuen Files indeholder tre underpunkter, der alle er navngivet, som man ville forvente i forhold til deres funktionalitet, se Figur 21. Figur 21 Menuen Files. Open signal åbner et nyt signal, Close lukker det åbne signal samt eventuelt åbne annotering, Exit afslutter ECGLab. Alle disse punkter er nogle, man ville forvente af en menu kaldet Files, da disse også fremkommer i andre programmer og med samme funktionaliteter. Det punkt, der normalt kaldes Open, kaldes her for Open signal for at undgå forvirring, da der i dette program arbejdes med op til to filer på én gang; én signal-fil og én annoteringsfil (samt en header-fil, der indeholder information om datafilen) Menuen Annotation Menuen Annotation indeholder fire underpunkter, der alle er navngivet, som man ville forvente i forhold til deres funktionaliter, se Figur 22. Figur 22 Menuen Annotation. Load indlæser en annotering, Save gemmer den aktive annotering til eksisterende fil, Save as gemmer den aktive annotering til en ny fil, Close lukker den aktive annotering. Til forskel fra menuen Files har menuen Annotation to underpunkter med funktionalitet, der skriver til en fil; Save og Save as. Disse to punkter eksisterer ikke i Files, da ECGLab ikke har til formål at ændre signalfiler Statuslinien Statuslinien er umiddelbart under menulinien, som vist på Figur 20. Figur 23 Statuslinien. Signalet p01 er (dvs. filerne p01.hea og p01.dat), og annoteringsfilen p01_anno1.mat i stien C:\Users\Tsal\Documents\Uni\ST8 ecglab\data\ er åbne. I Figur 23 kan statuslinien ses når både et signal og et annotering er åben; i dette tilfælde er det signalfilen p01.dat med tilhørende headerfil p01.hea, der er åbne, samt annoteringsfilen p01_anno1.mat. 36
45 Kapitel 7 ECGLab Signalvisning Størstedelen af pladsen i interfacet består af de to områder til visning af signalet; detaljevisning, Figur 24(A), og oversigtsvisning, Figur 24(B) disse er tomme i Figur 19 når ECGLab startes. Oversigtsvinduets funktion er at gøre det muligt for brugeren hurtigt at få overblik over hele signalet, samt at kunne navigere gennem det og derved vælge hvilken del af signalet, der skal vises i detaljevisningen. Figur 24 De to visninger af signalet; (A) detaljevisning, (B) oversigtsvisning. De to er synkroniseret således at det område, der er valgt i oversigtsvisningen det grønne område i (B) er den del af signalet, der vises i detaljevisning (A). Som det fremgår af Figur 24(B), markeres et område i oversigtsvisningen med grønt, hvilket er det område, der aktuelt bliver vist i detaljevisningen, Figur 24(A). Dermed er det muligt for brugeren, hele tiden at overskue hvad der inspiceres. Den funktionelle del af dette interface gennemgås senere i afsnit 7.3. Førsteaksen (tid) vises i antal samples og andenaksen (amplitude) vises i arbitrære enheder. Det er ikke essentielt for programmets funktionelle brug at vise disse værdier i et mere brugervenligt format, som f.eks. hh:mm:ss tidsformat for førsteaksen og mv for andenaksen. WFDB formatet indeholder dog information om gain og samplingsfrekvens, så senere implementering af dette er muligt og vil være at foretrække. 37
46 Kapitel 7 ECGLab 7.3 Interfacefunktionaliteter Den funktionelle interaktion i ECGLab gennemgås i dette afsnit - til hver funktionalitet følger både en beskrivelse samt en illustration Åbn signal Før videre brug af ECGLab kan påbegyndes, skal et signal først åbnes. Dette gøres ved at vælge Open signal i menuen Files og vælge den ønskede fil gennem en fildialog denne proces illustreres i Figur 25. Når denne proces startes, vil eventuelle åbne signal og annotering først forsøges lukket. Hvis der i denne forbindelse er ugemte annoteringer, vil brugeren blive informeret herom, og gennem en dialog kan åbning af et nyt signal fortrydes. Denne dialog beskrives senere i afsnit A B C D E F H J G I 38
47 Kapitel 7 ECGLab K Figur 25 Processen for at åbne et signal vises sekventielt. (A) ECGLab er åbent og brugeren flytter markøren til Files (B), hvorefter der klikkes på venstre knap på musen (C). Dette åbner menuen Files (D), markøren flyttes til Open signal (E), og der klikkes igen på venstre knap på musen (F). Dette åbner en fildialog (G), og brugeren vælger den ønskede fil (H). Markøren flyttes til Åbn (I), og der klikkes på venstre knap på musen (J). Endeligt er signalet åbnet (K). Som det fremgår af Figur 25(K), opdateres feltet Signal file i statuslinien, når et signal åbnes. Ligeledes opdateres både oversigtsvisning og detaljevisning, der nu viser det valgte signal. Som udgangspunkt er de første 10 % af signalet (i tid) valgt til detaljevisning. 39
48 Kapitel 7 ECGLab Åbn annotering For at åbne en annotering skal den tilhørende signalfil først være åben, se afsnit Herefter åbnes menuen Annotation, og menupunktet Load vælges. Dette åbner en fildialog, hvor brugeren kan vælge den rette annoteringsfil. Når dette er gjort indlæses annoteringsfilen, og annoteringerne vises. Figur 26 illustrerer denne proces. A B C D E F H J G I 40
49 Kapitel 7 ECGLab K Figur 26 Processen for at åbne en annotering vises sekventielt. (A) Et signal er åbent, og brugeren flytter markøren til menuen Annotation (B), hvorefter der klikkes på venstre knap på musen (C). Dette åbner menuen Annotation (D), markøren flyttes til menupunktet Load (E), og der klikkes på venstre knap på musen (F). Dette åbner en fildialog (G), hvor markøren flyttes til den ønskede fil, og der klikkes på venstre knap på musen (H). Markøren flyttes til Åbn (I), og venstre knap på musen klikkes igen (J). Annoteringerne fra den valgte fil indlæses og vises i signalvisning (K). 41
50 Kapitel 7 ECGLab Vælg afledning Når et signal er åbent, kan brugeren vælge hvilken afledning, der skal vises og arbejdes med. Afledningen kan skiftes løbende efter brugerens behov, og annoteringer gemmes separat for hver afledning. Attributterne for det valgte detaljevindue beholdes ved skift af afledning, og derved er det muligt hurtigt at skifte afledning, for at se hvordan andre afledninger ser ud til samme tid. Bemærk at der kan vælges 12 forskellige afledninger på trods af, at data for dette projekt kun er optaget to afledninger. Dette valg er gjort på grund af andre projekters interesse i programmet, og fordi at denne udvidede funktionalitet ikke modarbejder brugen af programmet for dette projekt. Således kan ECGLab også bruges i forbindelse med andre projekter, hvor 12-afledning EKG analyseres. A B C D E F 42
51 Kapitel 7 ECGLab G Figur 27 Processen for at vælge/skifte afledning vises sekventielt. (A) Et signal og tilhørende annoteringsfil er åbne, og brugeren flytter markøren til den nuværende valgte afledning (B), hvorefter der klikkes på venstre knap på musen (C). Dette folder menuen for valg af afledning ud (D), markøren flyttes til afledning II (E), og der klikkes igen på venstre knap på musen (F). Dette skifter den nuværende visning til afledning II (G). Bemærk at afledning I havde annoteringer, mens afledning II ikke havde annoteringer i dette eksempel annoteringer gemmes separat for hver afledning. 43
52 Kapitel 7 ECGLab Autodetektér For at effektivisere annotering af R er der implementeret en detekteringsalgoritme for automatisk at annotere R. Denne detekteringsalgoritme blev udviklet i et tidligere projekt, der er baseret på [21]. Figur 28 illustrerer hvordan automatisk detektering af R bruges. A B C Figur 28 Processen for automatisk detektering vises sekventielt. Et signal er åbent og den ønskede afledning er valgt (A), hvorefter markøren flyttes til knappen Detect R peak, og der klikkes på venstre knap på musen (B). Efter kort tid er detekteringsalgoritmen færdig, og de automatisk detekterede R-annoteringer tilføjes og vises (C) Vælg annoteringer Flere punkter af interesse ønskes annoteret; P on, P peak, P off, Q on, R. Herudover medtages flere punkter, der er af interesse for andre projekter; S, J, T on, T peak, T off. Sidstnævnte punkter bliver ikke brugt i dette projekt, men giver mulighed for andre projekter at bruge ECGLab til annotering af disse punkter. Først vælges, hvilke annoteringer der skal bruges ved at vælge dem til i den øverste række i Figur 29 vælges P on, P peak, P off. Herefter vælges, hvilken annotering der skal startes med i Figur 44
53 Kapitel 7 ECGLab 29 vælges P on. Da EKG-signaler gentages slag for slag forekommer de samme karakteristiske punkter i samme rækkefølge ved hvert slag (dog med visse undtagelser for unormale hjerteslag). For at effektivisere annotering af signalerne er det derfor valgt, at den aktive annotering automatisk flyttes cirkulært mod højre. Det vil sige, at når brugeren i dette eksempel annoterer P on, så vil den aktive annotering flyttes til P peak, hvorfor der ved det næste klik annoteres dette punkt. Således kan brugeren hurtigt annotere mange forskellige punkter i signalet ved blot at klikke på venstre knap på musen ved hver annotering. Det første annoteringsvalg aktiveres, når det sidste er blevet annoteret, og derved kan annoteringen for næste hjerteslag fortsætte. Figur 29 illustrerer hvordan annoteringer vælges i ECGLab A B C Figur 29 Processen for at vælge annoteringer vises sekventielt. Et signal er åbent og den ønskede afledning er valgt (A), hvorefter markøren flyttes til Pon, og der klikkes på venstre knap på musen (B). Denne proces foretages for 1-5 i (A). Herved tilvælges Pon, Ppeak og Poff, og R fravælges. Desuden vælges Pon, som den aktive annotering det vil sige den annotering der foretages ved næste klik. Disse valg fremgår af (C). 45
54 Kapitel 7 ECGLab Naviger i signal Navigering i signalet består i at ændre attributterne for detaljevinduet; position og størrelse. Det vil sige, at brugeren kan vælge, hvilken del af signalet detaljevinduet skal centreres om, samt hvor stor en del af signalet der skal vises (zoom niveau). Den implementerede interaktion er valgt ved at imitere andre programmer med lignende funktionaliteter, således at brugeren har en intuitiv tilgang til interfacet. Interaktionsmuligheder for navigation: Der kan klikkes i oversigtsvisningen for at centrere detaljevisningen om det valgte punkt. Desuden kan knappen også holdes inde, når den klikkes. Herved centreres vinduet løbende om markøren, som den flyttes, indtil knappen igen slippes. Scroll frem og tilbage når markøren er ved oversigtsvisning, flytter vinduet henholdsvis frem og tilbage i tid 10 % af vinduets bredde per scroll trin. Scroll frem og tilbage når markøren er ved detaljevisning, gør vinduets længde henholdsvis mindre eller større 10 % af vinduets bredde per scroll trin. Det punkt, markøren er over, forbliver vist på samme sted, som forventet fra andre programmer med samme funktionalitet. Figur 30 viser de interaktive funktionaliteter for at navigere i signalet. A B C D 46
55 Kapitel 7 ECGLab E F G Figur 30 Forskellige navigationsmuligheder vises. Signal og tilhørende annoteringsfil er åbne (A). Markøren flyttes til oversigtsvisning, og der klikkes på venstre knap på musen (B). Vinduet centreres om den valgte tid, som afspejles i den opdaterede detaljevisning samt den grønne markering af vinduet i oversigtsvisning (C). Markøren flyttes til detaljevisning, og scroll-knappen på musen bevæges fremad, indtil det ønskede zoom niveau er opnået (D). Som det ses af (D), er vinduet blevet kortere, og flere detaljer i signalet kan nu ses (E). Markøren flyttes til oversigtsvisning, og scroll-knappen på musen bevæges tilbage flere gange (F), hvorved vinduet flyttes bagud i tid (G). Bemærk at den visuelle markør for vinduet i oversigtsvisning (det grønne område) hele tiden følger det aktuelle vindue. 47
56 Kapitel 7 ECGLab Tilføj annoteringer For at tilføje annoteringer skal et signal først være åbent (afsnit 7.3.1). Når afledning og annoteringer er valgt, kan annotering af signalet påbegyndes. Det er muligt at tilføje en annotering til en eksisterende annoteringsfil, eller begynde på en ny fil. Hvis det ønskes at fortsætte en annoteringssamling skal denne fil først indlæses, se afsnit Hvis det ønskes at starte på en ny fil skal eventuel åben annoteringsfil først lukkes, se afsnit Eksemplet i Figur 31 fortsætter annotering på en eksisterende annoteringsfil A B C Figur 31 Processen for at tilføje annoteringer vises sekventielt. Et signal og tilhørende annotering er åbne (A). Markøren bevæges i detaljevisning til det sted hvor annotering af Pon ønskes tilføjet (A1), og der venstreklikkes (B). Annotering for Pon tilføjes ved dette punkt, og markøren flyttes til (A2), hvorefter der igen venstreklikkes. Således fortsættes også for (A3) og (A4), så annoteringer for henholdsvis Pon, Ppeak, Poff, Pon er tilføjet. Bemærk at den sidst tilføjet Pon er en fejl, og afsnit 0 viser hvordan dette kan rettes. 48
57 Kapitel 7 ECGLab Fjern annotering For at kunne rette eventuelle fejl er det muligt at fjerne annoteringer. Figur 32 illustrerer, hvordan dette kan gøres. A B C Figur 32 Processen for at fjerne en annotering vises sekventielt. Eksisterende signal- og annoteringfil er åbne (A). Markøren flyttes til den annotering, der ønskes fjernet, og der højreklikkes (B). Annoteringen under markøren fjernes (C), og brugeren kan fortsætte med videre brug af ECGLab. 49
58 Kapitel 7 ECGLab Gem annotering For at gemme en annotering til en eksisterende fil skal både signal- og annoteringsfil være åbne. Hvis eventuelle ændringer ønskes gemt til den eksisterende annoteringsfil, følges processen vist i Figur 33. A B C D E F Figur 33 Processen for at gemme annoteringerne til den åbne annoteringsfil vises sekventielt. Signal- og annoteringfiler er åbne (A). Markøren flyttes til menuen Annotation (B), og der venstreklikkes (C). Menuen Annotation foldes ud (D), markøren flyttes til Save (E), og der venstreklikkes igen (F). Annoteringerne er nu gemt til den åbne annoteringsfil Markér område med dårlig signalkvalitet Dårlig signalkvalitet kan medvirke til forringelse af parametrene og er derfor uønskede. For at markere et område med dårligt signalkvalitet, navigeres der først til det område, der skal markeres, se afsnit Figur 34 viser processen for at tilføje markering af dårlig signalkvalitet. Markeringen foretages på annotationer, hvilket vil sige, at hver annotation har et flag, der enten er til eller fra. Dette flag kan f.eks. senere bruges til at bestemme, om disse annoteringer skal medtages i analysen. 50
59 Kapitel 7 ECGLab Hold A B C D E Figur 34 Processen for at tilføje markering af et område med dårlig signalkvalitet vises sekventielt. Et signal er åbent (B), og området med dårlig signalkvalitet er lokaliseret. Markøren flyttes til starttidspunktet for dårlig signalkvalitet (B), venstre knap på musen trykkes og holdes nede (A), mens markøren flyttes til sluttidspunktet for dårlig signalkvalitet (C). Knappen slippes, og markeringen er fuldført (E). 51
60 Kapitel 7 ECGLab Fjern markering af område med dårlig signalkvalitet Der navigeres til det område, hvor markeringen af dårlig signalkvalitet skal fjernes, se afsnit Figur 34 viser processen for at fjerne markering af dårlig signalkvalitet. Hold A B C D 52
61 Kapitel 7 ECGLab E Figur 35 Processen for at fjerne markering af et område med dårlig signalkvalitet vises sekventielt. Et signal er åbent (B), og området med markering af dårlig signalkvalitet er lokaliseret. Markøren flyttes til starttidspunktet, hvor markeringen ønskes fjernet (B), højre knap på musen trykkes og holdes nede (A), mens markøren flyttes til sluttidspunktet (C). Knappen slippes, og fjernelse af markeringen er fuldført (E). 53
62 Kapitel 7 ECGLab Gem annotering som ny fil For at gemme åbne annoteringer til en ny fil følges processen vist i Figur 36. A B C D E F Omdøb H J G I 54
63 Kapitel 7 ECGLab K Figur 36 Processen for at gemme annoteringerne til en ny annoteringsfil vises sekventielt. Et signal er åbent (A), og markøren flyttes til menuen Annotation (B). Der venstreklikkes på musen (C), og menuen åbnes (D). Markøren flyttes til menupunktet Save as (E), der venstreklikkes (F), og en fildialog åbnes (G). Det nye filnavn indtastes (H), markøren flyttes til Gem (I), og der venstreklikkes igen på musen (J). Herved gemmes annoteringerne til en ny fil, og som det ses af (K), opdateres feltet til højre for Annotation file: med det nye filnavn. 55
64 Kapitel 7 ECGLab Luk annotering Den åbne annotering lukkes ved at vælge menupunktet Close i menuen Annotation. Figur 37 illustrerer denne proces. A B C D E F G Figur 37 Processen for at lukke den åbne annoteringsfil vises sekventielt. Signal- og annoteringsfil er åbne (A). Markøren flyttes til menuen Annotation (B), og der venstreklikkes på musen (C). Menuen foldes ud (D), markøren flyttes til Close, og der venstreklikkes igen (F). Den åbne annotering lukkes herved, og som det ses i (G), er der nu ingen annoteringer markeret og ingen annoteringsfil åben, hvilket også er angivet med et tomt felt til højre for Annotation file: i status linien. 56
65 Kapitel 7 ECGLab Luk signal Når et signal er åbent kan det lukkes ved at vælge Close i menuen Files denne proces vises sekventielt i Figur 38. Inden signalet lukkes, vil eventuel åben annotering forsøges lukket, og hvis der i denne forbindelse er ugemte data, vil brugeren blive informeret herom, og gennem en dialog kan lukning af signalet fortrydes. Denne dialog beskrives senere i afsnit A B C D E F G Figur 38 Processen for at lukke et signal vises sekventielt. (A) Et signal er åbent, og brugeren flytter markøren til Files (B), hvorefter der klikkes på venstre knap på musen (C). Dette åbner menuen Files (D), markøren flyttes til Close (E), og der klikkes igen på venstre knap på musen (F). Endeligt er signalet lukket (G). 57
66 Kapitel 7 ECGLab Afslut ECGLab For at afslutte ECGLab vælges Exit i menuen Files denne proces vises sekventielt i Figur 39. Inden programmet afsluttes, vil eventuelle åbne annotering og signal forsøges lukket, og hvis der i denne forbindelse er ugemte data, informeres brugeren herom, og gennem en dialog kan afslutning af programmet fortrydes. Denne dialog beskrives senere i afsnit A B C D E F Figur 39 Processen for at lukke programmet vises sekventielt. (A) Et signal er åbent, og brugeren flytter markøren til Files (B), hvorefter der klikkes på venstre knap på musen (C). Dette åbner menuen Files (D), markøren flyttes til Exit (E), og der klikkes igen på venstre knap på musen (F). Dette afslutter programmet og vinduet lukkes. 58
67 Kapitel 7 ECGLab Dialog: Ugemte annoteringer Hvis der er foretaget ændringer i annoteringerne, der endnu ikke er blevet gemt, og disse forsøges lukket, så åbnes først dialogen vist i Figur 40. Denne dialog kan fremkomme i flere sammenhæng, der alle forsøger at lukke den nuværende annotering; Menu: Files Close, Menu: Files Exit, Menu: Annotation Close. Figur 40 Dialog der gør brugeren opmærksom på, at der er ugemte data som vil gå tabt, hvis der fortsættes uden først at gemme. Hvis brugeren vælger Yes, bortkastes ugemte annoteringer og processen, der blev valgt inden dialogen blev vist, fortsættes. Vælges der No, bliver den igangsatte proces afbrudt, og brugeren får mulighed for at gemme annoteringerne, inden processen (f.eks. at afslutte ECGLab) igangsættes igen. 59
68 Kapitel 7 ECGLab 7.4 Design Målet for designet af ECGLab har været at opbygge en fornuftig struktur for et program, der i første omgang skal bruges til automatisk og manuel annotering af EKG-signaler. Prioriteten har været at opnå de ønskede funktionaliteter inden for en begrænset tidsramme, men der er også blevet lagt nogen vægt på, at implementeringen skulle være nem at vedligeholde og videreudvikle. Målene i kravspecifikationen (se afsnit 7.1 på side 31) blevet nået; alle funktionaliteter er implementeret med tilfredshed. Der er mulighed for at videreudvikle programmet med yderligere funktionalitet og kompatibilitet, f.eks. valg af filter Struktur ECGLab er, ud over det grafiske interface, opbygget omkring tre klasser, ECGLabSignal, ECGLabAnnotation og ECGLabWindow, der henholdsvis holder styr på information omkring signalet, annoteringerne og vinduet til detaljevisning. Når brugeren interagerer, ændres attributterne for de tilhørende klasser. Interfacet, der lytter til ændringer i klasserne, bliver notificeret om disse ændringer og kalder de nødvendige funktioner, der opdaterer interfacet. set attributes listens ECGLabSignal notify on state change Interface set attributes listens notify on state change ECGLabAnnotation set attributes listens notify on state change ECGLabWindow Figur 41 Overordnet kommunikation mellem interfacet og de tre klasser. Kommunikationen til de tre klasser er begrænset til de definerede metodekald, der beskrives nærmere i de følgende underafsnit , og Dette kan f.eks. være ændringer af attributter eller opslag af attributter. Ud over metodekald kan klasserne kommunikere med interfacet via notifikationer dette sker, når attributter ændres. På denne måde er kommunikation mellem klasserne og interfacet begrænset til metodekald og notifikationer. Den veldefinerede kommunikationsstruktur betyder, at klassernes interne implementering kan ændres (f.eks. hvordan data håndteres eller læses) uden resten af programmet bliver påvirket, så længe metodekaldene beholder samme definition. Dette betyder, at vedligeholdelse og videreudvikling gøres nemmere Klasserne Der blev lavet tre klasser til ECGLab; ECGLabSignal, ECGLabAnnotation og ECGLabWindow. De næste afsnit beskriver hver af de tre klasser og deres funktionaliteter ECGLabSignal Denne klasse har til formål at indeholde information om ét signal. Det vil sige, filnavn og sti samt signal data. Desuden indeholder objekter af klassen henvisninger til tilhørende ECGLabWindow og ECGLabAnnotation objekter. Som klassen er designet nu kan hvert 60
69 Kapitel 7 ECGLab signal kun have ét tilhørende ECGLabWindow objekt og ét ECGLabAnnotation objekt af gangen. Denne struktur er uhensigtsmæssig med henblik på videre udvikling af ECGLab, da fremtidige ønskede funktionaliteter kan inkludere, at undersøge flere forskellige dele af signalet samtidigt eller sammenligne flere forskellige annoteringer af samme signal. Alligevel blev denne løsning valgt på grund af simplicitet. Figur 42 UML diagram for klassen ECGLabSignal. Her ses tilhørende attributter og metoder. Figur 42 viser UML diagrammet for klassen ECGLabSignal. Attributter: FileName: En tekststreng der indeholder filnavnet på signalfilen. FilePath: En tekststreng der indeholder stien, hvor signalfilen er gemt. Signal: En matrice der indeholder alle afledninger for signalet. Fs: Samplingsfrekvensen (i Hz) hvormed signal er samplet. hecglabwindow: Handle til det tilhørende ECGLabWindow objekt. hechlabannotation: Handle til det tilhørende ECGLabAnnotation objekt. Metoder: ECGLabSignal: Konstruktør opretter objektet. load: Denne metode lukker først eksisterende signal, og åbner så et nyt gennem en fildialog til brugeren. filter: Filtrering af signalet kaldes gennem denne metode. close: Signalet lukkes gennem denne metode. Alle attributter nulstilles, og lyttere notificeres. initialize: Denne metode kaldes af konstruktøren, når objektet oprettes, samt når signalet lukkes, og objektet nulstilles. Metoden sætter alle attributter til deres standardværdier. getwindow: Henter handle til det associerede ECGLabWindow objekt. getsignal: Henter signalet for den valgte afledning. getfs: Henter samplingsfrekvens i Hz gettime: Henter tidsvektoren. 61
70 Kapitel 7 ECGLab Matlab koden for denne klasse kan findes i appendiks 11.7 på side ECGLabAnnotation ECGLabAnnotation indeholder information omkring annoteringerne for det åbne signal. Desuden har den et flag, issaved, der bliver sat til sand, når der gemmes og falsk, når der laves ændringer. Således kan systemet advare brugere, hvis der går data tabt når annoteringen lukkes. Figur 43 UML diagram for klassen ECGLabAnnotation. Her ses tilhørende attributter og metoder. Figur 43 viser UML diagrammet for klassen ECGLabAnnotation. Attributter: issaved: Flag der holder styr på om alt data er gemt. Sættes til sand når der gemmes, og falsk når der laves ændringer. parrentecglabsignal: Henvisning til tilhørende ECGLabSignal objekt. FilePath: Stien til annoteringsfilen. FileName: Filnavnet på annoteringsfilen. anno: Annoteringsdata. Annoteringsdata er en cell struct med en størrelse på 12 (én celle for hver afledning). Hver celle indeholder annoteringsdata for tilhørende afledning som vist i Tabel 5. Indeks Afledning I II III avr avl avf V1 V2 V3 V4 V5 V6 Tabel 5 Annoteringsdata gemmes i en cell struct med 12 celler. Hver celle indeholder data for én afledning. Denne tabel viser sammenhængen mellem celleindeks og afledning. Hvis der ikke findes nogen annoteringer for en afledning vil cellen indeholde en tom matice, ellers vil den indeholde en m-3 matrice, hvor m er antallet af annoteringer. Hver annotering har således tre informationer: sampleindeks, annoteringstype, flag. Sampleindeks er det samplenummer i det tilhørende signal, hvor annoteringen er placeret. Flag kan en være 0 eller 1, alt efter om annotationen er markeret som værende i dårlig signalkvalitet eller ej. Annoteringstype er et tal, der repræsenterer, hvilken annotering det er. Tal- og ASCIIværdierne for hver annotering kan ses i Tabel 6. 62
71 Kapitel 7 ECGLab Annotering Pon Ppeak Poff Qon R S J Ton Tpeak Toff Værdi ASCII a b c D e f g h i j Tabel 6 Tal- og ASCII-værdi for hver annoteringstype. Metoder: ECGLabAnnotation: Konstruktør opretter objektet. onstatechange: Intern funktion der kaldes hver gang der foretages ændringer i attributterne. load: Denne metode lukker først eksisterende annotering, og åbner så en ny gennem en fildialog. save: Annoteringerne gemmes til den eksisterende annoteringsfil. Hvis der ikke findes en eksisterende annoteringsfil, kaldes saveasdialog i stedet. saveasdialog: Åbner en fildialog til at gemme annoteringerne til en ny annoteringsfil. Når filnavnet er valgt, kaldes saveas. saveas: Gemmer annoteringerne til en ny annoteringsfil, der er valgt gennem saveasdialog. close: Annoteringen lukkes gennem denne metode. Alle attributter nulstilles og lyttere notificeres. initialize: Denne metode kaldes af konstruktøren, når objektet oprettes, samt når signalet lukkes, og objektet nulstilles. Metoden sætter alle attributter til deres standardværdier. addannotation: Tilføjer en ny annotering. addannotationarray: Tilføjer en række af nye annoteringer. Denne metode bruges f.eks. ved automatisk annotering, hvor der ofte skal tilføjes mange annoteringer på én gang. removeannotationindex: Fjerner en annotering ved at angive array index for annoteringen. removeannotation: Fjerner annotering ved at angive samplenummer hvor annoteringen findes. addignorearea: Sætter flag for annoteringer i det valgte område til 0. removeignorearea: Sætter flag for annoteringer i det valgte område til 1. sort: Sortér annoteringsarray efter samplenummer. getsamplenumber: Henter alle annoteringer, eller alle annoteringer af én type. getfile: Henter annoteringsfilens. setfile: Sætter annoteringsfilens. Matlab koden for denne klasse kan findes i appendiks 11.6 på side ECGLabWindow Denne klasse holder styr på information omkring den nuværende detaljevisning. Det vil sige, hvilken del af signalet der vises i detaljevinduet. Vinduet sættes ved at definere centrum samt højde og bredde. Der gives mulighed for at sætte disse attributter enkeltvis eller alle på én gang. Ligeledes gives der mulighed for at hente attributterne på disse måder, samt at hente dem som XData, YData værdier, der kan bruges til at lave et fill, hvilket er den box, der visualiserer vinduets område i oversigtsvisning (det grønne område). 63
72 Kapitel 7 ECGLab Figur 44 UML diagram for klassen ECGLabWindow. Her ses tilhørende attributter og metoder. Figur 44 viser UML diagrammet for klassen ECGLabWindow. Attributter: parrentecglabsignal: Henvisning til det tilhørende ECGLabSignal objekt. WindowCenterX: X-koordinaten til centrum for vinduet. WindowCenterY: Y-koordinaten til centrum for vinduet. WindowWidth: Vinduets højde. WindorHeight: Vinduets bredde. Metoder: ECGLabWindow: Konstruktør opretter objektet. initialize: Denne metode kaldes af konstruktøren, når objektet oprettes, samt når signalet lukkes, og objektet nulstilles. Metoden sætter alle attributter til deres standardværdier. setwindow: Sætter vinduets centrum X,Y koordinater, samt højde og bredde. setwindowcenterx: Sætter vinduets centrum X-koordinat. setwindowcentery: Sætter vinduets centrum Y-koordinat. setwindowwidth: Sætter vinduets bredde. setwindowheight: Sætter vinduets højde. getwindow: Henter vinduets centrum X,Y-koordinater, samt højde og bredde. getwindowcenterx: Henter vinduets centrum X-koordinat. getwindowcentery: Henter vinduets centrum Y-koordinat. getwindowwidth: Henter vinduets bredde. getwindowheight: Henter vinduets højde. getboxdata: Henter XData, YData for vinduet, der kan bruges til at lave en fill. Matlab koden for denne klasse kan findes i appendiks 11.5 på side
73 Kapitel 7 ECGLab Filter Amplituden, timingen og morfologien af de forskellige bølger i et EKG repræsenterer informationer om hjertets elektriske aktivitet. Frekvensindholdet af T-bølge, P-bølge og QRS kompleks kan ses i Figur 45. 1,00 0,75 T-bølge 0,50 QRS kompleks Power 0,25 P-bølge Frekvens [Hz] Figur 45 Power spektrum af P-bølgen, QRS kompleks samt T-bølge. Modificeret fra [22]. Udover hjertets elektriske aktivitet optræder der ofte forskellige støjkilder i signalet. For at analysere på validt data er det nødvendigt enten at filtrere disse støjkilder fra, eller at bortkaste data, der er korrumperet af støj. Almindelige typer af støj er powerline interferens, baseline drift, samt EMG støj. Powerline interferens optræder som 50 eller 60 Hz støj afhængigt af om strømkilden.. Selvom bioelektriske forstærkere har en høj common mode rejection ratio, er der ofte rester af denne støj i EKG-signaler. Dette kan efterkommes med et lavpasfilter med et knækfrekvens under 50/60 Hz, idet interessesegmenterne i EKG for dette projekt (P bølge, P-R interval og QRS kompleks) hovedsageligt indeholder komponenter under 30 Hz [22]. Et andenorden butterworth lavpasfilter med en knækfrekvens på 30 Hz blev benyttet i ECGLab til reducering af powerline interferens. Baseline drift skyldes forskellige støjkilder, heriblandt åndedræt, kropbevægelser og varierende elektrode kontakt. Frekvensindholdet af baseline drift ligger normalt under 0,5 Hz, dog kan bevægelse fra patienten øge frekvensen yderligere [23]. Til reducering af baseline drift blev der brugt et Kaiser vindue filter, som beskrevet i [23]. Filteret er effektiv til at reducere baseline drift. Med en båndstoptransitionsbredde fra 0,3 Hz til 0,9 Hz samt maksimum båndpas ripples på 0,01 db, introducerer filteret kun minimal forvrængning. 65
74 Kapitel 7 ECGLab db ,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2 Hz Figur 46 Frekvensrespons for filteret til reduktion af baseline drift. Modificeret fra [23]. EMG støj stammer fra anden muskelaktivitet, hvis elektriske potentialer således interfererer med hjertets elektriske aktivitet. Efter at have set data for dette projekt igennem vurderedes det at EMG støj ikke optræder i så høj en grad at det er nødvendigt at filtrere for det. I stedet bortkastes data påvirket heraf. Både powerline interferens og baseline drift optræder i alle signaler til alle tider, hvorfor disse to støjtyper blev prioriteret. Matlab koden til filtrene kan findes i appendiks 11.1 og 11.2 på side Detekteringsalgoritme I et tidligere projekt blev en algoritme til automatisk detektering af R udviklet. Den består af fire komponenter: filter, kurvelængdetransformation, adaptivt threshold, samt en beslutningsregel som vist i Figur 47. Kurvelængdetransformation transformerer signalet y[n] til en kurvelængde L[n]. Kurvelængden af QRS komplekser er genrealt større end kurvelængden af resten af EGK-signalet ved samme tidsvindue, se Figur 48, hvorfor det er muligt med et adaptivt threshold og en beslutningsregel at bestemme tiderne for QRS. x[n] ECG Filter y[n] Kurvelængdetransformation L[n] Adaptivt T[n] R[i] Beslutningsregel threshold Rpeak Figur 47 Detekteringsalgoritmens trin: EKG-signalet, x[n], filtreres til y[n], der transformeres til L[n] gennem kurvelængdetransformation. Herpå foretages et adaptivt threshold, der giver et binært output T[n] (over eller under threshold). Sammenholdt med y[n] og L[n] kan R via en beslutningsregel bestemmes for hvert beat, R[i]. 66
75 Kapitel 7 ECGLab R P Qon Soff T QS w Figur 48 Skematisk repræsentation af et normal EKG. Det noteres at kurvelængde transformation (LT) af QRS komplekset er større en de andre segmenter af EKG signalet i samme tidsvindue. LT signalet er også forskudt i tid fordi et analysevindue, w, er brugt til at udregne LT. [21] Algoritmen blev efterfølgende evalueret med data fra Massachusetts Institute og Technology Beth Israel Hospital (MIT-BIT) Arrhythmia database og deres Normal Sinus Rhytm database. Tilsammen blev 18, 15 minutters, 2-afledningssignaler udvalgt, hvor hvert signal minimum indeholdte 30 hjerteslag manuelt annoteret af en eller to eksperter. Algoritmen opnåede mod eksperterne Se 2 på 98,8-99,5 % og +P 3 på 100 %. Derudover blev algoritmen også evalueret mod en anerkendt automatisk detekteringsalgoritme fra MIT-BIH, kaldet ecgpuwave. Her opnåedes Se på 99,4 % og +P på 100 %. Matlab koden til algoritmen kan findes i appendiks 11.3 på side 83, og Matlab koden for kurvelængdetransformationen kan findes i appendiks på 11.4 side 85. TP 2 Sensitivitet: Se = TP + FN 3 Positiv prædiktiv værdi: +P = TP TP + FP 67
76 Kapitel 7 ECGLab 68
77 KAPITEL 8 8 RESULTATER I dette kapitel præsenteres resultaterne for de undersøgte parametre. 8.1 Dataudvælgelse og -annotering Af det tilgængelige data (se kapitel 6 på side 25) fravalgtes alle optagelser umiddelbart før PAF. Dette blev gjort fordi dette projekt undersøger mulige parametre til diagnosticering af PAF fra korte EKG-optagelser, hvorfor det ikke kan antages at indeholde segmenter umiddelbart før AF. Dette ekskluderede alle lige nummererede p-optagelser (i alt 25), se Tabel 1 og Tabel 2 på side 27. Følgende punkter skulle annoteres: P on, P peak, P off, Q on, R. Heraf var automatisk annoteringsalgoritme til annotering af R tilgængelig med mulighed for inspektion, mens de resterende punkter skulle annoteres manuelt. Under denne proces blev det klart, at en komplet annotering af samtlige optagelser (100 optagelser af hver 30 minutter) ikke var et realistisk mål; annotering af 3 minutters optagelse blev målt til at tage ca. 45 minutter uden pause. Hvis én optagelse fra hvert subjekt i læringssættet skulle annoteres komplet, ville det svare til over 300 timers arbejde, hvilket ikke ligger indenfor projektets tidsramme. På denne baggrund blev antallet af annoterede optagelser reduceret til 16 (otte fra hver gruppe), og varigheden af annoteringen blev reduceret til 3 minutter. Dermed reduceredes arbejdsbyrden af annotering betydeligt. Da automatisk annotering af R var tilgængelig, valgtes det at benytte denne automatiske annoteringsalgoritme til at annotere dette punkt for de fulde 30 minutter for hver af de udvalgte optagelser. Efterfølgende inspektion af den automatiske annoteret R var markant mindre tidskrævende end den manuelle annotering af de resterende punkter. De 16 optagelser blev udvalgt tilfældigt, dog blev maksimalt én optagelse fra hvert subjekt inkluderet. Nogle optagelser blev bortkastet i denne forbindelse på grund af ringe signalkvalitet, eller fordi annoteringen af P-bølgen for optagelsen var særdeles vanskelig og derfor ville øge tidsforbruget for denne proces, hvis kvaliteten af annoteringen ikke skulle forringes. Endvidere er testsættet ikke blevet inkluderet i denne undersøgelse, dels på grund af begrænset tidsramme for projektet, og dels fordi de definerede parametre ikke blev tilpasset data.
78 Kapitel 7 ECGLab I alt blev 3 minutter fra 16 signaler (8 fra hver gruppe) annoteret for P-bølgen, samt Q on, og 30 minutter fra de samme signaler blev annoteret for R, se Tabel 7. P on, P peak, P off, Q on R Optagelse PAF Afledning Varighed Antal Varighed Antal p01 Ja II 03: : p07 Ja II 03: : p13 Ja II 03: : p25 Ja II 03: : p31 Ja II 03: : p33 Ja II 03: : p37 Ja II 03: : p39 Ja II 03: : n05 Nej II 03: : n08 Nej II 03: : n13 Nej II 03: : n21 Nej II 03: : n30 Nej II 03: : n31 Nej II 03: : n35 Nej II 03: : n37 Nej II 03: : I alt : :00: Tabel 7 De annoterede optagelser; 8 for hver gruppe. Kun afledning II blev annoteret på baggrund af [18], og kun 3 minutter fra hver optagelse blev manuelt annoteret, mens de fulde 30 minutter blev annoteret for R automatisk og efterfølgende inspiceret. I alt blev punkter annoteret og inkluderet i efterfølgende analyse. Efter ovenstående annoteringer var fuldendt, blev et script implementeret i Matlab til automatisk beregning af middelværdien af hver parameter for hvert subjekt. Scriptet samlede alle disse resultater, udskrev tabel for middelværdierne, udførte t-test, samt bestemte konfidensintervallerne for middelværdierne for hver gruppe for hver parameter. Hvis yderligere data annoteres på et senere tidspunkt kan samme analyse således foretages hurtigt på det udvidede datasæt. ROC kurver blev efterfølgende genereret i SPSS ved at importere de automatisk beregnede tabeller. Det optimale threshold til adskillelse af de to grupper blev bestemt for hver parameter ud fra ROC kurven i det punkt, der havde den korteste euklidiske afstand til [0,1]. 70
79 Kapitel 7 ECGLab 8.2 P-bølgens varighed Gruppernes middelforskel er -0,94 [95 % konfidensinterval: -21,9-20,0]. Ved tosidet t-test fås p=0,92, og H 0 accepteres. Ved ROC kurve bestemmes det optimale threshold til T=82,935, og ved dette threshold fås Se=0,625 og Sp=0,750 med korrekt klassificering på 11 ud af 16 subjekter, ca. 69 %. P optagelse p01 p07 p13 p25 p31 p33 p37 p39 P 82,4 76,4 127,3 77,4 110,1 75,8 80,0 101,2 N 66,3 115,8 91,8 110,7 62,0 105,8 83,5 87,1 N optagelse n05 n08 n13 n21 n30 n31 n35 n37 Tabel 8 Middelværdierne for hver optagelse for parameteren P-bølgens varighed. Den blå markering viser P gruppen og den røde markering viser N gruppen. 130,0 120,0 P-bølgens varighed P on P off [ms] 110,0 100,0 90,0 80,0 70,0 60,0 P P (Mean±CI) N (Mean±CI) N Figur 49 Resultat for P-bølgens varighed. Middelværdi med 95 % konfidensinterval vises for hver af de to grupper. Parameter: P-bølgens varighed Reference Sensitivitet 1,000,900,800,700,600,500,400,300,200,100,000 T = 82,935,000,200,400,600,800 1, Specificitet Figur 50 ROC kurve for parameteren P-bølgens varighed. Det optimale threshold, T=82,935, er markeret. 71
80 Kapitel 7 ECGLab 8.3 Varighed af første del af P-bølgen Gruppernes middelforskel er 2,19 [95 % konfidensinterval: -9,34-13,73]. Ved tosidet t-test fås p=0,69, og H 0 accepteres. Ved ROC kurve bestemmes det optimale threshold til T=43,755, og ved dette threshold fås Se=0,625 og Sp=0,625 med korrekt klassificering på 10 ud af 16 subjekter, ca. 63 %. P optagelse p01 p07 p13 p25 p31 p33 p37 p39 P 42,8 36,5 59,3 37,1 58,4 39,4 42,4 53,1 N 34,5 68,1 52,0 57,9 34,7 54,8 39,8 44,7 N optagelse n05 n08 n13 n21 n30 n31 n35 n37 Tabel 9 Middelværdierne for hver optagelse for parameteren varighed af første del af P-bølgen. Den blå markering viser P gruppen og den røde markering viser N gruppen. Varighed af første del af P-bølgen P on P peak [ms] 70,0 65,0 60,0 55,0 50,0 45,0 40,0 35,0 30,0 P P (Mean±CI) N (Mean±CI) N Figur 51 Resultat for varighed af første del af P-bølgen. Middelværdi med 95 % konfidensinterval vises for hver af de to grupper. Parameter: Første del af P-bølgen Reference Sensitivitet 1,000,900,800,700,600,500,400,300,200,100,000 T = 43,755,000,200,400,600,800 1, Specificitet Figur 52 ROC kurve for parameteren varighed af første del af P-bølgen. Det optimale threshold, T=43,755, er markeret. 72
81 Kapitel 7 ECGLab 8.4 Varighed af anden del af P-bølgen Gruppernes middelforskel er -3,14 [95 % konfidensinterval: -13,65-7,37]. Ved tosidet t-test fås p=0,53, og H 0 accepteres. Ved ROC kurve bestemmes det optimale threshold til T=41,28, og ved dette threshold fås Se=0,625 og Sp=0,625 med korrekt klassificering på 10 ud af 16 subjekter, ca. 63 %. P optagelse p01 p07 p13 p25 p31 p33 p37 p39 P 39,6 39,9 67,9 40,2 51,6 36,4 37,7 48,1 N 31,8 47,7 39,8 52,8 27,2 51,1 43,7 42,3 N optagelse n05 n08 n13 n21 n30 n31 n35 n37 Tabel 10 Middelværdierne for hver optagelse for parameteren varighed af anden del af P-bølgen. Den blå markering viser P gruppen og den røde markering viser N gruppen. Varighed af anden del af P-bølgen 65,0 P peak P off [ms] 55,0 45,0 35,0 25,0 P P (Mean±CI) N (Mean±CI) N Figur 53 Resultat for varighed af anden del af P-bølgen. Middelværdi med 95 % konfidensinterval vises for hver af de to grupper. Parameter: Anden del af P-bølgen Reference Sensitivitet 1,000,900,800,700,600,500,400,300,200,100,000 T = 41,28,000,200,400,600,800 1, Specificitet Figur 54 ROC kurve for parameteren varighed af anden del af P-bølgen. Det optimale threshold, T=41,28, er markeret. 73
82 Kapitel 7 ECGLab 8.5 PR interval Gruppernes middelforskel er -15,06 [95 % konfidensinterval: -55,81-25,68]. Ved tosidet t-test fås p=0,44, og H 0 accepteres. Ved ROC kurve bestemmes det optimale threshold til T=138,81, og ved dette threshold fås Se=0,500 og Sp=0,750 med korrekt klassificering på 10 ud af 16 subjekter, ca. 63 %. P optagelse p01 p07 p13 p25 p31 p33 p37 p39 P N N optagelse n05 n08 n13 n21 n30 n31 n35 n37 Tabel 11 Middelværdierne for hver optagelse for parameteren PR interval. Den blå markering viser P gruppen og den røde markering viser N gruppen. PR interval P on Q on [ms] P P (Mean±CI) N (Mean±CI) N Figur 55 Resultat for PR interval. Middelværdi med 95 % konfidensinterval vises for hver af de to grupper. Parameter: PR interval Reference Sensitivitet 1,000,900,800,700,600,500,400,300,200,100,000 T = 138,81,000,200,400,600,800 1, Specificitet Figur 56 ROC kurve for parameteren PR interval. Det optimale threshold, T=131,81, er markeret. 74
83 Kapitel 7 ECGLab 8.6 P-bølgens ujævnhed Gruppernes middelforskel er 0,13 [95 % konfidensinterval: -0,81-1,08]. Ved tosidet t-test fås p=0,77, og H 0 accepteres. Ved ROC kurve bestemmes det optimale threshold til T=2,355, og ved dette threshold fås Se=0,750 og Sp=0,625 med korrekt klassificering på 11 ud af 16 subjekter, ca. 69 %. P optagelse p01 p07 p13 p25 p31 p33 p37 p39 P 2,03 2,26 4,79 1,98 2,60 1,70 1,96 2,77 N 1,80 3,11 2,76 3,19 1,43 3,79 2,45 2,65 N optagelse n05 n08 n13 n21 n30 n31 n35 n37 Tabel 12 Middelværdierne for hver optagelse for parameteren P-bølgens ujævnhed. Den blå markering viser P gruppen og den røde markering viser N gruppen. P-bølgens ujævnhed 6,00 5,00 4,00 3,00 2,00 1,00 0,00 P P (Mean±CI) N (Mean±CI) N Figur 57 Resultat for P-bølgens ujævnhed. Middelværdi med 95 % konfidensinterval vises for hver af de to grupper. Parameter: P-bølgens ujævnhed Reference Sensitivitet 1,000,900,800,700,600,500,400,300,200,100,000 T = 2,355,000,200,400,600,800 1, Specificitet Figur 58 ROC kurve for parameteren P-bølgens ujævnhed. Det optimale threshold, T=2,355, er markeret. 75
84 Kapitel 7 ECGLab 8.7 P-bølgens ensartethed Gruppernes middelforskel er 0,044 [95 % konfidensinterval: -0,029-0,012]. Ved tosidet t-test fås p=0,22, og H 0 accepteres. Ved ROC kurve bestemmes det optimale threshold til T=0,975, og ved dette threshold fås Se=0,875 og Sp=0,500 med korrekt klassificering på 11 ud af 16 subjekter, ca. 69 %. P optagelse p01 p07 p13 p25 p31 p33 p37 p39 P 0,959 0,969 0,763 0,831 0,975 0,906 0,955 0,854 N 0,985 0,981 0,953 0,993 0,909 0,913 0,836 0,993 N optagelse n05 n08 n13 n21 n30 n31 n35 n37 Tabel 13 Middelværdierne for hver optagelse for parameteren P-bølgens ensartethed. Den blå markering viser P gruppen og den røde markering viser N gruppen. 1,000 P-bølgens ensartethed Korrelationskoefficient [.] 0,950 0,900 0,850 0,800 0,750 P P (Mean±CI) N (Mean±CI) N Figur 59 Resultat for P-bølgens ensartethed. Middelværdi med 95 % konfidensinterval vises for hver af de to grupper. Parameter: P-bølgens ensartethed Reference Sensitivitet 1,000,900,800,700,600,500,400,300,200,100,000 T = 0,975,000,200,400,600,800 1, Specificitet Figur 60 ROC kurve for parameteren P-bølgens ensartethed. Det optimale threshold, T=0,975, er markeret. 76
85 Kapitel 7 ECGLab 8.8 #PAC Gruppernes middelforskel er -66 [95 % konfidensinterval: ]. Ved tosidet t-test fås p=0,076, og H 0 accepteres. Ved ROC kurve bestemmes det optimale threshold til T=4, og ved dette threshold fås Se=0,750 og Sp=0,750 med korrekt klassificering på 12 ud af 16 subjekter, ca. 75 %. P optagelse p01 p07 p13 p25 p31 p33 p37 p39 P N N optagelse n05 n08 n13 n21 n30 n31 n35 n37 Tabel 14 Middelværdierne for hver optagelse for parameteren #PAC. Den blå markering viser P gruppen og den røde markering viser N gruppen. 250 # PAC 200 Antal PAC [.] P N (Mean±CI) P (Mean±CI) N Figur 61 Resultat for antallet af PAC. Middelværdi med 95 % konfidensinterval vises for hver af de to grupper. Parameter: Antal PAC Reference Sensitivitet 1,000,900,800,700,600,500,400,300,200,100,000 T = 4,000,200,400,600,800 1, Specificitet Figur 62 ROC kurve for parameteren #PAC. Det optimale threshold, T=4, er markeret. 77
86 Kapitel 7 ECGLab 8.9 #PVC Gruppernes middelforskel er -11,38 [95 % konfidensinterval: -17,6-5,2]. Ved tosidet t-test fås p=0,001494, og H 0 afvises. Det vil sige, at der er en signifikant forskel mellem de to grupper for denne parameter. Ved ROC kurve bestemmes det optimale threshold til T=0,5, og ved dette threshold fås Se=0,875 og Sp=1 med korrekt klassificering på 15 ud af 16 subjekter, ca. 94 %. P optagelse p01 p07 p13 p25 p31 p33 p37 p39 P N N optagelse n05 n08 n13 n21 n30 n31 n35 n37 Tabel 15 Middelværdierne for hver optagelse for parameteren #PVC. Den blå markering viser P gruppen og den røde markering viser N gruppen # PVC Antal PVC [.] P P (Mean±CI) N (Mean±CI) N Figur 63 Resultat for antallet af PVC. Middelværdi med 95 % konfidensinterval vises for hver af de to grupper. Parameter: Antal PVC Reference Sensitivitet 1,000,900,800,700,600,500,400,300,200,100,000 T = 0,5,000,200,400,600,800 1, Specificitet Figur 64 ROC kurve for parameteren #PVC. Det optimale threshold, T=0,5, er markeret. 78
87 KAPITEL 9 9 DISKUSSION Inden parametre til undersøgelse i dette projekt blev bestemt, blev en række artikler med samme mål læst og deres resultater sammenlignet. De bedste resultater var dem der undersøgte præmature hjerteslag, hvilket stemmer overens med resultaterne fra dette projekt. Blandt de otte undersøgte parametre viste kun én at være signifikant forskellig mellem de to grupper ved t-test med 95 % konfidensinterval; antal PVC. Dog skal det nævnes, at det ikke er ualmindeligt for raske personer at have PVC selvom ingen af de undersøgte EKG-optagelser fra N-gruppen indeholdte dem. Denne undersøgelse viser dog at personer med dokumenteret PAF har en øget frekvens af PVC selv langt fra AF episoder, men grundet det lave antal inkluderede personer bør yderligere undersøgelser med større datasæt foretages før endelige konklusioner på graden af den øget frekvens af PVC kan foretages. Øget og kaotisk aktivering af atrierne, der nogle gange fører til aktivering af AV knuden, kan ligge til grund herfor. Nogle forsøgspersoner i P-gruppen havde et højt antal PAC (størrelsesordnen gange flere andre personer), men det var ikke almindeligt for hele denne gruppe. Selvom alle forsøgspersoner med PAF ikke havde et højt antal PAC kan det stadig tænkes at denne parameter kan bruges til diagnosticering med høj positiv prædiktiv værdi, da ingen i N- gruppen havde samme niveau af PAC. Det vil sige, hvis der observeres et højt antal PAC hos en person kan det med høj sikkerhed siges at denne person har PAF. Parameteren kan således ikke stå alene i diagnosticeringsøjemed, men kan kombineres med andre parametre for at øge niveauet af korrekt klassificering. Parametrene for P-bølgens varighed, PR interval, varighed af første og anden del af P-bølgen, samt ujævnhed af P-bølgen viste ingen forskel mellem de to grupper. Det betyder at P-bølgens timing, varighed og ujævnhed ikke er påvirket udenfor AF episoder hos patienter med dokumenteret PAF i perioder langt fra AF episoder. Ensartetheden af P-bølgerne for samme person viste nogen forskel mellem de to grupper dog ikke en signifikant forskel ved t-test med 95 % konfidensinterval. Det kan tænkes at metoden til beregning af gennemsnits P-bølgen har haft indflydelse på resultatet; hvis P-bølgen for den første del af signalet har været abnorm eller forkert annoteret kan det have påvirket den videre beregning af gennemsnits P-bølgen. Endvidere kan det tænkes at andre metoder skal tages i brug til at undersøge P-bølgens ensartethed. I dette projekt blev et program kaldet ECGLab udviklet med det formål at effektivisere annotering af EKG-optagelser. Udviklingen af dette program tog højde for andre projekters interesse i annotering af EKG-optagelser, hvorfor ECGLab er designet til at være fleksibelt overfor tilføjelser og har funktionaliteter der går udover dette projekts brug, f.eks. valg af afledning samt andre annoteringstyper. I projektperioden har to andre projekter også gjort brug af ECGLab, hvilket viser et behov for programmet udenfor dette projekt. Selvom den manuelle annotering gennem ECGLab er langt mere effektiv end uden ECGLab, viser erfaringer fra brug af ECGLab at den automatiske annotering af R med efterfølgende inspektion yderligere effektiviserer annoteringsprocessen. Fremtidige projekter der skal
88 Kapitel 9 Diskussion annotere andre punkter vil derfor have stor gavn af først at udvikle automatiske annoteringsalgoritmer. Gennem algoritmen til automatisk annotering af R og efterfølgende inspektion blev 30 minutter EKG-optagelse annoteret hurtigere end manuel annotering af 3 minutter for ét andet punkt, det vil sige 10 gange hurtigere. 80
89 KAPITEL KONKLUSION I litteraturen er PAF beskrevet som det første stadie af AF, og hvis dette kan diagnosticeres allerede i dette stadie, er det muligt at foretage kontrol samt forebyggende behandling, således at tilstanden ikke forværres. Andre studier har undersøgt P-bølgens morfologi, HRV og antallet af PAC som parametre til diagnosticering af PAF. Ofte har disse studier dog også inkluderet EKG-optagelser umiddelbart før AF episoder, hvorfor resultaternes relevans i forhold til screening er uvis. Dette skyldes, at der i diagnosticeringssammenhæng ikke kan forventes at AF episoder opstår umiddelbart efter endt optagelse. Ud fra denne betragtning har dette projekt efterprøvet nogle af de allerede undersøgte parametre samt nye parametre på data der udelukkende er langt fra AF episoder. Antallet af PVC var den eneste af de undersøgte parameter, der var signifikant forskellige mellem de to grupper ved en tosidet t-test med konfidensinterval på 95 %. Yderligere undersøgelser, der inkluderer et større datasæt bør foretages for at verificere eller afvise disse resultater. Selvom de resterende parametre ikke viste signifikant forskel mellem de to grupper, så viste antallet af PAC og ensartetheden af P-bølgen at have nogen korrelation med PAF. Yderligere undersøgelser bør foretages for disse parametre. Desuden har dette projekt udviklet et værktøj til semiautomatisk annotering af EKGoptagelser, som kan bruges i andre forskningsprojekter hvor annotering af EKG-optagelser er nødvendig.
90 11 APPENDIKS 11.1 Matlab: Filter for baseline drift 1 %% This function removes baseline drift from ECG signals 2 % Filter parameters were obtained from S Hargittai "Efficient and Fast ECG 3 % Baseline Wander Reduction without Distortion of Important Clinical 4 % Information". ISSN function [y]=filterbaselinedrift(x,fs) 7 [n,wn,bta,filtype] = kaiserord( [ ], [0 1], [ ], Fs ); 8 b = fir1(n,wn,filtype,kaiser(n+1,bta),'noscale'); 9 y = filtfilt(b,1,double(x)); 10 end 11.2 Matlab: Lavpasfilter 1 %% Lowpass filter for ECG signals 2 % 3 function [y]=powerlinelowpass(x,fs) 4 [B,A] = butter(2,28/(fs/2),'low'); 5 y=filtfilt(b,a,x); 6 end
91 Appendiks 11.3 Matlab: Detektionsalgoritme for R 1 %% R detection 2 % Single channel detection algorithm 3 % 4 function [R]=GetR(x,Fs) 5 %% Initialize variables 6 ct = zeros(length(x),1); % Adaptive threshold 7 xf = x; % Filtered signal 8 NoiseFrq = 60; % Powerline noise is 60 Hz 9 %% Calculate the length transformation 10 wt = 0.13; % Length of analyzing window for curve length transformation is 130 ms 11 LT = mclt(xf,wt,fs); % Calculate the curve length transformation (multi channel supported) 12 ts = round(0.125*fs); % 125 ms sample length (search interval) 13 %% Apply adaptive threshold (find instances of QRS) 14 Tb = mean(lt(1:round(10*fs)))*3; % Actual threshold (mean of first 10 seconds) 15 ii = 1; 16 jj = 1; 17 while (jj < length(lt)) 18 Ta = Tb/1.5; % Actual threshold is 1/2 of base threshold. Note that in the article this was 1/3 but we reached better results with 1/2 for our signals. 19 ct(jj) = Ta; 20 tc_tmp = find(lt(jj:end) >= Ta,1)+jj-1; 21 if (isempty(tc_tmp) tc_tmp < ts+1 tc_tmp+ts > length(lt)) 22 jj = jj + 1; 23 continue; 24 end 25 tc(ii) = tc_tmp; Lmax = max(lt(tc(ii):tc(ii)+ts)); % Maximum of L 125 ms after tc(ii) 28 Tb = Tb + (Lmax-Tb)/10; % Adjust threshold 29 jj2 = tc(ii)+round(0.250*fs); % Next search will be 250ms after tc(ii) 30 ct(jj:jj2) = Ta; 31 jj = jj2; 32 ii = ii + 1; 33 end 34 %% Preprocessing for detection of Q, R and S 35 slt = smooth(lt,5); 36 dlt = diff(slt); 37 Tp = 0.005; % Threshold % of maximum positive/negative slope 38 %% Find Q onset and S offset 39 Qonset = zeros(length(tc),1); % Allocate memory 40 Soffset = zeros(length(tc),1); % Allocate memory 41 for ii=1:length(tc) 42 TdLT = Tp*max(dLT(tc(ii)-ts:tc(ii)+ts-1)); % Threshold for slope of LT is Tp% of max slope 43 TQ = find(dlt(tc(ii)-ts:tc(ii)) < TdLT); % Find points below threshold (Q) 83
92 Appendiks 44 TS = find(dlt(tc(ii):tc(ii)+ts-1) < TdLT); % Find points below threshold (S) 45 if (isempty(tq) isempty(ts) ) % TQ and TS are defined as the end of the interval if threshold wasn't met within the search interval 46 TQ = 1; 47 TS = ts-1; 48 end 49 Soffset(ii) = TS(1)+tc(ii)-1; % S offset is the first point after the slope falls below Tp% of max for the first time after tc. 50 Qonset(ii) = TQ(end)+tc(ii)-ts-1; % Q onset is the first point before the slope exceeds Tp% of max for the last time before tc. 51 end 52 % Remove ignored iterations 53 Soffset = nonzeros(soffset); 54 Qonset = nonzeros(qonset); 55 %% Find R 56 R = zeros(length(qonset),1); % Allocate memory 57 for ii=1:length(qonset) 58 QRS = x(qonset(ii):soffset(ii),:); 59 [~,I] = max(qrs); % Assumes normal R-wave 60 R(ii) = round(median(i)+qonset(ii))-1; 61 end 62 end 84
93 Appendiks 11.4 Matlab: Kurvelængdetransformation 1 %% Multi Channel Curve Length Transformation 2 % This function calculated the curve length transformation of a multiple 3 % channels signal y using an analyzing window wt seconds wide and a 4 % sampling frequency of Fs. 5 % 6 % Function call: 7 % [L]=mclt(y,wt,Fs) 8 % 9 % Note: The resulting curve length transformation is zeropadded keeping 10 % the original length of the signal. 11 function [L]=mclt(x,wt,Fs) 12 %% Check dimensions of signal (multi channel?) 13 N = length(x); 14 n = 1; 15 %% Perform L-transformation 16 C = (1/Fs)^2; % Scaling factor 17 w = round(wt*fs); % Width of analyzing window in samples 18 L = zeros(1,n); % Zeropad and allocate memory 19 for ii = 1+w:N 20 L(ii) = sum(sqrt(sum(c+(diff(x(iiw:ii,1:n))).^2))); 21 end 22 end 85
94 Appendiks 11.5 Matlab: Class: ECGLabWindow 1 classdef ECGLabWindow < handle 2 %% ECGLabWindow 3 % 4 %% Properties 5 properties (SetAccess = protected) 6 %% Signal object handle 7 parrentecglabsignal; 8 %% Window properties 9 WindowCenterX = []; % Unit: Samples 10 WindowCenterY = []; 11 WindowWidth = []; % Unit: Samples 12 WindowHeight = []; 13 end 14 %% Events 15 events 16 StateChange 17 end 18 %% Methods 19 methods 20 function obj = ECGLabWindow(parrentECGLabSignal) 21 obj = obj@handle; 22 if strcmp(class(parrentecglabsignal),'ecglabsignal') 23 obj.parrentecglabsignal = parrentecglabsignal; 24 else 25 err = MException('ECGLabWindow:InvalidSignalObject', 'Input for constructor was not a handle for an ECGLabSignal object as expected.'); 27 throw(err) 28 end 29 end 30 function initialize(obj) 31 Signal = obj.parrentecglabsignal.getsignal(2); 32 obj.windowwidth = round(0.1*length(signal)); 33 obj.windowheight = max(signal)-min(signal); 34 obj.windowcenterx = 1+round(obj.WindowWidth/2); 35 obj.windowcentery = obj.windowheight/2; 36 notify(obj,'statechange'); 37 end 38 function setwindow(obj,x,y,width,height) 39 obj.windowcenterx = X; 40 obj.windowcentery = Y; 41 obj.windowwidth = Width; 42 obj.windowwidth = Height; 43 notify(obj,'statechange'); 44 end 45 function setwindowcenterx(obj,x) 46 Signal = obj.parrentecglabsignal.getsignal(2); 47 xmin = round(obj.windowwidth/2); 48 xmax = length(signal)-xmin; 49 obj.windowcenterx = median([xmin X xmax]); % Restrict window center according to window width and length of the signal 50 notify(obj,'statechange'); 51 end 52 function setwindowcentery(obj,y) 53 obj.windowcentery = Y; 54 notify(obj,'statechange'); 86
95 Appendiks 55 end 56 function setwindowwidth(obj,width) % Consider revising this and implement one central limit check function 57 Signal = obj.parrentecglabsignal.getsignal(2); 58 obj.windowwidth = min([width length(signal)]); % Restrict window width to length of signal 59 setwindowcenterx(obj,obj.windowcenterx); % Set new center for X just in case window falls outside signal limits 60 notify(obj,'statechange'); % Not strictly needed 61 end 62 function setwindowheight(obj,height) 63 obj.windowheight = Height; 64 notify(obj,'statechange'); 65 end function [X,Y,Width,Height] = getwindow(obj) 68 X = obj.windowcenterx; 69 Y = obj.windowcentery; 70 Width = obj.windowwidth; 71 Height = obj.windowwidth; 72 end 73 function X = getwindowcenterx(obj) 74 X = obj.windowcenterx; 75 end 76 function Y = getwindowcentery(obj) 77 Y = obj.windowcentery; 78 end 79 function Width = getwindowwidth(obj) 80 Width = obj.windowwidth; 81 end 82 function Height = getwindowheight(obj) 83 Height = obj.windowwidth; 84 end function [X,Y]=getBoxData(obj) 87 obj.windowcentery; 88 X1 = obj.windowcenterx-round(obj.windowwidth/2); 89 X2 = obj.windowcenterx+round(obj.windowwidth/2); 90 Y1 = obj.windowcentery-obj.windowheight/2; 91 Y2 = obj.windowcentery+obj.windowheight/2; 92 X = [X1 X1 X2 X2]; 93 Y = [Y1 Y2 Y2 Y1]; 94 end 95 end 96 end 87
96 Appendiks 11.6 Matlab: Class: ECGLabAnnotation 1 classdef ECGLabAnnotation < handle 2 %% ECGLabAnnotation 3 % 4 %% Properties 5 properties (SetAccess = protected) 6 %% Flags 7 issaved; % Is true when there have been no changes since last save 8 %% Parent object handle 9 parrentecglabsignal; 10 %% Annotation file information 11 FilePath; 12 FileName; 13 %% Annotation properties 14 anno; 15 end 16 %% Events 17 events 18 FileChange 19 StateChange 20 end 21 %% Methods 22 methods 23 function obj = ECGLabAnnotation(parrentECGLabSignal) 24 obj = obj@handle; 25 obj.initialize(); 26 obj.parrentecglabsignal = parrentecglabsignal; 27 addlistener(obj,'statechange',@onstatechange); % Add listener to self on state change 28 end 29 %% onstatechange is called whenever a StateChange event occurs. 30 function onstatechange(obj,varargin) 31 obj.issaved = false; 32 end 33 %% Operational methods 34 %% Load annotation 35 function load(obj) 36 if ~close(obj) 37 return; % Skip load if current annotation wasn't closed 38 end 39 %% File dialog for user to select mat annotation file 40 [FileName,FilePath] = uigetfile('.mat','select annotation file'); 41 if isequal(filename,0) isequal(filepath,0) 42 return; % User did not select a file 43 end 44 [~, ~, FileExt] = fileparts(filename); 45 FileExt = FileExt(2:end); 46 %% Check folder for files 47 if ~( exist([filepath FileName],'file') == 2) 48 err = MException('ECGLabSignal:InvalidFileName', 'Annotation file could not be found.'); 50 throw(err) 88
97 Appendiks 51 end 52 %% Load annotation 53 setfile(obj,filepath,filename); 54 load([filepath FileName]); 55 obj.anno = anno; 56 notify(obj,'statechange'); 57 obj.issaved = true; 58 end 59 %% Save annotation 60 function save(obj) 61 [FilePath, FileName] = obj.getfile(); 62 if isempty(obj.filename) isempty(obj.filepath) 63 saveasdialog(obj); 64 end 65 anno = obj.anno; 66 obj.filename 67 save([obj.filepath obj.filename],'anno'); 68 %% Set flag 69 obj.issaved = true; 70 end %% Save as dialog 73 function result_value=saveasdialog(obj) 74 [FilePath, FileName] = obj.parrentecglabsignal.getfile(); 75 result_value = false; 76 %% File dialog for user to select annotation file 77 [FileName,FilePath] = uiputfile('.mat','save annotation as...',[filepath FileName '_anno1.mat']); 78 if isequal(filename,0) isequal(filepath,0) 79 return; % User did not select a file 80 end 81 setfile(obj,filepath,filename); 82 result_value = true; 83 end 84 %% Save annotation as function saveas(obj) 86 if saveasdialog(obj) 87 save(obj); 88 end 89 end 90 %% Close annotation 91 function [wasclosed]=close(obj) 92 wasclosed = false; 93 if ~obj.issaved 94 %% Prompt to continue 95 if ~ConfirmContinue('Are you sure you want to close the current annotation?') 96 return; % User did not select Yes to continue 97 end 98 end 99 obj.initialize(); 100 wasclosed = true; 101 end 102 %% Initialize properties 103 function initialize(obj) 104 %% Annotation file information 105 obj.filename = ''; 106 obj.filepath = ''; 107 %% Annotation properties 89
98 Appendiks 108 obj.anno = {[],[],[],[],[],[],[],[],[],[],[],[]}; 109 %% Notify changes 110 notify(obj,'filechange'); 111 notify(obj,'statechange'); 112 %% Flags 113 obj.issaved = true; % Is true when there have been no changes since last save 114 end 115 %% Input methods 116 %% Add annotation 117 function addannotation(obj,samplenumber,typemnemonic,varargin) 118 hecglabgui = getappdata(0, 'hecglabgui'); 119 Lead = getappdata(hecglabgui,'lead'); 120 %% 121 if nargin > Lead = varargin{1}; 123 end 124 if nargin > silent = varargin{2}; 126 else 127 silent = 0; 128 end 129 %% Check if annotation already exists 130 I1 = []; 131 if ~isempty(obj.anno{lead}) 132 I1 = find(obj.anno{lead}(:,1) == samplenumber); 133 end 134 if isempty(i1) 135 obj.anno{lead}(size(obj.anno{lead},1)+1,:) = [samplenumber typemnemonic 1]; 136 if ~silent 137 notify(obj,'statechange',annotationstatechangeeventdata( typemnemonic)); 138 end 139 end 140 end 141 %% Add annotation array 142 function addannotationarray(obj,samplenumber,typemnemonic,lead) 143 for ii=1:length(samplenumber) 144 addannotation(obj,samplenumber(ii),double(typemnemonic), Lead,1); 145 end 146 notify(obj,'statechange',annotationstatechangeeventdata( typemnemonic)); 147 end 148 %% Remove annotation by index 149 function removeannotationindex(obj,samplenumberindex) 150 hecglabgui = getappdata(0, 'hecglabgui'); 151 Lead = getappdata(hecglabgui,'lead'); 152 I = samplenumberindex; 153 if I > 0 && I <= size(obj.anno{lead},1) 154 obj.anno{lead} = [obj.anno{lead}(1:i-1,:); 155 obj.anno{lead}(i+1:end,:)]; 156 notify(obj,'statechange'); 90
99 Appendiks 157 end 158 end 159 %% Remove annotation by sample number 160 function removeannotationsample(obj,samplenumber) 161 hecglabgui = getappdata(0, 'hecglabgui'); 162 Lead = getappdata(hecglabgui,'lead'); 163 I = find(obj.anno{lead}(:,1) == samplenumber, 1); 164 if ~isempty(i) 165 obj.anno{lead} = [obj.anno{lead}(1:i-1,:); obj.anno{lead}(i+1:end,:)]; 166 notify(obj,'statechange'); 167 end 168 end 169 %% Add ignore area annotation 170 function addignorearea(obj,startsamplenumber,endsamplenumber) 171 hecglabgui = getappdata(0, 'hecglabgui'); 172 Lead = getappdata(hecglabgui,'lead'); 173 %% Initialize variables 174 Signal = obj.parrentecglabsignal.getsignal(lead); 175 X = round(sort([startsamplenumber endsamplenumber])); 176 x1 = max([1 X(1)-1]); 177 x2 = min([x(2)+1 length(signal)]); 178 if diff(x) > 0 && ~isempty(obj.anno{lead}) % Area must cover more than 1 sample 179 obj.anno{lead}(find((obj.anno{lead}(:,1) >= x1) & (obj.anno{lead}(:,1) <= x2)),3) = 0; 180 notify(obj,'statechange'); 181 end 182 end 183 %% Remove ignore area annotation 184 function removeignorearea(obj,startsamplenumber,endsamplenumber) 185 hecglabgui = getappdata(0, 'hecglabgui'); 186 Lead = getappdata(hecglabgui,'lead'); 187 %% Initialize variables 188 Signal = obj.parrentecglabsignal.getsignal(lead); 189 X = round(sort([startsamplenumber endsamplenumber])); 190 x1 = max([1 X(1)-1]); 191 x2 = min([x(2)+1 length(signal)]); 192 if diff(x) > 0 && ~isempty(obj.anno{lead}) % Area must cover more than 1 sample 193 obj.anno{lead}(find((obj.anno{lead}(:,1) >= x1) & (obj.anno{lead}(:,1) <= x2)),3) = 1; 194 notify(obj,'statechange'); 195 end 196 end 197 %% Output methods 198 %% Get sameple number of all annotations of a specific type 199 function [samplenumber]=getsamplenumber(obj,active,varargin) 200 hecglabgui = getappdata(0, 'hecglabgui'); 201 Lead = getappdata(hecglabgui,'lead'); 202 if ~isempty(obj.anno{lead}) 203 I = find(obj.anno{lead}(:,3) == active); 204 if ~isempty(i) 91
100 Appendiks 205 if nargin > 2 && ~isempty(varargin{1}) 206 samplenumber = obj.anno{lead}(i(find(obj.anno{lead}(i,2) == varargin{1})),1); 207 else 208 samplenumber = obj.anno{lead}(i,1); 209 end 210 else 211 samplenumber = []; 212 end 213 else 214 samplenumber = []; 215 end 216 end 217 %% 218 function [types,num] = getannotypes(obj) 219 hecglabgui = getappdata(0, 'hecglabgui'); 220 Lead = getappdata(hecglabgui,'lead'); 221 if ~isempty(obj.anno{lead}) 222 I = find(obj.anno{lead}(:,3) == 1); 223 types = unique(obj.anno{lead}(i,2)); 224 else 225 types = []; 226 end 227 num = length(types); 228 end 229 %% Annotation file methods 230 %% Get annotation file name, path and extention 231 function [Path,File]=getFile(obj) 232 File = obj.filename; 233 Path = obj.filepath; 234 end 235 %% Set new file for annotation (this file will be used when save method is called) 236 function setfile(obj,filepath,filename) 237 obj.filepath = FilePath; 238 obj.filename = FileName; 239 notify(obj,'filechange'); 240 end 241 end 242 end 92
101 Appendiks 11.7 Matlab: Class: ECGLabSignal 1 classdef ECGLabSignal < handle 2 %% ECGLabSignal 3 %% Properties 4 properties (SetAccess = protected) 5 %% File properties 6 FileName; 7 FilePath; 8 %% Signal properties 9 Signal; 10 Fs; 11 %% Child object handles 12 hecglabwindow; 13 hecglabannotation; 14 end 15 %% Events 16 events 17 FileChange 18 end 19 %% Methods 20 methods 21 %% Constructor 22 function obj = ECGLabSignal() 23 obj = obj@handle; 24 obj.hecglabannotation = ECGLabAnnotation(obj); 25 obj.hecglabwindow = ECGLabWindow(obj); 26 obj.initialize(); 27 end 28 %% Operational functions 29 %% Load new signal 30 function load(obj) 31 if ~close(obj) 32 return; % Skip load if current signal wasn't closed 33 end 34 [FileNameExt,FilePath] = uigetfile('*.dat','select signal file'); 35 if isequal(filenameext,0) isequal(filepath,0) 36 return; % User did not select a file 37 end 38 [~, FileName, ~] = fileparts(filenameext); 39 if ~( exist([filepath FileName '.dat'],'file') == 2) 40 err = MException('ECGLabSignal:InvalidFileName', 'Specified data or header file does not exist within the specified path.'); 42 throw(err) 43 end 44 obj.filepath = FilePath; 45 obj.filename = FileName; 46 %% Load signal 47 cwd = cd; 48 cd(filepath); % rdann can only read from cwd 49 obj.signal = rdsamp(filename); 50 Desc = wfdbdesc(filename, false); 51 cd(cwd); 52 obj.fs = Desc.samplingFrequency; 53 filter(obj); 54 initialize(obj.hecglabwindow); 93
102 Appendiks 55 notify(obj,'filechange'); 56 end 57 %% Filter (TODO: storing both filtered and unfiltered signal) 58 function filter(obj) 59 obj.signal = FilterBaselineDrift(obj.Signal,obj.Fs); % 10 sekunders signal er for kort 60 obj.signal = PowerlineLowpass(obj.Signal,obj.Fs); 61 end 62 %% Close signal 63 function [wasclosed]=close(obj) 64 wasclosed = false; 65 if close(obj.hecglabannotation) 66 obj.initialize(); 67 notify(obj,'filechange'); 68 wasclosed = true; 69 end 70 end 71 %% Initialize properties 72 function initialize(obj) 73 %% File properties 74 obj.filename = ''; 75 obj.filepath = ''; 76 %% Signal properties 77 obj.signal = []; 78 obj.fs = []; 79 end 80 %% Get functions 81 %% Get window 82 function hecglabwindow = getwindow(obj) 83 hecglabwindow = obj.hecglabwindow; 84 end 85 %% Get annotation 86 function hecglabannotation=getannotation(obj) 87 hecglabannotation = obj.hecglabannotation; 88 end 89 %% Get fileparts 90 function [FilePath, FileName] = getfile(obj) 91 FilePath = obj.filepath; 92 FileName = obj.filename; 93 end 94 %% Get signal 95 function Signal=getSignal(obj, Ch) 96 if isempty(obj.signal) 97 Signal = []; 98 else 99 Signal = obj.signal(:,ch); 100 end 101 end 102 %% Get sampling frequency 103 function Fs=getFs(obj) 104 Fs = obj.fs; 105 end 106 %% Get time vector 107 function t=gettime(obj) 108 t = obj.signal(:,1)/obj.fs; 109 end 110 end 111 end 94
103 Referencer 12 REFERENCER [1] G. B. Moody, R. G. Mark and A. L. Goldberger, "PhysioNet: a research resource for studies of complex physiologic and biomedical signals " Comput. Cardiol., vol. 27, pp , [2] D. R. Van Wagoner, "Recent insights into the pathophysiology of atrial fibrillation," Semin. Thorac. Cardiovasc. Surg., vol. 19, pp. 9-15, Spring, [3] S. E. Wolowacz, M. Samuel, V. K. Brennan, J. G. Jasso-Mosqueda and I. C. Van Gelder, "The cost of illness of atrial fibrillation: a systematic review of the recent literature," Europace, Jul 14, [4] J. E. P. Waktare, "Paroxysmal atrial fibrillation," in Risk of Arrhythmia and Sudden Death, M. Malik, Ed. [London] BMJ Books [c.2001]., pp [5] J. E. P. Waktare, "Atrial Fibrillation " Circulation, vol. 106, pp. 14 <last_page> 16, [6] V. Fuster, L. E. Ryden, D. S. Cannom, H. J. Crijns, A. B. Curtis, K. A. Ellenbogen, J. L. Halperin, J. Y. Le Heuzey, G. N. Kay, J. E. Lowe, S. B. Olsson, E. N. Prystowsky, J. L. Tamargo, S. Wann, S. C. Smith Jr, A. K. Jacobs, C. D. Adams, J. L. Anderson, E. M. Antman, J. L. Halperin, S. A. Hunt, R. Nishimura, J. P. Ornato, R. L. Page, B. Riegel, S. G. Priori, J. J. Blanc, A. Budaj, A. J. Camm, V. Dean, J. W. Deckers, C. Despres, K. Dickstein, J. Lekakis, K. McGregor, M. Metra, J. Morais, A. Osterspey, J. L. Tamargo, J. L. Zamorano, American College of Cardiology/American Heart Association Task Force on Practice Guidelines, European Society of Cardiology Committee for Practice Guidelines, European Heart Rhythm Association and Heart Rhythm Society, "ACC/AHA/ESC 2006 Guidelines for the Management of Patients with Atrial Fibrillation: a report of the American College of Cardiology/American Heart Association Task Force on Practice Guidelines and the European Society of Cardiology Committee for Practice Guidelines (Writing Committee to Revise the 2001 Guidelines for the Management of Patients With Atrial Fibrillation): developed in collaboration with the European Heart Rhythm Association and the Heart Rhythm Society," Circulation, vol. 114, pp. e , Aug 15, [7] V. Markides and R. J. Schilling, "Atrial fibrillation: classification, pathophysiology, mechanisms and drug treatment," Heart, vol. 89, pp , Aug, [8] A. M. Gillinov and P. M. McCarthy, "Advances in the surgical treatment of atrial fibrillation," Cardiol. Clin., vol. 22, pp , Feb, [9] G. Moody, A. Goldberger, S. McClennen and S. Swiryn, "Predicting the onset of paroxysmal atrial fibrillation: The computers in cardiology challenge 2001," in Computers in Cardiology 2001, 2001, pp [10] G. Krstacic, D. Garnberger, T. Smuc and A. Krstacic, "Some important R-R interval based paroxysmal atrial fibrillation predictors," in Computers in Cardiology 2001, 2001, pp
104 Referencer [11] K. S. Lynn and H. D. Chiang, "A two-stage solution algorithm for paroxysmal atrial fibrillation prediction," in Computers in Cardiology 2001, 2001, pp [12] A. C. C. Yang and H. W. Yin, "Prediction of paroxysmal atrial fibrillation by footprint analysis," in Computers in Cardiology 2001, 2001, pp [13] G. Schreier, P. Kastner and W. Marko, "An automatic ECG processing algorithm to identify patients prone to paroxysmal atrial fibrillation," in Computers in Cardiology 2001, 2001, pp [14] W. Zong, R. Mukkamala and R. G. Mark, "A methodology for predicting paroxysmal atrial fibrillation based on ECG arrhythmia feature analysis," in Computers in Cardiology 2001, 2001, pp [15] P. Langley, D. di Bernardo, J. Allen, E. Bowers, F. E. Smith, S. Vecchietti and A. Murray, "Can paroxysmal atrial fibrillation be predicted?" in Computers in Cardiology 2001, 2001, pp [16] P. de Chazal and C. Heneghan, "Automated assessment of atrial fibrillation," in Computers in Cardiology 2001, 2001, pp [17] G. B. Moody, A. L. Goldberger, S. McClennen and S. P. Swiryn, "Predicting the Onset of Paroxysmal Atrial Fibrilation: The Computers in Cardiology Challenge 2001," Comput. Cardiol., vol. 28, pp , [18] A. Climent, M. S. Guillem, J. Millet, C. Mora, R. Ruiz and F. J. Chorro, "Optimal Lead Selection for the Study of the P Wave in Sinus Rhythm " Comput. Cardiol., pp , [19] S. Andersen, "Webstrategi og informationsarkitektur - Infoark - Artikel " vol. 2011,. [20] D. Clegg and R. Barker, Case Method Fast-Track: A RAD Approach Addison-Wesley, [21] W. Zong, G. B. Moody and D. Jiang, "A robust open-source algorithm to detect onset and duration of QRS complexes," in Computers in Cardiology 2003, pp [22] L. Sörnmo and P. Laguna, Bioelectrical Signal Processing in Cardiac and Neurological Applications. Amsterdam ; Elsevier Academic Press, c2005, [23] S. Hargittai, "Efficient and fast ECG baseline wander reduction without distortion of important clinical information," Computers in Cardiology, 2008, pp ,
Effects of Strattera (atomoxetine) on blood pressure and heart rate from review of MAH clinical trial database.
Effects of Strattera (atomoxetine) on blood pressure and heart rate from review of MAH clinical trial database. Final SmPC and PL wording agreed by PhVWP November 2011 PRODUKTRESUMÉ 4.2 Dosering og indgivelsesmåde
Patientvejledning. Behandling for hjerterytmeforstyrrelse - RFA behandling Atrieflagren
Patientvejledning Behandling for hjerterytmeforstyrrelse - RFA behandling Atrieflagren Atrieflagren eller forkammerflagren er anfald eller længevarende perioder med hurtig regelmæssig hjertefrekvens (høj
Standard brugervejledning Blodtryksmåler
Standard brugervejledning Blodtryksmåler Tak fordi du har valgt at købe din blodtryksmåler hos os Kære kunde Ca. 1 mio. danskere har forhøjet blodtryk - betyder det noget? Ca. 50% af befolkningen kender
1. udgave. 1. oplag. 2010. Foto: NN. Produktion: Datagraf. Bestillingsnr.: 1179
1. udgave. 1. oplag. 2010. Foto: NN. Produktion: Datagraf. Bestillingsnr.: 1179 BRYSTSMERTER (ANGINA PECTORIS) OG BLODPROP I HJERTET Kend symptomerne og reagér hurtigt HVAD ER ANGINA PECTORIS? Angina pectoris
Patientvejledning. Behandling for hjerterytme forstyrrelse - RFA behandling Ventrikulær ekstra systoli (VES) og ventrikulær takykardi (VT)
Patientvejledning Behandling for hjerterytme forstyrrelse - RFA behandling Ventrikulær ekstra systoli (VES) og ventrikulær takykardi (VT) Ventrikulære ekstrasystoler (VES) og ventrikulær takykardi (VT)
1. udgave. 1. oplag. 2008. Produktion: Datagraf. Bestillingsnr.: 539
1. udgave. 1. oplag. 2008. Produktion: Datagraf. Bestillingsnr.: 539 FORKAMMERFLIMREN Når hjertet er ude af takt HVAD ER FORKAMMERFLIMREN? Forkammerflimren (atrieflimren) er en meget hurtig og uregelmæssig
Den menneskelige cochlea
Den menneskelige cochlea Af Leise Borg Leise Borg er netop blevet cand.scient. Artiklen bygger på hendes speciale i biofysik Introduktion Hørelsen er en vigtig sans for mennesket, både for at sikre overlevelse,
Patientvejledning. Behandling for hjerterytmeforstyrrelse - RFA behandling Supraventrikulær takykardi (SVT)
Patientvejledning Behandling for hjerterytmeforstyrrelse - RFA behandling Supraventrikulær takykardi (SVT) Supraventrikulær takykardi betegner en anfaldsvis hurtig hjerterytme, der involverer hjertets
Hjertets elektriske potentialer og målingen af disse
Hjertets elektriske potentialer og målingen af disse Indholdsfortegnelse Indholdsfortegnelse... 1 Introduktion... 1 Grundlæggende kredsløbteknik... 1 Ohms lov... 2 Strøm- og spændingsdeling... 4 Elektriske
En intro til radiologisk statistik
En intro til radiologisk statistik Erik Morre Pedersen Hypoteser og testning Statistisk signifikans 2 x 2 tabellen og lidt om ROC Inter- og intraobserver statistik Styrkeberegning Konklusion Litteratur
www.printo.it/pediatric-rheumatology/dk/intro
www.printo.it/pediatric-rheumatology/dk/intro Blau syndrom Version af 2016 1. HVAD ER BLAU SYNDROM/JUVENIL SARKOIDOSE 1.1 Hvad er det? Blau syndrom er en genetisk sygdom. Som patient lider man af en kombination
FORSKNING I HJERTEFLIMMER HOS HESTE
FAGLIGT Forskning på KU Sund FORSKNING I HJERTEFLIMMER HOS HESTE til gavn for både heste og mennesker HESTENS HJERTE Op til 6 kg i hest på 500 kg Hvilepuls: 28-40 slag pr. minut Maksimal puls: 200-240
Anbefalinger til superviseret fysisk træning af mennesker med type 2-diabetes, KOL og hjerte-kar-sygdom
Region Hovedstaden Anbefalinger til superviseret fysisk træning af mennesker med type 2-diabetes, KOL og hjerte-kar-sygdom Resumé UDARBEJDET AF: Stig Mølsted, Christian Have Dall, Henrik Hansen & Nina
Ekg e-learning på Absalon
HJERTECENTRET, RIGSHOSPITALET Ekg e-learning på Absalon Jesper Hastrup Svendsen JESPER HASTRUP SVENDSEN Dias 1 Hjertet og hjerterytmen Hjertets primære funktion er at pumpe iltet blod rundt i kroppen.
Aktiv overvågning er en metode til at føre kontrol med prostatakræft hos mænd, som ikke har symptomer af deres sygdom.
Aktiv overvågning? Hvad er forskellen på watchful waiting og aktiv overvågning? Begge metoder er beregnet på at undgå unødvendig behandling af prostatakræft. I begge tilfælde bliver du overvåget. Der er
Besvarelse af opgavesættet ved Reeksamen forår 2008
Besvarelse af opgavesættet ved Reeksamen forår 2008 10. marts 2008 1. Angiv formål med undersøgelsen. Beskriv kort hvordan cases og kontroller er udvalgt. Vurder om kontrolgruppen i det aktuelle studie
Borgere med multisygdom. Afdeling for Sundhedsanalyser 21. oktober 2015
Borgere med multisygdom Afdeling for Sundhedsanalyser 21. oktober 215 Denne analyse ser på voksne danskere med udvalgte kroniske sygdomme og har særlig fokus på personer, som lever med to eller flere af
Brugere under 25 år af lægemidler med melatonin
Brugere under 25 år af lægemidler med melatonin Brugere under 25 år af lægemidler med melatonin Sundhedsstyrelsen, 2013. Publikationen kan frit refereres med tydelig kildeangivelse. Sundhedsstyrelsen Axel
N O TAT. Tilgangen og forekomsten af diabetespatienter
N O TAT Tilgangen og forekomsten af diabetespatienter Diabetes er en sygdom, som rammer en stadig større del af befolkningen. Sygdommen har betydelige konsekvenser både for den enkelte og for samfundet.
IDAP manual Analog modul
IDAP manual Analog modul Dato: 15-06-2005 11:01:06 Indledning Til at arbejde med opsamlede og lagrede analoge data i IDAP portalen, findes en række funktions områder som brugeren kan anvende. Disse områder
Kapitel 16. Hvilken betydning har kondital for selvvurderet helbred og blodsukker?
Kapitel 16 Hvilken betydning har kondital for selvvurderet helbred og blodsukker? Kapitel 16. Hvilken betydning har kondital for selvvurderet helbred og blodsukker? 165 Et lavt kondital er forbundet med
Teknisk Notat. Støj fra vindmøller ved andre vindhastigheder end 6 og 8 m/s. Udført for Miljøstyrelsen. TC-100531 Sagsnr.: T207334 Side 1 af 15
Teknisk Notat Støj fra vindmøller ved andre vindhastigheder end 6 og 8 m/s Udført for Miljøstyrelsen Sagsnr.: T207334 Side 1 af 15 3. april 2014 DELTA Venlighedsvej 4 2970 Hørsholm Danmark Tlf. +45 72
BLIV KLOGERE PÅ HØRETAB
BLIV KLOGERE PÅ HØRETAB Hvordan ved du, om du har et høretab? Sandsynligvis vil du være den sidste, der opdager det. De fleste høretab sker gradvist over et så langt tidsrum, at man ikke nødvendigvis opdager
OMKOSTNINGER FORBUNDET MED
OMKOSTNINGER FORBUNDET MED HJERTEKARSYGDOM HOS PATIENTER MED- OG UDEN KENDT SYGDOMSHISTORIK UDARBEJDET AF: EMPIRISK APS FOR AMGEN AB MAJ 215 Indhold Sammenfatning... 2 Metode og data... 4 Omkostningsanalyse...
HYPERTROFISK KARDIOMYOPATI HOS KAT
Hjertesygdomme hos Mindre Husdyr HYPERTROFISK KARDIOMYOPATI HOS KAT Hvad betyder navnet? Hypertrofisk kardiomyopati (HCM) er en hjertesygdom, hvor hjertemusklen fortykkes (hypertrofisk = fortykkelse, kardiomyopati
Nøgletal for kræft januar 2013
Nøgletal for kræft januar 213 Sundhedsøkonomi 1. Fortsat stigende aktivitet på kræftområdet Antallet af personer, som har fået en kræfteller kræftrelateret behandling er steget fra 142.7 personer i 21
EKG/Arytmikode TEST FAM Medicinsk
EKG/Arytmikode TEST FAM Medicinsk Ved en ekg-optagelse registreres? (1 kryds) Hjertes pumpefunktionen Hjertes elektriske aktivitet Hjertes størrelse 1 Et normalt ekg kompleks indeholder bl.a? (flere kryds)
Affektiv lidelse: udfordringer og behandlingsmuligheder i Danmark
Affektiv lidelse: udfordringer og behandlingsmuligheder i Danmark Projektgruppen Professor, overlæge, dr.med. Lars Vedel Kessing* (formand) Overlæge Hanne Vibe Hansen* (lægefaglig sekretær) Professor,
Uddrag af Sundhedsprofil 2013 for Københavns Kommune. Kroniske sygdomme
Uddrag af Sundhedsprofil 2013 for Københavns Kommune Kroniske sygdomme Indholdsfortegnelse 1 Baggrund... 3 2 Kroniske sygdomme... 5 2.1 Diabetes... 5 2.2 Hjertesygdom... 9 2.3 KOL... 13 2.4 Kræft... 17
Juvenil Spondylartrit/Enthesitis-relateret artrit (GIGT) (SPA-ERA)
www.printo.it/pediatric-rheumatology/dk/intro Juvenil Spondylartrit/Enthesitis-relateret artrit (GIGT) (SPA-ERA) Version af 2016 2. DIAGNOSE OG BEHANDLING 2.1 Hvordan stilles diagnosen? Lægen kalder sygdommen
1. udgave. 1. oplag. 2009. Produktion: Datagraf. Bestillingsnr.: 716
1. udgave. 1. oplag. 2009. Produktion: Datagraf. Bestillingsnr.: 716 FORSTYRRELSER I HJERTERYTMEN Med eller uden pacemakerbehandling Den normale hjerterytme i hvile er 50-100 slag i minuttet. Hjerterytmen
Skader som følge af alkoholindtag
Skader som følge af alkoholindtag Skader som følge af alhoholindtag Når du indtager alkohol kan der ske forskellige skader i din krop. Skader som følge af alkoholindtag Tilstand Opsamling af resultater
wwwdk Digital lydredigering på computeren grundlæggende begreber
wwwdk Digital lydredigering på computeren grundlæggende begreber Indhold Digital lydredigering på computeren grundlæggende begreber... 1 Indhold... 2 Lyd er trykforandringer i luftens molekyler... 3 Frekvens,
Økonomisk analyse af forskellige strategier for drægtighedsundersøgelser
Økonomisk analyse af forskellige strategier for drægtighedsundersøgelser Jehan Ettema, SimHerd A/S, 28-10-15 Indholdsfortegnelse Metoden... 2 Design af scenarierne... 2 Strategier for drægtighedsundersøgelser...
Hvor megen gavn får patienten af den medicinske behandling?
Klaus Johansen RATIONEL FARMAKOTERAPI 1105 Hvor megen gavn får patienten af den medicinske behandling? Man kan fremover ikke nøjes med at meddele patienten, at kolesteroltallet er for højt, udskrive en
2.0 Indledning til registerstudie af forbrug af sundhedsydelser
2. Indledning til registerstudie af forbrug af sundhedsydelser I det følgende beskrives sygdomsforløbet i de sidste tre leveår for -patienter på baggrund af de tildelte sundhedsydelser. Endvidere beskrives
Omkring 100.000 anvender medicin mod Grøn stær. det er over dobbelt så mange som forventet. Anna Horwitz. Miriam Kolko
Anna Horwitz Læge, ph.d.-stud. Center for Sund Aldring Københavns Universitet Omkring 100.000 anvender medicin mod Grøn stær Miriam Kolko Overlæge, lektor, ph.d. Øjenafdelingen Roskilde Sygehus Medicinske
Madkulturen - Madindeks 2015 69. Rammer for danskernes måltider
Madkulturen - Madindeks 2015 69 4. Rammer for danskernes måltider 70 Madkulturen - Madindeks 2015 4. Rammer for danskernes måltider Dette kapitel handler om rammerne for danskernes måltider hvem de spiser
Sikkerhed i forbindelse med vægttab
Sikkerhed i forbindelse med vægttab Af Thomas Meinert Larsen Forhindring af vægtforøgelse samt introduktion af vægttab er almindeligvis ikke forbundet med nogen særlig sundhedsmæssig risiko, så længe vægtstopperens
Til patienter indlagt med Apopleksi
Til patienter indlagt med Apopleksi Medicinsk Afdeling, Dronninglund Sygehus Hvad er apopleksi? I langt de fleste tilfælde skyldes apopleksi en blodprop i hjernen. Der kan også være tale om en hjerneblødning,
i x-aksens retning, så fås ). Forskriften for g fås altså ved i forskriften for f at udskifte alle forekomster af x med x x 0
BAndengradspolynomier Et polynomium er en funktion på formen f ( ) = an + an + a+ a, hvor ai R kaldes polynomiets koefficienter. Graden af et polynomium er lig med den højeste potens af, for hvilket den
Vær opmærksom på risiko for udvikling af lungefibrose ved længerevarende behandling med nitrofurantoin
Vær opmærksom på risiko for udvikling af lungefibrose ved længerevarende behandling med nitrofurantoin Flere indberettede bivirkninger end forventet Sundhedsstyrelsen har modtaget et stigende antal bivirkningsindberetninger
ORDINÆR EKSAMEN I EPIDEMIOLOGISKE METODER IT & Sundhed, 2. semester
D E T S U N D H E D S V I D E N S K A B E L I G E F A K U L T E T K Ø B E N H A V N S U N I V E R S I T E T B l e g d a m s v e j 3 B 2 2 0 0 K ø b e n h a v n N ORDINÆR EKSAMEN I EPIDEMIOLOGISKE METODER
Det sorte danmarkskort:
Rockwool Fondens Forskningsenhed Arbejdspapir 37 Det sorte danmarkskort: Geografisk variation i danskernes sorte deltagelsesfrekvens Peer Ebbesen Skov, Kristian Hedeager Bentsen og Camilla Hvidtfeldt København
Notat om midler mod Alzheimers sygdom i Danmark
Notat om midler mod Alzheimers sygdom i Danmark En kortlægning af forbruget af demensmidler i perioden 1997-2003 9. oktober, 2003 Indhold Resumé Baggrund Datamateriale og metode Resultater Omsætning og
Patientinformation. Depression. - en vejledning til patienter og pårørende. Psykiatrisk Afdeling, Odense - universitetsfunktion
Patientinformation Depression - en vejledning til patienter og pårørende Psykiatrisk Afdeling, Odense - universitetsfunktion Depression er en folkesygdom Ca. 150.000 danskere har til hver en tid en depression.
Det er regionernes ansvar at implementere pakkeforløb for kræftpatienter i overensstemmelse med de generelle rammer.
Task Force for Kræftområdet Akut handling og klar besked: Generelle rammer for indførelse af pakkeforløb for kræftpatienter Introduktion Regeringen og Danske Regioner indgik den 12. oktober 2007 en aftale
En ny vej - Statusrapport juli 2013
En ny vej - Statusrapport juli 2013 Af Konsulent, cand.mag. Hanne Niemann Jensen HR-afdelingen, Fredericia Kommune I det følgende sammenfattes resultaterne af en undersøgelse af borgernes oplevelse af
Del 3: Statistisk bosætningsanalyse
BOSÆTNING 2012 Bosætningsmønstre og boligpræferencer i Aalborg Kommune Del 3: Statistisk bosætningsanalyse -Typificeringer Indholdsfortegnelse 1. Befolkningen generelt... 2 2. 18-29 årige... 2 3. 30-49
Notat om uddannelsesmæssig og social ulighed i levetiden
Det Politisk-Økonomiske Udvalg, Sundhedsudvalget PØU alm. del - Bilag 99,SUU alm. del - Bilag 534 Offentligt ØKONOMIGRUPPEN I FOLKETINGET (3. UDVALGSSEKRETARIAT) NOTAT TIL DET POLITISK-ØKONOMISKE UDVALG
Atrieflimren. Hjerteforeningens Sundhedskonference. 12. oktober Christian Gerdes Hjertesygdomme Århus Universitetshospital Skejby
Atrieflimren Hjerteforeningens Sundhedskonference 12. oktober 2016 Christian Gerdes Hjertesygdomme Århus Universitetshospital Skejby Agenda Hvad er atrieflimren egentligt og hvor hyppigt er det? Er det
Simple fysiske tests udført i akutmodtagelsen kan finde de svageste ældre
Simple fysiske tests udført i akutmodtagelsen kan finde de svageste ældre Ældre medicinsk patienter (+65 år) udgør den største patientgruppe på de medicinske afdelinger i Danmark. De er karakteriserede
Understøttelse af forløbsprogrammer med Fælles Kroniker Data
Understøttelse af forløbsprogrammer med Fælles Kroniker Data Informationsmøde Odense 27.2.2012 [email protected] Forløbsprogrammer Beskriver den samlede tværfaglige, tværsektorielle og koordinerede sundhedsfaglige
Notat. Brug personas til at leve dig ind i brugernes liv
Notat SEGES P/S Koncern Digital Datadreven informationsformidling, personas og personalisering Ansvarlig JUPO Oprettet 17-03-2016 Projekt: 7464, Digitale relationer og datadreven informationsformidling
De negative effekter af kræft på beskæftigelse afhænger af jobbet, før man fik kræft
februar 016 Nyt fra rff De negative effekter af kræft på beskæftigelse afhænger af jobbet, før man fik kræft B landt dem, som overlever en kræftsygdom, og som var i beskæftigelse før sygdommen, fortsætter
Generelt er korrelationen mellem elevens samlede vurdering i forsøg 1 og forsøg 2 på 0,79.
Olof Palmes Allé 38 8200 Aarhus N Tlf.nr.: 35 87 88 89 E-mail: [email protected] www.stil.dk CVR-nr.: 13223459 Undersøgelse af de nationale tests reliabilitet 26.02.2016 Sammenfatning I efteråret 2014 blev
DET NATIONALE DIABETESREGISTER 2005 (foreløbig opgørelse) Nye tal fra Sundhedsstyrelsen 2006 : 24
DET NATIONALE DIABETESREGISTER 25 (foreløbig opgørelse) Nye tal fra Sundhedsstyrelsen 26 : 24 Redaktion: Sundhedsstyrelsen Sundhedsstatistik Islands Brygge 67 23 København S. Telefon: 7222 74 Telefax:
ÅRSRAPPORT FOR PRODUKTFEJL OG TILBAGE- KALDELSER AF LÆGEMIDLER 2012
ÅRSRAPPORT FOR PRODUKTFEJL OG TILBAGE- KALDELSER AF LÆGEMIDLER 2012 2013 Årsrapport for indberetninger af produktfejl og tilbagekaldelser af lægemidler i 2012 Sundhedsstyrelsen, 2013 Sundhedsstyrelsen
Rygtespredning: Et logistisk eksperiment
Rygtespredning: Et logistisk eksperiment For at det nu ikke skal ende i en omgang teoretisk tørsvømning er det vist på tide vi kigger på et konkret logistisk eksperiment. Der er selvfølgelig flere muligheder,
Behandling af brystkræft efter operation
Patientinformation DBCG 2015-d (Docetaxel) Behandling af brystkræft efter operation Denne information supplerer vores mundtlige information om den behandling, vi anbefaler dig. Informationen er tænkt som
DIABETES DIABETES TYPE 2. Diabetes kaldes også sukkersyge. fedtet sidder på maven der er udslagsgivende for, om sygdommen bryder ud.
Diabetes Type 2 DIABETES Diabetes kaldes også sukkersyge. Der findes to forskellige typer diabetes: type 1 og type 2. Når du har type 2-diabetes, reagerer dine celler ikke så godt på insulin det stof,
INDBERETTEDE BIVIRKNINGER I FORBINDELSE MED MEDICINSK BEHANDLING AF OSTEOPOROSE
INDBERETTEDE BIVIRKNINGER I FORBINDELSE MED MEDICINSK BEHANDLING AF OSTEOPOROSE 2013 Titel Indberettede bivirkninger i forbindelse med medicinsk behandling af osteoporose Sundhedsstyrelsen, 2013. Publikationen
Rapport vedrørende. etniske minoriteter i Vestre Fængsel. Januar 2007
Rapport vedrørende etniske minoriteter i Vestre Fængsel Januar 2007 Ved Sigrid Ingeborg Knap og Hans Monrad Graunbøl 1 1. Introduktion Denne rapport om etniske minoriteter på KF, Vestre Fængsel er en del
Afdeling for Sundhedsanalyser 21. oktober 2015. Store udgifter forbundet med multisygdom
Afdeling for Sundhedsanalyser 21. oktober 215 Store udgifter forbundet med multisygdom Denne analyse ser på danskere, som lever med flere samtidige kroniske sygdomme kaldet multisygdom. Der er særlig fokus
EKG-2. Fortolkning af EKG og diagnosticering af sygdom
EKG-2 Fortolkning af EKG og diagnosticering af sygdom Finn Lund Henriksen: [email protected] Jesper Farup Revsholm: [email protected] Anatomi Fysiologi Én cyklus Diastole Systole Fysiologi
PhD-kursus i Basal Biostatistik, efterår 2006 Dag 2, onsdag den 13. september 2006
PhD-kursus i Basal Biostatistik, efterår 2006 Dag 2, onsdag den 13. september 2006 I dag: To stikprøver fra en normalfordeling, ikke-parametriske metoder og beregning af stikprøvestørrelse Eksempel: Fiskeolie
Hvorfor har vi brug for salt?
Forskningsnyheder om Huntingtons Sygdom På hverdagssprog Skrevet af forskere. Til det globale HS-fællesskab Højeffekts-hjerneskanninger afslører natriumændringer ved HS En ny hjerneskanningsteknik afslører
02402 Løsning til testquiz02402f (Test VI)
02402 Løsning til testquiz02402f (Test VI) Spørgsmål 4. En ejendomsmægler ønsker at undersøge om hans kunder får mindre end hvad de har forlangt, når de sælger deres bolig. Han har regisreret følgende:
Analyse. Kontanthjælpsreformen har fået flere unge i uddannelse eller beskæftigelse men forbliver de der? 29. april 2015
Analyse 29. april 215 Kontanthjælpsreformen har fået flere unge i uddannelse eller beskæftigelse men forbliver de der? Af Kristian Thor Jakobsen og Katrine Marie Tofthøj Kontanthjælpsreformen, der blev
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Fredag den 22. juni 2012, kl. 9.00-13.00 Eksamenslokale: Finlandsgade
KEMIguiden Vejledning. Rev. udgave april 2010
KEMIguiden Vejledning Rev udgave april 2010 KEMIguiden Vejledning april 2010 2 Indholdsfortegnelse 1 Indledning 3 2 Arbejdsgange i KemiGuiden 4 21 Oprettelse af en leverandør 4 22 Oprettelse af kategorier
DPSD undervisning. Vejledning til rapport og plan opsætning
DPSD undervisning Vejledning til rapport og plan opsætning Side 1 Vejledning Oversigt over vejledningerne Opret en simpel listerapport... 2 Opret en krydstabuleringsrapport... 14 Opret en visualiseringsrapport...
Deskriptiv statistik. Version 2.1. Noterne er et supplement til Vejen til matematik AB1. Henrik S. Hansen, Sct. Knuds Gymnasium
Deskriptiv (beskrivende) statistik er den disciplin, der trækker de væsentligste oplysninger ud af et ofte uoverskueligt materiale. Det sker f.eks. ved at konstruere forskellige deskriptorer, d.v.s. regnestørrelser,
Model for risikovurdering modul 4, 6 og 8
Modul 4 Aktuelt sygeplejeproblem Teoretisk begrundelse for risici Aktuelt sygeplejeproblem Teoretiske begrundelser for risici Epidemiologiske belæg for risici og forhold, der forstærker risici Eksempelvis:
At skrive en god deltagerinformation (december 2011)
At skrive en god deltagerinformation (december 2011) Generelt om deltagerinformationen I forbindelse med videnskabelige forsøg, der inddrager forsøgspersoner, er der fastsat regler for, hvordan man informerer
Appendiks 3 Beregneren - progression i de nationale matematiktest - Vejledning til brug af beregner af progression i matematik
Appendiks 3: Analyse af en elevs testforløb i 3. og 6. klasse I de nationale test er resultaterne baseret på et forholdsvist begrænset antal opgaver. Et vigtigt hensyn ved designet af testene har været,
FOA-medlemmernes sundhed. Rygning, overvægt og psykisk og fysisk anstrengende arbejde sammenlignet med andre grupper på arbejdsmarkedet
F O A f a g o g a r b e j d e Rygning, overvægt og psykisk og fysisk anstrengende arbejde sammenlignet med andre grupper på arbejdsmarkedet FOA-medlemmernes sundhed FOA Fag og Arbejde 1 Politisk ansvarlig:
VÆRD AT VIDE FORBYGGENDE SELVMONITORERING
VÆRD AT VIDE FORBYGGENDE SELVMONITORERING Faglige input produceret af og for partnerne i Lev Vel, delprojekt Forebyggende Ældre, sundhed og Forfatter: Af Julie Bønnelycke, videnskabelig assistent, Center
Behandling af brystkræft efter operation
Patientinformation DBCG 2015-b,t (Paclitaxel) Behandling af brystkræft efter operation Denne information supplerer vores mundtlige information om den behandling, vi anbefaler dig. Informationen er tænkt
Rygning og hjerte-kar-lidelser
Rygning og hjerte-kar-lidelser Det er svært at holde op med at ryge. Men hvis du lider af en hjerte-kar-lidelse, er et rygestop særligt vigtigt for dit helbred. Denne brochure er måske dit første skridt
Diabetesmedicin. selv gøre, og hvad skal du være opmærksom på?
Diabetesmedicin Denne brochure handler om medicin til type 2-diabetes. Hvordan får du den bedste effekt af din medicin? Hvilke bivirkninger kan den have? Hvad kan du selv gøre, og hvad skal du være opmærksom
Magnetfelter og børnekræft - er der en sammenhæng?
NOTAT NP92-961b JKJ/BT-DGR 4. december 1997 Magnetfelter og børnekræft - er der en sammenhæng? Revideret januar 1993 NOTAT NP92-961b 2 1. Om børnekræft I perioden fra 1945 og frem til i dag har udviklingen
Patientforflytninger i seng
Patientforflytninger i seng Indledning Formålet med undersøgelsen var at udvikle et værktøj til vurdering af plejerens belastning ved patientforflytninger. Ideen var at man ud fra patientens vægt, grad
Ældre og deres medicin forbrug. Ved Lisbeth Fredholm Speciallæge i geriatri
Ældre og deres medicin forbrug. Ved Lisbeth Fredholm Speciallæge i geriatri De fem geriatriske giganter Instabilitet/ immobilitet Iatrogenitet Intellektuelle og mentale prob. Incontinens Infektion Geriatri?
MR- skanning forbedrer diagnostik af prostatakræft
MR- skanning forbedrer diagnostik af prostatakræft MR-skanning er det bedste billedværktøj til at finde kræft i prostata og kommer til at spille en stor rolle i diagnostik og behandling af sygdommen i
Demens og træning af opmærksomhedsfunktion
Demens og træning af opmærksomhedsfunktion 1 Demens er fællesbetegnelsen for en række sygdomme, der alle har det til fælles, at de indebærer en svækkelse af hjernens funktioner. Demens kan ramme de intellektuelle
Diabetesmedicin. selv gøre, og hvad skal du være opmærksom på?
Diabetesmedicin Denne brochure handler om medicin til type 2-diabetes. Hvordan får du den bedste effekt af din medicin? Hvilke bivirkninger kan den have? Hvad kan du selv gøre, og hvad skal du være opmærksom
