TEHNIČKO REŠENJE. Integrisani sistem za fizikalnu terapiju

Similar documents
Biznis scenario: sekcije pk * id_sekcije * naziv. projekti pk * id_projekta * naziv ꓳ profesor fk * id_sekcije

Podešavanje za eduroam ios

GUI Layout Manager-i. Bojan Tomić Branislav Vidojević

Eduroam O Eduroam servisu edu roam Uputstvo za podešavanje Eduroam konekcije NAPOMENA: Microsoft Windows XP Change advanced settings

AMRES eduroam update, CAT alat za kreiranje instalera za korisničke uređaje. Marko Eremija Sastanak administratora, Beograd,

SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan.

IZDAVANJE SERTIFIKATA NA WINDOWS 10 PLATFORMI

Ulazne promenljive se nazivaju argumenti ili fiktivni parametri. Potprogram se poziva u okviru programa, kada se pri pozivu navode stvarni parametri.

TEHNIČKO REŠENJE. Univerzalna hardversko-softverska platforma za realizaciju korisničkog i upravljačkog interfejsa uređaja za fizikalnu medicinu

KAPACITET USB GB. Laserska gravura. po jednoj strani. Digitalna štampa, pun kolor, po jednoj strani USB GB 8 GB 16 GB.

1. Instalacija programske podrške

Uvod u relacione baze podataka

CJENOVNIK KABLOVSKA TV DIGITALNA TV INTERNET USLUGE

za STB GO4TV in alliance with GSS media

Univerzitet u Novom Sadu. Fakultet tehničkih nauka. Odsek za računarsku tehniku i računarske komunikacije. Uvod u GIT

Port Community System

INSTALIRANJE SOFTVERSKOG SISTEMA SURVEY

Otpremanje video snimka na YouTube

Bušilice nove generacije. ImpactDrill

NIS PETROL. Uputstvo za deaktiviranje/aktiviranje stranice Veleprodajnog cenovnika na sajtu NIS Petrol-a

STRUČNA PRAKSA B-PRO TEMA 13

- Vežba 1 (dodatan materijal) - Kreiranje Web šablona (template) pomoću softvera Adobe Photoshop CS

1.UVOD. Ključne reči: upotrebljivost, praćenje, korisnički interfejs, aplikacija

CJENIK APLIKACIJE CERAMIC PRO PROIZVODA STAKLO PLASTIKA AUTO LAK KOŽA I TEKSTIL ALU FELGE SVJETLA

IMPLEMENTACIJA PODLOGE ZA SARADNJU KROKI ALATA SA ALATIMA ZA UML MODELOVANJE OPŠTE NAMENE

SAS On Demand. Video: Upute za registraciju:

3D GRAFIKA I ANIMACIJA

ENR 1.4 OPIS I KLASIFIKACIJA VAZDUŠNOG PROSTORA U KOME SE PRUŽAJU ATS USLUGE ENR 1.4 ATS AIRSPACE CLASSIFICATION AND DESCRIPTION

TRAJANJE AKCIJE ILI PRETHODNOG ISTEKA ZALIHA ZELENI ALAT

BENCHMARKING HOSTELA

Dr Smiljan Vukanović, dis

KONFIGURACIJA MODEMA. ZyXEL Prestige 660RU

Tutorijal za Štefice za upload slika na forum.

Tema 2: Uvod u sisteme za podršku odlučivanju (VEŽBE)

mdita Editor - Korisničko uputstvo -

Projektovanje softvera. Dijagrami slučajeva korišćenja

JEDINSTVENI PORTAL POREZNE UPRAVE. Priručnik za instalaciju Google Chrome dodatka. (Opera preglednik)

GIGABIT PASSIVE OPTICAL NETWORK

PLAN RADA. 1. Počnimo sa primerom! 2. Kako i zašto? 3. Pejzaž višestruke upotrebe softvera 4. Frameworks 5. Proizvodne linije softvera 6.

KatzeView Uputstvo. verzija Novi Sad Josifa Marinkovića 44. Tel: +381 (0) Fax: +381 (0) Mob: +381 (0)

Aplikacija za podršku transferu tehnologija

Direktan link ka kursu:

PROJEKTNI PRORAČUN 1

STRUKTURNO KABLIRANJE

Idejno rješenje: Dubrovnik Vizualni identitet kandidature Dubrovnika za Europsku prijestolnicu kulture 2020.

Uputstvo za konfigurisanje uređaja Roadstar

ЗАВРШНИ (BACHELOR) РАД

Windows Easy Transfer

Struktura i organizacija baza podataka

UNIVERZITET U BEOGRADU RUDARSKO GEOLOŠKI FAKULTET DEPARTMAN ZA HIDROGEOLOGIJU ZBORNIK RADOVA. ZLATIBOR maj godine

UPUTSTVO. za ruter TP-LINK TD-854W/ TD-W8951NB

Rešavanje problema pomoću računara

Beograd, Srbija, Vojvode Bogdana 34 Secamcctv Corporation DOO. program za evidenciju radnog vremena I prisustva na radu 2011g

Upute za korištenje makronaredbi gml2dwg i gml2dgn

TEHNOLOGIJA, INFORMATIKA I OBRAZOVANJE ZA DRUŠTVO UČENJA I ZNANJA 6. Međunarodni Simpozijum, Tehnički fakultet Čačak, 3 5. jun 2011.

DEFINISANJE TURISTIČKE TRAŽNJE

Интеграција Дахуа ИП камерe у ОБЛО систем кућне аутоматизације

DOSTAVUANJE PONUDA ZA WIMAX MONTENEGRO DOO PODGORICA

OBJEKTNO ORIJENTISANO PROGRAMIRANJE

Visoka škola strukovnih studija za informacione i komunikacione tehnologije. SMS Gateway. Dr Nenad Kojić

APLIKACIJA ZA PRIKAZ REZULTATA ANALIZE MREŽNOG SAOBRAĆAJA

Једно решење даљинског управљања симулацијом периферних уређаја на Андроид платформи

Klasterizacija. NIKOLA MILIKIĆ URL:

Mogudnosti za prilagođavanje

Једно решење корисничког интерфејса за руковање листама канала и реализација електонског програмског водича за дигиталне ТВ пријемнике

Automatske Maske za zavarivanje. Stella, black carbon. chain and skull. clown. blue carbon

Prvi koraci u razvoju bankarskog on-line sistema u Japanu napravljeni su sredinom 60-tih godina prošlog veka i to najpre za on-line, real-time obradu

Интеграција система паметне куће са Амазон Алекса сервисом

Slika broj 1. Primer dijagrama sekvenci

Mobilno računarstvo. Mobilni uređaji i njihove karakteristike

Mindomo online aplikacija za izradu umnih mapa

Priprema podataka. NIKOLA MILIKIĆ URL:

Analiza rada medicinske opreme i djelatnosti (kolovoz srpanj 2015.) doc. dr. sc. Dragan Korolija-Marinić, prof. v.š. dr. med.

POSEBNA POGLAVLJA INDUSTRIJSKOG TRANSPORTA I SKLADIŠNIH SISTEMA

POSTUPAK IZRADE DIPLOMSKOG RADA NA OSNOVNIM AKADEMSKIM STUDIJAMA FAKULTETA ZA MENADŽMENT U ZAJEČARU

Dimenzija zdravlja populacije infrastrukturni podaci planiranje i zdrav. politika sistemi nadzora podaci o nejednakosti

Veb portal za aukcijsku prodaju - projekat -

11 Analiza i dizajn informacionih sistema

- Italy. UNIVERZALNA STANICA ZA ZAVARIVANJE, SPOTER - sa pneumatskim pištoljem sa kontrolnom jedinicom TE95-10 KVA - šifra 3450

Interaktivni Generator Vizuelnih Simulatora Digitalnih Sistema (IGoVSoDS)

Struktura indeksa: B-stablo. ls/swd/btree/btree.html

Kooperativna meteorološka stanica za cestovni promet

MRS MRSLab09 Metodologija Razvoja Softvera Vežba 09

KREIRANJE DINAMIČKIH INTERFEJSA ZASNOVANIH NA META-ŠEMAMA CREATION OF DYNAMIC INTERFACES BASED ON META-SCHEMES

STABLA ODLUČIVANJA. Jelena Jovanovic. Web:

Upotreba selektora. June 04

11. LabVIEW. 1. rukuje instrumentacionim programom, 2. kontroliše izabrani hardver, 3. analizira prikupljene podatke, 4. prikazuje rezultat.

FAKULTET ZA POSLOVNU INFORMATIKU

Posmatrani i objekti posmatraci

REŠENJE ZA UPRAVLJANJE IT RESURSIMA BAZIRANO NA OTVORENOM KODU * OPEN SOURCE BASED SOLUTION TO IT RESOURCES MANAGEMENT

Simulacija rada PIC mikrokontrolera

TEHNIKA I INFORMATIKA U OBRAZOVANJU

Uputstvo za pravljenje i korišdenje biblioteka sa dinamičkim povezivanjem (.dll)

Реализација GWT клијент апликације за приступ послужиоцу за конфигурисање STB коришћењем MVP пројектног узорка

Slobodni softver za digitalne arhive: EPrints u Knjižnici Filozofskog fakulteta u Zagrebu

UNIVERZITET SINGIDUNUM

MRS. MRSLab03 Metodologija Razvoja Softvera Vežba 03 LAB Dijagram aktivnosti

TEHNIČKO (TEHNOLOŠKO) OBRAZOVANJE U SRBIJI

Office 365, upute za korištenje elektroničke pošte

Advertising on the Web

Transcription:

TEHNIČKO REŠENJE Integrisani sistem za fizikalnu terapiju M-85: Prototip, nova metoda, softver, standardizovan ili atestiran instrument, nova genetska proba, mikroorganizmi Autori: Ivan Milentijević, Vladimir Ćirić, Vladimir Simić, Teufik Tokić, Oliver Vojinović, Filip Živanović, Elektronski fakultet, Univerzitet u Nišu

1. Kratak opis Kompanija Elektromedicina d.o.o. Niš/ Yumis d.o.o. Niš nudi paletu terapijskih uređaja za fizikalnu medicinu: Eksposan, Intermed, Sonoton, Magnemed, Vakumed i Diaton. U okviru projekta "Inteligentni kabinet za fizikalnu medicinu" na Elektronskom fakultetu u Nišu razvijen je integrisani sistem za upravljanje i praćenje rada kabineta za fizikalnu mediciju, koji sadrži više terapijskih uređaja nove generacije. Ovi uređaji imaju mogućnost umrežavanja i daljinske kontrole, kao i akviziciju podataka preko Ethernet mreže. Razvijena je i implementirana serverska aplikacija za vođenje evidencije o laboratoriji, uključujući opremu, uređaje i pacijente. Aplikacija obezbeđuje nadgledanje i upravljanje radom uređaja za fizikalnu medicinu, a implementirani komunikacioni protokol obezbeđuje konfigurisanje i komunikaciju uređaja sa centralizovanom serverskom aplikacijom. Planer terapija u okviru serverske aplikacije obezbeđuje zakazivanje termina i upravljanje tokom terapija. Obezbeđeno je kreiranje izveštaja po velikom broju zadatih kriterijuma. Tehničke karakteristike: Serverska aplikacija je razvijena za Windows platformu koristeći C# programski jezik i koristi.net Framework 3.5. Komunikacioni protokol razvijen je kao DLL komponenta koja definiše neblokirajući interfejs ka serverskoj aplikaciji i baziran je na UDP transportnom protokolu. Baza podataka na centralnoj aplikaciji implementirana je koristeći SQLite DBMS, a ostavljena je podrška i za MySQL. Uređaji za fizikalnu medicinu su bazirani na Microchip PIC mikrokontroleru sa podrškom za Ethernet protokol. Mrežne i upravljačke funkcionalnosti implementirane su u MikroC programskom jeziku koristeći OSA RTOS operativni sistem za mikrokontrolere. Tehničke mogućnosti: Integracija i povezivanje uređaja u jedinstveni sistem obavlja se preko lokalne računarske mreže, a upravljanje njihovim radom omogućeno je serverskom aplikacijom. Serverska aplikacija pored toga omogućava vođenje evidencije o pacijentima i uređajima za fizikalnu medicinu i kreiranje izveštaja po velikom broju kriterijuma. Planer terapija, realizovan kao posebna komponenta, obezbeđuje zakazivanje termina za terapije i upravljanje tokom terapije koristeći direktnu komunikacijom sa uređajem. U tu svrhu projektovan je i implementiran mrežni komunikacioni protokol koji obezbeđuje dvosmernu komunikaciju između serverske aplikacije i uređaja. Protokolom se na serverskoj aplikaciji dobija status uređaja, omogućava slanje komandi od strane operatera za promenu radnih parametara, pokretanje ili zaustavljanje terapije. Svi relevantni podaci o obavljenim terapijama čuvaju se na serverskoj aplikaciji. Serverska aplikacija omogućava kreiranje izveštaja na osnovu zadatih parametara. Realizator: Elektronski fakultet u Nišu Korisnik: Elektromedicina d.o.o. Niš / Yumis d.o.o. Niš Podtip rešenja: Softver - M85 Projekat u okviru koga je realizovano tehničko rešenje: Program istraživanja u oblasti tehnološkog razvoja za period 2011.-2014. Tehnološka oblast: Elektronika, telekomunikacije i informacione tehnologije Rukovodilac projekta: Prof. dr Ivan Milentijević Naziv projekta: Inteligentni KAbinet za FIzikalnu Medicinu - IKAFIM Broj projekta: TR 32012

2. Stanje u svetu Razvoj medicinskih uređaja zauzima značajno mesto u tehničko-tehnološkim istraživanjima [1]. Spektar medicinskih uređaja je širok i obuhvata uređaje počev od uređaja za pomoć zdravstvenim radnicima za dijagnozu i lečenje bolesti, do uređaja koji su neophodni za održavanje života pacijenata. Fizikalna terapija u većini slučajeva obuhvata skup uređaja koji, svaki na svoj način i u svom domenu, doprinose poboljšanju zdravstvenog stanja pacijenta. Sale za fizikalnu medicinu opremljene su raznim uređajima koji pozitivno utiču na vreme potrebno za oporavak pacijenata. Uređaji za fizikalnu medicinu su najčešće samostalni uređaji koji koriste dijadinamičke i interferentne struje, ultrazvučne talase, vakumske impulse, pulsirajuća magnetna polja, itd. Poznati proizvođači ovakvih uređaja u svetu su Siemens, Enraf Nonius, Shock Master, Gymna-Uniphy dok je Elektromedicina d.o.o. proizvođač sa najvećim brojem ovakvih uređaja prodatih u Srbiji. Savremeni medicinski uređaji moraju pre svega biti bezbedni, očekuje se da budu pouzdani a velika prednost daje se uređajima koji imaju mogućnost inteligentnog prikupljanja, obrade i dostavljanja podataka što medicinskom osoblju štedi vreme i obezbeđuje efikasniji tretman pacijentima. Ako se tome pridoda mogućnost umrežavanja i komunikacije sa drugim uređajima ili centralizovanim upravljačkim softverom onda čitav sistem dobija novu dimenziju i istovremeno obezbeđuje značajan skup podataka dobijenih akvizicijom za dalju analizu i unapređenje lečenja pacijenata. Informaciono-komunikacione tehnologije zauzimaju važnu ulogu u projektovanju medicinskih uređaja nove generacije. Jedna od najčešćih primena komunikacionih tehnologija u medicini sreće se u slučaju takozvanih kućnih tele-health medicinskih uređaja i aplikacija za praćenje stanja pacijenta. Tehnički sistemi i medicinski servisi omogućavaju kontrolisanje parametara i bioloških signala pacijenata sa daljine. Uređaji koji se najčešće koriste u telemedicini su uređaji za elektrokardiografiju (EKG), uređaji za merenje krvnog pritiska i broja otkucaja srca, digitalne vage, uređaji za merenje glukoze, itd. Oni mogu biti fiksni, ali je takođe sasvim uobičajeno da su bežični ili prenosivi (ugrađeni u odeću, narukvice, itd.), što čini njihovo korišćenje komfornijim za pacijenta [2]. Senzori šalju podatke udaljenom centralizovanom sistemu čija je svrha prikupljanje i čuvanje podataka, i još važnije, alarmiranje medicinskog osoblja u slučaju da parametri nisu u granicama normale [3]. Međusobna komunikacija medicinskih uređaja, kao i komunikacija sa centralizovanim sistemima za akviziciju i upravljanje je savremen trend projektovanja ovakvih sistema. Pri korišćenju većeg broja medicinskih uređaja različitih proizvođača, sa različitim vlasničkim formatima podataka, javlja se problem interoperabilnosti. Različiti proizvođači patentiraju različita rešenja koja mogu raditi samostalno ili u sistemu, što otežava da se podaci dobijeni iz različitih uređaja prikupe na jednom mestu [4]. Povezivanje i komunikacija su u takvim slučajevima ograničeni tako da sistem i korisnici ne mogu iskoristiti sve mogućnosti koje informacione i komunikacione tehnologije danas nude. Postoji nekoliko standarda koji se odnose na interoperabilnost medicinskih informacionih sistema. Vremenom se X73 PoC-MDC (ISO11073/IEEE1073) skup standarda za komunikaciju medicinskih uređaja ( Point of Care Medical Device Communication ) izdvojio kao najbolje pozicionirani standard u ovim komunikacijama. Interoperabilnost uređaja različitog tipa podrazumeva korišćenje plug-and-play koncepta, što znači da je povezivanje uređaja dovoljno za ispravno funkcionisanje uređaja kao sastavnog dela sistema. Sistem treba da detektuje uređaj automatski, konfiguriše ga i komunicira s njim bez potrebe za bilo kakvom intervencijom korisnika. Glavni problem koji se javlja kada se pokušava postići takozvana plug-and-play interoperabilnost je sledeći: kada ne postoji komunikacioni standard koji se prostire od fizičkih veza uređaja preko nivoa jezika koji se koristi u aplikacijama, svaki deo sistema se mora ispitati, u najmanju ruku, kako bi se utvrdilo kakav fizički i logički interfejs je potrebno razviti da bi se obezbedila efikasna komunikacija. Jedinstveni standard je potreban, ali nijedan nije bio u potpunosti prilagođen potrebama medicinskih uređaja uopšte do pojave X73-PoC [5]. Osim međusobne komunikacije i interoperabilnosti, česta su softverska rešenja koja interoperabilnost teže da postignu tako što implementiraju jezik svih uređaja i na taj način

ih povezuju u celinu. Postoji veliki broj aplikacija čija je namena upravljanje različitim aspektima medicinskih laboratorija i kabineta, kao što su proizvodi u ponudi svetskih kompanija [6-8]. Takođe, u ponudi je sve veći broj aplikacija opšte namene za raspoređivanje događaja i organizovanje kalendara preko veba [9,10]. Iako spomenuta softverska rešenja imaju funkcionalnosti potrebne za korišćenje u medicinskim i kabinetima za fizikalnu medicinu, glavna prepreka je nedostatak lokalizacije za srpski jezik i potreba da se aplikacija prilagodi sopstvenim potrebama. Prihvatljivost takvih aplikacija zavisi pre svega od lakoće prilagođavanja postojećoj rutini i podacima medicinskih kabineta. Iako pojedina rešenja imaju mogućnost prilagođavanja izgleda korisničkog interfejsa i podržavaju rasprostranjene medicinske standarde, to zahteva mnogo napora da aplikacija postane alat koji se svakodnevno koristi. Iako se mogu koristiti dve odvojene aplikacije, naišlo bi se na dodatne prepreke i probleme u prihvaćanju. Pojedini proizvođači [11] nude softverska rešenja za prikupljanje podataka sa medicinskih uređaja široke namene preko serijskog ili mrežnog priključka ali nedostaje funkcija kontrole medicinskih uređaja. Pored toga, prikupljene podatke potrebno je dodatno obraditi kako bi se rezultati mogli koristiti, što opet rezultuje korišćenju više različitih softvera za obavljanje jednog posla. Glavna prednost softvera realizovanog u okviru integrisanog sistema za fizikalnu medicinu je što je planer terapija deo jedinstvenog interfejsa koji omogućava i kontrolu uređaja za fizikalnu terapiju, što u spomenutim rešenjima nije slučaj. Česta potreba korisnika uređaja starih desetak ili više godina je nadogradnja postojećih uređaja kako bi se iskoristile pogodnosti aktuelnih informaciono komunikacionih tehnologija i standarda, ili mogućnost dodavanja novih funkcionalnosti. To nije uvek izvodljivo i zavisi od načina projektovanja i implementacije sistema u celini, uključujući hardversku strukturu samog uređaja, hardversku platformu, korišćene komponente, korišćene analogne delove i protokole za povezivanje i razmenu podataka. Ako su uređaji kontrolisani regulatorima fizičkih veličina ili mehaničkim delovima dodatni izazov predstavlja prelazak na neki od savremenijih korisničkih i upravljačkih interfejsa, kao što su ekrani osetljivi na dodir. Elektronski fakultet u Nišu pokrenuo je projekat pod nazivom "Inteligentni kabinet za fizikalnu medicinu", koji je finansiran od strane Ministarstva prosvete, nauke i tehnološkog razvoja Republike Srbije pod brojem TR32012, čiji je cilj razvoj unapređenih verzija uređaja za fizikalnu medicinu firme Elektromedicina d.o.o. Niš, sa mogućnošću uključivanja u centralizovani sistem. Pod centralizacijom se podrazumeva upravljanje i akvizicija podataka, kao i implementacija procedura za bezbedno korišćenje uređaja. Kod nove generacije uređaja predviđeno je da, pored klasičnog podešavanja, postoji mogućnost za automatskim podešavanjem parametara uređaja i praćenja napretka terapije sa serverske aplikacije.

3. Integrisani sistem za fizikalnu terapiju Integrisani sistem za fizikalnu terapiju prikazan je na slici 3.1. Sistem se sastoji od većeg broja terapijskih uređaja povezanih preko računarske mreže u centralizovani sistem. Slika 3.1 Integrisani sistem za fizikalnu terapiju Na sistemu se mogu razlikovati tri celine: centralni server za upravljanje i praćenje rada integrisanog sistema, terapijski uređaji i računarska mreža koja ih povezuje. U cilju integracije ovih celina kreirane su komponente prikazane na UML dijagramu komponenata na slici 3.1. Osnovne komponente sistema su: centralna serverska aplikacija, implementirana na serveru, i komponente uređaja. Operater tj. medicinsko osoblje preko korisničkog interfejsa na uređaju ili centralnom računaru zadaje parametre terapije i registruje pacijenta. Ako se terapija zadaje sa centralnog računara, komponenta planer (slika 3.2) proverava identitet pacijenta i zakazanu terapiju a zatim se posredstvom komponente Sloj za pristup podacima u bazu unosi upis o pacijentu i terapiji. Zatim se kontaktira uređaj na mreži kako bi se pronašao slobodan uređaj za dati tip terapije i predaju mu se radni parametri terapije. Pacijent zatim dobija propisanu terapiju na uređaju. Ako operater terapiju započne na samom uređaju, uređaj će prijaviti parametre obavljenog tretmana centralnom računaru i nakon toga operateru ostaje da zabeleži identitet pacijenta. Svi podaci neophodni za rad sistema obezbeđeni su preko komponente Sloj za pristup podacima, koja obezbeđuje standardni interfejs ka sistemima baza podataka i realizovana je kao dinamička biblioteka. Komponenta uređaj (slika 3.2) sastoji se od četiri dela. Operativni sistem za rad u realnom vremenu upravlja radom uređaja i opslužuje zahteve operatera preko korisničkog interfejsa, komunikaciju sa centralnim računarom preko mrežnog protokola i obezbeđuje drajvere za analogne delove sistema.

Slika 3.2 Komponentni model integrisanog sistema za fizikalnu medicinu Na slici 3.3 prikazan je dijagram sekvenci za tok prijema pacijenta, pokretanje terapije na uređaju i komunikaciju između centralne serverske aplikacije i uređaja za fizikalnu medicinu. Slika 3.3 Dijagram sekvenci prilikom tretmana pacijenta u integrisanom sistemu Skup sekvenci prikazan u gornjoj polovini dijagrama (sekcija 1 na slici 3.2) odgovara it iji k d ij t d l i t ij U t l č j di i k blj i t j

pacijenta (sekcija 1.1 na slici 3.3) i preko planera terapija, a po zahtevima pacijenta, određuje termine terapija i snima ih u bazu podataka (sekcija 1.2 na slici 3.3). Skup sekvenci u donjem delu dijagrama (sekcija 2 na slici 3.3) odgovara situaciji kada pacijent dolazi da primi terapiju. Nakon identifikacije pacijenta (sekcija 2.1 na slici 3.3), sistem dobija spisak termina za terapije (sekcija 2.2 na slici 3.3) nakon čega centralna serverska aplikacija pronalazi odgovarajući uređaj na mreži i prenosi do njega skup radnih parametara za pokretanje terapije (sekcija 2.3 na slici 3.3). Medicinsko osoblje potom započinje terapiju na uređaju. Po završetku terapije podaci o obavljenoj terapiji prenose se do centralnog računara gde se podaci trajno snimaju (sekcija 2.4 na slici 3.3). U nastavku će biti opisana struktura uređaja za fizikalnu medicinu, arhitektura serverske aplikacije i njenih komponenata kao i arhitektura komunikacionog protokola. Akcenat će biti stavljen na korisnički interfejs realizovanih komponenti. 4. Uređaji za fizikalnu medicinu Tipičan kabinet za fizikalnu medicinu sastoji se od većeg broja uređaja za fizikalnu medicinu. Praksa je da pacijent dobije terapiju sa većeg broja uređaja pa su i kabineti opremljeni sa većim brojem ovakvih uređaja. Blok dijagram koji prikazuje elemente uređaja za fizikalnu medicinu prikazan je na Slici 4.1. Slika 4.1 Blok dijagram strukture uređaja za fizikalnu medicinu Operator označen na Slici 4.1 predstavlja medicinsko osoblje koje preko uređaja zadaje terapiju pacijentu. Preko korisničkog interfejsa na uređaju bira se tip terapije, njeno trajanje kao i parametri terapije. Parametri mogu biti izabrani iz skupa predefinisanih vrednosti ili se mogu postaviti ručno. Na osnovu zadatih parametara, uređaj preko aplikatora (slika 4.1) primenjuje zadatu terapiju na pacijentu. Korisnički interfejs obaveštava operatora o trajanju i postavljenim parametrima terapije. U cilju omogućavanja integracije sistema neophodno je razviti skup novih uređaja, na osnovu postojećih uređaja firme Elektromedicina d.o.o. Niš, sa mogućnošću uključivanja u centralizovani sistem. Pod centralizacijom se podrazumeva upravljanje i akvizicija podataka. Kod nove generacije uređaja predviđeno je da, pored klasičnog podešavanja, postoji mogućnost za automatskim podešavanjem parametara uređaja i praćenja napretka terapije sa centralne serverske aplikacije. Uređaji obuhvaćeni projektom su: Eksposan, Magnemed, Intermed, Vakumed, Diaton and Sonoton i prikazani su na slici 4.2.

a) b) c) d) e) f) Slika 4.2 Uređaji za fizikalnu medicinu obuhvaćeni projektom a) Eksposan, b) Intramed, c) Sonoton, d) Magnemed, e) Vakumed, f) Diaton Da bi nadogradnja uređaja za fizikalnu medicinu bila ekonomski isplativa, odlučeno je da postojeći analogni interfejsi na uređajima budu zadržani. Nadogradnjom uređaja, na postojeću hardversku strukturu uređaja pridodata je mikrokontrolerska logika koja implementira korisnički interfejs sa jedne strane i mrežnu funkcionalnost sa druge strane (slika 4.3). Veza sa postojećim analognim komponentama uređaja ostvarena je preko mikrokontrolera. Na slici 4.3 osenčeno su prikazane komponente koje su nadograđene na postojeće elemente uređaja. Slika 4.3 Blok dijagram nove generacije uređaja za fizikalnu medicinu Hardverska nadogradnja za novu generaciju uređaja bazirana je na PIC18F877 J60 mikrokontroleru sa integrisanim Ethernet kontrolerom. 4.1 Korisnički interfejs nove generacije uređaja za fizikalnu medicinu Prvi korak analize postojećeg skupa uređaja odnosio se na analizu korisničkog interfejsa. Posebna pažnja posvećena je razvoju intuitivnog korisničkog interfejsa. Integrisani sistem za fizikalnu medicinu omogućava pokretanje i zadavanje radnih parametra za terapiju sa centralne serverske aplikacije kao i uređaja pa je analiza korisničkog interfejsa urađena posebno za serversku aplikaciju i posebno za uređaje. Takođe, jedan od ciljeva bio je da se kreira jedinstveni korisnički interfejs na uređajima kako bi njegovo prihvatanje i kasnije

korišćenje zahtevalo minimalan napor medicinskog osoblja. Problem koji je na posredni način rešen je problem navikavanja korisnika na različite interfejse prilikom korišćenja različitih tipova uređaja istog proizvođača. Na ovaj način operater uređaja prilikom savladavanja načina korišćenja jednog uređaja ujedno ovladava tehnikom upotrebe svih uređaja iz proizvodnog programa proizvođača. S ciljem da se kreira jedinstveni korisnički interfejs za svih šest uređaja, prvi korak u projektovanju korisničkog interfejsa bio je da se napravi analiza mogućnosti i funkcija postojećeg korisničkog interfejsa. Interakcija se kod stare generacije uređaja obavljala preko skupa tastera pri čemu nemaju svi uređaji podjednak broj i skup tastera. Ako tastere predstavimo uopšteno rednim brojevima T1-T7, tabela 4.1 prikazuje listu tastera i funkcionalnost pojedinih tastera. Može se primetiti da uređaj Intramed ima najveći broj tastera. Taster Eksposan Intramed Sonoton Magnemed Vakumed Diaton T1 start/stop start/stop start/stop start/stop start/stop start/stop T2 tip modulacije selekcija (pm, if, g) selekcija (k, i1, i2) selekcija (kanal1, pulsni mod (15,30,60) selekcija (g,pg,d) kanal2) T3 selekcija promena tipa - - stalni mod - (sp, e1, e2) frekvencije T4 - gornja/donja - - voda polaritet T5 T6 F struja (gore, dole) G struja (gore, dole) frekvencija vreme (0-60min) struja (0-60mA) T7 - frekvencija (1-200Hz) vreme (0-19min) intenzitet (0-3W/cm 2 ) vreme (0-95min) frekvencija (0-50Hz) - magnetno polje (0-10mT) intenzitet vakuuma (0-600 mbar) (+,-) vreme (0-15min) - bazna struja (0-5mA) - struja doziranja (0-29mA) Tabela 4.1 Funkcije kontrolnih tastera prethodne generacije uređaja Korisnički interfejs nove generacije uređaja mora da bude jedinstven pa su sve specifične uloge tastera prebačene u strukturu menija na uređaju a zajedničko za sve uređaje je skup tastera kojim se obavlja navigacija kroz menije. Tako je skup tastera za sve uređaje sveden na sledećih pet: 1. Start/stop taster kojim se obezbeđuje prečica do najkorišćenije funkcije uređaja a to je početak i zaustavljanje terapije 2. Gore (Up) taster kojim se obezbeđuje kretanje kroz podmenije na istom nivou u jednom smeru ili se vrši postavljanje parametra na uređaju inkrementiranjem vrednosti ili izborom mogućih vrednosti iz liste 3. Dole (Down) - taster kojim se obezbeđuje kretanje kroz podmenije na istom nivou u drugom smeru ili se vrši postavljanje parametra na uređaju dekrementiranjem vrednosti ili izborom mogućih vrednosti iz liste 4. Potvrda (Enter) taster kojim se prelazi na izabrani deo menija ili se potvrđuje i snima postavljena vrednost parametra 5. Nazad (Back) taster kojim se korisnik vraća jedan nivo nazad u hijerarhiji menija ili se poništava unos parametra i vraća nazad U toku faze razvoja i implementacije kreiran je korisnički interfejs centralne serverske aplikacije i korisnički interfejs na uređajima baziranih na 2x16 LCD displejima i displejima osetljivim na dodir. Na slici 4.4 prikazan je skup tastera na laboratorijskom prototipu kao i izgled hijerarhije menija uređaja za fizikalnu medicinu.

Slika 4.4 Hijerarhijska organizacija korisničkog interfejsa uređaja za fizikalnu medicinu Funkcije za unos, pregled i izmenu konfiguracionih parametara, koje obezbeđuje upravljački interfejs, razvijene su tako da obezbede prilagođavanje tipu ekrana koji se koristi. Grafički interfejs obezbeđuje navigaciju kroz hijerarhijske nivoe menija, pregled i izmenu parametara. Posebna pažnja posvećena je obezbeđivanju podrške za različite tipove podataka i parametara koji se mogu sresti kod uređaja za fizikalnu terapiju. Uglavnom se vrši unos brojčanih podataka, vrši se izbor jedne od više ponuđenih opcija, a u retkim slučajevima potrebno je unositi tekstualni sadržaj. Kako je kompletan interfejs prebačen sa mehaničkih tastera na ekran, platforma je zadržala samo mali broj mehaničkih tastera za obavljanje servisnih procedura kao što su resetovanje uređaja, brisanje sadržaja memorije, resetovanje mrežne komunikacije i slično. Platforma se povezuje na Ethernet mrežu pa je na samoj ploči obezbeđen odgovarajući priključak. Arhitektura koja je osnova za razvoj menija za LCD i ekrane osetljive na dodir na svim uređajima sastoji se iz tri sloja: korisničkog interfejsa, podsistema za definisanje konfiguracionih parametara i kontrolnog interfejsa na grafičkom displeju uređaja (slika 4.5). Korisnički interfejs sadrži rutine za iscrtavanje i navigaciju kroz različite tipove menija i grafičkih elemenata na bazi parametara definisanih u okviru komponente Parameters. Kontrolni interfejs definiše način kojim se akcije korisnika iz grafičkog interfejsa povezuju sa konkretnom komandom na uređaju predstavljenim komponentom Device. Skup funkcija realizovan je u programskom jeziku MikroC/C. Delovi korisničkog interfejsa realizovani su korišćenjem Visual TFT alata za grafičko projektovanje.

Slika 4.5 Arhitektura korisničkog i upravljačkog interfejsa Na slici 4.6 prikazan je izgled grafičkog LCD displeja za uređaj Vakumed za vreme trajanja terapije a na slici 4.6b i c prikazani su redom izgled početnog ekrana na Vakumed-u kao i ekran za odabir jedne iz liste predefinisanih terapija. c) d) Slika 4.6 Prikaz radnih parametara terapije na Vakumed uređaju (a) i podešavanje radnih parametara (b) na LCD displeju, prikaz početnog ekrana Vakumed uređaja (c) kao i ekrana za pregled spiska predefinisanih terapija na istom uređaju (d)

Korisnički interfejs za ostalih pet uređaja realizovan je na zajedničkoj osnovi i razlika je jedino u skupu parametara i funkcija do kojih se dolazi navigacijom kroz hijerarhijski organizovanu strukturu menija. 5. Serverska aplikacija Centralni deo integrisanog sistema za fizikalnu medicinu čini serverska aplikacija. Na slici 5.1 prikazane su komponente razvijene u okviru serverske aplikacije. U okviru aplikacije razvijen je korisnički interfejs (GUI) koji nudi sledeće funkcionalnosti: 1. evidencija i praćenje a. pacijenata, b. medicinske opreme, c. terapija koje ustanova sprovodi, 2. upravljanje uređajima za fizikalnu medicinu preko lokalne mreže, 3. mogućnost zakazivanja terapije, 4. izveštavanje, 5. podešavanje parametara aplikacije, 6. ažuriranje aplikacije. Slika 5.1. Komponente centralne serverske aplikacije GUI komponenta (slika 5.1) predstavlja grafički interfejs aplikacije i centralna je komponenta aplikacije. Ona koristi usluge koje nude preostale komponente. Za upis u bazu i čitanje iz baze koristi usluge sloja za pristup podacima, a za komunikaciju sa uređajima usluge mrežnog protokola. Korisnici aplikacije imaju direktan pristup komponenti GUI preko vidljivih formi a ostale interne komunikacije obavljaju se u pozadini. Komponenta Mrežni protokol je serverska komponenta mrežnog protokola i ona enkapsulira svu logiku za komunikaciju sa uređajima. Komponenta Mrežni protokol povezana je sa ostatkom aplikacije preko GUI komponente. Komunikacija se obavlja preko UDP transportnog protokola, koji prima poruke na portu 162 i šalje ih na port 161. Komponenta Sloj za pristup podacima obezbeđuje jedinstven interfejs ostatku sistema za pristup svim podacima sa kojima aplikacija radi. Komponenta Planer terapija je još jedna od komponenti u sistemu koja obezbeđuje grafički interfejs korisniku aplikacije. Planer terapija omogućava medicinskom osoblju uvid u vremenski raspored terapija i dodeljenih uređaja za terapiju i omogućava ručni ili poluautomatski raspored terapija za pacijente. Planer terapija koristi usluge sloja za pristup podacima kako bi čuvao i pribavljao podatke o terapijama i usluge Mrežnog protokola kako bi pribavio informacije o raspoloživim uređajima potrebnim za raspored terapija.

5.1 Sloj za pristup podacima Ova komponenta je zadužena za pristup bazi podataka čija se funkcionalnost poziva isključivo iz komponente GUI. Izvršena je celokupna implementacija sledećih klasa koje se odnose na komunikaciju sa bazom podataka: ClientMapper, DeviceMapper, DeviceTypeMapper, TherapyMapper. Ovde se nalazi sva potrebna logika za rad sa pacijentima, uređajima i zakazanim terapijama. U manjim sistemima za fizikalnu terapiju korišćenje SQLite baze podataka je prihvatljivo jer isključuje potrebu da se instalira i održava poseban server baze podataka. U decentralizovanim i obimnijim sistemima za fizikalnu medicinu korišćenje ovakvih sistema je često tako da je u aplikaciji ostavljena mogućnost i podrška za MySQL. Klasni dijagram realizovanih klasa u okviru sloja za pristup podacima prikazan je na slici 5.2. Slika 5.2. Klasni dijagram realizovanih klasa u okviru sloja za pristup podacima 5.2 Korisnički interfejs serverske aplikacije Nakon nacrta korisničkog interfejsa i razvoja inicijalne verzije odlučeno je da korisnički interfejs serverske aplikacije bude implementiran je koristeći ribone [12], pri čemu su glavne funkcionalnosti podeljene po karticama na glavnom prozoru aplikacije (slika 5.3).

Slika 5.3 Organizacija menija serverske aplikacije preko ribona Osnovne funkcionalnosti glavnog programa podeljene su na sledeće sekcije: Evidencija, Zakazivanje, Izveštaji, Podešavanje i Pomoć. Na slici 5.4 prikazan je skup paketa klasa koje implementiraju grafički interfejs aplikacije i njihova veza sa glavnim karticama aplikacije. Slika 5.4 Zavisnost realizovanih paketa klasa i njihova pripadnost karticama u okviru korisničkog interfejsa serverske aplikacije Na slici 5.5 prikazan je deo klasnog dijagrama aplikacije iz paketa Evidencija i Menadžer poruka.

Slika 5.5 Deo klasnog modela komponente GUI Klasa mainform predstavlja glavnu formu aplikacije koja objedinjuje funkcionalnosti aplikacije kroz pet spomenutih kartica. Glavna forma aplikacije implementira korisnički interfejs baziran na ribonima. U nastavku su prikazani glavni delovi korisničkog interfejsa serverske aplikacije podeljen po paketima tj. ribonima. Funkcionalnosti grafičkog korisničkog interfejsa podeljene su u klase po nameni na evidenciju, zakazivanje, izveštaje, pomoć, i podešavanja. Evidencija Paket klasa implementiranih u okviru paketa Evidencija obezbeđuje funkcije za evidenciju uređaja u laboratoriji, podataka o pacijentima i terapijama kao i odgovarajuće funkcije za pretragu. Na slikama datim u nastavku prikazan je izgled nekoliko prozora iz ovog paketa klasa. Nakon što medicinsko osoblje identifikuje ili po prvi put registruje pacijenta otvara se forma prikazana na slici 5.6. Osim osnovnih podataka o pacijentu, prikazanih u okviru sekcije 1 na slici 5.6, prikazana je istorija poseta u sekciji 2 kao i predstojeće terapije u sekciji 3. Na vrhu je u sekciji 3 prikazana prva od predstojećih terapija i nju je moguće promeniti ili je pokrenuti na uređaju koristeći kontrole sa desne strane u sekciji 3. Sekcija 4 i 5 pripadaju Menadžeru događaja. U sekciji 4 prikazan je skup aktivnih uređaja na mreži a sekcija 5 prikazuje događaje u sistemu koji uključuju pojavljivanje uređaja na mreži, konfigurisanje uređaja od strane osoblja ili pokretanje i zaustavljanje terapije sa uređaja. Sekcija 4 prikazuje status terapije na uređajima koji se trenutno koriste u laboratoriji. Sekcija 5 prikazuje događaje u sistemu pri čemu se obaveštenja uklanjaju posle određenog vremena. Sekcija 4 i 5 nisu vidljive na ekranu ako nema aktivnih terapija u laboratoriji i događaja u sistemu. Na slici 5.7 prikazana je forma za prikaz podataka o registrovanom uređaju. Pored osnovnih podataka o uređaju u glavnom delu prozora, prikazani su podaci u prethodnim i predstojećim terapijama planiranim za konkretan uređaj.

1 2 4 3 5 Slika 5.6 Prikaz i unos podataka o pacijentima Slika 5.7 Prikaz i unos podataka o uređajima Na slici 5.8a i 5.8b prikazan je deo interfejsa koji omogućava pretragu podataka o pacijentima i registrovanim uređajima na osnovu zadatog pojma za pretragu ili listanje svih dostupnih podataka o pacijentima i uređajima.

a) b) Slika 5.8 Pretraga pacijenata (a) i registrovanih uređaja (b) Zakazivanje Planer terapija (slika 5.9) obezbeđuje kontrole za prikaz kalendara sa listom zakazanih terapija. Na levoj strani prozora prikazana je komponenta kalendara za brzu promenu datuma kao i prečica za brzu pretragu pacijenata. Koristeći drag&drop mehanizam, komponenta sa prikazanim podacima o pacijentu može se prevući na kalendar čime se otvara dijalog za zakazivanje nove terapije (slika 5.10). Najveći deo prozora pripada kalendaru koji obezbeđuje prikaz na nivou dana ili nedelje, navigaciju kao i grafički prikaz zakazanih termina za terapije (slika 5.9). Omogućena je izmena izabranog termina ili terapije u celini kao i brisanje zakazanih terapija (slika 5.9). Slika 5.9 Kontekstni meni pomoću kojeg je moguće promeniti parametre terapije ili pojedinačnih termina

Slika 5.10 Drag&drop funkcionalnost za kreiranje nove terapije Slike 5.11 i 5.12 prikazuju redom dijalog za kreiranje nove terapije kao i prikaz kalendara sa većim brojem zakazanih terapija. Prilikom kreiranja nove terapije moguće je napraviti izbor po danima ili željenom delu dana. Nakon što se u obzir uzme raspoloživost termina i uređaja, na osnovu zadatih kriterijuma predlaže se raspored terapija. Eventualna korekcija može se obaviti u okviru ovog dijaloga. Nakon kreiranja rasporeda terapija, raspored je moguće odštampati a zatim se raspored snima u bazu podataka. Slika 5.11 Forma za kreiranje nove terapije

Slika 5.12 Izgled kalendara sa većim brojem zakazanih terapija Izveštaji U okviru serverske aplikacije realizovan je skup klasa za potrebe kreiranja izveštaja o radu laboratorije. Obezbeđeno je kreiranje izveštaja za izabrane pacijente, obavljene terapije kao i registrovane uređaje. Na slici 5.13 prikazan je jedan od izveštaja koji pokazuje ukupan broj obavljenih terapija za svaki od registrovanih uređaja. Slika 5.13 Grafički prikaz izveštaja o broju izvršenih terapija po uređaju Pomoć Skup klasa iz ovog paketa obezbeđuje sistem pomoći za korisnike aplikacije i ažuriranje softvera (slika 5.14).

Slika 5.14 Automatska provera verzije softvera i mogućnost preuzimanja nove verzije Podešavanje Skupom klasa realizovanim u okviru ovog paketa obezbeđen je unos i čuvanje podešavanja aplikacije. Obezbeđeno je lako dodavanje novih sekcija na levoj strani forme kao i skupa parametara za podešavanje na desnoj strani forme (slika 5.15). Na slikama 5.16 i 5.17 prikazane su redom forme za podešavanje aplikacije a na slici 5.18 forma za podešavanje planera terapija. Slika 5.15 Forma za podešavanje lokacije baze podataka, naziva mreže uređaja i uključivanje podrške za MySQL

Slika 5.16 Podešavanje automatskog pokretanja aplikacije Slika 5.17 Dodavanje korisnika aplikacije sa pridruženim privilegijama

Slika 5.18 Podešavanje radnih, neradnih dana i radnih sati za planer terapija 5.3 Planer terapija Planer terapija realizovan je po principu MVC (Model-View-Controler) modela. Na slici 5.19 prikazan je deo klasnog dijagrama planera terapija. Klasa CalendarNavigation implementira Controler komponentu. Model komponenta predstavljena je klasom Scheduler, a komponenta View realizovana je klasom CalendarView (slika 5.19). Komponenta View implementira grafički prikaz kalendara sa nedeljnim i dnevnim prikazom a preko Controler komponente ažurira stanje Model komponente. Model komponenta koristi interne strukture podataka za efikasnu reprezentaciju i rad sa terapijama i u direktnoj je vezi sa slojem za pristup podacima radi snimanja terapija i preuzimanja liste postojećih terapija. Controler komponenta pored ostalih funkcionalnosti implementira drag-and-drop interfejs ka korisniku.

Slika 5.19 MVC model primenjen u realizaciji planera terapija Razmatrano je nekoliko različitih algoritama za raspoređivanje terapija u okviru planera terapija. S obzirom na to da se rasporedi terapija određuju za svakog pacijenta pojedinačno po redosledu dolaska pacijenata a menjanje već zakazanih termina nije prihvatljivo, algoritam implementiran linearnom pretragom pokazao se zadovoljavajućim za laboratorije male i srednje veličine. Apstrakcijom interfejsa ostavljena je mogućnost da se postojeći algoritam za raspored terapija zameni naprednijim. Uprošćeni algoritam raspoređivanja terapija sa linearnom pretragom prikazan je na slici 5.20. 0 Dok svi termini nisu određeni: o 1 generiši sledeći vremenski slot na osnovu inic. izbora i parametara o 2 proveri dostupnost uređaja za određeni slot o 3 ako je uređaj raspoloživ dodaj slot u listu idi na 0 o 4 inače pokušaj da pronađeš slobodan slot u bližoj okolini o 5 ako je slot pronađen idi na 2 o 6 inače izaberi sledeći dan i isti vremenski slot idi na 2 7 uradi korekciju i snimi raspored Slika 5.20 Uprošćen pseudo-kod algoritma za raspoređivanje terapija

6. Komunikacioni protokol za akviziciju i kontrolu Mrežni protokol za komunikaciju između uređaja za fizikalnu medicinu i serverske aplikacije realizovan je kao protokol aplikativnog nivoa. Protokol implementiraju dve komponente. Jedna je ugrađena u serversku aplikaciju a druga u uređaj (slika 6.1). Slika 6.1 Komponente mrežnog protokola na strani uređaja i serverskoj aplikaciji Za rad projektovanog aplikativnog protokola neophodna je podrška protokola nižih nivoa. Sloj ispod aplikativnog nivoa, čije funkcionalnosti koristi projektovani protokol je transportni nivo. Na transportnom nivou projektovanom aplikativnom protokolu podršku pruža UDP protokol. UDP protokol ne poseduje mogućnost za potvrdu poslatih poruka pa je mehanizam potvrde ugrađen u protokol aplikativnog nivoa. Serverska aplikacija prima poruke na UDP portu 162, a šalje ih na UDP portu 161, dok je kod uređaja obrnuta situacija. Prilikom projektovanja protokola kreirani su i formati poruka koje se šalju sa uređaja i servera. Na slici 6.2 prikazan je izgled poruke protokola. Poruka se sastoji iz sledećih polja: Slika 6.2. Izgled poruke koju šalje uređaj Kod kojim počinje svaka poruka, dužine 3 karaktera, i koje predstavlja kod poruke koju šalje uređaj. Sva tri karaktera su cifre i sve poruke koje šalje uređaj počinju cifrom 1, a poruke koje šalje server počinju cifrom 0. D delimiter dužine jedan karakter. U ovu svrhu se koristi karakter crtica ( - ). ID Uređaja koji je identifikator uređaja, dužine 5 karaktera. Identifikator je definisan tako da je prvi karakter veliko slovo i on predstavlja tip uređaja, dok su 4 cifre broj uređaja. Početna slova imena svakog od medicinskih uređaja za fizikalnu terapiju koji su uključeni u ovaj projekat su uzeti kao tip uređaja. Tako da postoji tip S (Sonoton), M (Magnemed), I (Intermed), V (Vakumed), D (Diaton) i E (Eksposan). ID mreže logički identifikator mrežnog domena. Ovaj identifikator se definiše prilikom instalacije serverske aplikacije. Poruka koje predstavlja sadržaj poruke. Ovo polje nema definisanu maksimalnu dužinu. Protokol ne menja sadržinu ovog polja, već tu samo prosleđuje ono što dobije sa interfejsa. Kraj svaka poruka se završava karakterom #. Prikazane poruke se razmenjuju prilikom komunikacije uređaja i servera.

Na slici 6.3 prikazan je klasni model komponente Mrežnog protokola sa vezama između klasa. Glavna klasa ove komponente je klasa Server koja implementira većinu funkcionalnosti protokola. Slika 6.3 Klasni model Mrežnog protokola Na klasnom dijagramu sa slike 6.3 su prikazani najvažniji članovi ove klase. Od bitnih atributa treba izdvojiti: idmreze predstavlja identifikator mreže. listauredjaja je struktura u kojoj se pamti tabela registrovanih uređaja, i koja je sačinjena od članova klase Uredjaj. listaporukazaretransmisiju je lista poruka na koje se čeka odgovor. Ukoliko poruke na stigne, nakon isteka tajmauta vrši se retransmisija najviše tri puta, nakon čega se poruka izbacuje iz ove liste i kreira se događaj koji se prosleđuje Menadžeru poruka. Najbitnije metode ove klase su: inicijalizujlistuuredjaja() metoda koja se poziva po startovanju protokola, da bi se inicijalizovala listauredjaja. PrimiPoruku() metoda koja se pokreće u posebnoj niti kada se inicijalizuje listauredjaja, koja kreira UDP soket (koristeći sistemsku klasu UdpClient) i neprestano osluškuje na portu 162, čekajući dolazne poruke. Koristi se sinhron način prijema (ova nit je blokirana na naredbi za prijem sve dok ne dođe poruka). Ova metoda kreira događaj porukaprimljena. PosaljiPoruku() ova metoda je rukovalac događajem i vezana je na događaj porukazaslanje. Ona šalje poruku na UDP port 161. ObradiPorukuSaMreze() takođe rukovalac događajem, vezana na događaj porukaprimljena. Ova metoda je jezgro cele klase, sve poruke koje stignu od uređaja obrađuju se u ovoj metodi. Postoji određen tok radnji za svaki kod poruke. Ovde se i

kreiraju neka obaveštenja bitna za komponentu GUI. Kod određenih kodova poruka ova metoda kreira događaje stigaohello, porukazaslanje i porukazainterfejs. AkcijaInterfejsa() ova metoda se poziva iz GUI-a i preko nje se šalju poruke uređajima. Kao argument metode se prosleđuje objekat klase PorukaInterfejs. PromenaStatusaMreze() ova metoda štiti protokol od fizičkog gubitka mreže. I ona je rukovalac događajem, ali je vezan za događaj sistemske klase NetworkChange. NetworkAvailabilityChanged. StigaoHello() metoda rukovalac događajem, vezana na stigaohello. Funkcija koja resetuje tajmer za izbacivanje uređaja koji je poslao HELLO poruku. StigaoOdgovor() metoda koja izbacuje poruku za koju je stigao odgovor iz liste listaporukazaretransmisiju. Na mrežnom nivou podršku pruža IP protokol verzije 4. Uređaji imaju mogućnost statičkog postavljanja IP adrese, ili dinamičkog postavljanja preko DHCP servera. U nedostatku DHCP servera, ako uređaju nije statički zadata IP adresa, implementirana je mogućnost konfiguracije preko zeroconf tehnike, čime uređaj sam sebi dodeljuje neku adresu sa mreže 169.254.0.0/24. Za potrebe aplikacije projektovano je preko 20 scenarija koji su opisani odgovarajućim dijagramima sekvenci. U cilju ilustracije dijagrama sekvence, na slici 6.4 dat je deo dijagrama sekvence u kome je prikazana komunikacija komponente Mrežnog protokola i GUI komponente u scenariju registrovanja uređaja za fizikalnu medicinu na centralizovani sistem. Dijagramom je prikazan uređaj koji se javlja serveru, što znači da je ovo slučaj kada je serverska aplikacija prethodno uključena, a novi uređaj dolazi na mrežu. Uređaj šalje UDP datagram koji kao odredišni port ima port 162. Serverska aplikacija koristeći sistemski klasu UdpClient prima poruku preko metode PrimiPoruku() klase Server. Ova klasa primljenu poruku pakuje u objekat klase PorukaMreza i prosleđuje je kao argument prilikom podizanja događaja porukaprimljena. Metoda PrimiPoruku() nastavlja da sluša na portu za 162 čekajući nove poruke od uređaja. Podignuti događaj je vezan za metodu ObradiPorukuSaMreze(), koja prepoznaje da je stigla poruka sa odgovarajućim kodom itd. Slika 6.4 Dijagram sekvenci za registrovanje uređaja na sistem

Detaljna struktura poruka i performanse rada protokola diskutovani su u okviru tehničkog rešenja Projektovanje i implementacija mrežnog protokola za komunikaciju medicinskih uredaja za fizikalnu terapiju [13]. 7. Reference [1] International Hospital Equipment & Solutions. www.ihe-online.com [2] Wear it well, IEEE Eng Med Biol Mag, 22(3), 2003 [3] R. Kling. Learning About Information Technologies and Social Change: The Contribution of Social Informatics, The Information Society, 16:217 232, 2000 [4] F. Chiarugi, D. Trypakis, M. Spanakis Problems and Solutions for Storing and Sharing Data from Medical Devices in ehealth Applications, 2nd OpenECG Workshop, Berlin, Germany, 2004 [5] M. Galarraga, I. Martínez, P. de Toledo, L. Serrano, J. García, S. Jiménez. Point Of Care Medical Device Communication Standars (ISO11073/IEEE1073) In Patient Telemonitoring EMBEC'05. 3rd European Medical and Biological Engineering Conference. Prague. 2005 [6] Practice Fusion, http://www.practicefusion.com, доступно децембра 2012. [7] ADP AdvancedMD, http://www.advancedmd.com, доступно децембра 2012. [8] Biosoftworld, http://www.biosoftworld.com, доступно децембра 2012. [9] Гугл календар, https://www.google.com/calendar/, доступно децембра 2012. [10] Зохо календар, http://www.zoho.com/calendar/, доступно децембра 2012. [11] Labtronics, http://www.labtronics.com, доступно децембра 2012. [12] https://msdn.microsoft.com/en-us/library/windows/desktop/dn742393(v=vs.85).aspx [13] Vladimir Ciric, Vladimir Simic, Teufik Tokic, Darko Tasic, Emina Milovanovic, Igor Milovanovic, Projektovanje i implementacija mrežnog protokola za komunikaciju medicinskih uredaja za fizikalnu terapiju, Tehnicko rešenje, Elektronski fakultet u Nišu, 2012.