UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky

Moduly pro onkologick´ysyst´em Tom´aˇsPeˇsek

Bakal´aˇrsk´apr´ace 2011

Prohlaˇsuji,ˇzejsem tuto pr´acivypracoval samostatnˇe.Veˇsker´eliter´arn´ı prameny a informace, kter´ejsem v pr´acivyuˇzil,jsou uvedeny v seznamu pouˇzit´eliteratury.

Byl jsem sezn´amens t´ım,ˇzese na moji pr´acivztahuj´ıpr´ava a povinnosti vypl´yvaj´ıc´ıze z´akona ˇc.121/2000 Sb., autorsk´yz´akon, zejm´enase skuteˇcnost´ı,ˇzeUniverzita Pardubice m´apr´avo na uzavˇren´ılicenˇcn´ısmlouvy o uˇzit´ıt´etopr´acejako ˇskoln´ıhod´ılapodle § 60 odst. 1 autorsk´ehoz´akona, a s t´ım,ˇzepokud dojde k uˇzit´ıt´etopr´acemnou nebo bude poskytnuta licence o uˇzit´ıjin´emu subjektu, je Univerzita Pardubice opr´avnˇenaode mne poˇzadovat pˇrimˇeˇren´ypˇr´ıspˇevek na ´uhradu n´aklad˚u,kter´ena vytvoˇren´ıd´ılavynaloˇzila,a to podle okolnost´ıaˇzdo jejich skuteˇcn´ev´yˇse.

Souhlas´ıms prezenˇcn´ımzpˇr´ıstupnˇen´ımsv´epr´acev Univerzitn´ıknihovnˇe.

V Pardubic´ıch dne 3. kvˇetna2012 Tom´aˇsPeˇsek Podˇekov´an´ı R´adbych podˇekoval sv´emu vedouc´ımu bakal´aˇrsk´epr´acepanu Ing. Luk´aˇsovi Ceganovi,ˇ Ph.D za veden´ıt´etopr´ace,za cenn´erady a trpˇelivost. D´alebych chtˇelpodˇekovat vˇsem, kteˇr´ımˇepodporovali bˇehemcel´ehom´ehostudia, zejm´enam´erodinˇea pˇr´atel˚um. Anotace Tato pr´acese zab´yv´aprobleamtikou spr´avynemocniˇcn´ı agendy. Je zamˇeˇrena na pˇredstaven´ısouˇcasn´ych nemocniˇcn´ıch informaˇcn´ıch syst´em˚u(s d˚urazemna pouˇzit´ıv onko- logick´ych ambulanc´ıch) a na pˇredstaven´ıv´yvoje nov´ehoonkologick´ehoIS M2 (n´astupce onkologick´ehoIS Medoro). Tato pr´acese d´alezab´yv´apouˇzit´ymitechnologiemi, kter´ebyly zvoleny pro v´yvoj. Je to skriptovac´ıjazyk PHP s d˚urazemna jeho frameworky, datab´azov´ysyst´empostgreSQL a dalˇs´ıtechnologie pro v´yvoj online aplikac´ı.

Kl´ıˇcov´aslova Onkologick´yinformaˇcn´ı syst´em,nemocniˇcn´ı agenda, Zend framework, PHP, post- greSQL

Title Modules for oncological system.

Annotation This thesis si dealing with issues of management of hospital agenda. It’s aimed on presentation of contemporary hospital information systems ( with emphasis on utilization in oncological ambulances) and on presenation of development of new oncological IS M2 (successor of oncological IS Medoro) This thesis is also dealing with used technologies, which were selected for development. It is scripting language PHP with emphsis on its frameworks, database system postgreSQL and other technologies for development online applications.

Keywords Oncological information system, hospital agend, Zend framework, PHP, postgreSQL Obsah

1 Uvod´ a c´ılpr´ace 12 1.1 Uvod...... ´ 12 1.2 C´ıl...... 12

2 Dostupn´etechnologie a syst´emy 13 2.1 Technologie ...... 13 2.2 Hlavn´ıscriptovac´ıjazyk ...... 13 2.2.1 PHP vs. ASP.NET ...... 13 2.2.2 MVC architektura ...... 14 2.2.3 Frameworky jazyka PHP ...... 15 2.3 Form´atov´an´ıv´ystupua scripty na stranˇeklienta ...... 17 2.3.1 XHTML a kask´adov´estyly ...... 17 2.3.2 SVG ...... 18 2.3.3 Ecmascript, Javascript a AJAX ...... 18 2.4 Datab´azov´avrstva ...... 18 2.4.1 PostgreSQL ...... 18 2.4.2 MySQL ...... 19 2.5 NIS na trhu ...... 19 2.5.1 Produktov´eˇradyFONS spoleˇcnostiSTAPRO s.r.o...... 19 2.5.2 Medical process assistant spoleˇcnostiICZ a.s...... 21 2.5.3 Zhodnocen´ı ...... 22

3 Onkologick´yinformaˇcn´ısyst´emM2 23 3.1 Sezn´amen´ıs OIS M2 ...... 23 3.2 Architektura ...... 23 3.2.1 Nov´averze ...... 24 3.2.2 Celkov´akoncepce OIS M2 ...... 24 3.3 Modul Kartot´eka ...... 25 3.3.1 Modelov´aˇc´ast...... 25 3.3.2 R´ıd´ıc´ıˇc´ast.ˇ ...... 27 3.4 Modul Radioterapie ...... 28 3.4.1 Modelov´aˇc´ast...... 28 3.4.2 R´ıd´ıc´ıˇc´ast.ˇ ...... 30 3.5 Modul Chemoterapie ...... 31 3.5.1 Modelov´aˇc´ast...... 31 3.5.2 R´ıd´ıc´ıˇc´ast.ˇ ...... 33 3.6 Instalaˇcn´ıpˇr´ıruˇcka ...... 35 3.6.1 HW a SW poˇzadavky na server ...... 35 3.6.2 Postup instalace OIS M2 ...... 36

7 3.6.3 Nutn´ekroky po konfiguraci ...... 36 3.6.4 Doporuˇcen´e´upravy po konfiguraci ...... 37 3.7 Uˇzivatelsk´apˇr´ıruˇcka ...... 37 3.7.1 Pˇr´ıruˇcka kartot´eky ...... 38 3.7.2 Pˇr´ıruˇcka radioterapie ...... 38 3.7.3 Pˇr´ıruˇcka chemoterapie ...... 40

4 Z´avˇer 43 PHP ...... PHP: Hypertext processor HTML ...... Hypertext markup language XHTML ...... Extensible hypertext markup language XML ...... Extensible Markup Language HTTP ...... Hypertext Transfer Protocol SQL ...... Structured Query Language MVC ...... Model - View - Controller ASP ...... Active Server Pages .NET ...... dotnet“ ” JSP ...... Java server pages PDF ...... Portable Document Format API ...... Application Programming Interface SVG ...... Scalable Vector Graphics AJAX ...... Asynchronous JavaScript and XML HW ...... Hardware ZF ...... Zend framework MS-DOS ...... Microsoft - disk operating system CGI ...... Common Getway Interface SW ...... Software ER ...... Entity-relationship IS ...... Informaˇcn´ısyst´em NIS ...... Nemocniˇcn´ıinformaˇcn´ısyst´em OIS ...... Onkologick´yinformaˇcn´ısyst´em HL7 ...... Health Level Seven PACS ...... A Photodetector Array Camera and Spectrometer BMI ...... Body Mass Index BSA ...... Body Surface Area JVM ...... Java Virtual Machine RT ...... Radioterapie CHT ...... Chemoterapie NRT ...... Nen´adorov´aradioterapie

9 Seznam tabulek

3.1 V´yvoj PHP 4 a PHP 5...... 23

10 Seznam obr´azk˚u

2.1 MVC - z´akladn´ıprincip...... 14

3.1 Grafick´ezn´azornˇen´ırozdˇelen´ımodul˚u...... 24 3.2 ER diagram modulu kartot´eka...... 26 3.3 ER diagram modulu radioterapie...... 29 3.4 ER diagram modulu chemoterapie - spr´ava protokol˚u...... 32 3.5 ER diagram modulu chemoterapie - chemoterapeutick´epobyty...... 34 3.6 Hlavn´ımenu ...... 38 3.7 Procesy z´akladn´ı´urovnˇe ...... 38 3.8 Z´aloˇzky ...... 38 3.9 Uˇzivatelsk´eprocesy v kartot´ece...... 39 3.10 Uˇzivatelsk´eprocesy v radioterapii...... 39 3.11 Uˇzivatelsk´eprocesy v chemoterapii...... 42 3.12 Kalend´aˇraplikac´ıchemoterapie...... 42

11 1 Uvod´ a c´ılpr´ace

1.1 Uvod´

Informaˇcn´ısyst´emy (d´alejen IS) usnadˇnuj´ıpr´acimilion˚umlid´ıdennˇenejen ve zdravot- nictv´ı.Co to ale ve skuteˇcnostiIS je? Podle definice jde o mnoˇzinu prvk˚uve vz´ajemn´ych informaˇcn´ıch a procesn´ıch vztaz´ıch (informaˇcn´ı procesy). Mnoˇzinu prvk˚usi m˚uˇzeme pˇredstavit jako soubor lid´ıa technologick´ych prostˇredk˚u.Informaˇcn´ıa procesn´ıvztahy si m˚uˇzemezase pˇredstavit jako soubor ´ulohs informacemi, jako napˇr´ıkladsbˇer,pˇrenos, zpracov´an´ıa vyhodnocen´ı.Z definice je patrn´eto, ˇzekdyˇzuˇzivatel oˇcek´av´aod IS nˇejakou pr´aci,mus´ımu k t´etopr´aciposkytnout prostˇredky. N´azornˇeto lze vysvˇetlittˇrebatakto: jestliˇzechceme, aby n´amIS vytvoˇrilstatistiku toho, jak´ebyly pacientovi pod´any l´eky, IS mus´ıvˇedˇeto tom, ˇzepacient P dostal l´ek L a jestliˇzechceme tuto statistiku sledovat v ˇcase,IS mus´ıvˇedˇet,ˇzepacient P dostal l´ek L v den D. Jakou formou se o tom IS dozv´ı nen´ıpodstatn´e,podstatn´eje, ˇzebez tˇechto informac´ıIS statistiku nesestav´ı. D˚uvod˚upro nasazen´ıIS m˚uˇzeb´yt cel´aˇrada.IS za n´asneudˇel´aveˇskerou pr´aci,ale pr´aci,kterou mus´ımevykonat, n´amulehˇc´ı.Kdybychom v dneˇsn´ıdobˇenemˇeliIS, veˇsker´a data by byla uloˇzenav pap´ırov´epodobˇev centr´aln´ıch kartot´ek´ach, pˇr´ıpadˇev seˇsitech ˇcidi´aˇr´ıch jednotliv´ych zamˇestnanc˚unebo oddˇelen´ı.Takov´etoinformace je sloˇzit´ezpˇetnˇe dohledav´ata nejsou (nebo nemohou) b´ytpropojeny, takˇzese ztˇeˇzujei pr´aces takov´ymi daty. Vyhled´av´an´ıinformac´ızabere mnoho ˇcasua pr´aces nimi jeˇstˇev´ıce. Pˇripouˇzit´ı IS m´amevˇsechny informace na jednom m´ıstˇe,mezi informacemi existuj´ıvazby, takov´eto informace m´amez´alohov´any a IS m˚uˇzepˇrevz´ıt kus naˇs´ı pr´aceformou automatick´ych v´ypoˇct˚u,statistik nebo d´avkov´ych v´ykon˚u. V nemocniˇcn´ı praxi vyuˇzijememoˇznostsnadn´ez´alohy, zamezen´ı vzniku chyb pˇri manu´aln´ımpˇrepisuinformac´ı,´uspora pr´acea ˇcasuperson´alu(automatick´ev´ypoˇcty, d´avky pro pojiˇst’ovny, atd), snadnˇejˇs´ıa pˇrehlednˇejˇs´ıpˇr´ıstupk informac´ıma v neposledn´ıˇradˇe snaˇzˇs´ızad´av´an´ıinformac´ı.

1.2 C´ıl

C´ılt´eto pr´aceje pˇredstaven´ınˇekter´ych nemocniˇcn´ıinformaˇcn´ıch syst´emu pouˇz´ıvan´ych v Cesk´erepublice.ˇ Dalˇs´ımc´ılempr´aceje popsat v´yvoj nov´ych modul˚uonkologick´ehoIS M2 (d´alejen OIS M2), zamˇeˇritse na technologie pro v´yvoj weob´ych aplikac´ı, hlavnˇe scriptovac´ıjazyk PHP s d˚urazemna jeho frameworky. C´ılepr´acejsou tedy takov´e:

1. Kriticky zhodnotit souˇcasn´eNIS na trhu. 2. Popsat technologie pouˇzit´epˇriv´yvoji. 3. Popsat v´yvoj tˇr´ıstˇeˇzejn´ıch modul˚upro OIS M2.

12 2 Dostupn´etechnologie a syst´emy

2.1 Technologie

OIS Medoro, potaˇzmoi nov´yOIS M2 byl vyvinut (a je d´alevyv´ıjen)na webov´eplatformˇe. Proˇcbylo rozhodnuto pr´avˇetakto? Hlavn´ıv´yhoda tohoto ˇreˇsen´ıje v rychl´empˇr´ıstupu k dat˚umpomoc´ıinternetov´ehoprohl´ıˇzeˇcekdekoliv v nemocniˇcn´ıs´ıti(popˇr´ıpadˇeze s´ıtˇe venkovn´ı).Vypl´yv´ato z definice samotn´ewebov´eaplikace:

“Webov´aaplikace je klient/server software, kter´ykomunikuje s uˇzivatelem nebo jin´ym syst´ememprostˇrednictv´ımprotokolu HTTP. Jako klient b´yv´anejˇcastˇejipouˇzitwebov´y prohl´ıˇzeˇc,jako je napˇr´ıklad Internet explorer, Firefox, Opera nebo Chrome. ”

D´ıky vˇsudypˇr´ıtomn´yminternetov´ymprohl´ıˇzeˇc˚umjsou webov´eaplikace st´alevelmi obl´ıben´ea podle vˇsech pˇredpoklad˚ujeˇstˇedlouho obl´ıben´ez˚ustanou. Dalˇs´ımargumentem je fakt, ˇzena pˇrelomu roku 2003 a 2004 zaˇz´ıvaly webov´eaplikace velik´yrozmach. V dobˇe,kdy NIS disponoval grafick´ymrozhran´ımzn´am´az operaˇcn´ıho syst´emu MS-DOS a prvn´ıinternetov´eport´aly uˇzbyly dobˇrezn´am´ea rozˇs´ıˇren´e 1, byla vidina pr´acev takov´emto port´alevelice pˇr´ıjemn´a.Posoud´ıme-li fakt, ˇzev t´etodobˇese PHP 4 tˇeˇsilovelk´eoblibˇe,dalˇs´ıargument pro webovou aplikaci je na svˇetˇe. Tyto v´yhody desktopov´aaplikace nikdy nepˇrekon´a.Sice je pravda, ˇzedneˇsn´ıdoba nab´ız´ı velk´emnoˇzstv´ı vyuˇzit´ı desktopov´ych aplikac´ı, ale pro potˇreby OIS M2 bohatˇe postaˇc´ı(a praxe ukazuje, ˇzepostaˇcuje)webov´aarchitektura.

2.2 Hlavn´ıscriptovac´ıjazyk

Pro v´yvoj webov´ych aplikac´ım˚uˇzemednes s´ahnoutk nˇekolika technologi´ım.Pomineme-li staˇriˇck´eCGI, jsou to hlavnˇetechnologie PHP, ASP.NET a JSP. PHP a ASP.NET se dnes tˇeˇs´ıvˇetˇs´ıoblibˇeneˇzJSP, proto ve struˇcnostiv n´asledujic´ıcmtextu porovn´amjen tyto dvˇe.

2.2.1 PHP vs. ASP.NET Posuzov´an´ıv´yhod jedn´etechnologie a nev´yhod druh´eje vˇec´ı,kter´abohuˇzelnejde vyˇreˇsitv jedn´epodkapitole t´etobakal´aˇrsk´epr´ace.Tato problematika by pokryla rozsah samostatn´e bakal´aˇrsk´enebo diplomov´epr´ace.Takov´atopr´acejiˇzexistuje, ale je z roku 2004, takˇze dnes je bohuˇzeltrochu zastaral´a,ale jako zdroj cenn´ych informac´ıslouˇz´ıdodnes. Pˇri n´avrhu nov´eho syst´emu byly kladeny poˇzadavky na osvˇedˇcen´e technologie a postupy. Z pˇredchoz´ıch zkuˇsenost´ı bylo zn´amo, ˇze udrˇzovat syst´em neobjektovˇe a nemodul´arnˇeje velice pracn´e,sp´ıˇsenere´aln´e.Proto byl poˇzadavek postavit novou aplikaci na robustn´ımz´akladu,ˇcilina frameworku. PHP nab´ız´ıframework˚ucelou ˇradu(z´aleˇz´ı na v´ybˇeru),ASP.NET je framework s´amo sobˇe. Jak PHP tak ASP.NET dnes nab´ızej´ı pohodlnou pr´acis objektovˇeorientovan´ymprogramov´an´ım.

1Seznam.cz byl zaloˇzenroku 1996 a v roce 1998 spustil e-mailovou sluˇzbuSeznam mail (*@seznam.cz)

13 Obr´azek2.1: MVC - z´akladn´ıprincip.

JelikoˇzIS obecnˇespravuj´ıa prezentuj´ıvelk´eobjemy dat, bylo by vhodn´e,aby jed- notliv´evrstvy byly od sebe oddˇeleny. Toto ˇreˇsen´ınab´ız´ısoftwareov´aarchiterktura MVC (Model - View - Controller). VˇetˇsinaPHP framework˚ututo architekturu implementuje, ASP.NET v souˇcasn´edobˇenikoliv. V souˇcasn´edobˇeexistuje jen verze 3 Beta frameworku ASP.NET MVC, takˇzev tomto ASP.NET znaˇcnˇepokulh´av´aza PHP. Budeme-li vych´azetze z´avˇeruBernardovy bakal´aˇrsk´epr´acezjist´ıme,ˇzeve v´ysledku nem´aani jedna technologie nic nav´ıc oproti druh´e.To co se m˚uˇzepro jednoho jevit jako v´yhoda, m˚uˇzeb´ytpro druh´ehonev´yhoda (pouˇzit´ı webForms). V roce 2003 bylo rozhodnuto, ˇzezapoˇcnev´yvoj na platformˇePHP a dnes nem´asmysl toto rozhodnut´ı mˇenit.Ani ASP.NET, ani JSP nedisponuj´ıtakov´ymiv´yhodami, ˇze by kv˚ulinim st´aloza to, mˇenitosvˇedˇcenouplatformu.

2.2.2 MVC architektura MVC architektura rozdˇelujetˇriz´akladn´ıˇc´astiaplikace (datov´ymodel, uˇzivatelsk´erozhran´ı a ˇr´ıd´ıc´ılogiku), takˇzez´asahdo jedn´eˇc´astibude minimalizovat vliv na ostatn´ıdvˇeˇc´asti. Z´akladn´ıprincip je zn´azornˇenna obr´azku2.1. Architektura MVC m˚uˇze b´yt realizov´ana r˚uzn´ymi zp˚usoby, vˇseobecnˇe ale plat´ı podobn´yprincip:

1. Aplikace (konkr´etnˇeView) ˇcek´ana akci uˇzivatele. 2. Controller tuto akci zachyt´ıa rozhodne, co bude dˇelatd´ale(uprav´ıModel nebo pˇr´ımoView). 3. View ˇcek´ana dalˇs´ıakci a cel´yproces se opakuje.

Proˇcje MVC architektura v posledn´ıdobˇetolik obl´ıben´a?V posledn´ıch letech zaˇzily informaˇcn´ıtechnologie (a programovac´ıjazyky v˚ubec) velik´yboom. Z tˇeˇzko dosaˇziteln´ych funkcionalit se st´avaj´ıtriviality, kter´ezvl´adnekaˇzd´y,ne kaˇzd´yji ale zvl´adneoptim´alnˇe.Ne ˇzeby snad neoptim´aln´ıaplikace nefungovala, ale je sloˇzit´ana ´udrˇzbu.MVC architektura n´ampom´ah´audrˇzetk´odaplikace dobˇreˇciteln´ya znovupouˇziteln´y.L´epe se v k´odu hledaj´ı chyby a architektura omezuje duplicity v k´odu.V neposledn´ıˇradˇeje jednoduˇs´ık´od,kter´y je postaven na architektuˇreMVC, testovat. [1] Uˇzivatel nijak nezjist´ı,ˇzeje aplikace postavena na architektuˇreMVC. V drtiv´evˇetˇsinˇe totiˇzani nev´ı,co to je architektura nebo snad MVC architektura, takˇzepro nˇehoje pˇr´ınos nulov´y,pro v´yvoj´aˇreje to ale cesta, kter´avelice usnadn´ıpozdˇejˇs´ıspr´avua rozvoj aplikace.

14 2.2.3 Frameworky jazyka PHP Na zaˇc´atkubychom si mˇelivyjasnit, co to je framework, k ˇcemu je dobr´y, co n´ampˇrin´aˇs´ı a co po n´aschce. Framework je jak´asiknihovna (software, aplikace), kter´an´am(pro- gram´ator˚um)ulehˇcujepr´acia ˇzivot. Pomoc´ıframeworku zpˇrehledn´ımeaplikaci, vyvaru- jeme se duplicitn´ımu k´odua pr´acisi ulehˇc´ıme,protoˇzeframework obsahuje n´astroje, kter´e bychom jinak museli pracnˇetvoˇrit.Na opl´atkusi framework ukousne kus v´ykonu naˇs´ıap- likace. U webov´eplatformy jde ale tuto nev´yhodu minimalizovat spr´avnouoptimalizac´ı webov´ehoserveru. Tomu je vˇenov´anazvl´aˇstn´ıkapitola. Programovac´ı jazyk PHP disponuje velk´ymmnoˇzstv´ım nejr˚uznˇejˇs´ıch framework˚u. Opravdov´yn´astupa rozmach PHP framework˚uzaˇcals n´astupem PHP 5. Do t´edoby existovaly veˇrejn´edepozit´aˇretˇr´ıdjako tˇrebawww.phpclasses.com, nebo PEARL. Kdyˇzsi v´yvoj´aˇrivˇsimlitoho, jak mocn´yje framework Ruby on Rails, chopili se pˇr´ıleˇzitostia zaˇcala ´eraframework˚ujazyka PHP. Asi nejzn´amnˇejˇs´ıframework jazyka PHP je Zend framework (d´alejen ZF) od tv˚urc˚usamotn´ehoPHP. U n´asse tˇeˇs´ıvelk´eoblibˇeNette framework od ˇcesk´ehoautora Davida Grudla. Dalˇs´ımizn´am´ymiframeworky jsou napˇr´ıkladCakePHP, nebo framework. Kaˇzd´yzn´amˇejˇs´ıframework m´asv´ehozast´ance i sv´ehoodp˚urce.Je pravdou, ˇzene kaˇzd´y framework se hod´ına vˇsechno. Jak´ejsou tedy faktory pro v´ybˇerframeworku? Vynechme ekonomick´efaktory, protoˇzekdyˇzbudeme m´ıtt´ympˇetiprogram´ator˚us desetiletou praxi s Ruby on Rails, nebude moc ekonomick´evˇsechny pˇreuˇcitna ZF.

1. Pˇridan´ahodnota frameworku (podle mˇenem´asmysl pouˇz´ıtframework na str´ances jednou fotkou a telefonem). 2. Ulehˇcen´ıpr´ace(chci pouˇz´ıtframework, kter´ymi nebude h´azetklacky pod nohy). 3. Vystaˇc´ımsi jen s frameworkem (framework by podle mˇemˇelm´ıt n´astroje minim´alnˇe k odesl´an´ıe-mailu, vygenerov´an´ıPDF a spojit se s datab´az´ı). 4. Existence pouˇziteln´edokumentace a aktivn´ıkomunity

JelikoˇzOIS M2 nen´ıwebov´aaplikace, kde se zobraz´ıpouze jm´eno,pˇr´ıjmen´ıa tele- fon, tento fakt pˇr´ımo l´akal k pouˇzit´ınˇekter´ehoframeworku. T´ımjsme si potvrdili bod jedna. N´aslednˇesi pˇredstav´ıme tˇriasi nejzn´amnˇejˇs´ı frameworky jazyka PHP. Vˇsechny frameworky splˇnuj´ıbod dva, tedy implementuj´ıarchitekturu MVC. Dalˇs´ıdva faktory si rozebereme u jednotliv´ych framework˚u.

Cake PHP V´yvoj frameworku CakePHP zapoˇcalv roce 2005 a na konci roku 2005 (konr´etnˇe20. prosince 2005) [2] byla zaloˇzenaneziskov´aorganizace Cake software foundation, Inc, kter´a m´azajiˇst’ovat podporu pro rozvoj a v´yvoj CakePHP (podobn´eNette fundation v Cesk´eˇ republice). CakePHP je jeden z m´alaframework˚u,kter´ypodporuje jeˇstˇePHP 4. Je to d´ano samotnou filosofi´ıtohoto frameworku. Od frameworku se oˇcek´av´arobustn´ız´aklad,kter´y usnadn´ıspr´avuaplikace a v´yvoj nov´efunkcionality tak, aby to bylo v˚ubec moˇzn´ea tak, aby to ˇsetˇriloˇcas.CakePHP je pˇreborn´ıkv druh´emaspektu. Pom˚uˇzen´amrychle a celkem efektivnˇevytvoˇritnov´yprojekt. Vyuˇz´ıv´aarchitekturu MVC, takˇzeurˇcitˇeto je posun kupˇredu.CakePHP n´amale ned´av´anic zvl´aˇstn´ıho nav´ıc. Komponenty pro vytv´aˇren´ı PDF dokument˚u(vˇcetnˇeˇc´arkov´ych k´od˚u),pos´ıl´an´ıe-mail˚u,pr´ac´ıs lokalizac´ınebo pro vytv´aˇren´ıformul´aˇr˚ubychom museli ˇreˇsitextern´ımiknihovnami. Nav´ıcm´anepˇrehledn´e str´anky(zkusme na webu naj´ıtlicenci) i dokumentaci.

15 CakePHP je ˇs´ıˇren pod licenc´ıMIT 2. Samotn´yfakt, ˇzetato informace je dostupn´aaˇz ze zdrojov´ych k´od˚uaplikace vypov´ıd´ao kvalitˇedokumentace.

Nette je z trojice framework˚unejstarˇs´ı(poˇc´ıt´ame-lidobu v´yvoje), ale podle doby, kdy jej mohou pouˇz´ıvat i jin´ıuˇzivatel´eneˇzautor, je tento framework nejmladˇs´ı.Au- tor se zmiˇnujeo tom, ˇzev´yvoj zapoˇcalroku 2004 a o dalˇs´ıˇctyˇriroky pozdˇejise zaˇcalˇs´ıˇrit jako open source [3]. Tento fakt se mu stal osudn´ympˇriv´ybˇeruframeworku pro OIS M2 a to z toho d˚uvodu, ˇzekv˚uli sv´emu open sourceov´emu st´aˇr´ınemˇelpropracovanou doku- mentaci a existovala jen omezen´ainternetov´akomunita okolo tohoto frameworku. Nette framework je ˇs´ıˇrenjako svobodn´ysoftware, to znamen´a,ˇzesi uˇzivatel m˚uˇzevybrat mezi licenc´ıNew BSD nebo GPL [4]. Pojd’me si ˇr´ıct nˇecoo vlastnostech tohoto frameworku. Mezi z´akladn´ıvlastnosti tohoto frameworku patˇr´ıbezpeˇcnost,opravdu poveden´ylad´ıc´ı n´astroj (kter´ym˚uˇzeNette z´avidˇeti ZF), velmi dobr´yv´ykon, dnes jiˇzcel´aˇradaplu- gin˚ua rozˇs´ıˇren´ı,aktu´alnˇenejaktivnˇejˇs´ıkomunita a dobr´adokumentace. Nette framework disponuje vlastn´ımˇsablonovac´ımsyst´emem 3. Obsahuje velice propracovanou spr´avufor- mul´aˇr˚u,kter´aumoˇzˇnujesnadno validovat odeslan´adata (na stranˇeserveru i klienta). Jak bylo ˇreˇcenodisponuje poveden´ymlad´ıc´ımsyst´emem.Propracovan´e,obousmˇern´e 4 routov´an´ı. Nette framework se na prvn´ı pohled jev´ı jako ide´aln´ı volba. Je od ˇcesk´ehoautora (zn´am´ehoz jeho dˇr´ıvˇejˇs´ıch knihoven dibi a Texy!) tud´ıˇzby mˇelob´ytjednoduˇs´ıdohle- dat nejasnosti na f´orech nebo v dokumentaci. Bohuˇzeltento fakt plat´ıdnes, kdy Nette disponuje nejaktivnˇejˇs´ıˇceskou komunitou, ale jeˇstˇev roce 2008 byla ´uroveˇndokumen- tace velice ˇspatn´a(oproti ZF pˇr´ımo ˇzalostn´a)a proto byla d´anapˇrednostZF, kter´y disponuje robustn´ıdokumentac´ı(at’ uˇzRefference guide nebo API). Dluˇznopodotknout, ˇzekdyby se o pˇreps´an´ıOIS Medoro rozhodovalo o pouh´yrok d´ele,Nette framework by nejsp´ıˇsvyhr´al.Dalˇs´ınev´yhoda, kterou Nette framework trpˇel,bylo to, ˇzeexistovalo velice omezen´emnoˇzstv´ıplugin˚u(napˇr.pˇr´ım´apodpora generov´an´ıPDF dokument˚u).Jak bylo zm´ınˇenov´yˇse,dnes je stav ´uplnˇejin´ya vˇetˇsina z´aporn´ych bod˚u,kter´ymitento framework trpˇel,jsou odstranˇeny, coˇzz nˇej dˇel´avelice kvalitn´ıframework, kter´yje schopen n´am velice ulehˇcita zkvalitnit pr´aci.

Zend Framework V´yvoj ZF zapoˇcal roku 2005, tedy opˇetpo ´uspˇechu Ruby on Rails. Za v´yvojem ZF stoj´ı spoleˇcnost Zend Technologies Ltd., tedy spoleˇcnost, kter´azastˇreˇsuje cel´e PHP, jedn´ase tedy o framework od tv˚urc˚uPHP. ZF disponuje rozs´ahloudokumentac´ı,velk´ym mnoˇzstv´ımkomponent a celou ˇradoupˇr´ıklad˚una Zend devzone 5. Framework je ˇs´ıˇrenpod licenc´ıNew BSD [5]. ZF n´ampˇrin´aˇs´ıvˇsechno jako Nette framework. Nˇecol´epe, nˇecoh˚uˇre.Nejd˚uleˇzitˇejˇs´ımi komponentami, kter´eulehˇcuj´ıpr´aci,je Zend Auth a Zend Acl. Nev´yhodu frameworku m˚uˇzeme minimalizovat vhodn´ympouˇzit´ım Zend Cache modulu, pˇr´ıstup do datab´aze (postgreSQL, Oracle, MySQL, MSSql) obstar´av´aZend Db, s generov´an´ım PDF sou- bor˚un´ampom˚uˇzeZend Pdf (moˇzn´epropojen´ıs komponentou Zend Barcode). Zend View

2http://www.opensource.org/licenses/mit-license.php 3Latte - http://doc.nette.org/cs/templating#toc-latte 4framework vygeneruje URL ze zadan´eakce presenteru 5http://devzone.zend.com/

16 n´amumoˇzˇnujeps´atv´ystupn´ık´odypomoc´ıprost´ehoPHP, nebo ˇsablonovac´ıhosyst´emu SMARTY, kter´yje v Zend View pˇr´ımo implementov´an.ZF disponuje celou ˇradoukom- ponent, kter´ese hod´ı v´ıceˇcim´enˇepro urˇcit´yprojekt. Pro stavbu elektronick´ehoob- chodu ocen´ıme Zend Currency nebo Zend Feed, pro diskusn´ı f´orum ocen´ıme modul Zend Captcha nebo Zend Mail. Modul˚uje cel´aˇradaa z´aleˇz´ıjen na n´as,kter´ypouˇzijeme. Jak je patrn´ez abstraktu t´etopr´ace,pro v´yvoj OIS M2 byl nakonec zvolen pr´avˇe ZF. Nejvˇetˇs´ız´asluhu na tom m´apropracovan´adokumentace. Kdyˇzporovn´ameZF s jeho nejvˇetˇs´ımkonkurentem - Nette frameworkem, tak mus´ımekonstatovat, ˇzeNette frame- worok udˇelalza posledn´ıdva roky opravu m´ılov´ekroky a dnes by bylo rozhodov´an´ıo v´ybˇeruframeworku sloˇzitˇejˇs´ı.Dost moˇzn´aby nakonec o v´ybˇerunerozhodovaly technick´e, ale ekonomick´ea person´aln´ıparametry.

2.3 Form´atov´an´ıv´ystupua scripty na stranˇeklienta

Pojmem form´atov´an´ıv´ystupurozumnˇejmeprocesy a technologie, kter´ymijsou uˇzivatel˚um prezentov´any data v lidsk´etj. ˇciteln´epodobˇe.

2.3.1 XHTML a kask´adov´estyly XHTML je:

• znaˇckovac´ıjazyl • jedn´ımz jazyk˚upro vytv´aˇren´ıwebov´ych str´anek • zkratkou anglick´ehov´yrazueXtensible HyperText Markup Language • rozˇs´ıˇren´eHTML tak, aby vyhovovalo XML • zpˇetnˇekompatibiln´ıs HTML

XHTML mˇelb´ytn´astupcem HTML. Verze 1.0 existuje ve tˇrech variant´ach. Varianta Strict pˇredpokl´ad´a, ˇzedokument bude form´atov´anpomoc´ı kask´adov´ych styl˚ua tak v tomto d˚usledkuzakazuje vˇetˇsinu atribut˚u(width, font, align) a ustupuje i od nˇekter´ych element˚u(center, menu). Varianta Translation je vhodn´apro vytv´aˇren´ıstr´anekpro starˇs´ı prohl´ıˇzeˇce,protoˇzeprom´ıj´ızastaral´eelementy, jako pr´avˇecenter a menu. Posledn´ıvariant Frameset umoˇzˇnujepouˇz´ıvat r´amcea stejnˇejako Translation zastaral´eelementy. Vzhledem k tomu, ˇzednes nem´amoc smysl vyv´ıjetaplikace pro star´eprohl´ıˇzeˇce,je jasn´e,ˇzenejrozˇs´ıˇrenˇejˇs´ıvarianta XHTM 1.0 je Strict. Jak´ejsou v´yhody XHTML oproti jeho pˇredch˚udciHTML? D˚uleˇzit´eje pochopit rozd´ılmezi HTML a XHTML. Jestliˇzese jedn´ao HTML, str´anka by mˇelab´ytodesl´anas MIME type text/html, jestliˇzese jedn´ao XHTML, str´anka by mˇela b´ytodesl´anas MIME type application/xhtml+xml. D´ıkytomu internetov´yprohl´ıˇzeˇcpozn´a,jak´yparser m´apouˇz´ıta my tak m˚uˇzeme rozliˇsitHTML od XHTML. Tato ban´aln´ıvˇecm´avˇsakjeden nedostak a to ten, ˇzedominantn´ıprohl´ıˇzeˇc na trhu (Internet Explorer) pˇredverz´ı 9 (vyd´anav roce 2011) str´ankus MIME type applicatin/xhtml+xml nab´ıdnest´ahnout,ale nezobraz´ıj´ı(coˇzje pro prohl´ıˇzen´ıtrochu nepraktick´e).Proto se stalo bˇeˇznouprax´ı,ˇzeXHTML str´ankyse pos´ılalys MIME typem text/html, takˇzejsme str´anku parsovali jako HTML, takˇzeby se dalo ˇr´ıci,ˇzeXHTML ˇz´adnouv´yhodu oproti HTML nem´a.XHTM mˇelob´ytn´astupcem HTML, ale jak se uk´azalo,HTML vyhr´alo.17. 12. 2010 byla rozpuˇstˇenapracovn´ıskupina, kter´apracov- ala na XHTML 2.0 a m´ıstotoho pomalu svˇetupˇredstavuje HTML5. [6], [7]

17 2.3.2 SVG SVG je form´atdvourozmˇern´evektorov´egrafiky, kter´ylze vytvoˇritpomoc´ıXML speci- fikace. Takto vytvoˇrenougrafiku m˚uˇzemeoˇzivitpomoc´ıEcmascriptu a kask´adov´ych styl˚u. V OIS M2 jsou pomoc´ıSVG realizov´any grafick´ev´ystupy formou 2D graf˚u.Bohuˇzelne- jpouˇz´ıvanˇejˇs´ıinternetov´yprohl´ıˇzeˇcpodporuje XML aˇzod verze 9, takˇzeniˇzˇs´ıverze jsou o tuto technologii oˇsizeny a je nutn´egrafy pˇrev´estdo klasick´ehoobr´azkov´ehoform´atu, kter´yztr´ac´ıv´yhodu oˇziven´ıpomoc´ıecmascriptu a grafick´akvalita takov´ehotografu je o troˇskuniˇzˇs´ı.

2.3.3 Ecmascript, Javascript a AJAX Javascript je nadstavba Ecmascriptu. Tyto technologie prov´adˇej´ı procesy na stranˇe klienta. Porovnejme to s PHP scriptov´an´ım.PHP scripty potˇrebuj´ıpro sv˚ujchod we- bov´yserver s podporou PHP, takˇzetyto scripty jsou spouˇstˇeny na serveru (Klient pod´a poˇzadavek a server mu odpov´ı). Mohou pˇristupovat k datab´azia filesyst´emu a jsou spouˇstˇeny pˇred staˇzen´ımwebov´estr´ankyz internetu. Naproti tomu scripty na stranˇe klienta se zpravidla (existuj´ıv´yjimky)spouˇst´ıaˇz po staˇzen´ıwebov´estr´ankyz internetu, tedy ke sv´emu chodu nepotˇrebuj´ıwebov´yserver a vykon´avaj´ıse v internetov´emprohl´ıˇzeˇci. Ecmascript je pouˇzitve form´atuSVG, javascript pak v XHTML. AJAX6 je souhrn technologi´ı,kter´emˇen´ıˇc´astobsahu webov´estr´ankybez nutnosti znovunaˇcten´ı cel´e str´anky. Z v´yznamu slova AJAX zjist´ıme, ˇze to jsou technologie javascript, xml a XMLHttpRequest. AJAX funguje asi tak, ˇzejavascript zachyt´ıud´alost (napˇr.zmˇenahodnoty v combo boxu), na pozad´ıpoˇsleHTTP poˇzadavek, na pozad´ıpˇr´ıjme HTTP odpovˇed’ (nejˇcastˇejive formˇeXML), zpracuje odpovˇed’ a metodami javascriptu zmˇen´ıˇc´aststr´anky.

2.4 Datab´azov´avrstva

V´ybˇerdatab´azov´evrstvy byl ve znaˇcn´em´ıˇreovlivnˇenpolitikou podniku. Mezi nejzn´amˇejˇs´ı komerˇcn´ı datab´azov´eservery patˇr´ı Oracle, Sybase, nebo MSSQL. Mezi open sourcov´e datab´azov´eservery pak PostgreSQL, MySQL a FirebirdSQL. Jelikoˇzstar´averze onkolog- ick´ehoIS vyuˇz´ıvala PostgreSQL a protoˇzese tato datab´azevelice osvˇedˇcila,nov´averze syst´emu je nativnˇevyv´ıjenatak´ena PostgreSQL. Nov´ysyst´emje ale postaven na ar- chitektuˇreMVC, to znamen´a,ˇzelze datab´azov´yserver zmˇenitbez ˇz´adn´ych vˇetˇs´ıch kom- plikac´ı. Podnikov´apolitika upˇrednostˇnujeopen sourcov´eˇreˇsen´ı(PHP, apache, unix, ...) a proto se v´ybˇernativn´ıdatab´azezamˇeˇrilpr´avˇena open sourcov´eˇreˇsen´ı.V prvn´ıˇradˇeFirebird- SQL si moc nerozum´ıs unixov´ymserverem, proto z dalˇs´ıhoporovn´av´an´ıvypad´av´a.

2.4.1 PostgreSQL Dlouhou dobu platilo, ˇzedatab´azov´ysyst´emPostgreSQL je open sourcov´avarianta pro Oracle. Vyslouˇzilsi to hlavnˇed´ıkysv´ymschopnostem. Jiˇzod verze 6 7 umoˇzˇnujetvorbu triger˚ua procedur a nejen v jazyce PL/SQL, ale i v C nebo Pearl (mysql umoˇzˇnujetvorbu triger˚uaˇzod verze 5 8). PostgreSQL disponuje moˇznost´ıtvorby poddotaz˚u,vytv´aˇren´ı

6Asynchronous javascript and XML 7rok 1997 8rok 2005

18 ciz´ıch kl´ıˇc˚ua v neposledn´ıˇradˇei “atomic operations ”, coˇzjsou vlastnˇetransakce (bud’ projde cel´aposloupnost dotaz˚u,nebo ˇz´adn´y).Co se t´yˇcerychlosti z´akladn´ıch pˇr´ıkaz˚u SELECT, INSERT a UPDATE, tak PostgreSQL dosahuje horˇs´ıch v´ysledk˚uneˇzMySQL, disponuje ale daleko vˇetˇs´ıˇsk´aloumoˇznost´ı,ˇzese tento fakt st´av´anepodstatn´ym,protoˇze rozd´ılyv rychlosti nejsou nijak z´avratn´e.[8]

2.4.2 MySQL MySQL je dnes velice obl´ıben´ydatab´azov´ysyst´em.D´ıkytomu, ˇzeje souˇc´ast´ız´akladn´ıho softwareov´ehovybaven´ıwebserver˚u(LAMP 9) je nainstalovan´yna drtiv´evˇetˇsinˇewebhost- ing˚u.V´yvoj MySQL byl od zaˇc´atkusoustˇredˇenna rychlost. Tento fakt vedl k tomu, ˇze datab´azov´yserver obsahuje urˇcit´azjednoduˇsen´ı,jako napˇr´ıkladjen jednoduch´ezp˚usoby z´alohov´an´ı[9] (pro ukl´ad´an´ıcitliv´ych dat podstatn´ynedostatek). Stejnˇejako Nette frame- work udˇelalv posledn´ıch letech datab´azov´yserver MySQL velk´ykrok kupˇredu.Od verze 5 umoˇzˇnujeukl´adatprocedury, vytv´aˇrettrigery a pohledy. Zvl´aˇstnost´ıMySQL je zp˚usob, kter´ymsupluje chybˇej´ıc´ısekvence. Sloupci, kter´ym´aobsahovat automaticky generovanou posloupnost ˇc´ısel,je moˇzn´epˇriˇraditpˇr´ıznakAuto Increment a tato vlastnost se postar´ao to, ˇzeve sloupci bude uloˇzenavˇzdyunik´atn´ıhodnota. Ve vˇetˇsinˇezn´am´ych datab´azov´ych syst´em˚use tohoto dosahuje pr´avˇepomoc´ısekvenc´ı.

2.5 NIS na trhu

2.5.1 Produktov´eˇradyFONS spoleˇcnostiSTAPRO s.r.o. “STAPRO s.r.o. je v´yznamn´ym dodavatelem informaˇcn´ıch syst´em˚u,diagnostick´ych pˇr´ıstroj˚u,zdravotnick´etechniky a z´aroveˇni poskytovatelem sluˇzebv oblasti informaˇcn´ıch technologi´ıpro zdravotnictv´ı.” Produktov´aˇrada FONS uceluje portfolio spoleˇcnosti. Rozsah a obsah produkt˚u spoleˇcnosti vyˇzadoval nov´euspoˇr´ad´an´ı,kter´ereflektuje poˇzadavky na novou, kompaktnˇejˇs´ı strukturu produkt˚u.V souˇcastn´edobˇeproduktov´aˇradaFONS obsahuje tyto syst´emy:

1. FONS Enterprise - NIS 2. FONS AKORD - NIS 3. FONS Openlins - laboratorn´ıkomplement 4. FONS Report - manaˇzersk´yinformaˇcn´ısyst´em 5. FONS Flexi - flexibiln´ıformul´aˇre

Spoleˇcnost STAPRO doned´avnadisponovala a nab´ızela dalˇs´ıNIS. Byly to StaproMedea, StaproGF (dˇr´ıve Grey Fox) a StaproH (dˇr´ıve HiComp). U instalac´ıtˇechto syst´em˚uje pˇredpoklad postupn´ehoupgade na nov´eNIS: FONS Akord a FONS Enterprise.

Vzhledem k t´ematu t´etopr´acesi podrobnˇejirozebereme prvn´ıdva syst´emy, FONS Enterprise a FONS Akord.

9Linux - Apache - MySQL - PHP

19 FONS Akord FONS Akord je inovovan´averze starˇs´ıhosyst´emu StaproAkord. FONS Akord umoˇzˇnuje veden´ızdravotnick´edokumentace a nˇekter´eprovozn´ıˇcinnostinˇekter´ych klinick´ych pra- coviˇst’ pomoc´ır˚uznˇepropojen´ych modul˚u.Podle spoleˇcnostiSTAPRO m´aFONS Akord tyto pˇr´ınosya v´yhody:

1. Zv´yˇsen´aefektivita pr´acea standartizace proces˚ua postup˚u(pˇrednastaven´eobra- zovky, formul´aˇrea work-flow dle best-practices) 2. Otevˇrenost syst´emu a vysok´a flexibilita umoˇzˇnuje individu´aln´ı nastaven´ı odpov´ıdaj´ıc´ımre´aln´ymproces˚umprob´ıhaj´ıc´ına dan´empracoviˇstia poˇzadavk˚um akreditaˇcn´ıch standard˚u 3. Podpora syst´emu pˇrirozhodov´an´ı,poskytnut´ıspr´avn´ych informac´ıve spr´avn´yˇcas 4. Omezen´ıchybovosti a zv´yˇsen´ıkvality vykazov´an´ıpojiˇst’ovn´am 5. Statistick´ev´ystupy 6. Bezpeˇcnost

FONS Akord obsahuje celou ˇradumodul˚u,n´ıˇzejsou uveden´enejzaj´ımavˇejˇs´ız nich.

• CERTIFIKACE - FONS Akord je pravidelnˇecertifikov´anna nejnovˇejˇs´ı operaˇcn´ı syst´emy. Certifikace na WIN 7 je potvrzen´ımkorektn´ıhofungov´an´ısyst´emu na ne- jnovˇejˇs´ımoperaˇcn´ımsyst´emu. • ACTIVE DIRECTORY - Pokud zdravotnick´e zaˇr´ızen´ı vyuˇz´ıv´a pro ˇr´ızen´ı uˇzivatelsk´ych ´uˇct˚usluˇzbuActive directory, lze ji s FONS Akord propojit a doc´ılit tak snaˇzˇs´ıspr´avyuˇzivatel˚ua jejich pr´av. • KOMPLEXN´I POPIS OPERACE - operace lze pl´anovat a n´aslednˇezapsat do operaˇcn´ıch protokol˚u,kter´e popisuj´ı operaci, vˇcetnˇe ´udaj˚uo operaˇcn´ım t´ymu, o proveden´ych v´ykonech, ˇcasech, materi´alech a pouˇzit´ych pˇr´ıstroj´ıch. Pohled na protokol je ucelen´y- v jednom formul´aˇri vid´ıme vˇsechny potˇrebn´e´udaje vˇcetnˇe vy´uˇctov´an´ı. • PORODNICE - umoˇzˇnujev´estpotˇrebnoudokumentaci k vyˇsetˇren´ıa hospitalizaci tˇehotn´eˇzeny, informace o porodu a stav novorozence a matky po porodu. • PLANOV´ AN´ ´I PROCEDUR - vˇsechny postupn´ekroky jsou propojeny - od ordinace procedur l´ekaˇrem,pˇres napl´anov´an´ıprocedur, z´aznamy fyzioterapeut˚ua z´avˇereˇcn´y stav pacienta po proceduˇre. • LEKOV´ E´ INTERAKCE - syst´emukazuje aktu´aln´ı´udaje o preskripci, upozorˇnuje na alergie, hl´as´ıl´ekov´einterakce a poskytuje informace o alternativn´ıch l´ec´ıch stejn´e ATC skupiny. • KOMPLEXN´I OBJEDNAVKOV´ Y´ SYSTEM´ - umoˇzˇnujelehce a pˇrehlednˇeobjednat pacienta na urˇcit´evyˇsetˇren´ı. • ALERTY - umoˇzˇnuj´ıonline informovat uˇzivatele o r˚uzn´ych akc´ıch (poˇzadavek na konzilium a podobnˇe). • EVIDENCE PODAN´ ´ILEK´ U˚ - slouˇz´ık online evidenci podan´ych l´ek˚uu l˚uˇzka pa- cienta, automaticky zajiˇst’uje vyskladnˇen´ıl´ekua vyk´aˇzepl´atciZULP.

Zdroj: Materi´alyz konference Inmed, konan´ev listopadu 2011 v Pardubic´ıch.

20 FONS Enterprise “Nemocniˇcn´ıIS FONS Enterprise je komplexn´ıIS pro podporu provozu zdravotnick´ych zaˇr´ızen´ır˚uzn´ehotypu a velikosti. Jde o novou generaci IS, kter´yvznikl na z´akladˇemˇen´ıc´ıho se prostˇred´ızdravotn´ıinformatiky.”

Podle spoleˇcnostiSTAPRO m´aFONS Enterprise tyto pˇr´ınosypro uˇzivatele:

1. Rozˇs´ıˇren´ı spektra metrik dle ´udaj˚uv IS pro hodnocen´ı ˇcinnostizdravotnick´eho zaˇr´ızen´ı 2. Pl´anov´an´ı,sledov´an´ıa vyhodnocov´an´ıproces˚u 3. Rozdˇelen´ıproces˚umezi definovan´euˇzivatele nebo role - ´ukolov´an´ı,TODO list 4. Sn´ıˇzen´ın´aklad˚una l´eˇcbupouˇzit´ımexpertn´ıch informac´ıv pr˚ubˇehu l´eˇcby 5. Sn´ıˇzen´ıadministrativn´ız´atˇeˇzeuˇzivatel˚upˇripr´acise syst´emem 6. Maxim´aln´ıvyt´ıˇzenostevidovan´ych dat ve formˇesestav, statistik a report˚u 7. Sn´ıˇzen´ıchybovosti evidovan´ych dat 8. Efektivn´ıpodpora akreditac´ı 9. Leg´aln´ıveden´ızdravotnick´edokumentace ˇcistˇev elektronick´epodobˇe 10. Individu´aln´ınastaven´ıuˇzivatelsk´ehorozhran´ı 11. Podpora vyˇsˇs´ı pr´avn´ı ochrany zdravotnick´ehozaˇr´ızen´ı d´ıky n´astroj˚umpro ˇr´ızen´ı kvality p´eˇce 12. Pln´aotevˇrenostpro komunikaci s jin´ymisyst´emy 13. Pozitivn´ıpˇr´ıstupuˇzivatel˚umk aplikaci

FONS Enterprise je rozs´ahl´ysyst´em,kter´ynab´ız´ıcelou ˇradufunkcionalit, n´ıˇzejsou uvedeny opˇetnejzaj´ımavˇejˇs´ız nich:

• PODPORA KLINICKYCH´ PROCESU˚ - syst´emobsahovˇepokr´yv´avˇsechny klinick´e procesy ˇreˇsen´eve st´avaj´ıc´ıch NIS. • STRUKTUROVANA´ DOKUMENTACE - je moˇzn´enadefinovat konkr´etn´ıpodobu jak´ekoliv strukturovan´edokumentace pro specifick´epotˇreby jednotliv´ych oddˇelen´ı. • VYSOKY´ STUPENˇ KONFIGUROVATELNOSTI - umoˇzˇnuje vyspecifikovat v´yslednoupodobu klinick´eud´alostipˇresnˇedle potˇrebjednotliv´ych pracoviˇst’. • DASHBOARD - d´ıky modern´ımu pojet´ı grafick´eˇc´astiaplikace umoˇzˇnujeFONS Enterpirse pr´acis v´ıce okny na jedn´eobrazovce (vhodn´epro ˇsiroko´uhl´emonitory). • PACIENTSKY´ PANEL - obsahuje z´akladn´ı ´udaje o pacientovi, vˇcetnˇeposledn´ı alergie, diagn´ozy, medikace a jin´einformace o pacientovi. Uˇzivatel je na prvn´ıdojem informov´ano d˚uleˇzit´ych faktorech souvisejic´ıch s l´eˇcbou. • TIMELINE - umoˇzˇnujegraficky interpretovat v´ysledkynebo jinak strukturovan´e ´udaje ˇciud´alosti.

Zdroj: Materi´alyz konference Inmed, konan´ev listopadu 2011 v Pardubic´ıch.

2.5.2 Medical process assistant spoleˇcnostiICZ a.s. SpoleˇcnostICZ a.s. nab´ız´ıv r´amciregionu stˇredn´ıEvropy integrovan´asoftwareov´aa s´ıt’ov´a ˇreˇsen´ınapˇr´ıˇcr˚uzn´ymi obory. Specializuje se tedy, narozd´ılod Stapra, nejen na zdravot- nictv´ı.Mezi jej´ıprodukty paˇr´ınapˇr´ıkladRegion´aln´ıinformaˇcn´ısyst´em(Geoaplikace roku 2003), syst´emREP pro Ceskouˇ poˇstu,s.p. (IT projekt roku 2003) nebo ePACS (sd´ılen´ı

21 obr´azkov´ych dat napˇr´ıˇccelou republikou). Medical process assistant (d´alejen MPA) je nov´agenerace klinick´ehoIS, kter´ana ´uzem´ı CRˇ podporuje vˇsechny typy klinick´ych pracoviˇst’. Podle spoleˇcnostise jedn´ao pˇredn´ı evropsk´eˇreˇsen´ı provozovan´ena des´ıtk´ach pracoviˇst´ıch po stˇredn´ı evropˇe,t´ım p´ademje samozˇrejmost´ıpln´ajazykov´a,legislativn´ıa procesn´ılokalizace. Souˇc´ast´ıMPA je nativn´ıpodpora procesn´ıhoworkflow, kter´eautomatizuje ˇradupro- ces˚u,t´ım p´adempln´ı z´akladn´ı funkci IS - usnadˇnujea urychluje pr´aci.Dalˇs´ı souˇc´ast´ı MPA jsou specifick´emoduly pro jednotky intenzivn´ı p´eˇce,neonatologii a porodnictv´ı, chirurgick´eobory (vˇcetnˇeelektronick´ych operaˇcn´ıch protokol˚u)a podpora diet vˇcetnˇe komunikace se stravovac´ımprovozem. Podle spoleˇcnostiMPA obsahuje tyto unik´atn´ıvlastnosti ˇreˇsen´ı:

1. Implementace procesn´ıhopˇr´ıstupudo libovoln´ehloubky specifikace na ´urovni doku- mentace, formul´aˇr˚u,uˇzivatel˚u,ˇcinnost´ı,´ukol˚u,term´ın˚ua informac´ı. 2. Podpora klinick´ehorozhodov´an´ıa implementace Clinical Pathways 10. 3. Procesn´ıworkflow je n´astrojem a pomocn´ıkem k certifikaci a akreditaci. 4. Syst´emje plnˇekonfigurovateln´yve vˇsech potˇrebn´ych oblastech. 5. Vyuˇz´ıv´aplnohodnotnou integraci prostˇred´ıMS Office. 6. Syst´emplnˇerespektuje vˇsechna n´arodn´ıspecifika a normy CRˇ a veˇsker´epoˇzadavky v Evropsk´eunii. 7. Syst´emje vytvoˇrenna b´azinejmodernˇejˇs´ıch technologick´ych poznatk˚upro v´yvoj a je vyv´ıjenna platformˇeJava. 8. Plnˇepodporuje integraˇcn´ıstandardy a technologick´epoˇzadavky, jako jsou HL711, SOA12, Web services.

2.5.3 Zhodnocen´ı SpoleˇcnostSTAPRO je pˇredn´ıdodavatel IS pro zdravotnick´ezaˇr´ızen´ıu n´as.S produkty t´etospoleˇcnostise m˚uˇzesezn´amitbudouc´ızdravotnick´yperson´aljiˇzna stˇredn´ıch zdravot- nick´ych ˇskol´ach. Pˇresdvacet let zkuˇsenost´ı,dotace z evropsk´ych region´aln´ıch fond˚u 13 a fakt, ˇzespoleˇcnostdod´av´asv´aˇreˇsen´ıpo cel´erepublice (i na Slovensku), ze spoleˇcnostidˇel´a opravdu siln´ehohr´aˇcena poli nemocniˇcn´ıch IS. Dalˇs´ıv´yhodou t´etospoleˇcnostije fakt, ˇze se nespecializuje pouze na IS, ale dod´av´ai diagnostick´epˇr´ıstroje, zdravotnickou techniku a poskytuje dalˇs´ısluˇzby pro zdravotnictv´ı.Podle referenc´ıspoleˇcnost´ıjsou nemocniˇcn´ıIS produktov´eˇraduFONST instalov´any u des´ıtekz´akazn´ık˚u,z nichˇznejvˇetˇs´ıuˇzivatel´ejsou Krajsk´azdravotn´ıa.s. ˇciKrajsk´anemocnice Tom´aˇseBati a.s. Naproti tomu se spoleˇcnostICZ specializuje na ˇsirˇs´ıoblast trhu ˇcilinejen na zdravot- nictv´ı.Do podvˇedom´ızdravotnick´ehooboru se dostala hlavnˇed´ıkyprojetu ePACS, kter´y spojuje v´ıce neˇzsto nemocnic napˇr´ıˇc Ceskouˇ republikou se spr´avou ve VFN v Praze. Podle referenc´ıspoleˇcnostije MPA implementov´anv Oblastn´ınemocnici Jiˇc´ınFakultn´ı nemocnice Brno, coˇzje znaˇcn´ynepomˇerv poˇctu implementac´ıch mezi ICZ a Staprem.

10Mapy p´eˇce 11health Level 7 12Service-oriented architecture 13NOVA´ GENERACE NIS (INOVACE PRODUKTU, INOVACE PROCESU)

22 3 Onkologick´yinformaˇcn´ısyst´emM2

3.1 Sezn´amen´ıs OIS M2

Onkologick´yinformaˇcn´ısyst´emM2 (d´alejen OIS M2) navazuje na sv´ehopˇredch˚udceOIS Medoro, kter´ybyl vyvinut v letech 2003 aˇz2004 firmou Medoro s.r.o. Neˇzse zaˇcneme seznamovat s nov´ymsyst´emem,ˇreknˇemesi, co v˚ubec vedlo k v´yvoji star´ehoOIS Medoro. 1. Dokumentace radioterapie a chemoterapie na r˚uzn´ych m´ıstech 2. Komplikovan´epˇred´av´an´ıt´eto dokumentace 3. D˚usledkem mnoha informaˇcn´ıch zdroj˚use dokumentace st´av´anepˇrehlednou 4. Pro dokumentaci pr˚ubˇehu l´eˇcby je pouˇz´ıv´anpˇr´ıliˇsobecn´yNIS nebo jen pap´ır Zde je nutno podotknout, ˇzec´ılemOIS nen´ınahradit NIS, ale jen ho vhodnˇerozˇs´ıˇrit. Proto byly ve star´emOIS Medoro pouˇzity technologie pro komunikaci s NIS a do nov´eho syst´emu byly pˇrevedeny tak´e. Jak se zaˇcal star´y OIS Medoro nasazavat a pouˇz´ıvat, vznikaly postupnˇe nov´e poˇzadavky na jeho funkˇcnost.V roce 2004 nebyly logicky dostupn´edneˇsn´ıtechnologie a moˇznostia tak se nov´efunkcionality pˇrid´avaly mnohdy krkolomn´ymzp˚usobem, kter´y znamenal odchylky od standard˚uprogramov´an´ı.Typick´ymzp˚usobem byla snaha vytvoˇrit “nˇecojako AJAX”na ´urovni tehdejˇs´ıhojavascriptu a CCS 1.

3.2 Architektura

Hlavn´ıd˚uvod pro v´yvoj nov´everze byl ten, ˇzestar´yOIS Medoro byl vyvinut na technologii PHP 4. V dobˇev´yvoje sice pˇriˇslona sc´enu nov´ePHP 5 s nov´ympˇr´ıstupem k objektovˇe orientovan´emu programov´an´ı(OOP), ale to uˇzv´yvoj zapoˇcala nov´ePHP 5 pˇrin´aˇselov´ıce ot´azekneˇzodpovˇed´ı.V tabulce 3.1 se pod´ıvejme na pr˚ubˇehvyd´an´ıverz´ıPHP ˇrady4 a 5 v obdob´ıv´yvoje OIS Medoro. Takˇze bylo rozhodnuto, ˇze rozpracovan´y projekt nebude pˇreps´an do nov´eho, nezn´am´ehoPHP 5.0, ale z˚ustanese u ust´alen´ehoa spolehliv´ehoPHP 4. V dneˇsn´ıdobˇe m´amek dispozici PHP 5.3 (nejnovˇejˇs´ıverze PHP 5.3.8, srpen 2011). Spravovat rozs´ahlou aplikaci ve star´everzi re´aln´ebylo, ale vyv´ıjetnov´efunkcionality uˇzbylo sloˇzit´e.Proto bylo rozhodnuto, ˇzenov´emoduly OIS budou vyv´ıjeny na nov´ych technologi´ıch a star´e moduly se postupnˇepˇrep´ıˇs´ı.

PHP 4 PHP 5 4.3 - prosinec 2002 5.0 - ˇcervenec 2004 4.4 - srpen 2005 5.1 - listopad 2005 4.4.8 - leden 2008 5.2 - listopad 2006 4.4.9 - srpen 2008 5.2.6 - kvˇeten 2008 konec ˇrady4 5.2.8 - prosinec 2008

Tabulka 3.1: V´yvoj PHP 4 a PHP 5.

23 Obr´azek3.1: Grafick´ezn´azornˇen´ırozdˇelen´ımodul˚u.

3.2.1 Nov´averze Nov´averze pˇrin´aˇs´ıcelou ˇraduvylepˇsen´ı.Uˇzivatel´eocen´ıimplementaci AJAXu a zaveden´ı UI 1 element z knihovny jQuery, kter´azpˇr´ıjemˇnuje pr´acis celou str´ankou at’ uˇzje to pomoc´ı widget˚u2 jako je napˇr´ıkladUI tab (odpad´aznovunaˇc´ıt´an´ıstr´anky),pˇr´ıjemn´ykalend´aˇr nebo jen zpˇr´ıjemnˇen´ıgrafiky pomoc´ıjQuery efekt˚u.Uˇzivatel´ed´aleocen´ıjednotn´yexport tiskov´ych sestav do PDF, pˇr´ım´akomunikace s PACS serverem nebo generovan´egrafy pomoc´ıSVG. To, co uˇzivatel nem˚uˇze ocenit, je j´adrosyst´emu. OIS M2 je postaven na ZF, ˇcilije postaven na architektuˇreMVC, na principech OOP a na modul´arn´ıstruktuˇreZF. OIS M2 je testov´anunit testy (jeden z krok˚upro certifikaci programu), vyuˇz´ıv´acacheov´an´ı, vytv´aˇr´ılogy, m´apokroˇcilejˇs´ıspr´avuopr´avnˇen´ı,pomoc´ıstandartu HL7 m˚uˇzekomunikovat se zdravotnick´ymipˇr´ıstroji jako je napˇr´ıklad CT nebo rozˇsiˇrujemoˇznostinemocniˇcn´ı agendy.

3.2.2 Celkov´akoncepce OIS M2 Jak bylo ˇreˇcenov´yˇse,OIS M2 vyuˇz´ıv´amodulovou strukturu ZF, takˇzez´akladn´ıdˇelen´ı jednotliv´ych funkcionalit je modulov´e.Z c´ıl˚upr´aceje patrn´e,ˇzestˇeˇzejn´ımoduly jsou Kar- tot´eka, Radioterapie a Chemoterapie. V tˇechto modulech jsou z´akladn´ıfunkce pro zpra- cov´an´ıl´ekaˇrsk´ych dat o jednotliv´ych pacientech, zaˇrad’me tyto moduly do skupiny modul˚u l´ekaˇrsk´ych. Dalˇs´ımiskupinami modul˚ujsou managersk´ea administr´atorsk´e.Posledn´ıdvˇe skupiny obsahuj´ıv´ıcemodul˚uneˇzskupina l´ekaˇrsk´a,ale jejich funkcionalita nen´ıtak sloˇzit´a jako moduly l´ekaˇrsk´e,nehledˇena to, ˇzez program´atorsk´ehohlediska na nich nen´ınic zaj´ımav´eho.Managersk´emoduly obhospodaˇruj´ıekonomick´efunkce jako je generov´an´ısou-

1User Interface 2”Udˇel´atko”, miniaplikace z knihovny jQuery UI

24 bor˚ud´avek pro pojiˇst’ovny nebo sledov´an´ıstatistik. Moduly administr´atorsk´ezase spravuj´ı kompletnˇecel´ysyst´em.Staraj´ıse o r˚uzn´eˇc´ıseln´ıky, zobrazov´an´ılog˚ua stavu syst´emu nebo spravuj´ıuˇzivatelsk´aopr´avnˇen´ı.Na obr´azku3.1 m˚uˇzeme vidˇetgrafick´euspoˇr´ad´an´ı vybran´ych modul˚urozdˇelen´ych do skupin. V n´asleduj´ıc´ıch kapitol´ach si podrobnˇerozebereme vybran´etˇril´ekaˇrsk´emoduly.

3.3 Modul Kartot´eka

Modul Kartot´eka je z´akladn´ımodul pro pr´acis daty o jednotliv´ych pacientech. Nelze prov´adˇetˇz´adn´ev´ykony (ozaˇrov´an´ı,kontrola, aplikace l´eˇciv)u pacient˚u,kteˇr´ınejsou uve- deni v kartot´ece. Tento princip vych´az´ız nemocniˇcn´ıpraxe a je zcela logick´y. Co do funkcionality tento modul nab´ız´ı z´akladn´ı operace jako vytvoˇrita editovat pacienty. Kromˇet´etojednoduch´ezpr´avy pacient˚unav´ıc nab´ız´ı moˇznostk pacient˚um pˇrikl´adatr˚uzn´edruhy dokumentace. Nejjednoduˇs´ı je informace o zmˇenˇev´ahy (s t´ım spojen´azmˇenaBMI a BSA) a tlaku, libovoln´emnoˇzstv´ır˚uzn´ych soubor˚u(kategorizace obr´azky, dokumenty, laboratorn´ıv´ysledky, ...), libovoln´emnoˇzstv´ıanamn´ez(specifikovan´y formul´aˇr)a v neposledn´ıˇradˇelibovoln´emnoˇzstv´ızpr´av(takt´eˇzspecifikovan´yformul´aˇr). Specifick´eformul´aˇreanamn´eza zpr´avjsou prvn´ımifaktory, kter´ezaˇc´ınaj´ıOIS M2 oddˇelovat od obecn´ych NIS. To, co r˚uzn´eNIS ˇreˇs´ıtextov´ympolem obdobn´eMS Word, je v OIS vysoce specifikov´anoa proto tyto data pˇrin´aˇsej´ıˇsirˇs´ımoˇznostzpracov´an´ı.Ne- jjednoduˇs´ıpˇr´ıkladt´etov´yhody je vyfiltrov´an´ıpacient˚us urˇcitoudiagn´ozou(to ale um´ı i vˇetˇsinaNIS). To, co ale NIS neumoˇzˇnuj´ıje filtrace podle specifick´ych onkologick´ych krit´eri´ı(napˇrTNM 3 specifikace s rozˇs´ıˇren´ımi). Veˇsker´etiskov´ev´ystupy nejen v modulu Kartot´eka prob´ıhaj´ıtak, ˇzedata jsou expor- tov´anado PDF a potaˇzmo vytisknuta. T´ımto zp˚usobem se vyhneme r˚uzn´ymn´astrah´am tisku webov´estr´ankyse specifick´ymsouborem kask´adov´ych styl˚u.Mimo tisk˚uuloˇzen´ych zpr´ava anamn´eztento modul nab´ız´ı tisk strvrzenky o ´uhradˇeregulaˇcn´ıho poplatku, ˇz´adosto pˇr´ıspˇevˇekna ´uhradutohoto poplatku, ˇst´ıtkyse jm´enema diagn´ozou,ˇz´adanky na vyˇsetˇren´ıCT, MR ˇciPET a r˚uzn´ejin´eˇz´adanky.

3.3.1 Modelov´aˇc´ast Nyn´ı se pod´ıv´ame na modelovou str´anku tohoto modulu. ER diagram si m˚uˇzeme prohl´ednoutna obr´azku3.2. V ER diagramu nejsou u tabulek vyps´any vˇsechny atributy, tento krok je kv˚ulipˇrehlednostidiagramu. Napˇr´ıklad tabulky Kartoteka_anamnezy a Kartoteka_zpravy maj´ıpˇressedmdes´atatribut˚ua z hlediska pochopen´ıstruktury jsou vynechan´eatributy nezaj´ımav´e.Jinak ˇreˇceno,zaj´ımav´eatributy jsou v ER diagramu zn´azornˇeny, nezaj´ımav´ejsou naznaˇceny a doplnˇeny tˇremi teˇckami. Na ER diagramu vid´ıme,ˇzemodul je po modelov´estr´ancejednoduch´y,skl´ad´ase z osmi tabulek propo- jen´ymimezi sebou vazbou 1:N (aˇzna jednu v´yjimku).Tento n´avrhsplˇnuje3 NF, ˇcilikaˇzd´y atribut obsahuje atomickou hodnotu, kaˇzd´ynekl´ıˇcov´yatribut je z´avisl´yna prim´arn´ımkl´ıˇci (PK) a vˇsechny nekl´ıˇcov´eatributy jsou vz´ajemnˇenez´avisl´e.Jelikoˇzse ve vˇsech tabulk´ach prim´arn´ıkl´ıˇcskl´ad´ajen z jednoho atributu, dalo by se ˇr´ıci,ˇzetento model splˇnujeBCNF, ale pˇrin´avrhu s touto formou nebylo poˇc´ıt´ano,takˇzese jedn´ao jist´ybonus. Pojd’me si nyn´ıprobrat jednotliv´etabulky a jejich v´yznamv modulu. Kartoteka cenreg Jedn´ase o tabulku se z´akladn´ımidaty o pacientech. Za zm´ınkuzde stoj´ıprim´arn´ıkl´ıˇcPACID. Zde bych si dovolil obh´ajitunik´atn´ıidentifik´atorz ˇc´ıseln´eˇrady

3Tumor - Nodus - Metast´aze

25 Obr´azek3.2: ER diagram modulu kartot´eka. oproti rodn´emu ˇc´ıslu.V prv´eˇradˇese mnoz´ılid´edomn´ıvaj´ı,ˇzerodn´eˇc´ısloje samo o sobˇe unik´atn´ıidentifik´atorosob narozen´ych na ´uzem´ı Cesk´erepublikyˇ (popˇr´ıpadˇeSlovensk´e republiky). V rodn´ych ˇc´ıslech ale existuj´ıduplicity. Pˇribliˇzmesi princip rodn´ych ˇc´ısel.Prvn´ıch ˇsestˇc´ıslicnese informaci o datu narozen´ı, kde u ˇzense k mˇes´ıcipˇriˇctepades´at.Zbytek rodn´ehoˇc´ısla(tˇr´ıaˇzˇctyˇrm´ıstn´y)oddˇeluje dvˇeosoby narozen´eve stejn´yden, zpravidla se tyto ˇc´ıslice oddˇeluj´ılom´ıtkem. Od roku 2004 4 z´akon umoˇzˇnujepˇriˇraditalternativn´ıˇc´ıslo, jestliˇzejsou v jeden den vyˇcerp´ana rodn´aˇc´ısla.Alternativn´ıˇc´ıslom´aform´attakov´y,ˇzese k mˇes´ıc´ıpˇriˇcteu muˇz˚uˇc´ıslodvacet a u ˇzensedmdes´at. V jin´ych zem´ıjsou pouˇzity napˇr´ıkladˇc´ıseln´eˇrady, ˇc´ıslasoci´aln´ıhopojiˇstˇen´ı,fisk´aln´ı ˇc´ıslo(ˇc´ıslodaˇnov´eevidence) nebo jin´akombinace, kter´am˚uˇzeobsahovat datum narozen´ı (napˇr´ıkladfinsk´arodn´aˇc´ıslaobsahuj´ıdatum narozen´ı). V pouˇzit´ıv informatice m´aale rodn´eˇc´ıslojist´evady. Jedna vada m˚uˇzeb´ytta, ˇze v rodn´ych ˇc´ıslech existuj´ıchyby. Existuje nejeden pˇr´ıpadtoho, ˇzedvˇemaobˇcan˚umbylo pˇridˇelenostejn´erodn´eˇc´ıslo. Dalˇs´ı vada je ta, ˇzes rodn´ym ˇc´ıslem je vhodn´ezach´azet jako s ˇretˇezcem (character) a ne jako s cel´ymˇc´ıslem(integer popˇr´ıpadˇenumber), takˇze 4B (integer) proti 11B (character, 10 znak˚u+ informace o velikosti). Tˇret´ı,posledn´ıa nejv´yraznˇejˇs´ıvada je ta, ˇze kdyby rodn´eˇc´ıslofigurovalo jako prim´arn´ıkl´ıˇc,pˇribuden´am jedna velk´astarost se situac´ı,kdy uˇzivatel-l´ekaˇrzad´apacientovy ˇspatn´erodn´eˇc´ıslo(i pˇres algoritmus ovˇeˇruj´ıc´ıspr´avnostrodn´ehoˇc´ısla,zkr´atka osoba X bude m´ıtpˇridˇelenorodn´e ˇc´ısloosoby Y, nebo rodn´eˇc´ıslo,kter´enebylo vyd´ano). Vypad´ato jako banalita, ale zkusme zmˇenitprim´arn´ıkl´ıˇctabulky, na kterou odkazuje

4citovat http://aplikace.mvcr.cz/archiv2008/sbirka/2004/sb098-04.pdf

26 60% vˇsech tabulek. Nˇekdosi ˇreknevˇzdyt’ staˇc´ınapsat pouze UPDATE Kartoteka_cenreg SET rc = nove_rc WHERE rc = stare_rc; jenˇzev datab´azijsou nastaven´erelace, takˇze takhle jednoduˇseto bohuˇzelnejde. Musel by se vytvoˇritnov´ypacient s nov´ym(moˇzn´a spr´avn´ym)rodn´ymˇc´ıslem,musely by se zeditovat vˇsechny tabulky, kter´emaj´ıvazbu s tabulkou Kartoteka_cenreg a nakonec smazat pacienta se ˇspatn´ymrodn´ymˇc´ıslem. Proto bylo rozhodnuto, ˇze rodn´e ˇc´ıslo nebude prim´arn´ım kl´ıˇcem tabulky Kartoteka_cenreg. Kartoteka anamnezy Tato tabulka obsahuje data anamn´ez. Tabulka obsahuje 74 r˚uzn´ych entit pˇredstavuj´ıc´ı ˇz´adouc´ı informace jako napˇr´ıklad demografie, rodinn´a namn´eze,toxikologick´aanamn´eza,soci´aln´ıanamn´ezanebo informace i pˇredchoz´ıaplikaci chemoterapie. Kartoteka zpravy Tato tabulka obsahuje data zpr´av.Tabulka obsahuje 79 r˚uzn´ych entit. Od tabulky Kartoteka_anamnezy se liˇs´ıv tom, ˇzejednotliv´e´usekyzpr´avm˚uˇze zad´avat r˚uzn´yl´ekaˇra je tˇrebauchov´avat informaci o tom, kdo a kdy zpr´avyzapsal. Takˇze zat´ımcotabulka Kartoteka_anamnezy si vystaˇcilas jednou relac´ına tabulku uˇzivatel˚u, tabulka Kartoteka_zpravy uchov´av´arelac´ıv´ıce. Kartoteka zpravy diag Tato tabulka obsahuje informace o diagn´oz´ach. Kaˇzd´a zpr´ava m˚uˇze obsahovat kolonku prim´arn´ıho onemocnen´ı a kolonky vedlejˇs´ıho onemocnˇen´ı.Prim´arn´ıonemocnˇen´ıje jen jedno, zato vedlejˇs´ıch onemocnˇen´ıch m˚uˇzeb´yt v´ıcea informace o prim´arn´ıma vedlejˇs´ımonemocnˇen´ıch jsou totoˇzn´a.Proto vazba 1:N. V t´etotabulce mohou b´ytuloˇzeny specifikace TNM a dalˇs´ıch onkologick´ych dat. Kartoteka zpravy ctae Tato tabulka obsahuje informace hodnocen´ı toxicity. U jedn´ezpr´avym˚uˇzeb´ytlibovoln´ypoˇcethodnocen´ı,proto vazba 1:N. Kartoteka zpravykonfig Tato tabulka je editov´anaz administr´atorsk´ych modul˚ua definuje typy zpr´av.V souˇcasn´edobˇeje v syst´emu nakonfigurov´ano12 druh˚uzpr´avod telefonick´ekonzultace pˇresambulantn´ızpr´avuke konziliu. Kartoteka bmi V t´eto tabulce jsou uloˇzeny hodnoty BMI dat (v´ahaa v´aˇska) plus hodnoty tlaku. V´ystupy z t´etotabulky lze sledovat v grafick´emv´ystupup(knihovna generuj´ıc´ıSVG grafy je pops´anav kategorii Pouˇzit´etechnologie). Kartoteka zaznamy Tabulka obsahuje informace o zdravotnick´e dokumentaci v r˚uzn´ych form´atech (napˇr.pdf, txt, doc, jpg, png, ...). Zdravotnick´edokumenty jsou kat- egorizov´any. Moment´alnˇejsou vytvoˇreny ˇctyˇrikategorie (obr´azkov´adokumentace, psan´a dokumentace, ostatn´ıdokumentace a laboratorn´ıv´ysledky).

3.3.2 R´ıd´ıc´ıˇc´astˇ Modul obsahuje celkem tˇricontrollery:

1. AjaxController 2. IndexController 3. PacientController

Veˇsker´eAJAXov´eoperace v cel´emsyst´emu M2 jsou smˇeˇrov´any do speci´aln´ıhocon- trolleru vˇzdyse stejn´ymjm´enem- AjaxController, takˇzejestliˇzese v kter´emkoliv mod- ulu nach´az´ı AjaxController, tento modul vyuˇz´ıv´aAJAX. Nejprve n´asasi zdˇes´ıtˇricet ˇsestr˚uzn´ych metod. Toto ˇc´ısloje opravdu velk´e(nejv´ıcajaxov´ych metod v cel´emM2). Tento poˇcetje d´ant´ım,ˇzev tomto modulu jsou implementov´any zpr´avya tisky ˇz´adanek. Tyto dvˇeoperace jsou kv˚uli ´uspoˇreˇcasuˇreˇseny kompletnˇecel´eAJAXovˇe.Kdyˇzvezmeme v potaz, ˇzem´amesedmn´actr˚uzn´ych pol´ı pro zpr´avu,z toho osm jich je mezi sebou

27 tak odliˇsn´ych, ˇzevyˇzaduj´ısvou metodu a u kaˇzd´ehopole m´ame moˇznostnaˇc´ıstdata z pˇredchoz´ızpr´avy, m´ameto 16 metod jen pro obhospodaˇrov´an´ızpr´av. IndexController m´ana starosti z´akladn´ı´ukoly se vˇsemipacienty. Je to hlavn´ıv´ypis pacient˚u,filtrov´an´ı pacient˚u,ˇrazen´ı pacient˚u,nastaven´ı poˇctuzobrazen´ych pacient˚ua listov´an´ıve v´ypisu. PacientController m´ana starosti veˇsker´efunkcionality ohlednˇeinformac´ıo pacien- tovi v tomto modulu. Star´ase o ukl´ad´an´ı,editaci a maz´an´ıdat z datab´aze(popˇr´ıpadˇez file syst´emu) (anamn´ezy, z´aznamy, zpr´avy).Umoˇzˇnujetisk ˇz´adaneka ˇst´ıtk˚ua zobrazuje grafick´yv´ystupz hodnot BMI.

3.4 Modul Radioterapie

V tomto modulu jsou soustˇredˇeny informace o radioterapeutick´el´eˇcbˇe.D´aleje tento modul ˇclenˇenna n´adorovou a nen´adorovu radioterapii. V tomto modulu je moˇzn´enadefi- novat radioterapeutick´ypl´anozaˇrov´an´ı,kter´ynese veˇsker´einformace o pl´anovan´el´eˇcbˇe. Nejd˚uleˇzitˇejˇs´ımiinformacemi je celkov´ad´avka radiace, kter´am´ab´ytc´ılen´ana postiˇzenou tk´aˇna informace o tom, do kolika frakc´ım´ab´yttato d´avka rozdˇelen´a.Na z´akladˇetˇechto ´udaj˚uposkytne OIS M2 seznam aktu´aln´ıch pacient˚u,kteˇr´ıv dan´yden ˇcekaj´ına oz´aˇren´ı. OIS M2 se po potvrzen´ıaktu´aln´ıhooz´aˇren´ıpostar´ao zaznamen´an´ıpatˇriˇcn´ych v´ykon˚u,ze kter´ych se generuj´ıd´avkypro pojiˇst’ovny. V ˇc´astipotvrzen´ıaktu´aln´ıhoodz´aˇren´ınechyb´ı moˇznostzaˇskrtnoutpˇr´ıpadnˇeport´als l´ekaˇrem.V tomto pˇr´ıpadˇese na dalˇs´ımm´ıstˇeOIS M2 zobraz´ıseznam pacient˚u,kter´etento port´alˇcek´a. Pˇriimportu pl´anu pro n´adorovou radioterapii syst´emna z´akladˇedat z DVH 5 syst´em sestav´ıa nab´ıdneuˇzivateli graf, ve ktr´emje moˇzn´epozorovat v´yvoj d´avkyve sledovan´ych org´anech. U nen´adorov´eraditerapeutick´el´eˇcby doch´az´ık ozaˇrov´an´ıcesiov´ymozaˇrovaˇcem.OIS M2 poskytuje u aktu´aln´ıfrakce nen´adorov´eradioterapie ´udaj o tom, jak dlouho se m´a inkrimovan´em´ıstov dan´yden ozaˇrovat. V´ypoˇcetvych´az´ız rovnice rozpadu cesia a pro person´al tak odpad´anutnost tento ´udaj dohled´avat v tabulce, kter´ase mus´ıpravidelnˇe aktualizovat. V tomto modulu je d´alemoˇzn´evytv´aˇretvizity k l´eˇcbˇea evidovat simulaˇcn´ıprotokoly l´eˇcby. Vˇsechny tyto procesy jsou opˇetnav´az´any na pojiˇst’ovnu, takˇzeopˇetodpad´apovin- nost evidovat v´ykony jinde.

3.4.1 Modelov´aˇc´ast Tento modul se skl´ad´az patn´actir˚uzn´ych datab´azov´ych tabulek. Tabulky jsou ve vazbˇe 1:N a stejnˇejako u modulu Kartot´eka splˇnuj´ı3 NF a stejnˇejako v Kartot´ecese u vˇsech tabulek prim´arn´ıkl´ıˇcskl´ad´ajen z jednoho atributu, takˇzen´avrhsplˇnujei BCNF a stejnˇe jako u Kartot´ekys t´ımto faktem nebylo poˇc´ıt´ano,takˇzeje to opˇetjist´ybonus. ER diagram tabulek si m˚uˇzemeprohl´ednoutna obr´azku3.3 a v n´asleduj´ıc´ıˇc´astije struˇcnˇenast´ınˇeno, k ˇcemu jednotliv´etabulky slouˇz´ı. Radioterapie ozarovaci protokol - tato tabulka obsahuje informace o ozaˇrovac´ıch protokolech. Je to kl´ıˇcov´atabulka modulu, protoˇzejak je vidˇet,v´aˇzouse na n´ıvˇsechny os- tatn´ıtabulky. Samotn´atabulka je pak pomoc´ıentity pobyt id v´azan´ana seznam pobyt˚u, kter´ejsou pak v´az´any na konkr´etn´ıhopacienta.

5Dose-volume histogram

28 29

Obr´azek3.3: ER diagram modulu radioterapie. Radioterapie plany - tato tabulka obsahuje radiologick´epl´any. Jak bylo ˇreˇcenov´yˇse, pl´anobsahuje z´akladn´ıinformace o ozaˇrov´an´ı(d´avkuna frakci, poˇcetfrakc´ı,poˇcetfrakc´ı na den, adt.). Na tuto tabulku se v´aˇzoutabulky, kter´enˇejak´ymzp˚usobem informace o pl´anu rozˇsiˇruj´ı,nebo upravuj´ı.Jsou to tabulky: 1. Radioterapie extra frakce - pomoc´ıdat v t´etotabulce lze upravit v´ysledn´ypoˇcet frakc´ı. Reˇsen´ıpˇrespomocnouˇ tabulku bylo nutn´ez toho d˚uvodu, ˇzekaˇzd´atakov´ato odchylka od pl´anu m˚us´ıb´ytod˚uvodnˇen´aa zpˇetnˇedohledateln´a. 2. Radioterapie ozarovani - pomoc´ı t´eto tabulky syst´em uchov´av´ainformace o odz´aˇren´ych frakc´ıch. 3. Radioterapie pole - v t´etotabulce jsou uloˇzen´einformace o ozaˇrovac´ıch pol´ıch, kter´ejsou uloˇzeny ke konr´etn´ımu pl´anu. kaˇzd´ypl´anmus´ıobsahovat alespoˇnjedno pole. 4. Radioterapie sledovane organy - v t´etotabulce jsou uloˇzenadata o sledovan´ych org´anech (jedn´ase o statistick´e´udaje d´avek do org´an˚uv okol´ıloˇziska tumoru). Na tuto tabulku se d´alev´aˇze Radioterapie dvh data, ve kter´eje uloˇzenpodrobn´y v´yvoj d´avkyve sledovan´ych org´anech. Radioterapie rozpis frakci - v t´eto tabulce jsou zaznamen´any informace o pl´anov´an´ıfrakc´ı.V syst´emu m˚uˇzemezaznamenat napˇr´ıkladto, ˇzepo kaˇzd´edes´at´efrakci mus´ıpacient absolvovat port´alovou vizitu s l´ekaˇremnebo to, ˇzepˇriposledn´ıfrakci se m´a pacientovi odebrat krev na rozbor. Tyto informace jsou uloˇzeny pr´avˇev t´etotabulce. Radioterapie simulacni protokoly - v t´etotabulce jsou uloˇzeny informace o sim- ulaˇcn´ıch protkolech. Radioterapie stop - v t´eto tabulce jsou uloˇzeny data o pˇreruˇsen´ı soustavn´eho ozaˇrov´an´ı. V n´adorov´eRT je poˇc´ıt´anos t´ım, ˇzepacient vˇetˇsinouchod´ı na ozaˇrov´an´ı kaˇzd´yden. V t´etotabulce jsou uloˇzeny dny, kdy pacient ozaˇrov´annebyl. Rozliˇsuj´ıse tˇri druhy pˇreruˇsen´ı:absence, stop a porucha. Radioterapie vizity - v t´etotabulce jsou uchov´any informace o vizit´ach. Vizita mus´ı obsahovat zpr´avuvizity a informace o aktu´aln´ıd´avce oz´aˇren´ı.K vizitˇel´ekaˇrm˚uˇzepˇriloˇzit hodnocen´ı ARMSC 6 nebo obr´azkouvou dokumentaci. Tyto informace jsou uloˇzeny v tabulk´ach Radioterapie vizita armsc a Radioterapie vizita soubory. Informace o d´avk´ach jsou uloˇzeny v Radioterapie vizita davky.

3.4.2 R´ıd´ıc´ıˇc´astˇ Modul Radioterapie m´acelkem ˇctyˇricontrollery.

1. AjaxController 2. IndexController 3. OzarovnyController 4. ProtokolController

Stejnˇe jako u modulu Kartot´eka (a v cel´em syst´emu) m´a AjaxController na starosti vˇsechny operace spojen´es ajaxovou technologi´ı.Jedn´ase pˇrev´aˇznˇeo zobrazov´an´ı mod´aln´ıch oken a interaktivn´ırozˇs´ıˇren´ıprvk˚uformul´aˇre. IndexController m´ana starosti ´uvodn´ıstr´ankumodulu a s t´ım spojen´efiltrov´an´ıa ˇrazen´ıradioterapeutick´ych pobyt˚u.

6Acute Radiation Morbidity Scoring Criteria

30 OzarovnyController m´a na starosti ˇr´ızen´ı proces˚uv seznamu pacient˚uu jed- notliv´ych pˇr´ıstroj˚u.Seznam pacient˚ulze r˚uzn´ymizp˚usoby filtrovat a ˇradita nav´ıctento controller nab´ız´ıuˇzivatel˚umjednoduchou denn´ıstatistiku. ProtokolController m´ana starosti vˇsechny ostatn´ıprocesy v modulu Radioterapie. Star´ase o procesy okolo pl´an˚u,vizit a simulac´ı.Generuje rozpis frakc´ıa star´ase o vˇseokolo frakc´ı,at’ uˇzje to odz´aˇren´ıfrakce (a poukl´ad´an´ıv´ykon˚udo pojiˇst’ovny) nebo vyhl´aˇsen´ı STOP, absence nebo poruchy.

3.5 Modul Chemoterapie

Modul Chemoterapie se star´ao spr´avupacient˚u,kteˇr´ı maj´ı naordinovanou chemoter- apeutickou l´eˇcbu.Z´akladn´ımpil´ıˇremtohoto modulu jsou protokoly chemoterapie, kter´e obsahuj´ıpodrobn´einformace o l´eˇcbˇe.Protokoly se skl´adaj´ıze tˇr´ıˇc´ast´ı.Jsou to nosiˇce hydratace, pˇr´ıpravky premedikace a samotn´epˇr´ıpravky chemoterapie. Organizace l´eˇcby je pak n´asleduj´ı: pobyt CHT - linie CHT - cyklus CHT. Pˇrivytv´aˇren´ıcykl˚use vybere pr´avˇejeden protokol, kter´ybude po dobu l´eˇcby (vyspecifikovanou v protokolu) aplikov´an. V protokolu je uvedeno, kter´edny (od zah´ajen´ıl´eˇcby) se m´adan´ypˇr´ıpravek apliko- vat. Obsahuje i alterantivy pro v´ypoˇcetdoby aplikace nebo typu ˇred´ıc´ıhonosiˇce(nˇekter´e typy nosiˇc˚unelze aplikovat pacient˚ums v´yskytemurˇcit´ehodruhu alergie a podobnˇe). Syst´empˇrivytv´aˇren´ı cyklu CHT vytvoˇr´ı pˇrehledaplikaˇcn´ıch list˚u,ve kter´ych je uve- deno datum aplikace a pˇres syt´emnejr˚uznˇejˇs´ıch kontrol vypoˇcte aplikovanou d´avku, kdyˇzje to vyˇzadov´ano,vypoˇctei aplikovan´yˇcas.Po tomto vytvoˇren´ıaplikaˇcn´ıch list˚u m˚uˇzezdravotnick´yperson´alpˇriˇraditpacienta na inkriminovan´edatum na l˚uˇzko a syst´em vykresl´ı do grafu ´udaj o d´elceaplikace (slouˇz´ı k pˇrehleduobsazenosti l˚uˇzek).V den a plikace pˇr´ıpravku mus´ıpacient abslovovat prohl´ıdkul´ekaˇrem.L´ekaˇrpotvrd´ıaplikaci pˇr´ıpravku (m˚uˇzeprov´estkorekci d´avky)a po potvrzen´ısyst´emodeˇsleinformaci do ˇredˇen´ı o poˇzadavku na pˇr´ıpravu pˇr´ıpravku k aplikaci.

3.5.1 Modelov´aˇc´ast Datab´azov´etabulky v tomto modulu jsou rozdˇeleny na dvˇeskupiny. Tabulky s pre- fixem chemoterapie obsahuj´ıinformace o protokolech chemoterapie. Tabulky s prefixem Chemo obsahuj´ıdata o l´eˇcbˇe. Nejprve se zamˇeˇr´ım na tabulky s informacemi o protokolech. ER diagram si lze prohl´ednoutna obr´azku3.4. Na prvn´ıpohled je patrn´e,ˇzese tato ˇc´astskl´ad´az deseti tabulek. Hlavn´ıtabulka je pojmenov´ana chemoterapie protokoly a jsou v n´ıobsaˇzeny z´akladn´ıinformace o protokolu, jako napˇr´ıkladn´azevprotokolu, datum vytvoˇren´ı,k´ym byl vytvoˇren,informace o reviz´ıch a v neposledn´ıˇradˇeinformace o autorizaci protokolu. L´ekaˇrm˚uˇzepacientovi pˇredepsatjen autorizovan´yprotokol, z toho vypl´yv´a,ˇze vytvoˇrit protokol m˚uˇzelibovoln´ypracovn´ık,ale autorizovat jen urˇcit´askupina pracovn´ık˚u(z praxe to b´yv´aprim´aˇra jeho z´astupce). Jak bylo ˇreˇcenov´yˇse,protokol se m˚uˇze skl´adatze tˇr´ı sloˇzek.Nosiˇcehydratace jsou uchov´any v tabulce chemoterapie hydratace a na tuto tabulku se v´aˇzejeˇstˇedalˇs´ı, chemoterapie hydratace podminky nosic, ve kter´ejsou uchov´any informace o nosiˇc´ıch, kter´emaj´ıb´ytaplikov´any s urˇcit´ymtypem alergie nebo vedlejˇs´ıdiagn´ozy. Informace o pˇr´ıpravku premedikace a samotn´eho pˇr´ıpravku aplikace chemoter- apie jsou uloˇzeny v tabulk´ach chemoterapie protokoly premedikace a chemoter- apie protokoly pripravky. Na sch´ematum˚uˇzemevidˇet,ˇzetyto tabulky jsou v´az´an´y

31 32

Obr´azek3.4: ER diagram modulu chemoterapie - spr´ava protokol˚u. na hlavn´ı tabulku pˇres tabulku chemoterapie protokoly roztoky. Toto optaˇren´ı bylo pouˇzito z hlediska opˇetovn´eho pouˇzit´ı, protoˇze kdyˇz se podrobnˇeji pod´ıv´ame na informace o samotn´em pˇr´ıpravku a pˇr´ıvravku premedikace zjist´ıme, ˇze maj´ı mnoho spoleˇcn´eho. Hlavn´ı rozd´ıly jsou v tom, ˇze l´eˇcba se ˇr´ıd´ı podle samotn´ych pˇr´ıpravk˚u (obsahuj´ı informaci o dnech pod´an´ı), takˇze pˇr´ıpravek premedikace je sv´az´an se samotn´ym pˇr´ıpravkem chemoterapie. Na druhou stranu, pˇr´ıpravek pre- medikace nese dalˇs´ı informace, jako napˇr´ıklad dobu pod´an´ı vztaˇzenou na ap- likaci samotn´eho pˇr´ıpravku. Vytknut´ım spoleˇcn´ych prvk˚u do tabulky chemoter- apie roztoky nav´ıcodpadla nutnost duplikovat zb´yvaj´ıc´ıtabulky, kter´erozˇsiˇruj´ıinfor- maci o ˇredˇen´ı (chemoterapie redeni) a podm´ınk´ach pro stanoven´ı rychlosti pod´an´ı (chemoterapie roztok podminka rychlost). na tabulku s informacemi o ˇredˇen´ı se d´alev´aˇzou tabulky chemoterapie redeni podminka nosic (obdobn´yd˚uvod jako u chemoterapie hydratace podminka nosic) a chemoterapie redeni podminka objem (obdobn´erestrikce pro stanoven´ıobjemu ˇredˇen´ı,nejˇcastˇejiv´az´anana bsa). Druh´aˇc´asttohoto modulu je tvoˇrenainformacemi o samotn´el´eˇcbˇe.Jak bylo ˇreˇceno v´yˇse,organizace l´eˇcby chemoterapie vych´az´ız modelu pobyt CHT - linie CHT - ciklus CHT. Tuto strukturu m˚uˇzemevypozorovat na ER diagramu t´etoˇc´astimodulu, kter´yje zn´azornˇenna obr´azku3.5. Z´akladn´ıtabulkou je Chemo linie, ve kter´ejsou uloˇzeny informace o lini´ıch l´eˇcby. Tatu tabulka se v´aˇze(obdobnˇejako v modulu radioterapie) na tabulku Pobyty, kter´aje d´alev´az´anana konkr´etn´ıhopacienta. Na tabulku s liniemi se v´aˇzetabulka Chemo serie. Kdyˇz se podrobnˇe zamˇeˇr´ıme na tabulku s liniemi, zjist´ıme, ˇze je vytvoˇrena vlastnˇe jen kv˚ulipˇrehlednosti.Prvotn´ın´avrhs touto tabulkou v˚ubec nepoˇc´ıtal.Jako z´akladn´ı l´eˇcebn´ycyklus je br´anajedna s´erie,takˇzeveˇsker´evztaˇzen´e´udaje, jako datum vytvoˇren´ı, autor a podobnˇe jsou obsaˇzeny v tabulce s informacemi o s´erii, naproti tomu tyto informace nejsou obsaˇzen´e v tabulce s liniemi, protoˇze to nen´ı podstatn´e. Veˇsker´a d˚uleˇzit´adata jsou obsaˇzenav s´erii,tato tabulka se v´aˇzena jeden konr´etn´ı protokol chemoterapie. K s´eriichemoterapie lze pˇripojit l´ekaˇrskou vizitu, kter´aje totoˇzn´as viz- itou radioterapie, pouze neobsahuje informace o aktu´aln´ımozaˇrov´an´ı.Tyto vizity jsou uloˇzeny v tabulce Chemo vizity, kterou rozˇsiˇruj´ı tabulky Chemo vizita soubor a Chemo vizita armsc. Zde je dluˇznovysvˇetlit,proˇcjsou zduplikov´any tˇritotoˇzn´etab- ulky. Vysvˇetlen´ıje jednoduch´e.Zde se jedn´ao ˇspatn´yn´avrh,kter´ynerespektuje opˇetovnou pouˇzitelnost. P˚uvodn´ı z´amˇerbyl takov´y,ˇzeChemoterapie a Radioterapie budou dva navz´ajemnez´avisl´emoduly. Tento z´amˇerje splnˇen,avˇsakchyba s vizitou by ˇslaˇreˇsit elegantnˇejit´ımzp˚usobem, ˇzeby se mohl vytvoˇritmodul Vizita, kter´yby byl spojen jak s modulem Chemoterapie, tak s modulem Radioterapie. Dalˇs´ıtabulka v´azan´ana s´eriichemoterapie je Chemo aplikace. Bylo ˇreˇcenov´yˇse, ˇzepˇrizakl´ad´an´ıserie chemoterapie syst´emvytvoˇr´ıaplikaˇcn´ılisty. Tyto listy jsou pr´avˇe uloˇzeny v t´eto tabulce. Na tuto tabulku se v´aˇze Chemo aplikace preobednani, kde jsou uloˇzeny informace o zmˇenˇedata oproti pl´anu (nedodorˇzen´ı pl´anu se projev´ı na v´ysledn´e ´uˇcinnostis´erie), d´alese na n´ı v´aˇzetabulka Chemo aplikace roztok a Chemo aplikace hydratace, kde jsou uloˇzeny informace o podan´ych l´atk´ach (hlavnˇe aplikovan´ed´avky, ˇcasaplikace a podobnˇe).Posledn´ıtabulka, kter´ase v´aˇzena aplikaˇcn´ı listy, je Chemo aplikace toxicita, kde jsou uloˇzeny informace o v´ysledc´ıch toxicity pro konkr´etn´ıaplikaˇcn´ılist.

3.5.2 R´ıd´ıc´ıˇc´astˇ Tento modul obsahuje celkem pˇetcontroller˚u.

33 34

Obr´azek3.5: ER diagram modulu chemoterapie - chemoterapeutick´epobyty. 1. AdminController 2. AjaxController 3. IndexController 4. LuzkaController 5. PacientController

AdminController obhospodaˇrujeprocesy spojen´es vytv´aˇren´ım,editac´ıa maz´an´ım protokol˚uCHT l´eˇcby. AjaxController m´aopˇetna starosti veˇsker´eprocesy souvisej´ıc´ıs AJAXovou tech- nologi´ı. IndexController m´aopˇetna starosti ´uvodn´ıstr´anku,ˇcilizobrazuje, filtruje a ˇrad´ı pacienty s CHT pobytem. LuzkaController obhospodaˇruje procesy s l˚uˇzky. Pro snaˇzˇs´ı orientaci byla pro zdravotnick´yperson´al,kter´yse star´ao pacienty s CHT pobytem, vyvinuta grafick´apod- pora zobrazov´an´ıobsazenosti l˚uˇzek.V t´eto ˇc´astilze objedn´avat a pˇreobjedn´avat pacienty na jednotliv´al˚uˇzka a vˇsechny tyto procesy m´ana starosti tento controller. PacientController m´ana starosti prezentaci dat u jednotliv´ych pacient˚u.Star´ase o v´ypoˇcty mnoˇzstv´ıjednotliv´ych roztok˚una z´akladˇejednotek (ml/m3, ml/kg, ...), vyb´ır´a druhy pˇr´ıpravk˚uhydratace a ˇredˇen´ına z´akladˇealergi´ıa kontroluje dalˇs´ıvlastnosti, kter´e je moˇzn´ezadat v protokolu CHT. Tento controller se d´alestar´ao potvrzov´an´ı takto vypoˇcten´ych d´avek a o prezentaci l´eˇcby v podobˇekalend´aˇre.

3.6 Instalaˇcn´ıpˇr´ıruˇcka

3.6.1 HW a SW poˇzadavky na server Pro instalaci onkologick´ehoIS M2 je nutn´em´ıtsamostatn´yserver, kter´ym´avyˇreˇsen´e z´alohov´an´ı a alternativn´ı nap´ajen´ı. Jelikoˇz v´yˇse bylo ˇreˇceno, ˇze podnikov´a politika upˇrednostˇnujeopen sourceov´eˇreˇsen´ı,proto je onkologick´yIS M2 dod´av´anse serverem s operaˇcn´ımsyst´ememna b´aziUnixu. Jelikoˇzje onkologick´yIS M2 postaven na webov´eplatformˇe,je nutn´ena tomto serveru m´ıt nainstalovan´ywebov´yserver (ide´alnˇe Apache), datab´azov´yserver (ide´alnˇe Post- greSQL) a PHP (minim´alnˇeverze 5.2, niˇzˇs´ıverze nejsou podporov´any). Pro webov´yserver Apache je nutn´epovolit directivu mod rewrite, mod deflate a mod expires a d´aleje nutn´e m´ıtpovolen´ykonfiguraˇcn´ısoubor .htaccess. Na zaˇc´atku t´eto pr´ace bylo ˇreˇceno, ˇze daˇn za pouˇzit´ı frameworku je rychlost, pro minimalizov´an´ı t´etodanˇeje nav´ıc nutn´e,aby byl na serveru nainstalov´anZend Guard/Optimizer a eAccelerator 7. Dalˇs´ınutnost´ıpro instalaci je m´ıtk dispozici datab´azov´yserver (pro snadnˇejˇs´ıpopis vybereme PostgreSQL) s datab´az´ıois-m2 a uˇzivatelem ois-m2 se vˇsemipr´avyk datab´azi ois-m2. Posledn´ıpoˇzadavek na pln´evyuˇzit´ıOIS M2 je nutnost m´ıtna serveru nainstalovan´y interpret Javy - JVM. Bez JVM by nebylo moˇzn´erealizovat komunikaci s PACS serverm a nebylo by moˇzn´evyuˇz´ıtsoftware pro automatick´enahr´av´an´ıv´ysledk˚ulaboratorn´ıho vyˇsetˇren´ı.

7V´ıce informac´ı o rychlosti framework˚u na adrese http://www.root.cz/clanky/velky-test-php- frameworku-zend-nette-php-a-ror/

35 Shrnut´ıHW a SW poˇzadavk˚u 1. potˇrebujemeserver s OS na b´azidebian (debian, ubuntu) 2. potˇrebujemem´ıtzprovoznˇen´yweb server Apache • nutn´em´ıtpovolen´ykonfiguraˇcn´ısoubor .htaccess • nutn´em´ıtpovolen´ymodul mod rewrite • doporuˇcen´emoduly mod deflate a mod expires 3. nutn´enainstalovat PHP (optim´alnˇe5.2 a novˇejˇs´ı) • optim´aln´ıje m´ıtzprovoznˇen´yZend Guard a eAccelerator 4. Nutn´enainstalovat postgreSQL s datab´az´ı ois-m2 a uˇzivatelem ois-m2 se vˇsemi pr´avyk datab´az´ıois-m2 5. Pro spr´avn´epˇripojen´ık PACS serveru a naˇc´ıt´an´ılaboratorn´ıch v´ysledk˚uje nutn´e m´ıtnainstalov´anoJVM

3.6.2 Postup instalace OIS M2 Jelikoˇzje OIS M2 vysoce specifick´ySW, kter´ynen´ıurˇcen´ypro libovoln´epouˇzit´ı,nem´a smysl vytv´aˇretautomatick´yinstal´ator.Z´akladn´ıinstalace se skl´ad´az pˇetijednotliv´ych krok˚ua z toho posledn´ıtˇrikroky jsou konfigurace aplikace. V prvn´ımkroku nahrajeme na datab´azov´yserver strukturu datab´aze.Pouˇzijeme-li datab´azov´yserver postgreSQL a ˇcistouz´alohu datab´azeois-m2.back, postaˇc´ın´ampouˇz´ıt sluˇzebprogramu pg restore, kter´yje souˇc´ast´ıinstalace datab´azov´ehoserveru postgreSQL. Kydyby byl OIS M2 instalov´anna jin´ydatab´azov´yserver, museli bychom pouˇz´ıtsluˇzby konkr´etn´ıhodatab´azov´ehoserveru, nebo spustit transakci samotn´ehoSQL dotazu. Bylo by ale nutn´eSQL dotaz pˇrizp˚usobitkonkr´etn´ımu datab´azov´emu serveru. Druh´y krok je nahr´an´ı zdrojov´ych k´od˚u na server. Doporuˇcen´e um´ıstˇen´ı je /var/www/ois-m2. Tˇret´ı,ˇctvrt´ya p´at´ykrok je konfigurace nahran´ehosyst´emu.

Shrnut´ıinstalace OIS M2 1. nahr´an´ı datab´aze(ide´alnˇepomoc´ı pg restore, pro jin´ydatab´azov´yserver nutno spustit sql dotaz, kter´yvytvoˇr´ız´akladn´ıdatab´azovou strukturu) 2. nahr´an´ızdrojov´ych k´od˚una server (ide´alnˇedo /var/www/ois-m2) 3. zmˇenitv ./app konfiguraˇcn´ısoubor cfg.ini (hlavnˇepˇr´ıstupdo datab´azea z´akladn´ı cesty) 4. upravit konfiguraci modul˚uv tabulce configModules (hlavnˇenastaven´ıadres Pacs server˚ua podobnˇe) 5. nastavit spr´avnoulicenci v tabulce licence

3.6.3 Nutn´ekroky po konfiguraci Aby syst´emmohl fungovat, je nutn´epo instalaci jeˇstˇeprov´estp´arkrok˚u,kter´ese t´ykaj´ı samotn´ehobˇehu syst´emu a bezpeˇcnostisyst´emu.

1. nastavit spr´avn´eopr´avnˇen´ıpro specifick´esloˇzky. • ./cache • ./temp • ./log • sloˇzkupro potˇreby eAcceleratoru, pokud nen´ınastaveno na /temp

36 2. provˇeˇritexistenci symbolick´ych odkaz˚uve sloˇzk´ach modul˚uv ./app/modules/* 3. provˇeˇritexistenci souboru .htaccess ve sloˇzce./app

Obzvl´aˇstˇeposledn´ıkrok je z hlediska bezpeˇcnostid˚uleˇzit´y.Kdyby se nedopatˇren´ım stalo, ˇzeby nedoˇslok nahr´an´ısouboru .htaccess do t´etosloˇzky, mˇeloby to nepˇr´ıjemn´y dopad na bezpeˇcnost.

3.6.4 Doporuˇcen´e´upravy po konfiguraci Posledn´ımkrokem instalace jsou doporuˇcen´e´upravy. Tyto ´upravy nemaj´ıpˇr´ım´yvliv na funkci samotn´ehosyst´emu, je vˇsakvhodn´ese tˇemito´upravami zab´yvat.

1. Vytvoˇren´ıuˇzivatelsk´ych ´uˇct˚u 2. Vytvoˇren´ılokalit pro pˇr´ıstup 3. nahr´atlogo zdravotnick´ehozaˇr´ızen´ı

Bez realizace prvn´ıho bodu by sice syst´emfungoval, ale k ˇcemu by to bylo dobr´e,kdyˇz by do nˇejnikdo nemohl pˇristupovat? Druh´ybod se t´yk´aopˇetbezpeˇcnosti.Kdyˇzse totiˇznˇekdosnaˇz´ıpˇristoupitdo syst´emu z jin´eneˇzuloˇzen´elokality, syst´embude vyˇzadovat pˇr´ısnˇejˇs´ıkontrolu autentizace. Tˇret´ı, posledn´ı, doporuˇcen´y krok je nahr´an´ı loga zdravotnick´eho zaˇr´ızen´ı. Je to posledn´ı´uprava cel´ekonfigurace, protoˇzenem´av˚ubec ˇz´adn´yvliv na fungov´an´ısyst´emu, jen upravuje vizu´aln´ıpodobu tiskov´ych sestav.

3.7 Uˇzivatelsk´apˇr´ıruˇcka

Hlavn´ım rozcestn´ıkem cel´ehosyst´emu je hlavn´ı menu. Na obr´azku3.6 je zn´azornˇen´e menu superusera 8. Menu lze vyvolat prav´ymkliknut´ımmyˇsikamkoliv v prohl´ıˇzeˇcia do jist´em´ırylze ovlivnit i jeho poloˇzky. Restrikce poloˇzekse prov´ad´ına z´akladˇeopr´avnˇen´ı (m˚uˇzemevidˇetna obr´azku 3.7) a expanzi m˚uˇzeovlivnit kaˇzd´yuˇzivatel zvl´aˇst’ a takov´eto poloˇzky maj´ıikonu zelen´ehovyp´ınaˇce.Na obr´azkumenu 3.6 jsou to poloˇzkyLinac 1, Linac 2 a CT fronta. Takto voliteln´emenu usnadˇnujepˇr´ıstupdo ˇc´ast´ısyst´emu, kter´e uˇzivatel vyuˇz´ıv´anejˇcastˇeji. vedlejˇs´ım rozcestn´ıkem jsou z´aloˇzky, jejichˇzpodobu si m˚uˇzeme prohl´ednoutna obr´azku 3.8. Obsah z´aloˇzekje ovlivnˇenstr´ankou, na kter´ese moment´alnˇev syst´emu nach´az´ıme. Z´aloˇzka z obr´azku3.8 poch´az´ız centr´aln´ıkarty pacienta. V´yhoda tˇechto z´aloˇzekspoˇc´ıv´av tom, ˇzepˇrep´ın´an´ımezi z´aloˇzkami nevyˇzadujeobnovu str´anky, takˇzetoto ˇreˇsen´ıdo znaˇcn´e m´ıryzrychluje syst´em.Kliknut´ımna z´aloˇzkutotiˇzakor´atpˇrepnemeviditelnost dann´ych blok˚u.Nav´ıcjsou z´aloˇzkynastaveny tak, ˇzejsou plnˇekompatibiln´ıs tlaˇc´ıtkem Zpˇetv in- ternetov´ych prohl´ıˇzeˇc´ıch, takˇzevyuˇz´ıv´an´ımz´aloˇzeknemus´ımemˇenitstyl zabˇehnut´epr´ace. Posledn´ımrozcestn´ıkem v syst´emu jsou odkazy mezi navazuj´ıc´ımimoduly. Slouˇz´ık tomu, abychom mohli rychle a jednoduˇsepˇreskakovat mezi moduly. Pˇr´ıkladvyuˇzit´ım˚uˇze b´yttakov´yto:Prohl´ıˇz´ımesi ozaˇrovac´ıprotokol RT l´eˇcby a po t´ebudeme cht´ıtvytisknout pacientovi ˇz´adankuna CT vyˇsetˇren´ı.To znamen´anutnost dostat se z modulu Radioterapie do modulu Kartot´eka. K tomuto ´uˇcelun´ampr´avˇeslouˇz´ıtoto rozcest´ı.Nalezneme ho vˇzdy na konci prohl´ıˇzen´estr´anky. Konkr´etnˇev ozaˇrovac´ımprotokolu bychom tam naˇsliodkazy do centr´aln´ıkarty a do karty pobytu. Obsah tohoto rozcestn´ıkuje tak´ez´avisl´yna str´ance,

8role superuser je nejv´yˇsev hierarchii opr´avnˇen´ı

37 Obr´azek 3.6: Obr´azek3.7: Procesy z´akladn´ı´urovnˇe Hlavn´ımenu

Obr´azek3.8: Z´aloˇzky kterou pr´avˇeprohl´ıˇz´ıme, ale nejˇcastˇejitoto rozcest´ıtvoˇr´ıkoleˇcko CENTRALN´ I´ KARTA - KARTA POBYTU - RADIOTERAPIE (popˇr.CHEMOTERAPIE).

3.7.1 Pˇr´ıruˇcka kartot´eky V hlavn´ımmodulu cel´ehoOIS M2 jsou soustˇredˇeny z´akladn´ıoperace s pacienty bez ohledu na to, jakou podstupuj´ıl´eˇcbu.Na obr´azku3.9 m˚uˇzemevidˇetzn´azornˇen´eprocesy, kter´e m˚uˇzemev tomto modulu prov´est.Pˇripodrobn´emzkoum´an´ıobr´azkusi lze vˇsimnouttoho, ˇzev tomto modulu nejsou nijak sloˇzitˇeˇreˇsen´erestrikce opr´avnˇen´ı.Jedin´eprocesy, kter´e jsou limitov´any uˇzivatelskou rol´ı,jsou podepisov´an´ızpr´av(zpr´avusm´ıpodepsat jen l´ekaˇr, v pˇr´ıpadˇeprobl´em˚uadministr´atorˇc´ısuperuser) a odemknut´ıpodepsan´ych zpr´av(jen ad- ministr´atora superuser). D˚uvod n´ızk´ehostupnˇerestrikc´ıje d´ant´ım,ˇzez´akladn´ıoperace s pacienty v syst´emu maj´ına starosti sestry, kter´epˇredstavuj´ı(vyjma pomocn´ehoper- son´alu)nejniˇzˇs´ıstupeˇnzdravotnick´ehoperson´alu.

3.7.2 Pˇr´ıruˇcka radioterapie Jak jiˇzbylo ˇreˇceno,modul radioterapie obhospodaˇrujeveˇsker´eprocesy pacient˚u,kteˇr´ı maj´ınaordinovanou RT l´eˇcbu.Na obr´azku3.10 jsou zn´azornˇen´eprocesy, kter´eje moˇzn´e

38 Obr´azek3.9: Uˇzivatelsk´eprocesy v kartot´ece.

Obr´azek3.10: Uˇzivatelsk´eprocesy v radioterapii.

39 v modulu vyvolat. Lze si vˇsimnout, ˇzerestrikce opr´avnˇen´ı je tu vyˇsˇs´ı neˇzv modulu kartot´eka. Z´akladn´ıjednotkou RT l´eˇcby v OIS M2 je ozaˇrovac´ıprotokol. K ozaˇrovac´ımu pro- tokolu se v´aˇzouveˇsker´einformace o l´eˇcbˇe.V OIS M2 je moˇzn´em´ıtk jednomu RT pobytu v´ıceozaˇrovac´ıch protokol˚u,ale t´etomoˇznostinen´ınevyuˇz´ıv´ano.Obecnˇetedy plat´ı,ˇze jeden RT pobyt obsahuje jeden ozaˇrovac´ıprotokol. K ozaˇrovac´ımu protokolu m˚uˇzefyzik nahr´atRT pl´an(popˇr´ıpadˇepl´any), kter´y,jak bylo ˇreˇcenov´yˇse,nese informace o l´eˇcbˇe.D˚uleˇzit´e´udaje (z hlediska dalˇs´ıch proces˚u)v RT pl´anu jsou poˇcetfrakc´ıcelkem a poˇcetfrakc´ına den. Z tˇechto ´udaj˚use totiˇzd´alegeneruje rozpis frakc´ıa v tomto rozpisu mohou radiologiˇct´ıasistenti potvrzovat odz´aˇren´efrakce. Syst´empotom nab´ız´ıpˇrehled,kolik frakc´ıje odz´aˇrenoa jak´eje mnoˇzstv´ıaplikovan´ed´avky na c´ılov´em´ısto.Kromˇetˇechto ´udaj˚use syst´emd´alepostar´ana z´akladˇe´udaj˚uz pl´anu, o to, jak´em´apoukl´adatv´ykony do datab´aze.Zdravotnick´emu person´alutak odpad´anutnost evidovat v´ykony souvisej´ıc´ı s ozaˇrov´an´ım ruˇcnˇe.K nahran´emu pl´anu lze tak´epomoc´ı ˇcasov´an´ıvyznaˇcit,kter´e´ukoly se v kter´yden ozaˇrov´an´ımaj´ıprov´est.Takov´etoinformace se zobraz´ıv rozpisu frakc´ıa eliminuje to tak moˇznostnˇekter´y´ukol vynechat. Jedn´ase o jiˇzzmiˇnovanou port´alovou vizitu (s l´ekaˇremnebo bez l´ekaˇre),invivo, boost a vizita. OIS M2 nab´ız´ı nahr´an´ı libovoln´ehopoˇctupl´anu a jejich konfiguraci. Lze tedy bez vˇetˇs´ıch probl´emu nastavit to, aby bˇeˇzelydva pl´any souˇcasnˇenebo tˇrebato, aby druh´y pl´anzaˇcalaˇzden po t´e,co bude ukonˇcenprvn´ıpl´an.Po odz´aˇren´ıposledn´ıfrakce v pl´anu dojde automaticky k uzamˇcen´ıdan´ehopl´anu. Dalˇs´ımiinformacemi, kter´ese v´aˇzouna ozaˇrovac´ıprotokol, jsou l´ekaˇrsk´evizity a sim- ulace vˇcetnˇetisk˚u.Vizity a simulace m˚uˇzev OIS M2 vytv´aˇret,editovat a mazat pouze l´ekaˇr.Prohl´ıˇzeta tisknout tyto ´udaje pak m˚uˇzekter´ykoliv uˇzivatel. Posledn´ıprocesy v tomto modulu jsou pˇripojeny z modulu Kartot´eka a jedn´ase o tisk ˇz´adanekna nejr˚uznˇejˇs´ıvyˇsetˇren´ı/oˇsetˇren´ı.Tyto procesy byly pˇrid´any na ˇz´adostuˇzivatel˚u.

3.7.3 Pˇr´ıruˇcka chemoterapie Modul chemoterapie je jedin´yz modul˚u, kter´ymoment´alnˇenen´ı pouˇz´ıv´an,protoˇzeje poˇr´adve st´adiuv´yvoje. Je to zapˇr´ıˇcenˇenot´ım,ˇzeorganizace l´eˇcby je velice sloˇzit´aa je sloˇzit´evyvinout modul tak, aby vyhovoval veˇsker´emu person´alu.V souˇcasn´edobˇeje v testov´an´ıjiˇztˇret´ıverze tohoto modulu a s ostr´ymnasazen´ımse poˇc´ıt´ave ˇctvrt´em kvart´alu roku 2012. S ohledem na tuto skuteˇcnostlze oˇcek´avat, ˇzev tomto modulu dojde jeˇstˇek nˇekter´ymd´ılˇc´ımzmˇen´am,kter´eby ale mˇely m´ıtminim´aln´ıvliv na hlavn´ıfunkcionalitu modulu. Modul chemoterapie je tak´ejedin´ymodul, kter´yje nutn´epˇredpouˇzit´ım nakonfig- urovat. Jedn´ase o konfiguraci l´eˇcebn´ych protokol˚uchemoterapie. V souˇcasn´everzi je moˇzn´ek jednomu protokolu nadefinovat libovoln´emnoˇzstv´ıhydrataˇcn´ıch prostˇredk˚us definic´ı v´yjimeknosiˇc˚u,lze nadefinovat libovoln´emnoˇzstv´ı prostˇredk˚upremedikace s celou ˇsk´alourestrikc´ıpro r˚uzn´etypy pacient˚u,at’ uˇzse jedn´ao podm´ınkysekund´arn´ıho onemocnˇen´ı,nebo pˇrizp˚usoben´ıd´avkyna z´akladˇetˇelesn´ych proporc´ıpacient˚u.Syst´em nab´ız´ıu l´eˇcebn´ych prostˇredk˚uzadat ´udaj o ˇredˇen´ı,tento ´udaj by mˇelvyplnit uˇzivatel s rol´ıl´ekarn´ıka. Proto by mˇelproces schvalov´an´ıvypadat n´asledovnˇe:

L´ekaˇrvytvoˇr´ıprotokol - l´ekarn´ıkzreviduje ˇredˇen´epˇr´ıpravky - prim´aˇrschv´al´ıprotokol

Vytv´aˇren´ıtˇechto protokol˚uje velice pracn´ea zdlouhav´e,bohuˇzelale zat´ımnezn´ame zp˚usob,jak pr´aciulehˇcit.

40 Souˇcasn´averze modulu zat´ımumoˇzˇnujevyvolat procesy, kter´ejsou zn´azornˇeny na obr´azku3.11 (na tomto obr´azkunejsou zn´azornˇeny vazby mezi procesy u spr´avyprotokol˚u CHT, ty se v podstatˇeomezuj´ıjen na pˇrid´an´ıa odebr´an´ıurˇcit´ehotypu pˇr´ıpravku). Pˇri zakl´ad´an´ıcyklu CHT syst´emautomaticky vygeneruje 1. l´eˇcebnoulinii a l´ekaˇripot´emohou k cyklu pˇridatschv´alen´eprotokoly. Po pˇrid´an´ı1. protokolu syst´emvygeneruje kalend´aˇr, kde m˚uˇzemevizu´alnˇesledovat rozloˇzen´ıl´eˇcby. Kalend´aˇrje zn´azornˇenna obr´azku3.12. Podobn´ykalend´aˇrse zobrazuje u jednotliv´ehodetailu protokolu CHT s t´ımrozd´ılem,ˇze v nˇemjsou vyznaˇceny pouze poloˇzkydan´ehoprotokolu. Po rozkliknut´ı detailu protokolu m˚uˇzemena prvn´ı z´aloˇzcevidˇetdetaily protokolu. Jedn´ase o seznam veˇsker´ych aplikovan´ych pˇr´ıpravk˚u(hydratace, premedikace, pˇr´ıpravky CHT). Na z´aloˇzcedruh´ejsou pak rozeps´any jednotliv´eaplikaˇcn´ılisty (aplikaˇcn´ılist = jedna aplikace). U jednotliv´ych aplikaˇcn´ıch list˚um˚uˇzemevyvolat celkem pˇetproces˚ua ide´alnˇev tomto poˇrad´ı:

1. Potvrzen´ıaplikaˇcn´ıholistu (kontrola vypoˇcten´ed´avky, popˇr´ıpadˇe1. korekce) 2. V´ybˇerm´ıstaaplikace (zaˇr´ızen´ı,l˚uˇzko, hodina, popˇr´ıpadˇezmˇenadata aplikace) 3. Zaps´an´ıneoˇcek´avan´eud´alosti 4. Potvrzen´ıaplikace l´eˇcebn´ehopˇr´ıpravku (popˇr´ıpadˇe2. korekce) 5. Zaps´an´ısestersk´edokumentace

Pro realizaci druh´eho bodu lze vyuˇz´ıtpˇrehledobsazenosti, kde m˚uˇzemeopˇetgraficky pozorovat pˇrehledobsazenosti jednotliv´ych l˚uˇzek.Na prvn´ıpohled je tedy vidˇetnapˇr´ıklad to, ˇzeˇctvrt´el˚uˇzko je mezi 11:00 aˇz13:00 hodinou voln´ea pomoc´ı rychl´ych n´astroj˚u m˚uˇzemepacienta na toto l˚uˇzko um´ıstit.Syst´empak z doby aplikace l´eˇcebn´ehopˇr´ıpravku vyznaˇc´ına grafu dobu, po kterou bude pacient na l˚uˇzku.Na tomto m´ıstˇeje moˇzn´ev rychlosti zaˇraditpacienta, kter´ynem´azaloˇzen´yCHT pobyt a ani nem´azaloˇzen´ycyklus CHT. Tato funkce byla pˇrid´anana z´akladˇepraxe. Funguje to tak, ˇzesestra vyhled´apa- cienta podle rodn´ehoˇc´ısla (s funkˇcn´ımnaˇsept´avaˇcem),vybere protokol (kter´yse dozv´ı na z´akladˇetelefonick´ehokontaktu s l´ekaˇrem),vybere hodinu a m´ıstoaplikace a syst´em s´amna z´akladˇedostupn´ych ´udaj˚uuloˇz´ıveˇsker´einformace, kter´echyb´ı, tedy m˚uˇzezaloˇzit pobyt, cyklus i linii. Tento pˇrehledje moˇzn´esi prohl´ıˇzetv z´avislostina dnech a do bu- doucna se poˇc´ıt´as t´ım,ˇzese pˇrehledrozˇs´ıˇr´ıo jednotliv´eambulance.

41 Obr´azek3.11: Uˇzivatelsk´eprocesy v chemoterapii.

Obr´azek3.12: Kalend´aˇraplikac´ıchemoterapie.

42 4 Z´avˇer

Tato pr´acemˇelastanoven´etˇric´ıle,kter´ebyly zpracov´any ve dvou hlavn´ıch kategori´ıch t´etopr´ace.Prvn´ıdva c´ıle(zhodnocen´ısouˇcasn´eNIS na trhu a popis technologi´ıpouˇzit´ych pˇriv´yvoji) jsou pops´any v kapitole Dostupn´etechnologie a syst´emy. Posledn´ıc´ıl (popis v´yvoje modul˚uOIS M2) je rozebr´anv kapitole Onkologick´yinformaˇcn´ısyst´emM2. V prvn´ı ˇc´astiprvn´ı kapitoly jsem se zamˇeˇril na dostupn´etechnologie urˇcen´epro v´yvoj online aplikac´ı. Provedl jsem kr´atk´eporovn´an´ı technologie ASP.NET a scripto- vac´ıho jazyka PHP. U PHP jsem se zamˇeˇrilna frameworky toho jazyka, konr´etnˇena CakePHP, Nette a Zend framework. V t´etoˇc´astijsem provedl z´akladn´ıpopis jednotliv´ych framework˚ui s pohledem do historie. Podle mˇenelze v dohledn´edobˇeoˇcek´avat nˇejakou v´yraznouzmˇenu na poli framework˚ujazyka PHP. Moˇzn´aby st´aloza ´uvahu do srovn´an´ı pˇridati framework Symfony, o kter´emse m˚uˇzemedoˇc´ıstna r˚uzn´ych diskusn´ıch f´orech, mysl´ımsi ale, ˇzena ´uzem´ı Cesk´erepublikyˇ se volba framework˚ubude zamˇeˇrovat nejˇcastˇeji na Zend framework a Nette. Nette fundation uvedlo na zaˇc´atkuroku 2012 verzi Nette 2.0, stejn´ykrok se v dohledn´edobˇeoˇcek´av´ai od Zend Technologies se Zend frameworkem 2.0. Nette do znaˇcn´em´ıry tˇeˇz´ı z obl´ıbenosti jeho autora a podle mˇeje to framework vhodn´ytakˇrka na cokoliv, jak se lze pˇresvˇedˇcitz refernc´ıprojekt˚u, kter´ejsou postaveny na Nette. Na z´avˇert´etoˇc´astijsem provedl kr´atk´ezhodnocen´ıdvou oupen sourcov´ych datab´azov´ych server˚ua to MySQL a PostgreSQL. Stejnˇejako u framework˚ujsem provedl kr´atk´esezn´amen´ıs obˇemaservery i s kr´atk´ympohledem do historie, podle kter´eholze sledovat postupn´edorovn´av´an´ıobou server˚u.PostgreSQL disponuje vˇetˇs´ımimoˇznostmi, naproti tomu MySQL je na z´akladn´ıoperace rychlejˇs´ı,nab´ız´ıvˇsakmenˇs´ımnoˇzstv´ınas- taven´ız´alohov´an´ı.MySQL tek´etˇeˇz´ız toho, ˇzeje souˇc´ast´ız´akladn´ıhosoftwareov´ehovy- baven´ıwebserveru, tim p´ademnen´ı(a nikdy nebyl) velk´yprobl´emtento datab´azovy server nainstalovat a proto je ve vˇetˇs´ımpovˇedom´ıprogram´ator˚uwebov´ych aplikac´ı. V druh´eˇc´astiprvn´ıkapitoly jsem pˇredstavil dvˇezn´am´espoleˇcnostina poli zdravot- nictv´ı,kter´ese zab´yvaj´ıtvorbou nemocniˇcn´ıch informaˇcn´ıch syst´em˚u.Byla to spoleˇcnost Stapro s.r.o. s produkty FONS Akord a FONS Enterprise a spoleˇcnostICZ a.s. s produk- tem Medical Process Asistant (MPA). Jak bylo ˇreˇcenov z´avˇerut´etoˇc´asti,mysl´ımsi, ˇze spoleˇcnost Stapro s.r.o. m´adaleko vˇetˇs´ıpotenci´alna trhu s nemocniˇcn´ımi informaˇcn´ımi syst´emy. K tomuto z´avˇerumˇevede to, ˇze spoleˇcnostna sebe nabalila r˚uzn´ymif´uzemi vˇetˇsinu spoleˇcnost´ı, kter´eu n´asnab´ızely sv´esyst´emy (AKORD SOFTWARE, MLAB software, HiComp a IT divize GreyFox ve spoleˇcnostiMedicon) a t´ımupevnila v pr˚ubˇehu let 2005 aˇz2010 sv´epostaven´ına trhu. Naproti tomu se spoleˇcnost ICZ a.s. nezamˇeˇruje pouze na zdravotnick´ytrh. Z referenc´ınebylo jasn´e,zda spoleˇcnostdod´av´aprodukt MPA i do zem´ıevropsk´eunie, ale s ohledem na rozloˇzen´ısil na ˇcesk´emtrhu a na fakt, ˇzeMPA disponuje moˇznost´ıpln´elokalizace, je podle mˇeosud toho NIS sv´az´ansp´ıˇsese zhraniˇcn´ımi instalacemi. V druh´e kapitole se vˇenuji popisu v´yvoje z´akladn´ıch modul˚uonkologick´eho in- formaˇcn´ıhosyst´emu M2. Na zaˇc´atkut´etokapitoly se vˇenuji sezn´amen´ıse syst´ememtakt´eˇz s pohledem do historie. D˚uleˇzit´ypoznatek t´etoˇc´astije ten, ˇzeOIS M2 nem´aza ´ukol nahra- dit NIS. M´aza ´ukol NIS vhodnˇedoplnit a nab´ıdnoutmoˇznostkomunikace mezi OIS M2 a jak´ymkoliv NIS. Po sezn´amen´ıs koncepc´ıOIS M2 popisuji v´yvoj z´akladn´ıch modul˚uto-

43 hoto syst´emu. Jelikoˇzse na v´yvoji pod´ıl´ımuˇzv´ıceneˇzdva roky, mohu s klidn´ymsvˇedom´ım ˇr´ıci,ˇzejsem se zamˇeˇrilna nejzaj´ımavˇejˇs´ıpoznatky tohoto projektu. U jednotliv´ych modul˚u kladu d˚urazna pˇredstaven´ımodelov´eˇc´astimodulu a to z toho d˚uvodu, ˇzeje podle m´eho n´azorunejzaj´ımavˇejˇs´ı.Okrajovˇese u modul˚uvˇenuji ˇr´ıd´ıc´ıˇc´asta zobrazovac´ıˇc´astjsem z popisu vypustil ´uplnˇe,z d˚uvodu n´ızk´erelevance. V z´avˇerut´etokapitoly popisuji instalaci OIS M2 a z´akladn´ıprincipi pr´acese syst´emem. Je zde vysvˇetleno,proˇcOIS M2 nedisponuje instalaˇcn´ımsouborem a d´alejsou pops´any jednotliv´ekroky pˇrinasazov´an´ıOIS M2. Popis princip˚upr´acese syst´ememje rozdˇelen podle modul˚ua souˇc´ast´ıkaˇzd´et´etoˇc´astije graf, na kter´emlze sledovat procesy (a jejich vazby), kter´eje moˇzn´ev modulu vyvolat.

Na tomto m´ıstˇebych se chtˇeljeˇstˇezamyslet nad dalˇs´ımv´yvojov´ympotenci´alemOIS M2. V pr´acije ˇreˇceno,ˇzemodul Chemoterapie je jedin´yz modul˚u,kter´ynen´ıv souˇcasn´e dobˇepouˇz´ıv´an.Proto se ve v´yhledov´edobˇev´yvojov´ypotenci´albude zamˇeˇrovat na tento modul. Dalˇs´ımc´ılemje sestavit pro jednotliv´ehopacienta ˇcasovou osu jeho l´eˇcby. L´ekaˇrby pak mˇelmoˇznostv pˇrehledn´egrafick´epodobˇepozorovat v´yvoj nemoci od rann´ef´azeaˇzdo l´eˇcby line´arn´ımurychlovaˇcemˇciaplikace pˇr´ıpravk˚uchemoterapie. Vzhledem k pouˇzit´ym technologi´ımnen´ıv dohledn´edobˇev´yvojov´ypotenci´altechnologicky omezen.

44 Literatura

[1] Zend Technologies Ltd.: ZF Zend Framework [online]. c2011 [cit. 2011-11-30]. Zend Framework & MVC Introduction. Dostupn´ez WWW: http://framework.zend.com/manual/en/learning.quickstart.intro.html# learning.quickstart.intro.mvc

[2] Cake Software Foundation, Inc.: Cake Software Foundation [online]. c2011 [cit. 2011-11-30]. About the Foundation. Dostupn´ez WWW: http://cakefoundation.org/pages/about

[3] Nette Fundation: Nette framework [online]. c2011 [cit. 2011-11-30]. Tv˚urci. Dos- tupn´ez WWW: http://doc.nette.org/cs/credits

[4] Nette Fundation: Nette framework [online]. c2011 [cit. 2011-11-30]. Licenˇcn´ıpoli- tika. Dostupn´ez WWW: http://doc.nette.org/cs/licence

[5] Zend Technologies USA, Inc.: ZF Zend framework [online]. c2011 [cit. 2011-11- 30]. New BSD License. Dostupn´ez WWW: http://framework.zend.com/license

[6] Jiˇr´ı Kosek: Zdroj´ak.cz [online]. 24. 10. 2011 [cit. 2011-11-30]. Polyglot aneb webov´ymkod´erempod oboj´ı.Dostupn´ez WWW: http://zdrojak.root.cz/clanky/polyglot-aneb-webovym-koderem-pod-oboji/

[7] W3C.org: XHTML2 Working Group Home Page [online]. 2010/12/17 [cit. 2011- 11-30]. Mission of the XHTML2 Working Group. Dostupn´ez WWW: http://www.w3.org/MarkUp/

[8] J´an Suˇnavec:ˇ ROOT.CZ [online]. 25.10.2005 [cit. 2012-02-25]. MySQL vs Post- greSQL vs Firebird. Dostupn´ez WWW: http://www.root.cz/clanky/mysql-vs-postgresql-vs-firebird/

[9] OpenACS: OpenACS [online]. 2000 [cit. 2012-02-25]. Why not MySQL?. Dostupn´e z WWW: http://openacs.org/philosophy/why-not-mysql.html/

45