• No results found

Decision Support Methods in a Medical Application

N/A
N/A
Protected

Academic year: 2021

Share "Decision Support Methods in a Medical Application"

Copied!
62
0
0

Loading.... (view fulltext now)

Full text

(1)CORE. Metadata, citation and similar papers at core.ac.uk. Provided by Digital library of Brno University of Technology. ˇ ´ UCEN ´I TECHNICKE ´ V BRNE ˇ VYSOKE BRNO UNIVERSITY OF TECHNOLOGY. ˇ ´ICH TECHNOLOGI´I FAKULTA INFORMACN ˇ ´ICH SYSTEM ´ ´ U ˚ USTAV INFORMACN FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS. ´ ´I V PROSTRED ˇ ´I METODY PRO PODPORU ROZHODOVAN ´ ˇ ´ APLIKACE LEKA RSK E. ´ DIPLOMOVA´ PRACE MASTER’S THESIS. ´ AUTOR PRACE AUTHOR. BRNO 2009. ´ Bc. PETR MRAZEK.

(2) ˇ ´I TECHNICKE ´ V BRNE ˇ VYSOKE´ UCEN BRNO UNIVERSITY OF TECHNOLOGY. ˇ ´ICH TECHNOLOGI´I FAKULTA INFORMACN ˇ ´ICH SYSTEM ´ ´ U ˚ USTAV INFORMACN FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS. ´ ´I V PROSTRED ˇ ´I METODY PRO PODPORU ROZHODOVAN ´ ˇ ´ APLIKACE LEKA RSK E DECISION SUPPORT METHODS IN A MEDICAL APPLICATION. ´ DIPLOMOVA´ PRACE MASTER’S THESIS. ´ AUTOR PRACE. ´ Bc. PETR MRAZEK. AUTHOR. ´ VEDOUC´I PRACE SUPERVISOR. BRNO 2009. Ing. VLADIM´IR BART´IK, Ph.D..

(3) Abstrakt Diplomov´ a pr´ ace se zab´ yv´ a rozˇs´ıˇren´ım st´avaj´ıc´ı l´ekaˇrsk´e aplikace o prostˇredky pro podporu rozhodov´ an´ı. Prvn´ı ˇc´ ast pr´ ace je zamˇeˇrena na obecnou problematiku datov´ ych sklad˚ u, OLAP a dolov´ an´ı dat. Druh´ a ˇc´ ast se vˇenuje samotn´emu n´avrhu a implementaci rozˇs´ıˇren´ı v podobˇe samostatn´e aplikace umoˇzn ˇuj´ıc´ı prov´adˇen´ı OLAP anal´ yz nad nashrom´aˇzdˇen´ ymi zdravotnick´ ymi daty.. Kl´ıˇ cov´ a slova C++, datov´ y sklad, OLAP, dolov´an´ı dat, MySQL, XML. Abstract The diploma thesis is dealing with the present medical application extension by the means for decision support. The first part of the work is focused on the general problem of data warehouses, OLAP and the data mining. The second part attends to the very proposal and implementation of the extension in the form of the very application, which enables executing OLAP analysis upon the gathered medical data.. Keywords C++, data warehouse, OLAP, data mining, MySQL, XML. Citace Petr Mr´ azek: Metody pro podporu rozhodov´an´ı v prostˇred´ı l´ekaˇrsk´e aplikace, diplomov´ a pr´ace, Brno, FIT VUT v Brnˇe, 2009.

(4) Metody pro podporu rozhodov´ an´ı v prostˇ red´ı l´ ekaˇ rsk´ e aplikace Prohl´ aˇ sen´ı Prohlaˇsuji, ˇze jsem tuto diplomovou pr´aci vypracoval samostatnˇe pod veden´ım pana Ing. Vladim´ıra Bart´ıka, Ph.D. ....................... Petr Mr´azek 18. kvˇetna 2009. Podˇ ekov´ an´ı T´ımto bych r´ ad podˇekoval MUDr. Tom´aˇsi Fabianovi za jeho odbornou pomoc, bez kter´e by tato pr´ ace nemohla vzniknout.. c Petr Mr´. azek, 2009. Tato pr´ ace vznikla jako ˇskoln´ı d´ılo na Vysok´em uˇcen´ı technick´em v Brnˇe, Fakultˇe informaˇcn´ıch technologi´ı. Pr´ ace je chr´ anˇena autorsk´ym z´ akonem a jej´ı uˇzit´ı bez udˇelen´ı opr´ avnˇen´ı autorem je nez´ akonn´e, s v´yjimkou z´ akonem definovan´ych pˇr´ıpad˚ u..

(5) Obsah ´ 1 Uvod. 3. 2 Datov´ e sklady 2.1 Datov´ y trh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Zp˚ usoby budov´ an´ı datov´eho skladu . . . . . . . . . . . . . . . 2.2.1 Metoda velk´eho tˇresku . . . . . . . . . . . . . . . . . . 2.2.2 Pˇr´ır˚ ustkov´ a metoda . . . . . . . . . . . . . . . . . . . 2.3 Proces ETL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Porovn´ an´ı rozd´ıl˚ u mezi datov´ ym skladem a operaˇcn´ı datab´az´ı. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. 4 4 4 5 5 6 7. ´ 3 Uvod do problematiky OLAP 3.1 Multidimenzion´ aln´ı datov´ y model . . . . . . . . . . . . . . 3.1.1 Srovn´ an´ı relaˇcn´ıho a multidimenzion´aln´ıho modelu 3.2 Operace nad OLAP kostkou . . . . . . . . . . . . . . . . . 3.3 Typy OLAP . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Sch´emata tabulek dimenz´ı . . . . . . . . . . . . . . . . . . 3.4.1 Sch´ema hvˇezdy . . . . . . . . . . . . . . . . . . . . 3.4.2 Sch´ema snˇehov´e vloˇcky . . . . . . . . . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. 8 9 10 11 11 12 12 12. ´ 4 Uvod do problematiky dolov´ an´ı dat 4.1 Asociaˇcn´ı pravidla a frekventovan´e mnoˇziny . . . 4.1.1 Typy asociaˇcn´ıch pravidel . . . . . . . . . 4.2 Klasifikace a predikce . . . . . . . . . . . . . . . 4.2.1 Klasifikace pomoc´ı rozhodovac´ıch strom˚ u 4.2.2 Bayesovsk´ a klasifikace . . . . . . . . . . . 4.2.3 Klasifikace pomoc´ı neuronov´ ych s´ıt´ı . . . 4.3 Shlukov´ a anal´ yza . . . . . . . . . . . . . . . . . . 4.3.1 Typy shlukovac´ıch metod . . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. 14 14 14 15 15 15 16 16 16. 5 N´ avrh rozˇ s´ıˇ ren´ı existuj´ıc´ı l´ ekaˇ rsk´ e aplikace ´ 5.1 Uvod . . . . . . . . . . . . . . . . . . . . . . 5.2 Pojem d´ avka . . . . . . . . . . . . . . . . . 5.2.1 Definice datov´eho rozhran´ı d´avky . . 5.2.2 D´ avka ambulantn´ı sm´ıˇsen´a . . . . . 5.3 Poˇzadavky kladen´e na aplikaci . . . . . . . 5.3.1 Analyzovan´ a data . . . . . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. 18 18 18 19 19 21 22. 1. . . . . . .. . . . . . .. . . . . . ..

(6) 6 Implementace datov´ eho skladu 6.1 Volba datab´ azov´eho stroje . . 6.2 Proces ETL . . . . . . . . . . 6.3 Struktura datov´eho skladu . . ˇ n´ 6.3.1 Dimenze Cas avˇstˇevy 6.3.2 Dimenze Pacient . . . ˇ ıslo pojiˇstˇence . . . . 6.3.3 C´ 6.3.4 Dimenze Vˇek pacienta 6.3.5 Dimenze V´ ykon . . . . 6.3.6 Dimenze Pojiˇst’ovna . 6.3.7 Dimenze D´ avka . . . . 6.3.8 Dimenze Diagn´ oza . . 6.3.9 Fakta . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. 23 23 23 24 25 27 28 30 31 32 32 33 33. 7 Implementace aplikace MedOLAP 7.1 Pouˇzit´e v´ yvojov´e prostˇred´ı . . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 Programovac´ı jazyk C++ . . . . . . . . . . . . . . . . . . . . 7.2 Podporovan´e pˇr´ıstupy aplikace k datov´emu skladu . . . . . . . . . . 7.2.1 Vzd´ alen´ y pˇr´ıstup . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.2 Lok´ aln´ı pˇr´ıstup . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.3 Dialog konfigurace pˇripojen´ı . . . . . . . . . . . . . . . . . . . 7.3 Importov´ an´ı ˇc´ıseln´ık˚ u VZP do datov´eho skladu . . . . . . . . . . . . 7.3.1 Form´ at ˇc´ıseln´ık˚ u dod´avan´ ych VZP . . . . . . . . . . . . . . . 7.3.2 Konfigurace komponenty . . . . . . . . . . . . . . . . . . . . 7.3.3 Postup importov´ an´ı z´aznam˚ u z ˇc´ıseln´ıku do datov´eho skladu 7.4 Import d´ avek do datov´eho skladu . . . . . . . . . . . . . . . . . . . . 7.4.1 Dialog pro importov´an´ı d´avek do datov´eho skladu . . . . . . 7.5 OLAP tabulka a podporovan´e operace nad datovou kostkou . . . . . 7.5.1 Podpora OLAP operace Drill down . . . . . . . . . . . . . . . 7.5.2 Podpora OLAP operace Roll up . . . . . . . . . . . . . . . . 7.5.3 Podpora OLAP operace Pivoting . . . . . . . . . . . . . . . . 7.5.4 Podpora OLAP operac´ı Slice & Dice . . . . . . . . . . . . . . 7.6 Pˇrevod OLAP pohledu na dotaz SQL . . . . . . . . . . . . . . . . . 7.6.1 Konfigurace transformaˇcn´ı komponenty . . . . . . . . . . . . 7.7 Spr´ ava importovan´ ych d´ avek . . . . . . . . . . . . . . . . . . . . . . 7.8 Persistence vytvoˇren´ ych OLAP pohled˚ u . . . . . . . . . . . . . . . . 7.8.1 Implementace lok´aln´ıho uloˇziˇstˇe pohled˚ u. . . . . . . . . . . . 7.8.2 Jazyk XML jako prostˇredek pro uloˇzen´ı pohledu . . . . . . . 7.8.3 Uˇzivatelsk´e rozhran´ı pro pr´aci s lok´aln´ım uloˇziˇstˇem . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . .. 35 35 36 37 37 38 39 39 40 40 41 41 42 42 45 45 45 45 49 49 51 51 53 53 55. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. 8 Z´ avˇ er. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. 57. 2.

(7) Kapitola 1. ´ Uvod Vˇetˇsina l´ekaˇr˚ u vyuˇz´ıv´ a k provozov´an´ı sv´e praxe nˇekter´ y z dostupn´ ych softwarov´ ych produkt˚ u urˇcen´ ych k veden´ı jejich odborn´e agendy. Tyto produkty ovˇsem ve vˇetˇsinˇe pˇr´ıpad˚ u nab´ızej´ı jen velmi omezen´e moˇznosti anal´ yzy nad zdravotnick´ ymi daty, kter´a jsou tˇemito produkty spravov´ ana. Omezuj´ı se jen na poskytnut´ı z´akladn´ıch statistick´ ych report˚ u jako je mnoˇzstv´ı v´ ykon˚ u proveden´ ych za dan´e obdob´ı, mnoˇzstv´ı z´ıskan´ ych bod˚ u, nejˇcastˇejˇs´ı v´ yskyt diagn´oz, celkov´ y poˇcet pacient˚ u v kartot´ece a podobnˇe. C´ılem t´eto diplomov´e pr´ ace je tedy vytvoˇrit pro tyto produkty univerz´aln´ı rozˇs´ıˇren´ı, kter´e by l´ekaˇr˚ um v soukrom´ ych ambulantn´ıch ordinac´ıch umoˇznilo prov´adˇet pokroˇcil´e anal´ yzy nad zdravotnick´ ymi daty, kter´ a bˇehem provozov´an´ı sv´e praxe nashrom´aˇzdili. V prvn´ı ˇc´asti pr´ace se budeme nejprve zab´ yvat obecnou problematikou datov´ ych sklad˚ u, prostˇredk˚ u OLAP a dolov´ an´ı dat. Druh´ a ˇc´ ast se vˇenuje jiˇz samotn´emu n´avrhu a implementaci rozˇs´ıˇren´ı v podobˇe samostatn´e aplikace, kter´a je urˇcena k analyzov´an´ı dat nad datov´ ym skladem prostˇrednictv´ım technologie OLAP. Vybudovan´ y datov´ y sklad bude tvoˇren zdravotnick´ ymi daty extrahovan´ ymi z datov´ ych soubor˚ u obsahuj´ıc´ıch detailn´ı informace o vˇsech zdravotn´ıch v´ ykonech proveden´ ych na jednotliv´ ych pacientech, kter´e l´ekaˇr pˇredkl´ad´a za dan´e z´ uˇctovac´ı obdob´ı jednotliv´ ym pojiˇst’ovn´ am k proplacen´ı. Tyto d´ avky tedy pˇredstavuj´ı z hlediska anal´ yzy pomˇernˇe cenn´ y zdroj informac´ı o chodu dan´eho zdravotnick´eho zaˇr´ızen´ı. Prostˇrednictv´ım implementovan´ ym OLAP operac´ı pak bude l´ekaˇri umoˇznˇeno na tyto data nahl´ıˇzet z r˚ uzn´ ych pohled˚ u pˇri r˚ uzn´ ych u ´rovn´ıch abstrakce, d´ıky ˇcemuˇz si bude schopen uˇcinit zpˇetnˇe detailn´ı obraz o dosavadn´ım provozu sv´e l´ekaˇrsk´e praxe. Na z´avˇer budou shrnuty dosaˇzen´e v´ ysledky a nast´ınˇeno dalˇs´ı moˇzn´e pokraˇcov´an´ı v projektu.. 3.

(8) Kapitola 2. Datov´ e sklady Datov´ y sklad [1] je moˇzn´e ch´ apat jako strukturovan´e u ´loˇziˇstˇe dat, kter´e slouˇz´ı k ukl´ad´ an´ı informaˇcn´ıho bohatstv´ı organizac´ı za co moˇzn´a nejvˇetˇs´ı ˇcasov´e obdob´ı. N´ıˇze jsou uvedeny poˇzadavky na datov´ y sklad podle Billa Inmona: 1. Subjektov´ a orientace - do datov´eho skladu jsou zan´aˇsena data sp´ıˇse podle pˇredmˇetu z´ ajmu, neˇz podle konkr´etn´ı aplikace, ve kter´e byla tato data vytvoˇrena. 2. Integrovanost - datov´ y sklad mus´ı b´ yt integrovan´ y a jednotn´ y. Data t´ ykaj´ıc´ı se konkr´etn´ıho pˇredmˇetu jsou do skladu uloˇzena pouze jednou. Data pˇrich´azej´ı do datov´eho skladu z nekonzistentn´ıho a neintegrovan´eho operaˇcn´ıho prostˇred´ı, proto mus´ı b´ yt tato data v etapˇe pˇr´ıpravy a zaveden´ı upravena, vyˇciˇstˇena a sjednocena. ˇ 3. Casov´ a variabilita - data jsou do datov´eho skladu zan´aˇsena jako s´erie sn´ımk˚ u, kde kaˇzd´ y pˇredstavuje jist´ y ˇcasov´ yu ´sek. V operaˇcn´ım datab´azov´em prostˇred´ı jsou data ukl´ ad´ ana za kratˇs´ı ˇcasov´e obdob´ı dn´ı, maxim´alnˇe mˇes´ıc˚ u, zat´ımco v datov´em skladu jsou data vˇetˇsinou i za nˇekolik let chodu organizace. 4. Nemˇ ennost - Na rozd´ıl od operaˇcn´ıch transakˇcn´ıch datab´az´ı, kde jsou data vkl´ad´ana, modifikov´ ana i maz´ ana, v datov´em skladu se vˇetˇsinou nemˇen´ı ani neodstraˇ nuj´ı, jen se v pravideln´ ych intervalech pˇrid´avaj´ı novˇe z´ıskan´a data.. 2.1. Datov´ y trh. Z hlediska investic i ˇcasu je budov´an´ı datov´eho skladu pomˇernˇe n´aroˇcn´ y projekt a proto se v nˇekter´ ych pˇr´ıpadech pˇristupuje k budov´an´ı datov´eho skladu po menˇs´ıch ˇc´astech datov´ ych trz´ıch. Datov´ y trh lze tedy ch´apat jako podmnoˇzinu datov´eho skladu, kter´a je urˇcena pro menˇs´ı organizaˇcn´ı ˇc´ asti organizace (napˇr. prodej, marketing atd.). Datov´e trhy mohou vzniknout i opaˇcn´ ym zp˚ usobem, kdy je nejprve vybudov´an centr´aln´ı datov´ y sklad a z nˇej je pak vytvoˇreno nˇekolik datov´ ych trh˚ u. V´ ysledkem jsou pak menˇs´ı n´aroky na provoz au ´drˇzbu.. 2.2. Zp˚ usoby budov´ an´ı datov´ eho skladu. Existuj´ı dvˇe nejˇcastˇeji pouˇz´ıvan´e metody budov´an´ı datov´eho skladu:. 4.

(9) Obr´ azek 2.1: Architektura datov´eho skladu s datov´ ymi trhy. • Metoda velk´eho tˇresku • Pˇr´ır˚ ustkov´ a metoda. 2.2.1. Metoda velk´ eho tˇ resku. Tato metoda stav´ı na pˇredpokladu, ˇze je moˇzn´e realizovat implementaci datov´eho skladu v r´amci jedin´eho projektu. Metoda je sloˇzena ze tˇr´ı n´asleduj´ıc´ıch etap: 1. Anal´ yza poˇ zadavk˚ u organizace 2. Vytvoˇ ren´ı datov´ eho skladu 3. Vytvoˇ ren´ı pˇ r´ıstupu k datov´ emu skladu bud’ pˇ r´ımo nebo pomoc´ı datov´ ych trh˚ u. Jedinou v´ yhodou t´eto metody je fakt, ˇze je moˇzn´e cel´ y projektov´ y pl´an vypracovat jeˇstˇe pˇred jeho samotnou realizac´ı. Mezi jej´ı hlavn´ı nev´ yhody naopak patˇr´ı jednak velk´e riziko zmˇeny poˇzadavk˚ u a pomˇernˇe dlouh´a doba, neˇz se dostav´ı prvn´ı v´ ysledky investic.. 2.2.2. Pˇ r´ır˚ ustkov´ a metoda. Tato metoda pˇredpokl´ ad´ a budov´an´ı datov´eho skladu po jednotliv´ ych etap´ach - postupnˇe pˇrib´ yvaj´ı nov´ a rozˇs´ıˇren´ı, kter´ a zapadaj´ı do celkov´e architektury datov´eho skladu. Typicky se zaˇc´ın´ a s budov´ an´ım nˇekolika m´alo oblast´ı, kter´e se implementuj´ı ve formˇe rozˇsiˇriteln´eho datov´eho trhu a tento trh je n´ aslednˇe poskytnut koncov´ ym uˇzivatel˚ um. Prvn´ı podsyst´emy tedy zaˇcnou pracovat a pˇrin´ aˇset v´ yhody kr´atk´em ˇcase po spuˇstˇen´ı projektu. Pˇr´ır˚ ustkov´ a metoda se skl´ ad´ a z n´asleduj´ıc´ıch krok˚ u(viz obr´azek 2.2): 1. Strategie - Definov´ an´ı jak kr´atkodob´ ych, tak dlouhodob´ ych c´ıl˚ u strategie zahrnuj´ıc´ıch u ´ˇcel datov´eho skladu, jeho vybudov´an´ı, dokumentaci, ˇskolen´ı uˇzivatel˚ u atd. V t´eto f´ azi je definov´ an i z´ aklad architektury datov´eho skladu organizace. 5.

(10) 2. Definice - Definov´ an´ı c´ıle a rozsahu pˇr´ır˚ ustkov´eho v´ yvoje. F´aze zahrnuje jak n´avrh architektury datov´eho skladu, tak architekturu technick´ ych prostˇredk˚ u. Vytvoˇr´ı se poˇc´ ateˇcn´ı pˇr´ır˚ ustek, zdokumentuj´ı se zdroje dat a vymez´ı se rozsah kvality tˇechto u ´daj˚ u. 3. Anal´ yza - Z´ısk´ av´ an´ı dat a poˇzadavk˚ u na pˇr´ıstup k dat˚ um, informace o uˇzivatel´ıch skladu, vytvoˇren´ı relaˇcn´ıch a multidimenzion´aln´ıch model˚ u a metadat. 4. N´ avrh - Poˇzadavky, kter´e byly z´ıskan´e bˇehem anal´ yzy jsou transformov´any do detailn´ıch podm´ınek n´ avrhu. 5. Sestaven´ı - Bˇehem t´eto f´ aze se vytvoˇr´ı a otestuj´ı navrˇzen´e datab´azov´e struktury a moduly pro pr´ aci s datov´ ym skladem. 6. Produkce - Datov´ y sklad je nasazen do provozu, zaˇc´ın´a se ˇr´ıdit r˚ ust a spr´ava datov´eho skladu.. Obr´ azek 2.2: Iteraˇcn´ı cyklus pˇr´ır˚ ustkov´e metody. K hlavn´ım v´ yhod´ am t´eto metody patˇr´ı: • rychlejˇ s´ı n´ avratnost vloˇ zen´ ych investic • moˇ znost implementace ˇ sk´ alovateln´ e architektury • tvorba datov´ eho skladu po ˇ c´ astech udrˇ zuje kontinuitu projektu s poˇ zadavky uˇ zivatel˚ u. 2.3. Proces ETL. Pot´e, co je datov´ y sklad, ˇci datov´ y trh naimplementov´an, je nutn´e ho naplnit daty. Data jsou vˇetˇsinou um´ıstˇena v r˚ uzn´ ych nehomogenn´ıch operaˇcn´ıch prostˇred´ıch, datab´azov´ ych 6.

(11) syst´emech, hardwarov´ ych platform´ach, archivn´ıch syst´emech, podnikov´ ych syst´emech a v r˚ uzn´ ych dokumentech. Kromˇe intern´ıch dat v r´amci organizace je tak´e moˇzn´e z´ıskat data anal´ yzou konkurenˇcn´ıho prostˇred´ı, od obchodn´ıch partner˚ u, z internetu, nebo jejich zakoupen´ım, coˇz samozˇrejmˇe jen zvyˇsuje jejich r˚ uznorodost. Takov´ato data je d˚ uleˇzit´e pˇred zaveden´ım do datov´eho skladu nejdˇr´ıve vyextrahovat, vyˇcistit a pak ve vhodn´e formˇe zav´est do datov´eho skladu. Proces ETL se skl´ ad´ a z n´ asleduj´ıc´ıch tˇr´ı etap: • Extrakce - C´ılem t´eto etapy je z´ısk´an´ı dat z v´ yˇse uveden´ ych zdroj˚ u. Pro extrakci jsou k dispozici r˚ uzn´e n´ astroje a technologie. • Tranformace - Jedn´ a se o soubor u ´kon˚ u, kter´e vedou ke zkvalitnˇen´ı dat z´ıskan´ ych v pˇredchoz´ı etapˇe. Bˇehem t´eto etapy tedy doch´az´ı k sjednocov´an´ı form´atov´an´ı dat, sjednocen´ı pˇriˇrazen´ı datov´ ych typ˚ u, penˇeˇzn´ıch jmen atd. Bˇehem transformace se vˇetˇsinou vyskytuj´ı n´ asleduj´ıc´ı typy probl´em˚ u, kter´e je nutn´e vyˇreˇsit: – chybˇej´ıc´ı hodnoty – duplicitn´ı z´ aznamy – nejednoznaˇcnost dat – nejednoznaˇcnost n´ azv˚ u pojm˚ u – nejednoznaˇcnost penˇeˇzn´ıch mˇen – chybˇej´ıc´ı datum – nejednotnost form´ at˚ u ˇc´ısel a textov´ ych ˇretˇezc˚ u • Zaveden´ı(Loading) - V t´eto posledn´ı f´azi procesu ETL doch´az´ı k samotn´emu fyzick´emu pˇresunut´ı extrahovan´ ych a transformovan´ ych dat do datov´eho skladu.. 2.4. Porovn´ an´ı rozd´ıl˚ u mezi datov´ ym skladem a operaˇ cn´ı datab´ az´ı. N´asleduj´ıc´ı tabulka shrnuje rozd´ıly mezi typickou operaˇcn´ı datab´az´ı a datov´ ym skladem.. Vlastnost ˇcas odezvy operace p˚ uvod dat organizace dat velikost zdroje dat ˇcinnosti. Operaˇ cn´ı datab´ aze zlomky vteˇrin aˇz vteˇriny DML 30-60 dn´ı podle aplikace mal´ a aˇz velk´a operaˇcn´ı, intern´ı procesy. 7. Datov´ y sklad vteˇriny aˇz hodiny prim´arnˇe jen pro ˇcten´ı s´erie sn´ımk˚ u za ˇcasov´ y okamˇzik podle pˇredmˇetu, ˇcasu, atd. velk´a aˇz velmi velk´a operaˇcn´ı, intern´ı, extern´ı anal´ yza.

(12) Kapitola 3. ´ Uvod do problematiky OLAP Term´ın OLAP(Online Analytical Processing)[1] zavedl Dr. E. F. Cood k popisu technologie, kter´ a by pomohla pˇreklenout mezery mezi vyuˇzit´ım osobn´ıch poˇc´ıtaˇc˚ u a ˇr´ızen´ım podnikov´ ych dat. N´ıˇze je uvedeno dvan´ act p˚ uvodn´ıch pravidel, kter´e by mˇel splˇ novat OLAP od Dr. E. F. Codda: 1. Multidimenzion´ aln´ı konceptu´ aln´ı pohled - OLAP by mˇel poskytovat uˇzivateli multidimenzion´ aln´ı model odpov´ıdaj´ıc´ı jeho podnikatelsk´ ym potˇreb´am tak, aby takov´ y model mohl vyuˇz´ıvat pro anal´ yzu shrom´aˇzdˇen´ ych dat. 2. Transparentnost - Technologie syst´emu OLAP, podˇr´ızen´a datab´aze a architektura v´ ypoˇctu by mˇely b´ yt pro uˇzivatele transparentn´ı, proto aby mohl naplno vyuˇz´ıvat svoji produktivitu a odbornost pouˇzit´ı front-end n´astroj˚ u a prostˇred´ı.D˚ uleˇzit´a je samozˇrejmˇe i heterogennost vstupn´ıch dat, kterou zajist´ıme v procesu ETL. 3. Dostupnost - Syst´em OLAP by mˇel pˇristupovat jen k tˇem dat˚ um, kter´a jsou potˇrebn´ a pro anal´ yzu. Syst´em by mˇel b´ yt tak´e schopen pˇristupovat ke vˇsem dat˚ um potˇrebn´ ym pro anal´ yzu, nez´ avisle na tom, ze kter´eho heterogenn´ıho podnikov´eho zdroje tato data poch´ azej´ı, jak ˇcasto jsou obnovov´ana a podobnˇe. 4. Konzistentn´ı vykazov´ an´ı - I kdyˇz poˇcet z´aznam˚ u a tedy i velikost datab´az´ı postupem ˇcasu roste, uˇzivatel by nemˇel poznat ˇz´adn´e podstatn´e sn´ıˇzen´ı v´ ykonu. 5. Architektura klient-server - Syst´em OLAP mus´ı odpov´ıdat princip˚ um architektury klient-server s pˇrihl´ednut´ım na maxim´aln´ı cenu a v´ ykon, flexibilitu a interoperabilitu. 6. Generick´ a dimenzionalita - Kaˇzd´a dimenze dat mus´ı b´ yt ekvivalentn´ı ve struktuˇre i operaˇcn´ıch schopnostech. 7. Dynamick´ e oˇ setˇ ren´ı ˇ r´ıdk´ ych matic - Syst´em OLAP by mˇel b´ yt schopen adaptovat svoje fyzick´e sch´ema na konkr´etn´ı analytick´ y model, kter´ y optimalizuje oˇsetˇren´ı ˇr´ıdk´ ych matic, pˇriˇcemˇz dos´ ahne a udrˇz´ı poˇzadovanou u ´roveˇ n v´ ykonu. 8. Podpora pro v´ıce uˇ zivatel˚ u - Syst´em OLAP mus´ı b´ yt schopn´ y podporovat pracovn´ı skupinu uˇzivatel˚ u pracuj´ıc´ıch souˇcasnˇe na konkr´etn´ım modelu.. 8.

(13) 9. Neomezen´ e kˇ r´ıˇ zov´ e dimenzion´ aln´ı operace - Syst´em OLAP mus´ı dok´azat rozeznat dimenzion´ aln´ı hierarchie a automaticky vykonat asociovan´e kumulovan´e kalkulace v r´ amci dimenz´ı a i mezi nimi. 10. Intuitivn´ı manipulace s daty - Pravidlo definuje konsolidovan´e pˇreorientov´an´ı cest na detailn´ı u ´roveˇ n a zpˇet drilldown, drillup. Uˇzivatelsk´e rozhran´ı by mˇelo umoˇzn ˇovat vˇsechny manipulace zp˚ usobem ”uk´azat a klepnout, pˇr´ıpadnˇe zachytit a pˇrem´ıstit”v buˇ nk´ ach kostky. 11. Flexibiln´ı vykazov´ an´ı - Mus´ı existovat schopnost uspoˇr´adat ˇr´adky, sloupce a buˇ nky zp˚ usobem, jenˇz umoˇzn´ı anal´ yzu intuitivn´ı vizu´aln´ı prezentac´ı analytick´ ych sestav. 12. Neomezen´ e dimenze a u ´ rovnˇ e agregace - V z´avislosti na poˇzadavc´ıch podnik´ an´ı muˇze m´ıt analytick´ y model v´ıce dimenz´ı, pˇriˇcemˇz kaˇzd´a z nich muˇze m´ıt v´ıcen´asobn´e hierarchie. Syst´em OLAP by nemˇel zav´adˇet ˇz´adn´e umˇel´e omezen´ı poˇctu dimenz´ı nebo u ´rovn´ı agregace.. 3.1. Multidimenzion´ aln´ı datov´ y model. Multidimenzion´ aln´ı datov´ y model je moˇzn´e zobrazit ve formˇe v´ıcerozmˇern´e kostky. Takovou kostku lze pak ch´ apat jako jist´ y ekvivalent tabulky v relaˇcn´ı datab´azi. Kaˇzd´a kostka je sloˇzena z nˇekolika dimenz´ı. Dimenze obsahuj´ı organizaˇcnˇe nebo logicky hierarchicky uspoˇr´ adan´ a data(obr´ azek 3.1). V podstatˇe se jedn´a o textov´e popisy obchodov´an´ı.. Obr´ azek 3.1: Pˇr´ıklad hierarchick´ ych u ´rovn´ı pro dimenze ˇcas, produkt a lokalita Data(oznaˇcovan´ a jako fakta) se v kostce nach´azej´ı na pr˚ useˇc´ıc´ıch jednotliv´ ych dimenz´ı. Fakta jsou numerick´e mˇern´e jednotky obchodov´an´ı pˇredstavuj´ıc´ı mnoˇzstv´ı, na jehoˇz z´akladˇe se analyzuj´ı vztahy mezi dimenzemi. Pomoc´ı vhodnˇe zvolen´ ych kombinac´ı dimenz´ı a u ´rovn´ı jejich abstrakce lze z´ıskat informace napˇr. o celkov´em objemu prodeje za jist´e ˇcasov´e obdob´ı, zjistit, jak´e zboˇz´ı ˇslo v jednotliv´ ych obdob´ıch nejv´ıce na odbyt, prodej zboˇz´ı v r˚ uzn´ ych lokalit´ach atd. Pro v´ ypoˇcet OLAP kostek je nutn´e prov´adˇet velk´e mnoˇzstv´ı v´ ypoˇct˚ u a to t´emˇeˇr v re´ aln´em ˇcase. Uved’me si jednoduch´ y pˇr´ıklad tˇr´ıdimenzion´aln´ı datov´e kostky(obr´azek 3.2). Tato kostka obsahuje n´ asleduj´ıc´ı dimenze:. 9.

(14) • ˇcas • lokalita • produkt. Obr´ azek 3.2: Pˇr´ıklad tˇr´ıdimenzion´aln´ı datov´e kostky.. Pˇredpokl´ adejme, ˇze zkoumanou mˇernou jednotkou(faktem) je objem prodeje. Napˇr´ıklad n´asleduj´ıc´ımi kombinacemi dimenz´ı lze pak z´ıskat tyto informace: • ˇ cas - produkt - informace o objemu prodeje jednotliv´ ych druh˚ u produkt˚ u za urˇcit´e obdob´ı • ˇ cas - informace o celkov´em objemu prodeje za urˇcit´e obdob´ı • ˇ cas - lokalita - produkt - informace o objemu prodeje jednotliv´ ych druh˚ u produkt˚ u za urˇcit´e obdob´ı v jednotliv´ ych lokalit´ach. 3.1.1. Srovn´ an´ı relaˇ cn´ıho a multidimenzion´ aln´ıho modelu. N´ıˇze jsou uvedeny z´ akladn´ı v´ yhody a nev´ yhody obou model˚ u. • Relaˇ cn´ı model Mezi hlavn´ı v´ yhody relaˇcn´ıho modelu patˇr´ı: – znaˇcn´e mnoˇzstv´ı odborn´ık˚ u, kteˇr´ı s t´ımto modelem roky pracuj´ı – existence velk´eho mnoˇzstv´ı v´ yvojov´ ych prostˇredk˚ u pro v´ yvoj aplikac´ı a generov´ an´ı report˚ u – uplatnˇen´ı v transakˇcn´ıch datab´az´ıch a datov´ ych skladech Nev´ yhody: 10.

(15) – naprost´ y nedostatek komplexn´ıch analytick´ ych n´astroj˚ u – objem dat, k nimˇz lze v rozumn´em ˇcase pˇristoupit je omezen • Multidimenzion´ aln´ı model V´ yhody: – schopnost rychl´eho komplexn´ıho pˇr´ıstupu k velk´emu objemu dat – pˇr´ıstup k relaˇcn´ım a multidimenzion´aln´ım datov´ ym struktur´am – moˇznost prov´ adˇen´ı komplexn´ıch anal´ yz – znaˇcn´e schopnosti pro modelov´an´ı a progn´ozy Nev´ yhody: – pˇri zmˇenˇe dimenz´ı bez pˇrizp˚ usoben´ı ˇcasov´e dimenze nast´avaj´ı komplikace – klade vyˇsˇs´ı poˇzadavky na velikost u ´loˇziˇstˇe. 3.2. Operace nad OLAP kostkou. Jak jiˇz bylo zm´ınˇeno v´ yˇse, data v multidimenzion´aln´ım modelu jsou organizov´ana do urˇcit´eho poˇctu dimenz´ı. Kaˇzd´ a takov´a dimenze m´a nˇekolik u ´rovn´ı abstrakce, d´ıky ˇcemuˇz lze na data nahl´ıˇzet z r˚ uzn´ ych pohled˚ u. Pro definov´an´ı poˇzadovan´ ych pohled˚ u jsou k dispozici n´asleduj´ıc´ı z´ akladn´ı OLAP operace: • Roll-Up - Posun v hierarchii dimenze o jednu u ´roveˇ n v´ yˇse. Pokud bychom byly napˇr´ıklad v dimenzi ˇcas na u ´rovni den a provedli operaci Roll-up, pak bychom se posunuli na u ´roveˇ n mˇes´ıc(viz pˇr´ıklad hierarchi´ı na obr´azku 3.1). Nyn´ı by tedy byla data v kostce seskupena nikoliv podle dn˚ u, ale podle jednotliv´ ych mˇes´ıc˚ u. • Drill-Down - Jedn´ a se o opak pˇredchoz´ı operace Roll-up. V hierarchii dimenze se posuneme o jednu u ´roveˇ n hloubˇeji a z´ısk´ame tak detailnˇejˇs´ı v´ ysledky. V pˇr´ıpadˇe dimenze lokalita bychom se posunuli napˇr. z u ´rovnˇe st´at na detailnˇejˇs´ı u ´roveˇ n kraj. • Slice & Dice - Operace Slice slouˇz´ı k proveden´ı selekce nad jednou dimenz´ı. V´ ysledkem operace je podkostka obsahuj´ıc´ı pouze data, kter´a splˇ nuj´ıc´ı danou podm´ınku. Pˇr´ıkladem takov´e podm´ınky m˚ uˇze b´ yt napˇr: (lokalita = Praha). Ve v´ ysledn´e podkostce by tedy byla jen data vztahuj´ıc´ı se k dan´e lokalitˇe. Naproti tomu operace Dice umoˇzn ˇuje selekci nad v´ıce neˇz jednou dimenz´ı. Podm´ınka pro selekci by mohla vypadat n´asledovnˇe: (lokalita = Brno) and (cas = duben) and (produkt = TV). V´ ysledkem bude opˇet podkostka splˇ nuj´ıc´ı danou podm´ınku. • Pivot - Rotace os v 2D nebo 3D kostce, nebo zobrazen´ı 3D kostky jako kolekce 2D kostek za u ´ˇcelem jin´e prezentace dat v kostce.. 3.3. Typy OLAP. OLAP syst´emy mohou b´ yt podle typu u ´loˇziˇstˇe multidimenzion´aln´ıch dat rozdˇeleny do n´asleduj´ıc´ıch kategori´ı:. 11.

(16) • Multidimenzion´ aln´ı OLAP(MOLAP) - Data se z´ısk´avaj´ı bud’ z datov´eho skladu nebo z operaˇcn´ıch zdroj˚ u. Analytick´a data jsou pak uloˇzena ve speci´aln´ıch datov´ ych struktur´ ach a sum´ aˇr´ıch. Bˇehem tohoto procesu se vypoˇc´ıt´a tolik pˇredbˇeˇzn´ ych v´ ysledk˚ u, kolik je z ˇcasov´eho i kapacitn´ıho hlediska moˇzn´e - data se tedy v u ´loˇziˇsti ukl´adaj´ı jako dopˇredu vypoˇc´ıtan´ a pole. Data jsou organizov´ana takov´ ym zp˚ usobem, kter´ y poskytuje maxim´ aln´ı v´ ykon vzhledem k poˇzadovan´ ym dotaz˚ um uˇzivatel˚ u, nev´ yhodou je vˇsak redundance takov´ ych dat, protoˇze jsou uloˇzeny jak v relaˇcn´ı datab´azi, tak v multidimenzion´ aln´ı datab´ azi. Dalˇs´ı znaˇcnou nev´ yhodou je fakt, ˇze v pˇr´ıpadˇe vyˇsˇs´ıho poˇctu dimenz´ı m˚ uˇze velikost takov´e datab´aze extr´emnˇe nar˚ ustat. • Relaˇ cn´ı datab´ azov´ y OLAP(ROLAP) - Data pro anal´ yzu jsou v tomto pˇr´ıpadˇe z´ısk´ av´ ana z relaˇcn´ıho datov´eho skladu. Po zpracov´an´ı jsou data z relaˇcn´ıch datab´ az´ı pˇredkl´ ad´ ana uˇzivatel˚ um jako multidimenzion´aln´ı pohled. Data a metadata jsou ukl´ad´ any jako z´ aznamy v relaˇcn´ı datab´azi. Metadata jsou pak syst´emem ROLAP n´aslednˇe vyuˇz´ıv´ ana ke generov´ an´ı SQL dotaz˚ u, kter´ ymi jsou z´ısk´ana analytick´a data poˇzadovan´ a uˇzivateli. V´ yhodou u ´loˇziˇstˇe typu ROLAP je, ˇze nedoch´az´ı k redundanci, protoˇze data z˚ ust´ avaj´ı uloˇzena v relaˇcn´ı datab´azi, nev´ yhodou je oproti syst´em˚ um MOLAP niˇzˇs´ı dotazovac´ı v´ ykon. • Hybridn´ı OLAP(HOLAP) - Jedn´a se o kombinaci u ´loˇziˇst’ MOLAP a ROLAP. ’ Vyuˇz´ıvaj´ı se v´ yhody jednotliv´ ych typ˚ u u ´loˇziˇst a eliminuj´ı se nev´ yhody. Samotn´ a data z˚ ust´ avaj´ı uloˇzena v relaˇcn´ıch datab´az´ıch a do multidimenzion´aln´ıch struktur se ukl´ adaj´ı pouze vypoˇc´ıtan´e agregace.. 3.4. Sch´ emata tabulek dimenz´ı. V pˇr´ıpadˇe syst´em˚ u typu ROLAP, kter´e vyuˇz´ıvaj´ı relaˇcn´ı datov´ y sklad je nutn´e namapovat multidimenzion´ aln´ı model a OLAP operace na relaˇcn´ı tabulky a SQL dotazy. Mezi nejpouˇz´ıvanˇejˇs´ı sch´emata datov´eho skladu patˇr´ı sch´ema hvˇezdy a sch´ema snˇehov´e vloˇcky.. 3.4.1. Sch´ ema hvˇ ezdy. Sch´ema hvˇezdy(obr´ azek 3.3) se skl´ad´a z jedn´e centr´aln´ı tabulky fakt˚ u, kter´a obsahuje ciz´ı kl´ıˇce, kter´e se vztahuj´ı k prim´ arn´ım kl´ıˇc˚ um v jednotliv´ ych tabulk´ach dimenz´ı, z nichˇz kaˇzd´ a obsahuje informace o jedn´e z dimenz´ı. Sch´ema nem´a normalizovan´e dimenze ani relaˇcn´ı propojen´ı mezi tabulkami dimenz´ı. Jeho v´ yhodou je vysok´ y dotazovac´ı v´ ykon, nicm´enˇe jeho vytvoˇren´ı je d´ıky nenormalizovan´ ym dimenz´ım pomˇernˇe pomal´e.. 3.4.2. Sch´ ema snˇ ehov´ e vloˇ cky. Sch´ema snˇehov´e vloˇcky(obr´ azek 3.4) je podobn´e jako sch´ema hvˇezdy s t´ım rozd´ılem, ˇze nˇekter´e tabulky dimenz´ı jsou normalizovan´e.To znamen´a, ˇze nˇekter´e dimenze jsou sloˇzeny z v´ıce tabulek. V´ yhodou tohoto modelu je d´ıky normalizovan´ ym dimenz´ım sn´ıˇzen´ı redundance, nicm´enˇe pˇri dotazovan´ı je nutn´e prov´est v´ıce tabulkov´ ych spojen´ı, coˇz negativnˇe ovlivˇ nuje dotazovac´ı v´ ykon.. 12.

(17) Obr´ azek 3.3: Pˇr´ıklad sch´ematu hvˇezdy. Obr´ azek 3.4: Pˇr´ıklad sch´ematu snˇehov´e vloˇcky. 13.

(18) Kapitola 4. ´ Uvod do problematiky dolov´ an´ı dat Proces dolov´ an´ı dat(Data mining) [1][2][3] je zamˇeˇren na anal´ yzu velk´eho mnoˇzstv´ı dat z r˚ uzn´ ych perspektiv a jejich pˇremˇenu na uˇziteˇcn´e informace, kter´e jsou n´aslednˇe vyuˇzity k podpoˇre rozhodov´ an´ı. Z matematick´eho hlediska se jedn´a o hled´an´ı korelac´ı, tedy vzd´ajemn´ ych vztah˚ u nebo vzor˚ u v datech. V n´asleduj´ıc´ıch sekc´ıch jsou uvedeny nejˇcastˇejˇs´ı typy anal´ yz v r´amci procesu dolov´ an´ı dat.. 4.1. Asociaˇ cn´ı pravidla a frekventovan´ e mnoˇ ziny. Anal´ yza se z hlediska asociaˇcn´ıch pravidel zamˇeˇruje na hled´an´ı r˚ uzn´ ych souvislost´ı nad mnoˇzinami datov´ ych poloˇzek. Z matematick´eho hlediska se jedn´a o zkoum´an´ı korelace, at’ uˇz pozitivn´ı, nebo negativn´ı. Pozitivn´ı korelace znamen´a, ˇze vysok´a u ´roveˇ n jedn´e promˇenn´e je doprov´ azena vysokou u ´rovn´ı korelaˇcn´ı promˇenn´e. Negativn´ı korelace naopak ud´av´a, ˇze vysok´a u ´roveˇ n jedn´e promˇenn´e bude prov´azena n´ızkou u ´rovn´ı korelaˇcn´ı promˇenn´e. Typick´ ym pˇr´ıkladem vyuˇzit´ı asociaˇcn´ıch pravidel je anal´ yza n´akupn´ıho koˇs´ıku, kdy se snaˇz´ıme zjistit, jak´e zboˇz´ı si z´ akazn´ıci nejbˇeˇznˇeji kupuj´ı dohromady. Na z´akladˇe objeven´ ych vztah˚ u mezi jednotliv´ ymi poloˇzkami v n´akupn´ım koˇs´ıku je pak moˇzn´e rozm´ıstit zboˇz´ı v obchodˇe efektivnˇeji, popˇr´ıpadˇe vhodnˇe sestavovat nab´ıdkov´e akce atd. N´ıˇze je uveden moˇzn´ y tvar asociaˇcn´ıho pravidla: tiskarna ⇒ papir do tiskarny (s = 2%, c = 60%) kde hodnoty s a c pˇredstavuj´ı metriky asociaˇcn´ıho pravidla - podporu a spolehlivost. Podpora ud´ av´ a v kolika transakc´ıch z celkov´eho poˇctu vˇsech transakc´ı se vyskytly tyto dvˇe poloˇzky spoleˇcnˇe a spolehlivost ud´av´a v kolika transakc´ıch z celkov´eho poˇctu transakc´ı obsahuj´ıc´ıch prvn´ı poloˇzku se z´ aroveˇ n vyskytla i druh´a poloˇzka.. 4.1.1. Typy asociaˇ cn´ıch pravidel. Asociaˇcn´ı pravidla je moˇzn´e rozdˇelit podle n´ıˇze uveden´ ych krit´eri´ı: • Podle typu hodnot v pravidlech - Pokud pravidla popisuj´ı asociace mezi kvantitativn´ımi atributy nebo poloˇzkami, pak se jedn´a o kvantitativn´ı asociaˇcn´ı pravidla. V pˇr´ıpadˇe, ˇze n´ as zaj´ım´ a pouze pˇr´ıtomnost nebo nepˇr´ıtomnost jist´e poloˇzky, pak se jedn´ a. 14.

(19) o booleovsk´ a asociaˇcn´ı pravidla. N´ıˇze je uveden pˇr´ıklad kvantitativn´ıho asociaˇcn´ıho pravidla: vek = 30..50 ∧ prijem = 30000 − 48000 ⇒ koupi (tiskarna) • Podle poˇ ctu dimenz´ı obsaˇ zen´ ych v pravidlech - Asociaˇcn´ı pravidla se oznaˇcuj´ı jednodimenzion´ aln´ı, jestliˇze obsahuj´ı pouze jednu dimenzi. V opaˇcn´em pˇr´ıpadˇe se jedn´ a o pravidla v´ıcedimenzion´aln´ı. • Podle u ´ rovn´ı abstrakce v pravidlech - Existuj´ı metody umoˇzn ˇuj´ıc´ı z´ısk´an´ı asociaˇcn´ıch pravidel nad r˚ uzn´ ymi u ´rovni abstrakce. Tato pravidla se oznaˇcuj´ı jako v´ıce´ urovˇ nov´ a. vek = 30..50 ⇒ koupi (tiskarna) vek = 30..50 ⇒ koupi (multif unkcni tiskarna). 4.2. Klasifikace a predikce. Klasifikac´ı rozum´ıme proces umoˇzn ˇuj´ıc´ı pˇriˇrazen´ı vstupn´ıch objekt˚ u do koneˇcn´eho poˇctu jist´ ych tˇr´ıd na z´ akladˇe jejich vlastnost´ı. Predikce je naproti tomu proces pˇriˇrazuj´ıc´ı dat˚ um hodnoty obecnˇe spojit´eho charakteru - tyto hodnoty jsou pˇredpov´ıdany na z´akladˇe vlastnost´ı dan´eho objektu. Proces klasifikace je rozdˇelen na dvˇe f´aze: • F´ aze uˇ cen´ı - Z datab´ aze je vybr´ana tr´enovac´ı mnoˇzina dat. U tˇechto dat je nutn´e zn´ at pˇresnˇe tˇr´ıdu, do kter´e jsou pˇriˇrazeny. Klasifik´ator pak na z´akladˇe tˇechto dat generuje klasifikaˇcn´ı pravidla, prostˇrednictv´ım kter´ ych je pak moˇzn´e jednotliv´e objekty pˇriˇrazovat s jistou pˇresnost´ı do konkr´etn´ıch tˇr´ıd. • F´ aze testov´ an´ı dan´ eho klasifik´ atoru - Jakmile jsou vytvoˇrena klasifikaˇcn´ı pravidla, je nutn´e tyto pravidla otestovat. Je vybr´ana tzv. testovac´ı mnoˇzina dat, u kter´e je nutn´e, stejnˇe jako v pˇr´ıpadˇe tr´enovac´ı mnoˇziny, zn´at klasifikaˇcn´ı tˇr´ıdy, do kter´ ych tato data n´ aleˇz´ı. Data by nemˇela poch´azet z tr´enovac´ı mnoˇziny kv˚ uli moˇzn´emu zkreslen´ı testovac´ıch v´ ysledk˚ u. Data jsou na z´akladˇe klasifikaˇcn´ıch pravidel rozdˇelena do jednotliv´ ych tˇr´ıd. N´ aslednˇe se urˇc´ı procentu´aln´ı u ´spˇeˇsnost klasifik´atoru a na z´akladˇe t´eto u ´spˇeˇsnosti je pak rozhodnuto, zda je tento klasifik´ator moˇzno pouˇz´ıt ke klasifikaci operaˇcn´ıch dat, ˇci nikoliv.. 4.2.1. Klasifikace pomoc´ı rozhodovac´ıch strom˚ u. Klasifikace je zaloˇzena na grafu stromov´e struktury. Kaˇzd´ y vnitˇrn´ı uzel grafu obsahuje podm´ınku pro hodnotu jist´eho atributu a koncov´e uzly pˇredstavuj´ı tˇr´ıdy, do kter´ ych jsou objekty klasifikov´ any. Takov´ yto graf je pak moˇzn´e snadno pˇrepsat do tvaru klasifikaˇcn´ıch pravidel.. 4.2.2. Bayesovsk´ a klasifikace. Bayesovsk´ a klasifikace je zaloˇzena na statistice. Pro kaˇzd´ y nov´ y vzorek dat je na z´akladˇe statistick´ ych metod vypoˇctena pravdˇepodobnost n´aleˇzen´ı prvku do jednotliv´ ych tˇr´ıd. Vzorek dat je n´ aslednˇe zaˇrazen do tˇr´ıdy s nejvˇetˇs´ı pravdˇepodobnost´ı pˇriˇrazen´ı. 15.

(20) 4.2.3. Klasifikace pomoc´ı neuronov´ ych s´ıt´ı. Dalˇs´ım klasifikaˇcn´ım modelem jsou neuronov´e s´ıtˇe. Tyto s´ıtˇe jist´ ym zp˚ usobem simuluj´ı strukturu lidsk´eho mozku. Z´ akladn´ım logick´ ym prvkem neuronov´ ych s´ıt´ı je neuron. Do neuronu vstupuj´ı vstupn´ı data z vnˇejˇs´ıho vstupu s´ıtˇe nebo z v´ ystupu jin´eho neuronu. Tato data jsou neuronem ˇc´ asteˇcnˇe zpracov´ana pomoc´ı sumace a aktivaˇcn´ıch funkc´ı a n´aslednˇe se pˇresouvaj´ı na vstup dalˇs´ıho neuronu, nebo na v´ ystup neuronov´e s´ıtˇe. Zpracov´ an´ı pomoc´ı neuronov´ ych s´ıt´ı nevych´az´ı z ˇz´adn´eho statistick´eho hlediska, n´ ybrˇz ’ pracuje na principu rozpozn´ av´ an´ı vzor˚ u a minimalizace chyb. Neuronov´a s´ıt je tvoˇrena uzly uspoˇr´adan´ ymi do vrstev. Data se nejprve rozdˇel´ı do tr´enovac´ı a testovac´ı mnoˇziny. V kaˇzd´e iteraci jsou vstupy zpracov´ any syst´emem a n´aslednˇe porovn´any se skuteˇcnou hodnotou. Zmˇeˇren´ a chyba je pˇred´ ana syst´emu k upraven´ı p˚ uvodn´ı v´ahy. Proces je ukonˇcen v okamˇziku dosaˇzen´ı urˇcen´e minim´ aln´ı chyby.. 4.3. Shlukov´ a anal´ yza. Shlukov´ an´ı je rozdˇelov´ an´ı objekt˚ u na z´akladˇe jejich podobnost´ı do tˇr´ıd. Jednotliv´e tˇr´ıdy pak obsahuj´ı navz´ ajem hodnˇe podobn´e objekty, kter´e z´aroveˇ n nejsou pˇr´ıliˇs podobn´e objekt˚ um z jin´ ych tˇr´ıd. Podobnost objekt˚ u je hodnocena podle hodnot jednotliv´ ych atribut˚ u objekt˚ u a ˇcasto se k tomuto u ´ˇcelu vyuˇz´ıvaj´ı vzd´alenostn´ı funkce. Proces shlukov´an´ı nevyˇzaduje na rozd´ıl od klasifikace ˇz´ adnou tr´enovac´ı mnoˇzinu ani ˇz´adn´e pˇreddefinovan´e tˇr´ıdy.. 4.3.1. Typy shlukovac´ıch metod. Shlukovac´ı metody lze rozdˇelit do n´asleduj´ıc´ıch kategori´ı: • Metody zaloˇ zen´ e na rozdˇ elov´ an´ı - Metody rozdˇeluj´ı n objekt˚ u do k tˇr´ıd, kde pro k, n plat´ı k ≤ n. Kaˇzd´a tˇr´ıda obsahuje alespoˇ n jeden objekt a kaˇzd´ y objekt patˇr´ı pouze do jedn´e tˇr´ıdy. Je nutn´e zadat poˇcet tˇr´ıd, do kter´ ych se maj´ı objekty rozdˇelovat. Nejprve se vybere n´ahodnˇe k objekt˚ u reprezentuj´ıc´ıch jednotliv´e tˇr´ıdy a ostatn´ı objekty se zaˇrad´ı do jednotliv´ ych tˇr´ıd na z´akladˇe podobnosti. V dalˇs´ım kroku se hledaj´ı interaktivnˇe objekty nejl´epe reprezentuj´ıc´ı jednotliv´e tˇr´ıdy a objekty jsou pˇresouv´ any mezi jednotliv´ ymi tˇr´ıdami tak, aby jejich podobnost byla v r´amci tˇr´ıdy maxim´ aln´ı a podobnost s objekty jin´ ych tˇr´ıd minim´aln´ı. • Hierarchick´ e metody - Vytv´aˇr´ı se hierarchick´ y rozklad mnoˇziny objekt˚ u - vytv´aˇr´ı se strom shluk˚ u. Hierarchick´e metody se rozdˇeluj´ı podle pr˚ ubˇehu rozkladu na Shlukuj´ıc´ı hierarchick´e metody, kdy se nejprve zaˇrad´ı kaˇzd´ y objekt do speci´aln´ı tˇr´ıdy a n´aslednˇe se sluˇcuj´ı nejpodobnˇejˇs´ı tˇr´ıdy, dokud nejsou vˇsechny tˇr´ıdy spojeny do jedn´e tˇr´ıdy, nebo se nedos´ ahne poˇzadovan´e u ´rovnˇe shlukov´an´ı a na Rozdˇeluj´ıc´ı hierarchick´e metody, kdy se vˇsechny objekty nejdˇr´ıve um´ıst´ı do jedin´e tˇr´ıdy a pak se jednotliv´e tˇr´ıdy dˇel´ı na menˇs´ı tˇr´ıdy do t´e doby, neˇz je kaˇzd´ y objekt um´ıstˇen ve zvl´aˇstn´ı tˇr´ıdˇe, nebo se dos´ahlo poˇzadov´ an´e u ´rovnˇe rozdˇelov´an´ı. • Metody zaloˇ zen´ e na hustotˇ e - Za shluky se povaˇzuj´ı oblasti s velkou hustotou objekt˚ u v prostoru dat, kter´e jsou od sebe oddˇelen´e oblastmi s malou hustotou objekt˚ u. Objekty vyskytuj´ıc´ı se v oblastech s malou hustotou se povaˇzuj´ı za ˇsum. V´ yhodou tˇechto metod je skuteˇcnost, ˇze umoˇzn ˇuj´ı nach´azet shluky r˚ uzn´ ych tvar˚ u a jsou schopn´e se vypoˇr´ adat s odlehl´ ymi hodnotami a ˇsumem v datech.. 16.

(21) • Metody zaloˇ zen´ e na mˇ r´ıˇ zce - Vyuˇz´ıv´a se v´ıce´ urovˇ nov´a mˇr´ıˇzkov´a datov´a struktura. Prostor objekt˚ u je rozdˇelen na koneˇcn´ y poˇcet bunˇek tvoˇr´ıc´ıch mˇr´ıˇzku. Nad touto mˇr´ıˇzkovou strukturou pak prob´ıhaj´ı veˇsker´e operace slukov´an´ı. Pˇrednost´ı tohoto typu metod je doba zpracov´ an´ı datov´e mnoˇziny, kter´a je z´avisl´a pouze na poˇctu bunˇek struktury a nikoliv na celkov´em poˇctu objekt˚ u. • Metody zaloˇ zen´ e na modelech - Snaha o optimalizaci shody mezi datovou mnoˇzinou a nˇejak´ ym dan´ ym matematick´ ym modelem. C´ılem je tedy nalezen´ı takov´ ych shluk˚ u, kter´e by co nejv´ıce odpov´ıdaly dan´emu modelu. Data jsou ve vˇetˇsinˇe pˇr´ıpad˚ u generov´ ana na z´ akladˇe sloˇzen´e pravdˇepodobnostn´ı distribuˇcn´ı funkce. Patˇr´ı zde napˇr. metody neuronov´ ych s´ıt´ı a konceptu´aln´ı shlukov´an´ı. Konceptu´aln´ı shlukov´an´ı nehled´ a na rozd´ıl od bˇeˇzn´eho shlukov´an´ı jen skupiny objekt˚ u,ale snaˇz´ı se pro kaˇzdou skupinu objekt˚ u nal´ezt charakteristick´ y popis. ˇ • Metody pro shlukov´ an´ı vysoce dimenzion´ aln´ıch dat - Rada shlukovac´ıch metod m´ a probl´emy pˇri shlukov´ an´ı vysoce dimenzion´aln´ıch dat, jelikoˇz byly navrˇzeny jen pro pouˇzit´ı s mal´ ym poˇctem dimenz´ı. U rostouc´ıho poˇctu dimenz´ı je totiˇz probl´emem skuteˇcnost, ˇze jen nˇekter´e z tˇechto dimenz´ı jsou relevantn´ı pro jednotliv´e shluky. Data ostatn´ıch dimenz´ı pak generuj´ı pomˇernˇe velk´e mnoˇzstv´ı ˇsumu znemoˇzn ˇuj´ıc´ıho nalezen´ı shluk˚ u. Pro shlukov´ an´ı takov´ ychto dat je moˇzn´e vyuˇz´ıt metodu transformace rys˚ u transformuj´ıc´ı data do prostoru s menˇs´ım poˇctem dimenz´ı pˇri zachov´an´ı relevantn´ıch vzd´ alenost´ı mezi jednotliv´ ymi objekty, nebo metodu v´ ybˇeru atribut˚ u, kter´a je zaloˇzena na nalezen´ı nejv´ıce relevantn´ıch atribut˚ u pro danou u ´lohu a odstranˇen´ı nadbyteˇcn´ ych atribut˚ u.. 17.

(22) Kapitola 5. N´ avrh rozˇ s´ıˇ ren´ı existuj´ıc´ı l´ ekaˇ rsk´ e aplikace 5.1. ´ Uvod. C´ılem t´eto kapitoly je shrnout n´ aroky na aplikaci, kter´a by pˇredstavovala nejen rozˇs´ıˇren´ı st´avaj´ıc´ı l´ekaˇrsk´e ambulantn´ı datab´azov´e aplikace, ale bylo by ji moˇzn´e vyuˇz´ıt i spolu s ostatn´ımi podobnˇe zamˇeˇren´ ymi zdravotnick´ ymi produkty. Takov´ato rozˇs´ıˇren´a pouˇzitelnost s sebou samozˇrejmˇe pˇrin´ aˇs´ı jeden z´asadn´ı probl´em - jak´ ym zp˚ usobem extrahovat z libovoln´e aplikace data, nad kter´ ymi bude n´aslednˇe prov´adˇena pokroˇcil´a anal´ yza. Pˇrestoˇze si mohou b´ yt jednotliv´e aplikace velmi podobn´e a z hlediska funkcionality a ovl´ad´an´ı si opravdu podobn´e jsou, tak kaˇzd´a takov´ato aplikace ukl´ad´a ambulantn´ı data sv´ ym vlastn´ım zp˚ usobem, at’ uˇz do sv´ ych vlastn´ıch datov´ ych struktur, nebo za pouˇzit´ı r˚ uzn´ ych typ˚ u datab´ azov´ ych syst´em˚ u. Pokud by mˇelo navrhovan´e rozˇs´ıˇren´ı pracovat pˇr´ımo s intern´ımi daty vˇsech tˇechto aplikac´ı, bylo by nutn´e zn´ at dopodrobna zp˚ usob uloˇzen´ı dat pro kaˇzdou z nich, coˇz by bylo bez intenzivn´ı spolupr´ ace se softwarov´ ymi spoleˇcnostmi, kter´e tyto aplikace vytvoˇrily nere´aln´e. ˇ sen´ım tohoto probl´emu je vyuˇzit´ı jedn´e vlastnosti, kterou maj´ı vˇsechny pouˇziteln´e amReˇ bulantn´ı aplikace spoleˇcn´e. Touto vlastnost´ı je generov´an´ı datov´ ych d´avek pro pojiˇst’ovny. Kaˇzd´a datov´ a d´ avka m´ a dopodrobna definovan´e datov´e rozhran´ı, kter´e mus´ı vˇsechny tyto aplikace dodrˇzovat. Navrhovan´ a aplikace tedy bude pracovat nad importovan´ ymi z´aznamy z vygenerovan´ ych datov´ ych d´ avek, tzn. nad stejn´ ymi daty, jak´a jsou ambulantn´ımi l´ekaˇri pˇred´avan´ a pojiˇst’ovn´ am ke zpracov´an´ı.. 5.2. Pojem d´ avka. D´avka[4][5] je vyvrcholen´ım l´ekaˇrovy pr´ace, t´ ykaj´ıc´ı se pojiˇst’ovny. Jsou do n´ı vtˇesn´any vˇsechny u ´ˇcty, kter´e l´ekaˇr za posledn´ı obdob´ı nashrom´aˇzdil a kter´e budou odesl´any pojiˇst’ovnˇe na datov´em nosiˇci. D´ avky jsou uloˇzeny v ASCII souboru, kter´ y m´a pˇredepsan´e standardn´ı jm´eno KDAVKA.XXX, kde XXX pˇredstavuje k´od pojiˇst’ovny. Plat´ı z´asada, ˇze na kaˇzd´em datov´em nosiˇci je jen jeden soubor.. 18.

(23) 5.2.1. Definice datov´ eho rozhran´ı d´ avky. D´avka zaˇc´ın´ a u ´vodn´ı vˇetou d´ avky, kter´a obsahuje z´akladn´ı informace o zdravotnick´em zaˇr´ızen´ı a d´ avce. N´ asleduj´ıc´ı vˇety reprezentuj´ı jednotliv´e doklady. Doklady se skl´adaj´ı z typ˚ u vˇet pevn´e d´elky ˇrazen´ ych za sebou. Jednotliv´e vˇety jsou od sebe oddˇeleny znaky ”posun voz´ıku a nov´ a ˇr´ adka”(CRLF). Atributy vˇety nejsou oddˇeleny delimitory.. 5.2.2. D´ avka ambulantn´ı sm´ıˇ sen´ a. Jelikoˇz je navrhovan´ a aplikace urˇcena pouze pro vyuˇzit´ı v soukrom´ ych ambulantn´ıch ordinac´ıch, bude pracovat jen se z´ aznamy z´ıskan´ ymi z d´avek typu ambulantn´ı sm´ıˇsen´e. Tento typ je urˇcen pro vykazov´ an´ı v´ ykon˚ u v ambulantn´ı p´eˇci. V podstatˇe se jedn´a o elektronickou verzi klasick´eho pap´ırov´eho formul´aˇre uveden´eho na obr´azku 5.1.. Kód pojišťovny. IČP. Odbornost. Čís. dokladu. Var. symbol. Poř. č.. VYÚČTOVÁNÍ VÝKONŮ V AMBULANTNÍ PÉČI Příjmení a jméno pacienta: Čís. pojištěnce. Základní diagnóza. Ostatní diagnózy. Datum. Kód. Poč. Odbornost. Diagnóza. 1 2 ind.. NÁHRADY 3 úraz zaviněný jinou osobou 4 požití alkoholu, omamné látky 5 pracovní úraz 7 porušení léčebného režimu 8 jiný důvod 9 nemoc z povolání. 3 4 5 6 7 8 9 10 11 12. Obr´ azek 5.1: Pap´ırov´ y formul´aˇr pro vy´ uˇctov´an´ı v´ ykon˚ u. Typy vˇ et. Doklady se v t´eto d´ avce skl´adaj´ı z n´asleduj´ıc´ıch ˇctyˇr typ˚ u vˇet:. 1. z´ ahlav´ı – vyskytuje se pro kaˇzd´ y doklad jednou a obsahuje pˇrev´aˇznˇe informace o pacientovi, jemuˇz je doklad pˇriˇrazen, poˇctu vykazovan´ ych v´ ykon˚ u, poˇrad´ı dokladu v d´ avce a dalˇs´ı. N´ıˇze jsou uvedeny jej´ı atributy. Popis typ˚ u v tabulk´ ach atribut˚ u: C -znakov´ y atribut, N - numerick´ y atribut, D - datum ve tvaru “DDMMRRRR“, $ - penˇeˇzn´ı atribut, form´at x.y ( x m´ıst vˇcetnˇe desetinn´e teˇcky, z toho y desetinn´ ych m´ıst). 19.

(24) N´ azev TYP HCID HSTR HPOC HPOR. Typ C N N N N. D´ elka 1 7 1 1 3. Zaˇ c´ atek 0 1 8 9 10. HCPO HTPP HICO HVAR HODB HROD HZDG. C C C C C C C. 3 1 8 6 3 10 5. 13 16 17 25 31 34 44. HKON HICZ HCDZ HREZ HCCEL HCBOD DTYP. C C N C $ N C. 1 8 7 10 10.2 7 1. 49 50 58 65 75 85 95. Popis typ vˇety “A“ - z´ahlav´ı ˇc´ıslo dokladu Poˇradov´e ˇc´ıslo listu dokladu Celkov´ y poˇcet list˚ u dokladu Poˇradov´e ˇc´ıslo listu v d´avce. Povolen´ y rozsah od 1-999. ˇc´ıslo pojiˇst’ovny Typ pˇripojiˇstˇen´ı ˇ Identifikaˇcn´ı ˇc´ıslo pracoviˇstˇe - ICP Variabiln´ı symbol Smluvn´ı odbornost pracoviˇstˇe ˇ ıslo pojiˇstˇence C´ ˇ ıslo z´akladn´ı diagn´ozy, pro kterou C´ byl pacient v tomto obdob´ı l´eˇcen nevyplˇ nuje se nevyplˇ nuje se nevyplˇ nuje se nevyplˇ nuje se Cena celkem - nepovinn´e Body celkem - nepovinn´e Doplnˇek typu vˇety z´ahlav´ı nevyplˇ nuje se. Celkov´ a d´elka vˇety: 93 znak˚ u 2. v´ ykony - prostˇrednictv´ım t´eto vˇety se zad´avaj´ı jednotliv´e v´ ykony, kter´e byly na pacientovi bˇehem dan´eho z´ uˇctovac´ıho obdob´ı provedeny. Maxim´alnˇe 99 v´ ykon˚ u. N´ azev TYP VDAT. Typ C D. D´ elka 1 8. Zaˇ c´ atek 0 1. VKOD VPOC VODB. C N C. 5 1 3. 9 14 15. VDIA. C. 5. 18. VBOD VTYP. N C. 5 1. 23 28. Celkov´ a d´elka vˇety: 29 znak˚ u 20. Popis Typ vˇety ”V” - v´ ykony Datum proveden´ı v´ ykonu. Uveden´ı je povinn´e u prvn´ıho v´ ykonu v dan´em dnu ˇ ıslo v´ C´ ykonu Poˇcet proveden´ı v´ ykonu Odbornost - uv´ad´ı se povinnˇe v pˇr´ıpadˇe, kdy byl v´ ykon proveden na pracoviˇsti jin´e smluvn´ı odbornosti, neˇz je uvedena v z´ahlav´ı dokladu Diagn´oza - je-li uvedena z´akladn´ı diagn´oza, uv´ad´ı se jen u v´ ykon˚ u, kter´e se k z´akladn´ı diagn´oze nevztahuj´ı. Nevyplnˇen´a diagn´oza se povaˇzuje za diagn´ozu z´akladn´ı. Body za v´ ykon - nepovinn´ yu ´daj Doplnˇek typu vˇety v´ ykony. Rezerva, nevyplˇ nuje se.

(25) 3. n´ ahrady za zdravotn´ı p´ eˇ ci - v´ yskyt podle poˇctu n´ahrad, maxim´alnˇe 2 N´ azev TYP. Typ C. D´ elka 1. Zaˇ c´ atek 0. NTYP TYPN. C C. 1 1. 1 2. Popis Typ vˇety “N” n´ahrady za zdravotn´ı p´eˇci Typ n´ahrady Doplnˇek typu vˇety n´ahrady. Rezerva, nevyplˇ nuje se. Celkov´ a d´elka vˇety: 3 znaky 4. ostatn´ı diagn´ ozy - v´ yskyt podle poˇctu diagn´oz, maxim´alnˇe 4 N´ azev TYP GCIS. Typ C C. D´ elka 1 5. Zaˇ c´ atek 0 1. GTYP. C. 1. 6. Popis Typ vˇety “G“ - ostatn´ı diagn´ozy ˇ ıslo dalˇs´ı vyskytuj´ıc´ı se diagn´ozy C´ souvisej´ıc´ı s poskytovanou p´eˇc´ı Doplnˇek typu vˇety ostatn´ı diagn´ozy. Rezerva, nevyplˇ nuje se. Celkov´ a d´elka vˇety: 7 znak˚ u Vˇety uveden´e v´ yˇse maj´ı v d´ avce pˇresnˇe definovan´e poˇrad´ı v´ yskytu. Na obr´azku 5.2 je zn´azornˇen stavov´ y diagram fiktivn´ıho automatu, kter´ y by byl schopen ovˇeˇrit spr´avn´e poˇrad´ı jednotliv´ ych vˇet.. Obr´ azek 5.2: Stavov´ y diagram zn´azorˇ nuj´ıc´ı posloupnost jednotliv´ ych vˇet v d´avce. 5.3. Poˇ zadavky kladen´ e na aplikaci. Aplikace je uˇcena k prov´ adˇen´ı anal´ yz nad zdravotnick´ ymi daty z´ıskan´ ymi prostˇrednictv´ım datov´ ych d´ avek, kter´e jsou generovan´e ambulantn´ımi aplikacemi za u ´ˇcelem vy´ uˇctov´ an´ı v´ ykon˚ u jednotliv´ ym pojiˇst’ovn´ am. Anal´ yza dat bude uˇzivatelem prov´adˇena prostˇrednictv´ım OLAP operac´ı nad multidimenzion´aln´ım modelem, kter´ y bude namapov´an na relaˇcn´ı tabulky datov´eho skladu. 21.

(26) Aplikace tedy mus´ı umoˇzn ˇovat zpracov´an´ı jednotliv´ ych d´avkov´ ych soubor˚ u, kter´e je sloˇzeno z n´ asleduj´ıc´ıch krok˚ u: 1. nalezen´ı vˇsech v´ yskyt˚ u d´ avek typu ambulantn´ı sm´ıˇsen´e v tˇechto souborech 2. selekci dat, kter´ a jsou poˇzadov´ana pro anal´ yzu 3. jejich transformaci do vhodn´eho tvaru 4. zaveden´ı transformovan´ ych dat do relaˇcn´ıho datov´eho skladu. 5.3.1. Analyzovan´ a data. Z jednotliv´ ych z´ aznam˚ u uveden´ ych v d´avce lze pro kaˇzd´eho pacienta u kter´eho bylo za dan´e z´ uˇctovac´ı obdob´ı provedeno alespoˇ n jedno vyˇsetˇren´ı extrahovat n´asleduj´ıc´ı, z hlediska anal´ yzy zaj´ımav´ a data pˇrestavuj´ıc´ı v navrhovan´em multidimenzion´aln´ım modelu jednotliv´e dimenze: • Pacient - identifikace pacienta na z´akladˇe rodn´eho ˇc´ısla • Vˇek pacienta - vˇek, kter´eho pacient dovrˇsil pˇri dan´e n´avˇstˇevˇe zdravotnick´eho zaˇr´ızen´ı • Pojiˇst’ovna, u kter´e je dan´ y pacient veden • V´ ykon - typ v´ ykonu proveden´eho na pacientovi bˇehem n´avˇstˇevy • Diagn´ oza - informace o hlavn´ı diagn´oze pacienta na kterou byl bˇehem dan´eho obdob´ı l´eˇcen a diagn´ oze vztahuj´ıc´ı se k proveden´emu v´ ykonu ˇ - datum n´ • Cas avˇstˇevy, v r´ amci kter´e byl proveden nˇekter´ y z v´ ykon˚ u • D´ avka - informace o konkr´etn´ı d´avce, ze kter´e byla data importov´ana do datov´eho skladu Hlavn´ımi mˇern´ ymi jednotkami(faktem), nad kter´ ymi bude prov´adˇena anal´ yza jsou mnoˇzstv´ı bod˚ u z´ıskan´ ych za proveden´ı v´ ykon˚ u, poˇcet proveden´ı v´ ykonu, vyfakturovan´a ˇc´astka a poˇcet minut v´ ykonu. Vhodn´ ym aplikov´ an´ım OLAP operac´ı nad v´ yˇse uveden´ ymi dimenzemi pak bude moˇzn´e z´ıskat napˇr´ıklad n´ asleduj´ıc´ı informace: • celkov´e mnoˇzstv´ı z´ıskan´ ych bod˚ u za dan´e ˇcasov´e obdob´ı • mnoˇzstv´ı z´ıskan´ ych bod˚ u podle jednotliv´ ych pojiˇst’oven v r´amci dan´eho obdob´ı • vliv vˇeku na v´ yskyt jednotliv´ ych diagn´oz • selekce pacient˚ u podle dan´e diagn´ozy a dalˇs´ı. 22.

(27) Kapitola 6. Implementace datov´ eho skladu 6.1. Volba datab´ azov´ eho stroje. Datov´ y sklad je provozov´ an na multiplatformn´ım datab´azov´em stroji MySQL. MySQL byl zvolen na z´ akladˇe pozitivn´ıch zkuˇsenost´ı z jin´ ych projekt˚ u, kter´e tento stroj vyuˇz´ıvaly a rovnˇeˇz pro mnoˇzstv´ı dostupn´ ych kvalitn´ıch n´astroj˚ u umoˇzn ˇuj´ıc´ıch efektivn´ı spr´avu datab´ aze a v´ yvoj datab´ azov´ ych aplikac´ı postaven´ ych na tomto ˇreˇsen´ı.. 6.2. Proces ETL. Data, kter´ a se v datov´em skladu vyskytuj´ı, lze rozdˇelit na dvˇe skupiny na z´akladˇe zdroj˚ u, ze kter´ ych jsou extrahov´ ana. Tˇemito zdroji jsou datov´e soubory obsahuj´ıc´ı jednotliv´e d´avky ambulantnˇe sm´ıˇsen´e a pomocn´e ˇc´ıseln´ıky dod´avan´e pojiˇst’ovnou VZP. Oba tyto zdroje maj´ı pˇresnˇe definovanou strukturu z´aznam˚ u a povolen´ y obsah prostˇrednictv´ım datov´eho rozhran´ı. L´ekaˇrsk´e aplikace generuj´ıc´ı tyto datov´e soubory tedy mus´ı toto rozhran´ı striktnˇe dodrˇzovat, jinak by ze strany pojiˇst’ovny doˇslo k jejich odm´ıtnut´ı. Z toho vypl´ yv´a, ˇze d´avka m˚ uˇze b´ yt importov´ ana z jak´ekoliv aplikace a pˇritom je st´ale zajiˇstˇen jak pˇresn´ y zp˚ usob uloˇzen´ı z´ aznam˚ u, tak validita obsaˇzen´ ych dat. D´ıky tomu je proces extrakce a n´asledn´e transformace z´ıskan´ ych dat znaˇcnˇe zjednoduˇsen. C´ılem extrakce je tedy na z´akladˇe rozhran´ı obsah jednotliv´ ych zdroj˚ u naˇc´ıst do vnitˇrn´ıch struktur a tyto struktury n´aslednˇe pˇredat transformaˇcn´ımu procesu ke zpracov´an´ı. Z´aznamy v obou zdroj´ıch obsahuj´ı sadu doprovodn´ ych atribut˚ u, kter´e nejsou z hlediska prov´adˇen´ı anal´ yz nad datov´ ym skladem potˇreba. C´ılem transformaˇcn´ı procesu je tedy tyto data z jednotliv´ ych z´aznam˚ u odstranit pˇred t´ım, neˇz jsou zavedena do datov´eho skladu. Z nˇekter´ ych atribut˚ u obsaˇzen´ ych v importovan´ ych z´ aznamech je t´eˇz moˇzn´e dodateˇcnˇe extrahovat dalˇs´ı, z hlediska anal´ yzy cenn´e informace. Takov´ ymi atributy jsou napˇr´ıklad ˇretˇezec datumu pacientovy n´avˇstˇevy ambulantn´ıho zaˇr´ızen´ı, kter´ y je nutn´e pro zkvalitnˇen´ı dotazovac´ıch schopnost´ı v´ ysledn´eho syst´emu rozdˇelit na jednotliv´e ˇcasov´e podsloˇzky a tyto uloˇzit do samostatn´ ych sloup˚ u c´ılov´e dimenze. Dalˇs´ım takov´ ym atributem je pak ˇc´ıslo pojiˇstˇence, kter´e je reprezentov´ano rodn´ ym ˇc´ıslem. Z tohoto ˇc´ısla je pak moˇzn´e extahovat informace o narozen´ı a pohlav´ı pacienta. Zp˚ usob extrakce tˇechto dat bude detailnˇe vysvˇetlen u popisu jednotliv´ ych tabulek dimenz´ı, kter´e jsou k uloˇzen´ı tˇechto dat urˇceny. Zat´ımco import d´avek bude do datov´eho skladu prov´adˇen v pravideln´ ych ˇcasov´ ych intervalech odpov´ıdaj´ıc´ıch smluven´emu u ´ˇctovac´ımu obdob´ı, aktualizace podp˚ urn´ ych ˇc´ıseln´ık˚ u bude prov´adˇena pouze v pˇr´ıpadˇe, kdy bude obsah nˇekter´eho ˇc´ıseln´ıku pojiˇst’ovnou pozmˇenˇen. Zmˇena v datov´em rozhran´ı obou zdroj˚ u si vˇzdy vyˇz´ad´ a. 23.

(28) vyd´an´ı aktualizovan´e verze aplikace, kdy bude v z´avislosti na m´ıˇre proveden´ ych zmˇen nutn´e automatick´ ym procesem pˇrizp˚ usobit strukturu datov´eho skladu nov´ ym poˇzadavk˚ um.. 6.3. Struktura datov´ eho skladu. Datov´ y sklad pro u ´ˇcely OLAP anal´ yzy nad zdravotnick´ ymi daty je realizov´an na z´akladˇe sch´ematu hvˇezdy, kdy jsou pˇr´ıtomny tabulky reprezentuj´ıc´ı jednotliv´e dimenze a jedna tabulka fakt˚ u s odkazy na tyto dimenze a mˇern´ ymi jednotkami, jejiˇz anal´ yza se bude prov´adˇet. Sch´ema datov´eho skladu je zobrazeno na obr´azku 6.1.. Obr´ azek 6.1: Sch´ema datov´eho skladu Datov´ y sklad obsahuje celkem 7 n´asleduj´ıc´ıch tabulek dimenz´ı ˇ n´ • Cas avˇstˇevy • Pacient • V´ ykon • Vˇek pacienta • Pojiˇst’ovna • D´ avka • Diagn´ oza 24.

(29) 6.3.1. ˇ n´ Dimenze Cas avˇ stˇ evy. Dimenze slouˇz´ı pro uchov´ av´ an´ı ˇcas˚ u jednotliv´ ych n´avˇstˇev pacient˚ u zdravotnick´eho zaˇr´ızen´ı. Z hlediska anal´ yzy by ovˇsem bylo velmi omezuj´ıc´ı pracovat pouze s konkr´etn´ım datumem a proto jsou z toho datumu d´ ale extrahov´any n´asleduj´ıc´ı informace: • Rok • Kvart´ al • T´ yden ˇ ıslo mˇes´ıce v rozsahu 1-12 • C´ • N´ azev mˇes´ıce • Den v mˇes´ıci • Den v t´ ydnu • Den v t´ ydnu - n´ azev dne • Datum Pro extrakci v´ yˇse uveden´ ych ˇcasov´ ym poloˇzek obsahuje datab´aze MySQL sadu funkc´ı, kter´e je moˇzn´e pouˇz´ıt pˇr´ımo v SQL dotazu a nen´ı tedy nutn´e ˇreˇsit extrakci programovˇe v samotn´em k´ odu aplikace. Extrakce roku K tomuto u ´ˇcelu je urˇcena funkce YEAR(datum), kter´a pˇrij´ım´a jako parametr konkr´etn´ı datum a vrac´ı hodnoty v rozsahu 1000 - 9999, nebo 0 v pˇr´ıpadˇe nulov´eho o datumu. Pˇr´ıklad pouˇzit´ı: SELECT YEAR(’2009-02-01’); -> 2009 Extrakce kvart´ alu K extrakci kvart´ alu je urˇcena funkce QUARTER(datum), kter´a pˇrij´ım´a jako parametr konkr´etn´ı datum a vrac´ı hodnotu v rozsahu 1 - 4. Pˇr´ıklad pouˇzit´ı: SELECT QUARTER(’2009-02-01’); -> 1 Extrakce t´ ydne K extrakci t´ ydne je urˇcena funkce WEEK(datum), kter´a pˇrij´ım´a jako parametr konkr´etn´ı datum a vrac´ı hodnotu v rozsahu 0 - 53. Pˇr´ıklad pouˇzit´ı: SELECT WEEK(’2008-02-01’); -> 4 25.

References

Related documents

Furthermore, traditional livestock farming directly fosters the usage of groundwater and dug wells (Oshikweyo) and indirectly reduces the water supply security by, for in-

or information about their expertise, which is repeated mainly with Negation feedback. Social: we mean context information related to a user’s role at work, and

Campus Select classes will vary from .17-1.0 high school credits all depending on the amount of college credits earned for the course. If it is a 100 level course and above it will

Physician Greater Pittsburgh Neurosurgical Assocs UPMC 5115 Centre Avenue Third Floor Pittsburgh PA 15232 Allegheny Physician Greater Pittsburgh Neurosurgical Assocs UPMC 532

Distribution of distinct EGFr cysteine altering NOTCH3 mutations in ExAC compared to those reported in cerebral autosomal dominant arteriopathy with subcortical infarcts

Working in conjunction with the Stroke Association this service provides a community approach in rehabilitation supporting those with an acquired brain injury and/or

The wavelength ranges that were observed contain a number of spectral lines of other elements. In the process of comput- ing the synthetic spectra, estimates of the abundances of

In summary, our basic model suggests that the health share rises over time as income grows if the joy associated with living an extra year does not diminish as quickly as the