SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE FAKULTA ELEKTROTECHNIKY A INFORMATIKY Katedra informatiky a výpočtovej techniky Študijný odbor: Softvérové inžinierstvo
Podpora rozhodovania pri stanovovaní EMG diagnózy
Tímový projekt
Tím č. 5: Vedúci projektu: Bc. Matej Makula doc. Ing. Mária Bieliková, PhD.
Podpora rozhodovania pri stanovovaní EMG diagnózy Určovanie diagnózy pacientov pomocou EMG (elektromyografia) je náročný proces. Cieľom projektu je analyzovať proces stanovovania diagnózy z pohľadu informatiky. Treba sa zamerať najmä na údaje, ktoré sa pri EMG vyšetrení získavajú a následne spracúvajú. Vychádza sa z existujúceho softvérového systému na zber údajov z EMG vyšetrenia (tento je k dispozícii aj so zdrojovými textami programov v Turbo Pascale). Na základe analýzy problému a existujúceho softvérového systému treba navrhnúť softvérový prostriedok, ktorý podporí rozhodovanie v súvislosti so stanovovaním diagnózy pacientov pri EMG vyšetrení. Dôraz sa kladie najmä na:
Návrh musí zohľadňovať ECCO formát EMG údajov, ktorý sa v súčasnosti používa (existuje k nemu podrobná dokumentácia). Vybrané časti navrhnutého systému implementujte. Projekt sa rieši v náväznosti na medzinárodný projekt EMG net (Európska výskumná sieť pre inteligentnú podporu elektormyografie medzi tímami informatikov a lekárov). V rámci tohto projektu možno získať informácie potrebné najmä pri analýze problému. Úvod Témou nášho projektu je „Podpora rozhodovania pri stanovení EMG diagnózy“ a priestorom na jeho realizáciu je predmet Tímový projekt 1. ročníka inžinierskeho štúdia na Fakulte elektrotechniky a informatiky STU v Bratislave. Zadanie projektu je súčasťou medzinárodného projektu EMGnet, ktorý sa zaoberá získavaním a spracovávaním údajov z EMG vyšetrenia a inteligentnou podporou elektromyografie. Do tohto projektu je zapojených viacero krajín vrátane Slovenska. Na projekte spolupracujú lekári Neurologickej kliniky Fakultnej nemocnice v Bratislave a pedagógovia a študenti Katedry informatiky a výpočtovej techniky FEI STU v Bratislave. Cieľom projektu EMGnet je vytvoriť a udržiavať centrálnu databázu údajov z EMG vyšetrenia, ktorá by v budúcnosti mohla slúžiť pri podpore diagnostiky a na zisťovanie súvislostí medzi symptómami a diagnózami, ako aj vytváranie štatistík o stave populácie. Na Slovensku je počítačové spracovanie údajov z vyšetrení zatiaľ iba v začiatkoch. Prvoradým cieľom je umožniť komunikáciu medzi lekárskymi pracoviskami, centrálnu evidenciu vyšetrení a zdieľanie získaných údajov. Táto databáza by v budúcnosti mohla slúžiť ako východiskový bod pre ďalšie projekty. Problematika je pomerne rozsiahla a preto naša práca položí pravdepodobne iba základy, na ktorých sa bude dať v budúcnosti stavať. Našou úlohou je navrhnúť systém s distribuovanou architektúrou, ktorý by spomenuté problémy riešil. Požiadavkou na navrhované riešenie je kompatibilita s existujúcim a rozšíreným formátom údajov EMG vyšetrenia - ECCO. Tento dokument predstavuje dokumentáciu k vývoju projektu. Bude rozdelený do dvoch samostatných častí. Prvá časť - Riadenie projektu bude opisovať vytváranie systému vo forme štruktúrovaných dokumentov, druhá - Výsledok – softvérový systém sa bude venovať životnému cyklu vytváraného softvérového systému. Rovnakú tému riešia dva samostatné tímy. Náš tím (č. 5) tvoria študenti:
Vedúcou nášho tímu je doc. Ing. Mária Bieliková, PhD.
Riadenie projektu
Táto časť obsahuje štruktúrované dokumenty vytvorené v rámci organizačných procesov nášho projektu. Nepredstavuje homogénny celok pozostávajúci z navzájom previazaných častí, ale skôr samostatné dokumenty usporiadané v chronologickom poradí. Obsahuje Ponuku, na základe ktorej nám bol pridelená téma projektu, Plán projektu, ktorý opisuje jednotlivé činnosti celého tímu v rámci časového harmonogramu. Časť Úlohy v tíme charakterizuje krátkodobé i dlhodobé úlohy jednotlivých členov a ich postavenie v tíme. Zápisy zo stretnutí obsahujú záznamy zo stretnutí členov tímu počas vývoja projektu. Jej súčasťou sú aj preberacie protokoly.
1. Náš tímPozostáva z piatich členov, ktorí sú v súčasnosti študentmi prvého ročníka inžinierskeho štúdia na Fakulte elektrotechniky a informatiky STU v Bratislave s veľmi dobrým prospechom. Jednotliví členovia majú skúsenosti s prácou v tíme z predmetu Ročníkový projekt, v ktorom sa podieľali na riešení viacerých skupinových úloh. V nasledujúcich odstavcoch sa Vám ich pokúsime podrobnejšie predstaviť. Matej Makula – Je externým spolupracovníkom firmy EL&T s.r.o. zaoberajúcej sa publikovaním a marketingom na Internete. Z väčších projektov sa venoval napríklad sprístupneniu databázy čerpacích staníc spoločnosti Slovnaft, a.s. na jej webovskej stránke, ako aj tvorbe iných aplikácií na WWW. Praktické znalosti tejto problematiky využil aj pri riešení zadania ročníkového projektu. Jeho témou bol "Manažment verzií dokumentov na WWW", pričom na riešení úlohy sa podieľali viacerí študenti, vďaka čomu získal skúsenosti s prácou v tíme. Z programovacích jazykov, ktoré mu môžu byť užitočné pri riešení samotného projektu, ovláda C/C++, Java, Pascal a Perl. Pri vývoji programov používa väčšinou prostredie Microsoft Developer Studio. Tomáš Milička - Téma jeho ročníkového projektu znela "Objektovo - orientovaný prístup k tvorbe aplikácie" a pri jej spracovaní nadobudol znalosti potrebné pre návrh spoľahlivých a kvalitných aplikácií. Tieto znalosti chce plne využiť i pri riešení zvolenej témy. Na študentskom serveri Fornax pracuje ako správca webovských stránok a má aktívne i pasívne znalosti o najmodernejších internetových technológiách. Niektoré z nich možno použiť aj pri riešení danej témy, ako napríklad spojenie webovského servera s databázou (Apache - MySQL). Ovláda skriptové jazyky (PHP3 a JavaSript) a programovací jazyk Java, vhodný pre heterogénne prostredie, akým je Internet. Výber predmetov v inžinierskom štúdiu je taktiež blízky zvolenej téme. Zvolené predmety, ako Znalostné systémy, Počítačové siete III. a Manažment v softvérovom inžinierstve, predurčujú danú tému ako vhodný študijný doplnok k predmetom. Ivan Noris - Spolupracoval s viacerými členmi tímu na ročníkovom projekte s témou "Manažment verzií dokumentov na WWW", pričom získal skúsenosti s tímovou prácou a zdokonalil svoje znalosti z oblasti uchovávania a interaktívnej prezentácie údajov na Internete. Ovláda niekoľko programovacích jazykov, z ktorých najviac využíva C a Perl, najmä na vytváranie dynamických WWW stránok pomocou CGI skriptov. Okrem programovania sa venuje aj dizajnu, pôsobí ako správca WWW stránok na študentskom serveri Fornax. Pracoval ako sieťový operátor vo firme Telenor Slovakia s.r.o. a učiteľ na gymnáziu (oblasti informatika a Internet). Počas štúdia získal potrebné vedomosti o databázových systémoch, ktoré chce aj naďalej rozvíjať. Boris Vasilovčík - Má skúsenosti s tímovou prácou vďaka 1,5-ročnej praxi v softvérovej firme Comtex, s.r.o., zaoberajúcej sa tvorbou databázových systémov. Ovláda programovacie jazyky C/C++, CLIPPER, XBASE++, počas štúdia však získal aj vedomosti z ďalších jazykov (SQL, Lisp, Perl, Prolog). Ako člen tímu sa špecializuje na programovanie a v menšej miere na dizajn. Témou jeho ročníkového projektu bolo "Vyšetrovanie dynamického systému", konkrétne návrh softvéru na tvorbu a skúmanie vlastností neurónových sietí. Jeho obľúbeným vývojovým prostredím je Microsoft Developer Studio. Karol Vlasko - V minulosti pracoval na viacerých projektoch. Pri práci na ročníkovom projekte "Manažment verzií dokumentov na WWW" získal skúsenosti s prácou v tíme. Zaujíma sa o problematiku aplikácií súvisiacich s Internetom, ako aj tvorbou príťažlivých WWW stránok s využitím najmodernejších internetových technológií. Je schopný pracovať vo viacerých programovacích jazykoch, ako napríklad C++, Perl, SQL, Java, Pascal. Počas štúdia získal potrebné vedomosti z databázových systémov. Má skúsenosti s prácou v integrovaných vývojových prostrediach Microsoft Developer Studio a Borland Delphi. 2. MotiváciaTéma nás zaujala, pretože sa zaoberá nie príliš bežným problémom. Požiadavkou nie je iba vytvorenie informačného systému na správu údajov, ale aj vytvorenie silne špecifických operácií na manipuláciu s nimi. Údaje treba spracovať s využitím špeciálnych znalostí, pretože určenie výslednej diagnózy je komplikovaný proces, ktorý nezávisí iba od výsledkov vyšetrenia. Okrem toho musí byť systém schopný pracovať s údajmi nachádzajúcimi sa v distribuovanom prostredí. Ponúka sa tiež zaujímavá možnosť zamerať v etape analýzy ľudské zdroje na skúmanie už existujúceho systému "CASETOOL" vo forme zdrojových textov programu. Príťažlivým atribútom tejto témy je bezpochyby aj jej náväznosť na medzinárodný projekt EMGnet. 3. Čo môžeme poskytnúťVšetci členovia tímu majú skúsenosti s prácou v tíme, čo nám pomôže pri organizácii práce. Každý člen má praktické i teoretické znalosti z viacerých oblastí, ktoré sa vzájomne dopĺňajú, čo je jedným z predpokladov kvalitného tímu. Ponúkame vysoké pracovné nasadenie a seriózny prístup, čo, ako pevne veríme, prispeje k úspešnej realizácii celého projektu. Samotný plán riešenia projektu je ovplyvnený harmonogramom predmetu Tímový projekt, ktorý je časovo silne ohraničený a preto možno predpokladať, že použijeme vodopádový model vývoja softvéru. Na záver zimného semestra je okrem iného požadovaným výstupom aj prototyp vybraných častí systému, ktorý bude pravdepodobne "prototypom na zahodenie" a bude teda vytvorený s cieľom porozumieť nepochopeným požiadavkám. To však bude možné s istotou potvrdiť až po vytvorení špecifikácie systému. Keďže formát uchovávania údajov zozbieraných pri EMG vyšetrení (ECCO) je neefektívny, bude nutné navrhnúť nový formát. Treba realizovať i konverziu medzi nimi, aby používatelia existujúcich systémov pracujúcich s formátom údajov ECCO mohli použiť aj údaje zozbierané novým systémom. Predbežné úvahy o architektúre systému Keďže značný dôraz sa kladie na návrh architektúry systému, ponúkame koncepciu založenú na distribuovanej databáze. Nami navrhované riešenie obsahuje jeden globálny EMG databázový server a viacero lokálnych EMG databázových serverov (Obr. 1). Lokálne databázové servery predstavujú jednotlivé zdravotnícke strediská alebo ordinácie súkromných lekárov. Obr. 1 Návrh architektúry systému
4. Predpokladané zdrojeVybavenie laboratória pre tímový projekt zodpovedá našim hardvérovým nárokom, hoci v praxi by bolo nutné zvýšiť výkon servera na ukladanie globálnej databázy. Softvérové požiadavky budú zrejmé až po podrobnejšom preštudovaní problematiky, pravdepodobne nám však opäť bude vyhovovať laboratórium pre tímový projekt. Ak by sa v etape návrhu resp. implementácie vyskytli špecifické požiadavky z hľadiska softvéru, tím je schopný potrebný softvér zaobstarať. Pre upresnenie uvádzame predbežné požiadavky na vybavenie softvérového laboratória.
5. Priority témUsporiadanie tém podľa priority.
6. Návrhy zmienMožno by bolo zaujímavé zapojiť do výberu resp. prípravy tém samotných študentov, ako to bolo napríklad v predmete Princípy softvérového inžinierstva. Študenti by si zvolili ľubovoľnú tému v rozsahu zodpovedajúcom predmetu Tímový projekt, ktorú by prekonzultovali s učiteľom, ktorý by zadanie témy vhodne upravil. Tak by sa docielil maximálny záujem študentov o problematiku a tým aj lepšie výsledky a spracovanie témy. V prípade realizácie tohto návrhu by však bolo potrebné, aby si študenti vyberali a nahlasovali témy s dostatočným predstihom, najlepšie ešte počas predchádzajúceho semestra.
|
Prezentácia ponuky
Podpora rozhodovania pri stanovení EMG diagnózy
Tím č. 5:
Bc. Matej Makula
Bc. Tomáš Milička
Bc. Ivan Noris
Bc. Boris Vasilovčík
Bc. Karol Vlasko
Čo môžeme poskytnúť:
· seriózny prístup
· vysoké pracovné nasadenie
· znalosti prostredia WWW a databázových systémov
Úvahy o návrhu:
· distribuovaná databáza
· formát údajov (ECCO)
· použiteľný softvér
Hrubý plán projektu je určený zadaním predmetu Tímový projekt a je opísaný v prvej tabuľke. Zjemnenie tohoto plánu sa nachádza v druhej tabuľke. Podrobnosti o plnení plánu v aktuálnom týždni sa nachádzajú v kapitole 5.
Týždeň
Hrubý plán určený zadaním predmetu Tímový projekt
1
Ponuka (vytvorenie a nahlásenie tímov, zverejnenie tém a požiadaviek na vypracovanie ponuky)
2
Ponuka (spracovanie ponuky - každý tím spracuje minimálne jednu ponuku, uskutočnenie stretnutí pre jednotlivé témy)
3
Odovzdanie ponuky a jej prezentácia
4
Vyhodnotenie ponúk, určenie rozvrhu a učiteľa pre tím
5
Rozdelenie úloh, vytvorenie plánu projektu, analýza problému (špecifikácia požiadaviek, štúdium problematiky)
6
Analýza problému, hrubý návrh riešenia
7
Analýza problému, hrubý návrh riešenia
8
Odovzdanie dokumentácie špecifikácie riešenia spolu s hrubým návrhom
9
Odovzdanie posudku špecifikácie a hrubého návrhu iného tímu
10
Dopracovanie zistených nedostatkov a návrh prototypu vybraných častí
11
Implementácia prototypu vybraných častí
12
Odovzdanie prototypu vybraných častí systému spolu s dokumentáciou a používateľská prezentácia prototypu
Týždeň
Zjemnený plán prispôsobený pre náš projekt
1
vytvorenie tímu, prvé úvahy o výbere témy, na ktorú sa vypracuje ponuka
2
zúčastnenie sa jednotlivých stretnutí a konzultovanie jednotlivých tém. Výber témy, určenie úloh pre vypracovanie dokumentu ponuky a jej vypracovanie
3
odovzdanie ponuky a jej prezentácia
4
vyhodnotenie ponúk, určenie rozvrhu a učiteľa pre tím
5
formálny úvod do projektu, Rozdelenie úloh pri analýze, analýza problému z viacerých pohľadov (ECCO formát, CASETOOL, EMG vyšetrenia), štúdium problematiky, úvahy o postavení členov v tíme
6
rozdelenie úloh v tíme, analýza problému, hrubý návrh riešenia, vytváranie príslušných dokumentov (analýza údajov ECOO, softvéru CASETOOL, úvahy o novom formáte, distribuovanej architektúre, z rôznych pohľadov, rôzne alternatívy), konzultácie o štruktúre výsledného dokumentu
7
stretnutie s lekármi a diskusia o nejasných oblastiach (existujúci softvér CASETOOL, detaily vyšetrenia, ujasnenie pojmov,...), konzultácie vytvorených dokumentov, návrhy zmien, diskusie o alternatívach pri hrubom návrhu, rozdelenie ešte nespracovaných oblastí, spájanie vytvorenej dokumentácie do schválenej štruktúry, kontrola formálnej úrovne
8
vytvorenie záverečnej verzie dokumentácie, naplánovanie ďalších etáp projektu, úvahy o implementačnom prostredí
odovzdanie dokumentácie analýzy – špecifikácie riešenia spolu s hrubým návrhom
9
odovzdanie posudku špecifikácie a hrubého návrhu iného tímu
transformácia ECCO formátu do databáz, úvahy o prototype
10
dopracovanie zistených nedostatkov a návrh prototypu vybraných častí
11
implementácia prototypu vybraných častí
12
odovzdanie prototypu vybraných častí systému spolu s dokumentáciou a používateľská prezentácia prototypu
3, 8, 9, 12 - kontrolný týždeň v ktorom je nutné odovzdať dokumentáciu, prototyp, ...
Úlohy členov tímu sú organizované v dvoch tabuľkách. V prvej sa nachádzajú dlhodobé úlohy a role členov tímu, ktoré sú v súčasnosti identifikované. V druhej tabuľke, ktorá je aktualizovaná každý týždeň sú umiestnené aktuálne úlohy, ktoré členovia tímu v príslušnom týždni riešia.
Člen tímu
Dlhodobé úlohy členov v tíme
Makula - vedúci tímu - dokumentácia dozerať nad vývojom projektu, termíny, stav projektu spolu s Norisom spájať finálne verzie dokumentov do konzistentného celku Noris - zástupca vedúceho tímu - dokumentácia viď vedúci, spájanie finálnych verzií dokumentov do konzistentného celku, tvorba a dohľad nad web stránkou Vlasko - web stránka tvorba web stránky, ďalšie úlohy súvisiace s analýzou a spracovaním informácií Milička - databázy, architektúra Vasilovčík – databázy, architektúra
Stretnutie č. 1
Tím č. 5
Dátum: 18. 10. 1999
Čas: 14:00
Miesto: d07b
Účastníci: M. Makula, T. Milička, I. Noris, B. Vasilovčík, K. Vlasko
Vedúci projektu: M. Bieliková, M. Smolárová
Priebeh:
Oboznámenie sa z formalitami
stretnutia sa budú konať pravidelne každý týždeň v utorok o 10:00
Dokumentácia
na vytváraní by sa mal podieľať celý tím, jeden vybraný člen však bude zodpovedný za výsledné spojenie dokumentácie (jedna rola v tíme);
aj dielčie úlohy by mali byť zdokumentované;
možné rozdelenie štruktúry dokumentácie na (riadenie projektu a výrobok);
súčasťou dokumentácie je aj webovská stránka;
jej tvorbou boli poverení členovia Vlasko a Noris.
Ciele projektu
navrhnúť a vytvoriť infraštruktúru (distribuovanú architektúru) pre podporu spracovania výsledkov vyšetrenia EMG;
sprievodné úlohy
analýza ECCO formátu - z tohoto formátu je nutné vychádzať ako z existujúceho a rozšíreného štandardu;
návrh nového formátu, ktorý by podporoval distribuovanú architektúru systému;
podporné prostriedky pre komunikáciu, napr. komunikáciu lekárov pri konzultovaní diagnóz;
ďalšie úlohy budú zrejmé po konzultácii s lekármi, ktoré sa uskutoční v priebehu nasledovných týždňov;
Úlohy do budúceho stretnutia:
individuálne sa pozrieť na softvér CASETOOL, Milička podrobnejšie, tak aby mohol na ďalšom stretnutí informovať ostatných členov;
Makula - vypracovať zápis zo stretnutia;
Noris a Vlasko - pripraviť a navrhnúť úvodnú verziu stránky;
Vasilovčík - pozrieť dokument o štruktúre údajov ECCO;
zamyslieť sa nad rolami v tíme.
Vypracoval: M. Makula
Stretnutie č. 2
Tím č. 5
Dátum: 26. 10. 1999
Čas: 10:00
Miesto: d07b
Účastníci: M. Makula, T. Milička, I. Noris, B. Vasilovčík, K. Vlasko
Vedúci projektu: M. Bieliková
Téma stretnutia (podľa harmonogramu) : Analýza problému, hrubý návrh riešenia
Vyhodnotenie úloh z predchádzajúceho stretnutia :
predložili sme zápis z predošlého stretnutia s nasledovnými závermi:
zápis z každého stretnutia sa predloží na ďalšom stretnutí v tlačenej forme jeden krát
musí obsahovať číslo tímu a kto vypracoval zápis
vypracovávanie zápisu zo stretnutí bude kolovať po členoch tímu (budúci zápis vypracuje I. Noris)
určenie rolí v tíme:
vedúci tímu: Matej Makula
zástupca vedúceho: Ivan Noris
tvorba a údržba www stránok: Karol Vlasko, Ivan Noris
údržba a integrácia dokumentácie: Matej Makula, Ivan Noris
znalci problematiky databáz: Tomáš Milička, Boris Vasilovčík
ostatné úlohy budú určené priebežne
www stránka
I. Noris nám predložil navrhovanú štruktúru stránok, ktorá členovia tímu posúdili. Návrh štruktúry je uvedený v Prílohe A. V štruktúre okrem iného musí figurovať plán projektu s informáciami o jeho plnení.
K. Vlasko nám prezentoval grafický návrh stránok, ktorý kladne prijali všetci členovia tímu.
prezentácia CASETOOL-u
T. Milička nás oboznámil s softvérom pre zadávanie výsledkov a spracovanie EMG diagnóz. Jednotlivé postrehy sú uvedené v bodoch prílohy B.
prezentácia ECCO formátu
B. Vasilovčík nás oboznámil s formátom ECCO a s možnosťou prevodu do iného (rozumnejšieho) formátu. O prevode sa vyjadril optimisticky.
Ďalšie prebrané body:
Po vzájomnej dohode sme sa rozhodli rozdeliť dokumentáciu na Riadenie projektu a Produkt.
Stretnutie s lekármi sa odkladá na štvrtok 28.10.1999, respektíve na utorok alebo stredu budúceho týždňa. Konkrétny termín stretnutia sa včas dozvieme prostredníctvom e-mailu.
Zhodnotenie ponuky – v ponuke chýba záver, inak v poriadku
Úlohy do ďalšieho stretnutia
T. Milička začne vytvárať dokument špecifikácie systému CASETOOL-u (do budúceho stretnutia len "draft" dokumentu), s tým, že v dokumente okrem iného opíše systém, jeho funkcie, údaje v systéme a správanie sa systému. Dokument by mal mať 5 až 10 strán.
B. Vasilovčík zanalyzuje údaje ECCO formátu. Vypracuje dokument, ktorý sa neskôr stane súčasťou celkovej dokumentácie (do budúceho stretnutia tiež len "draft" dokumentu). Zváži vhodné varianty ECCO formátu napr. text, XML alebo relačnú databázu.
B. Vasilovčík začne postupne tvoriť návrh databázy, ktorý v ďalšom spracuje do dokumentu o dĺžke asi 5 strán.
Ostatní členovia zvážia možnosti distribuovaného prístupu k databázam medzi geograficky vzdialenými miestami. Poinformujú sa o existujúcich riešeniach (prípadne použiteľných produktoch).
Vypracoval: T. Milička
Príloha A – Navrhovaná štruktúra stránky
Stránka musí obsahovať tieto informácie:
zadanie projektu
členovia tímu – možno prebrať z ponuky, pridať e-mailové adresy
plán projektu – bude aktualizovaný každý týždeň a bude obsahovať informácie o úlohách tímu v budúcnosti
úlohy – priebežne aktualizované, bude obsahovať zoznam úloh členov na daný týždeň ako aj počas celého semestra
zápisy zo stretnutia
dokumentácia – linky na všetky doteraz vytvorené dokumenty v HTML resp. .doc formáte
linky – odkazy na stránky súvisiace s EMG problematikou
kontakty – zoznam členov tímu s e-mailovými adresami
Vypracoval: I. Noris
Príloha B – Poznámky k systému CASETOOL
jeden dátový súbor tvorí záznamy pacienta z niekoľkých testov (jedno vyšetrenie)
nezaznamenáva časový sled vyšetrení
textové položky sú nejednoznačné, sú naplnené slovným opisom
diagnózy sa určujú podľa subjektívneho názoru lekára, vzhľadom na percentuálne odchýlky od noriem pre daný test
Vypracoval: T. Milička
Stretnutie č. 3
Tím č. 5
Dátum: 2. 11. 1999
Čas: 10:00
Miesto: d07b
Účastníci: M. Makula, T. Milička, I. Noris, B. Vasilovčík, K. Vlasko
Vedúci projektu: M. Bieliková
Téma stretnutia (podľa harmonogramu): Analýza problému, hrubý návrh riešenia
Vyhodnotenie úloh z predchádzajúceho stretnutia:
bol predložený zápis z predchádzajúceho stretnutia s týmito závermi:
zápis treba vypracovať čo najskôr, najlepšie v deň stretnutia
treba dokladať písomné prílohy k záznamom o stretnutiach
prezentácia ECCO formátu
B. Vasilovčík prezentoval formát údajov ECCO a načrtol možné alternatívy nového formátu uchovávaných údajov (textový súbor, databáza Access). Vhodné riešenie vyberieme po konzultácii s lekármi.
prezentácia XML
M. Makula nás oboznámil so štandardom XML, ktorý sa javí ako „najvýhodnejšie“ riešenie z hľadiska prenášania údajov po sieti.
prezentácia architektúr (Oracle a Microsoft ADO, ...)
K. Vlasko nás informoval o databázových serveroch Oracle a Microsoft a možnosti spolupráce s webovským prehliadačom. Riešenie bude pravdepodobne založené na webovskom serveri firmy Microsoft.
Ďalšie body stretnutia:
hrubá štruktúra dokumentácie
I. Noris oboznámil členov tímu s prvou verziou návrhu štruktúry dokumentácie. Navrhovaná štruktúra s korektúrami je v prílohe k zápisu.
WWW stránka
K. Vlasko nám prezentoval upravenú a doplnenú verziu stránky, ktorá už obsahuje aj plán projektu, úlohy členov v tíme, ...
diskusia o alternatívach distribuovaných architektúr
globálna databáza
lokálne + globálna databáza
lokálne databázy = globálna databáza (synchronizácia)
príprava na stretnutie s lekármi
členovia tímu dostali za úlohu pripraviť si otázky na plánované stretnutie s lekármi, ktoré sa uskutoční 2.11.1999 o 17:00 hod.
Úlohy do ďalšieho stretnutia:
Makula, Noris – vypracovať záznam zo stretnutia s lekármi, vytvoriť finálnu verziu dokumentácie
Milička – vytvoriť finálnu verziu dokumentu opisujúcu CASETOOL ako aj princíp EMG vyšetrenia
Vasilovčík – opraviť a upraviť dokument analyzujúci ECCO formát, doplniť výhody a nevýhody navrhovaných alternatív nového formátu.
Vlasko – vypracovať dokument hrubého návrhu architektúry systému
Vypracoval: I. Noris
Príloha – Navrhovaná štruktúra dokumentu (s korektúrou)
Dokumentácia k projektu
Zadanie
Úvod + ciele + štruktúra celého dokumentu + tím
Riadenie projektu
Obsah
Úvod
...
Produkt
Obsah
Analýza
Úvod
Princíp EMG vyšetrenia pomocou CASETOOL, stanovovanie diagnózy, schéma spracovania údajov získaných z vyšetrenia (Milička)
Softvérový systém CASETOOL – podrobne, typy údajov, postihnúť otázky, problémy, čo vieme, čo nevieme, ako to urobiť ináč – nedostatky systému a náčrt vylepšenia
Údaje v CASETOOL-e, ECCO formát, výhody, nevýhody, možnosti prehodenia do databázy MS Access (Vasilovčík)
Možnosti uchovávania údajov
Možnosti distribuovaného prístupu pri napĺňaní údajov, základné úvahy o architektúre
Prílohy k analýze
XML (Makula)
Distribuované databázy (Vlasko)
Predbežná špecifikácia
Kontext systému
...
Hrubý návrh
Vypracovali: Matej Makula, Ivan Noris
Stretnutie s lekármi č. 1
Tím č. 5
Dátum: 2. 11. 1999
Čas: 17:00
Miesto: Fakultná nemocnica na Mickiewiczovej ulici
Účastníci: M. Makula, T. Milička, I. Noris, B. Vasilovčík, K. Vlasko, M. Kucbel, J. Kovaľ, K. Krnáč
Pedagógovia: P. Návrat, M. Bieliková, M. Smolárová
Lekári: P. Záhon, P. Kučera
Téma stretnutia: získavanie a upresňovanie informácií
Stretnutie bolo vedené na neformálnej úrovni a prebiehalo formu diskusie zúčastnených študentov, pedagógov a lekárov.
Normatívne hodnoty: Nachádzajú sa v CASE a slúžia pre porovnanie nameraných výsledkov so "správnymi hodnotami". V súčasnosti neexistuje na Slovensku databáza normatívnych hodnôt, čo je podľa slov lekárov výrazný nedostatok. Nie je možné vychádzať s normatívnych hodnôt iných krajín, pretože tieto hodnoty sú závislé od "krajiny" resp. regiónu v ktorom bolo meranie v vykonané.
Vytvorenie databázy normatívnych hodnôt spočíva vo využití výsledkov vyšetrení zdravých osôb. Pacienti sú zadelené do vekových kategórií po 10 rokoch v počte asi 30 osôb.
Vzhľadom na počet nervov rádovo 200, možno veľkosť databázy odhadnúť na 7*200*30 vyšetrení.
Lekári nemajú jasnú predstavu o funkciách, ktoré by mal systém poskytovať a zaujíma ich predovšetkým architektúra databázy, ktorá by umožňovala automaticky zbierať výsledky vyšetrenia v efektívnom formáte, ktorý by sa dal spracovať ďalšími aplikáciami. Uprednostňujú riešenie pomocou databázy MS Access, pretože vedia vytvárať jednoduché aplikácie pre analýzu údajov v tejto databáze.
Lekári nás informovali, že zatiaľ neexistuje štandard, podľa ktorého by sa malo merať (presné umiestnenie elektród pri vyšetrení). Vďaka tomu sú výsledky vyšetrení často nepoužiteľné. Preto formát ECCO v sebe obsahuje informáciu o vyšetrujúcom lekárovi.
Ročne sa na pracovisku vyšetrí cca 600 pacientov, pričom pri 10-20% sa vyšetrenie zopakuje.
Textové polia v ECCO formáte sú nevýhodné, pretože ich spracovať automaticky, pomohlo by zavedenie formulárov namiesto slovného opisu.
Vypracovali: M. Makula, I. Noris
Príloha - Proces transformácie údajov
Súčasný stav:
Požadovaný stav:
Vzhľadom na popularitu ECCO formátu, lekári vyžadujú konverziu medzi novým formátom údajov a ECCO formátom. Z tohoto dôvodu je načrtnutá aj druhá alternatíva konverzie údajov pomocou ECCO formátu.
Vypracovali: M. Makula, I. Noris
Stretnutie č. 4
Tím č. 5
Dátum: 9. 11. 1999
Čas: 10:00
Miesto: d07b
Účastníci: M. Makula, T. Milička, I. Noris, B. Vasilovčík, K. Vlasko
Vedúci projektu: M. Bieliková
Téma stretnutia (podľa harmonogramu): Záverečné práce na dokumentácii
Vyhodnotenie úloh z predchádzajúceho stretnutia:
Maťo a Ivan nám prezentovali vytvorenú dokumentáciu k projektu, v ktorej boli zahrnuté aj dokumenty, ktoré mali vypracovať Tomáš, Karol a Boris.
Z bodu číslo 1 vyplýva, že aj ostatní členovia tímu si splnili svoje úlohy.
Ďalšie body stretnutia:
diskusia o obsahu vytvorenej dokumentácie
prezerali sme si dokumentáciu, ktorú vytvorili Maťo a Ivan a navrhli sme niekoľko drobných opráv
odhalili sme jeden odstavec skrytý pod obrázkom
do dokumentu treba pridať aj použitú literatúru, ktorú sme zabudli spomenúť
dohodli sme sa, že v zápisoch zo stretnutí sa budeme oslovovať krstnými menami
dozvedeli sme sa, že Dr. Záhon nám neposlal sľúbený textový dokument získaný z EMG vyšetrenia
Úlohy do ďalšieho stretnutia:
Karol – kúpiť obal na dokumentáciu
Maťo a Ivan – vytvoriť preberací protokol, odovzdať vytvorenú dokumentáciu tímu č.3 vo štvrtok 11.11.1999
Ostatní členovia tímu – dohodnúť sa, kto a kedy pôjde na ďalšie stretnutie s lekármi, premyslieť ako bude vyzerať a aké bude mať funkcie prototyp, prehodnotiť, koľko času strávili jednotliví členovia tímu pri práci na tímovom projekte
Vypracoval: Boris Vasilovčík
Etapa analýzy je nevyhnutnou súčasťou každého softvérového projektu. Jej cieľom je naštudovanie a pochopenie potrebných znalostí z problematickej oblasti, ktoré následne možno využiť v ďalších etapách životného cyklu projektu.
Vzhľadom na charakter tohto projektu nebudú dokumenty k jednotlivým etapám úplne vyvážené. Táto časť bude pomerne rozsiahla, pretože ide o problematiku, ktorá je pre nás nová a dostali sme k dispozícii veľa informácií, ktoré sme mohli analyzovať.
Jednotlivé kapitoly tejto časti sú logicky zoradené tak, aby aj čitateľ, ktorý sa v problematike nevyzná, mohol do nej rýchlo preniknúť. V prvej kapitole je stručne opísaný princíp EMG vyšetrenia. Ďalšie kapitoly opisujú rozšírený systém na spracovanie údajov z EMG vyšetrenia – CASETOOL a formát údajov používaný v tomto systéme. Súčasťou jednotlivých kapitol je aj stručné zhodnotenie resp. načrtnutie možností využitia získaných informácií.
Elektromyografia (EMG) je súbor techník založená na elektrofyziologických testoch [1]. Tie sú zamerané najmä na skúmanie periférneho nervového systému, svalov a nervovo-svalových prenosov.
EMG vyšetrenie je časovo náročné a pre pacienta nepríjemné. Pozostáva zo skupiny testov, pričom každý ma viacero hodnôt. Lekár musí uskutočniť často početné merania a získať viac ako sto rôznych hodnôt na analýzu každého výsledku vyšetrenia. Možnosti syntézy poznatkov a skúseností lekára závisia v širokom rozsahu od správnej voľby testov a procedúr.
Keďže EMG vyšetrenie a diagnostika sú zložité, boli vyvinuté rozličné nástroje na podporu diagnostiky pomocou počítača. Tieto systémy (na analýzu signálov a podporu rozhodovania) umožňujú syntézu údajov z EMG vyšetrenia. Systémy na podporu rozhodovania sú vo všeobecnosti založené na znalostiach a poskytujú formuláciu EMG diagnózy z údajov získaných pri vyšetrení s využitím údajov v báze znalostí, ktoré sa získali pri predchádzajúcich vyšetreniach.
Lekár vykonávajúci EMG vyšetrenie navrhuje jednu alebo viac hypotéz podľa predpokladanej diagnózy, klinických (symptómy, rizikové faktory, dedičnosť, choroby, užívané lieky) a prípadne neklinických údajov o pacientovi v čase vyšetrenia. EMG procedúra sa definuje podľa najpravdepodobnejšej hypotézy a možno ju zmeniť, ak sa nepotvrdí. Naplánovaná EMG procedúra sa tiež môže zmeniť v prípade špecifických podmienok vyšetrenia (rýchle vyšetrenie napr. na pohotovosti, vedomie pacienta, typ liečby).
Už na základe týchto informácií je zrejmé, že výsledky EMG vyšetrenia ako aj procedúry, ktoré sa vykonávajú, závisia do značnej miery od lekára a jeho skúseností. V mnohých prípadoch dokonca aj sami lekári nie sú schopní zhodnúť sa na výslednej diagnóze napriek tomu, že majú k dispozícii údaje získané z EMG vyšetrenia. Pre štandardizáciu týchto vyšetrení resp. spôsobu ich vykonávania a určovanie diagnózy sa lekári v rámci projektu EMG stretávajú na pravidelných konferenciách, na ktorých diskutujú o problémových prípadoch.
Na realizáciu ľubovoľného softvéru na podporu určovania diagnózy pacienta na základe výsledkov EMG vyšetrenia treba vytvoriť širokú bázu údajov z vyšetrení pacientov. Táto nemusí slúžiť priamo ako báza znalostí pre programy, ale aj nepriamo – poskytovať množstvo relevantných informácií pre lekárov. Lekári môžu napríklad vyhodnocovať údaje pomocou štatistiky alebo využívať ich na svojich stretnutiach.
Výsledkom konkrétneho testu je iba hodnota, ktorú treba porovnať s normatívnymi hodnotami pre daný test. Tieto hodnoty sú rozličné pre rôzne oblasti (krajiny), vekové skupiny a pod. Získavajú sa na základe štatistík vyšetrení zdravých pacientov. Aj v tomto prípade by bolo možné použiť bázu údajov s výsledkami EMG vyšetrení.
Údaje získavané pri EMG vyšetrení
Ako vyplýva z prvej časti, komunikácia lekárov z viacerých krajín vyžaduje predovšetkým dokonalé porozumenie výsledkov vyšetrení najmä z formálneho hľadiska. Preto bolo prvoradým cieľom navrhnúť štandardnú, medzinárodne uznávanú štruktúru údajov. Nasledujúca časť poskytuje informácie predovšetkým o hierarchii údajov získavaných pri EMG vyšetrení.
Pri návrhu štruktúry údajov z EMG vyšetrenia bolo dôležité pokrytie všetkých anatomických štruktúr, vyšetrovacích techník a parametrov používaných lekármi z projektu ESTEEM. Okrem toho by dátová štruktúra mala byť schopná reprezentovať diagnostický proces EMG štúdie s možnosťou porovnania s jej inou interpretáciou. Údajová štruktúra bolo navrhnutá po viacerých iteráciách špecifikácie, implementácie a z
hodnotení výsledných EMG štúdií. Prvá špecifikácia dátovej štruktúry bola založená na dotazníkoch o použitej metóde merania EMG. V týchto dotazníkoch lekári určili druhy meracích techník, zodpovedajúce anatomické časti a parametre, ktoré brali v úvahu pri interpretovaní nálezov.Údaje z EMG vyšetrenia sú rozdelené do troch častí.
Všeobecné údaje
Namerané údaje
Odvodené údaje
Všeobecné údaje
Všeobecné údaje sú rozdelené na informácie o pacientovi, informácie z vyšetrenia a klinické informácie. Informácie o pacientovi obsahujú jeho identifikáciu, dátum narodenia, pohlavie, váhu a výšku. Informácie z vyšetrenia obsahujú identifikáciu lekára, dátum merania, počet rokov praxe a trvanie EMG vyšetrenia. Klinické informácie obsahujú dôvod pre odporučenie na vyšetrenie, zdroj odporučenia a polia pre informácie o dedičnosti, klinickej chémii, histológii, rádiológii, užívaných liekoch, klinických nálezoch a klinickej histórii.
Namerané údaje
Nemerané údaje pozostávajú z hodnôt získaných pri testovaní svalov, nervov, nervových segmentov a neuromuskulárnych zakončení. Pre každý zo 17 rôznych testov sú špecifikované množiny parametrov. Všetkých 17 techník môže mať spolu 122 parametrov. Najviac parametrov sa reprezentuje nameranými hodnotami a referenčnými odchýlkami. Niektoré parametre sa reprezentujú nasledovnými symbolmi: plný, redukovaný, diskrétny, signálna jednotka a bez odpovede. Pre každý typ testu sa určuje množina podmienok s cieľom opísať okolnosti, za ktorých sa test vykonal.
Odvodené údaje
Odvodené údaje tvoria diagnostickú hierarchiu (Obr. 1), ktorá reprezentuje jednotlivé kroky v procese stanovovania EMG diagnózy. V hierarchii sú zahrnuté (zdola nahor) nasledovné typy odvodených údajov: symbolic parameter values (SPV), pathophysiological test conclusions (PTC), pathophysiological structure conclusions (PSC), EMG-diagnoses (EMGD) a clinical diagnosis (CD).
Obr.1: Hierarchická štruktúra určovania diagnózy pri EMG vyšetrení
Najnižšia úroveň hierarchie zahŕňa SPV resp. symboly, ktoré vzniknú porovnaním nameraných a normatívnych hodnôt. SPV môže mať hodnotu normálnu, mierne zvýšenú, zvýšenú, mierne zníženú, zníženú, nedostatočnú alebo nešpecifikovanú. Pri spracovávaní EMG štúdií lekári používali individuálne normatívne hodnoty.
Ďalšiu úroveň v hierarchii predstavujú PTC a PSC. Toto sú patofyziologické uzávery, koncept zavedený Fuglsang-Frederiksenom. PTC je definovaný ako najvhodnejší patofyziologický uzáver pre anatomickú štruktúru, ktorý sa môže odvodiť z úvah o nálezoch (SPV) pri jednom teste. PCS je definovaný ako najvhodnejší patofyziologický uzáver pre anatomickú štruktúru, ktorý sa môže odvodiť zo všetkých dostupných testov.
PTC a PSC môžu nadobúdať hodnoty, ktoré závisia od druhu anatomickej štruktúry (svaly, nervy, nervové segmenty a neuromuskulárne zakončenia). Cieľom bolo jednoducho vytvoriť klasifikáciu použitím bežných výrazov. Výrazy ako „nedostatočný“ a „neuropatický“ by sa nemali používať súčasne. Výsledok PTC „nešpecifikovaný“ indikuje abnormalitu s nejasným dôkazom patofyziologickej špecifickosti alebo anatomickej lokalizácie. „Neuropatický“ indikuje abnormalitu nervu alebo nervového segmentu s nejasným dôkazom patofyziologickej špecifickosti. Ostrosť záverov PTC a PSC môže byť slabá, stredná alebo veľká a časový sled je odstupňovaný na akútny, progresívny a chronický.
Druhá úroveň zhora v diagnostickej hierarchii sa skladá z jednej alebo viacerých EMGD. Tieto diagnózy sa odvádzajú z PSC, topografického rozloženia anatomických štruktúr a výsledkov štúdia EMG bez uvažovania klinických údajov. EMGD je teda druh umelej diagnózy odvodenej kombinováciou všetkých informácií z EMG štúdie okrem klinických informácií. Je definovaných 156 rôznych hodnôt EMGD.
Najvyššou úrovňou diagnostickej hierarchie je CD. Tieto diagnózy sú odvodené z EMGD spolu zo všetkými klinickými informáciami (história, klinická chémia, klinické nálezy atď.). CD je reprezentovaná voľným textom a voliteľne kódom z medzinárodného kódovacieho systému ICD10.
Všeobecné informácie
V rámci projektu EMG je nevyhnutná výmena údajov o vyšetreniach pacientov medzi jednotlivými lekárskymi pracoviskami. V rámci tejto komunikácie sa používa dátový formát ECCO, ktorý bude opísaný neskôr. Nástrojom pre prácu s týmto formátom sa stal systém CASETOOL, ktorý lekári hojne využívajú aj napriek tomu, že systém je už pomerne zastaralý a má mnoho nevýhod.
Počítačový program CASETOOL bol vytvorený pre potreby uchovávania a spracovávania výsledkov EMG testov. Používa pevný formát súboru založenom na klinickej špecifikácii. Formát súboru je špecifikovaný v EMG komunikačnom protokole (ECP) zahŕňajúc zoznam kódov anatomických termov, PTC (pathophysiological test conclusion), PCS (pathophysiological structure conclusion) a EMGD (EMG-diagnosis).
Program je implementovaný v Turbo Pascale pre MS-DOS s použitím objektovo-orientovaných princípov a knižnice Turbo Vision. Používateľské rozhranie je zložené z niekoľkých formulárov, medzi ktorými sa možno prepínať. Hodnoty zadané do formulárov sa transformujú do dátovej štruktúry v súbore.
Opis používateľského rozhrania
Na Obr. 2 je znázornené hierarchické rozčlenenie používateľských rozhraní systému. V ďalšom opíšeme jednotlivé formuláre (obrazovky), použité typy údajov a spôsob ich použitia.
Obr. 2: Rozčlenenie CASETOOL na jednotlivé formuláre
Všeobecné informácie (General data)
Tento formulár sa skladá z troch častí. Prvú tvoria všeobecné údaje o pacientovi. Zahŕňajú identifikačné číslo pacienta, dátum narodenia, výšku a váhu pacienta a pohlavie. Ďalšou časťou sú všeobecné informácie o vyšetrení. Tieto obsahujú kód laboratória, v ktorom sa EMG vyšetrenie vykonalo a analyzovalo; dátum a dĺžku trvania vyšetrenia; dĺžka praxe lekára vykonávajúceho EMG vyšetrenie (v rokoch). Poslednou časťou všeobecného formulára sú odkazy na jednotlivé testy, informácie o diagnóze a iné (non-EMG) informácie nesúvisiace s EMG. Ukážka všeobecného formuláru je na Obr. 3.
Obr. 3: Formulár so všeobecnými informáciami
Iné informácie 1, 2 a História (Non-EMG information, History)
Tieto formuláre obsahujú informácie, ktoré nemajú priamy súvis s EMG vyšetrením (Obr. 4). Prvý formulár obsahuje pole s diagnózou, s ktorou bol pacient poslaný na EMG vyšetrenie, zdroj diagnózy, dedičnosť, klinickú chémiu a patológiu. Ďalej obsahuje odkazy na formuláre Iné informácie 2 a História. Formulár Iné informácie 2 obsahuje položky z radiológie, o užívaných liekoch a nálezy z neurológie. Formulár História obsahuje jedinú položku, ktorá zachytáva informácie o predošlom vývoji choroby a počiatok výskytu jej symptómov. Všetky položky v týchto troch formulároch sú textové.
Obr. 4: Formulár Iné informácie 1 so svojimi položkami a odkazmi na ďalšie formuláre
Zoznam testov (Tests)
Tento formulár obsahuje zoznam vykonaných testov na pacientovi. Zoznam obsahuje poradové číslo testu, anatomickú štruktúru na ktorej bol daný test vykonaný, stranu a skrátené označenie testu. V tomto formulári je možné editovať, vložiť nový alebo zmazať už vykonaný test. Nový test sa volí výberom zo 17 ponúkaných. Po výbere sa dostaneme do formulára Štúdium motorických nervov.
Štúdium motorických nervov (Motor nerve studies)
Tento formulár (Obr. 5) obsahuje niektoré už spomínané informácie z predošlého formuláru a to poradové číslo testu, anatomickú štruktúru a vyšetrovanú stranu (ľavá/pravá). Ďalej obsahuje typy použitých elektród, výsledok testu, silu a dĺžku trvania odozvy. K testu možno pripojiť komentár. Z tohto formulára sa dostaneme do formuláru Parametre.
Obr. 5: Formulár Štúdium motorických nervov so svojimi položkami a odkazom na formulár Parametre
Parametre (Parameters)
V tomto formulári sa zadávajú hodnoty zmeraných parametrov. Štruktúra formulára sa mení v závislosti od typu vykonávaného testu. Spoločnou črtou je zápis nameraných hodnôt do stĺpcov. Lekár má možnosť zistiť percentuálnu odchýlku od normálových hodnôt a získať slovné vyhodnotenie zmeraného parametru.
Diagnóza (Diagnosis information)
Formulár sa skladá zo záverečnej diagnózy opísanej textom a medzinárodným ICD10 kódom (troj alebo päť miestny) a zoznamu testov ukončených štrukturálnym záverom, na základe ktorých sa určuje záverečná diagnóza. Lekár môže určiť aj viacero diagnóz percentuálnym ohodnotením ich pravdepodobnosti. Lekár vyberá diagnózu zo zoznamu predefinovaných diagnóz. K diagnóze možno pripojiť aj textový komentár. Po konzultácii s lekármi sme však zistili, že túto možnosť často nevyužívajú. Formulár Diagnóza je na obrázku č. 6.
Obr. 6: Formulár pre určenie konečnej diagnózy
Nastavenie normálových hodnôt (Edit normal values)
Tento formulár umožňuje nastaviť normatívne hodnoty (získané či už z literatúry alebo vyšetrením zdravých osôb). Nachádza sa tu meno testu pre ktorý chceme nastaviť normálové hodnoty, ďalej anatomická štruktúra, ktorú testujeme a parameter merania. Je možné si zvoliť formát zadania hodnôt a závislosť od určitého parametra. Formáty zadávania môžu byť hodnotou a limitom, hodnotou a rozsahom, hodnotou a percentuálnym rozsahom, lineárnou alebo logaritmickou funkciou. Parameter môže byť závislý od veku, výšky, pohlavia a dĺžky. Je možné zadať nové normálové hodnoty ako aj meniť už existujúce.
Nedostatky
Hlavným nedostatkom systému CASETOOL je jeho monolitická štruktúra, t.j. nie je modulárny. Preto je prakticky nemožné dopĺňať do systému ďalšie funkcie ani zmeniť údajový formát, s ktorým CASETOOL pracuje. Softvérový systém CASETOOL je zviazaný výlučne s dátovým formátom ECCO. Zdrojové súbory systému sú napísané v jazyku Pascal, ale aj napriek ich dostupnosti z nich nemožno vychádzať, pretože nie sú komentované.
Formulár zo všeobecnými informáciami a vyšetrení nezachytáva možnosť zaznačenia opätovného vyšetrenia (napríklad o dva mesiace) do toho istého formulára (a teda ani dátového súboru). Na stretnutí s lekármi sme zistili, že až v 20% prípadoch ide o opakované vyšetrenie a preto by tu táto možnosť nemala chýbať.
Pri výbere viacnásobných diagnóz spolu s ich percentuálnou pravdepodobnosťou vo formulári Diagnóza sa tieto automaticky nedopĺňajú do textového poľa. Diskutabilný je aj význam vizuálneho nastavovania percentuálnej pravdepodobnosti diagnózy. V tomto prípade sa však jedná iba o nedostatok funkčného rozhrania systému.
Ako nedostatok systému CASETOOL (resp. ECCO formátu) možno považovať nejednoznačnosť textových položiek, nutnosť vyplnenia niektorých položiek (napríklad ICD10 kód) a malú zviazanosť zmien informácii v jednotlivých formulároch.
Záver
Podľa vyjadrení lekárov je filozofia systému CASETOOL v podstate dobrá, pretože je to veľmi jednoduchý a rozšírený systém. CASETOOL predstavuje iba editor údajov z EMG vyšetrenia, ktoré uchováva vo formáte ECCO a jednoducho ich transformuje do formulárovej štruktúry a tvorí tak rozhranie medzi používateľom a ECCO súborom.
Aj keď by bolo zaujímavé rozšíriť systém CASETOOL o sieťovú podporu (možnosti práce v distribuovanom prostredí), prípadne o znalostné moduly, ktoré by podporovali proces stanovenia diagnózy, pre vyššie uvedené dôvody (najmä slabú modularitu a viditeľnosť) to nie je možné.
Vzhľadom na to, že CASETOOL nepredstavuje znalostný systém, vedomosti získané jeho analýzou môžeme využiť najmä pri vytváraní používateľského rozhrania a určení spôsobu zadávania údajov z EMG vyšetrenia do vytváraného systému.
Formát údajov v systéme CASETOOL (ECCO)
Systém CASETOOL pracuje s údajovým formátom ECCO, ktorý zahŕňa informácie o EMG vyšetrení. Tento formát sa používa na prenos údajov z EMG vyšetrení medzi jednotlivými EMG centrami. Momentálne posledná verzia je označená ako 3.2 [2].
Súbor tohto formátu je binárny a jeho dĺžka je premenlivá a závisí od počtu testov, ktorých výsledky sú v súbore uložené. Jeden súbor zodpovedá jednému vyšetreniu pacienta, ktoré môže byť tvorené viacerými testmi.
Súbor je zložený z niekoľkých sekcií. Týchto sekcií je niekoľko druhov:
Sekcia všeobecných informácií (General information data section) obsahuje údaje spoločné pre všetky testy, napr. údaje o pacientovi a pod. Jej označenie v rámci súboru je [000.0.0] až [004.0.0]
Sekcia údajov vzťahujúcich sa k určitej anatomickej štruktúre (Anatomical structure specific data section) obsahuje zistené údaje o anatomickej sekcii X. Jej označenie v rámci súboru je [005.X.0]
Sekcia dát získaných z EMG vyšetrenia (Examination technique specific data section ) obsahuje dáta získané z EMG vyšetrenia č. 1 až 17 na štruktúre X s poradovým číslom Y. Jej označenie v rámci súboru je [010.X.Y] až [173.X.Y]
Všetky sekcie v dátovom súbore sú uložené za sebou, ako to znázorňuje nasledujúci obrázok:
CRC
Dĺžka
(length)
[000.0.0]
[001.0.0]
......
[AAA.X.Y]
2B 4B
CRC – kontrolný súčet celého súboru okrem týchto dvoch bajtov
Dĺžka – dĺžka celého súboru vrátane CRC a týchto štyroch bajtov
Každá sekcia je zložená z dvoch hlavných častí:
Hlavička sekcie (ID Header) – má veľkosť 16 B
Telo sekcie (Data)
Hlavička
(section header)
Telo
(data)
CRC
ID kód sekcie
(section ID code)
Dĺžka sekcie
(section length)
Číslo verzie
(version number)
Rezervované
(reserved)
2B
6B
4B
1B
3B
CRC – kontrolný súčet pre sekciu okrem CRC
ID kód sekcie – číselné označenie sekcie [AAA.X.Y]
Dĺžka sekcie – dĺžka sekcie v bajtoch vrátane hlavičky
Číslo verzie – číslo verzie súboru vynásobené číslom 10 (napr. verzia 3.2 má číslo verzie 32)
Opis sekcií
[000.0.0]
– Sekcia obsahujúca ukazovatele na zvyšné sekcie (pointer section). Táto sekcia slúži na lepšie vyhľadávanie sekcií v súbore a je povinná.[001.0.0] – Sekcia obsahujúca informácie o pacientovi, všeobecné informácie spoločné pre všetky testy a informácie netýkajúce sa EMG. Táto sekcia je povinná.
[002.0.0] – Sekcia obsahujúca EMG diagnózu vo forme textu a príslušných kódov. Táto sekcia je nepovinná.
[003.0.0] – Sekcia obsahujúca celkovú diagnózu vo forme textu a príslušných kódov. Táto sekcia je nepovinná.
[004.0.0] – Sekcia, ktorá jednoznačne identifikuje všetky testy nachádzajúce sa v súbore. Sú tu zaznamenané: číslo testu, vyšetrovacia technika, anatomická štruktúra a pod. Táto sekcia je povinná v prípade, že niektorá iná sekcia používa niektorú anatomickú štruktúru X, inak je nepovinná.
[005.X.0] – Sekcia obsahujúca celkové závery získané z vyšetrenia anatomickej štruktúry X vo forme textu alebo kódov. V súbore môže byť najviac jedna pre každú anatomickú štruktúru X a je nepovinná.
[010.X.Y] až [013.X.Y] – 4 sekcie obsahujúce EMG údaje získané vyšetrovacou technikou 1 aplikovanou na anatomickú štruktúru X v teste č. Y. Obsahujú informácie o meracom prístroji, informácie o získaných signáloch, zhodnotenie a podobne. Sekcia [010.X.Y] je povinná a ostatné sú nepovinné. Prvé dve číslice v označení tvoria číslo vyšetrovacej techniky (01 až 17) a tretia označuje typ informácie o vyšetrení:
[010.X.Y] – Informácia o teste (test information)
[011.X.Y] – Hodnoty parametrov (parameter values)
[012.X.Y] – Namerané hodnoty (signal data, curves)
[013.X.Y] – Záver testu (test conclusion)
[020.X.Y] až po [173.X.Y] – Sekcie analogické ako [010.X.Y], len pre testy číslo 02 až 17.
Sekcie [010.X.Y] až [173.X.Y] sú nepovinné a nachádzajú sa v súbore len v prípade, že bol vykonaný príslušný test.
Štruktúra a dĺžka údajových častí jednotlivých sekcií je rôzna pre jednotlivé typy vyšetrení a je podrobne popísaná v dokumente ESTEEM Communication Protocol (A2010) vrátane príloh s vyznačením významu jednotlivých kódových označení.
Pri analýze doteraz používaného formátu údajov ECCO 3.2 sme dospeli k názoru, že pre ďalšie využitie nie je postačujúci a preto sme navrhli niekoľko iných alternatív formátu údajov. Dôvody nevhodnosti pôvodného formátu sú nasledovné:
Chýba v ňom možnosť zaznamenať niektoré údaje, napríklad dátumy viacerých vyšetrení
Nemožno s ním pracovať v iných systémoch, napr. použiť v systéme MS Access a práca s binárnym súborom je zložitejšia ako práca s textovým dokumentom
Pre distribuované prostredie je vhodnejšie použiť databázu
Celkovo možno konštatovať, že ECCO formát je z hľadiska štruktúry (obsahu) uchovávaných informácií vyhovujúci. Ťažisko problémov spočíva najmä v spôsobe uchovávania týchto údajov.
Štruktúrovaný textový dokument
Tento spôsob zápisu údajov získaných z EMG vyšetrení sa javí ako najjednoduchší. Jeho ďalšia výhoda spočíva v tom, že v takomto stave by sa dal ľahko prenášať cez sieť napr. pomocou štandardu XML a umožňuje tiež jednoduché spracovávanie a prehľadávanie z hľadiska implementácie. Jeho nevýhodou by mohla byť dĺžka samotného textového dokumentu, ktorá by bola určite väčšia ako dĺžka momentálne platného formátu ECCO 3.2. Ďalšia nevýhoda by mohla spočívať v tom, že v rámci manažmentu týchto textových dokumentov by bolo potrebné vytvoriť databázu samotných dokumentov kvôli lepšiemu hľadaniu a zápisu.
Štruktúra textového dokumentu
Samotný textový dokument by mohol byť rozdelený na časti (sekcie) podobne ako vo formáte ECCO 3.2, obsahoval by teda sekcie všeobecných informácií a sekcie konkrétnych informácií o jednotlivých vyšetreniach. Samotný zápis údajov by mohol byť realizovaný podobným spôsobom ako štandardné *.ini súbory. Jeden takýto textový dokument by obsahoval iba údaje o jednom pacientovi a teda každý pacient by mal svoj textový súbor.
Príklad štruktúrovaného dokumentu
[Section management]
Sections=4
Pointers=
........
[Header information]
Name=“Anonymous“
Sex=“Male“
Age=35
.......
[EMG diagnosis 1]
Text=“EMG diagnosis: Presynaptic transmission failure....“
Code=10550
......
......
[EMG diagnosis n]
Text=“EMG diagnosis: Presynaptic transmission failure....“
Code=10550
......
[Final diagnosis 1]
Text=““
Code= -1
.....
.....
[Final diagnosis n]
Text=““
Code= -1
.....
[Test ID 1]
Number_of_tests=2
Number_of_structures=1
Structures_codes=1740
Structures_names=“Extensor carpi radialis longus“
....
....
....
[Test ID n]
....
[Structure conclusion 1740]
Text=“...“
Code=10550
.....
.....
[Structure conclusion n]
.....
[Examination 1.1]
Date=01.11.1999
Examination_technique=....
Structure_code=1740
Segment_length=3
.....
[Examination 1.2]
.....
.....
[Examination n.n]
.....
Ako vyplýva z príkladu, tento zápis je prehľadný a jednoduchý, avšak takto vytvorený súbor by mal určite väčšiu dĺžku ako súbor v doterajšom ECCO formáte. Určitá optimalizácia by sa dala dosiahnuť použitím skratiek, alebo iba písaním kódov bez textov, napr. namiesto Date=01.11.1999 by sa písalo iba 01.11.1999 a podobne. Taktiež sa ponúka možnosť namiesto nami navrhnutej štruktúry vytvoriť priamo dokument formátu XML, čo by umožnilo ešte jednoduchšiu manipuláciu pri prenose cez sieť.
Databáza vytvorená v Microsoft Access
Databázový systém MS Access je veľmi silný nástroj na tvorbu databáz a keďže údaje získané z EMG vyšetrení budú uchovávané v databázach, možno použiť aj tento systém.
Výhody pri použití tohoto systému spočívajú v podpore jazyka SQL, možnosť prenosu dokumentov pomocou XML a tiež možnosť priameho spracovania týchto údajov v prostredí MS Office. Nevýhody tejto alternatívy sú: veľká zložitosť samotnej databázy, vysoké požiadavky na hardvérové a softvérové vybavenie lekárskych pracovísk a tiež samotný fakt neprenositeľnosti databázy na rôzne platformy (napr. UNIX).
Štruktúra databázy
Pri návrhu štruktúry databázy sme podobne ako v prípade štruktúrovaného textu vychádzali zo štruktúry doteraz používaného formátu ECCO 3.2. Databáza by mohla obsahovať pevne stanovený počet tabuliek a to tak, aby každá sekcia mala svoju tabuľku. Databáza by obsahovala údaje pre viacerých pacientov na rozdiel od štruktúrovaného textu, ktorý obsahuje iba údaje o jednom pacientovi.
Základom by bola tabuľka (Obr. 7), ktorá by obsahovala údaje o pacientoch a ich diagnózach (aby sa dalo vyhľadávať aj podľa diagnózy) a tiež odkazy do ostatných príslušných tabuliek. Táto tabuľka by sa mohla nazývať napr. “General Table“.
Ďalej by sa v databáze nachádzali tabuľky, ktoré by určovali, aké testy a na akých štruktúrach sa vykonali spolu s hodnotením týchto testov a štruktúr (obdoba sekcií [004.0.0] a [005.X.0]). Eventuálne by tieto tabuľky mohli byť zlúčené do jednej. Jej názov by mohol byť napr. “Conclusion Table“.
Okrem tabuliek “General“ a “Conclusion“ by sa v databáze nachádzalo 17 tabuliek testov (pre každý test jedna). Tieto by obsahovali údaje o teste, namerané hodnoty a podobne. Ich názov by mohol byť napríklad “Test 1 Table“.
Jeden pacient môže mať viac záznamov vo všetkých tabuľkách okrem tabuľky “General“. Z toho teda vyplýva, že vzťahy medzi tabuľkami budú 1 ku N.
Takto štruktúrovaná databáza by mala aj tú výhodu, že by bolo možné vyhľadávať pacientov podľa vykonaných testov a tiež by nebolo treba prenášať napríklad údaje z testov, ktoré nie sú potrebné.
Nasledujúci obrázok predstavuje nami navrhnutú databázu:
Obr. 7: Úvahy o dátovom modely
Pri EMG vyšetrení môže mať jeden prípad stanovených aj viacero diagnóz. Tento problém by sa dal riešiť dvoma spôsobmi:
V tabuľke “General Table“ by bolo vyhradených niekoľko položiek pre zaznamenanie diagnóz. V tomto prípade by sa však dalo zaznamenať len určitý konečný počet diagnóz.
Do databázy by sme pridali ešte jednu tabuľku napr. “Diagnosis Table“, v ktorej by boli zaznamenané jednotlivé diagnózy pre pacienta ako položky. Táto tabuľka by bola vo vzťahu 1 ku N ku “General Table“. Výhodou tohoto riešenia je to, že
Jeden pacient môže mať priradený ľubovoľný počet diagnóz, čo je však nevýhodné v tom, že sa zvýši zložitosť databázy. Výhodnejšia bude pravdepodobne prvá alternatíva, pretože jeden pacient nemá obvykle viac ako 5 diagnóz a teda by bolo zbytočné zvyšovať zložitosť databázy.
Na záver treba poznamenať, že tento obrázok slúži iba na znázornenie možností transformácie údajov z ECCO formátu do databázy, pričom výsledná štruktúra databázy môže byť odlišná, resp. prepracovaná.
Analýza formátu XML
Jazyk XML sa najčastejšie spája s prostredím www ako nový štandard, ktorý má v najbližšej dobe nahradiť široko používaný jazyk HTML. Preto sa teda ponúka otázka, ako možno aplikovať XML v projekte, ktorý len okrajovo súvisí s prostredím www. Pravda je taká, že XML je navrhnutý pre oveľa širšie využitie a to najmä v oblastiach výmeny údajov medzi nezávislými aplikáciami. Pre dobré pochopenie významu XML je však potrebné nezameriavať sa len na oblasť výmeny údajov, ktorá je pre náš projekt najvhodnejšia, ale venovať sa aj využitiu tohoto jazyka v prostredí www.
Jazyk HTML bol odvodený od štandardu SGML ako jeho aplikácia pre publikovanie dokumentov na www [3]. Z pôvodného zložitého jazyka prevzal hlavne syntax, teda značky v tvare <ZNAČKA ATRIBÚT=”HODNOTA”>. V tomto jazyku sa odzrkadlila snaha oddeliť obsah dokumentov od formátovania – teda grafického zobrazenia, čoho dôkazom bola aj odlišné znázornenie bežných značiek v rôznych prehliadačoch (použitím iných fontov, odsadení, farieb, …). Avšak komercionalizácia Internetu a potreba tvorby graficky zaujímavých a príťažlivých stránok vyústila do nesprávneho používania tohoto jazyku vývojármi. Pri vytváraní dokumentov, bolo hlavným cieľom dostať na obrazovku pomocou jazyka HTML príťažlivý obsah, bez ohľadu na štruktúru a význam použitých značiek. Vďaka tomu nové verzie HTML, stratili význam všeobecného opisného jazyka, ale stále viac konvergovali k jazyku pre opis formátovania dokumentu. Ale aj napriek týmto problémom sa konzorcium W3C snaží navrátiť jazyku HTML pôvodný význam, pomocou zavedenia štruktúrovaného formátovania (napr. CSS – kaskádové štýly), čo však s veľkou pravdepodobnosťou neprinúti vývojárov k správnemu používaniu tohto jazyka.
Tieto dôvody vniesli potrebu zavedenia nového štandardu, ktorý by neopisoval formátovanie dokumentu, ale jeho obsah. Význam jazyka XML možno najlepšie opísať na praktickom príklade:.
<vyrobok>
<nazov>Hifi veža . . .</nazov>
<cena>8356</cena>
<mena>Sk<mena>
</vyrobok>
Ak by sme uvedené fakty zapísali pomocou jazyka HTML, síce by sme si vedeli predstaviť, ako budú údaje znázornené, ale automatický robot určený na vyhľadávanie informácií by zrejme z použitých značiek veľa informácií nezískal. Ak je však záznam uvedený vo formáte XML, robot by na základe použitých značiek mohol informácie indexovať omnoho rozumnejším spôsobom. Dôležitým momentom je aj fakt, že dokument v XML v sebe nenesie žiadny opis formátovania a tento musí byť zadefinovaný nezávisle pomocou štýlov, ktorými zadefinujeme znázornenie jednotlivých značiek. Výhodou je to, že dokument štýlov je od dokumentu XML oddelený a preto môže viac XML dokumentov zdieľať rovnaký štýl.
Hlavný prínos formátu údajov XML spočíva v tom, že okrem samotných údajov sa v dokumente nachádza aj informácia o ich význame. Vďaka tomu je konverzia do iných formátov jednoduchá a môže prebiehať automaticky. Na obrázku 8 sú znázornené rôzne typy dokumentov v závislosti od množstva „energie“, ktorú v sebe nesú. Pri konverzii informácií do foriem uvedených na vrchu pyramídy, je nutné vynakladať viacej energie, ktorú potom z tejto formy môžeme “uvoľňovať“, prostredníctvom jednoduchšej konverzie do ľubovolného formátu [4].
Obr. 8: XML a “množstvo” energie [4]
Z hľadiska nášho projektu sa teda črtá možnosť transformovať ECCO, resp. nový formát údajov do ekvivalentnej štruktúry v jazyku XML.
<vysetrenie>
<nonemg>
<lekar>XXX</lekar>
<pacient>
<meno>XXX</meno><adresa>XXX</adresa><id>XXX</id>
</pacient>
<datum>XXX</datum>
...
</nonemg>
<emg>
<testy>
</testy>
...
<emg>
<diagnoza> ...
</diagnoza>
</vysetrenie>
Takúto organizáciu informácií pravdepodobne nemožno uchovávať na najnižšej úrovni, pretože pre distribuované prostredie je efektívnejšie použitie databázy. Na druhej strane tento alebo podobný formát údajov v XML možno použiť ako konvenciu do budúcnosti pre výmenu údajov medzi ďalšími aplikáciami pracujúcimi nad údajmi z EMG vyšetrenia. Z tohoto pohľadu sa javí ako výhoda možnosť jednoduchého dodefinovania prvkov najmä z hľadiska flexibility formátu do budúcnosti. V praxi by bolo možné transformovať údaje z nášho systému do formátu XML a poskytovať ich množstvu nezávislých aplikácií ako rozsiahlu bázu prípadov. Za nevýhodu tohoto formátu možno považovať určitú mieru redundancie, ktorá však v súčasnosti nie je rozhodujúcim faktorom pri výbere. Taktiež je nutné pri vstupe údajov v XML do systému použiť “inteligentný modul“ - parser, ktorý je schopný získať jednotlivé údaje z formátu XML.
Architektúry databázových systémov
Existuje viacero typov architektúr databázových systémov. Medzi základné architektúry patria dvojvrstvová architektúra s tučným klientom, dvojvrstvová architektúra s tučným serverom, trojvrstvová architektúra a Internet (intranet) architektúra [5]. Jednotlivé architektúry sa od seba líšia usporiadaním vrstiev, z ktorých sa skladajú. Týmito vrstvami sú prezentačná vrstva, obchodné pravidlá a dátová vrstva. Každá z vrstiev má svoju špecifickú úlohu.
Prezentačná vrstva – zabezpečuje prezentáciu dát pre klienta (používateľa programu). Zobrazuje mu dáta a formuláre, umožňuje mu ovládať beh programu. Je to vlastne samotné používateľské rozhranie.
Vrstva obchodných pravidiel – má na starosti logiku. Definuje ako, kde a ktoré dáta slúžia pre ktorú časť prezentačnej vrstvy, resp. ako a s ktorými údajmi pracovať podľa požiadaviek prezentačnej vrstvy. Ide vlastne o súhrn operácií a pravidiel, ktoré môže používateľ pomocou prezentačnej vrstvy uskutočniť.
Dátová vrstva – ukladajú a spracovávajú sa v nej dáta. Táto vrstva má za úlohu fyzické ukladanie dát, ich spracovanie, údržbu. Nemožno ju ovládať priamo z prezentačnej vrstvy.
Nevýhodou dvojvrstvovej architektúry s tučným klientom a dvojvrstvovej architektúry s tučným serverom je nerozloženie záťaže medzi klienta a server. V prvom prípade je celá aplikácia napísaná ako monolitický celok. Prezentačná vrstva je priamo zviazaná s obchodnými pravidlami. Kvôli tomu klient značne zaťažuje sieť, pretože väčšinou musí dostať na svoju stranu takmer všetky dáta, ktoré potrebuje. Modifikácia a rozširovanie takejto aplikácie je veľmi ťažké. Toto riešenie je nevhodné pre distribuovaný prístup k databáze. V druhom prípade je väčšina záťaže na strane servera. Výkonnosť takéhoto riešenia priamo závisí od počtu klientov a výkonu samotného servera. V prípade veľkého počtu klientov sa takéto riešenie neodporúča. Avšak v prípade, že počet klientov je konečný a poznáme výkon a robustnosť servera, môžeme použiť tento typ architektúry, dokonca v niektorých prípadoch je to jediné možné riešenie.
V súčasnosti najviac používanými architektúrami sú trojvrstvová architektúra a Internet architektúra.
Trojvrstvová architektúra
Trojvrstvová architektúra umožňuje ľubovoľne rozširovať a modifikovať aplikáciu bez vážnejšieho narušenia jej logickej hierarchie a funkčnosti (Obr. 9). Takéto riešenie môže byť distribuované a umožňuje definovať niekoľko prezentačných vrstiev bez závislosti na ostatných vrstvách. Väčšina moderných komerčných aplikácií je založená práve na tomto type architektúry. Veľkou výhodou je nezávislosť jednotlivých vrstiev.
Obr. 9: Trojvrstvová architektúra [5]
Toto riešenie výborne rozkladá záťaž medzi server a jednotlivých klientov. Ako každý model architektúry, aj trojvrstvový model má niekoľko nevýhod. Jednou z nich je obtiažnejšia údržba a spravovanie aplikácie, nakoľko ide o viaceré komponenty. Avšak takéto riešenie umožňuje skladať aplikácie z rôznych komponentov od rôznych dodávateľov bez toho, aby dochádzalo k chaosu a neprehľadnosti. Dôležitou úlohou pri návrhu takejto architektúry je správna voľba jednotlivých komponentov a ich vzájomnej interakcie.
Internet (intranet) architektúra
Obrovský rozmach používania Internetu má za následok vznik novej architektúry. Internet architektúra je najmladšia a v súčasnosti najdynamickejšie sa rozvíjajúca. Táto architektúra je podobná trojvrstvovej architektúre (Obr. 10). Jediným rozdielom je presun časti prezentačnej vrstvy do strednej časti k obchodným pravidlám. Dôvodom tohoto presunu je bezpečnosť a špecifický spôsob práce na Internete. Neznamená to však, že by tieto dve časti boli spojené. Ide iba o presun prezentačnej vrstvy na stranu servera tesne k obchodným pravidlám.
Obr. 10: Internet (intranet) architektúra [5]
Najväčšou výhodou tejto architektúry je, že umožňuje používať aplikáciu komukoľvek, kto má Internetový prehliadač. Pracovať s takouto aplikáciou je možné všade tam, kde je pripojenie na Internet. S používania Internetu vyplývajú aj viaceré problémy. Ide hlavne o rýchlosť takejto aplikácie. Tá závisí od rýchlosti Internetu, ktorá je vo väčšine prípadov nedostatočná. Druhým veľkým problémom je fakt, že s takouto aplikáciou môže v jednom okamihu pracovať niekoľko tisíc užívateľov, čo kladie enormné nároky na spracovanie takejto aplikácie. Vyplýva z toho nutnosť dobrého návrhu takejto aplikácie.
Zhrnutie
Pri tvorbe databázového systému je nevyhnutná správna voľba architektúry systému, ktorá závisí od konkrétneho problému. Rôzne problémy si vyžadujú rôzne modely architektúry systému, pričom ten istý model môže v jednom prípade znamenať najefektívnejšie riešenie a v inom prípade môže byť úplne nevhodný. Pri tvorbe distribuovaných databázových systémov je najvhodnejšie použiť model trojvrstvovej architektúry systému alebo Internet architektúry.
V etape špecifikácie sa stanovujú požiadavky na vytváraný systém. Možno ich rozdeliť na funkcionálne (zaoberajú sa funkcionalitou systému) a nefunkcionálne (stanovujú ohraničenia na systém).
Vytváranie špecifikácie bolo charakteristické obmedzenými znalosťami členov tímu o riešenej problematike. Preto bolo nevyhnutné, aby sa uskutočnili stretnutia s lekármi, ktorých cieľom bolo získať základný prehľad o problémovej oblasti.
Z prvého stretnutia vyplynul najmä nefunkcionálne požiadavky na systém, pričom lekári nemajú veľmi jasnú predstavu o jeho funkciách. To je jeden z hlavných dôvodov, prečo sa v tejto časti nachádzajú iba predbežné požiadavky, ktoré vyplynuli z kontextu systému a diskusie s lekármi.
V tejto časti sa postupne zaoberáme kontextom systému, z ktorého vyplynie prvá množina požiadaviek na systém. Túto množinu rozšírime o ďalšie požiadavky získané počas diskusie s lekármi a na základe výslednej množiny sa pokúsime opísať riešenie, ktorým tieto požiadavky možno splniť.
Vzhľadom na charakter riešenej problematiky je evidentné, že na celkové umiestnenie systému sa možno pozerať z viacerých uhlov pohľadu. V hrubom priblížení možno predpokladať, že sa celý systém nachádza v prostredí viacerých lekárskych pracovísk (Obr. 11). Základnou štruktúrou zabezpečujúcou komunikáciu medzi nimi je v našom prípade globálna počítačová sieť Internet, pričom jednotlivým pracoviskám bude náš systém umožňovať zdieľanie údajov.
Obr. 11: Hrubý náčrt kontextu systému
Na tejto úrovni abstrakcie existuje viacero faktorov ovplyvňujúcich výsledné požiadavky. Ak budú lekárske strediská k systému pristupovať iba z jednej krajiny, budú požiadavky na systém zrejme menšie, ako keby k nemu pristupovali z viacerých krajín. Medzi oboma prípadmi však existuje paralela - je zrejmé, že pôjde v podstate iba o rozšírenie množiny požiadaviek. To nám umožní navrhnúť a implementovať riešenie, ktoré aplikujeme na jednu krajinu (napr. Slovensko) a neskôr ho rozšíriť na širšie merítko (Európa). To však vyžaduje, aby sme túto možnosť zohľadnili už pri návrhu.
Zrnitosť pohľadu na systém zmenšíme ak sa zameriame iba na prostredie lekárskeho pracoviska a jeho interakcie z okolím (Obr. 12). Prepojenie systému s okolím predstavujú tri rozhrania s externými entitami. Tie tvoria:
Obr. 12: Zjemnený kontext systému
Lekársky prístroj získava údaje priamo z meracích sond a uchováva ich v internom úložisku údajov. To obsahuje okrem údajov zo sond aj údaje o pacientovi, dátume vyšetrenia a pod. Prístroj je schopný údaje o vyšetrení vytlačiť alebo exportovať vo forme textového súboru. Tento súbor tvorí prvé rozhranie s naším systémom.
Druhé rozhranie predstavuje vyšetrujúci lekár, ktorý zadáva údaje z vyšetrenia priamo do systému. V tomto rozhraní by mal mať možnosť aj dopĺňať informácie, ktoré nemožno získať z lekárskeho prístroja, prípadne ich modifikovať.
Keďže predpokladáme existenciu archívov výsledkov vyšetrení, treba umožniť aj importovanie a exportovanie týchto údajov do systému resp. zo systému. V prípade, že sa archív uchováva v textovej (tlačenej) forme, o prenos údajov musí vykonať lekár manuálne (cez druhý typ rozhrania). Ak sú údaje v elektronickej forme, zvyčajne ide o dáta v ECCO formáte, ktorých importovanie resp. exportovanie možno realizovať programovo.
Prvú množinu požiadaviek možno odvodiť z jednotlivých pohľadov na kontext systému:
Požiadavky pre hrubý kontext systému:
podpora on-line / off-line režimu. Lekárske pracoviská nemusia byť pripojené k Internetu počas celej práce so systémom.
zváženie možnosti rozšírenia architektúry pre medzinárodné použitie.
Požiadavky pre zjemnený kontext systému:
automatická konverzia údajov z textového súboru, ktorý poskytne lekársky prístroj. Stačí sa zaoberať vstupnou konverziou (iba načítanie).
importovanie a exportovanie údajov medzi archívom a systémom (v ECCO formáte).
napĺňanie, modifikácia, odstraňovanie údajov zo systému lekárom.
Druhá množinu požiadaviek vyplýva z diskusie s lekármi:
súbor normatívnych hodnôt – závisia od geografickej oblasti. Pre Slovensko doteraz neexistuje a treba ho vytvoriť. V podstate ide o zozbieranie údajov z vyšetrení zdravých osôb, z ktorých bude možné štatistickými metódami vytvoriť záverečný súbor.
systém by mal umožňovať evidenciu vyšetrení chorých aj zdravých osôb.
kompatibilita dátového modelu s ECCO formátom.
zohľadniť hľadisko viacnásobného vyšetrenia jedného pacienta.
umožniť modularitu a ďalší rozvoj systému, čitateľné a dokumentované zdrojové súbory a nový dátový formát.
umožniť používanie systému aj na menej výkonných počítačoch a s prijateľnými požiadavkami na softvérové vybavenie a licencie.
umožniť aj neinformatikom následné spracovanie údajov, napr. vytváranie špecifických štatistík (napr. implementáciou v dostupnom databázovom systéme).
Pri štandardizovaní meracích techník a procesu stanovovania EMG diagnózy vzniká potreba flexibilnej komunikácie medzi lekármi. Bolo by dobré umožniť organizáciu elektronických on-line alebo off-line diskusií. To však nie je primárnou požiadavkou na vytváraný systém.
Keďže proces stanovovania EMG diagnózy je náročný proces a v súčasnosti nie sú známe všetky závislosti medzi jednotlivými zložkami údajov z vyšetrenia, ani samotní lekári nevedeli špecifikovať množinu funkcií nad získanými údajmi. Filozofia celého projektu by mala spočívať vo vytvorení otvoreného systému pre evidenciu EMG vyšetrení so základnými operáciami ako sú vytvorenie, modifikácia, zrušenie záznamu, pričom ďalšie operácie by boli implementované až po ďalšom dodefinovaní požiadaviek.
V tejto časti sa nachádzajú prvé predstavy návrhu systému, ktoré vychádzajú z doteraz získaných informácií. Nami prezentovaný návrh nie je prepracovaný do úplných detailov, ide skôr o hrubú koncepciu systému, ktorý by spĺňal doteraz identifikované požiadavky.
V nasledujúcich kapitolách opíšeme náš návrh architektúry a možnosti jeho zovšeobecnenia. Čiastočne sa budeme zaoberať aj funkciami, ktoré by mali byť opísané v časti Špecifikácia, ale z dôvodu závislosti na architektúre sme ich načrtli až tu. Iné alternatívne koncepcie sú opísané v záverečnej kapitole tejto časti.
Aby sme splnili požiadavky na systém, navrhli sme nasledujúci model architektúry. Jeho základnou črtou sú dva typy databáz, jedna centrálna a viacero lokálnych.
Centrálna databáza zhromažďuje výsledky vyšetrení z určitého regiónu a je umiestnená v prostredí Internetu. Pomocou siete sa do nej importujú údaje z lokálnych databáz.
Lokálna databáza je fyzicky umiestnená na lekárskom pracovisku, pričom jej trvalé pripojenie na Internet nie je nutnou podmienkou. Jej úlohou je zhromažďovať údaje, s ktorými lekár pracuje, resp. ho z nejakej príčiny zaujímajú.
Na lokálnom počítači sa vykonáva aplikácia, ktorá spracováva údaje nad lokálnou databázou. Umožňuje importovať resp. exportovať výsledky vyšetrení v ECCO formáte, načítavať údaje z meracieho prístroja, ukladať a modifikovať ich v lokálnej databáze. Lekár má možnosť pripojiť sa prostredníctvom aplikácie na centrálnu databázu a zaslať alebo získať údaje o vyšetreniach.
Architektúra s lokálnou a centrálnou databázou umožňuje efektívnu prácu v on-line aj off-line režime (Obr. 13, Obr. 14). Pri off-line režime lekár nevyužíva trvalé, ale iba občasné pripojenie na Internet. V takomto prípade môže lekár pracovať s lokálnou databázou bez iných obmedzení. Význam zahrnutia tohto režimu bude zrejmý z funkcií systému resp. možných scenárov použitia.
(On-line / Off-line režim)
Importovanie údajov z ECCO formátu do lokálnej databázy
Exportovanie údajov do ECCO formátu z lokálnej databázy
Automatická konverzia údajov z meracieho prístroja do lokálnej databázy
Modifikácia údajov vyšetrenia v lokálnej databáze
(iba On-line režim)
Zaslanie EMG vyšetrenia z lokálnej do centrálnej databázy
Načítanie EMG vyšetrenia z centrálnej do lokálnej databázy
Z uvedeného vyplýva, že bežná prevádzka systému pozostávajúca z vyšetrení a úpravy lokálnej databázy nevyžaduje prácu v on-line režime. Napríklad pri EMG vyšetrení sa použijú funkcie automatická konverzia údajov z meracieho prístroja a prípadne modifikácia údajov vyšetrenia, ktoré nevyžadujú on-line mód. Tento sa použije iba pri zasielaní vyšetrení do centrálnej databázy (resp. ich načítaní).
Obr. 13: On-line architektúra systému
Normatívne hodnoty
Aby sme pokryli možnosť zberu normatívnych hodnôt čo najjednoduchšie, rozhodli sme sa evidovať normatívne aj ostatné vyšetrenia, v tej istej databáze (databázovej štruktúre). Týmto sú všetky údaje zahrnuté v jednom systéme, pričom na identifikáciu typu vyšetrenia môže slúžiť napríklad výsledná diagnóza. Normatívne vyšetrenia sa potom môžu postupne zbierať v lokálnej databáze (off-line režim), pričom v určitých časových intervaloch budú zasielané do centrálnej databázy.
Čo treba zohľadniť
Nevýhodou navrhovanej architektúry je nízka robustnosť. Pri poškodení centrálnej databázy môže dôjsť k strate informácií, čo bude nutné riešiť pravidelným zálohovaním centrálnej databázy.
Toto riešenie vyžaduje tiež autorizáciu prístupu lokálnych aplikácií k centrálnej databáze, pretože tieto majú možnosť pridávať údaje. Pre tento účel musí existovať správca, ktorého úlohou bude udeľovať prístupové práva a vykonávať už spomenuté zálohovanie databázy. Vzhľadom na potrebu odstraňovania neúplných, nesprávnych (v zmysle zle vykonaného merania a pod.) alebo neaktuálnych údajov, pričom túto operáciu môže vykonávať iba lekár – špecialista, nie je nutné aby správcu centrálnej databázy predstavovala iba jedna osoba.
Obr. 14: Off-line architektúra systému
Nami navrhovaná architektúra vychádza z centralizovaného prístupu. Jednotlivé lokálne aplikácie sa pripájajú na jedinú centrálnu databázu, pričom medzi sebou navzájom nekomunikujú. Alternatívu predstavuje čiastočne decentralizovaný prístup s viacerými „centrálnymi“ databázami, pričom každá obsahuje informácie z inej geografickej oblasti (pre ktorú slúži ako centrálna databáza). V tomto prípade je nutné vytvoriť register týchto databáz, ktorý by umožnil lokálnym aplikáciám vybrať si vhodnú databázu. Tento princíp by sa dal aplikovať pre rozšírenie projektu zo Slovenska na Európu.
Na záver treba poznamenať, že existujú aj iné alternatívy riešení, ktoré by bolo možné využiť pri návrhu. Pri plne decentralizovanom prístupe by neexistovala žiadna centrálna databáza, ale iba register lekárskych stredísk, resp. databáz zapojených do projektu. V tomto prípade by však neexistoval uzol obsahujúci všetky EMG vyšetrenia a na ich lokalizáciu by bolo potrebné špeciálne spracovanie. Výhodou by bolo, že za svoje údaje by boli zodpovedné jednotlivé uzly a nebolo by treba riešiť otázku prístupových práv. Výhodou je aj vyššia robustnosť architektúry. Problémy by spôsobil režim off-line, pretože by údaje príslušnej databázy neboli k dispozícii.
Ďalšie možnú alternatívu predstavuje replikácia údajov v lokálnych databázach. V tomto prípade by bol obsah lokálnej a centrálnej databázy rovnaký, čo by však malo za následok zvýšenie hardvérových nárokov a potrebu synchronizácie. Výhodu predstavuje väčšia rýchlosť prístupu k údajom.
[1] Ziébelin, D. – Vila, A. – Rialle, V. NEUROMYOSYS: a diagnosis knowledge based system for EMG. Université Josheph Fourier Grenoble, France.
[2] Jakobsen, L. S. – Fog, B. – Talbot, A. ESTEEM Communication Protocol, Tech. Report, 1993
[3] Laurent, S. Tvorba internetových aplikací v XML. Computer Press, Brno, 1999
[4] Kosek, J. XML: eXtensibile Markup Language. Zdroj na WWW:
http://www.kosek.cz/clanky/xml/xml-uvod.html, 1999[5] Kulla, V. Programovanie s ADO. Zdroj na WWW:
http://dev.gratex.sk/UfoBook, 1990