Pázmány Péter Katolikus Egyetem Információs Technológiai Kar
1083 Budapest, Práter u. 50/A
Tel/Fax: 886-4700
E-mail:
[email protected]
Orvosi távjelenlétet segítő vércukorszint-ellenőrző és követő rendszer kialakítása
Műszaki Informatika szak
Témavezető neve: Tihanyi Attila
Készítette: Sallai Dániel Budapest 2012
1
Nyilatkozat
Alulírott Sallai Dániel, a Pázmány Péter Katolikus Egyetem Információs Technológiai Karának hallgatója kijelentem, hogy ezt a diplomatervet meg nem engedett segítség nélkül, saját magam készítettem, és a diplomamunkában csak a megadott forrásokat használtam fel. Minden olyan részt, melyet szó szerint, vagy azonos értelemben, de átfogalmazva más forrásból átvettem, egyértelműen a forrás megadásával megjelöltem. Ezt a diplomamunkát más szakon még nem nyújtottam be.
Budapest, 2012. május 13.
________________________ Sallai Dániel
2
Tartalomjegyzék:
Nyilatkozat
2
Tartalomjegyzék:
3
Tartalmi összefoglaló
5
Summary
6
Bevezetés
1
7
1.1
A feladat ismertetése
8
1.2
Az orvos munkáját támogató eljárások, mérések
9
1.3
A diabéteszről általában
11
1.3.1
Lakossági adatok
11
1.3.2
Definíció
11
1.3.3
Élettani háttér
12
1.3.4
A vércukor különböző típusai
12
1.3.5
1-es típusú (Inzulinfüggő diabétesz)
12
1.3.6
2-es típusú (nem inzulinfüggő diabétesz)
13
1.3.7
Terhességi diabétesz
13
1.3.8
Élettani kockázatok
13
Levonható következtetések
1.4
13
1.4.1
Napjainkban a telemedicína és hatása az emberek életére
14
1.4.2
Telehealth
15
1.4.3
E-Health
16
Telemedicína használata napjainkban
2
Orvos beteg találkozások számának optimalizálása
2.1
A vércukor monitorozási eljárások a telemedicínában
2.1.1
Vércukor mérések használata a telemedicínában
2.2
17 17 19 23
2.2.1
Telemedicinás kezdeményezések
23
2.2.2
A piacon megtalálható megoldások Magyarországon és külföldön
25 3
A tervezett megoldás és annak megvalósítása
2.2.3
A rendszer felépítése (Rendszerterv)
3
26 31
3.1
Hardware és Software specifikáció
32
3.2
Komponens Specifikáció
33
Adatbázis
3.2.1
Az applikációs szerveren futó alkalmazások
4
Internetről elérhető alkalmazás
4.1
33 35 35
4.1.1
Adatbázis réteg
35
4.1.2
Üzleti logikai réteg
37
4.1.3
Vezérlési Réteg
39
4.2
A méréseket fogadó alkalmazás
44
4.3
A mobilkliens
45
4.4
Használat a beteg oldaláról
45
4.5
Használat az Orvos oldaláról
47
4.6
Orvos beteg kapcsolat a telemedicínában
48
4.7
A rendszer működése
50
4.8
A rendszer tesztelése
53
4.9
Alkalmazott statisztikai eljárások a mérések kiértékelésére
54
5
Összefoglalás
59
6
Továbbfejlesztési lehetőségek
60
7
Köszönetnyilvánítás
63
8
Irodalomjegyzék
64
9
Mellékletek
66
4
Tartalmi összefoglaló Az egyetemen megtanult módszerek és tudásanyag alapján egy olyan rendszer megvalósítása volt a cél, ami támogatja a diabéteszben szenvedő betegeket és az őket kezelő orvos munkáját. A betegek mobiltelefon segítségével képesek feltölteni az általuk mért vércukorszintjüket, súlyukat és beadott inzulin egységet egy interneten elérhető adatbázisba, amit később meg tudnak tekinteni böngésző vagy a mobil alkalmazás segítségével. A rendszerben lehetősége van az orvosoknak is regisztrálni, akik meg tudják tekinteni a betegek által mért eredményeket és üzenetet tudnak küldeni a javaslataikról a páciens számára. Az adatok feltöltését követően a beteg és az orvos vizuálisan, grafikonok segítségével képes megtekinteni a mérési eredményeket. Ezeket az értékeket statisztikai módszerekkel alakítva egy trendet határoztam meg a vércukorszint alakulásáról a páciensnél. A felhasznált módszereket tekintve lineáris regresszió eszközei által kínált analízist hajtottam végre. Ennek köszönhetően az orvos jobb vércukorszint ellenőrzést és pontosabb kezelést képesek szolgáltatni a beteg számára, míg a beteg rendszeresen informálódhat az állapotáról. A megtervezett rendszert az internet segítségével teszteltem, ahol a felhasználóknak lehetőségük volt regisztrálni és adatokat feltölteni, amiket később elemezhettem a regresszió analízis és Clarke-féle hibaanalízis segítségével. A rendszernek eleget kell tennie számos elvárásnak, amiket a telemedicína doktrínái és a felhasználók határoznak meg. Gondolunk itt a megbízhatóságra, elérhetőségre, az adatok bizalmas kezelésére és az ezzel járó biztonságra. A fejlesztés során számos haladó és új technológia került felhasználásra, amik részben a mobiltelefonokra és részben az internetre támaszkodnak.
5
Summary In the knowledge, what i have got in the university, i planned and implemented a system. The aim of the system is the support those people, who have diabetes and the physicans in the treatment. The patients can upload own measurements with the mobile application or the internetsite via internet. These measurements contain the level of the bloodsugar, used quantity of the insulin, the patients weight. The submitted information stored in a Database after the measurement. The doctors can register in the system both and they can see the lot of information about own patients (blood sugar level, weight, therapy). The doctors can send e-mail for the patients, if deviant measurements occur. After the data upload, the patients and doctors can see the measurements and the statistical analysis output with graph. This is really important because the visual information is better understandable than the character or command line interface output. I’ve used two matematical method int he thesis, which are the linear regression and the clarke error grid analysis. I have tested the planned system with many users through the internet. The users have registered in the internet site, after they able to add new measurements, check the statistics of these measurements. The statistical information came from the regression analysis and validated by the Clarke-Error analysis. The system have to satisfy a lot of expectations, which came from the doctrines of the telemedicine and those pople, who use the application. We think to the reliability, the availability of the measurements, confidentiality of the patients datas and the security of the system. During the development, i have used a lot of new technology, which are based on the mobilephones, telecommunications and the internet.
6
1 Bevezetés Napjainkban, a modern információs társadalomban arra próbálunk törekedni, hogy az informatika által szolgáltatott eszközökkel a mindennapi élethez jól használható és hasznos megoldásokat szolgáltassunk azoknak, akiknek szüksége van erre. Ezek az informatika és más tudományágak által nyújtott eszközök mára, az emberek életének szerves részét képezik. Ezek olyan eszközök, amik ablakot nyitnak korunkban, az információ végtelen forgatagába az egyre gyorsuló világban. Mert mi is az az információ? Az informatika alapfogalma, amit a rendelkezésünkre álló adatokból nyerünk ki. Vagyis olyan tudásra teszünk szert, ami eddig nem volt a birokunkban. Ennek köszönhető, hogy olyan megoldások születhettek meg, amik pár évtizeddel ezelőtt elképzelhetetlenek voltak. Ennek a robbanásszerű fejlődésnek a következménye az információs technológia. Feladata az említett információ kezelése, keresése, feldolgozása értelmezhető formába, megjelenítése az erre alkalmas helyen és időben. Ennek a tudományágnak a megszületése szorosan összefügg az első személyi számítógép megjelenésével, az internettel és a mobiltelefonok nagymértékű elterjedésével. Az első asztali számítógépek az 1970-es években jelentek meg számos nagy cég munkája révén, mint az IBM vagy az Apple. Mára a többmagos processzoroknak, a nagy mennyiségű fedélzeti memóriának és tárhelynek köszönhetően, hatalmas számítási potenciál és feldolgozó képesség áll rendelkezésre az adatok értelmezésére és tárolására. A másik pillére ennek a tudományágnak az internet megjelenése volt az 1980-as években, ami egy globális hálózatot jelent, csomópontok milliárdjaival. Ez elérhetővé tette az információ szabad áramlását az emberek között az egész világon, akik ehhez, a személyi számítógépeiken keresztül jutnak. A harmadik mozgatórugója ennek az ágensnek a telekommunikációs eszközök és azon belül is a mobiltelefonok voltak, amik lehetővé tették azt, hogy a világ bármely pontján, valós időben kommunikálhassanak az emberek egymással és cserélhessenek információt. Egyes tanulmányok szerint a világon kommunikáló eszközök száma 2020-ig meg fogja haladni az 50 milliárdot. Ez is mutatja, hogy mekkora jelentőségűek a távközlő hálózatok és eszközök az emberek mindennapjaiban és a kommunikációban közöttük. Az információ technológiának és rohamos fejlődésének köszönhetően számos más tudományág születet meg, mint például a bioinformatika. Ez az emberiség hajnala óta jelenlévő orvostudományok és a hozzá képest gyerekcipőben járó informatika összefonódása. Ez az ágens a két tudományterület legjobb tulajdonságait ötvözi, ami rohamosan fejlődőik és lehetőségei szinte kimeríthetetlenek. Feladatai közé tartozik a biológiai rendszerek és azok komponenseinek modellezése és rendszerezése, melyek tulajdonságainak működésének megértése létfontosságú. Gondolunk itt emberi szervezetre, mint megannyi megoldás közül egyre a természetben. Ez egy hihetetlenül komplex és összetett szerveződése a különböző strukturáltságú egységeknek. Az emberi 7
szervezet és a számítógépek között ezért analógiát vagyunk képesek vonni, ami hozzájárul egy helyesebb kép felállításához annak működéséről. Az általunk vizsgált biológiai rendszerekről megalkotott modellek segítségével, képesek vagyunk a mélyebb megértésre, aminek hatására sokkal hatékonyabb és magasabb teljesítményű rendszereket vagyunk képesek tervezni és építeni. Ezeket a megoldásokat és metódusokat az orvostudományokban számos területen hasznosítják és használják nap, mint nap. Olyan megoldásokat említhetünk meg, mint a bioimplantátumok és bioprotézisek, amik megjelenésével rengeteg ember életét „adták vissza”. Az életszínvonal és életminőség javítása játszotta a legfontosabb szerepet ezekben az esetekben elsődlegesen. Azok az emberek, akik elveszítették végtagjukat valamilyen betegség vagy baleset következtében, bioprotézis segítségével majdnem teljes életet képesek élni. Hasonlóan, a bioimplantátumok olyan krónikus betegségben szenvedőkön segítettek, mint akiknek Parkinson-kórja vagy más neurodegeneratív betegségük van, elvesztették a hallásukat vagy a látásukat. Az említett alkalmazási területükön kívül még számos más helyen alkalmazzák ezeket az eszközöket. Annak ellenére, hogy a bioinformatikai kutatások és fejlesztések még csak nem rég tették meg első lépéseiket, jelentős eredményeket hoztak a mindennapokba és bíztató jövővel kecsegtetnek azoknak az embereknek, akik egyelőre gyógyíthatatlan betegségben szenvednek. Ez az oka annak, hogy dolgozatom a bioinformatika keretein belül írom, egy olyan témakörben, mint a telemedicína, mert számos olyan lehetőség adódik, amivel segíthetünk azoknak, akiknek szüksége van rá és képességeink legjavát hozhatjuk. A dolgozat témájául a diabéteszben szenvedő embereket és az őket kezelő orvosokat támogató rendszer megalkotását tűztük ki feladatul. A rendszer meggyógyítani nem képes az ezzel a betegséggel élő embereket, de megkönnyítheti az életüket, ami a közérzetük és életszínvonaluk javulását eredményezi.
1.1 A feladat ismertetése A dolgozat témája egy olyan rendszer megtervezése és annak implementálása, amely megkönnyítheti a cukorbetegségben szenvedő emberek mindennapjait. A rendszer megvalósításához kezdetben tanulmányozni kell a telemedicínával és orvosi távjelenléttel foglalkozó szakirodalmat, amikből hasznos következtetéseket vonhatunk le a továbbiakban. A rendszer paramétereinek meghatározásához diabéteszben szenvedő beteggel fel kell venni a kapcsolatot és tájékozódni magáról a betegségről, annak hatásáról az életére nézve és a mindennapi rutinról információt gyűjteni, ami a betegségével kapcsolatos. Továbbá a már meglévő más megoldásokat és a piacon található rendszereket is tanulmányozni kell. A fejlesztésbe a használhatóság, funkcionalitás és ergonómia megőrzése miatt mind az orvost és beteget egyaránt szükséges bevonni. Továbbá a levont következtetéseknek igazodniuk kell a telemedicínában használatos eljárásokhoz, mint például a vércukormérési és monitorozási eljárások, és követni azokat a paradigmákat, amelyeket ott lefektettek. Az implementálandó 8
rendszer mögött olyan matematikai módszereket kell alkalmazni, amelyek tovább segíthetik az orvos munkáját abban, hogy olyan terápiát legyen képes felállítani a későbbiekben, ami a páciens betegségéhez a legjobban illeszkedik. Ehhez szükséges egy olyan statisztikai modellt felállítani, ami a mért adatok feldolgozásán és analízisén alapszik. A rendszernek képesnek kell lennie, az adatok perzisztens tárolására, feldolgozására és megjelenítésére. Ezt webes felületes és mobiltelefonon is szolgáltatnia kell a későbbiekben az orvos és a beteg számára. A grafikus felületnek a mobiltelefonon és az interneten elérhető oldalon is, mind a két csoport szempontjából könnyen kezelhetőnek és jól átláthatónak kell lennie a mindennapos használat miatt. Az elkészült rendszert betegekkel és orvosokkal egyaránt tesztelni szükséges, hogy megfelelő konzekvenciákat tudjunk levonni. Az felmerülő hibákat ebben a fázisban javíthassuk, majd a javított verzióval a tesztet újra futtathassuk. A tesztek, az orvos és a beteg véleményeire alapozva megállapítani a továbbfejlesztési irányokat, amik közül a legfontosabb egy értesítési rendszer az orvos és beteg között, ami statisztikai predikcióhoz kapcsolódó eljárásokon alapszik. Ezeknek a funkcióknak az implementálásához, a már meglévő rendszer képzi a későbbiekben az alapját.
1.2 Az orvos munkáját támogató eljárások, mérések A számítógépes rendszerek alkalmazásának köszönhetőn az elmúlt évtizedben a biológiai kutatások és az orvoslás tudománya jelentős fejlődésen esett keresztül. Az orvosok és más olyan személyek és szervezetek, akik az egészségügyi ellátásban résztvevők számára, olyan rendszereket kell konstruálni, ami mindennapjaikat és munkájukat megkönnyíti. Egy ilyen rendszer tervezésekor egy olyan mérnökileg jól kezelhető modellt kell kialakítani, aminek az alapját a megfigyelendő jelenség fogja alkotni, jelen esetben a vércukorbetegség. A helyes modell megalkotását tovább nehezíti a betegség számos biológiai és fiziológiai hatásait tekintve, azon paramétereinek meghatározása. Ezek a bonyolult modellek alapján születő megoldások az esetek nagy többségében bonyolult, nagy futási idejű algoritmusokat eredményeznek. Ezért az orvosi területen folyó mérnöki kutatások eredményeinek gyakorlatban történő alkalmazását az esetek nagy többségében szigorú követelményeket támasztó további kutatómunka előzi meg, ahol megbizonyosodhatunk az alkalmazott modell hatékonyságáról, valamint az orvos szempontjából annak használhatóságáról. A mérnöki megoldásoknak és az orvosi közreműködés segítségével rengeteg olyan technológiai innováció vált elérhetővé a betegek számára, ami jelentős mértékben segítheti mind az orvost munkájában, mind a beteget a gyógyulás folyamatában. A diabéteszben szenvedő betegek számos olyan mérést képesek elvégezni otthoni körülmények között, amivel megkönnyíthetik szakorvosuk és háziorvosuk munkáját. A beteg képes rendszeresen mérni a vércukorszintjét az arra alkalmas készülékkel, amit a dolgozatban később ismertetek. Ezt naponta többször végezheti el és feljegyezheti az orvos által adott vércukornaplóba. A vércukorbetegség egyik 9
velejárója a magas vérnyomás, ezért a páciensnek napi szinten végeznie kell annak mérését. Leggyakrabban a pulzust szokták mérni, amit diasztolés értéknek is nevezünk. Ez a szívverések közötti időben mért nyomási érték. Az átlagos érték egy felnőtt embernél 65 és 85 közötti tartományba esik. Ha ez 65-nél kisebb, akkor Bradycardiáról beszélünk, ha 70-nél nagyobb, akkor Tachycardiáról. A szisztolés vérnyomás, ami a szív összehúzódása által kifejtett nyomás a főartériákban. Ennek normális értéke 130-nál kisebb mennyiség. Az optimálist 120 egység alatti tartományra dotálhatjuk. Az esetlegesen fellépő szabálytalan szívverés, vagy tartósan magas szisztolés vérnyomás (140 <) vagy diasztolés vérnyomás (85 <) esetén azonnal orvoshoz kell fordulnia a betegnek, mert fennállhat a tartós egészségkárosodás vagy akár a halál veszélye is. A vérnyomás mérési metódusa igen egyszerű és otthon végezhető, akár kézzel vagy egy arra alkalmas készülékkel. Az otthoni mérleg segítségével, ami lehet analóg vagy digitális, megmérheti a testsúlyát a páciens. Napjainkra olyan fejlett személyi mérlegeket fejlesztettek ki, amik képesek megállapítani, hogy a testünk hány százaléka zsír és ezeknek az eloszlása hogyan alakul az izomzatban, szerveinkben. A beteg testmagasságának megmérése után, így kiszámíthatja a testtömegindexét (BMI – Body Mass Index). Ez az érték, a testtömeg és a magasság négyzetének a hányadosa, aminek egy adott intervallumba kell esnie. Általánosságban a normális testsúllyal rendelkező embereknél ez az érték 18.5 és 25 egység között van. Ennél magasabb értéknél, elhízásról, alacsonyabbnál pedig soványságról beszélhetünk. Az elfogyasztott ételből képes kiszámítani és feljegyezni a szénhidrátok típusát, nevét, azok glikémiás indexét és azt, hogy mikor fogyasztotta el. A feljegyzett értékekből napi szintre meghatározhatja a napi energia bevitelét is az így gyűjtött adatok által. Az orvos munkáját támogató további mérések közé tartozik a háromhavonta javasolt laborvizsgálat, ahol számos paraméter kerül meghatározásra, mint a koleszterin szint, a hemoglobin A1C szint, a vérhúgysav szint. A laborvizsgálat mellett rendszeresen kell járni más egyéb vizsgálatokra is, mint a szemészet, ahol azt vizsgálják, hogy nem romlott a látás a megemelkedett vércukorszint hatására, vagy a reumatológiai vizsgálat, ahol meghatározzák az ízületek állapotát. Esetenként javallott, a neurológiai vizsgálat, ahol az idegrendszerre gyakorolt hatását vizsgálják a diabétesznek a neurológus szakorvosok. Ezekre a mérésekre azért van szükség, mert az orvosnak nincs lehetősége az általános vizsgálatok elvégzésére napi szinten. A beteg képes nagy mennyiségű releváns információt szolgáltatni a terápia sikerességéről és ennek fényében, a betegségének alakulásáról az orvos számára. Ennek köszönhetően egy jóval megbízhatóbb vércukorszint kontrollt képesek közös munkával fenntartani, ami csökkenti a szövődmények kialakulásának veszélyét. Ezáltal a beteg állapotát jelentősen javíthatjuk fiziológiai és szellemi szempontból is. Olyan terápia alakítható ki számára, ami tökéletesen passzol az általa folytatott életvitelhez úgy, hogy a komfortérzete ne csökkenjen. Ez természetesen a beteg és az orvos oldaláról is kompromisszumok meghozását követeli meg. 10
1.3 A diabéteszről általában A cukorbetegség (diabetes mellitus), olyan betegség, ami napjainkban egyre égetőbb problémát jelent a társadalomnak. A modern élet által támasztott kihívások, a stressz, az egészségtelen étkezés, a kevés testmozgás, a genetikai adottságok, mind hozzájárulnak a betegség kialakulásához, ami megfigyelhető a társadalom minden rétegében, egészen fiatalkortól az idős korig. A diabéteszt I. Károly udvari orvosa figyelte meg először, aki a betegek vizeletét megkóstolva állapította meg a kóros elváltozást. Innen ered a mellitus elnevezés, ami mézédes folyást jelent. A modern korban a kezelés megtalálását Sir Frederick Grant Banting-hoz és Dr. Charles Best-hez kötik, akik kutya hasnyálmirigy sejtjeinek irtásával cukorbetegséget idéztek elő, majd hasnyálmirigy kivonattal – inzulinnal szüntették meg azt. Később ezért a felfedezésért megosztott orvosi és élettani Nobel díjat kaptak 1923-ban.
1.3.1 Lakossági adatok Az ijesztő jóslások szerint a századvégen megindult diabetes-világjárvány során a cukorbeteg száma 2025-re 300 millióra fog növekedni. [9] Bár várhatóan növekedni fog az 1-es típusú cukorbetegségben szenvedők száma is, de a robbanásszerű emelkedést a 2-es típusú cukorbetegek számának gyarapodása jelenti. A fenti adatok tartalmát még drámaiabbá teszi, hogy azok csak a klinikailag diagnosztizált cukorbetegségről szólnak. Egyes felmérések szerint
a
cukorbetegségek
mindössze
felét
ismerik
fel.
[10,11]
Magyarországon
megközelítőleg 600000 beteget tartanak számon, ami évente 5-10%-al növekszik. Ez azt jelenti, hogy hazánkban minden tizenkettedik ember szenved a cukorbetegségtől. Egyelőre a diabetes nem gyógyítható, de helyes életmóddal és az orvos által meghatározott terápia betartásával a tünetek enyhíthetőek és a vércukor az egészséges normához közel tartható.
1.3.2 Definíció A cukorbetegség az emberi szervezet olyan rendellenessége, mely hátterében a glükóz elégtelen feldolgozása áll. A betegség oka a hasnyálmirigy inzulin termelésének károsodása, az így kialakult inzulinhiány vagy az inzulinrezisztencia. Az inzulin egy peptidhormon, melyet a hasnyálmirigy béta-sejtjei választanak ki. Az inzulin a vér glukóz szintjét szabályozza azáltal, hogy a sejtek glükóz felvételét növeli, emellett hatással van a zsír és a fehérje anyagcserére is. Az inzulin rezisztencia esetében az inzulin adott koncentrációja a várhatónál kisebb biológiai választ hoz létre, így a vérben lévő glükóz metabolizmusa károsul, létrehozva ezzel a patofiziológiás állapotot.
11
1.3.3 Élettani háttér Az inzulin egy olyan hormon, amit az emberi szervezetben a hasnyálmirigy (pancreas) Langerhans-szigeteiben termeli, béta-sejtjeinek segítségével. Ezek a sejtek az inzulint a keringési rendszerbe bocsátják, ahol a sejtekhez az úgynevezett inzulin receptoron keresztül képes kötődni (máj-, izom-, és zsírsejtek). Ennek hatására a sejtek az úgynevezett glükóz receptoraik segítségével felveszik a glükózt. A glükóz azért jelentős a sejtek számára, mert ebből képesek energiát előállítani, ami a normális funkciójú működésük megtartásához szükséges. Ahhoz, hogy ez a folyamat szakadatlanul folyhasson, a máj sejtjei raktározzák el és szabadítják azt fel reszintézis által, melynek végterméke a glükóz. Az előbbi az úgynevezett glikolízis, míg az utóbbi a glükoneogenezis. Amennyiben az inzulin hiányzik (abszolút inzulinhiány) vagy nem tud rendesen hatni (relatív inzulinhiány), hiányzik az inzulin glükoneogenezis gátló hatása, és a szabályozás felborul. A máj egy egészséges embernél naponta 250 gramm glükózt képes termelni, míg inzulin hiányában naponta akár ez az érték 500 gramm is lehet. Ez megmagyarázza azt, hogy miért lehet a cukorbetegeknek a szénhidrátok felvételétől függetlenül magas vércukorszintje. A cukorbetegség esetén a sejtek ,az agysejtek kivételével, nem tudják a glükózt a vérből felvenni, mivel az inzulin hiányának hatására az glükóz receptorok nem helyeződnek ki a sejtmembránra. Így a glükóz a vérben marad, emellett a folyamat mellett a glükoneogenezis fokozódik a májban. Ezen folyamatok együttesen a vércukorszint emelkedéséhez vezetnek.
1.3.4 A vércukor különböző típusai Mint minden betegségnél, így a diabétesznek is különböző fajtái alakultak ki, amelyek másmás élettani elváltozásokkal, valamint kezeléssel jár. A betegek mintegy 10 %-a küzd 1-es típusú diabétesszel, 85%-a2-es típusú diabéteszbe van. A fennmaradó 5%-ot a terhességi diabéteszben szenvedők teszik ki.
1.3.5 1-es típusú (Inzulinfüggő diabétesz) Az egyes típusú válfaja a cukorbetegségnek, az abszolút inzulinhiánnyal köthető össze. A folyamat hátterében, olyan autoimmunreakció áll, mely során a hasnyálmirigy sejtjeinek egy részét a szervezet idegen sejteknek ítéli. Ez a hasnyálmirigy béta-sejtjeinek károsodásához, majd későbbi pusztulásához vezet. A betegség kezdetén csökken a glükóz tolerancia, minden cukorbevitel után magas marad a vércukorszint. Ezt nevezik hiperglikémiás állapotnak. Később az inzulin érzékeny szövetek, mint az izmok és a máj szövetei már nem tudnak glükózt felvenni, ami glükagon túltermeléshez vezet. A páciens e kóros állapot miatt folyamatos inzulinterápiára szorul. A betegségek fiatal kori cukorbetegségnek is nevezik, mert leggyakrabban fiatalabb korú pácienseknél jelentkezik.
12
1.3.6 2-es típusú (nem inzulinfüggő diabétesz) A 2-es típusú diabétesz a betegség azon típusa, amikor a szervezetben csökken az inzulin hatása. Az elfogyasztott magas glikémiás indexű szénhidrátok hatására inzulinrezisztencia alakul ki és ehhez még a hasnyálmirigyben lévő inzulinszekréciós béta-sejtek zavara társul. A glikémiás index egy olyan mennyiség, amely 1000 kilo joule-nyi elfogyasztott élelmiszert hasonlítunk a szőlőcukor vércukoremelő képességéhez.
1.3.7 Terhességi diabétesz A betegség e típusa, a terhesség utolsó trimeszterében alakul ki, melyre jellemző a tartósan magas vércukorszint. A terhességi diabétesz elsődleges kiváltója a hormonháztartás és az étrend megváltozása. A terhes nők 3-10%-át érinti, és a terhesség után általában megszűnik ez a kóros állapot.
1.3.8 Élettani kockázatok A cukorbetegség nem megfelelő, vagy kései diagnosztikája súlyos következményekkel járhat az emberi szervezetre nézve. Olyan komoly megbetegedésekkel járhat, mint a szív és érrendszer nem megfelelő működése, ami növeli a szívinfarktus és stroke kockázatát, illetve tartós vérnyomást okoz. Valamint a retinában lévő kis erek károsodnak (diabéteszes retinopátia), ami kezdetben a látás romlásával, később a látás elvesztéséhez vezet. A betegség hatására neurológiai károsodás lép fel, ami csökkenti a végtagok vérellátását. Számos más szövődménye ismert, mint a bőr és száj megbetegedése, a vese károsodása, az agy oxigén ellátásának csökkenése, hiperventilláció.
1.4 Levonható következtetések A technika fejlődésének köszönhetően lehetősége van a betegeknek, hogy bizonyos méréseket otthon végezhessenek el, mint a mindennapos vércukormérés, a testsúly mérése. Ezek a mérések ma már megfelelően pontosak ahhoz, hogy objektív adatokat szolgáltassanak a páciens állapotáról, betegségének alakulásáról. A testsúly megállapítása talán a legegyszerűbb, a digitális mérlegek pontos eredményeket képesek szolgáltatni. A testsúly változásainak rögzítése fontos ezekben az esetekben. A másik eljárás, ami a betegség velejárója, az a mindennapos vércukormérés. Erre különböző monitorozási eljárások állnak rendelkezésre, amivel pontos értékek adhatók meg. Ezeket az adatokat rendszeresen rögzíteni kell az orvostól kapott vércukor naplóban, ami a hónapokban lévő napok étkezésekre lebontott mérési értékek regisztrálására kell. Ezek a metódusok viszont nem elégségesek önmagukban a beteg állapotának és a terápia hosszú távú sikerességének meghatározásához, ezért rendszeresen szükséges a páciensnek laborvizsgálaton megjelenni. A laborvizsgálat számos fontos
13
paraméter értékét határozza meg, melyek közül a legfontosabb a hemoglobin A1c. Ennek mérése megbízható módon jelzi az elmúlt 2-3 hónap vércukorszint-értékeinek átlagát. Az A1C-mérés azt mutatja meg, hogy a vörösvértestek festékanyagát adó hemoglobin A mekkora része kötődött a vérben cukorhoz. Ahhoz, hogy a vérben lévő glukóz a hemoglobinhoz kötődjön, 2-3 hónapra van szükség, tehát az A1c – a vörösvértestek átlagos élettartamát figyelembe véve – a vizsgálatot megelőző 2-3 hónap vércukor-átlagértékeit jelzi.[12] Minél magasabb a diabéteszes beteg vércukorértéke, vagyis minél több cukor van a vérében, annál több kötődik belőle a hemoglobinhoz. Ennek az értéknek az évente többszöri meghatározása tehát nagyon fontos a cukorbetegek megfelelő gondozásához. Ebből képesek a diabetológus szakorvosok megbízható következtetéseket levonni, és ha szükséges, módosítani a beteg inzulin terápiáján.
1.4.1 Napjainkban a telemedicína és hatása az emberek életére Informálisan a telemedicína az orvoslásnak egy olyan speciális gyakorlata, amivel lehetőség nyílik az általános orvos-beteg találkozások csökkentésére, amit egy interaktív audió és vizuális kommunikációs rendszer segítségével. [1] Az új és mára rendszeresített paradigma szerint a telemedicína az egészségügyi ellátás azon formája, ahol a felhasznált elektronikus távközlő rendszerek segítségével képesek vagyunk nagy távolságokat áthidalni a résztvevők között és számukra megfelelő egészségügyi ellátást biztosítani. A telemedicínának és a hozzá kapcsolódó egészségügyi technológiáknak az a célja, hogy képesek legyünk az egészségügyi ellátást és szolgáltatásokat a rendelőn kívül is szolgáltatni a megfelelő időben és ezt a lehető legoptimálisabb pénzügyi keret mellett. A telemedicína segítségével képesek vagyunk olyan helyeken is egészségügyi ellátást biztosítani magas színvonalon, ahol azelőtt nem voltak képesek ezt tenni. A telemedicínának számos kapcsolódó területe van, ami kiterjed a klinikai, oktatási és adminisztratív feladatokra is. Amit külön ki kell hangsúlyozni, a folyamatos betegadatok rögzítése és figyelése, a betegséghez kapcsolódó oktatások gyakorisága. Az oktatás azért fontos, hogy a beteg mindig naprakész legyen az aktuális eredményekről és a betegségéhez kapcsolódó olyan eljárásokról, amik életszínvonalát növelhetik, vagy a szövődmények elkerülését csökkenthetik. Az orvos és az ellátok oldaláról az oktatás szintén fontos, hiszen az információszolgáltatás a betegek felé létszükségletű. A telemedicína fejlődése szoros összefüggésben áll a kommunikációs rendszerek fejlődésével és a szoftvertechnológiával. Ennek a területnek a fejlődését több szakaszra vagyunk képesek felosztani, amit más-más technológiai eljárások és paradigmák jellemeztek. A legkorábbi szakasza a telemedicínának a pretelevizíós éra, ami az 1900-as évek elejére dotálhatjuk.[1] Az első ilyen esemény, ami áttörést jelentett ennek az ágazatnak a fejlődésében, hogy orvosi információval voltak képesek ellátni rádiós távközlés segítségével egy az Antarktiszon levő expedíciót. Az 1920-as években felmerült egy olyan elképzelés, hogy távoli doktori segítséget 14
legyen nyújtani a szakértők egy olyan eszköz segítségével, amit a beteg is lát és a beteg is látszik (RadioDoctor).[2] Az első igazi interaktív videó kommunikáció az 1950-es években történt meg, amikor a nebraskai pszichológiai kutatóintézet és Norfolk kórház egy olyan terápiás eljárást próbált ki, ahol egy kétirányú, interaktív televíziós rendszert használtak fel telepszichiátriás konzultációra. A második szakaszban a telemedicína feladatának csakis a betegellátást vélték, mint csakis egyetlen kizárólagos funkciót. Ez volt a telekommunikációs éra az 1970-es években.[1] Ez alatt az idő alatt a NASA is komoly szerepet játszott a telemedicína korai fejlesztési stádiumában, ugyanis nem voltak róla meggyőződve, hogy milyen hatással van az emberi szervezetre a zéró gravitáció és ezért rögzítették az asztronauták életjeleit a későbbi elemzésre, amivel megalapozták az adatok tárolásának létfontosságú szerepét. A későbbiekben ez a szemléletmód változott, mikor megállapították, hogy ugyanolyan fontos az adatok tényszerű rögzítése és dokumentálása, hogy objektívebb képet legyünk képesek alkotni a betegségről és annak élettani hatásairól. Ezt az időszakot, amit dedikált érának nevezünk, az 1980-as évek végére dotálhatjuk, aminek hátránya, hogy a kezdeti szolgáltatásoknak, mint a telefonos és kábeles médiumokon való kommunikáció csak magas áron volt képes a megfelelő mennyiségű és minőségű jelátvitelre.[1] Ebben az időszakban kezdődött el a SatelLife/healthnet program, ami egészségügyi információt és szolgáltatásokat garantált a fejlődő országoknak, mint Afrikában sok országnak, a Fülöp szigeteknek. A rendszer garantálta, hogy a kommunikációt e-mailben legyenek a résztvevők képesek lebonyolítani és a digitális tartalom megtekintéséhez biztosította az akkor elterjedt Compact Disc olvasót. Ezt geostacionárius pályán mozgó műholdrendszer segítségével biztosították. Ezt követően napjainkig az internetes éráról beszélünk [1], ahol a kiépített hálózatok és azok lehetőségeit kihasználva, mint az internet (ADSL) és az UMTS/CDMA telefónia, ami támogatja a nagysebességű mobilinternetet, mint a 3G/4G/LTE. Ebben a korban tehát elérhetővé vált, hogy alacsony ár mellett, magas sebességen képesek legyünk a betegekről információkat szolgáltatni az orvosoknak, akik valós időben reagálhatnak a betegeknek. A telemedicína továbbfejlesztett és újragondolt vonala az E-Health illetve a telehealth. A modern telemedicína legfontosabb feladatai napjainkban a konzultáció, a betegek monitorozása, a konzultációs diagnosztika, az oktatás és a katasztrófa sújtotta területeken való egészségügyi ellátás.
1.4.2 Telehealth A telehealth a telemedicína kibővített változata, ahol a rendszer nem csak és kizárólagosan a gyógyításra van kiélezve hanem, a megelőzése a betegségnek és a betegek figyelmének a felhívása, interaktív telekommunikációs csatorna felhasználásával. Továbbá az adatok adminisztrálása és az oktatás még kiemelten fontos szerepet játszik a telehealth programokban. A betegnek lehetősége nyílik, hogy nagy távolságokról is bekapcsolódjon a betegségével 15
kapcsolatos konferenciákra, amit a témában kompetens orvosok vagy konzulensek tartanak. Véleményt tud cserélni más betegekkel és megoszthatja a tapasztalatait. Tehát levonhatjuk azt a következtetést, míg a telehealth az olyan telekommunikációs rendszerek integrációja az orvoslásban, ahol az egészséges életről, a betegségek megelőzéséről szóló oktatást gyakorolják. A telemedicína ellentétben a telehealthel, kifejezetten ezeknek a rendszereknek azon együttműködése, ami a betegség gyógyításával és annak aspektusaival foglalkozik. Két féle Telehealth monitorozási módot vagyunk képesek elkülöníteni: Az egyik a „tárold és továbbítsd” elven működik, a valósidejű monitorozáson és a távoli beteg monitorozás. A konzultáció valósidejű telehealth video beszélgetésen alapul a páciens és az őt kezelő orvos között. Ez jóval olcsóbb, de mégis ugyanolyan biztonságos, mint a hagyományos fizikai vizsgálat.[2] Az egyik legnagyobb telehealth szolgáltató a világon a Teladoc cég. Szolgáltatásai közé tartozik a nap 24 órájában való elérhetőség a 7 minden egyes napján. Olyan szakértők és orvosok állnak a betegek rendelkezésére, akik magas kompetenciával rendelkeznek. Az általuk szolgáltatott ellátás a világ bármely pontjáról elérhető, megfizethető áron.
1.4.3 E-Health Az e-health arra utal, hogy az egészségügyi ellátás teljes egészében az interneten legyen bonyolítva a résztvevők között, ahol gondolunk a szolgáltatók, páciensek, orvosok és egyéb más pontjaira a rendszernek. Az e-health paradigmát a telemedicínában 1999-ben alakították ki. Ennek oka, hogy ez idő tájt kezdett a szélessávú internet könnyen és olcsón elérhetővé válni. Így magát az e-health programot úgy definiálhatjuk, ami teljesen internet alapú szolgáltatása az egészségügyi ellátásnak.[2] Az e-health egy olyan elektronikus alapokon nyugvó elgondolás, ami egyesíti az alábbi egészségügyi ellátási irányokat, az információ megosztásától az oktatáson keresztül egészen a promócióig. Az e-health az alábbi szolgáltatásokat foglalja magába, mint a kínálat, kapcsolat, kereskedelem, közösség, klinikai törődés és a számítógépes alkalmazások. Az e-health megjelenésével bebizonyította, hogy az addig a telemedicína és telehealth által meghatározott területeken is nagy eredményeket lehet elérni. Sikeresen csökkenthető általa az ellátás költsége, valamint a betegek és a szakértők egyaránt olyan dolgokat vihetnek végbe az internet segítségével, amiket addig lehetetlennek tartottak. A telemedicínával és a telehealthel ellentétben, az e-health nem szakértő központú. Megpróbálja az emberek mindennapjainak a részévé tenni az ellátást a kínált technológiai eszközök felhasználásával, amit azok képesek nyújtani. Továbbá a másik nagy előnye az ehealth-nek, hogy képes tőkét termelni a cégek és a szakértők közötti promóciós szolgáltatásoknak köszönhetően, amit társai az addigi doktrína alapján nem tettek meg.
16
2 Telemedicína használata napjainkban Napjainkra a telekommunikációs rendszerek fejlődésének és a nemzetközi összefogásnak köszönhetően a telemedicína jelentősége is megnőtt. Az integrált rendszerek, amik képesek szinkron (ugyanazon időben, vagy folyamatos időben) vagy aszinkron módon (e-mail) eljuttatni az egészségügyi ellátást a beteghez, és a betegről információkat az orvosnak. Egy ilyen rendszer középpontjában egy elosztó vagy más néven a hub kórház áll, ami valamilyen kommunikációs csatornával rendelkezik. Ezekben az intézményekben a nap 24 órájában képesek az adatok megfelelő analizálására és feldolgozására a betegek szempontjából kompetens személyek és a mért adatoknak megfelelően reagálni arra. Ezzel összeköttetésben áll egy úgynevezett szatellit központ, ahol nővérek, tanácsadók és konzulensek találhatók. Ha beavatkozás szükséges, akkor a beteg képes kapcsolatba lépni a specialistákkal az erre kijelölt szatellit állomásokon és videokonferencia vagy más kommunikációs csatornán keresztül a megfelelő ellátásban részesítik a helyi ápolók és konzultánsok. Napjainkra a telemedicínának így számos hatása van rengeteg egészségügyi területre. A klinikai alkalmazásában segít a diagnosztikában, a kezelésben és a monitorozásában a betegségnek. Ezeket valós idejű vagy „store and forward” technikával, így videokonferenciával, telefonnal, faxszal, e-maillel vagy akár chat szobával. Emellett adminisztratív feladatokban, mint az egészségügyi biztosítási számlák eljuttatásában, kapcsolatot tart a gyógyszer elosztókkal, hogy elektronikus úton rendelhessenek a betegnek a számára szükséges gyógyszert. Ez még azért is előnyös, mert a rendelést megelőzően megvizsgálják azt, hogy az előzőleg felírt gyógyszer és az aktuális, konzisztensek
egymással,
nincs
kihatása
a
betegnek
felírt
terápiára,
és
milyen
mellékhatásokkal járna az új gyógyszerrel való kezelés. Többek között még adminisztrációs feladatai közé tartozik a közegészségügyi ellátás nyilvántartás, kutatások eredményeinek adminisztrálása is. Továbbá az oktatásban is magasan kiemelkedik, hiszen folyamatos képzéseket tart a szakértőknek az új kutatásokról és orvosi alkalmazásokról, hozzáférést biztosít ezekhez az erőforrásokhoz a betegeknek, akik így további hasznos információkat kaphatnak betegségükről és a hozzá kapcsolódó egyéb témákról. Megtanítja a pácienseket a betegségükhöz használt monitorozási eszközök használatára és üzemeltetésére.
2.1 Orvos beteg találkozások számának optimalizálása A statisztikai átlagokat tekintve az európai egészségügyi rendszer országokra vett kereteit figyelembe véve, igen magas részét költik a diabetesben szenvedők kezelésére. Ez európai átlagot tekintve 2,5% – 6% teszi ki. Amerikára nézve megközelíti a 10%-ot.[3] Ezeknek a költségeknek a csökkentésére többféle lehetőség kínálkozik. A találkozások csökkentésekor figyelembe kell venni mind a beteg, mind az orvos és az egészségügyi rendszer által kínált 17
lehetőségeket. A beteg oldaláról tekintve, ilyen megoldás a megelőzés. A megelőzés több összetevőből áll, mint az tanulás és a beteg odafigyelése saját egészségére. Több internetes oldalon talál információt a betegségről és az általa okozott szövődményekről. Ezeken az oldalakon számos szakértő tanácsa és életmódbeli javaslat érthető el. Magyarországon ilyen oldal például a Magyar Diabétesz Társaság Honlapja. A helyes életmód és egészséges étkezés a másik beteg által tehető intézkedések. A helyes étrend kialakítása ahol a rendszeresség és a diéta fontos szerephez jut. Az elfogyasztott ételek és azok minősége fontos az alkalmazott terápia sikerességében, ahol a betegnek be kell tartania az orvos által előírt diétát. Ez olyan étrendet határoz meg, ahol ügyelnek az ételek alacsony glikémiás indexére, a rosttartalmára és kalóriatartalmára. Emellett a beteg aktív kikapcsolódással vagy valamilyen sport űzésével jelentősen csökkentheti a diabétesz egyik legkomolyabb szövődményét a szív és érrendszeri betegségek kialakulását és csökkentheti a stressz faktort is, ami a mindennapokban hat rá. Számos tanulmány kimutatta azt, hogy a helyes életmód árban és hatékonyságban is jobb bizonyos esetekben, mint az egészségtelen életmód mellett megválasztott gyógyszeres kezelés. Ezekben az esetekben az erre fordított összeg különbsége meghaladta a 10%-ot. [15] Ezekkel az intézkedésekkel a beteg implicit módon járul hozzá a stabilabb vércukorszint alakulásához. Az orvos és egészségügyi intézmény oldaláról a fizikai találkozások csökkentésére több megoldás adódik. Az egyik ilyen megoldás a telemedicína támogatása több szinten a betegek egészségügyi ellátásakor. Ez azért lényeges, mert a telemedicína felhasználása nélkül, az általános betegellátásban a betegnek szükséges először elmennie egy körzeti orvoshoz, aki meghatározza a betegségének általános paramétereit. Ezt követően pedig egy beutaló segítségével egy szakorvoshoz kell mennie, aki meghatározza az összes paraméterét a betegségnek és visszairányítja a körzeti orvoshoz egy kezelési tanáccsal a beteget. Végül a körzeti orvos megállapítja a kezelést és rendszeres konzultációt kér a betegtől. Ez a modell nem költség és idő hatékony, mivel a betegnek több helyre kell mennie és várnia, valamint a kezeléshez egyszerre több orvost is be kell vonni, akik eltérő kezelési tanácsokat adhatnak. Ezt az ellátási modellt egyszerűsíti a telemedicína. Az egyik fő ellátási elem a válasz a betegek tanulására, ez pedig az oktatás. A telehealth intézmények felépítéséből adódik, hogy a szatellit kórházakban vagy online körülmények között a konzulensek és gyakornokok kurzusokat tartanak a betegeknek. Ezeknek a kurzusoknak a célja, hogy a beteget az öngondoskodás egy módjára tanítják, hogy realizálja a betegségével járó kockázatokat és figyeljen oda az egészségére és hasonlóan az autodidakta képzéshez informálják a betegeket a diabéteszről és annak kockázatairól. A másik ilyen paraméter az orvos és beteg közötti találkozások. Ezeket a telemedicínában és annak új típusaiban többféleképpen tehetik meg a résztvevők. Ennek egyik legelterjedtebb formája a televisit. A televisit az az eljárás, amikor a beteg és az orvos valamilyen csatornán keresztül, nagy távolságot áthidalva kommunikál egymással és tart online konzultációt. A televisit kapcsolat létrejöhet a beteg otthona és a szatellit kórház között 18
(ebben az esetben a betegnek rendelkeznie kell internet kapcsolattal) vagy a hub kórház és a szatellit kórház között. A televisit konzultációknak számos rövid, középtávú és hosszú távú hatása van a beteg kezelésében. [8] A konzultáció után alakulnak ki a rövid-távú hatások, a kicserélt információknak köszönhetően, ahol a beteg elégedettsége és az alkalmazott terápia kezdeti sikereinek paramétereit határozzák meg. Továbbá megállapítják a konzultációk idejét és gyakoriságát. Ezt követően hetekkel vagy hónapokkal később, ha már a rendszeres televisit nem indokolt beszélhetünk középtávú hatásokról, mint a kezelés sikerességének felmérése és a beteg állapotának értékelése ennek függvényében, mint a mentális állapot, a vércukorszint mérséklődése, esetlegesen kialakuló szövődmények. A hosszú távú hatásokat egy jóval kiterjedtebb intervallumon tekinthetjük meg, ahol már nincs televisit, de állapotfelmérés és egyéb paraméterek cseréje folyik az orvos és a beteg között. Ezek olyan eszközökkel történhetnek, mint a rendszeres e-mailezés vagy telefonos párbeszéd az orvos és a beteg között. Az ismertetett metódusoknak köszönhetően egy költséghatékony és jól fenntartható egészségügyi ellátást tudunk biztosítani a betegek számára a lehető legeffektívebb módon. Ennek köszönhetően csökken az orvosok terheltsége és nő a betegek ellátásának színvonala.
2.1.1 A vércukor monitorozási eljárások a telemedicínában A diabéteszben szenvedőknél fontos, hogy mindig tisztában legyenek állapotukkal, hiszen egy ilyen komoly betegségnek a nem megfelelő idejű és hatékonyságú beavatkozás nélkül, komoly élettani kockázatai lehetnek. Ezáltal számos olyan eljárás alakult ki, amivel mind a betegek, mind az orvosok nyomon tudják követni a vércukorszint aktuális állapotát. Főleg azoknál a betegeknél szükséges vércukor folyamatos mérése, akiknek 2-es típusú vércukor betegségük van. A diabétesz e fajtája megköveteli a legalább egyszeri mérést naponta. Többféle monitorozási eljárást vagyunk képesek elkülöníteni, melyeket más és más mérőrendszerek valamint mérési metódusok jellemeznek.
2.1.1.1 Tesztcsíkos vércukormérés Beszélhetünk hagyományos vércukormérésről, amit a betegek leggyakrabban otthoni körülmények között használnak. Az eljárás során leggyakrabban az ujjbegyből vett vérmintát használják fel, amit egy erre a célra kialakított tesztcsíkra visznek fel. A vérminta analízisére szolgáló tesztcsík egy eldobható bioszenzor. A vércukormérő készülékbe először a használni kívánt tesztcsíkra specifikus kalibráló chip-et helyeznek be; az így felvett kalibrációs görbe definiálja a mért áramerősséghez tartozó glükóz koncentrációt. A tesztcsík behelyezésekor a készülék bekapcsol, és belső teszteket futtat le. Az ujjbegyszúró segítségével vérmintát vesznek az ujjbegyből, ezt a tesztcsíkra cseppentik. A kapilláris elv alapján a vér megtölti a cellát, a készülék ezt az impedancia változás alapján érzékeli, majd 5-10 másodperc inkubáció után leolvasható a mért vércukorszint. Az inkubációs idő alatt a tesztcsíkon a glükóz 19
kimutatására specifikus reakció játszódik le. A reakció során elektronok szabadulnak fel, így a mért áramerősség ismeretében a kalibrációs görbe alapján meghatározható a glükóz koncentrációja, azaz a vércukorszint. Az elkövetkezendő 1 percben lehetőség van az eredmény ellenőrzésére is: az ellenőrzőablak színe összehasonlítható a tesztcsík dobozán található skálával. A kimutatás alapjául szolgáló, specifikus enzimreakció során a glükóz oxidálódik glükonsavvá, az oxidáció során keletkezett elektronok közvetett módon az elektródra jutnak, az áramerősség mérhető. Az elektronok a glükózról először ideiglenesen az enzimre, a glükózdehidrogenázra tevődnek át. Az elektronok innen nem képesek direkt módon az elektródhoz jutni, így elektrontranszferhez szükség van egy mediátorra. A tesztcsík számos komponense közül a reakcióban a vas (III)-ionok töltik be ezt a szerepet oly módon, hogy átveszik az enzimre került elektronokat (redukálódnak), így az enzim visszakerül kiindulási állapotába. Az így keletkezett vas (II)-ionok diffúzióval eljutnak az elektródhoz, ahol leadják az elektronokat (visszaoxidálódnak). Az így mérhető áramerősség alapján meghatározható a glükóz koncentrációja. A glükóz-dehidrogenáz nagy specifitással ismeri fel a glükózt, ezért alkalmazzák vércukormérő készülékekben, a labordiagnosztikában széles körűen alkalmazott glükóz-oxidázos, kevésbé érzékeny kimutatási módszer helyett. A módszer nagy specifitása kritikus pont biológiai minták esetén, mert a kimutatni kívánt molekula mellett több ezer más anyag van jelen és mindezek koncentrációja széles tartományban mozoghat. Továbbá a diabétesz gyakran társulhat egyéb egészségügyi problémákkal is, melyek következtében a vér összetételét még nagyobb variabilitás jellemzi. A mediátorként alkalmazott káliumferricianidban a vas (III)-ionok vas (II)-ionokká történő átalakulása biztosítja a gyors elektrontranszfert és mivel az átalakulás potenciálkülönbsége relatív alacsony, ezért alacsonyabb potenciál alkalmazható az elektródon, csökkentve így az egyéb vérkomponensek oxidációjának esélyét. [15] Egy ilyen eszköznek számos hitelesítési eljárásnak kell megfelelnie, ahol az alkalmazott mérési metódus pontosságát vizsgálják. A hiba megközelítőleg 2% alatt kell, hogy maradjon. Továbbá betegek által támasztott igényeket is ki kell szolgálnia. Az eszköznek tartalmaznia kell saját belső memóriát, a számítógépes kommunikációz alkalmas csatolófelületet (Bluetooth, infravörös port), könnyen kezelhetőnek kell lennie a beteg számára, gyorsan kell elvégeznie a vérminta elemzését, ahol a vérmintához nem kell nagy mennyiséget adnunk. A vett minta alapján széles tartományban kell képesnek lennie a vércukorszint meghatározására, ami 3mmol/litertől egészen 33mmol/literig terjedhet. Ezen kívül még sok más ergonómiai szempontnak is eleget kell tennie. Ha megtekintjük egy ilyen eszköznek a belsejét, akkor láthatjuk, hogy egy olyan integrált áramkört tartalmaz, ami magába foglal egy mikroprocesszort, memóriát, kommunikációs felületet, a méréshez szükséges szenzort. (1. ábra)
20
1. ábra Vércukormérő rendszer felépítése [8]
2.1.1.2 Folyamatos vércukormérés Sajnos a tesztcsíkos vércukormérésnek is megvan a maga hátránya, ami a naponta kivitelezhető mérések számában rejlik. A vércukorszint éjszakai alakulásáról nem tudunk megfelelő értékeket megállapítani, így az ekkor bekövetkező változásokat sem tudjuk detektálni. Így ez a fajta mérési típus önmagában nem fedi le az egész napos mintázatát a vércukorszintnek, ami miatt csak egy gyenge becslést vagyunk képesek alkotni annak alakulásáról. Ezt jól kiegészítő alternatíva a vércukormérés másik fajtája, amit számos okból alkalmaznak otthoni körülmények között, a folyamatos vércukormérés (Continous Glucose Monitoring). Ezt a fajta mérést, a nem invazív mérési metódusok közé soroljuk. Az ilyen mérési metódust támogató rendszerek garantálják a jobb vércukorszint szabályozást, a maximális mennyiségű információt a beteg vércukor szintjéről. Ennek köszönhetően, a vércukorszintben beállt éles változások detektálása esetén, mint hyperglikémia vagy hypoglikémia gyorsabb beavatkozásra ad lehetőséget. Valamint jobban megérthetjük ezeknek a változásoknak az okát, mivel a folyamatos mérésnek köszönhetően képet alkothatunk ezeknek a frekvenciájáról, időtartamáról, nagyságáról. Tehát a folyamatos vércukorméréssel lehetősége van a pácienseknek, hogy sokkal pontosabb és részletesebb képet szolgáltasson az orvosa vagy a szakértő számára a folyamatosan mért értékek segítségével, amivel, egy sokkal pontosabb terápiát tervezhetnek meg számára az orvos segítségével. Ezt ráadásul úgy tehetjük, hogy közben a beteg életszínvonalát jelentősen javíthatjuk, csökkentve az invazív mérések 21
miatt érzett diszkomfort érzetet és képesek vagyunk elkerülni a gyengébb szabályozásból fakadó későbbi szövődményeket. A rendszer több komponensből tevődik össze, melynek középpontjában a bioszenzor áll. A leggyakrabban felhasznált fajtája, az elektrokémiai elven működő, aminek alapműködése hasonlít a tesztcsíkos rendszerekben használtakéhoz. Ezt a szenzort a páciens bőre alá ültetik be, általában a szövetek közé. Az ott található vérből vagy folyadékból vesz mintát. Egy ilyen eszköz áll egy glükóz szenzorból, egy inzulin szenzorból, az őket védő teflon burkolatból, egy referencia elektródból és az egészet megtartó elektród testből. (2. ábra)
2. ábra Bioszenzor felépítése [3]
Külön említést érdemel a szenzor bevonatát képző burkolat, amivel támasztott elvárás, hogy szövetbarát legyen. Erre azért van szükség, mert a szövetek és a beültet eszköz között fellépő interakció következtében, romlik a szenzor mérési pontossága. Ilyen szövetbarát anyag például a teflon vagy polietilén származékok. A szenzor a felkarba vagy az alkarba kerül beültetésre az orvos által. Ez a beavatkozás gyors és fájdalommentes a beteg oldaláról. A rendszer további elemeit tekintve tartalmaz még egy erőforrást, aminek minél kisebbnek kell lennie. Ez garantálja a többi alkatrésznek az áramot. Továbbá tartalmaz egy átvivő rendszert (transzducer) és egy tároló berendezést ahol az adatokat tároljuk, ami rendelkezik egy kijelzővel az adatok megjelenítéséhez. A rendszer beültetése után a mintavételezést az orvos által meghatározott értékre kalibrálják, aminek frekvenciája 5 perctől 30 percig terjedhet. Ezt nap 24 órájában végzi a készülék. Ezt követően mérés végeztél, ami általában 72 óra, a betegből a rendszer eltávolításra kerül az orvos által és kiértékelik a mérési eredményeket. 22
Számos előnye ellenére, a folyamatos vércukormérés nem válthatja ki teljesen a hagyományos módot. Tekintettel a rendszer esetleges pontatlanságára és hibatartalmára, véletlenszerűen egyes méréseket össze szoktak hasonlítani a hagyományos, tesztcsíkos mérésekből származó eredményekkel is.[4] Általában a vércukorszint trendvonalának meghatározására használják az orvosok. Ez nagymértékben hozzásegíti az orvost és/vagy szakértőket, hogy a megfelelő kezelést legyenek képesek felállítani a beteg számára vagy korrigálják az aktuálisat a beteg igényeihez és életstílusához szabva.
2.2 Vércukor mérések használata a telemedicínában A tesztcsíkos és folyamatos mérési metódust támogató vércukormérési módszerek jól használhatóak az 1-es és 2-es típusú diabéteszben szenvedő betegeknél egyaránt. Ezt a módszert a telemedicínában, elterjedéséből adódóan sok más rendszer próbálja hasznosítani. Az új készülékeken már említett kommunikációs protokollokon könnyű kapcsolatot létesíteni a számítógéppel vagy okostelefonnal, ahonnan már az internetet felhasználva az adatokat képesek vagyunk eljutatni az orvoshoz vagy a konzulenshez további értékelésre. Azokban az esetekben, amikor korlátozott a hozzáférés bizonyos szolgáltatásokhoz, mint a számítógép vagy az internet, lehetőséget biztosítanak a telemedicínában elterjedt szatellit kórházak az adatok továbbítására. A szatellit kórházakban a konzulensek, ápolók vagy tanácsadók segítségével az adatot feltöltik a hálózatra. Innen a hub kórházban tartózkodó orvosok és szakértők már képesek elérni a mérési eredményeket és analizálni azokat. Az adatok feldolgozása után, az orvos videokonferencián vagy más telekommunikációs csatornán konzultál a pácienssel, hogy milyen irányban folytassák a kezelést. A folyamatos vércukormérést támogató rendszerek annyiban térnek el használatukat tekintve a telemedicína értelmében, hogy a mérési periódus elején és a végén a készülék beültetése és kivétele miatt személyes találkozóra kerül sor. Ennél a metódusnál ugyanazok a feltételek teljesülnek, mint a tesztcsíkos mérésnél.
2.2.1 Telemedicinás kezdeményezések Számos kezdeményezés jelent meg ezeknek az eszközöknek köszönhetően, amik felhasználták a vércukormérő rendszerek és telekommunikáció nyújtotta lehetőségeket. Az egyik ilyen az IdeaTel program, ami azoknak a betegeknek volt elérhető, akik időskorukban diabétesszel rendelkeztek. A program során főleg azokat részesítették előnyben, akiknek a legnagyobb szükségük volt rá, mind egészségügyi szempontból mind likviditás szempontjából. A projekt keretein belül lehetőség nyílik a betegeknek videokonferenciára különböző oktatókkal. Ezen kötetlen konzultáció folyik a betegségről. Másrészt a rendszer biztosítja az adatok feltöltését minden 4-6 hétben egy erre a célra létrehozott tárhelyre. A mérések tartalmazzák a betegek testtömeg indexét, hemoglobin A1C értékét, valamint az oktatók által kiadott kérdőívek 23
kitöltött példányát. Hasonló elképzelést valósított meg a DiabTel program. Itt egy olyan rendszert valósítottak meg, ami két komponensből épül fel. Az egyik része a kórházban található orvosok és nővérek által használ számítógép, ami szerverként funkcionál. Ez az egység folyamatosan fogadja a betegektől érkező adatokat és feldolgozza őket a további értékelésre. A máik egység pedig a betegnél lévő monitorozásra és adatküldésre alkalmas eszköz. Ennek segítségével küldi el a páciens az adatokat az orvos számára. A kommunikáció a két egység között valamilyen telekommunikációs médiumon valósul meg, például palmtoppal, vagy web alapon vagy telefon segítségével. A DiabTel kezdeményezés számos telemedicína doktrínát alkalmaz, mint a távmonitorozás és távegészségügyi ellátás. A betegek távmonitorozása
során
adatok
kerültek
a
rendszerbe
azok
inzulin
terápiájáról,
vércukorszintjükről, diétájukról és hypo/hyperglikémiás aktivitásukról egyaránt. Ennek köszönhetően az orvosok megfelelő és sokkal biztosabb következtetéseket tudtak levonni a beteg állapotáról. A távegészségügyi ellátásban biztosították a páciensek oktatását, az adatokhoz való bizalmas hozzáférést és az ezekhez szükséges management eszközöket. Az esedékes konzultációkat videokonferencián, telefonon vagy web alapon végezték el a páciensekkel. A DiabTel program hatékonyan segítette elő az orvos-beteg együttműködést és a betegek magukba vetett bizalmát az öngondoskodás terén a saját egészségükben valamilyen szakértő felügyelete mellett. [16] Európában a Promotora programot említhetjük meg, aminek a célja a Spanyolországban élő olyan diabéteszben szenvedő betegek ellátása volt a célja, akik alacsony életszínvonallal rendelkeztek (szegénység, egészségügyi biztosítás hiánya). A program orvosok és szakképzett diabétesz oktatók segítségével nyújtott egészségügyi ellátást telekommunikációs médiumok segítségével. Az ellátását a betegeknek egy szatellit kórházban végezték, ahol a betegek életek (San Jose). Ez a kórház csatlakozott egy Amerikában található hub kórházhoz (Kalifornia), ahol az orvosok és szakértők dolgoztak. Az oktatását a betegeknek ugyancsak az amerikai kórház látta el, amit nyelvi fordítás segítségével hidaltak át. A program sikerességével számos non-profit szervezet csatlakozott ehhez a programhoz.[7] Látható tehát, hogy a nagy távolságok ellenére is, a telemedicínát felhasználva, lehetőség nyílik a betegek minőségi és költséghatékony ellátására. Magyarországon egyelőre hasonló program nem volt alkalmazva.
24
2.2.2 A
piacon
megtalálható
megoldások
Magyarországon
és
külföldön Számos gyártó kínál megoldásokat napjainkban a különféle mérési metódusokat támogató vércukormérő rendszerek területén. Hazánkban és más országokat tekintve a legelterjedtebb készülékek a tesztcsíkos mérőrendszerek. Ennek egyik oka az, hogy ezekkel a rendszerekkel könnyű kivitelezni a mérést és az áruk igen kedvező, ellentétben a folyamatos vércukormérő rendszerekével. Átlagosan egy készülék ára 8000 Forint és a hozzá tartozó tesztcsíkból 25 darab 2000 Forint ezzel ellentétben egy folyamatos vércukormérést támogató rendszer ára 250000 Forint és a hozzá tartozó szenzor ára 10000 Forint, amit minden harmadik napon cserélni kell. A legismertebb forgalmazó hazánkban a 77 elektronika, aki a Dcont.hu közreműködésével egy modern, telemedicinás elveket támogató rendszert hozott létre. A 77 elektronika forgalmaz társadalombiztosításra kapható és nem kapható készülékeket egyaránt, így segítve azokat, akik anyagilag nem tehetik meg, hogy drágább készüléket vásárolhassanak. A legelterjedtebb készülékük, amit magam is kipróbálhattam a Dcont Partner. Ez a készülék számos funkcióval rendelkezik, többek között lehetőség van a mért adatok 30 napra visszamenőleg való megtekintésére, ahol képes a páciens összehasonlítani is azokat egymással. Rendelkezik a számítógépes kommunikációhoz kiképzett kommunikációs felülettel. A készülék kódolása a kalibrációhoz, történhet manuálisan vagy kódkártya alapján egyaránt. A sikeres méréshez szükséges vérmennyiség mindössze 2 μl, amit 1,1 - 30,5 mmol/l (20-550 mg/dl) mérési tartományban képes elemezni. Az adatok megjelenítésére egy nagy és jól átlátható LCD (Liquid Crystal Display) kijelzőt építettek be, a készüléket tervező mérnökök. Ezekkel a paraméterekkel a készülék eleget tesz a modern tesztcsíkos rendszerekkel támasztott követeléseknek az orvos és a beteg részéről egyaránt. Ehhez a mérőrendszer társul a Dcont.hu kezdeményezés, ahol a páciens képes megtekinteni a mérésekből származó eredményeket. Az adatokat először fel kell tölteni a számítógépre, majd a regisztrált tag képes feltölteni az adatokat a holnapra, ahol ezeket elemzik és statisztikákat készítenek belőle. Grafikonok segítségével megtekintheti a páciens az étkezés előtti és étkezés utáni vércukorszintek minimumai és maximumait, a mért értékek hogyan viszonyulnak az egészséges trendvonalhoz és, hogy attól mennyivel térnek el. Megtekintheti továbbá, hogy a vércukorszintek növekvő vagy csökkenő tendenciát mutatnak az előző mérésekhez képest. Az oldalon elérhető digitális vércukornaplót a páciens képes kitölteni és kinyomtatni. A külföldi gyártókat tekintve még elterjedt megoldást biztosít a Roche cég, aki gyártója és forgalmazója az Accu-Chek mérőberendezéseknek, amik tesztcsíkos mérési metódust támogatnak. A legelterjedtebb termékük az Accu-Chek Active készülék, ami paramétereit tekintve hasonló kepeségekkel rendelkezik, mint a 77 elektronika Dcont Partner mérőrendszere. Az általuk támogatott új program a 360 view. Ez egy mérési sorozat, ahol egymást követő három napban 25
a megadott időben kell vércukrot mérnie a betegnek. A 3 nap során kapott 21 mérési eredményből
az
orvos
bevonásával
képes
következtetéseket
levonni
a
beteg
vércukorszintjének változásairól és anyagcsere folyamatának alakulásáról. A Magyarországon a folyamatos vércukormérő berendezések nem terjedtek még el széles körben, de számos külföldi gyártó kínál elérhető megoldást ehhez. A legismertebbek közül az egyik a MedTronic cég, akik 25 éve vannak jelen a piacon és olyan érdemek köthetők hozzájuk, mint az első inzulin pumpa vagy az első orvos által használható folyamatos vércukormérő rendszer. Az általuk gyártott rendszerek az iPro család vagy Guardian család. A csomag tartalmaz egy berendezést, amivel könnyen és egyszerűen beültethető a szenzor a megfelelő helyre az ember testén. Ehhez a szenzorhoz mellékelnek egy átvivő egységet, ami a mért adatokat továbbítja rádiójelek segítségével 5 percenként a szenzortól az adatok megjelenítésére és tárolására szolgáló egységhez. A betegeknek lehetőségük van megtekinteni a mért adatokat 24 órára visszamenőleg. A készülék képes figyelmeztetéseket küldeni a betegnek az 5-30 percenként a vércukorszintjükről. A beültet elektród élettartama megközelítőleg 5 nap a MedTronic által gyártott eszközök esetében. A MedTronic számos kiegészítő funkciót kínál a gyártott termékekhez, amihez hozzátartozik egy alap telemedicinás szolgáltatás is – a betegeknek a hét minden napján 24 órában tanácsadók és konzulensek segítenek a feltöltött adatok elemzése révén. Emellett biztosítanak egész napos telefonos ügyfélszolgálatot is. Valamint rendszeres oktatásokkal próbálják a betegeknek a diabéteszről információt biztosítani és felhívni a figyelmüket a betegség kockázataira Hasonló megoldást kínál még az Abott Laboratories által készített FreeSytle Navigator mérőrendszer vagy a Dexcom gyártotta Dexcom SEVEN PLUS. Ezeket a készülékeket az FDA (Food and Drug Administration) bevizsgálta és jóváhagyta, így klinikai alkalmazásuk a vércukormérésre, a kormány által is megengedett és legális.
2.2.3 A tervezett megoldás és annak megvalósítása Az általam tervezett rendszer implementálásához, a problémát több kisebb komponensre bontottam. Kezdetben az igények felmérése volt a feladat, ahol meghatároztuk a problémákat, amiket a későbbiekben implementáltunk. A tervezés első fázisába orvost és beteget egyaránt bevontunk, hogy az igényeiknek megfelelő megoldás jöhessen létre. A rendszer első komponense egy applikáció, amit a beteg a mobiltelefonján tud használni. Az első implementáció Android operációs nyelven kerül kiadásra, ebből is a 2.3 Gingerbread rendszeren. Ez a Google cég szellemi tualjdona, amit számos telefongyártó cég (Samsung, LG, HTC, Sony) telepít az általuk gyártott mobiltelefonokra és táblagépekre. A Google folyamatos fejlesztéseinek és a gyártók által biztosított támogatásnak köszönhetően, napjainkra az egyik legelterjedtebb mobil operációsrenszerévé vált, amit a számok is nagyszerűen bizonyítanak. Az okostelefonokat használó eszközök 26%-a használja a világon. A program megírásának szempontjából számos fejlesztőkörnyezet biztosít remek hátteret. A fejlesztéshez az Eclipse 26
nevezetű környezetet használtam fel, ami az egyik legelterjedtebb a világon. Az Android több programozási nyelvet használ fel, amik közül a legismertebb az XML és a Java nyelvek. Az XML (Extensible Markup Leangugae) egy emberek és gépek által is jól olvasható leíró nyelv, amit számos helyen alkalmaznak az informatikában. Jelen van a kommunikációs protokollokban (SOAP), hogy információt tudjunk küldeni strukturált formában az interneten keresztül vagy más hálózati elemek között. Továbbá a nyelv öndokumentáló, ami a mezőneveket és az azokhoz tartozó értékeket is leírja. Valamint számos adatszerkezetet képes ábrázolni, mint például bináris fát vagy listát. Az Android grafikus felületét leíró fájlban is XML nyelvet használnak a fejlesztők. A másik felhasznált nyelv an Androidos alkalmazás fejlesztésénél a Java. A Java nyelv egy procedurális programozási paradigmát követő, erősen típusos, objektum orientált nyelv. 1995-ben James Gosling és az akkor még létező Sun Microsystems közreműködésével adták ki az első verzióját. Azóta az Oracle cég megvásárolta a Sun-t és jelenleg is szellemi tulajdonuknak számít. Maga a nyelv egy platform független nyelv, tehát nem függ semmilyen operációs rendszertől, rengeteg könyvtárral és könnyű, átlátható nyelvi elemekkel rendelkezik. Ez tette lehetővé, hogy korunk legnépszerűbb programozási nyelvei között szerepelhessen. Megközelítőleg 4 milliárd eszköz használ explicit vagy implicit módon Javat és az őt futtató virtuális környezetet. Az egyik legelterjedtebb alkalmazása a nyelvnek a szerver oldali alkalmazások, amihez remek feltételeket és komponenseket biztosít a Java Enterprise Edition csomag. Az XML nyelv könnyű olvashatóságának köszönhetően gyorsan és könnyen lehet a komponenseket megtervezni és elhelyezni a látható felületen az alkalmazásban. A telefonra megírt applikációnak számos követeléssel szemben kell bizonyítania. A legfontosabb ezek közül a használhatóság. Ezt a lehető legegyszerűbb vizuális és grafikus elemek felhasználásával az egyszerűség jegyében lehet elérni. Az alkalmazás nyitófelülete egy hasonló elképzelés által tervezett oldal, ahol a beteg felveheti az általa mért mérési eredményeket, mint a vércukorszint vagy a mérés ideje. Lehetősége van még megadni a testsúlyát, amit kilogrammban értünk. Ha megfelelően kitöltötte az adatokat, akkor a küldés gomb segítségével képes elküldeni az adatot a szerver számára. Ez egy többlépcsős folyamat révén. Az első lépés az adatok XML nyelvre történő átalakítása. (3. ábra) Ezt egy java API-val, a JAXB vagy másnéven Java Architecture XML Binding segítségével teszünk meg. Ezt a csomagot kifejezetten az XML állományok feldolgozására és kezelésére tervezték meg, ahol le tudjuk képezni az általunk létrehozott osztályokat egy megadott séma alapján XML dokumentumra. Ennek a metódusnak a neve a marshalling. Később vissza tudjuk alakítani az objektumunkat az eredeti típusára ez alapján, a séma alapján az unmarshalling folyamat segítségével. A bevitt adatok XML formátumra alakítása után, a program egy HTTP (Hyper Text Transfer Protocol) csomagba tölti az információt. A http egy olyan protokoll, ami az információ átvitelért felelős és OSI rendszerben az alkalmazási rétegben helyezkedik el. Ez a protokoll egy „kérés-válasz” 27
működés modellen alapul a kliens és a szerver között. Ezt a tulajdonságát használjuk fel, amikor a csomag elkészült a szervernek POST kérés formájában továbbítjuk. A http csomag elküldéséhez az Apache http kommunikációs protokollt támogató HttpComponents csomagját használtam fel. A következő komponens a rendszer implementálásakor az adatokat fogadó és tárolását végző szerver oldali applikáció megtervezése és implementálása. Ehhez a Java nyelv által kínált szervlet objektumot használjuk fel, amik olyan szoftverkomponensek, amik képesek a http kéréseket fogadni és http válaszokat generálni, vagyis valamilyen szolgáltatást képesek nyújtani a klienseknek. A csomag feldolgozása, a már említett JAXB technológiával történik, amely után az adatokat már képesek vagyunk egy adatbázisban eltárolni. Az adatbázis megvalósításához JavaDB –t használunk fel. Ez egy nyílt forráskódú SQL (Structured Query Language) alapú adatbázis implementáció, amit az Oracle támogat. A JavaDB implementáció nagy előnyei közé tartozik, hogy könnyen hordozható, beágyazható és kicsi méretű (megközelítőleg 2.5 MB). Az adatbázisban több adat kerül eltárolásra, különböző táblákban, mint a beteg adatai és a mérési eredmények. Az adatbázis sémáját a rendszertervnél ismertetem. Az adatbázisba való írást és az adatbázisból való értékek kiolvasását egy Java csomaggal oldjuk meg, amit Java Persistance Api-nak hívnak (röviden: JPA). A JPA feladata, hogy az objektumokat relációs adatbázis sémáira képezze le. A megvalósításkor az EclipseLink JPA implementációját használjuk fel. A harmadik komponens képzi a rendszer nagyobbik részét, ez pedig az internetes oldal és az őt kiszolgáló alrendszerek. Ennek a komponensnek a lelkét egy applikációs szerver képzi. Az általam felhasznált implementáció az Oracle által szolgáltatott Glassfish 3.1-es verziója, ami egy standard implementációja a Java Enterprise Edition-nek. Számos feladata mellett az applikációs szerver kezeli az erőforrásokat, mint az adatbázis kapcsolat létesítése és az adatbázis kezelése (Pool and resource management), paralel módon kezeli a hozzá kapcsolódó felhasználókat és támogatja a Java EE által kínált nyelvi lehetőségeket is. Az applikációs szerver konfigurálása nagyon könnyű, mert grafikus feleületen keresztül lehet azt elvégezni, de lehetőség adódik az őt leíró domain XML fájlban is módosítani a paramétereken. A legfontosabb beállítások a már említett adatbázis kezelésért felelős tulajdonságok, valamint a hálózati kommunikációért felelős elemek beállítása. Az általam megírt kódot a szerverre kell feltölteni és onnan lehet futtatni azt. Az internetes rendszer megtervezésekor számos csomag használata került be a tényleges implementációkor. A legfontosabb, hogy a projekt egy Maven projekt lesz, ami egy olyan szoftver, amit a fejlesztés managementjére és a program fordítására használunk fel. Ez megkönnyíti az esetlegesen használni kívánt csomagok projektbe való importálását és mindig a legfrissebb verziókkal dolgozhat az ember. Ezen belül a projekt a Java Server Faces webes keretrendszerre épül. Ennek fő feladata, hogy elegánsan és biztonságosan kapcsolja össze a grafikus és felülettervező által megálmodott felhasználói felületet a mögöttes üzleti logikával (Szoftverfejlesztés JavaEE platformon). Az applikáció implementálásakor a modell-nézet28
vezérlő elvét követjük, ami egy szoftverfejlesztési minta, több elkülöníthető részre oszthatjuk az applikációt felépítő komponenseket. (3. ábra)
3. ábra Modell- nézet-vezérlő felépítése JSF keretrendszerben [13]
A nézetért felelős komponensek a megjelenítését végzik az adatoknak a megtervezett GUIsémában rendezett formában a kliens számára. Ezt a rendszer html (HyperText Markup Language) és xhtml (eXtensible HyperText Markup Language) oldalak segítségével végzi el, amiket CSS3 (Cascading Style Sheets) nyelvvel formázunk meg. Ezek a nyelvek kifejezetten az internetes oldalak fejlesztéséhez találtak ki. A rendszer üzleti logikáját képviselő modell része az adatok reprezentálására és viselkedésük leírására szolgál. Melynek feladatai közé tartozik az adatbázis lekérdezések létrehozása, a bizonyos értékek kiszámítása, és a kérések feldolgozása is. Végül a vezérlő réteg, ami kezeli a kliens és az üzleti logika közötti interakciót. Ezt a szerepet a JSF általi szervlet szolgáltatja. Az oldal kinézetének megtervezése is fontos szerepet játszott, hiszen egy jól átgondolt és egyszerű internetes oldalt sokkal élvezetesebb használni. A kinézet eldöntése után, a felület megrajzolását az Adobe által gyártott Photoshop programmal végeztem. A színeket tekintve barna, zöld és szürke színeket használok fel, amik megnyugtatóan hatnak a felhasználókra és ezzel betartva az általános 29
konvenciót képező 7-8 színnél kevesebb színt alkalmazó grafikus felületi elvárást. A felhasználók biztonságát és a visszaélések kivédését szerepek kiosztásával oldjuk meg, ahol az alkalmazást használó kliens lehet beteg, orvos vagy adminisztrátor. A szerepkörökhöz eltérő funkciókat társítunk. Gondolunk itt arra, hogy az orvos szerepben regisztrált kliens láthatja a hozzá tartozó betegek mérési adatait és a terápiákra vonatkozó adatokat. A jogosultságok kezelését az adminisztrátor végzi el a rendszerben.
30
3 A rendszer felépítése (Rendszerterv) A rendszer komponenseinek részletesebb megértéséhez szükségünk van a komponensek funkcióinak és az őket felépítő elemek bemutatására. A megtervezett rendszer nem csak szoftveres, de fizikai szinten is több komponensből tevődik össze, amit az alábbi kép szemléltet (4. )
4. ábra Rendszer fizikai felépítése
31
3.1 Hardware és Software specifikáció A résztvevőknek rendelkezniük kell vagy mobiltelefonnal, vagy számítógéppel. A hardware specifikációját tekintve a klienseknek a minimumot kell teljesíteni. Vagyis a mobiltelefont használó kliensnek egy legalább 800 MHz processzort kell tartalmaznia és 128 MB fedélzeti memóriát, míg a számítógépes klienseknek az operációs rendszertől függően tartalmaznia kell egy legalább kétmagos processzort (Intel Core2 vagy újabb, AMD A4 vagy újabb), legalább 256 MB fedélzeti memóriát és hálózati adaptert. Emellett a kliensek számítógépes konfigurációjának tartalmaznia kell egy hálózati kártyát, amivel képes kommunikálni és csatlakozni az internethez. A szoftveres minimumot úgy határoztam meg, hogy a mobilklienseknek Android operációs rendszert lehet kezdetben használniuk, ennek a verziószáma 2.3 vagy újabb lehet és tartalmaznia kell egy mobilböngészőt, ami lehet a gyári vagy 3pp böngésző applikáció. A számítógépről csatlakozó klienseknek telepítve kell legyen egy operációs rendszer, ami vagy egy Linux disztribúció (Ubuntu, Suse, Debian, Redhat) vagy Microsoft Windows valamelyik verziója. Továbbá installálva kell, legyen egy böngésző típus, ami lehet Mozilla Firefox vagy Google Chrome. A szükséges szolgáltatásokat tekintve a mobilklienseknek és a számítógépes klienseknek internetes előfizetéssel kell rendelkezniük. A klienseket kiszolgáló webszervert vagy applikációs szervert egy microszerverre kell telepíteni. A microszerverek olyan megoldások, amik ár szempontjából jelentősen kedvezőbbek, kevesebb fedélzeti memóriát és gyengébb processzort tartalmaznak, mint a nagyobb üzleti megoldások. A komponensek megválasztásakor, az általam használt konfigurációt vettem alapul, ami egy négymagos processzort tartalmaz és 4 GB fedélzeti memóriát, 1 TB méretű háttértárat, valamint Windows 7 operációs rendszert. A rendszer skálázhatóságának eredményéül gondolni kell a felhasználók számának növekedésére, és biztosítani kell a későbbiekben az erőteljesebb hardware konfigurációt. A szerverre installálva kell, legyen egy operációs rendszer, ami lehet Linux disztribúció (Debian, Suse, RedHat, Ubuntu) vagy Microsoft Windows. Emellett a rendszernek tartalmaznia kell egy hálózati kommunikációs csatolófelületet, amivel a hálózat más elemeivel tarthatja a kapcsolatot. Erre a microszerverre kell feltelepíteni a Glassfish applikációs szervert és az adatbázist is (JavaDB). Az internet és a szerver közötti kapcsolat fenntartásához a rendszer üzemeltetőjének vásárolnia kell egy routert és internetes előfizetést, hogy a páciensek és az orvosok csatlakozni tudjanak a szerverhez és el tudják érni a tartalmat. A routernek képesnek kell lennie a Gigabites kommunikációra a belső hálózaton csatlakoztatott elemekkel, és ha szükséges vezeték nélkül garantálnia kell a 300 MBit/secundumos jelátvitelt, vagyis meg kell felelnie az N-típusú Wi-fi szabványnak.
32
3.2 Komponens Specifikáció A szoftveres komponensek alkotják a megtervezett rendszer fő pontjait. Ebben az alfejezetben mutatom be, azokat az osztályokat, amikből felépítettem az alkalmazásokat. Gondolunk itt a mobilklienseket kiszolgáló szervletre, az internetes
alkalmazásra a mobiltelefonos
alkalmazásra és az adatokat eltároló adatbázis felépítésére.
3.2.1 Adatbázis A megtervezett rendszer alapját egy adatbázis képezi, amit a JavaDB SQL implementációval valósítottam meg. Ez az adatbázis a „Bloodsugar” sémába szervezi a következő táblákat – „MeasurementData”,
„UserData”, „TimeOfMeasurement”,
„UserGroups”. Ezeknek a
tábláknak a kapcsolatát az alábbi Egyed- Kapcsolat diagram írja le.
5. ábra Adatbázis Egyed- Kapcsolat diagramja
A „UserData” tábla tartalmazza a felhasználókkal kapcsolatos adatokat, mint a felhasználó vezetékneve és keresztneve, e-mail címe, felhasználóneve, jelszava és az őt kezelő orvos neve. Az adatbázisban a sorokat egyértelműen azonosítani kell minden táblában. Ehhez tulajdonságot vagy tulajdonságokat kell meghatározni ami ezt a célt szolgálja. Ez lesz a tábla kulcsa vagy kulcsai. Így a „UserData” tábla kulcsa a „username”, hiszen minden felhasználót egyértelműen azonosít. A „UserGroups” táblában a felhasználók jogosultságai kaptak helyet, ami lehet beteg, orvos vagy rendszergazda. A tábla kulcsa a „groupname” mező. A két táblának az egymáshoz viszonyított kapcsolata egy-sok, mivel egy csoporthoz több felhasználó tartozhat, de egy felhasználó csak egy csoportnak lehet a tagja. A „UserData” táblába bekerül idegen kulcsként a „UserGroups” tábla „groupname” attribútuma. Ez a 33
megoldás képezi a biztonsági intézkedések alapját, a már említett szerepkör management alapján. A „MeasurementData” tábla a mérési eredményeket tartalmazza, az alábbi értékekkel – vércukorszint, súly, inzulin mennyiség, a mérés pontos ideje ezredmásodpercre pontosan, az ebből kiszámított mérési nap (yyyy-mm-dd). A mérési eredményeket tároló tábla kulcsa az idő, hiszen ez az érték egyértelműen meghatároz egy mérést az adott időpillanatban. Egy-sok kapcsolat van a felhasználókat tartalmazó tábla és a mérési eredmények tábla között, mert minden pácienshez több mérés tartozik. A „TimeOfMeasurement” tábla a mérések időpillanatát tartalmazza, ami lehet reggeli előtti, reggeli utáni, ebéd előtti, ebéd utáni, vacsora előtti, vacsora utáni, lefekvéskori vagy éjfélkori. A kulcs itt a „MomentOfMeasure”. Ehhez a táblához egy – sok relációval kapcsolódik a „MeasurementData” tábla.
34
4 Az applikációs szerveren futó alkalmazások Az applikációs szerver szolgáltatja az általam megtervezett rendszer funkcióit és futtatja, az általam feltelepítet programokat. A rendszer megvalósításakor az Oracle Glassfish Server 3.1es implementációját használtam fel. A választás azért esett erre az implementációra, mert könnyű és egyszerű a grafikus felület segítségével lehet konfigurálni az elérhető szolgáltatásokat, mint az adatbázis kapcsolatok és tranzakciók kezelése, a biztonság és erőforrás kezelés. A telepítése a programoknak igen egyszerű, a lefordított enterprise alkalmazásokat csak fel kell tölteni és telepíteni a felület segítségével. Ezeknek a programoknak a fejlesztéséhez NetBeans 7.1-es fejlesztőkörnyezetet használtam, amit az Oracle cég fejlesztett ki. Az UML diagramokat az Enterprise Architect nevű szoftver 9.3-as verziójával készítettem el.
4.1 Internetről elérhető alkalmazás Az interneten elérhető alkalmazás alkotja a rendszer egyik legfőbb részét. A beteg és az orvos itt képes megtekinteni a feltöltött és az ezekből számított statisztikai elemzés mérési eredményeit, újabb mérési adatokat hozzáadni a rendszerhez. Továbbá képesek egymással kommunikálni a levélküldő alrendszer segítségével. A rendszer tervezéskor, főleg a felhasználói felületre gondolok, számos felhasználói igényt figyelembevettem. Ezeket a véleményeket a fejlesztés során végig elfogadtam és próbáltam a programot akképpen alakítani, hogy könnyen és egyszerűen lehessen használni mind a betegeknek, mind az orvosoknak.
4.1.1 Adatbázis réteg Az adatok eltárolását Entity Beanekkel oldottam meg a szoftver szintjén. Ezeknek az a feladata, hogy az általa reprezentált objektum adatait perzisztens módon eltárolja, és azok elérését biztosítja. Az általam használt relációs adatbázis és a szoftver közötti leképezést, az entity beanek oldják meg az úgynevezett objektumrelációs leképezést (ORM – Object Relational Mapping). Ennek a lényege, hogy a relációs adatbázis tábláit osztályoknak (item), a táblák oszlopait az osztályok attribútumainak felelteti meg. Így egy adott osztály példányai a megfelelő tábla egyes sorainak memóriabeli gyorsítótárának tekinthetők.[13] Ennek a leképezésnek fontos feladata, hogy az adatbázisban használt kapcsolatokat objektumorientált szemléletre képezze le. Az entitás osztályok nevei megegyeznek az adatbázisban használt táblanevekkel. Az általam felhasznált entityk beanek UML diagrammja: (6. ábra)
35
6. ábra Entity Beanek UML diagramja
36
4.1.2 Üzleti logikai réteg Az üzleti logikai réteg az a része az alkalmazásnak, ami egy bizonyos alkalmazási terület igényeinek megfelelő funkcionalitást biztosítja. Az üzleti logikát az alkalmazásnak Session beanek segítségével oldottam meg, amik a JavaBeaneknek olyan típusai, amik az üzleti folyamatokat reprezentálják.[13] Az adatbázisban tartalmazott adatok kiolvasását és azok továbbítását a felhasználók felé session facade tervezési mintával oldottam meg. A tervezési minta biztosítja, hogy a kód ne legyen redundáns és a felhasznált session beanek segítségével végezzük el a lekérdezéseket az adatbázisból. (7. ábra). A szülőosztály egy „AbstractFacade” osztály, aminek a képen látható metódusait használják a gyerek osztályok. Ezek a metódusok lehetnek a create, edit, find, findall, findRange, remove, count. A create metódussal vagyunk képesek létrehozni új mérési eredményt vagy új felhasználót a rendszerben. Az edit metódus segítségével tudjuk a rendszerben tárolt adatokat frissíteni, a megadott új értékre. A find metódus biztosítja a keresést a felvett rekordok között, valamilyen objektum alapján. A findAll visszaadja az összes objektumot az arra meghívott osztályból. A remove metódus segítségével pedig képesek vagyunk törölni a felhasználókból vagy a mérési eredményeket tartalmazó adatbázis táblákból. A count segítségével pedig megszámolhatjuk, hogy az adott entity-hez tartozó táblában mennyi rekordunk van. A tervezési minta értelmében minden entity osztály külön session beant kapott. Példa: Ha mondjuk egy adott beteghez tartozó mérési adatokat szeretnénk lekérdezni ("Select measure FROM MeasurementData measure WHERE measure.userName=:userName"), Akkor a „MeasurementDataFacade” segítségével képesek vagyunk meghívni az ő hozzá tartozó „MeasurementData” osztály egyik dedikált lekérdezését, ami visszaadja egy listában a lekérdezés feltételeinek megfelelő MeasurementData objektumokat.
37
7. ábra Session facade tervezési minta
38
4.1.3 Vezérlési Réteg A felhasználó és a rendszer közötti kommunikációra a JSF keretrendszer által támogatott backing beaneket vagy más néven managed beaneket használtam fel. Ezeknek a JavaBeaneknek a feladata, hogy a felhasználó által látható grafikus felületen megtalálható komponenseket információval töltsék fel és befolyásolják ezeknek a komponenseknek a tulajdonságait. Továbbá a felhasználói felületen történt műveletek hatására a keretrendszeren keresztül értesítjük az osztály példányát, és meghívhatjuk a megfelelő metódust az interakció hatására. Az összes weboldalhoz (*.xhtml) hozzárendeltem egy-egy ilyen menedzselt osztályt. Ebben az esetben, az adott menedzselt osztály fogja előállítani a megfelelő adatok segítségével a felhasználó által látható nézetet és lesz felelős a felhasználó által végrehajtott műveletek feldolgozásáért is. Az első ilyen osztály a Login bean volt. Az osztály UML diagramja a következő: (8. ábra)
8. ábra Login bean UML diagram
A Login beanhez tartozó nézet a loginpage.xhtml (melléklet 1.kép). Ezen az oldalon tud a felhasználó bejelentkezni. A Login objektum azért fontos, mert tartalmazza a kliens legfontosabb paramétereit, mint a felhasználónév, a jelszó. Ez azért szükséges, mert az oldalon való továbbhaladás során több esetben is szükséges ez az információ a lekérdezések és az autentikáláshoz is egyaránt. A következő osztály a „MeasurementDataController” menedzselt bean. Ennek az osztálynak a segítségével tudjuk a beteg online vércukornaplóját megjeleníteni részletesen, ahol a napokra lebontott méréseit tekintheti meg, ahol a mért érték a reggeli előtti, reggeli utáni, ebéd előtti, ebéd utáni, vacsora előtti, vacsora utáni, lefekvéskori és éjfélkori értékeket tartalmazza. Továbbá ezt az osztályt használom fel, hogy a „MeasurementDataFacade” osztállyal kommunikálva új méréseket tudjon felvenni a beteg. Itt is kiválaszthatja a beteg, hogy mikori mérést szeretne bevinni a rendszerbe és megadhatja a mérés paramétereit – vércukorszint, súly, beadott inzulin és a mérés időpontja. Ehhez tartalmaz egy-egy példányt a
39
„MeasurementData” objektumról és a „MeasurementDataFacade” session beanből. A „MeasurementDataController” osztály UML diagramja az alábbi: (10. ábra). Az ehhez az osztályhoz
tartozó
oldalak
a
measurements.xhtml
(melléklet
6.
kép)
és
a
newmeasurements.xhtml (melléklet 7. kép).
9. ábra MeasurementDataController UML diagram
A következő fontos osztály a „StatisticsController” menedzselt bean. Ez az osztály állítja elő azt a nézetet, ami tartalmazza a beteg mérési eredményeiből származó statisztikai analízis által kapott grafikont. (10. ábra)
10. ábra StatisticsController UML diagram
Az ehhez tartozó oldal a staistics.xhtml (melléklet 2. kép). A szükséges adatok kiszámításához egy másik osztályhierarchiát kellett létrehozni, ami kifejezetten a statisztikai adatokat állítja elő párhuzamos számítások révén. A folyamat eredményeként kapott értékekkel inicializálva a regression listát, ami tartalmazza az analízis végeredményét. A grafikon megjelenítéséhez egy JavaScript beépülő modult használtam fel, ami a HighCharts.js csomag. Ennek a csomagnak a használata könnyű és igen egyszerű, számos vizualizáció hozható vele létre. Egy külön
40
Javascript fájlban deklaráltam egy függvényt, aminek négy globális változója van ezek a a regressziós eredményeket, az eredeti mérési eredményeket és a hozzájuk tartozó napokat váró tömbök, amik a „StaisticsController” bean osztály számításai után kapnak értéket. Ezt követően inicializálódik maga a grafikon is a nézet előállításakor, a kiszámított adatokkal. Továbbá a „StatisticsController” osztály állítja elő a nézeten, hogy a felhasználó, képes legyen választani melyik hónap és melyik évből való méréseinek a statisztikai eredményét szeretné megtekinteni. Ehhez a month illetve a year mezőket használtam fel. Az orvosoknak a beteg mérési eredményeiről a „PatientResultController” gondoskodik, aminek a funkcionalitása és osztálydiagramja hasonló, mint a StaisticsController menedzselt bean osztályé. A statisztikai számításokat
végző
tényleges
osztályhierarchia
ősosztálya
az
absztrakt
„AbstractRegressionModel” osztály. Ez tartalmazza az egyenes felrajzolásához szükséges paramétereket, mint az átlagos predikciós hiba, a koefficiens értéke, a metszés, az egyenes meredekségének értéke, illetve a regresszió által kapott ideális értékek listáját. Az első gyerekosztály a „LinearRegression”, ami a standard lineáris regressziót valósítja meg. A többi osztály – „PowerModel”, „QuadraticModel”, „ExponentialModel”, „LogarithmicModel”, „ReciprocalModel” pedig azokat a transzformációkat hajtják végre, amiket a felhasznált matematikai eljárásokban ismertetek. Minden osztály paraméterei, az X és Y értékeket tartalmazó listák. Ezekből számítja ki az értékeket a „RegressionModelInitialization” osztály segítségével. Ez az osztály analitikus módon számítja ki az egyenes paramétereit. Ahhoz, hogy el tudjuk dönteni melyik transzformáció adta a legkisebb hibájú értékeket, egy többszálú számítást elvégző osztály hoztam létre, ez pedig a „RegressionAnalysis”, aminek a feladata, hogy elindítsa a „RegressionAnalysisWorker” szálakat a paraméterül átadott modellekkel. A számításokat végző osztályhierarchia UML diagramja: (11. ábra)
41
11. ábra Statisztikai számításokat végző osztályok
42
A következő osztály az „UserDataController” menedzselt bean, ami a felhasználó létrehozásakor használunk. A mezői a felhasználót leíró rekordok és ezek az értékek kerülnek át a „UserData” tábla egy sorába, amit a már tárgyalt session facade tervezési minta végez el az entity beanek segítségével. Így a mezői az osztálynak az alábbiak lesznek – a felhasználói név, a jelszó, a keresztnév és vezetéknév, a választott orvos és a felhasználó e-mail címe. Az ehhez a beanhez tartozó felhasználói oldalak a registerform.xhtml és a newuser.xhtml oldalak (melléklet 3. kép és melléklet 4. kép). Az osztály UML diagramja: (12. ábra)
12. ábra UserDataController bean UML diagram
A levelek elküldéséért két osztályfelelős: a „MailController” backing bean és a „SendMail” kiegészítő osztály. A „MailController” feladata, hogy a felhasználó által begépelt szöveget, a címzettet és a levél tárgyát rögzítse, majd a „SendMail” osztály segítségével egy előre regisztrált e-mail cím segítségével elküldje a címzettnek az e-mailt. A MailControllerhez tartozó weboldal a sendmail.xhtml (melléklet 5. kép). A SendMail és MailController osztályok UML diagramja: (13. ábra)
13. ábra MailController és SendMail UML diagramja
Végül az utolsó menedzselt bean osztály nem a felhasználóval való kommunikációért felelős, hanem a jogosultságok kezeléséért és a visszaélések megakadályozásáért. Ez az osztály a „UserAccessController”.
Az
osztály
számos
függvényt
tartalmaz
a
jogosultságok
ellenőrzésére, amit a bejelentkező felhasználó Login objektumát felhasználva teszünk meg. Ezáltal kerül meghatározásra, hogy a rendszerben éppen tartózkodó kliens, milyen jogosultságokkal bír. A felhasználó lehet beteg, orvos vagy adminisztrátor jogosultságú.(14. ábra) 43
14. ábra UserAccesController UML diagramja
4.2 A méréseket fogadó alkalmazás A mobilkliensektől érkező méréseket, az erre a célra kialakított szervlet objektum fogadja és küld értesítést a kliensnek a fogadás sikerességéről. Felépítését tekintve igen egyszerű, hiszen a tárgyalt JAXB technológiát felhasználva, az érkező http csomagokban található XML állományokat alakítja át a megfelelő osztályobjektumokra. Ezek a csomag a felhasználók mérési eredményeit tartalmazzák, amiket az adatbázisba töltünk fel az Objektum – reláció leképezés alapján a MeasurementData táblába. A szervlet objektum és a hozzá tartozó osztályok UML diagramja: (15. ábra)
15. ábra BloodGlucose szervlet és felhasznált osztályok UML diagramja
Ahol a BloodGlucoseServlet osztály a szervlet objektum, a „MyUnMarshaller” osztály végzi a beérkező XML csomagok átalakítását, míg a „MyPersist” osztály az átalakított objektumok feltöltését végzi az adatbázisba. A szervlet állapotmentes, amivel megfelel a párhuzamosítás feldolgozás elvárásainak.
44
4.3 A mobilkliens A mobilkliensben az információ elküldéséhez két osztályt használtam fel. Ez a két osztály a „MobileInformationSender”
és
a
„MyMarshaller”
osztály.
Feladatukat
tekintve
a
„MobileInformationSender” a kliens által bevitt adatokkal inicializálódik, az alábbi mezőkkel – a páciens felhasználói neve, a mért vércukorszint, beadott inzulin mennyiség, a mérés időpontja, a beteg súlya és egy „MyMarshaller” objektum. A súly és inzulinadatok opcionálisak, a továbbfejlesztés miatt kerültek be a rendszerbe már most. A „MyMarshaller” osztály egy referenciát tartalmaz arra a temporális fájlra, ami az objektum XML formára való alakítását tartalmazza. Ez a fájl a funkció ellátása után automatikusa törlődik. (16. ábra)
16. ábra Mobilkliens UML diagramja
4.4 Használat a beteg oldaláról A rendszer alapötletét az adta, hogy mindennapjainkban tömegesen terjednek el a lakosságban az okostelefonok, amik képességeiket tekintve felveszik a versenyt egy kisebb számítógéppel is. Gondolunk itt a többmagos processzora, a nagy mennyiségű fedélzeti memóriára és a fejlett operációs rendszerre (Android, iOS, Windows). Ezek a telefonok mára az emberek mindennapjait képezik, így magától érthető, hogy az aktuális adatokat, amik a betegségükkel kapcsolatos szeretnék látni. A megtervezett rendszer segítségével a páciens képes beküldeni a mérési adatot, egy egyszerű grafikus felület segítségével és visszacsatolást kapni annak sikerességéről. A mérések http csomagokban utazva jutnak el egy szerverhez, ami feldolgozza azokat és eltárolja egy adatbázis segítségével. A kliens használatakor lehetőség van még ezen kívül a havi adatok lekéréshez, itt gondolunk a páciensek által használt vércukor napló 45
digitális megfelelőjére illetve a havi adatok statisztikai elemzésének végeredményére. Ezt a beteg kezdetben egy erre a célra speciálisan kialakított weboldalon teheti meg. Ehhez szüksége van internetes kapcsolattal rendelkező eszközre (számítógép, mobiltelefon), illetve valamilyen böngészőre. A böngésző elindítását követően, a megfelelő url cím megadása után juthat el a kijelölt oldalra. A páciens az oldal betöltését követően egy beléptető oldal fogadja. Itt két lehetősége van: beléphet a rendszerbe vagy regisztrálhat. A bejelentkezéskor a „username” és „password” mezőket kitöltve a „login” gombra kattint a beteg. Ennek hatására a rendszer automatikusan belépteti. Ha nem regisztrált, akkor szükséges a „RegisterNow” linkre kattintania. Egy új oldalon lehetősége van az adatainak megadására. Ezek az adatok rendre: „FirstName” – keresztnév, „LastName” – vezetéknév, „Username” – felhasználónév, „Password” – jelszó, „E-mail address” – e-mail cím és az elérhető orvosok listája. Ha kitöltötte az adatokat és a legördülő menüből a „Choose a doctor” választott egy általa preferált orvost akkor a „Submit” gombra kattintva fejezheti be a regisztrációt. A regisztráció befejezését követően egy üdvözlő oldalra kerül, ahol a rendszer értesíti a sikeres regisztrációról. Ezen az oldalon a „Back to the index” felirat mellett található gombra kattintva a bejelentkező képernyőre kerül, ahol sikeresen beléphet a rendszerbe. Ekkor egy index oldalra kerül, ahol menüpontok segítségével navigálhat a különböző oldalak között és megtekintheti a státuszát a rendszerben (Admin, Doctor, Patient). Lehetősége van e-mailt írni az orvosnak, amit a „Send mail” menüpont alatt érhet el. Itt a „Send Mail To” és „Mail Subject” mezők és a levél tartalmának megírása után a „confirom” gombra kattintva küldheti el a levelét a beteg. A „Measurements” fülre kattintva a digitális vércukornaplóhoz kerül, ahol megtekintheti az eddig felvett méréseket. Ennek a megjelenítéséhez ki kell választania a legördülő menü segítségével a kívánt évet és hónapot. Ezt követően a „checkdatas” gombra kattintva megjelenik az adott hónap mért vércukor értékei. Ezen az oldalon van lehetősége új adatok bevitelére is, amit az „add newmeasurements” linkre kattintva tehet meg. Ekkor egy új megnyíló ablakon kitöltve az üres mezőket vihet fel új mérést a rendszerbe. Az üres mezők az alábbi értékeket várják, mint a mért vércukorszint, súly, beadott inzulin mennyiség és a mérés ideje, ami lehet Reggeli Előtti, Reggeli Utáni, Ebéd Előtti, Ebéd Utáni, Vacsora Előtti, Vacsora Utáni, Lefekvéskori és Éjfélkori érték. Ha a beteg kitöltötte az üres mezőket, akkor az „add newmeasurement” gombra kattintva adhatja ténylegesen hozzá a mérést az adatbázishoz. Ekkor egy figyelmeztető üzenet jelenik meg az ablakon, ami arról értesíti a beteget, hogy a hozzáadás sikeres volt vagy sem. A mérésekhez a „back tothemeasurements” linkre kattintva tud visszajutni. A „Statistics” fülre kattintva a beteg egy másik oldalra jut, ahol a mért vércukorértékek statisztikai elemzésének vizualizált eredményeit láthatja. A legördülő menük segítségével kiválaszthatja a kívánt évet és a hozzá tartozó dátumot, illetve azt, hogy melyik időben mért értékeket kívánja megjeleníteni. Ennek értéke Reggeli Előtti, Reggeli Utáni, Ebéd Előtti, Ebéd Utáni, Vacsora Előtti, Vacsora Utáni, Lefekvéskori és Éjfélkori. Miután 46
kiválasztotta a megfelelő időt, a „CheckStatistics” gombra kattintva jelenítheti meg a grafikonon az adatokat. A grafikonon lehetősége van az egyes mérési pontokhoz tartozó eredmények megjelenítésére. Egy felugró ablakban megtekintheti a napot pontosan, az akkori általa mért értéket és a lineáris regresszió által kapott ideális értéket. Lehetősége van továbbá a grafikon elemeinek ki és bekapcsolására, amivel jobban meg tudja vizsgálni a grafikont. A „Logout” menüpont segítségével képes kijelentkezni a rendszerből a páciens, ami után a bejelentkező képernyőre irányítja át az oldal. Az oldal kialakításakor és megtervezésekor figyelembe vettem az egyszerűség elvét. Próbáltam egyszerű és letisztult színeket használni, hogy az oldalon eltöltött idő kellemes legyen a páciens számára. Továbbá a menü megtervezésekor és elhelyezésekor ergonómiai elveket tartottam be, ahol csak kevés oldalt felhasználva maximum három lépésből eljuthat bárhova a kliens.
4.5 Használat az Orvos oldaláról A rendszer kialakításánál nagy hangsúlyt fektettünk arra, hogy az orvos képes legyen megtekinteni a betegek adatait és azokból megfelelő következtetéseket vonhasson le. Erre a már említett interneten elérhető weboldalon keresztül van lehetősége. Ehhez szüksége van internetes kapcsolattal rendelkező eszközre (számítógép), illetve valamilyen böngészőre. A megtervezett rendszer lehetőséget biztosít továbbá arra, hogy az orvos a belső hálózatról egy szerverhez kapcsolódva érhesse el a betegeitől érkező adatokat egyaránt. Miután az orvos elindította a böngészőt (például Google Chrome, Firefox), a megfelelő url cím megadása után juthat el a kijelölt oldalra. Az orvost az oldal betöltését követően egy beléptető oldal fogadja. Itt két lehetősége van: beléphet a rendszerbe vagy regisztrálhat. A bejelentkezéskor a „username” és „password” mezőket kitöltve a „login” gombra kattint a beteg. Ennek hatására a rendszer automatikusan belépteti. Ha nem regisztrált, akkor szükséges a „RegisterNow” linkre kattintania. Egy új oldalon lehetősége van az adatainak megadására. Ezek az adatok rendre: „FirstName” – keresztnév, „LastName” – vezetéknév, „Username” – felhasználónév, „Password” – jelszó, „E-mail address” – e-mail cím és az elérhető orvosok listája. Ha kitöltötte az adatokat, akkor a „Submit” gombra kattintva fejezheti be a regisztrációt. A regisztráció befejezését követően egy üdvözlő oldalra kerül, ahol a rendszer értesíti a sikeres regisztrációról. Ezen az oldalon a „Back to the index” felirat mellett található gombra kattintva a bejelentkező képernyőre kerül, ahol sikeresen beléphet a rendszerbe. Ekkor egy index oldalra kerül, ahol menüpontok segítségével navigálhat a különböző oldalak között és megtekintheti a státuszát a rendszerben (Doctor). Lehetősége van e-mailt írni a betegnek, amit a „Send mail” menüpont alatt érhet el. Itt a „Send Mail To” és „Mail Subject” mezők és a levél tartalmának megírása után a „confirm” gombra kattintva küldheti el a levelét a beteg számára. A „Patients” fülre kattintva az orvos egy másik oldalra jut, ahol a hozzá tartozó betegek listája fogadja. Ezt egy táblázatban látja és a beteg nevéhez rendelt „visit” linkre 47
kattintva nézheti meg a beteghez tartozó mérési eredményeket és az elkészített statisztikát. Miután a kívánt beteg nevére kattintott egy új oldalra kerül, ahol egy grafikon fogadja, amit a beteg vércukorszintjeinek és az abból kapott regressziós egyenesből tevődik össze. A legördülő menük segítségével kiválaszthatja a kívánt évet és a hozzá tartozó dátumot, illetve azt, hogy melyik időben mért értékeket kívánja megjeleníteni. Ennek értéke Reggeli Előtti, Reggeli Utáni, Ebéd Előtti, Ebéd Utáni, Vacsora Előtti, Vacsora Utáni, Lefekvéskori és Éjfélkori. Miután kiválasztotta a megfelelő időt, a „CheckStatistics” gombra kattintva jelenítheti meg a grafikonon az adatokat. A grafikonon lehetősége van az egyes mérési pontokhoz tartozó eredmények megjelenítésére. Egy felugró ablakban megtekintheti a napot pontosan, az akkori általa mért értéket és a lineáris regresszió által kapott ideális értéket. Lehetősége van továbbá a grafikon elemeinek ki és bekapcsolására, amivel jobban meg tudja vizsgálni a grafikont. Ez azért hasznos az orvos számára, mert látja a vércukorszintek növekvő és csökkenő tendenciát a mért értékek alapján. Ha az orvos a beteg nevére kattint képes megtekinteni annak felhasználói profilját. Ekkor egy új oldalra kerül, ahol megtekintheti a beteg általános adatait, annak testsúlyát az alkalmazott terápiát, amit egy táblázatban tud megtekinteni. Ez az általa javasolt inzulinterápia megjelenítése. A „Logout” menüpont segítségével tud kijelentkezni az orvos a rendszerből. Ezt követően a bejelentkező képernyőre irányítja át az oldal. Az oldal kialakításánál próbáltam figyelembe venni az orvosok által támasztott ergonómiai igényeket, azt az egyszerűséget, amivel mindennapos munkájukat képesek végezni. Gondolok itt az egyszerű és jól átlátható menürendszerre, a könnyű navigációra
4.6 Orvos beteg kapcsolat a telemedicínában Hippokratész óta az egészségügyi ellátás sarokköve az orvos – beteg kapcsolat. Az orvosok képviselik az egészségügyben mindazt, ami ahhoz szükséges, hogy a betegek megkapják a megfelelő ellátást és segítséget a legmagasabb színvonalon a megfelelő időben. A két résztvevő között egy igen személyes és privát jellegű szféra alakult ki, ami a kölcsönös és feltétel nélküli bizalomra, az orvos elkötelezettségére és a beteg hitére valamint meggyógyulni akarásán alapszik. A klasszikus értelmezése szerint a betegnek joga elvárni, hogy segítsenek neki, valamint felfüggeszthet bizonyos tevékenységeket és az ehhez társuló felelősséget. Cserébe minél előbb orvoshoz kell fordulnia, hogy minél előbb meggyógyulhasson és ezt akarnia is kell. Az orvos szempontjából, az ideális orvos a parsoni modell szerint, az, aki megfelelő tudással és kompetenciával rendelkezik a legmagasabb színvonalú gyógyítás megadásához, a saját érdeke elé helyezi a beteg érdekeit, ha a helyzet megkívánja, mindig objektív és érzelmileg semleges marad, valamint nem él vissza a privilegizált helyzetével. Többféle modellt tudunk egymástól elkülöníteni, mint a konszenzus modell, ahol az orvos és beteg célja egyaránt a beteg gyógyulása. A konfliktus modell, ahol az orvos és a beteg célja 48
nem azonos, amiből a kezelés során konfliktus lehet. Az egyezkedési modell, ahol a döntési folyamatot a beteg és az orvos közösen alakítják a kezelés során. Végül pedig a fogyasztói modell, ahol a beteg saját maga alakítja a kezelés menetét, hiszen mint fogyasztó, az ellátást termékként kezeli és elvárja a megfelelő szolgáltatást a befizetett összegért. A telemedicínában is fogyasztói modellről beszélünk, ahol a páciensek egy aktív fogyasztót képviselnek, hiszen a technológia nyújtotta eszközöket felhasználva, bizonyos szolgáltatásokat rendelnek meg és használnak, mint az internet és valamilyen monitorozó eszköz. Az ehhez társuló megfelelő oktatás és tájékoztatásnak köszönhetően felelősségteljesebben viseltetnek az egészségük iránt, ami nagymértékben csökkenti a megbetegedések számát és az ebből fakadó pénzügyi terhek összegét egyaránt. Ezeken a modelleken belül még megkülönböztethető az orvos – beteg szerepkör, ahol beszélhetünk orvos központú modellről és betegközpontú modellről. Az orvos központú modellnél az orvos elsődleges célja, hogy hatékonyan és minél előbb képes legyen meghatározni a páciens betegségét és felállítani egy ehhez megfelelő kezelést. Ezzel szemben a beteg központú modell, ahol az orvos a beteget, mint aktív résztvevőt von be a gyógyítás menetébe, felhasználva a betegtől kapott számos információt állapotáról illetően. Gondolunk a páciens fiziológiai állapotára, amit rövid kérdések segítségével tár fel és a pszichológiai és szociális állapotára, mint a kulturális, vallási, szociális, párkapcsolati tényezőkre. A kérdések által az orvos megbizonyosodhat a beteg véleményéről és beleegyezéséről a választott terápiát illetően. A telemedicína kontextusában az orvos beteg kapcsolat átalakul, ennek bizonyos elemeit újra kell gondolnunk, hogy továbbra is tudjuk garantálni a kapcsolatot az orvos és a beteg között. „Az interperszonális kommunikációban, meg kell teremtenünk a kényelmes és privát érzést biztosító környezetet. Ahhoz az információáramláshoz a beteg és az orvos között, ami a beteg egészségügyi ellátásán alapuló döntéseket és az ezt támogató döntési modelleket határozza meg”. [5] Tehát akkor beszélhetünk orvos – beteg kapcsolatról, amikor a beteg segítséget kér az orvostól egy egészségügyi kérdésben, aki erre egy diagnózist állít fel a beteg vizsgálata után, amit egy televisiten tesz meg. Ezt követően határozza meg a kezeléshez szükséges terápiát az orvos, amit a páciens elfogadhat vagy visszautasíthat. Ha a páciens elfogadta a kezelést, függetlenül attól, hogy sor került e személyes találkozásra a páciens és az orvos között, orvos-beteg kapcsolatról beszélünk.[5] Abban az esetben, amikor tanácsadó szerepet tölt be az orvos a konzultáción és nincsen közvetlen érintkezés a beteggel, mint az interneten vagy telefonon való konzultáció, nem beszélhetünk orvos-beteg kapcsolatról. Valamint amikor a beteg számára kijelölt helyre kell mennie a konzultáció megtartásához, harmadik fél kerül ideiglenesen bevonásra a kommunikáció megteremtéséhez. A szakértők, konzulensek, nővérek ezeken az állomásokon nem, mint orvosok, inkább tanácsadó jelleggel tájékoztathatják a beteget a lehetőségeikről, így az orvosi tanácsadáshoz hasonlóan nem beszélünk orvos – beteg kapcsolatról. Továbbá fontos szerepet játszik a megfelelő konzultációs csatorna, ahol az orvos – beteg közötti szerepmodell alapján növelhető a beteg 49
biztonság érzete és együttműködése, valamint csökkenthető a félreértések száma, gondolunk a kialakulható perekre és vitákra a két fél között. A biztonságérzet megteremtéséhez a technológiai hátteret figyelembe véve, ügyelni kell az adatok teljesen bizalmas kezelésére és az átviteli közeg magas fokú titkosítására. Kijelenthetjük, hogy az orvos-beteg kapcsolatot számos ponton újraértelmezte, vagy kiegészítette a telemedicína. Az ellene támasztott kezdeti idegenkedés, ahol gondolunk a tisztán technológiai alapokon zajló fizikai találkozásokat mellőző konzultációkra, a teljesen új légkörre az orvos és a beteg között, mind, a rendszer tökéletesítésére sarkallták az ebben az ágazatban résztvevőket, hogy a legmagasabb színvonalú szolgáltatást legyenek képesek nyújtani a betegek számára. Az általam tervezett rendszer így tehát kezdetben nem teljesíti szigorú értelemben az orvos- beteg kapcsolatot, hanem konzultációs feladatokat lát el. A továbbfejlesztésben szeretném ezt ténylegesen kialakítani, ahol már a virtuális konzultációk és a valós idejű értesítési rendszer közelebb hozza az orvost és a beteget.
4.7 A rendszer működése A megtervezett rendszer működését több ábrán keresztül szeretném bemutatni, ahol az implementált komponensek összetevőinek működését szemléltetem az adatok áramlásának útja mentén. Az első a mobiltelefon és az őt kiszolgáló szervlet objektum és adatbázis közötti adatfolyam. A kliens a már említett grafikus felület segítségével beírja az adatokat és a küldés gombra kattint. Ekkor a „MobileInformationSender” küldési metódusa segítségével továbbítjuk az adatot egy http post kérés csomagban, aminek a tartalma a mérést tartalmazó XML köteg. Egy ilyen XML fájlban a páciens felhasználóneve, vércukorszintje, a mérés pontos ideje, a súlya, a beadott inzulin mennyisége és az időpont kerülnek bele. Ezt az alábbi ábrán szemlélhetjük meg:
17. ábra XML köteg
A szervlet ezt követően fogadja a csomagot, majd elkezdi feldolgozni azt. A feldolgozáshoz a „MyUnMarshaller” osztályt használja fel. Ha a visszaalakítás sikeres, akkor ezt az adatokat a 50
„MyPersist” osztály feltölti az adatbázisba. A folyamatot a következő ábra szemlélteti: (18. ábra)
18. ábra Mobillkliens és szervlet adatfolyama
Az internetes applikációban, a meghatározott navigációs szabályoknak megfelelően alakul az adatfolyam a felépítő osztályok között. Navigációs szabályok alatt azt értjük, hogy a felhasználó az oldalak sorozatán halad végig, és a JSF keretrendszer által nyújtott támogatás ehhez, hogy, hogyan irányítsuk a felhasználót egyik oldalról a másik oldalra. Az oldal megnyitásakor a böngészőben a felhasználót a bejelentkező oldal fogadja, ahol két lehetőség közül választhat – belépés vagy regisztráció. A belépés esetén a „Login” menedzselt bean a „UserDataFacade” session bean segítségével kérdezi le az adatbázisból a felhasználóhoz tartozó adatokat. Ha rossz jelszót adtunk meg, vagy nem regisztrált felhasználóként próbálunk bejelentkezni, akkor üzenetet küld a rendszer a grafikus felületre. A regisztráció esetén a felhasználói név, jelszó, e-mail cím, vezetéknév, keresztnév és orvos neve mező kitöltése után a regisztráció gombra kattintva a program a „UserDataFacade” osztály segítségével létrehoz egy új rekordot a „UserData” táblában. Ezt követően lehetősége van a felhasználónak a belépésre. Fontos megemlíteni, hogy az oldalak közötti navigálás során, a Login objektumot végig fenntartjuk, aminek hatására az elérhető a többi osztály számára. Ezt a folyamatot láthatjuk az alábbi ábrán (19. ábra).
51
19. ábra Bejelentkezés és Regisztráció adatfolyam
A bejelentkezés után a felhasználót a már említett nyitó oldal fogadja a menüelemekkel és a háttérben az ezekhez tartozó navigációs szabályokkal. A nyitó oldalról lehetőség van továbbmenni a statisztikai fülre, a mérési adatok fülre, a levél küldése fülre, felhasználói adatok fülre vagy kijelentkezhet és a belépő képernyőre kerül. A mérési adatok oldalán a megjelenítendő
adatokért
felelős
„MeasurementDataController”
menedzselt
bean
a
„MeasurementDataFacade” session bean segítségével kérheti el az adatbázisból a felhasználó által kiválasztott hónap és évhez tartozó vércukornaplóban található adatokat. Ezt egy táblázatban tudja megtekinteni, melynek az oszlopai a mérési időpontok. Az adatbázis szintjén ez lekérdezések sorozata, mivel 8 mérést kell egy naphoz csoportosítani egy hónapban. Ebben az esetben lekérdezzük az elérhető napokat a hónapban, majd ezeket behelyettesítve a következő lekérdezésbe kapjuk meg az adott naphoz tartozó méréseket. Az adatfolyam diagramja: (20. ábra)
20. ábra Vércukornapló megjelenítés adatfolyama
A
statisztika
fülre
kattintva
a
„StatisticsController”
menedzselt
bean
a
„MeasurementDataFacade”, a regressziós osztályhierarchia és JavaScript segítségével állítja elő a nézetet. A hónap, év és mérési időpont kiválasztása után a „MeasurementDataFacade” meghívja a megfelelő lekérdezést a „MeasurementData” táblán, majd a lekérdezés adatait a
52
„RegressionAnalysis” osztálynak átadva elvégzésre kerül a statisztikai elemzés. Ezt követően adjuk át a létrejött információt a „StatisticsController” beannek ami inicializálja a Javascript függvényt és jeleníti meg a grafikont. Az adatfolyam diagramja a következő: (21. ábra)
21. ábra A statisztika oldal adatfolyama
A levél elküldése fülre kattintva a „MailController” bean állítja elő a nézetet és veszi igénybe a „SendMail” osztályt, hogy az Java message csomagja segítségével küldje el a levelet a meghatározott felhasználónak. Ehhez a folyamathoz, egy, az applikációs szerverhez beregisztrált e-mail fiók és szolgáltató segítségét vesszük igénybe (jelen esetben: bloodglucoseservice @gmail.com). Az elküldött levél fejlécében a „Login” objektumból vett felhasználó név kerül feltüntetésre és a keresztnév és vezetéknév. Az alábbi képen látható az e-mail küldés adatfolyam diagramja: (22. ábra)
22. ábra Levél küldő szolgáltatás adatfolyama
4.8 A rendszer tesztelése A rendszer teszteléséhez az otthoni számítógépemet használtam fel. Ehhez szükség volt az otthoni hálózatot kiszolgáló útvonalválasztó konfigurálására. Be kellett állítani a névfeloldást, hogy egy adott címen érhessék el a felhasználók a számítógépemet az internetről. Ennek a címe: sallaidaniel.dlinkddns.com/BGSJSF2 volt. A sikeres kapcsolathoz meg kellett határozni az applikációs szerveren egy portot amire figyelni fog, és a routeren is egy portot amiről a forgalmat tovább irányította az applikációs szerver felé. Ebben az esetben erre a 8080-as portot jelöltem ki. A funkcionális és nem funkcionális tesztelését a rendszernek felhasználók 53
és általam hajtottam végre. A felhasználóknak egy hétig lehetőségük volt regisztrálni a rendszerbe és kipróbálni azt. Ez alatt az idő alatt számos továbbfejlesztési lehetőségre hívták fel a figyelmemet és adtak jó tanácsokat a kinézettel kapcsolatban. Ezzel az oldal funkcionális működését és az oldalak közötti navigációkat teszteltem. A további validációhoz diabéteszes betegektől kapott vércukornaplóból adatokat töltöttem fel a rendszerbe és próbáltam ki a statisztikai elemzés értékeit. Ezeket az adatokat még Matlabban a Clarke-féle hibaanalízissel is próbáltam ellenőrizni. A statikus kódelemzésre a Java nyelv használatának köszönhetően nem volt szükség. A funkcionális tesztet mind a mobilalkalmazásban és az azt kiszolgáló szervleten magam végeztem.
4.9 Alkalmazott statisztikai eljárások a mérések kiértékelésére A dolgozatban felhasznált egyik legfontosabb elemzési eljárás a lineáris regresszió. Ezzel a módszerrel a rendszert jellemző paraméterek között fennálló kapcsolatot vagyunk képesek jellemezni. A mérési eredmények, értékpárokat alkotnak, ahol a vércukorszint a modellünkben a függő változó. A másik érték az idő, amit a klasszikus vércukornapló által javasolt időbeli felosztásból kapunk. Az egyenes egyenlete: 1. Egyenlet
Ahol Yi a mért vércukorszintet reprezentálja, Xi az ehhez társuló időt, a β (Béta) a koefficiens együtthatókat jelöli és e pedig a méréshez tartozó hiba. A β együtthatókból β0 az y tengely metszéspontját adja meg az egyenesnek, míg β1 az egyenes meredekségét, ami x egységnyi emelkedése alatt, y-ban mekkora változást eredményez. Szeretnénk meghatározni a és b értékét úgy, hogy az egyenes a legjobban illeszkedjen a pontokra. Tegyük fel, hogy n számú megfigyelés párunk van: (xi, yi) , i=1,2,...,n. [17] Az a+bxi egyenes egyenletével szeretnénk közelíteni az Yi-t az Xi helyen.
2. Egyenlet Ez a közelítés akkor megfelelő, ha a különbségek kicsik. A probléma megoldásához szeretnénk minimalizálni, a különbségek négyzetének szummáját, ami:
3. Egyenlet
54
Ez az összeg egy két ismeretlenes függvény a-ra és b-re nézve, mivel az (xi, yi) párok most a mérési értékeket jelölik. Ezt az összeget a reziduálok négyzetösszegének nevezzük. Az a és b paraméterek meghatározásához minimalizálnunk kell az S(a,b) függvényt. Mivel S egy kétváltozós függvény, ezért, a szélső értékeinek meghatározásához az első deriváltakat nullával kell egyenlővé tenni és megoldani az egyenletrendszert, azaz [17]
4. Egyenlet Az egyenletrendszer megoldása a-ra és b-re :
5. Egyenlet
6. Egyenlet A beszorzást követően az alábbi eredményt kapjuk:
7. Egyenlet
8. Egyenlet
Az első egyenlet,
-nel való beszorzása után a következő eredményt kapjuk:
9. Egyenlet a 9. Egyenletet a 8. Egyenletből kivonva a következőt kapjuk:
55
10. Egyenlet a 10. Egyenletből ki tudjuk fejezni b-t az alábbi módon:
és
11. Egyenlet
Ha van elegendő megfigyelésünk Y és X változóra képesek vagyunk meghatározni az ideális értékét Yi-nak. Az ideális értéke Yi-nak:
a becslés hibája pedig
. [17]
Megjegyzés: A referencia alapján íródott rész, a matematikai bizonyítás és leírás onnan származik. Amikor lineáris regressziót alkalmazunk egy tetszőleges ponthalmazon, meg kell vizsgálnunk a változók korrelációs koefficiensét, hiszen ez az érték adja meg a két érték egymáshoz mért lineáris függőségét. A programban én a Pearson-féle korrelációs együtthatót használtam fel. Ennek a tulajdonsága az, hogy értéke 1 és -1 között mozoghat. Az 1-hez és -1-hez közeli értékek azt jelképezik, hogy a rendszerben lévő változóink között milyen erős a lineáris függőség. 0 értéket akkor veszi fel, ha a pontok nem fekszenek az egyenes mentén, így tehát nincs korreláció a két változó között. -1 vagy -1 felé közelítő értékkor egy csökkenő egyenesről beszélünk, míg 1 és 1 felé korreláló értéknél növekvő egyenesről beszélünk. Ha r közel van -1 vagy 1-hez akkor a korreláció erős. A Pearson-féle korrelációs együtthatót a következőféleképpen számítjuk ki: (12. Egyenlet)
56
12. Egyenlet Pearson-féle korrelációs együttható a két változóra vett minta.
Ahol
A mérések kiértékelésénél felhasználtam a Pearson-féle korrelációs koefficienst és az átlagos becslési hibák összegének abszolút értékét, amit a következő képletből tudunk kiszámítani:
13. Egyenlet [14] Ahol n a megfigyeléseink száma, Yi az i-ik megfigyelésből származó páciens által mért eredmény, és ˆYi pedig az i-ik megfigyelés becsült értéke. Ezt az értéket felhasználhatjuk a Clarke-féle hibaanalízisben is. Továbbá a két változóra vett mintámat többféle módszerrel transzformáltam, hogy a lehető legjobb korrelációt kapjam a változóim között és a lehető legkisebb becslési hibát. Ehhez a következő transzformációkat számítottam ki: logaritmikus, exponenciális, négyzetes, quadratikus és reciprokális. Ezek nem lineáris transzformációk, de miután ezt elvégeztük a változóinkon, azok már lineáris egyenessel közelíthetővé vállnak. Rendre az alkalmazott transzformációk után az egyenes és az ideális Yi-k érték kiszámításához szükséges képletek: (1. Táblázat) Exponenciális modell
Függő változó= log(y)
log(y) = b0 + b1x
ŷ = 10b0 + b1x
Reciprokális modell
Függő változó = 1/y
1/y = b0 + b1x
ŷ = 1 / ( b0 + b1x )
Quadratikus modell
Függő változó = sqrt(y)
sqrt(y) = b0 + b1x
Logaritmikus model
Független változó= log(x)
Hatvány modell
Függő változó = log(y) log(y) = b0 + Független változó = log(x)
y= b0 + b1log(x)
ŷ = ( b0 + b1x )2 ŷ = b0 + b1log(x) ŷ = 10b0 + b1log(x)
b1log(x)
1. Táblázat A mérések pontosságának megbecsléséhez és validálásához további eljárások alkalmazhatók, amik támaszkodnak a regresszió analízis által kapott eredményekre. Ezek közül a legismertebb és legelterjedtebb módszer a Clarke-féle hiba analízis (EGA). Ezt az analízist a kezdetekben a klinikumi mérési eredményének és az otthoni mérési eredmények összevetésére használták, 57
hogy meg tudják állapítani az otthon vételezett mérések eredmények pontosságát. Az analízis során egy grafikon kerül kirajzolásra, ami további öt részre osztható, amiket A-tól E-ig címkézünk fel. Ezeknek a területeknek a grafikonon más és más jelentősége van. Az „A” zónába eső mérési eredmények azt jelentik, hogy a becsült érték a 20%-os hibahatáron belülre esik, amit elfogadható eredménynek minősíthetünk. A „B” zónába található eredmények, olyan értékek, amik még mindig elfogadhatóak, de kívül estek a 20%-os hibahatáron. Ebből még nem következtethetünk a kezelés változtatására. A „C” régióba eső pontok, a nem megfelelő kezelés következtében kapott eredmények. Itt gondolunk az inzulin nem megfelelő mértékű beadására vagy a túl magas szénhidrátadag bevitelére. A „D” régióban már olyan mért értékek szerepelnek, amik hyperglikémia vagy hypoglikéma bekövetkeztével mérhetőek és ezek már veszélyesek a beteg egészségének szempontjából. Végül az „E” zóna, ami a helytelen kezeléséből fakad az előbb említett két jelenségnek. Egy páciens vércukornaplójából származó értékek, amiket feldolgoztam. (23. ábra) Az X egyenesen a referencia vagyis a beteg által mért értékek skáláját láthatjuk 35 ml / mol értékig, míg az Y egyenes a regresszió analízis által kapott ideális értékek skálája ami szintén 0-tól 35 ml / mol értékig terjed. A mérési értékeket pontokkal jelöltem. A 23. ábrán látható diagramot Matlab programmal hoztam létre.
23. ábra Clarke-féle hiba analízis eredménye
58
5 Összefoglalás A dolgozat keretein belül lehetőségem volt megismerkedni számos tudományág céljával és az ott folyó kutatások eredményeibe is bepillantást nyerhettem. A telemedicína területén folytatott irodalomkutatás alapján láthattam, hogy ez a tudományterület mennyire dinamikusan fejlődik. Az általa kínált eredmények biztatóak a betegellátás és az egészségügy területén valamint a kapcsolódó szolgáltatásoknál egyaránt. A rendszer megtervezésekor számos eszköz került felhasználásra, ahol
gondolunk az alkalmazott
programozási
nyelvekre
és
keretrendszerekre. Így a dolgozat megírása során, a megvalósításkor megtanulhattam a Java Enterprise által kínált szolgáltatásokat, mint az Objektum reláció leképezés és az ehhez társuló Java Persistence Api kezelése vagy egy applikációs szerver konfigurálást és üzembe helyezését. Továbbá a webes technológiákban használt különböző nyelvek, mint a HTML5, CSS3 vagy Javascript ismerkedhettem meg, amik napjainkban nagyon népszerűek és az interneten rengeteg oldal építkezik erre. A feladat kiírásokat a véleményem szerint teljesítettem, ahol a tervezéstől a megvalósításig konzultáltam diabéteszben szenvedő betegekkel és az őket kezelő orvosokkal. A társuló irodalmat tanulmányoztam, ahol próbáltam azonosulni a vércukorbetegséggel küzdő emberekkel és átérezni a nehézségeket, amiket minden nap átélnek emiatt. Ez azért volt szükséges, hogy az implementálás során a betegekkel való együttműködés révén egy jobban használható rendszert tudjak létrehozni. A telemedicína témával foglalkozó cikkeket olvastam el, ahol különböző telekommunikációs eljárásokat felhasználva, valamilyen betegséget támogató és monitorozó rendszereket valósítottak meg a szakemberek. Odafigyeltem az adatok bizalmas kezelésére és azoknak a portáloknak a biztonságára, ahol ezeket megjeleníthetjük. A tesztelést tekintve interneten elérhetővé tettem a tervezett rendszert és azok, akinek kedve volt regisztrálhatott, adatokat tölthetett fel és tekinthette meg a rögzített mérési eredményeket. A rendszer további tesztjeit kapott vércukornaplókból felvett eredményekkel tettem. Meggyőződésem szerint, megfelelő továbbfejlesztési stratégiával és türelemmel egy akár Magyarországon is sikeres újvonalas program kerülhet kiadásra a közeljövőben, ami segíthet a kezdetben a betegellátásban tanácsadás jelleggel később pedig konzultációs jelleggel is akár.
59
6 Továbbfejlesztési lehetőségek A megtervezett rendszer számos lehetőséget kínál a továbbfejlesztésre. A továbbfejlesztés paramétereinek meghatározásához, elsődlegesen fel kell mérni az orvos és beteg véleményét a már meglévő szoftverről, valamint az őáltaluk támasztott további igényeket, ami a meglévő szoftver funkcióira építkezik és meg kell állapítani azokat az új eszközöket amik, növelhetik a betegnek nyújtott szolgáltatás és ellátás minőségét és tovább segítheti az orvos munkáját a pontosabb
kezelés
kialakításában
és
az
ebből
fakadó
stabilabb
vércukorkontroll
fenntartásában. Továbbá figyelembe kell venni a piacon megszületett próbamegoldásokat és azok funkcióit, hogy ez által levonva a megfelelő következtetéseket tudjuk levonni a statikus analízist követően. Az egyik fontos részét képezi a továbbfejlesztésnek egy egyedi vércukormérő berendezés megkonstruálása, ami képes lesz a mobiltelefonnal kommunikálni. A készülék működését tekintve, a folyamatos vércukormérők családjába tartozna, azon belül is a nem invazív metódust követné. Ennek megtervezését és kialakítását tekintve, a beteg oldaláról a mindennapok szerves részét képező, könnyen és gyorsan használható valamint fájdalommentes készüléket jelentené, míg az orvos oldaláról egy megbízható és magas támogatottságú mérőberendezés lenne. Számos olyan elképzelés létezik már napjainkban is, ahol ezek a vércukormérők például az emberi szem folyadékából veszik a megfelelő információt a nanotechnológia nyújtotta új eszközök révén. Ilyen kutatást a Nyugat Ontarioi Egyetemen végeznek például.[6] De ismerünk olyan megoldásokat is mint a Cyngus cég által gyártott GlucoWatch koncepció is, ami a bőrfelületén keresztül iontoforézis elve alapján működő bioszenzor segítségével méri a megfelelő vércukor adatokat.[4] Az ehhez hasonló koncepciók figyelembevételével szeretném megtervezni a saját berendezésemet is, ami a fejlődő és modern technológiákat használja fel az implementáció során. Kiemelten fontos szerepet fog játszani, egy olyan kommunikációs port megépítése a megtervezett eszközök belül, amivel képesek leszünk megteremteni a mérőeszköz és a mobiltelefon közötti kapcsolatot. Ennek a kommunikációs interfacenek az alapját egy wi-fi chipet tartalmazó egység fogja képezni. A választás azért a „wireless-free” kommunikációs protokollra eshet, mert szint az összes okostelefonban már van ilyen, és sebességét tekintve jóval felülmúlja a telefonokba épített régebbi protokollok sebességét, mint a Bluetooth vagy az Infravörös port. Az eszközök közötti kommunikációnak elsődlegesen automatikusnak kell lennie, amivel nem kell foglalkoznia a betegnek és az orvosnak, ezáltal is segítve őket. A sebességet képesek vagyunk garantálni a wi-fi szabványok által garantált átviteli sávszélesség miatt, ami megközelítőleg 50 MBittől egészen 800 MBitig terjed. Ez azért fontos, mert a folyamatos adatgyűjtésből származó rengeteg információt közvetíteni kell minél előbb az arra alkalmas helyre. Továbbá garantálnunk kell az adatok biztonságos átvitelét, amit garantálhatunk a 60
különböző titkosítási eljárásokkal, mint a WPA, WPA2 vagy akár WEP. Miután a mérőberendezés megépítésre került és a kommunikációt biztosítottuk, az egész rendszert tesztelni kell betegek és orvosok által. A második legfontosabb fejlesztési ága a projectnek ezt követően a mérőrendszert támogató szoftverek továbbfejlesztése. Az interneten elérhető oldalon számos olyan funkció bevezetése lesz a cél, mint az értesítési rendszer implementálása, egy predikciós rendszer kialakítása, a támadások és adatvisszaélés elleni technológiák alkalmazása a még nagyobb biztonság érdekében, a virtuális kommunikációt lehetővé tevő alkalmazások beágyazása és egy komplett étkezési tanácsadó szolgáltatás. Az értesítési rendszer alapját a döntési rendszer által meghatározott értékek képzik majd. Ezeket az értesítéseket, amik lehetnek akár e-mailek, az oldalon megjeleőn „push” üzenetek, és SMSek is egyaránt. Az értesítéseket egy beállított küszöb átlépése után kezdené el küldeni a rendszer az orvosnak. Ennek használata azért indokolt, mert képesek lennénk az orvost és a beteget egyaránt figyelmeztetni a vércukorszintek alakulásáról, mivel a megfelelő időben történt korrigálás a terápián vagy beavatkozás mind a beteget védi. Ahhoz, hogy az értesítési rendszer jól működjön, implementálni kell egy döntési rendszert is, ami a mért és matematikai elemzésből kapott adatokon alapszik. A döntési rendszer főbb komponensei közé tartozik a statisztika által szolgáltatott többparaméteres regresszió analízis, ahol szeretném igénybe venni a már ismertetett effektív metódusokat. A még meg nem mért adatok előre becsléséhez a statisztikai kiértékeléseket és egy neurális hálózatot felhasználva jutnánk hozzá, ami, egy pontosabb képet adna a vércukorszintek alakulásáról. Ez a két szoftverkomponens fogja képezni első körben a legnagyobb újításokat az oldal funkcióit tekintve, mind az orvos, mind a beteg oldaláról. A következő nagyobb blokk a kommunikációért felelős 3pp alkalmazásokat támogató program beágyazása. Ezzel lehetővé válik majd az orvos és a beteg közötti valós idejű kommunikáció, vagyis a televisit, ami eleget tesz a telehealth és e-health új szabványainak. Tehát ennek az alkalmazásnak képesnek kell lennie videokonferencia létesítésére, így mind a képi, mind az audio információk átvitelét garantálnia kell. Az alkalmazásnak kezelnie kell a kliensek fiókjait, amik lehetnek Skype, Windows Live Messenger, Jabber, Facebook. Végül a legutolsó blokk egy olyan alrendszer kialakítása lesz, ami tartalmazni fogja a betegek étkezéseinek adatait. Gondolunk itt az elfogyasztott szénhidrátok mennyiségére, ezek glikémiás indexére, zsírtartalmára, fehérjetartalmára, energiatartalmára. Ez azért bír nagy jelentőséggel, mert a döntési rendszert ezeknek az adatoknak a felhasználásával képesek leszünk tovább finomítani, jóval pontosabb előre jelzett adatokat biztosítani, ami így implicit módon az értesítési rendszer hatékonyságát is növelni fogja. Ehhez egy komplett adatbázist kell implementálni, és beépíteni a megfelelő paramétereket a matematikai modellbe. Erre alapozva, különböző statisztikákat is képesek leszünk kimutatni és számos oktató anyagot közölni a betegekkel a vércukor szintjükre tett hatásait a különböző ételeknek, szénhidrátoknak. A biztonsági rendszer szolgáltatásait 61
tekintve, a felhasználók adatainak eltárolása könyvtárszerkezetű hierarchiát támogató protokollon keresztül egy hashelt adatbázisban lesz eltárolva, bizonyos kódolási eljárások alkalmazása után (például: MD5). Ezzel egy időben a mobil kliens továbbfejlesztését is tervezem, amivel elvárás, hogy a legelterjedtebb mobil operációs rendszereken tudják használni a betegek (Android, iOS, WP7). A mobil alkalmazásba kerülő új komponensek, a vonalkód leolvasó rendszer és egy szimulációs tesztet támogató alrendszer lesz. A vonalkód leolvasó modulra azért lesz szükség, mert napjainkban a forgalmazott termékek egyedi vonalkóddal vannak ellátva, amiből képesek leszünk meghatározni az adatbázisban eltárolt értékek segítségével a szénhidrát tartalmukat és más egyéb paramétereket. Az étkezési értékeket támogató főrendszertől fogja az adatokat elérni a mobilkliens és lekérdezni az információt adott termékről. Ha a termékről nem lesz elérhető információ, akkor képes lesz azt az adatbázisba bevinni. Erre és a döntési rendszerre építkező másik alrendszer a szimulációs komponens, ami vizuálisan fogja megjeleníteni az értékeket grafikonokon keresztül. A lényege az lesz, hogy a vonalkód leolvasó által küldött információból a matematikai analízist követően a vércukorszint rövidtávú változását lesz képes megtekinteni a beteg, ha azt az étel elfogyasztja. Ez különösen az olyan diabéteszben szenvedőknek lesz hasznos, akik még csak most ismerkednek a betegségükkel.
62
7 Köszönetnyilvánítás Szeretnék köszönetet mondani, Tihanyi Attila tanár úrnak, aki rendszeresen energiát és türelmet nem sajnálva segített hozzá a dolgozat megírásához. Az esti Skype beszélgetéseket, ahol sikerült lelket öntenie belém és jó tanácsaival, olykor vicceivel hozzájárulni a dolgozat eredményességéhez. A tanár úr rutinja és gyakorlatiassága felbecsülhetetlen volt a hónapok során, az a szemléletmód, amit átadott, a jövőmre nézve úgy érzem nélkülözhetetlen. Továbbá szeretnék köszönetet mondani Sram Norbert PhD hallgatónak az óbudai egyetemről, aki személyes jó barátom egyben. Az ő tanácsára született meg a program új programozási nyelvekből és elveknek megfelelően. A mentorállásával és bíztatásával próbáltam a lehető legjobban megírni az olykor sok nehézséget okozó programot. Köszönet Nagy Szilvia PhD hallgatónak a Semmelweis Egyetem Orvostudományi és Élettani karáról, aki a kifejezetten az inzulin szekrécióval és a biológiai vonatkozásaival látott el jó tanácsokkal. Továbbá köszönöm azoknak az embereknek, akik együttműködtek a tesztek során és azoknak akiktől vércukornaplót kaptam, hogy kipróbálhassam a program funkcióit. Végül köszönöm a Pázmány Péter Katolikus Egyetem Információs Technológiai karának mindazt a támogatást, amit biztosított a szakdolgozat megírásához. Gondolok itt a technikai háttérre és a tudásanyagra amit, oly sok kedves oktatóm próbált meg átadni nekem az évek során kisebb nagyobb sikerrel. Végül a családomnak, édesanyámnak és nagymamáknak szeretném megköszönni a türelmét az iskolában eltöltött évek alatt, amikor már azt hitték, hogy feladom, mindig volt hozzám valami kedves és bíztató szavuk. Ez a dolgozat a fent említett személyek közreműködése nélkül nem születhetett volna meg. Szeretném ajánlani nekik ezt a dolgozatot.
63
8 Irodalomjegyzék [1]
Wireless Telemedicine as Part of an Integrated System for E-Medicine; Ivan Chorbev, Gjorgij Madzarov, Dragan Mihajlov
[2]
E-Health, Telehealth, and Telemedicine: a Guide to Start-up and Success; Marlene M. Maheu, Pamela Whitten, Ace Allen
[3]
Cost-Effectivness of the Diabetes Care Protocol, a Multifaceted Computerized Decision Support Diabetes Management Intervention That Reduces Cardiovascular Risk; Frits G. W. Cleveringa MD, Paco M. J. Welsing PHD, Maureen Van Den Donk PHD, Kees J. Gorter PHD, Louis W. Niessen PHD, Guy E. H. M. Rutten PHD, William K. Redekop PHD
[4]
Electrochemical Glucose Biosensors; Joseph Wang
[5]
Telemedicine And E-health Law; Lynn D. Fleisher,James C. Dechene
[6]
Nanocomposite Could change diabetes treatment; Canada Foundation For Innovation
[7]
The Promotora Telemedicine Project: Combining Technology and Cultural Sensitivity to Improve Diabetes Care in a Medically Underserved Community; Jack Higgins, MD, J. Joseph Prendergast, MD, Walter M. Bortz II, MD
[8]
Development of the Portable Blood Glucose Meter for Self-monitoring of Blood Glucose; Qi Li, Jingqi Yuan
[9]
Global
burden
of
diabetes,1995-2025:
prevalance,
numericalestimates,
and
projections; . King H, Aubert RE, Herman WH. [10]
Diabetes Care 1998;21:1414-31.
[11]
Burden of type 2 diabetes; Zimmet P.
[12]
Magyar Diabétesz Társaság kiadvány; Magyar Diabétesz Társaság
[13]
Szoftverfejlesztés Java EE platformon; Imre Gábor
[14]
Model-based calibration of a non-invasive blood glucose monitor; Yelena Shulga
[15]
Glucose Test Strips and Electroanalytical Chemistry in the Undergraduate Laboratory; Jonathon O. Howell, Peter T. Kissinger, Arlen D. Kaufman and Hsiang-JuiYeh
64
[16]
Telemedical Artificial Pancreas; Alberto De Leiva PHD, Maria Elena Hernando PHD
[17]
Két mennyiség kapcsolatának vizsgálata, korreláció és lineáris regresszió; Dr. Szörényi Miklós
65
9 Mellékletek A mellékelt CD-n található tartalom:
A szakdolgozat elektronikus formában.
A programból származó képek.
A programok mappában az elkészített programok forráskódja.
BGSJSF2 mappában az interneten használható alkalmazás.
Blood Glucose Service mappában a szervlet alkalmazás.
JAXB mappában a mobilkliens küldő logikája.
66