Professional Documents
Culture Documents
INFORMACIONI SISTEM
EVIDENCIJA PACIJENATA
STUDIJ SLUAJA
INFORMACIONI SISTEM
EVIDENCIJA PACIJENATA
STUDIJ SLUAJA
Potpis studenta:
1
1. UVOD
Ovaj rad opisuje projektat izrade web bazirane aplikacije koja e kako je planirano
biti dio informacionog sistema zdravstvene ustanove, pa je radni naziv iste Informacioni
sistem Evidencija pacijenata. Projektni zadatak je dakle izrada same aplikacije koja e
predstavljati interfejs korisnika zdravstvene ustanove preko koga e pristupati sistemu i
vriti rad u istom, ali i interfejs pacijenta koji koristi usluge medicinske ustanove.
Cilj ovog rada svakako jeste tekstualno opisati projektni zadatak, odnosno detaljno
prikazati proceduru izrade jedne aplikacije kao to je ova. Dakle, itav ovaj projektni
zadatak izradu aplikacije posmatramo kao Studij sluaja, a opis realizacije
prikazaemo u ovom pismenom radu. Iako je aplikacija koja je nastala u ovom
projektnom zadatku u stvari konceptovana kao kolski rad sa realizacijom u svrhu
edukacije, ona predstavlja repliku neke realne situacije izrade aplikacije, izraene u
2
stvarnom poslovnom okruenju i u daljem radu emo je posmatrati kao takvu. Zato
Studij sluaja gledamo kao stvarni projekat, a ovaj pismeni rad kao opis toka i
realizacije projekta.
Odmah, u samom startu bilo je potrebno obaviti neke poetne korake, odabrati
odreene softverske alate i tehnologije koji bi se u ovom sluaju mogli primjeniti,
odnosno koji bi zadovoljili neke osnovne zahtjeve, kao to je recimo povezivanje
aplikacije sa bazom podataka, a koji je u sutini bio neophodan da bi jedna ovakva
aplikacija uopte imala smisla i mogla funkcionisati. Obzirom da je program web
orijentisan, kao najbolje rjeenje nametnuo se PHP programski jezik, a MySQL kao
baza koja je kompatibilna i koja se inae u najveem broju sluajeva i koristi u radu sa
PHP-om.
Naravno PHP i MySQL nije dovoljan za rad aplikacije, pa je tako za prikaz stranica
koriten - HTML, onda za ureivanje izgleda stranica CSS. Za neke detalje koje se
tiu prikaza dinamikog sadraja, odnosno zbog potrebe izvravanja odreenih procesa
direktno u browser-u koriten je JS.
Zbog preglednosti i lakeg pisanja koda bilo je potrebno izabrati i jedan od programa sa
kojim bi mogli raditi u svim pobrojanim programskim jezicima, a kao najbolje rjeenje
za ovu svrhu izabran je Dreamweaver. Koriten je Adobe Dreamweaver CC, trenutno
zadnja verzija popularnog softvera. Za izradu nekih grafikih elemenata kao to je logo
koriten je Adobe Photoshop CC.
3
1.4. STRUKTURA RADA
etvrto poglavlje je dio koji se definie kao opis testiranja i odravanja. U ovom dijelu
su opisani naini testiranja ispravnosti unesenog sadraja u bazu, te testiranje rada same
aplikacije i otklanjanje eventualnih nedostataka.
Peto poglavlje Zakljuak, daje generalnu ocjenu o radu, o tome da li je Studij sluaja
uspjeno realizovan.
4
2.1. ZAHTJEVI
Ukoliko bi zamislili stvarnu situaciju poslovnog okruenja u kom projektni tim radi
na kreiranju jedne ovakve aplikacije, zahtjevi prema projektnom timu bi obino bili
usmjereni od klijenata sa kojima se sarauje u proceduri izrade baze podataka, dok bi u
sluaju ovog rada zahtjevi dolazili od predmetnog profesora, odnosno Univerziteta.
Osnovni zahtjev koji se postavlja pred nas bi bio kreirati web baziranu aplikaciju.
5
projektnom timu bi bilo dobro imati nekoga ko aktivno radi u zdravsvenoj ustanovi da
nas upuuje u strukturu.
- Osoblje bolnice
- Pregledi
- Dijagnoze
- Terapije
Ovi poetni entiteti predstavljaju taj temelj na kome e se dalje graditi sistem.
Pacijenti su ti kojima bi ovaj informacioni sistem olakao pristup uslugama medicinske
ustanove. Osoblje bolnice smo podijelili na tri nivoa: doktor, sestra i administrator.
Svaki od ovih nivoa predstavlja radnika medicinske ustanove koji e u svom
svakodnevnom radu koristiti ovaj informacioni sistem. Obzirom da je ovo gruba i
prilino primitivna podjela na tri osnovna nivoa, bilo je potrebno osmisliti koncept
sistema, koji e u daljem svom razvijanju lako omoguiti podjelu na jo dodatnih nivoa
i podnivoa.
Bilo je potrebno kvalitetno preslikati realni sistem u aplikaciju, pratei sa jedne strane
razvoj same aplikacije kroz PHP i to kao objektno orijentisani koncept, te kvalitetno
osmisliti MySql bazu podataka kao relacioni koncept.
6
3.1. PROJEKTOVANJE APLIKACIJE
7
ZahtjevZakaziPregled
ID:
UC01
BRIEF DESCRIPTION:
Slui iniciranju novih zahtjeva za pregled od strane Pacijenta kao aktora..
PRIMARY ACTORS:
Pacijent
SECONDARY ACTORS:
Doktor
PRECONDITIONS:
Pacijent izvrava autorizaciju i autentifikaciju za pristup sistemu putem interneta, na
nain da unosi svoje kredencijale za pristup ISEP-u
MAIN FLOW:
1. Klikom na gumb Zakai pregled pacijent pokree formu za slanje zahtjeva
za pregled,
2. Popunjava sva potrebna polja na formi, meu kojima je i eljeno vrijeme
pregleda, te alje zahtjev.
3. Sistem unosi podatke o zahtjevu u bazu, a podatak biva proslijeen kao
Zadatak Doktoru koji treba da postupi po njemu.
POSTCONDITIONS:
Pacijent klikom na gumb Moji pregledi provjerava status poslatog zahtjeva,
odnosno da li je odobren i u kom terminu je zakazan pregled.
ALTERNATIVE FLOWS:
Ukoliko je pogrijeio prilikom postupka iniciranja zahtjeva pacijent moe ponititi
zahtjev to e inicirati Zadatak za invalidaciju greke koju sistem proslijedi
Administratoru.
Izvor: Vlastiti izvor - program Visual Paradigm
Ovo je detaljna specifikacija jednog use case-a koja prikazuje jedan segment rada
aplikacije.
8
Izvor: Vlastiti izvor - program Visual Paradigm
Class diagram predstavlja okosnicu objektno-orjentisanog modelovanja. Koristi se kako
za uopteno konceptualno modelovanje sistematike aplikacija, tako i za detaljno
prevoenje modela u programski kod. Klase u klasnom dijagamu predstavljaju glavne
objekte, veze u aplikaciji, te klase koje se trebaju programirati.
Ovdje je prikazan CLASS dijagram ISEP-a, u kome vidimo klasu Sajt koja je osnovna
klasa sa kojom su generalizacijom povezani objekti, instance klase:
- objIndex
- objPacijent
- objDoktor
- objSestra
- objAdministrator
Obzirom da smo kroz pismeni rad iz predmeta Baze podataka ve osmislili koncept
baze koja je i realizovana u MS Sql okruenju, to je uveliko pomoglo da se stvori
poetna slika izgleda informacionog sistema i aplikacije koja prati taj sistem. Ipak baza
nije mogla ostati takva kakva jeste nego se prilagoavala i mijenjala u skladu sa
9
izradom aplikacije.
Slika 4 Referentni model baze Evidencija pacijenata izraen za potrebe rada iz predmeta Baze
podataka
Slika 5 ER model Evidencija pacijenata izraen za potrebe rada iz predmeta Baze podataka
10
Izvor: Vlastiti izvor
3.3. KODIRANJE
Prvi osnovni index.php fajl nema puno linija koda.
11
CODE index.php:
<?php
//Ukljuujemo fajlove koje koristimo
include ('meni.php');
include ('tekst.php');
include ('prijava_forma.php');
Inae sav kod koji je upisan je obraen komentarima radi preglednosti, tako da nam je
lako predstaviti situaciju i rei da je bilo potrebno izraditi tri fajla (meni.php, tekst.php,
prijava_forma.php) koji su ukljueni (eng. include) u index.php fajl.
CODE class.sajt.php:
<?php
class sajt {
function sadrzaj ($meni, $tekst, $naslov, $prijava_forma){
include ('index_html.php');
echo $strana;
}
}
?>
Dakle, u fajlu class.sajt.php pa klasi sajt, unutar tijela njene funkcije sadrzaj vidimo
istoimene varijable sa pobrojanim imenima fajlova, te vidimo da postoji i varijabla
$naslov koja ne postoji kao fajl, a razlog za to shvatiemo na kraju objanjenja. Prvo
12
treba rei da su unutar fajlova (meni.php, tekst.php, prijava_forma.php) deklarisane
varijable kojima je kao vrijednost dodjeljen HTML kod. Pa su izmeu ostalog
deklarisane i varijable ($dugmici i $html_prijava), koje vidimo u fajlu index.php, u
instanciranom objektu objIndex, u tijelu njegove funkcije sadrzaj. Ovdje vidimo i jo
dvije varijable, $tekst varijabla koja je istoimena varijabili iz klase sajt i $t varijabla. Sa
ove dvije varijable radimo u kodu u fajlu index.php. Varijabla $t odmah pri deklaraciji
uz pomo $_GET ugraene funkcije prima vrijednost iza string strana iz URL-a.
CODE index_html.php:
<?php
$strana='
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-
8" />
<title>'.$naslov.'</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body class="isep">
<div id="container">
<div id="header">
<center><img src="slike/logo.png" alt="Logo - Informacioni Sistem
Evidencija Pacijenata - ISEP" width="547" height="91"
align="absmiddle" /></center>
</div>
<div id="meni">'.$meni.'</div>
<div id="prijava">'.$prijava_forma.'</div>
<div id="sadrzaj">'.$tekst.'</div>
<br class="clearfloat" />
<div id="footer">
<p>Projekat "Informacioni servis evidencije pacijenata" u
testnoj fazi.</p>
</div>
</div>
';
?>
To, gdje se pojavljuje sadraj odredili smo u fajlu index_html.php, koga smo ukljuili u
13
tijelu klase sajt. Sada vidimo sve varijable u HTML-u, izmeu ostalog i varijablu
$naslov.
Sve ovo na prvo itanje izgleda konfuzno i teko razumljivo. Ipak smo kao krajnji
rezultat dobili jednostavniji dalji rad. Dobili smo jedinstveni ablon web stranice koga
smo definisali klasom koga sada uz par linija koda instancranjem objekata moemo
koristiti bezbroj puta.
U sklopu programa XAMPP nalazi se PhpMyAdmin preko kog smo kreirali MySQL
bazu.
Slika 4 Radno okruenje phpMyAdmin
Zbog toga to smo aplikaciju pisali u objektno orijentisanom konceptu, koristili smo
API-e od MySQLi koncepta, kao novog naina i nove sintakse pisanja MySql-a.
14
CODE MySQLi:
<?php
//Ukljuujemo informacije o bazi podataka
include ('configuration.php');
// Kreiranje konekcije sa bazom
$con = new mysqli($hostname, $db_username, $db_password, $db_name);
// Provjera konekcije sa bazom
if ($con->connect_error) {
die("GREKA prilikom konekcije sa bazom: " . $con->connect_error
. " </br> Pokuajte ponovo. </br>Ukoliko se problem ponavlja
kontaktirajte administratora.");
?>
Dalje moemo pogledati kako je rijeen nain prijave korisnika. Mehanizam za prijavu
korisnika na ISEP rijeen je kroz tri fajla, prijava_forma.php i prijava.php, kao i fajl
odjava.php. U fajlu prijava_forma.php se nalaze varijable koje kao vrijednosti imaju
HTML sadraj forme za prijavu, kao i izgled formi za prijavu nakon prijave korisnika.
Pa tako varijabla html_prijava koju smo odredili da nam bude izgled forme za prijavu
izgleda ovako:
CODE prijava_forma.php:
<?php
$html_prijava='<form method="post" action="prijava.php" >
<h3>Nalog </h3>
<table width="100%" border="0">
<tr>
<td>Korisniko ime</td>
</tr>
<tr>
<td><input type="text" name="userid"></td>
</tr>
<tr>
<td>ifra</td>
</tr>
<tr>
<td><input name="password" type="password"></input></td>
</tr>
</table>
<table width="100%" border="0">
<tr>
<td><input type="submit" value="Potvrdi"/></td>
<td><input type="reset" value="Obrii"/></td>
</tr>
</table>
</form>';?>
15
CODE prijava.php:
<?php//Ukljuujemo informacije o bazi podataka
include ('configuration.php');
//KONEKCIJA SA BAZOM
$con = mysql_connect($hostname,$db_username,$db_password);
if (!$con)
{
die("GREKA prilikom konekcije sa bazom: " . $con-
>connect_error . " </br> Pokuajte ponovo. </br>Ukoliko se problem
ponavlja kontaktirajte administratora.");
}
mysql_select_db($db_name, $con);
16
Kod je prilino dobro prokomentarisan pa se dobro vidi o emu se radi. Ono to bi
mogli naglastiti u ovom dijelu je nain na koji je realizovan zadravanje ulogovanog
korisnika. To je rijeeno sesijom, ali u ovom poetnom fajlu za prijavu smo stavili da
sesija nosi naziv po ulozi korisnika (eng. rola) za varijablu $dbrola, a da se vee za
varijablu $username to je u stvari korisniko ime ulogovanog korisnika. Na ovaj nain
sesija se automatski imenuje prema ulogovanom korisniku, te u skladu sa dozvoljenim
pristupom na drugim stranicama korisnik moe neometano da radi.
Pored PHP-a, u nekim dijelovima aplikacije neophodno je bilo koristiti Java Script, jer
PHP nema mogunost direktnog izvravanja u klijentskom softveru, odnosno browser-
u. Primjer gdje smo morali koristiti JS je dio aplikacije koji treba korisniku prikazati
dananji datum kao podrazumjevani u okviru forme za unos datuma u bazu.
17
CODE style.css:
@charset "utf-8";
/* CSS Document */
body {
font: 100% Verdana, Arial, Helvetica, sans-serif;
background: #000088;
margin: 0; /* it's good practice to zero the margin and
padding of the body element to account for differing browser
defaults */
padding: 0;
text-align: center; /* this centers the container in IE 5*
browsers. The text is then set to the left aligned default in the
#container selector */
color: #000000;
}
.isep #container {
width: 90%; /* this will create a container 80% of the
browser width */
background: #FFFFFF;
margin: 0 auto; /* the auto margins (in conjunction with a
width) center the page */
border: 3px solid #ffffff;
text-align: left; /* this overrides the text-align: center on
the body element. */
}
Za opis stranica koten je CSS i to kao posebna tri fajla style.css, form.css i
style_centralni.css.
Ostatak koda nje mogao obimom stati u ovaj pismeni rad, ali prilikom itanja uputstva o
koritenju aplikacije i itanju dobro postavljenih komentara iz samog koda moe se
razumjeti i funkcionalnost.
3.4. INSTALL.PHP
U ovom dijelu rada bi trebali opisati unos sadraja u bazu, onih podataka koji su
potrebni za poetni rad sistema, a radi se o optim podacima iz ivota koji se ne
mijenjaju nikad, ili ne toliko esto da bi trebala postojati mogunost njihove izmjene ili
brisanja kroz aplikaciju. To su na primjer imena mjeseci, gradova, drava i sl.
18
4. UNAPRJEENJE, TESTIRANJE I ODRAVANJE
Cilj dosadanjeg rada na ovom projektu jeste bio da se postave neki osnovni temelji
u izradi aplikacije, da bi se ista mogla realizovati i u narednom periodu predstaviti kao
Diplomski rad. U sklopu tih aktivnosti spada realizacija izrade aplikacije, njena
realizacija do aplikacije koja e postati iskoristiva i primjenjiva u stvarnom okruenju.
Dakle, aplikacija je trenutno u fazi izrade, kao i stalnog testiranja uraenog.
Ukoliko se uoe neispravnosti u radu, izoluju se dijelovi koda koji se parcijalno ispituju
dok se ne lokalizuje neispravni dio koda i na kraju otkloni problem.
Dalji koncept bie usmjeren prema modelovanju, odnosno posmatranju projekta sistema
kroz module. Moduli e se razvijati odvojeno, kao zasebne cjeline koje e moi koristiti
korisnici sistema, onoliko koliko budu imali dozvola za iste.
19
5. ZAKLJUAK
Kako je naglaeno odmah u poetku ovaj pismeni rad je prikaz realizacije projekta
izrade jedne aplikacije koja ima radni naziv Informacioni sistem
Evidencija_pacijenata.
U radu su postavljeni zahtjevi koje je bilo potrebno ispuniti. Dakle, sadraj i zahtjevi
nam diktiraju odabir naina izrade i primjenjive tehnologije te tok samog pismenog
rada.
Ukoliko uzmemo u obzir sve reeno ovim radom, te aplikaciju koja je kreirana moemo
zakljuiti da je rad realizovan uspjeno i da smo ispunili pred nas postavljene zahtjeve i
oekivanja.
20