E-ZDRAVSTVO WEB APLIKACIJA U ASP.NET-U

Similar documents
Bactrim sirup doziranje

HRVATSKE KNJIŽNICE NA DRUŠTVENOJ MREŽI FACEBOOK CROATIAN LIBRARIES ON FACEBOOK

CSYSTEMS PROGRAMSKI PAKET ZA KNJIGOVODSTVO

BROJLER. Specifikacije ishrane. An Aviagen Brand

Karakteristike bar kodova iz tehničkog i dizajnerskog aspekta

Projektovanje IS. Čvorovi Šabloni Dinamika u UML-u

D I P L O M S K I R A D

THE STEEL DETAILER SolidWorks 2016 INSTALLATION PROCEDURE

CO C K T A I L M E N U

OPEN SOURCE PROJECT :: BAST

Projekt doedukacije i specijalizacije iz obiteljske medicine u Makedoniji

Prelomna tačka rentabiliteta. LOGO 2002 Prentice Hall Business Publishing, Introduction to Management Accounting 12/e, Horngren/Sundem/Stratton

CJENOVNIK USLUGA. 11.maj 2018.

THE STEEL DETAILER SolidWorks 2015 INSTALLATION PROCEDURE

Darko Šaponja

SVEUČILIŠTE U ZAGREBU FILOZOFSKI FAKULTET ODSJEK ZA INFORMACIJSKE ZNANOSTI Ak. god 2015./2016.

Ultima korisničko uputstvo Ultima Fiskalna kasa. Korisničko Uputstvo. Copyright 2012, HCP d.o.o

IMPROVEMENT OF SUNFLOWER FOR CONSUMPTION. Dijana DIJANOVIĆ, Vesna STANKOVIĆ, and Ivan MIHAJLOVIĆ

KOMUNIKACIJA PUTEM DRUŠTVENIH MREŢA NA PRIMJERU PODUZEĆA NAPRIJED D.O.O.

SVEUČILIŠTE U RIJECI FILOZOFSKI FAKULTET

RODITELJSKO JATO ROSS 308. Specifikacije Ishrane. An Aviagen Brand

CONVECTIVE DRYING OF THE ROOT AND LEAVES OF THE PARSLEY AND CELERY

ZOTERO PROGRAM OTVORENOG KODA ZA UPRAVLJANJE BIBLIOGRAFSKIM BILJEŠKAMA ZOTERO OPEN SOURCE SOFTWARE FOR MANAGING THE BIBLIOGRAPHIC REFERENCES

DIFFERENT STERILIZATION METHODS FOR OVERCOMING INTERNAL BACTERIAL INFECTION IN SUNFLOWER SEEDS

METODE ZA OTKRIVANJE PROMJENA KOD DALJINSKIH ISTRAŽIVANJA

Evaluation of parent combinations fertility in plum breeding (Prunus domestica L.) 1

Elektromotori u vrsti zaštite nadtlak prednosti i mane

OPĆI UVJETI POSLOVANJA

Red velvet torta i 50. post :)) Red velvet cake and the 50th post :))

SVEFINANSIRANJE I KANALI DISTRIBUCIJE - KOMPETENCIJA ILI NADMETANJE

1 POJAM I ULOGA KANALA DISTRIBUCIJE

Influence of trellis system on productive and technological characteristics of variety Victoria in Strumica vine growing district

Marketing GI products. Recommendations and examples from the field

Technikseminar 2008 * Graz

MJERE LI SAMO POKAZATELJI USPJEŠNOSTI VRIJEDNOST KNJIŽNICA? : PREMA VREDNOVANJU DRUŠTVENIH CILJEVA ORGANIZACIJA U KULTURI

7. UPRAVLJANJE TOKOM PROGRAMA

Adriatic Localization. for Microsoft Dynamics NAV

THE CHARACTERISTICS OF VITICULTURE PRODUCTION IN SERBIA OBELEŽJA VINOGRADARSKE PROIZVODNJE U SRBIJI

l=àéòáâì= gçëáé=rž~êéîáć= Filozofski fakultet u Zagrebu Ivana Lučića 3, HR Zagreb

5. Svaka boca mora na sebi imati ID formular pričvršden gumicom. Molimo NE KORISTITI selotejp, ljepilo ili žicu, koristite SAMO gumicu.

EFIKASNOST INTELEKTUALNOG KAPITALA U ISTARSKOM VODOVODU d.o.o. BUZET

Hrvatsko društvo za kvalitetu Članovi za članove 6. prosinca Damir Keller i Dean Rennert Qualitas d.o.o. Zagreb

Rad u digitalnoj knjižnici Zagreb 2002.

Knjižnične usluge za beskućnike

PRIJEVOD KAO INTERKULTURNA ČINJENICA

PROGRAM KIESA-e ZA RAZVOJ PREDUZEĆA. Obrazac za apliciranje. Poboljšanje konkurentnosti i promocija izvoza (ICEP) Krajni rok za prijave: 23 Maj 2017

SEND ELECTRONIC DOCUMENTS ACQUIRING SYSTEM IN NEW CLOTHES

UPUTE ZA NATJECANJE COMPETITION INSTRUCTIONS

DETEKCIJA KRATERA IZ DIGITALNIH TOPOGRAFSKIH SLIKA

INTERNACIONALNI UNIVERZITET TRAVNIK U TRAVNIKU EKONOMSKI FAKULTET UTICAJ BRAND-OVA NA UNAPREĐENJE PRODAJE

Sažetak. Srđan Lukačević Gradska i sveučilišna knjižnica Osijek Kornelija Petr Balog Filozofski fakultet Osijek

2018. PROFIL TVRTKE COMBIS

ANALIZA TEHNOLOGIČNOSTI SA STAJALIŠTA IZBORA OBLIKA, DIMENZIJA I TOLERANCIJA ŽLIJEBA ZA ZAVARIVANJE

DISTORZIJE U GRAFIČKOJ PRIPREMI FLEKSIBILNE AMBALAŽE

238 broj bibliografske jedinice

Pravo djece na informacije

NAŠICE 2.rujan 2011 Ivo Miljenovic

THE INFLUENCE OF CHEMICAL COMPOSITION OF MILK ON YIELD OF SEMI-HARD CHEESE

37. Osnovni pojmovi o džiteru, šumu, i integritetu signala

VREDNOVANJE NACIONALNE I SVEUČILIŠNE KNJIŽNICE U ZAGREBU S GLEDIŠTA KORISNIKA

SMERNICE ZA PROBLEM REFERENTNIH VREDNOSTI U DЕČIJEM UZRASTU. Slobodan Jovanović MD, PhD, Bsc JUGOLAB, Sombor

OD KONCEPTUALNIH MODELA PREKO OPAC-a TREĆE GENERACIJE DO SLJEDEĆE GENERACIJE KNJIŽNIĈNOGA SUSTAVA

PRODAJNI KANALI U OSIGURAVAJUĆEM DRUŠTVU CROATIA OSIGURANJE D.D.

Parent Self Serve Mobile

SVEUČILIŠTE U RIJECI EKONOMSKI FAKULTET

LATTISSIMA ONE MOJ APARAT

EFEMERNA GRAĐA I SITNI TISAK : OPSEG POJMOVA U HRVATSKOJ I SVIJETU EPHEMERA AND MINOR PUBLICATIONS : CONCEPT OF THE TERMS IN CROATIA AND ABROAD

K NJ I Ž N I C A EDUKACIJA KORISNIKA KNJIŽNICE FILOZOFSKOG FAKULTETA SVEUČILIŠTA U RIJECI

1. Sadržaj. Popis slika..i. Popis tablica...ii. Popis grafova..iii

Upravljanje marketingom u neprofitnim organizacijama na primjeru Gradske knjižnice Zadar

KNJIŽNICE KAO TREĆI PROSTOR

Iskustva pacijenta nakon Guillain-Barré sindroma

Europe 2020: a European strategy for smart, sustainable and inclusive growth. Dostupno na: 2

IMPLEMENTACIJA MARKETINGA U NAKLADNIŠTVO DIPLOMSKI RAD

TEHNOLOGIJA I UMETNOST

PRODUCTION SOFTWARE FOR WINEMAKERS. Wine Operations and Laboratory Analyses

NOVINSKE ZBIRKE U KNJIŽNICAMA: IZAZOVI DIGITALNOG DOBA

1 PRIRODA I ZNA^AJ CENE

XIII. MEĐUNARODNI KULINARSKI FESTIVAL XIII. INTERNATIONAL CULINARY FESTIVAL

Tamanend Wine Consulting

Konflikt radne i obiteljske uloge kod žena koje rade u smjenama

SGS PLAN SEMINARA 2017

XXIV. Proljetna škola školskih knjižničara Republike Hrvatske

Name: Katakana Workbook

Andrea Šuver PROMOCIJA NA TRŽIŠTU MOBILNIH TELEKOMUNIKACIJA U REPUBLICI HRVATSKOJ

Arena Zagreb The Zagreb Arena

AKTIVNOSTI UNAPREĐENЈA PRODAJE U KONCEPTU GLOBALNOG MARKETINGA

VJESNIK BIBLIOTEKARA HRVATSKE 54, 4(2011)

UPUSTVO ZA UPOTREBU SRK60ZMX-S SRK25ZMX-S SRK35ZMX-S SRK50ZMX-S SRK63ZM-S SRK71ZM-S SRK80ZM-S.

DEPRESIVNOST KOD DJECE I MLADIH

WiX Cookbook Free Ebooks PDF

Suvremene spoznaje o alkoholizmu u 21. stoljeću

Pola stoljeća nam je tek

Univerza v Ljubljani Biotehniška fakulteta Oddelek za zootehniko KATALOG PONUDBE. Sekundarni referenčni materiali

POKAZATELJI USPJEŠNOSTI ZA NACIONALNE KNJIŽNICE PERFORMANCE INDICATORS FOR NATIONAL LIBRARIES

UPRAVLJANJE ZNANJEM U INDOK ODJELU KONČAR-INSTITUTA ZA ELEKTROTEHNIKU

MEĐUKNJIŽNIČNA POSUDBA I DOSTAVA DOKUMENATA KNJIŽNICE FILOZOFSKOG FAKULTETA U ZAGREBU ILI KAKO USTROJITI SLUŽBU

US Foods Online and Mobile App Technology Update

Vodanović M. Zubi, zubni karijes i zubni ispuni. Zdrav život. 2007;5(47):30-4.

Proizvodnja i prometovanje vina te stanje površina pod sortama Merlot, Cabernet Sauvignon i Syrah u Hrvatskoj

Transcription:

VISOKA ŠKOLA STRUKOVNIH STUDIJA ZA INFORMACIONE I KOMUNIKACIONE TEHNOLOGIJE ELEKTRONSKO POSLOVANJE E-ZDRAVSTVO WEB APLIKACIJA U ASP.NET-U Mentor: Kandidat: Dr Nenad Kojić, dipl. inž. Dušan Jerinić, struk. inž.,1068/10 Beograd, 2013.

VISOKA ŠKOLA STRUKOVNIH STUDIJA ZA INFORMACIONE I KOMUNIKACONE TEHNOLOGIJE NAZIV SPECIJALISTIČKOG RADA: E-Zdravstvo (popunjava Komisija za odbranu specijalističkog rada) Datum predaje rada: Datum i vreme odbrane rada: Članovi komisije: 1.dr Ana Savić 2.mr Danica Mamula Tartalja 3.dr Nenad Kojić Mentor: Kandidat: Dr Nenad Kojić, dipl. inž. Dušan Jerinić, struk. inž. Beograd, 2013 2

Sadržaj Slike... 6 1 Uvod... 7 2..NET 3.5 RAZVOJNO OKRUŽENJE... 8 2.1. Programski jezik C# 3.5... 8 2.1.1. Vrste aplikacija u jeziku C#... 9 2.2. Visual Studio 2008... 9 2.2.1. Visual Studio 2008 IDE... 10 3. Organizacija... 13 3.1 Globalno dostupne strane... 13 3.2 Administrator... 15 3.3 Doktor... 18 3.4 Pacijent... 20 4 Baza podataka... 28 5. Kod... 29 5.1. Klase koje komuniciraju sa bazom podataka... 29 5.1.1. Klasa DbSqlKonekcija... 29 5.1.2. Klasa DbSqlIstorija... 30 5.1.3 Klasa DbSqlIstorijaDoktori... 34 5.1.4 Klasa DbSqlIstorijaSlike... 38 5.1.4 Klasa DbSqlDoktor... 40 5.1.5 Klasa DbSqlPacijent... 47 5.1.5 Klasa DbSqlPost... 55 5.1.6 Klasa DbSqlPostIstorja... 58 5.1.7 Klasa DbSqlSlike... 61 5.1.8 Klasa DbSqlIstorijaSlike... 64 5.1.9 Klasa DbSqlChat... 65 5.1.10 Klasa DbSqlSpecijalnost... 68 5.1.11 Klasa DbSqlSpecijalnost... 73 5.1.12 Klasa DbSqlTransakcije... 77 5.1.13 Klasa DbSqlUslugaChat... 82 5.1.14 Klasa DbSqlVrstaUsluge... 85 5.2. Klase objekata... 87 5.2.1 Klasa Doktor.cs... 87 3

5.2.2 Klasa Istorija.cs... 90 5.2.3 Klasa IstorijaDoktori.cs... 93 5.2.4 Klasa IstorijaSlike.cs... 95 5.2.5 Klasa MyChatProvider.cs... 96 5.2.6 Klasa Pacijent.cs... 98 5.2.7 Klasa Post.cs... 103 5.2.8 Klasa PostIstorija.cs... 104 5.2.9 Klasa Racun.cs... 106 5.2.10 Klasa Slika.cs... 107 5.2.11 Klasa Specijalnost.cs... 109 5.2.12 Klasa Transakcije.cs... 111 5.2.13 Klasa UslugaChat.cs... 113 5.2.14 Klasa VrstaUsluge.cs... 114 5.2.15 Klasa Chat.cs... 116 5.2.16 Klasa ChatInfo.cs... 118 5.2.17 Klasa ChatInfoDr.cs... 121 5.3. Pozadinski kod web stranica... 123 5.3.1 Stranica index.aspx i pozadinski kod index.aspx.cs... 123 5.3.2 Stranica prijava.aspx i pozadinski kod prijava.aspx.cs... 127 }... 135 5.3.3 Stranica promenalozinkeneuspeh.aspx i pozadinski kod promenalozinkeneuspeh.aspx.cs... 135 5.3.4 Stranica chatredirect.aspx i pozadinski kod chatredirect.aspx.cs... 135 5.3.5 Stranica admin/indexadm.aspx i pozadinski kod indexadm.aspx.cs... 136 5.3.6 Stranica admin/promenalozinkedoktor.aspx i pozadinski kod promenalozinkedoktor.aspx.cs... 137 5.3.7 Stranica admin/promenalozinkeuspeh.aspx i pozadinski kod promenalozinkeuspeh.aspx.cs... 139 5.3.8 Stranica admin/promenausluge.aspx i pozadinski kod promenausluge.aspx.cs... 140 5.3.9 Stranica admin/registracijadoktora.aspx i pozadinski kod registracijadoktora.aspx.cs... 144 5.3.10 Stranica admin/specijalnost.aspx i pozadinski kod specijalnost.aspx.cs... 149 5.3.11 Stranica admin/specijalnost.aspx i pozadinski kod specijalnost.aspx.cs... 152 5.3.12 Stranica pacijent/indexpc.aspx i pozadinski kod indexpc.aspx.cs... 155 5.3.13 Stranica pacijent/karton.aspx i pozadinski kod karton.aspx.cs... 156 4

5.3.14 Stranica pacijent/kartoni.aspx i pozadinski kod kartoni.aspx.cs... 161 5.3.15 Stranica pacijent/listachat.aspx i pozadinski kod listachat.aspx.cs... 164 5.3.16 Stranica pacijent/placanje.aspx i pozadinski kod placanje.aspx.cs... 169 5.3.17 Stranica pacijent/placanjechat.aspx i pozadinski kod placanjechat.aspx.cs... 173 5.3.18 Stranica pacijent/postovi.aspx i pozadinski kod postovi.aspx.cs... 177 5.3.19 Stranica pacijent/slike.aspx i pozadinski kod slike.aspx.cs... 182 5.3.20 Stranica pacijent/zakazivanjechat.aspx i pozadinski kod zakazivanjechat.aspx.cs... 185 5.3.21 Stranica pacijent/blankpd.aspx i pozadinski kod blankpd.aspx.cs... 188 5.3.22 Stranica pacijent/checkpmn.aspx i pozadinski kod checkpmn.aspx.cs... 189 5.3.22 Stranica pacijent/blankzk.aspx i pozadinski kod blankzk.aspx.cs... 193 5.3.23 Stranica doktor/indexdr.aspx i pozadinski kod indexdr.aspx.cs... 193 5.3.24 Stranica doktor/postovi.aspx i pozadinski kod postovi.aspx.cs... 194 5.3.25 Stranica doktor/listachat.aspx i pozadinski kod listachat.aspx.cs... 200 5.3.25 Stranica zstr/chat.aspx i pozadinski kod chat.aspx.cs... 203 5.3.26 Stranica zstr/post.aspx i pozadinski kod post.aspx.cs... 206 5.3.27 MasterPage.master i pozadinski kod MasterPage.master.aspx.cs... 217 5.3.28 Global.asax... 224 5.3.29 web.config... 228 6 Zaključak... 233 7 Literatura... 234 5

Slike Slika 3.1.1 Početna strana...13 Slika 3.1.2 Kreiranje naloga za tip korisnika Pacijent...14 Slika 3.1.3 Zaboravljena šifra...15 Slika 3.2.1 Registracija doktora...15 Slika 3.2.2 Dodavanje Specijalnosti...16 Slika 3.2.3 Resetovanje doktorove šifre...16 Slika 3.2.4 Dodavanje nove usluge...17 Slika 3.2.5 Dodavanje nove usluge za čet...17 Slika 3.3.1 Početna strana korisnika Doktor...18 Slika 3.3.2 Lista poruka...19 Slika 3.3.3 Čet...19 Slika 3.3.4 Lista Čet...20 Slika 3.4.1 Početna strana...20 Slika 3.4.2 Otvaranje kartona...21 Slika 3.4.3 Pregled kartona...22 Slika 3.4.4 Pregled postova...22 Slika 3.4.5 Dodavanje doktora...23 Slika 3.4.6 Dodavanje slike...24 Slika 3.4.7 Zakazivanje četa...25 Slika 3.4.9 Račun...26 Slika 3.4.9 Prikaz poruka...27 Slika 3.4.10 Čet lista...27 Slika 4.1 Dijagram baze podataka...28 6

1 Uvod Pred vama se nalazi web aplikacija namenjena realizaciji komunikacije Pacijent-Doktor u okviru E-zdravstvo usluga. Aplikacija treba da omogući komercijalni aspekt vlasniku stranice, koji je ujedno i administrator sistema. Pacijentu su ponuđene opcije da bira jednog ili više lekara, otvara proizvoljan broj kartona, vrši konstantnu prepisku sa doktorom uz mogućnost korišćenja četa. Aplikacija je realizovana u ASP.NET okruženju sa SQL server bazom podataka. E-zdravstvo predstavlja širok spektar mogućnosti za eksploataciju prenosa informacija i pružanja čitavog seta savetodavnih usluga samim pacijentima uz pomoć tehnologije. Na vrlo jednostavan način je savladan a jedna od osnovnih prepreka udaljenost od izvora informacija o željenom zdravstvenom tretmanu. Podaci kojima se upravlja u bazama omogućuju jednostavno kreiranje efekta veštačke inteligencije pri hronološkom praćenju zdravstvenih podataka pacijenta. Sprovođenje procesa lečenja, od dijagnoze do terapije, veoma je odgovoran posao. Ono što jeste njegov okvir koji mu daje pozitivno ili negativno značenje jeste kvalitet odnosa lekara i pacijenta. Povremeno možemo da čujemo ili da pročitamo da je neko veoma nezadovoljan odnosom koji je prema njemu pokazao neki zdravstveni radnik. Gotovo nikada ne možemo da pročitamo da je neko veoma zadovoljan odnosom svog lekara ili medicinske sestre. Pacijenti retko zahvalnost izražavaju javno. Ovaj model online komunikacije omogućava pacijentima i određenu dozu anonimnosti u oceni odnosa lekara što se može prenositi direktno upravljačkim strukturama bez bojazni da će sprovođenjem ankete od strane samih lekara postojati mogućnost za tendenciozno unošenje odgovora. Dodatni kvalitet se može postići i na nivou kontrole sopstvene radne snage. Naravno ne treba zanemariti i svakako pozitivan efekat koji bi kreiralo uvažavanje komentara i zamerki na rad samih pacijenata. 7

2..NET 3.5 RAZVOJNO OKRUŽENJE.NET 3.5 razvojno okruženje je nova računarska platforma dizajnirana od strane Microsoft-a, da bi uprostila razvoj aplikacija u široko ditribuisanom Internet okruženju. Pomoću ovog radnog okruženja programeri mogu kreirati složene Windows aplikacije, servise, pa čak i altke koje rade u režimu komandne linije..net 3.5 Framework je skup različitih tehnoligija koji obuhvata: 1..NET jezike: To su Visual Basic, C# 3.5, JScript.NET, J# i C++ 2. CLR (Common Language Runtime, izvršno okruženje zajedničko za sve jezike) je osnova.net framework-a. CLR je mehanizam koji upravlja kodom tokom izvršenja, obezbeđuju i osnovne servise kao što su upravljanje memorijom, upravljanje nitima, pri čemu se istovremeno obezbeđuje striktna sigurnost koda. 3..NET 3.5 Framework biblioteka klasa: Biblioteka klasa sadrži više hiljada unapred kreiranih opcija (funkcionalnosti ) koje se mogu koristiti u korisničkim aplikacijama. Te opcije su delimično grupisane u tehnološke sklopove, kao što je ADO.NET (tehnologija za kreiranje aplikacija koje rade sa bazom podataka) ili Windows Forms (tehnologija za kreiranje korisničkog interfejsa). 4. ASP.NET: mehanizam koji podržava web aplikacije kreirane u.net sistemu i podržava skoro sve opcije iz.net biblioteke klasa. Pored toga, ASP.NET obuhvata i određene web servise, poput identifikacije korisnika uz zaštitu prenosa i skladištenje podataka. 5. Visual Studio 2008: Opciona razvojna alatka koja sadrži brojne opcije za poboljšanje produktivnosti u pisanju programa i otklanjanje grešaka (debug). 2.1. Programski jezik C# 3.5 C# je programski jezik dizajniran za gradnju širokog opsega aplikacija koje se izvršavaju u.net okruženju. Na sam dizajn jezika C# je, pored C++, najviše uticala Java, mada je uočljiv i uticaj Smalltalk-a i Pascal-a. C# is jednostavan, moderan, objektno-orijentisan jezik. C# kod se kompajlira do nivoa upravljanog koda, što znači da koristi servise CLR. Prednost ovakvog pristupa uključuje međuoperabilnost sa drugim programskim jezicima, poboljšanu sigurnost i pojačanu podršku za upravljanje verzijama. C# ima sledeće karakteristike: - Podrška za punu interoperabilnost sa COM+ 1.0 i sa servisima.net okruženja, uz blizak pristup zasnovan na bibliotekama. - XML podrška za interakciju Web-baziranih komponenti. - Upravljanje verzijama, što olakšava administraciju, implementaciju i isporuku. - U sam jezik su ugrađeni atributi, osobine, interfejsi, indekseri, refleksija, događaji, a u biblioteku klase i interfejsi za olakšanje višenitnog programiranja. 8

2.1.1. Vrste aplikacija u jeziku C# Kako je prethodno navedeno jezik C# nema ograničenja u pogledu kakve sve aplikacije možemo napraviti, jer u potpunosti iskorišćava.net okruženje. Sve aplikacije koje se mogu izradi pomoću ovog jezika mogu se svrstati u sledeće grupe: Windows aplikacije - to su recimo aplikacije tipa Microsoft Office koje imaju izgled Windows-a i odlično se uklapaju u njega. Prilikom izrade ovakvih aplikacija koristi se biblioteka kontrola (dugmad, palete alatki, meniji itd.) koje se koriste pri izradi korisničkog interfejsa (UI). Web aplikacije - Web strane koje možemo videti putem bilo kog čitača, pri čemu se ceo ili deo sadržaja generiše dinamički i to putem.net okruženja, dozvoljavajući personalizaciju, sigurnost i još mnogo toga. Ovaj sistem se naziva ASP.NET, a C# se koristi za izradu ASP.NET aplikacija uz pomoć Web formulara Web servisi - to je nov način izrade raznovrsnih distribuiranih aplikacija. Njihovom upotrebom možemo putem Interneta razmenjivati bilo koju vrstu podataka, ne vodeći računa o tome u kom jeziku je napisana aplikacija niti na kom sistemu je postavljena. Takođe pomuću jezika C# može se raditi sa bazama podataka i to korišćenjem ADO.NET-a odeljka.net okruženja. 2.2. Visual Studio 2008 Microsoft Visual Studio 2008.NET obezbeđuje razvojne alate, radno okruženje, serversku infrastrukturu i omogućava izradu aplikacija za razne platforme i uređaje. Radno okruženje Visual Studio 2008 je u potpunosti napisano baš u C# 3.5 jeziku (WPF). On je moderno strukturiran, potpuno objektno orijentisan, zasnovan na C++ jeziku i zvanično prihvaćen kao standard od strane organizacija ECMA (European Computer Manufacturers Association) i ISO (International Organization for Standardization). Neke od prednosti upotrebe razvojnog okruženja prilikom izrade sajtova su: Dizajn web stranica: Programer može kreirati stranice jednostavnom tehnikom prevuci-i-pusti uz pomoć dizajnera web formulara koji je integrisan u Visual Studio. Poznavanje HTML jezika nije potrebno. Automatsko otklanjanje grešaka: Visual Studio može detektovati greške i izvestiti o njime pre pokretanja aplikacije, što vam može uštedeti više sati rada. Potencijalni problemi su prikazani podvučeno, poput opcije provere pravopisa u brojnim programima za obradu teksta. Alatke za otkrivanje grešaka: Visual Studio je zadržao svoje legendarne debug alatke, koje omogučavaju praćenje izvršenja koda i sadržaja promenljivih. Web aplikacije možete testirati bas kao i sve ostale aplikacije, zato što Visual Studio ima ugrađen web server koji je namenjen isključivo proveri ispravnosti programa. IntelliSense: Visual Studio omogućava kompletiranje naredbi na osnovu prepoznatih objekata i automatsko izlistavanje informacija kao što su parametri funkcija u praktičnom pomoćnom tekstu. 9

2.2.1. Visual Studio 2008 IDE Toolbox: sadrži alate i komponente potrebne za rad, sadržajni objekti menjaju se u skladu s onim što trenutno radimo. Toolbox radi zajedno sa prozorom Document. Njegova primarna uloga je da obezbedi pristup serverskim kontrolama, koje možete prostim privlačenjem postaviti na Web stranu, a takođe može poslužiti za skladištenje raznog koda i isečaka HTML koda. Sadržaj Toolbox-a zavisi od tekućeg dizajnera koga koristite kao i od tipa projekta. Standardni sadržaj Toollbox-a je podeljen na nekoliko celina, a to su: Standard, sastoji se od standardnih serverskih ASP.NET kontrola; Data, sastoji se od komponenata koje vam omogućavaju vezu sa bazama podataka; Validation, predstavlja skup kontrola koji omogućavaju kontrolu ulaznih podataka za odgovarajuće kontrole; Navigation, kontrole iz ovog skupa omogućavaju pokazivanje mapa sajtova (site map) i omogućavaju korisniku da se lakše kreće kroz sajt; Login, sadrži skup kontrola koje zahtevaju podatke nephodne za uspešnu autentifikaciju korisnika; WebParts, ovaj deo sadrži kontrole koje služe za izradu web portala; HTML, sastoji se od kontrola koje predstavljaju statičke HTML elemente; General, prestavlja deo koji sadrži isečke kodova i kontrole objekata; Naravno, sve ove delove možete prilagoditi svojim potrebama, a takođe možete i dodati nove celine, sve to zavisi od korisnika. Glavni prozor: na slici je prikazana forma, obzirom da je postavljen "Design Window", ukoliko korisnik pritisne desnom klik miša na prazni prostor bilo gde na formi i odabere "View Code", prebaci će se u "Kod mod" tj. način rada u kojem se piše programski kod. Ukoliko opet pritisne desnu klik miša i odabere "View Designer" vratiće se natrag u dizajn mod. Ovaj prozor je deo Visual Studio okrženja koji dozvoljava doradu različitih tipova datoteka upotrebom odgovarajućih dizajnera. Svaki tip datoteke ima pridruženi editor. Tako na primer, ako želite da datoteku određenog tipa otvorite pomoću odgovarajućeg programa kliknite na datoteku desnim tasterom miša i izborom opcije Open With... izaberite traženi program. 10

Solution Explorer: rad u Visual Studiu organiziran je preko rešenja tj. "Solution"-a. Jedan Solution može sadržavati više projekata, dok jedan projekt može sadržavati više formi, klasa, modula i komponenata. Properties: zavisno od odabranog objekta u glavnom prozoru, u Properties prozoru prikazuju se karakteristike (eng. properties) tog objekta. Osim karakteristikama u ovom je prozoru moguće je upravljanje događajima i metodama odabranog objekta. To se postiže ako odaberemo tzv. "events" prikaz. Lista grešaka (eng. error list): omogućava uvid u greške nastale prilikom izvođenja aplikacije, ali i za vrijeme pisanja izvornog koda, pri čemu Visual Studio predlaže rešenje za našu grešku. Ova dva interfejsa predstavljaju dve verzije jednog te istog prozora. U prozoru Error List se smeštaju obaveštenja o greškama koje su detektovane od strane Visual Studio-a, dok se u Task List prozoru ispisuje spisak zadataka i drugih obaveštenja koju programer prati. Svaki slog ovih lista sastoji se od opisa (description) i opcionog linka koji vas vodi do tačno određene linije koda u projektu. Da bi ste videli Task List iz menija View izaberite Other Windows pa zatim Task List. U samoj Task List-i postoje dva tipa zadataka (tasks) - korisnički zadaci i komentari. Na vama je da izaberete koju će vrsta biti prikazana u prozoru i to pomoću padajuće liste. Zadaci se unose od strane korisnika tako što se klikne na Create User Task ikonu u tekućem prozoru. Svakom novostvorenom zadatku možete da definišete opis, prioritet i oznaku koja vas obaveštava da je on realizovan. Komentari u ovoj listi su posebno interesantni, jer se oni dodaju automatski tako što se povezuju sa odgovarajućom linijom koda. Tako recimo, pozicionirajte se negde u kodu i započnite komentar (//) iza koga sledi reč TODO nakon toga otkucajte neki tekst. Tako uneti tekst će uvek biti unet automatski od strane Visual Studio-a gde god stoji reč TODO. Server Explorer: omogućuje pristup definisanim konekcijama za bazu podataka. Ovdje možemo kreirati nove konekcije za bazu podataka i pregledavati postojeće. Ovaj interfejs nam omogućava da kroz Tree view imamo uvid u tipove servisa koji su dostupni na tekućem računaru ili na nekom serveru, a oni mogu biti dnevnik događaja (event log), redovi poruka, brojaći performansi, sistemski servisi i SQL server. Code Editor: U sklopu Visual Studio-a dolazi i Code editor za koga se slobodno može reći da predstavlja centralni interfejs prilikom izrade aplikacije. To je prostor koji služi za unos koda i podržava specijalno označavanje sintakse (syntax highlighting) i automatsko završavanje koda (code completion) upotrebom InetlliSense-a ne samo za promenljive, funkcije i metode nego i za petlje i upite. Podrška IntelliSense-a je obezbeđena kako za ugrađene jezike tako i za XML, CSS i JavaScript. Ovaj editor takođe omogućava prevođenje koda u toku pisanja što znatno olakšava pronalaženje grešaka. Važne osobine Code editor-a Outlining, omogućava da se neka metoda ili blok struktura ''upakuje'' u jednu liniju koda, pri ćemu se samo ''sakriva'' njen kod radi preglednosti. 11

Member List, omogućava jednostavnu interakciju sa kontrolama i klasama. Prilikom upotrebe određene klase tj. njene instance pojavljuje se padajuća lista sa spiskom metoda, svojstava, promenljivih vezanih za taj objekat, pri cemu za svaki izabrani element liste daje kratak opis o povratnom tipu, broju parametara itd. Error Underlining, editor podvlači mesta u kodu koja sadrže određenu grešku Debugger: U okviru Visual Studio-a dolazi i debugger u čiji sastav ulaze debuggeri za izvorni i mašinski kod. Ovaj debugger se može koristiti sa bilo kojim jezikom u okviru Visual Studio-a. Takođe debugger omogućava postavljane takozvanih breakepoint-a, koji prestavljaju tačke na kojima se prevođenje zaustavlja prilikom izvršavanja kako bi programer mogao da vidi trenutno stanje aplikacije tj. koje su metode na steku, vrednosti promenljivih itd 12

3. Organizacija Cilj ovog projekta je da omogući komunikaciju između pacijenta i doktora. Pacijent ima mogućnost odabira jednog ili više doktora iz više različitih oblasti medicine. Komunikacija se vrši na dva načina. Prvi je preko poruka, gde pacijent izabranim lekarima šalje poruku koja sadrži informacije o problemu za koji traži odredjen tip usluge. Drugi vid komunikacije je preko četa, gde pacijent zakazuje vreme I trajanje četa. Oba tipa komunikacije zamišljena su i da pruže komercijalan aspekt vlasniku sajta. Oba vida komunikacije se naplaćuju po definisanim cenama. Naplata se vrši preko paypal servisa. Sajt ima tri tipa korisnika: administratora, doktora i pacijenta 3.1 Globalno dostupne strane Početna strana index.aspx je strana koja se prva prikazuje kada se pristupi sajtu. (slika 3.1.1) Slika 3.1.1 Početna strana 13

Na njoj se nalazi komanda za login. Ukoliko ne postoji kreiran nalog, on se može kreirati na strani Kreiraj nalog. Na strani Kreiraj nalog se popunjava obrazac a zatim kreira nalog za tip korisnika Pacijent. (slika 3.1.2) Slika 3.1.2 Kreiranje naloga za tip korisnika Pacijent 14

Ukoliko ste tip korisnika Pacijent, postoji I strana Zaboravljena šifra čija je funkcija reset šifre. (slika 3.1.3) Slika 3.1.3 Zaboravljena šifra 3.2 Administrator Administrator je zadužen za sve sadržaje na sajtu kao I za njegove funkcionalnosti. On je odgovoran za unos, editovanje I brisanje sadržaja. Administrator kreira nalog za tip korisnika Doktor (slika 3.2.1) Slika 3.2.1 Registracija doktora 15

Administrator ima mogućnost editovanja I dodavanja specijalnosti doktora (slika 3.2.2) Slika 3.2.2 Dodavanje Specijalnosti Administrator ima mogućnost resetovanja šifre doktora (slika 3.2.3) Slika 3.2.3 Resetovanje doktorove šifre 16

Administrator ima mogućnost dodavanja vrste usluga (slika 3.2.4) Slika 3.2.4 Dodavanje nove usluge Administrator ima mogućnost dodavanja vrste usluga za čet I to samo za specijalnosti koje nemaju definisanu cenu (slika 3.2.5) Slika 3.2.5 Dodavanje nove usluge za čet 17

3.3 Doktor Kada se uloguje, strana koja se prva prikazuje doktoru je indexdr.aspx na kojoj se nalazi poruka dobrodošlice (slika 3.3.1) Slika 3.3.1 Početna strana korisnika Doktor Kada se uloguje, strana koja se prva prikazuje doktoru je indexdr.aspx. Sa ove strane pruža mu se mogućnost navigacije ka ostalim stranama preko menija koji se nalazi iznad teksta dobrodošlice 18

Na strani Prikaz poruka nalaze se sve poruke koje je doktor primio od svojih pacijenata. Poruke na koje nije dat odgovor su osenčene tamnijom bojom. Takođe postoji mogućnost sortiranja poruka prema statusu I prema pacijentu. (slika 3.3.2) Slika 3.3.2 Lista poruka Klikom na link Čet otvara se strana na kojoj se realizuje mogućnost četa (slika 3.3.3) Slika 3.3.3 Čet 19

Klikom na link Lista Čet otvara se strana na kojoj su prikazani svi zakazani četovi (slika 3.3.4) Slika 3.3.4 Lista Čet 3.4 Pacijent Kada se uloguje, strana koja se prva prikazuje pacijentu je indexpc.aspx na kojoj se nalazi uputstvo za korišćenje funkcionalnosti koje se koriste preko menija koji se nalazi iznad. (slika 3.4.1) Slika 3.4.1 Početna strana 20

Link Otvori karton prosledjuje pacijenta na stranu na kojoj se definiše I otvara karton (slika 3.4.2) Slika 3.4.2 Otvaranje kartona 21

Nakon što se inicijalizuje karton, njegov prikaz se može videti na strani Pregled kartona. Na ovoj strani moguće je vršiti sort kartona po specijalnosti doktora(slika 3.4.3). Klikom na naziv kartona,ulazi se na stranu na kojoj se realizuje komunikacija izmedju pacijenta I doktora.(slika 3.4.4), Slika 3.4.3 Pregled kartona Slika 3.4.4 Pregled postova 22

Dodavanje doktora (slika 3.4.5) Slika 3.4.5 Dodavanje doktora 23

Dodavanje slika (slika 3.4.6) Slika 3.4.6 Dodavanje slike 24

Zakazivanje četa (slika 3.4.7) Slika 3.4.7 Zakazivanje četa 25

Klikom na dugme post, pacijent se prosledjuje na stranu na kojoj se nalazi račun I opcija plaćanja preko paypal servisa (slika 3.4.8) Slika 3.4.8 Račun 26

Na strani Prikaz poruka nalaze se sve poruke sa statusima. Poruke na koje se čeka odgovor su osenčene tamnijom bojom (slika 3.4.9) Slika 3.4.9 Prikaz poruka Na strani Čet lista nalaze se svi zakazani četovi sa statusima. Ukoliko čet nije plaćen, klikom na link Zakaži-plati pacijent se prosledjuje na stranu na kojoj se nalazi račun za odabranu uslugu I mogućnost plaćanja preko paypall servisa (slika 3.4.10) Slika 3.4.10 Čet lista 27

4 Baza podataka DBMS koji je korišćen u projeku je MS SQL Server. Dijagram baze podataka bez ASPovih membership tabela I Cute Chat tabela se nalazi ispod (slika 4.1) Slika 4.1 Dijagram baze podataka 28

5.Kod Može se reći da je ceo kod podeljen u tri dela. Prvi deo koda predstavljaju klase koje komuniciraju s bazom podataka, drugi deo koda predstavljaju klase koje opisuju objekte dok treći deo je kod koji ide uz svaku stranu projekta. Deo koda za čet koji se nalazi u folderu CuteSoft_Client je preuzet sa interneta i ne predstavlja moje autorsko delo i neće biti prikazani u ovom radu. 5.1. Klase koje komuniciraju sa bazom podataka Predstavljaju prvi deo koda i služe za dobavljanje neophodnih podataka iz baze podataka. 5.1.1. Klasa DbSqlKonekcija System; System.Data; System.Configuration; System.Linq; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.HtmlControls; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Xml.Linq; System.Data.SqlClient; System.Web.Configuration; /// <summary> /// Summary description for DbSqlKonekcija /// </summary> public class DbSqlKonekcija { private static DbSqlKonekcija konekcija; private SqlConnection sqlcon = new SqlConnection(); private DbSqlKonekcija() { sqlcon.connectionstring = WebConfigurationManager.ConnectionStrings["konekcijaBaza"].ConnectionString; } public static DbSqlKonekcija Konekcija { get { if (konekcija == null) konekcija = new DbSqlKonekcija(); return konekcija; } 29

} public SqlConnection SqlKonekcija() { return sqlcon; } } 5.1.2. Klasa DbSqlIstorija System; System.Data; System.Configuration; System.Linq; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.HtmlControls; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Xml.Linq; System.Data.SqlClient; System.Collections.Generic; /// <summary> /// Summary description for DbSqlIstorija /// </summary> public class DbSqlIstorija { public DbSqlIstorija() { } public int InsertIstorijaBolesti(Istorija istorijabolesti) { int idistorija = 0; string upit = "INSERT INTO istorija_bolesti VALUES(@id_pacijent,@id_doktor,@id_vrstaUsluge,@datum,@opis,@napomena,@naslov,@status); SELECT @@IDENTITY AS 'idistorija'"; SqlCommand cmd = new SqlCommand(); cmd.connection = DbSqlKonekcija.Konekcija.SqlKonekcija(); cmd.commandtext = upit; cmd.parameters.addwithvalue("@id_doktor", istorijabolesti.iddoktor); cmd.parameters.addwithvalue("@id_pacijent", istorijabolesti.idpacijent); cmd.parameters.addwithvalue("@id_vrstausluge", istorijabolesti.idvrstausluge); cmd.parameters.addwithvalue("@datum", DateTime.Now); cmd.parameters.addwithvalue("@opis", istorijabolesti.opis); cmd.parameters.addwithvalue("@napomena", istorijabolesti.napomena); cmd.parameters.addwithvalue("@naslov", istorijabolesti.kratkinaziv); cmd.parameters.addwithvalue("@status", istorijabolesti.statusistorija); try { 30

cmd.connection.open(); idistorija = Convert.ToInt32(cmd.ExecuteScalar()); } catch (Exception ex) { throw ex; } finally { cmd.connection.close(); } return idistorija; } public List<Istorija> GetIstorijaBolesti() { List<Istorija> kartoni = new List<Istorija>(); string upit = "SELECT * FROM istorija_bolesti"; SqlCommand cmd = new SqlCommand(); cmd.connection = DbSqlKonekcija.Konekcija.SqlKonekcija(); cmd.commandtext = upit; try { cmd.connection.open(); SqlDataReader reader = cmd.executereader(); while (reader.read()) { Istorija karton = new Istorija(); karton.idistorija = Convert.ToInt32(reader["id_istorija"].ToString()); karton.idpacijent = Convert.ToInt32(reader["id_pacijent"].ToString()); karton.iddoktor = Convert.ToInt32(reader["id_doktor"].ToString()); karton.idvrstausluge = Convert.ToInt32(reader["id_vrstaUsluge"].ToString()); karton.datum = Convert.ToDateTime(reader["datum"].ToString()); karton.opis = reader["opis"].tostring(); karton.napomena = reader["napomena"].tostring(); karton.kratkinaziv = reader["skracenicaistorija"].tostring(); karton.statusistorija = Convert.ToInt32(reader["status"].ToString()); kartoni.add(karton); } } catch (Exception ex) { throw ex; } finally { cmd.connection.close(); 31

6 Zaključak Dostupnost pacijentima u 21. veku će svakako biti izazov za lekarsku struku. Iako će tradicionalni tretmani zahtevati svakako direktnu posetu samim ustanovama i radom sa živim čovekom, postojaće svakako prilika za čitav niz specijalističkih zdravstenih usluga koje će moći da profitiraju od ovakvih odnosa. Zamislite samo mogućnosti on-line psihoterapija? U bezbednosti sopstvenog doma možete dobiti savet bez da ste imali potrebe da proživljavate agoniju javnog prevoza u slobodnom vremenu. Praćenje napretka u određenim terapijama može biti sprovedeno neverovatno brzo i takođe vas ne naterati da napustite svoj dom ukoliko ste to zbog bilo kog slučaja sprečeni. Kroz ovaj projekat pokušao sam da prikažem jedan od potencijala korišćenja web tehnologija u zdravstvu. 32

7 Literatura ASP.NET 4 sa C# 2010, Matthew MacDonald, 2010 http://www.w3schools.com/aspnet/default.asp http://www.asp.net/ajax/ http://www.codeproject.com http://www.asp.net/ http://forums.asp.net/ http://www.411asp.net/home/webapps/forum http://www.4guysfromrolla.com/ http://asp-net-example.blogspot.com/ http://stackoverflow.com/ http://aspnet101.com/tutorials.aspx http://www.devx.com/asp/ www.cutesoft.net 33