UNIVERZITET SINGIDUNUM FAKULTET ZA INFORMATIKU I MENADMENT Beograd, Bulevar Zorana inia 44
Broj: _________ /2010.
Kandidat: Martin ief Broj indeksa: E-III-6210/2008
Smer: Projektovanje i programiranje
Tema: Naziv teme
Zadatak: Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom
Datum odobrenja teme: Beograd, ___.___._____.
MENTOR
_________________ Prof. dr Angelina Njegu
DEKAN
________________________ Prof. dr Mladen Veinovi SADRAJ
1 Uvod ..................................................................................................................... - 1 - 2 Definisanje i analiza zahteva ................................................................................. - 2 - 2.1 Use Case Dijagram ........................................................................................ - 3 - 2.2 Use Case Scenario ......................................................................................... - 4 - 3 Definisanje vizije reenja....................................................................................... - 5 - 4 Idejni (konceptni) projekat .................................................................................... - 6 - 4.1 Dijagram aktivnosti prema obraenom u 2.2 .................................................. - 6 - 4.2 Arhitektura aplikacije .................................................................................... - 7 - 5 Glavni (logiki) projekat ....................................................................................... - 8 - 5.1 Tehnologija ................................................................................................... - 8 - 5.2 Konceptualni model podataka ........................................................................ - 9 - 5.3 Dijagram sekvenci ....................................................................................... - 10 - 5.4 Dijagram kolaboracije ................................................................................. - 11 - 6 Izvoaki (fiziki) projekat.................................................................................. - 12 - 6.1 Dijagram klase............................................................................................. - 12 - 6.2 Dijagram komponenti .................................................................................. - 13 - 6.3 Model uvoenja ........................................................................................... - 14 - 6.4 Sloj prezentacije .......................................................................................... - 15 - 6.5 Projektovanje sloja podataka ....................................................................... - 33 - 7 Zakljuak ............................................................................................................ - 34 - 8 Literatura i koriteni softverski alati .................................................................... - 35 - 9 Prilog .................................................................................................................. - 36 - 9.1 Uskladitene procedure ................................................................................ - 40 - 9.2 Klase kreirane u VB.Net 2008 ..................................................................... - 40 -
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 1 -
Dom zdravlja je javna zdravstvena ustanova koja obavlja zdravstvene delatnosti koje su od posebnog drutvenog interesa.
Dom zdravlja ugovara sa republikim zavodom za zdravstveno osiguranje usluge koje e da prua pacijentima. Usluge koje nisu definisane ugovorom a pruaju se pacijentima spadaju u vanstandardne usluge. Za pruanje tih usluga dom zdravlja mora da dobije saglasnost republikog zavoda za zdravstveno osiguranje. Usluge koje su u ugovoru republiki zavod plaa Domu zdravlja a usluge koje nisu u ugovoru Dom zdravlja naplauje od pacijenata. Pacijentima koji nisu osigurani i inostranim licima usluge se naplauju po cenovniku propisanom od strane republikog zavoda za zdravstveno osiguranje.
1 Uvod Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 2 -
2 Definisanje i analiza zahteva
Napraviti IS elektronskog kartona u Domu zdravlja koji obuhvata obradu podataka :
- podaci o pacijentu ( generalije, mesto stanovanja ) - podaci o zdravstvenom kartonu ( anamneza, dijagnoza, terapija, pruene usluge, laboratorijske analize ).
Prikupljanje podataka o pacijentima, pravljenje elektronske evidencije pacijenta.
Podatke o pruenim uslugama prikuplja sluba za statistiku.
Vrednost pruenih usluga prikuplja finansijska sluba u domu zdravlja.
Podatke o obimu pruenih usluga prikuplja sluba plana i analize.
Integracija informacionog sistema sa postojeim informacionim sistemom u laboratorijskoj slubi. Razvojni tim informacionog sistema u laboratorijskoj slubi je kao vezu sa informacionim sistemom u Domu Zdravlja kreirao tri tabele u bazi podataka. Baza podataka razvijena je u SyBase.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 3 -
2.1 Use Case Dijagram
Kroz dati Use Case dijagram se vide procesi koji se odvijaju kao i akteri koji su ukljueni u rad. U daljem razmatranju, detaljnije e se obraditi proces upisa podataka u E Karton kod osiguranika osiguranih u republikom zavodu za zdravstveno osiguranje.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 4 -
2.2 Use Case Scenario Upis podataka u E Karton
Pri upisu podataka u E Karton se deava sledei scenarij:
Naziv use case-a: Upis podataka u E Karton Primarni uasnik: Pacijent Sekundarni uesnik: Lekar, medicinska sestra Opis use case-a: Ovaj scenario poinje dolaskom pacijenta sa namerom da mu se prui zdravstvena zatita ( usluga ). Medicinska sestra proverava identitet pacijenta pomou line karte i zdravstvene knjiice, proverava da li pacijent ima otvoren E karton, ako nema otvara ga i pacijenta prima lekar. Pacijentu se posle pruanja usluga tampaju, ako ima, obrasci ( recepti ...) Preduslov: Da pacijent ima vaeu linu kartu i zdravstvenu knjiicu Triger: Dolazak pacijenta Osnovni scenario: 1. Provera identiteta pacijenta uz pomo line karte i zdravstvene knjiice 2. Pretraga u bazi i ako nema otvaranje E Kartona pacijenta koji ima nameru da mu se prui zdravstvena zatita. 3. Pruanje usluga pacijentu 4. tampanje obrazaca ( recepata .. ) 5. Pacijent odlazi Alternativna scenarija: Prvi: Pacijent nema vaeu linu kartu ili zdravstvenu knjiicu, pacijent odlazi. Drugi: Pacijent eli da mu usluge prui drugi lekar ( koji nije njegov, pacijent ga nije izabrao ) mora da eka, pacijent odlazi.
Post uslov: Pacijentu je pruena usluga
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 5 -
Postojee stanje predstavlja voenje evidencije kartona pacijenata u pisanim dokumentima ( papirni karton ).
Osnovni problem je to ne postoji elektronsko voenje elektronskog kartona koje bi povealo kontrolu i lako generisanje izvetaja.
Od korisnika (operatera) se oekuje osnovno poznavanje rada sa kompjuterom iako ne bi bilo na odmet da isti poseduju ECDL diplomu.
Cilj ovog projekta je da se uvede elektronska evidencija elektronskih kartona, kao i bolja kontrola celog procesa.
Za realizaciju projekta je potrebno potpuno ukljuenje medicinskog osoblja, finansijske slube, slube za statistiku, slube plana i analize u proces projektovanja radi prikupljanja svih relevantnih podataka o podacima i procesima koji se odvijaju u radu.
Postoji rizik da nedovoljno obuena i neiskusana osoba pri intervjuisanju i projektovanju modela da nepotpune i to je gore i netane podatke ime se dovodi u pitanje osnovni koncept budueg IS. 3 Definisanje vizije reenja Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 6 -
4.1 Dijagram aktivnosti prema obraenom u 2.2
Dijagram prikazuje aktivnosti koje se dogaaju pri odvijanju Use Case-a detaljnije opisanog u taci 2.2
4 Idejni (konceptni) projekat Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 7 -
4.2 Arhitektura aplikacije
Pri opredeljivanju za arhitekturu aplikacije polazilo se od informacionih potreba na samoj lokaciji i postojeih tehnikih reenja.
Reenje se svodi na formiranje lokalne mree (LAN) koja u svom sklopu sadri Microsoft SQL server, klijentskih maina koliko je potrebno, pasivnu i potrebnu aktivnu opremu zavisno od tehnikih mogunosti za razmenu podataka.
Odluio sam da arhitektura aplikacije bude troslojna.
Troslojna arhitektura predstavlja osnovi model za izradu aplikacija. Ona podrazumeva da se aplikacija sastoji od tri sloja:
Prezentacionog sloja (presentation layer) - ovaj sloj sadri objekte korisnikog interfejsa (forme za pregled, unos, izmenu, brisanje podataka)
Sloja poslovne logike (buisness logic layer) - ovaj sloj obavlja obradu podataka i sadri kljune objekte koji sinhronizuju procese prezentacionog i sloja podataka
Sloja podataka (data layer) - ovaj sloj ine objekti za komunikaciju sa bazama podataka, tj. sistemom za upravljanje bazama podataka
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 8 -
5.1 Tehnologija
Posmatrajui rairenost podrke i korienja MS Windows operativnog sistema i ubrzanog razvoja DOTNET tehnologije, Microsoft SQL server reenja za bazu i Visual Studija sa naprednim alatima za razvoj aplikacija, izbor ovih tehnologija se namee kao najisplativiji u smislu razvoja i daljeg odravanja.
Pored reenog, treba biti pripravan na mogua odstupanja zbog ega treba dobro izanalizirati postojee stanje informatike opreme i njenu mogunost da prate nove tehnologije.
5 Glavni (logiki) projekat Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 9 - 5.2 Konceptualni model podataka
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 10 -
5.3 Dijagaram sekvenci
Postojei dijagram pokazuje sekvencijalnu komunikaciju izmeu objekata kroz koji moemo odrediti redosled sekvenci u sledu dogaaja.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 11 -
5.4 Dijagram kolaboracije
Dijagram kolaboracije predstavlja drugi oblik prikaza komunikacije meu objektima to se vidi i na dijagramu sekvenci.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 12 -
6 Izvoaki (fiziki) projekat 6.1 Dijagram klase
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 13 -
6.2 Dijagram komponenti
Kroz prikazani dijagram komponenti se moe videti da je primenjena troslojna arhitektura.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 14 -
6.3 Model uvoenja
Model uvoenja treba da nam da do znanja o kojim sve elementima sistema treba da vodimo rauna zavisno od potreba i uslova koji su postavljeni pred projektante informacionog sistema.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 15 -
6.4 Sloj prezentacije
Ulazna maska
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 16 -
Pretraivanje pacijenata
Pretraivanje pacijenata je omogueno preko pet ponuenih polja.
Ako pacijent nema otvoren E Karton ponuena je opcija Otvaranje novog kartona.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 17 -
Otvaranje E Kartona se vri unosom podataka o pacijentu, obavezna polja su oznaena crvenom zvezdicom.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 18 -
Kada se otvori E Karton mogue je samo promeniti podatke i upisati podate sa pregleda.
Unos podataka o poseti pacijenta lekaru
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 19 -
Kod unosa podataka unosi se anamneza, dijagnoza terapija i komentar nisu obavezni.
Prilikom izbora terapije, biraju se lekovi koji su na listi RZZO ( Republiki zavod za zdravstveno osiguranje) i koji nisu na listi RZZO. Lekovi koji su na listi RZZO izdaju se na teret RZZO.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 20 -
Izborom terapije unose se podaci o izdavanju leka.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 21 -
Ako se pacijentu otvara bolovanje potrebno je evidentirati u E Karton.
Bira se datum otvaranja bolovanja.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 22 -
Ako je potrebno pacijentu uraditi neke analize u laboratoriji, unosimo podatke u E LabUput.
Mogunost izbora prioriteta pacijenta ( normalno, urgentno, najbre to moe ) i datuma zakazivanja u laboratoriji.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 23 -
Pregled broja pacijenta zakazanih u laboratoriji po datumu.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 24 -
Unos podataka u E Fakturu
Posle unosa podataka u E Karton unose se podaci u E Fakturu tj. usluge koje su pruene pacijentu.
Pretraivanje MKB ( meunarodna klasifikacija bolesti )
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 25 -
ifrarnik usluga RZZO koje se mogu fakturisati prema RZZO, sa detaljima usluga.
Detalji usluge tj. ta usluga obuhvata.
Tip usluge tj. ta je dovelo do dolaska pacijenta.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 26 -
Ishod leenja pacijenta.
Sanitetski materijal i lekovi.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 27 -
Pregled podataka o prethodnim posetama pacijenta
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 28 -
Elektronsko fakturisanje usluga pacijenata koji nemaju otvoren E Karton
Izborom jednog od tri ponuena naina unos faktura, fakturiu se usluge.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 29 -
Izvetaji
Izvetaj usluga koje se fakturiu prema RZZO.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 30 -
Izvetaj usluga koje se nefakturiu prema RZZO, izvetaji koji se alju u Institu za javno zdravlje.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 31 -
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 32 -
Izvetaj pacijenata koji imaju otvoreno bolovanje.
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 33 -
6.5 Projektovanje sloja podataka
Na predhodnom dijagramu je prikazan fiziki model baze podataka .
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 34 -
Objektno orjentisana analiza i dizajn omoguavaju svim uesnicima u razvoju aplikacije da na jednostavan i sveobuhvatan nain steknu uvid u analizu i implementaciju konkretnog problema.
Vizuelno modelovanje je nain razmiljanja o problemima pri kome se koriste modeli zasnovani na idejama iz realnog sveta. Modelovanje omoguava bolje razumevanje zahteva, bolji dizaj.
Ovako dizajniran informacioni sistem zadovoljava potrebe koje se postavljaju pred E Karton i daje jednu novu dimenziju u radu sa ovim podacima.
7 Zakljuak Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 35 -
1. VB.Net 2008 Express Edition 2. Microsoft SQL server 2008
8 Literatura i koriteni softverski alati Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 36 -
tampanje E kartona
9 Prilog Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 37 -
9.1 Ugnjedene procedure (stored procedures)
Ugnjedena procedura za pretraivanje pacijenata za fakturisanje
USE [ RI L] GO / ****** Obj ect : St or edPr ocedur e [ dbo] . [ baf er ol i ca] Scr i pt Dat e: 03/ 13/ 2010 15: 59: 36 ******/ SET ANSI _NULLS ON GO SET QUOTED_I DENTI FI ER ON GO ALTER PROCEDURE [ dbo] . [ baf er ol i ca] @j mbg Nvar char ( 1300) = NULL, @i me nvar char ( 1000) = NULL, @pr ezi me nvar char ( 1000) = NULL, @l bo nvar char ( 1000) = NULL AS
decl ar e @upi t nvar char ( max)
set @upi t = ' SELECT * FROM baf er ol WHERE si f r a<>0'
i f @j mbg<>' ' set @upi t = @upi t +' AND j mbg = ' ' ' + @j mbg + ' ' ' '
i f @i me<>' ' set @upi t = @upi t +' AND i me l i ke ' ' ' + @i me + ' %' ' '
i f @pr ezi me<>' ' set @upi t = @upi t +' AND pr ezi me l i ke N' ' ' + @pr ezi me + ' %' ' '
i f @l bo<>' ' set @upi t = @upi t +' AND l bo = ' ' ' + @l bo + ' ' ' '
EXEC( @upi t )
Ugnjedena procedura za prikazivanje podataka u e kartonu za pacijenta sa poslednjeg upisa
USE [ RI L] GO / ****** Obj ect : St or edPr ocedur e [ dbo] . [ Vr at i _e_kar t on_podat ke_sa_posl ednj eg_l ecenj a_sve_dat ume] Scr i pt Dat e: 03/ 13/ 2010 16: 00: 28 ******/ SET ANSI _NULLS ON GO SET QUOTED_I DENTI FI ER ON GO
ALTER PROCEDURE [ dbo] . [ Vr at i _e_kar t on_podat ke_sa_posl ednj eg_l ecenj a_sve_dat ume] @si f r a_paci j ent a Nvar char ( 1300) = NULL as SELECT Paci j ent Dol azak. dat umdol aska, Paci j ent Dol azak. sl uzba, Paci j ent Dol azak. vr emedol aska, Paci j ent Do l azak. nazi vsl uzbe, Paci j ent Dol azak. i d, Paci j ent Dol azak. Si f r a_di j agnoza, l ekar pr i mar . i d_l ekar FROM Paci j ent Dol azak I NNER J OI N l ekar pr i mar ON Paci j ent Dol azak. or di ni r aj uci l ekar =l ekar pr i mar . si f r al ekar a WHERE Paci j ent Dol azak. si f r apaci j ent a=@si f r a_paci j ent a ORDER BY Paci j ent Dol azak. dat umdol aska DESC, Paci j ent Dol azak. vr emedol aska DESC
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 38 -
Ugnjedena procedura koja vraa ishod leenja za izabranu uslugu
USE [ RI L] GO / ****** Obj ect : St or edPr ocedur e [ dbo] . [ Vr at i _i shod_l ecenj a_za_usl ugu] Scr i pt Dat e: 03/ 13/ 2010 16: 01: 15 ******/ SET ANSI _NULLS ON GO SET QUOTED_I DENTI FI ER ON GO
ALTER PROCEDURE [ dbo] . [ Vr at i _i shod_l ecenj a_za_usl ugu] @si f r ausl uge Nvar char ( 1300) = NULL as SELECT i shod_l ecenj a. * FROM usl ugar zzo I NNER J OI N usl uga_i shod ON usl ugar zzo. si f r ausl uga=usl uga_i shod. si f r a_usl uga I NNER J OI N i shod_l ecenj a ON i shod_l ecenj a. si f r a=usl uga_i shod. si f r a_i shoda WHERE usl uga_i shod. si f r a_usl uga=@si f r ausl uge AND i shod_l ecenj a. vazi _do i s nul l AND usl ugar zzo. i ma_i shod=' 1' AND usl ugar zzo. vazi _do i s nul l
Ugnjedena procedura koja vraa podatke o lekaru
USE [ RI L] GO / ****** Obj ect : St or edPr ocedur e [ dbo] . [ Vr at i _t r azenog_l ekar a] Scr i pt Dat e: 03/ 13/ 2010 16: 02: 01 ******/ SET ANSI _NULLS ON GO SET QUOTED_I DENTI FI ER ON GO ALTER PROCEDURE [ dbo] . [ Vr at i _t r azenog_l ekar a] @si f r al ekar a nvar char ( 300) = NULL AS
SELECT * FROM l ekar pr i mar I NNER J OI N sl ekar ON l ekar pr i mar . i d_l ekar =sl ekar . i d_l ekar WHERE l ekar pr i mar . si f r al ekar a=@si f r al ekar a AND sl ekar . dat umv i s nul l
Ugnjedena procedura koja proverava izdavanje leka na recept, proverava se dijagnoza i godine pacijenta, jer se neki lekovi izdaju na posebne dijagnoze i starost pacijenta je ograniavajua komponetna kod izdavanja leka.
USE [ RI L] GO / ****** Obj ect : St or edPr ocedur e [ dbo] . [ Pr over i _l ek_di j agnozu_godi ne] Scr i pt Dat e: 03/ 13/ 2010 16: 03: 24 ******/ SET ANSI _NULLS ON GO SET QUOTED_I DENTI FI ER ON GO
ALTER PROCEDURE [ dbo] . [ Pr over i _l ek_di j agnozu_godi ne] @i d_l eka i nt , @godi nepaci j ent a i nt , @r edni br oj i nt
AS
SELECT * FROM sLekLudKar t on WHERE Redni Br oj =@r edni br oj And ( ( Godi neOd<=@godi nepaci j ent a And godi nedo>=@godi nepaci j ent a And i d_l ek=@i d_l eka) Or ( godi neod<=@godi nepaci j ent a And godi nedo=0 And i d_l ek=@i d_l eka) )
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 39 - Ugnjedena procedura koja proverava da li je zdravstvena knjiica ponitena.
USE [ RI L] GO / ****** Obj ect : St or edPr ocedur e [ dbo] . [ Pr over i _da_l i _j e_knj i zi ca_poni st ena] Scr i pt Dat e: 03/ 13/ 2010 16: 04: 23 ******/ SET ANSI _NULLS ON GO SET QUOTED_I DENTI FI ER ON GO
ALTER PROCEDURE [ dbo] . [ Pr over i _da_l i _j e_knj i zi ca_poni st ena] @br oj knj i zi ce Nvar char ( 1300) = NULL as SELECT * FROM Poni st eneKnj i zi ce WHERE Br oj Knj i zi ce=@br oj knj i zi ce
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 40 - 9.2 Klase kreirane u VB.Net 2008
Klasa koja proverava ispravnost broja zdravstvene knjiice.
Publ i c Cl ass Pr over i _bzk
Publ i c Funct i on Pr over i _bzk( ByVal bzk As St r i ng) As Bool ean
' OVO SU PARNI ****************************************** Di mpr vi As St r i ng Di mdr ugi As St r i ng Di mt r eci As St r i ng Di mcet vr t i As St r i ng Di mpet i As St r i ng
Di mpr vi _posl e As I nt eger Di mdr ugi _posl e As I nt eger Di mt r eci _posl e As I nt eger Di mcet vr t i _posl e As I nt eger Di mpet i _posl e As I nt eger
pr vi = Mi d( bzk, 2, 1) * 2
I f pr vi . Lengt h = 2 Then pr vi _posl e = CI nt ( Mi d( pr vi , 1, 1) ) + CI nt ( Mi d( pr vi , 2, 1) ) El se pr vi _posl e = pr vi End I f
dr ugi = Mi d( bzk, 4, 1) * 2
I f dr ugi . Lengt h = 2 Then dr ugi _posl e = CI nt ( Mi d( dr ugi , 1, 1) ) + CI nt ( Mi d( dr ugi , 2, 1) ) El se dr ugi _posl e = dr ugi End I f
t r eci = Mi d( bzk, 6, 1) * 2
I f t r eci . Lengt h = 2 Then t r eci _posl e = CI nt ( Mi d( t r eci , 1, 1) ) + CI nt ( Mi d( t r eci , 2, 1) ) El se t r eci _posl e = t r eci End I f
cet vr t i = Mi d( bzk, 8, 1) * 2
I f cet vr t i . Lengt h = 2 Then cet vr t i _posl e = CI nt ( Mi d( cet vr t i , 1, 1) ) + CI nt ( Mi d( cet vr t i , 2, 1) ) El se cet vr t i _posl e = cet vr t i End I f
pet i = Mi d( bzk, 10, 1) * 2
I f pet i . Lengt h = 2 Then pet i _posl e = CI nt ( Mi d( pet i , 1, 1) ) + CI nt ( Mi d( pet i , 2, 1) ) El se pet i _posl e = pet i End I f ' KRAJ OVO SU PARNI ******************************************
' OVO SU NEPARNI ********************************************* Di mpr vi _nepar ni As I nt eger Di mdr ugi _nepar ni As I nt eger Di mt r eci _nepar ni As I nt eger Di mcet vr t i _nepar ni As I nt eger Di mpet i _nepar ni As I nt eger Di msest i _nepar ni As I nt eger
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 41 - pr vi _nepar ni = Mi d( bzk, 1, 1) dr ugi _nepar ni = Mi d( bzk, 3, 1) t r eci _nepar ni = Mi d( bzk, 5, 1) cet vr t i _nepar ni = Mi d( bzk, 7, 1) pet i _nepar ni = Mi d( bzk, 9, 1) sest i _nepar ni = Mi d( bzk, 11, 1) ' KRAJ OVO SU NEPARNI *********************************************
Di mzbi r As I nt eger Di mposl e_mod As I nt eger
zbi r = pr vi _posl e + dr ugi _posl e + t r eci _posl e + cet vr t i _posl e + pet i _posl e + pr vi _nepar ni + dr ugi _nepar ni + t r eci _nepar ni + cet vr t i _nepar ni + pet i _nepar ni + sest i _nepar ni
posl e_mod = zbi r Mod 10
I f posl e_mod = 0 Then Ret ur n Tr ue El se Ret ur n Fal se End I f
End Funct i on
End Cl ass
Klasa za pretraivanje pacijenata za fakturisanje
I mpor t s Syst em. Thr eadi ng I mpor t s Syst em. Gl obal i zat i on Publ i c Cl ass Pr onadj i _paci j ent a_za_f akt ur i sanj e
Publ i c Funct i on Pr onadj i _paci j ent a_za_f akt ur i sanj e( ByVal j mbg As St r i ng, ByVal i me As St r i ng, ByVal pr ezi me As St r i ng, ByVal l bo As St r i ng) As Dat aSet
Thr ead. Cur r ent Thr ead. Cur r ent Cul t ur e = New Cul t ur eI nf o( " en- US" , Fal se) Thr ead. Cur r ent Thr ead. Cur r ent Cul t ur e. Dat eTi meFor mat . Shor t Dat ePat t er n = " MM/ dd/ yyyy"
Di mcon As New konekci j a con. con. Open( )
Di mcmd As New Sql Cl i ent . Sql Command( " baf er ol i ca" , con. con) cmd. CommandType = CommandType. St or edPr ocedur e
Di mj mbg_p As New Sql Cl i ent . Sql Par amet er ( " @j mbg" , Sql DbType. NVar Char , 1300) j mbg_p. Val ue = Tr i m( j mbg) cmd. Par amet er s. Add( j mbg_p)
Di mi me_p As New Sql Cl i ent . Sql Par amet er ( " @i me" , Sql DbType. NVar Char , 1300) i me_p. Val ue = Tr i m( i me) cmd. Par amet er s. Add( i me_p)
Di mpr ezi me_p As New Sql Cl i ent . Sql Par amet er ( " @pr ezi me" , Sql DbType. NVar Char , 1300) pr ezi me_p. Val ue = Tr i m( pr ezi me) cmd. Par amet er s. Add( pr ezi me_p)
Di ml bo_p As New Sql Cl i ent . Sql Par amet er ( " @l bo" , Sql DbType. NVar Char , 1300) l bo_p. Val ue = Tr i m( l bo) cmd. Par amet er s. Add( l bo_p)
Di madapt er As New Sql Cl i ent . Sql Dat aAdapt er ( cmd) Di mds As New Dat aSet adapt er . Fi l l ( ds, " paci j ent i " ) con. con. Cl ose( )
Ret ur n ds
End Funct i on
End Cl ass
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 42 - Klasa za prikazivanje podataka u e kartonu za pacijenta sa poslednjeg upisa
I mpor t s Syst em. Thr eadi ng I mpor t s Syst em. Gl obal i zat i on Publ i c Cl ass Vr at i _e_kar t on_podat ke_sa_posl ednj eg_l ecenj a_sve_dat ume Publ i c Funct i on Vr at i _e_kar t on_podat ke_sa_posl ednj eg_l ecenj a_sve_dat ume( ByVal si f r a_paci j ent a As St r i ng) As Dat aSet
Thr ead. Cur r ent Thr ead. Cur r ent Cul t ur e = New Cul t ur eI nf o( " en- US" , Fal se) Thr ead. Cur r ent Thr ead. Cur r ent Cul t ur e. Dat eTi meFor mat . Shor t Dat ePat t er n = " MM/ dd/ yyyy"
Di mcon As New konekci j a con. con. Open( )
Di mcmd As New Sql Cl i ent . Sql Command( " Vr at i _e_kar t on_podat ke_sa_posl ednj eg_l ecenj a_sve_dat ume" , con. con) cmd. CommandType = CommandType. St or edPr ocedur e
Di msi f r a_paci j ent a_p As New Sql Cl i ent . Sql Par amet er ( " @si f r a_paci j ent a" , Sql DbType. NVar Char , 1300) si f r a_paci j ent a_p. Val ue = Tr i m( si f r a_paci j ent a) cmd. Par amet er s. Add( si f r a_paci j ent a_p)
Di madapt er As New Sql Cl i ent . Sql Dat aAdapt er ( cmd) Di mds As New Dat aSet adapt er . Fi l l ( ds, " paci j ent " ) con. con. Cl ose( )
Ret ur n ds
End Funct i on End Cl ass
Klasa koja vraa ishod leenja za izabranu uslugu
I mpor t s Syst em. Thr eadi ng I mpor t s Syst em. Gl obal i zat i on Publ i c Cl ass Vr at i _i shod_l ecenj a_za_usl ugu Publ i c Funct i on Vr at i _i shod_l ecenj a_za_usl ugu( ByVal si f r a_usl uge As St r i ng) As Dat aSet
Thr ead. Cur r ent Thr ead. Cur r ent Cul t ur e = New Cul t ur eI nf o( " en- US" , Fal se)
Thr ead. Cur r ent Thr ead. Cur r ent Cul t ur e. Dat eTi meFor mat . Shor t Dat ePat t er n = " MM/ dd/ yyyy"
Di mcon As New konekci j a con. con. Open( )
Di mcmd As New Sql Cl i ent . Sql Command( " Vr at i _i shod_l ecenj a_za_usl ugu" , con. con) cmd. CommandType = CommandType. St or edPr ocedur e
Di msi f r a_p As New Sql Cl i ent . Sql Par amet er ( " @si f r ausl uge" , Sql DbType. NVar Char , 1300) si f r a_p. Val ue = Tr i m( si f r a_usl uge) cmd. Par amet er s. Add( si f r a_p)
Di madapt er As New Sql Cl i ent . Sql Dat aAdapt er ( cmd) Di mds As New Dat aSet adapt er . Fi l l ( ds, " i shod" ) con. con. Cl ose( )
Ret ur n ds
End Funct i on End Cl ass
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 43 - Klasa koja vraa podatke o lekaru
I mpor t s Syst em. Thr eadi ng I mpor t s Syst em. Gl obal i zat i on Publ i c Cl ass Vr at i _t r azenog_l ekar a
Publ i c Funct i on Vr at i _t r azenog_l ekar a( ByVal si f r al ekar a As St r i ng) As Dat aSet
Thr ead. Cur r ent Thr ead. Cur r ent Cul t ur e = New Cul t ur eI nf o( " en- US" , Fal se) Thr ead. Cur r ent Thr ead. Cur r ent Cul t ur e. Dat eTi meFor mat . Shor t Dat ePat t er n = " MM/ dd/ yyyy"
Di mcon As New konekci j a con. con. Open( )
Di mcmd As New Sql Cl i ent . Sql Command( " Vr at i _t r azenog_l ekar a" , con. con) cmd. CommandType = CommandType. St or edPr ocedur e
Di msi f r a_p As New Sql Cl i ent . Sql Par amet er ( " @si f r al ekar a" , Sql DbType. NVar Char , 1300) si f r a_p. Val ue = Tr i m( si f r al ekar a) cmd. Par amet er s. Add( si f r a_p)
Di madapt er As New Sql Cl i ent . Sql Dat aAdapt er ( cmd) Di mds As New Dat aSet adapt er . Fi l l ( ds, " l ekar " ) con. con. Cl ose( )
Ret ur n ds
End Funct i on End Cl ass
Klasa koja proverava izdavanje leka na recept, proverava se dijagnoza i godine pacijenta, jer se neki lekovi izdaju na posebne dijagnoze i starost pacijenta je ograniavajua komponetna kod izdavanja leka.
I mpor t s Syst em. Thr eadi ng I mpor t s Syst em. Gl obal i zat i on Publ i c Cl ass Pr over i _l ek_di j agnozu_godi ne Publ i c Funct i on Pr over i _l ek_di j agnozu_godi ne( ByVal i d_l eka As I nt eger , ByVal godi nepaci j ent a As I nt eger , ByVal r edni br oj As I nt eger ) As Dat aSet
Thr ead. Cur r ent Thr ead. Cur r ent Cul t ur e = New Cul t ur eI nf o( " en- US" , Fal se)
Thr ead. Cur r ent Thr ead. Cur r ent Cul t ur e. Dat eTi meFor mat . Shor t Dat ePat t er n = " MM/ dd/ yyyy"
Di mcon As New konekci j a con. con. Open( )
Di mcmd As New Sql Cl i ent . Sql Command( " Pr over i _l ek_di j agnozu_godi ne" , con. con) cmd. CommandType = CommandType. St or edPr ocedur e
Di mi d_l eka_p As New Sql Cl i ent . Sql Par amet er ( " @i d_l eka" , Sql DbType. I nt , 1300) i d_l eka_p. Val ue = Tr i m( i d_l eka) cmd. Par amet er s. Add( i d_l eka_p)
Di mgodi nepaci j ent a_p As New Sql Cl i ent . Sql Par amet er ( " @godi nepaci j ent a" , Sql DbType. I nt , 1300) godi nepaci j ent a_p. Val ue = Tr i m( godi nepaci j ent a) cmd. Par amet er s. Add( godi nepaci j ent a_p)
Di mr edni br oj _p As New Sql Cl i ent . Sql Par amet er ( " @r edni br oj " , Sql DbType. I nt , 1300) r edni br oj _p. Val ue = Tr i m( r edni br oj ) cmd. Par amet er s. Add( r edni br oj _p)
Di madapt er As New Sql Cl i ent . Sql Dat aAdapt er ( cmd) Di mds As New Dat aSet adapt er . Fi l l ( ds, " godi ne" ) con. con. Cl ose( )
Ret ur n ds
End Funct i on End Cl ass
Martin ief Projektovanje IS elektronskog kartona u Domu zdravlja UML metodom - 44 -
Klasa koja vraa rezultate analiza u laboratoriji, konekcija na laboratorijski informacioni sistem (LIS)
Publ i c Cl ass Vr at i _sve_r ezul t at e_anal i za_l ab_za_paci j ent a Publ i c Funct i on Vr at i _sve_r ezul t at e_anal i za_l ab_za_paci j ent a( ByVal si f r a As I nt eger ) As Dat aSet
Thr ead. Cur r ent Thr ead. Cur r ent Cul t ur e = New Cul t ur eI nf o( " en- US" , Fal se)
Thr ead. Cur r ent Thr ead. Cur r ent Cul t ur e. Dat eTi meFor mat . Shor t Dat ePat t er n = " MM/ dd/ yyyy"
Di mkonekci j a_sybase As New Konekci j a_SyBase
konekci j a_sybase. konekci j a. Open( ) Di mcmd As New Advant age. Dat a. Pr ovi der . AdsCommand( " SELECT DI STI NCT l abor der header . ORDERI D, l abor der header . admi ssi ondat e, l abor der header . r equest or i d, l abor der header . r equest or descr , l abr e sul t . r esul t dat e FROM l abor der header I NNER J OI N l abr esul t ON l abor der header . or der i d=l abr esul t . or der i d WHERE l abor der header . pat i ent i d=" & si f r a & " ORDER BY l abr esul t . r esul t dat e DESC" , konekci j a_sybase. konekci j a) Di madapt er As New Advant age. Dat a. Pr ovi der . AdsDat aAdapt er ( cmd) Di mds As New Dat aSet adapt er . Fi l l ( ds, " r ezul t at i " ) konekci j a_sybase. konekci j a. Cl ose( )