Sunteți pe pagina 1din 63

Aplicatie informatica pentru un centru medical de diagnostic si tratament

CUPRINS

Intro ducere .................... 3 Tema lucrarii..................... 7 Capitolul 1. Descrierea domeniului de aplicatie ..


1.1. 1.2. Studiul cerintelor 8 8 8

Modelul cazurilor de utilizare . 1.3. Cerinte de interfata 16

1.4.

Alte aplicatii informatice utilizate in domeniu

16

Capitolul . Anali!a 1"


2.1. Fluxul de evenimente in realizarea obiectivelor aplicatiei 2.2. Modelarea cla elor de obiecte 2.3. 2.4. 2.". !inamica cla elor .. 23 Fluxul activitatilor . 2" Modelul interfetei .. 26 21 18

Capitolul 3. Proiectare si implementare ..


3.1. 3.2. 3.3. 3.4. !ia#rama de cla e detaliata .. 28 !ia#rama de componente .. 3$ !ia#rama de pac%ete . 31 !ia#rama de de fa urare . 32
1

"

3.". 3.6.

Structura bazei de date . 33 !etalierea interfetei 3&

Conclu!ii

#$

%i&liografie .. #7 Ane'e

Introducere
Acea ta aplicatie a fo t realizata in Micro oft 'i ual Studio 2$$"( in limba)ul 'i ual *a ic C+ iar interfata in AS, .-./ 02.$1. Ca erver de baze de date a fo t folo it Micro oft S2l Server 2$$". Despre platforma .NET .NET este strategia Microsoft pentru dezvoltarea de software care permite oamenilor sa il utilizeze din orice loc si utilizand orice fel de dispozitiv. .NET inseamna foarte mult Internet, iar Internetul este un exemplu de tehnologie sau fenomen care inseamna lucruri diferite pentru persoane diferite. Astfel, din punct de vedere al dezvoltatorilor, Internetul este o stiva de protocoale si un model computational bazat pe T !"I!. #in punct de vedere al afacerilor, este o tehnologie care promite multe. !entru consumatori, este o incredibila resursa de informatie, comunicatie si conectivitate. #escrierea pe larg a .NET este urmatoarea$ o platforma de servicii web bazata pe %M& care consta in$ . platforma software pentru construirea experientei .NET' . un model si unelte de programare pentru a construi si integra servicii web bazate pe %M&' . un set de servicii web bazate pe %M& programabile' . un mi(loc de a permite utilizatorilor sa interactioneze cu un set larg de

dispozitive inteligente prin intermediul )eb*ului, asigurand in acelasi timp faptul ca utilizatorul si nu aplicatia controleaza interactiunea' . un mi(loc de a oferi utilizatorilor aplicatii, servicii si dispozitive care sunt personalizate, simple, consistente si sigure. .NET incorporeaza o platforma software pentru construirea experientei .NET ceea ce inseamna server care ruleaza baze de date, servere web si alte sisteme. #iferentele fata de sistemele actuale de intreprindere constau in capacitatile "facilitatile acestor produse. .NET cuprinde de asemenea un model de programare impreuna cu uneltele respective prin care se permite dezvoltatorilor sa creeze serviciile web pe care se bazeaza .NET. Modelul este .Net +ramewor,, care este descris in cele ce urmeaza. Extinderea intraneturilor si portalurilor prin utilizarea .NET -. omponenta finala a .NET este rezultatul modelului de programare, uneltelor si platformei. /erviciile web ofera aceste servicii si informatii necesare utilizatorilor in faza a treia de dezvoltare a Internetului. #eoarece aceste servicii web sunt programabile, ele permit unui utilizator sa utilizeze orice dispozitiv pentru a accesa informatia si pentru a o parta(a cu alte site* uri sau servicii. .NET este construit peste familia de servere .NET care cuprinde urmatoarele produse$ . /0& /erver 1222 * server de baze de date' . Exchange 1222 * server de mesagerie si groupware' . ommerce /erver 1222 * pentru crearea de infrastructuri pentru comert

electronic' . 3izTal, 1222 * primul server .NET, destinat pentru constructia de procese de afaceri care sa fie integrate cu alte procese asemanatoare prin intermediul mesa(elor'

. 4ost Integration /erver * pentru integrarea diverselor sisteme 5inclusiv a mainframe*urilor6' . Application enter 1222 * produs prin care se face managementul aplicatiilor web' . Internet /ecurit7 and Accelaration /erver 1222 * pentru securitatea si accelerarea aplicatiilor' . Mobile Information /erver * pentru accesarea informatiilor in timp real de pe dispozitivele mobile. !entru a oferi componente dezvoltatorilor pentru crearea de solutii de tip servicii web, .NET utilizeaza o serie de protocoale standard pe Internet$ %M&, /8A!, 4TT! si TM&. 9nealta utilizata este :isual /tudio.NET. #e asemenea trebuie oferite cadrele de lucru, limba(ele si ghidul. pentru a(utorul construirii acestor servicii. Toate acestea sunt integrate in Framework. Microsoft a decis, pe termen lung, sa inlocuiasca 8M cu &; 5 ommon&anguage ;untime6, in care s*au incorporat cele mai bune aspecte ale 8M, dar s*auomis aspectele <dureroase< ale scrierii aplicatiilor bazate pe 8M. ele mai frustrante probleme ale 8M sunt$. interoperabilitatea dintre limba(e'. instalarea aplicatiilor' . versiunile de componente' Noul model de programare introdus de &; serveste pentru a elimina multedintre detaliile nenecesare sau confuze ale 8M p -=-(->( rivitoare la scrierea sau intelegereacodului pentru o aplicatie distribuita. Istoria 8M a fost marcata de probleme privind interoperabilitatea diverselorlimba(e de programare' cu toate ca exista un anumit grad de interoperabilitate intrelimba(ele necontrolate 5unmanaged6, acesta este departe de a fi ideal. #e exemplu,programatorii ?? produc componente #&& care nu pot fi utilizate de :isual 3asicsau limba(ele de scripting. Multe din tipurile din ?? sunt desemnate pentru vectori,pointeri sau alte tipuri care nu sunt practice pentru alte limba(e sau nu se pot consuma &; asigura cel mai inalt grad de interoperabilitate, modelul de programare &; fiind bazat pe sistemul universal de tipuri 5 universal type system6, in care fiecare limba( managed este asezat deasupra si este mapat la un set de tipuri standard. /istemul de tipuri al &; defineste un set predictibil de tipuri primitive continand deexemplu, numere intregi si cu virgula flotanta. #e asemenea, 4

sistemul de tipuridefineste clasele standard pentru alte tipuri, precum String, Array iar limba(ele .NET ofera cuvinte cheie care sunt mapate direct catre tipurile integrate in &;. #eexemplu, :isual 3asic.NET ofera cuvantul cheie Integer al carui echivalent in @ este int, ambele tipuri fiind mapate direct la tipul /7stem.IntA1 din &;. &; este imbunatatit fata de 8M prin standardizarea unui set de tipuri care este parta(at de toate limba(ele managed. #e exemplu, sistemul de tipuri ofera tipuri integrate pentru unsigned integer, care sunt suportate in intregime de @, dar nu si de :isual 3asic.NET. acest lucru poate insemna faptul ca pot exista dezvoltatori care ca creeze componente care sa expuna unsigned integer in maniere imposibil de utilizat in alte limba(e. Termenul managed 5controlat " gestionat6 semnifica faptul ca un cod sau limba( are nevoie de Common Language Runtime pentru a fi executat, spre deosebire de codul simplu, care nu necesita motorul &;. !entru a preveni situatii ca cele de mai sus s*a creat un document numit Common Language Specification 5 &/6 in care este definit un subset de tipuri si facilitati &; pe care componentele si limba(ele trebuie sa le suporte pentru a interopera cu alte limba(e managed. /istemul de tipuri al &; se bazeaza in cea mai mare parte pe mostenire, intregul sistem de tipuri fiind bazat pe o ierarhie de mostenire unica. Toate tipurile uilizate pentru a crea obiecte deriva in cele din urma din radacina Syste,Ob ect. In momentul in care se creeaza o clasa fara a se mosteni in mod explicit alta clasa, noua clasa creata mosteneste in mod implicit System!Ob ect.

Aplicatii Web in ASP.NET


A/!.NET este mai mult decat urmatoarea versiune de Active /erver !ages, fiind o platforma unificata de dezvoltare care ofera serviciile necesare dezvoltarii de aplicatii web. In timp ce A/!.NET ofera o sintaxa asemanatoare A/!, ele pun ladispozitie si un nou model de programare si infrastructura pentru aplicati mai sigure,scalabile si stabile.A/!.NET este un mediu bazat pe .NET in care se pot dezvolta aplicatii in orice limba( compatibil .NET 5:3.NET, @, !erl.NET, etc.6 in plus, +ramewor,*ul.NET fiind disponibil oricarei aplicatii A/!.NET. !rintre beneficiile acestei tehnologii se numara$ mediul de executie controlat, siguranta tipului, mostenire, cache, scheme de autentificare, etc. #ezvoltatorii pot alege sau combina aplicatiile A/!.NET sub forma de formulare web si "sau servicii web. Astfel, formularele web permit construirea de pagini de web bazate pe formulare care contin elemente simple care pot fi programate pentru anumite sarcini. /erviciile web bazate pe %M& ofera mi(loacele de acces la functionalitatea unor servere la distanta prin care se pot expune interfete de programare pentru accesul la datele "

sau logica unei afaceri, toate acestea prin protocoalele standard 4TT! si %M&. In plus, serviciile web nu sunt legate de o anumita componenta tehnologica sau o conventie de apelare a obiectelor. Modelul obiectual al A/!.NET s*a schimbat semnificativ de la A/! BCDE, transformandu*se intr*unul mai structurat si orientat*obiect. #in nefericire pentru programatorii care utilizau Active /erver !ages, noul model nu este in intregime compatibil cu versiunea anterioara, aproape fiecare pagina trebuind sa fie modificata pentru a rula sub A/!.NET. In plus, schimbarile ma(ore aduse :isual 3asic implica faptul ca paginile A/! scrise cu :isual 3asic /cripting Edition nu pot fi portate direct in A/!.NET. #e asemenea, accesarea bazelor de date din aplicatiile A/! este o tehnica frecventa, iar noua versiune A/!.NET aduce, pe langa imbunatatiri multiple, si necesitatea transformarii codului existent.

Configuratia ASP.NET
+acilitatile de configuratie ale A/!.NET sunt continute intr*o infrastructura extensibila care permite dezvoltatorilor sa defineasca setari de configuratie la prima instalare a aplicatiilor, astfel incat pot fi adaugate sau modificate setarile curente in orice moment, cu un impact minimal asupra aplicatiilor )eb operationale sau serverelor. /istemul de configuratie al A/!.NET presupune ca$ * informatia pentru configuratie este stocata in fisiere text intr*un format bazat pe %M& care se poate modifica fie manual, fie utilizand un editor "parser %M& standard' * fiecare director sau aplicatie poate avea propriul fisier de configurare numit web!config, configuratie care se aplica directorului curent si subdirectoarelor acestuia. #e asemenea, configuratia aflata in fisierele din subdirectoare poate mosteni configuratia din directorul parinte sau o poate suprascrie. +isierul general de configuratie numit mac"ine!config si aflat in directorul $)inNTMicrosoft.NET+ramewor, versiuneconfig contine setarile pentru intregul server de web. In momentul executiei, A/!.NET utilizeaza configuratia din fisierele de configuratii pentru a calcula o colectie de setari de configuratie pentru fiecare resursa 9;&, aceste setari fiind pastrate pentru toate cererile urmatoare la resursa respectiva. A/!.NET detecteaza schimbarile in fisierele de configuratie si aplica in mod automat noile setari resurselor afectate fara ca serverul web sa fie repornit pentru ca 6

schimbarile sa intre in vigoare. !e langa setarile existente, se pot adauga noi parametrii de securitate si se pot scrie proceduri pentru manipularea acestora. /etarile sunt prote(ate de accesul din exterior prin configurarea II/ astfel incat nu este permis accesul la aceste fisiere.

Tema lucrarii
3ucrarea are ca tema 4Aplicatie diagnostic si tratament(. prin5 fluidi!area si im&unatatirea fluxului de lucru dintr6un centru medical de dia#no tic i tratament ac%izitionarea i #e tionarea unui )olum ridicat de date medicale de pre pacienti 0Fi a .lectronica a ,acientului1 eliminarea transferului dosarelor fi!ice in interiorul or#anizatiei 7 i temului punerea la di pozitia per onalului medical de informatii in timp real de pre datele medicale inte#rate ale pacientului a i#urarea unei securitati sporite a informatiei -ece itatea unei a tfel de aplicatii 8eb porne te de la ideea ca medicina moderna pre upune i o c%imbare a mentalitatii pacientilor de pre propria anatate( o c%imbare a atitudinii in relatia medic6pacient i realizarea unui climat propice comunicarii permanente in beneficiul pacientilor. Scopul aplicatiei e te realizarea unui produ oft8are care a vina in a)utorul unui numar cat mai mare de utilizatori( atat per onal al centrului medical cat i pacienti. Ace t lucru avanta)eaza foarte mult medicii( care utilizeaza din ce in ce mai mult domeniul 9/ in practica lor medicala. : aplicatie 8eb e te o aplicatie ce ruleaza prin intermediul unui navi#ator #en 9nternet .xplorer( -et cape( Mozilla( :pera( au a altor navi#atoare a emenea celor mentionate. Marele avanta) al unei a tfel de aplicatii e te ca nece ita re ur e minime de in talare i intretinere i ofera intrea#a putere a cla icelor aplicatii de ;top. :fera utilizatorilor o interfata unica de utilizare( ceea ce implica c%eltuieli minime de intretinere i uport clienti. Aplicatia ruleaza in i temul client6 erver i permite acce ul la un et centralizat de date. informatica pentru un centru medical de

,rin acea ta aplicatie e dore te imbunatatirea eficientei operationale a actului medical

&

9ntr6un mediu economic deo ebit de dinamic( prezenta pe internet a devenit o nece itate( un ite 8eb reprezentand ima#inea firmei oriunde in lume( indiferent de ora( oferind informatii pertinente de pre activitatea companiei vizitatorilor intere ati. Site6urile prin interfata prietenoa a cu utilizatorul ofera un plu de culoare i dinami m. !atele pot fi centralizate prin intermediul unei baze de date( ite6ul putand prezenta a tfel utilizatorilor rapoarte dinamic create( rezultate ale diver elor cautari( etc. Aplicatia i i propune a ra punda cu ucce problemelor pe care le ridica la momentul actual i temul de anatate din <omania5 nece itatea de a livra ervicii medicale de o calitate i eficienta cre cuta in conditiile unui bu#et care trebuie controlat din ce in ce mai trict( i a unei le#i latii in c%imbare in ceea ce prive te a i#urarile de anatate publice i private. <ealizarea aplicatiei e bazeaza pe proce ul unificat de dezvoltare oft8are 0=S!,1( pentru analiza i proiectarea orientata obiect a fo t ale limba)ul unificat de modelare =M3( pentru modelarea vizuala a fo t utilizat in trumentul CAS. <ational <o e( iar in implementare a fo t alea a platforma .-./ de la Micro oft 0C+( AS,1( i temul de #e tiune al bazei de date fiind Micro oft S>3 Server.

Capitolul 1. Descrierea domeniului de aplicatie


1.1 Studiul cerintelor

,roblema propu a pre rezolvare e incadreaza in domeniul medical i are ca cop imbunatatirea activitatii Centrului Medical de !ia#no tic i /ratament 4!9A/<A4( prin realizarea unei aplicatii 8eb. :biectivul centrului medical e te de a oferi ervicii care a ra punda unor cerinte medicale exi#ente de profe ionali m( i#uranta i confort. 9n cadrul Centrului Medical de !ia#no tic i /ratament 4!9A/<A4 exi ta cabinete medicale care ofera con ultatii pacientilor au laboratoare care efectueaza analize. Se pune problema pro#ramarii pacientilor pentru ace te ervicii i apoi a calcularii i facturarii umelor de plata rezultate./oate ace te operatii e vor efectua pe calculator prin intermediul unei aplicatii 8eb( iar informatiile vor fi tocate intr6o baza de date. ,rin realizarea aplicatiei informatice e urmare te eficientizarea procedurilor de pro#ramare i facturare a erviciilor oferite( dar i a modului de informare a pacientilor i a medicilor. 'a fi a tfel nece ar a e poata oferi in orice moment ituatii dupa diferite criterii. ,entru a impiedica efectuarea de in crieri fictive care ar conduce la pierderi importante de timp( e vor folo i conturi i parole de autentificare. ,entru fiecare tip de utilizator e impune realizarea unui modul independent ce va a i#ura uportul total pentru ati facerea in timp real a nece itatilor.

1. .

*odelul ca!urilor de utili!are


8

9n urma de crierilor facute in tudiul cerintelor e contureaza urmatoarele ca!uri de utili!are+ ? admini trare i tem 6 actualizeaza baza de date pentru centrul de dia#no tic i #e tioneaza utilizatorii i temului ? autentificare utilizator 6 permite introducerea contului i a parolei in vederea pro#ramarii ? pro#ramare con ultatii 6 in crierea pacientului autentificat la unul din medicii care ofera con ultatii de pecialitate ? vizionare ervicii 6 permite navi#are in li ta erviciilor din cadrul Centrului Medical de !ia#no tic i /ratament ? vizionare pro#ramari 6 permite parcur#erea li tei cu pro#ramari ? realizare con ultatii 6 inre#i treaza in fi a pacientului datele con ultatiei ? in crie pacienti 6 pro#rameaza pacientii la erviciile medicale ? facturare ervicii 6 calcularea umelor de plata i facturarea lor. Actorii care interactioneaza cu i temul unt urmatorii5 ? admini trator i temului i tem 6 admini treaza baza de date a i temului i #e tioneaza utilizatorii

? pacient 6 vizioneaza erviciile medicale( e autentifica i e pro#rameaza la erviciile medicale ? medic 6 e autentifica( vizioneaza li ta pro#ramarilor( con ulta pacientii ? operator 6 e autentifica( in crie pacientii la diferite ervicii medicale( emite facturi pentru erviciile medicale efectuate ? vizitator 6 vizioneaza erviciile medicale !ia#rama #enerala a cazurilor de utilizare e te prezentata in ,igura 1.1 i cu a)utorul ei e poate delimita aria de cuprindere a i temului i e pot identifica cerintele.

,igura 1.1 !ia#rama #enerala a cazurilor de utilizare

Detalierea ca!urilor de utili!are


Autentificare utilizator5 <ealizeaza operatia de autentificare pentru un utilizator al pro#ramului. Actori: medic( operator( pacient( admini trator aplicatie. Flux principal de evenimente: actiunile efectuate de utilizator unt urmatoarele5

Introducere identificator utilizator si parola. Programul verifica corectitudinea informatiilor introduse. Daca informatiile sunt corecte, atunci se permite accesul utilizatorului in sistem, iar cazul de utilizare se incheie.

Flux alternativ de evenimente5 daca informatiile nu unt corecte5



Se afiseaza un mesaj de eroare si se solicita reintroducerea informatiilor pentru autentificare. Utilizatorul poate reincerca autentificarea, deci se reia cazul de utilizare cu fluxul principal de evenimente.

1$

Utilizatorul renunta, cazul de utilizare luand sfarsit.

Administrare5 !e crie ecventele de actiuni prin care e adau#a7modifica7 ter# informatiile de pre utilizatorii aplicatiei i prin care e actualizeaza li ta de ervicii oferite. Actori5 admini trator i tem Flux principal de evenimente+ actiunile executate de admini trator( atunci cand adau#a un nou utilizator( unt5

Include cazul de utilizare autentificare utilizator pentru logarea utilizatorului cu drept de administrator. Seteaza identificator si parola pentru utilizator. Seteaza drepturile de utilizare a aplicatiei. Adauga informatii suplimentare despre utilizator. Salveaza in baza de date.

Postconditii: informatiile de pre utilizator unt tocate in baza de date( el putandu6 e conecta la aplicatie.

!ia#rama detaliata a cazului de utilizare administrare e te prezentata in ,igura 1. .

,igura 1. !ia#rama detaliata a cazului de utilizare administrare Programare5 <ealizeaza operatia de pro#ramare a pacientului la medic. 11

Actori5 pacient( medic( operator. Flux principal de evenimente5 actiunile executate de utilizator( atunci cand adau#a o noua pro#ramare( unt5

Include cazul de utilizare autentificare utilizator pentru logarea utilizatorului cu drept de inregistrare programare. Selecteaza medicul, data si ora la care se va face programarea. izualizeaza informatiile introduse si asteapta confirmarea sistemului. Salveaza in baza de date.

Flux alternativ de evenimente5 !aca inre#i trarea informatiilor 6a inc%eiat cu eroare( e afi eaza un me a) core punzator i e reia cazul de utilizare. Preconditii: 9nformatiile de pre medicul ce va face con ultatia( informatii ce trebuie c introdu e in baza de date. Postconditii: ,ro#ramarea e inre#i treaza in baza de date. !ia#rama detaliata a cazului de utilizare programare e te prezentata in ,igura 1.3.

,igura 1.3 !ia#rama detaliata a cazului de utilizare programare 12

Realizare consultatie5 !e crie operatia de realizare con ultatie. Actori5 medic. Flux principal de evenimente: Actiunile efectuate la realizarea unei con ultatii unt5

Include cazul de utilizare autentificare utilizator pentru logarea medicului Posibilitatea vizualizarii istoricului pacientului prezent la consultie !ompletarea fisei pacientului cu informatiile corespunzatoare consultatiei Inregistrarea consultatiei in baza de date.

Preconditii5 ,acientul trebuie a fie pro#ramat la con ultatie. Postconditii: Con ultatia e inre#i treaza in baza de date. !ia#rama detaliata a cazului de utilizare reali!are consultatie e te prezentata in ,igura 1.#.

,igura 1.# !ia#rama detaliata a cazului de utilizare reali!are consultatie Vizualizare programari5 :fera po ibilitatea utilizatorului de a vizualiza pro#ramarile dintr6o anumita zi. Actori5 medic. Flux principal de evenimente5

Include cazul de utilizare autentificare utilizator pentru logarea medicului. Se selecteaza ziua dorita pentru a vizuliza programarile. Se pot vizualiza informatii despre pacientii programati in ziua respectiva.

13

Preconditii: 9nformatiile ce prive c pro#ramarile ce trebuie c introdu e in baza de date. !ia#rama detaliata a cazului de utilizare reali!are consultatie e te prezentata in ,igura 1.-.

,igura 1.- !ia#rama detaliata a cazului de utilizare reali!are consultatie Vizualizare servicii5 ,ermite utilizatorilor a vizualizeze erviciile oferite de centrul medical de dia#no tic i tratament. Actori: pacient( vizitator. Flux principal de evenimente5

Selecteaza tipul de servicii dorite "consultatii sau analize#. izualizeaza informatiile dorite.

Preconditii5 9nformatiile ce prive c erviciile ce trebuie c introdu e in baza de date. nscrie pacient5 <ealizeaza in crierea unui pacient in baza de date. :peratia nu e te permi a unui utilizator neinre#i trat( pentru a nu e inre#i tra pacienti fictivi. Actori5 operator. Flux principal de evenimente:

Include cazul de utilizare autentificare utilizator pentru logarea operatorului. Se preiau datele pacientului ce se va inregistra. Se inregistreaza in baza de date.

Postconditii5 ,acientul a fo t in cri in baza de date. Facturare5 <ealizeaza facturarea erviciilor. 14

Actori5 operator. Flux principal de evenimente5



Include cazul de utilizare autentificare utilizator pentru logarea operatorului. $iecare serviciu dorit este introdus in factura. $actura este inregistrata in baza de date.

Flux alternativ5 daca inre#i trarea informatiilor 6a inc%eiat cu eroare( atunci e #enereaza un me a) i e propune reintroducerea ace tora. Preconditii5 exi ta o comanda de c%i a Postconditii5 6a realizat inre#i trarea in #e tiunea firmei. !ia#rama detaliata a cazului de utilizare facturare ser)icii e te prezentata in ,igura 1.$.

,igura 1.$ !ia#rama detaliata a cazului de utilizare facturare ser)icii !ia#rama detaliata a cazurilor de utilizare e te prezentata in ,igura 1.7.

1"

,igura 1.7 !ia#rama detaliata a cazurilor de utilizare 16

1.3.

Cerinte de interfata

Aplicatia va avea o interfata intuitiva cu utilizatorul pentru a permite o interactiune cat mai facila cu operatorul uman. =tilizatorul trebuie a aiba doar notiuni elementare de pre utilizarea unei aplicatii cu interfata #rafica precum i de pre navi#area in cadrul unui ite 8eb. :btinerea unei interfete intuitive e realizeaza prin inte#rarea naturala a elementelor de raportare( analiza i monitorizare a performantelor activitatilor. !e a emenea( prezentand o ar%itectura calabila i o in#ura metadata( utilizatorii pot navi#a cu u urinta de la meniuri i tabele de performanta catre rapoarte i analize fara a fi nevoiti a folo ea ca o multitudine de in trumente i a interactioneze cu diver e interfete. Se dore te ca aplicatia a fie un produ oft8are acce ibil oricarei cate#orii de utilizatori ai unui calculator. /otu i( avand in vedere complexitatea aplicatiei( e te nece ara realizarea unor interfete dedicate in functie de rolul utilizatorului5 admini trator( operator( medic( pacient.

1.#.

Alte aplicatii informatice utili!ate in domeniu

,ana in prezent au fo t create foarte multe aplicatii informatice care au ca obiectiv mana#ementul unitatilor medicale cu diferite pecializari. Ace tea unt mai imple au mai complexe( oferind o #ama mai re tran a au mai lar#a de facilitati. ,rezentam in continuare cateva din aplicatiile exi tente in domeniul medical. ,rincipalul produ oft8are dezvoltat i comercializat de %riliant Tec.nologies e nume te %rildent i e te un pro#ram de tinat cabinetelor i clinicilor de tomatolo#ie i ofera olutia completa de #e tiune( de urmarire a pacientilor i a tratamentelor efectuate. Cu %rildent medicii tomatolo#i i mana#erii cabinetelor tomatolo#ice pot urmari ituatia pacientilor( a tratamentelor care au fo t efectuate( platile efectuate de pacienti( perioadele de rec%emare a pacientilor( inca arile zilnice i totale efectuate de un medic au de toti medicii care lucreaza in cabinetul au clinica de tomatolo#ie. Site6ul .ttp+//000.medicalcit1.ro/inde'..tml ofera doar o prezentare a clinicii medicale. !e i prezentarea e te de tul de detaliata( ite6ul nu permite i pro#ramarea online a pacientilor( acea ta realizandu6 e prin completarea unui formular( necuno candu6 e orele di ponibile pentru medicul olicitat. 2ospital *anager 0@M1 e te un i tem complet de admini trare a tuturor fluxurilor informationale dintr6un pital modern( public au privat5 fi a electronica medicala a pacientului( or#anizare i planificare activitati departamente( informatii financiare i co turi( raportare pecifica forurilor uperioare i mana#eriale. @M ofera mana#erilor de pe orice nivel informatia exacta a upra tarii de anatate i a co turilor in#ri)irii profe ionale a pacientilor din unitatea lor. Ace t produ e te folo it la Spitalul =niver itar de =r#enta( *ucure ti i la 9n titutul de *oli 9nfectioa e A,rofe or !r. Matei *al A.

1&

Site6ul Centrului Medical de !ia#no tic i /ratament 4'ictor *abe 4 .ttp+//000.cdt3 &a&es.ro/ ofera doar o prezentare a centrului medical. !e i ace t centru e te cu renume( di pune de per onal medical foarte bine pre#atit i are in dotare aparatura medicala de ultima #eneratie( prezentarea pe ite e te de tul de umara( iar pro#ramarea pacientilor e poate face doar telefonic. SI*A* 4Sistem Integrat de *onitori!are a Acti)itatii *edicale5 e te o aplicatie care monitorizeaza activitatea medicala de fa urata intr6un pital care are i ambulatoriu de pecialitate( urmarind realizarea actului medical de la biroul de internari( in cadrul ectiei( in farmacii( in laboratoare i pana la ie irea pacientului din pital inre#i trand co turile efectuate. 9ntrea#a activitate pitalicea ca 0medicala i financiara1 poate fi urmarita prin intermediul aplicatiei S9MAM. Aplicatia e te con truita modular( urmare te co turile #enerate de actul medical( activitatea medicala de fa urata( ra punde cerintelor de raportare la diferite nivele. Se adre eaza pitalelor fara ambulatoriu au pitalelor cu ambulatoriu de pecialitate. =rmeaza a fi dezvoltata o interfata 8eb de con ultare 4!o ar anatate pacient4( pe baza de parola i c%eie de acce . 9n urma analizarii ace tor aplicatii 6a a)un la concluzia ca ar fi utila o imbinare a i temului de #e tiune a activitatii medicale cu ite6ul de prezentare i pro#ramare online. 9n ace t mod( toate cate#oriile de utilizatori implicate vor avea acce la aceea i baza de date( medicul avand po ibilitatea a6 i urmarea ca pacientii( iar ace tia a vada exact orele care unt di ponibile pentru con ultatii.

Capitolul . Anali!a
.1 ,lu'ul de e)enimente in reali!area o&iecti)elor aplicatiei

%ealizarea fluxului de evenimente consta in modelarea circuitului mesajelor intre obiecte si a interactiunilor dintre acestea.

.1.1 Diagrame de sec)enta


!ia#ramele de ecventa de criu cronolo#ic interactiunea obiectelor( identificand me a)ele c%imbate intre obiecte ca ra pun la un eveniment( impreuna cu ecventa me a)elor. Cu a)utorul dia#ramelor de ecventa e realizeaza o prima vizualizare a intercomunicarii cla elor. Scopul e te intele#erea ordinii evenimentelor. ,e ma ura ce ordonarea devine tabila( un eveniment devine o operatie pecifica pe care o initializeaza obiectul receptor. !ia#rama de ecventa pentru programarea pacientului la medic e te reprezentata in ,igura .1.

18

,igura

.1 !ia#rama de ecventa pentru programare

,a ii parcur i de un pacient pentru a obtine o pro#ramare la un medic unt de cri i in continuare. ,acientul e autentifica introducand un alia i o parola. Si temul valideaza datele introdu e urmand ca pacientul a primea ca confirmarea de lo#are daca datele au fo t corecte. 9n continuare( pacientul i i ale#e medicul dorit dintr6o anumita pecializare i vizualizand pro#ramul ace tuia opteaza pentru o data i o ora di ponibile i convenabile pentru el. Ale#erea facuta e te inre#i trata in baza de date.

1?

!ia#rama de ecventa pentru consultatie e te reprezentata in ,igura . .

,igura

!ia#rama de ecventa pentru consultatie

,a ii parcur i de un medic pentru a inre#i tra o con ultatie unt de cri i in continuare. Medicul e autentifica introducand un alia i o parola. Si temul valideaza datele introdu e urmand ca medicul a primea ca confirmarea de lo#are daca datele au fo t corecte. 9n continuare( medicul verifica daca pacientul e te in baza de date i daca exi ta pro#ramarea i daca e te ac%itata. Con ultatia facuta e te inre#i trata in baza de date.

.1.

Diagrame de cola&orare

: interactiune intere anta e produce intre dia#ramele de ecventa i dia#ramele de colaborare( ambele dia#rame furnizand puncte de vedere diferite ale aceleia i informatii.

2$

!ia#rama de colaborare permite focalizarea a upra unei anumite cla e i a)uta la rafinarea dia#ramei cla elor( adau#and atribute i operatii.

!ia#ramele de colaborare pentru programare i consultatie unt reprezentate in ,igurile .36 re pectiv .#. i arata le#atura tuturor operatiunilor unei anumite cla e. ,entru fiecare operatie e te aratat obiectul tinta i orice alt obiect pe care il olicita pentru a implementa operatia.

21

,igura

.3 !ia#rama de colaborare pentru programare

,igura

.# !ia#rama de colaborare pentru consultatie

!upa cum e poate vedea din ,igurile .3 i .# prezentate anterior( dia#rama de colaborare( prin faptul ca filtreaza timpul au examinarea ecventiala a cenariului pentru a tudia a ocierile tatice i comportamentele dinamice ale obiectelor implicate in interactiune( a)uta la clarificarea contextului.

9n Ane'a 1 unt prezentate dia#ramele de ecventa i colaborare pentru facturare. 22

*odelarea claselor de o&iecte

Cea mai importanta dia#rama in cadrul analizei i proiectarii orientate obiect e te dia#rama cla elor( al carei cop e te de a tructura natura tatica a cla elor . !ia#rama cla elor e te reprezentata in ,igura 2.". i contine cla ele i a ocierile dintre cla e.

,igura .- !ia#rama cla elor =n cont apartine unui in#ur pacient au medic. =n medic au pacient are niciunul au un cont.

23

=n pacient face niciuna au mai multe programari. : programare apartine unui in#ur pacient. : consultatie apartine unui in#ur pacient. =n pacient are niciuna au mai multe consultatii. : programare apartine unui in#ur medic. =n medic are niciuna au mai multe programari. =n medic realizeaza niciuna au mai multe consultatii. : consultatie apartine unui in#ur medic. =n medic are o in#ura speciali!are. : speciali!are apartine niciunuia au mai multor medici. : speciali!are are unul au mai multe ser)icii speciali!are. =n ser)icii speciali!are apartine unei in#ure speciali!ari. =n ser)icii speciali!are are un in#ur ser)iciu. =n ser)iciu apartine unui in#ur ser)iciu speciali!are. : anali!a are un in#ur ser)iciu. =n ser)iciu apartine unei in#ure anali!e. : anali!a apartine unei in#ure categorii de anali!e. : categorie de anali!e are una au mai multe anali!e. : factura are unul au mai multe randuri factura. =n rand factura apartine unei in#ure facturi. =n rand factura are un in#ur ser)iciu. =n ser)iciu apartine unuia au mai multor randuri factura.

24

.3

. Dinamica claselor

!onform U&', o stare este o conditie sau o situatie din momentul existentei unui obiect care satisface in acel moment anumite conditii, efectueaza anumite activitati sau asteapta anumite evenimente. Diagramele de stare identifica evenimentele care fac tranzitia unui obiect dintr(o stare in alta.

!ia#rama de tare pentru obiectul programare e te reprezentata in ,igura .$( iar pentru obiectul factura in ,igura .7.

,igura .$ !ia#rama de tare pentru programare ,acientul e va autentifica in aplicatie i i i va face o pro#ramare ale#and pecializarea( medicul( data i ora dorite in functie de di ponibilitatile medicului. ,ro#ramarea va fi inre#i trata in baza de date. !aca pacientul e raz#ande te( e poate repro#rama au poate anula pro#ramarea facuta !aca pacientul a ac%itat pro#ramarea( acea ta e actualizeaza in baza de date ca fiind platita.

2"

,igura .7 !ia#rama de tare pentru factura ,entru a emite o factura noua( operatorul trebuie a e autentifice in aplicatie. 9n continuare va completa factura adau#and randurile nece are conform erviciilor pre tate. !aca pacientul ac%ita factura( acea ta devine pentru aplicatie 4platita4( in caz contrar devenind 4neplatita4. Starea facturii va fi inre#i trata in baza de date.

.#. ,lu'ul acti)itatilor

Pentru o mai buna intelegere a operatiilor, in special a celor complexe, se realizeaza diagrama de activitate. Aceasta se prezinta sub forma unei scheme logice, care arata fluxurile de control dintre activitati, si este folosita pentru a modela aspectele dinamice ale sistemului, modelarea unui proces efectuandu(se pas cu pas.

!ia#rama de activitate pentru programare e te reprezentata in ,igura .".

26

,igura ." !ia#rama de activitate pentru programare 9n momentul in care un pacient vrea a faca o pro#ramare la un medic( aplicatia va afi a pa#ina de lo#are. ,acientul va introduce alia ul i parola( urmand ca ace tea a fie validate de i tem. 9n cazul in care datele introdu e nu unt valide( utilizatorul va fi redirectionat catre pa#ina de lo#are. !aca datele unt valide( e va afi a pa#ina de tart pentru pro#ramari. ,acientul va ale#e un medic cu o anumita pecializare i va olicita pro#ramul ace tuia cu orele libere dintr6o anumita zi. 9n continuare e con truie te li ta cu orele libere ale medicului ale ( e 2&

afi eaza i e olicita pacientului a6 i alea#a ora convenabila. ,ro#ramarea va fi inre#i trata in baza de date.

.-. *odelul interfetei


(,ereastra principala( e mentine in toate pa#inile aplicatiei( continand un antet cu i#la firmei i cu un buton de lo#are7delo#are( un meniu vertical in partea tan#a a pa#inii cu optiunile5 ,rima pagina! "ervicii! #ontact! $in%&uri utile! #ontul meu! Noutati medicale. /otodata in partea de )o a fere trei apare pecificatia potrivit careia aplicatia e afla sub incidenta le#ilor de copBri#%t. (Prima pagina( contine o curta prezentare a Centrului Medical de !ia#na tic i /ratament 4!9A/<A4 i cateva ima#ini reprezentative din interiorul ace tui centru. (Ser)icii( e te o pa#ina dedicata prezentarii erviciilor oferite de centrul medical. Ace te ervicii e impart in doua cate#orii5 analize de laborator i ervicii pe pecialitati. (Contact( e te o pa#ina in care unt pu e la di pozitia utilizatorului( datele de contact ale centrului( oferindu6 e i po ibilitatea de a e tran mite imediat me a)e email catre admini tratorul aplicatiei . (7in83uri utile( e te o pa#ina de prezentare a le#aturilor utile din domeniul medical cu po ibilitatea de acce are imediata. (Autentificare( e te o pa#ina in care utilizatorul introduce alia ul i parola pentru a e lo#a. 9n cazul furnizarii unor date valide e trece la modulul core punzator tipului de utilizator lo#at. (Noutati medicale( e te o pa#ina in care unt pu e la di pozitia utilizatorului informatii de ultima ora din domeniul medical.

Modelul interfetei e te prezentat in ,igura .9.

28

medic

pacie nt

administrator

Anali!e de la&orator

,igura

.9 Modelul interfetei cu utilizatorul

Ser)icii pe specialitati

2?

Capitolul 3. Proiectare si implementare


3.1. Diagrama de clase detaliata

!ia#rama de cla e detaliata rezulta prin rafinarea dia#ramei de cla e din etapa de analiza( implementandu6 e anumite detalii precum pecificarea tipurilor atributelor. Acea ta dia#rama e te prezentata in ,igura 3.1.

,igura 3.1 !ia#rama de cla e detaliata /oate cla ele prezentate in dia#rama detaliata a cla elor permit urmatoarele operatii5

3$

Creare Modificare Ster#ere.


,rezentam in continuare modul de realizare a ace tor operatii pentru principalele cla e. Cla a *edic ,entru fiecare medic din cadrul centrului medical e memoreaza date de pre nume( data na terii( pecializare( titulatura( durata con ultatiei( precum i contul alocat pentru lo#are. 9n momentul c%imbarii unora dintre ace te date( ele e pot modifica. !e a emenea datele de pre un medic pot fi ter e. Cla a Pacient ,entru pacientii centrului medical e memoreaza date de pre nume( data na terii( ex( inaltime( #reutate( telefon( email( precum i contul alocat pentru lo#are. 9n momentul c%imbarii unora dintre ace te date( ele e pot modifica. !e a emenea datele de pre un pacient pot fi ter e. Cla a Programare Cand un pacient e pro#rameaza la medic( e memoreaza date de pre pacient( medic( data i ora planificata( urmand ca in momentul ac%itarii ace tei pro#ramari a aiba loc actualizarea ace tei informatii. !e a emenea pacientul are po ibilitatea a modifice data i ora pro#ramarii au c%iar a le anuleze.

Cla a ,actura i cla a Rand,actura Cand un pacient plate te ervicile olicitate( e emite o factura cu unul au mai multe randuri prin care e inre#i treaza date de pre erviciile re pective( moneda de ac%itare( dupa care e calculeaza totalul de ac%itat. Factura uporta modificari au poate fi anulata.

31

3. .

Diagrama de componente

!ia#rama componenelor e te un #raf de componente intre care exi ta relatii de dependenta au de compunere. Se aduna informatii din dia#rama cla elor i e creaza componente. Acea ta dia#rama e te prezentata in ,igura 3. .

,ig. 3.

!ia#rama de componente

!ia#rama componentelor modeleaza dependenta componentei oft8are in functie de codul ur a( codul binar i componentele executabile.

3.3.

Diagrama de pac.ete

=n pac%et e te un mecani m de tinat unor copuri #enerale( care or#anizeaza elementele in #rupuri. =n pac%et arata doar tructurile pe care le contine i nu arata comportamentul pac%etelor ale. 9n cadrul ace tei aplicatii e lucreaza pe o ar%itectura cu 3 nivele( prezentata in ,igura 3.3.

32

,igura 3.3 !ia#rama de pac%ete Mentionam ca in cadrul pac%etului *u ine Service e afla ituata dia#rama cla elor( iar in cadrul pac%etului !ata Service e afla c%ema bazei de date.

33

3.#

Diagrama de desfasurare

,rin intermediul dia#ramei de de fa urare componentele unt pla ate pe ec%ipamente %ard8are. Ace t tip de dia#rama( prezentata in ,igura 3.#6 detaliaza locul de ampla are a componentelor in cadrul infra tructurii i temului.

,igura 3.#. !ia#rama de de fa urare

!ia#rama de de fa urare reprezinta partitionarea componentelor i obiectelor active 0de exemplu baza de date1 pe locatia lor fizica.

3.-.

Structura &a!ei de date

*aza de date a aplicatiei( rezultata in urma analizei( a fo t denumita 4CM!/ 4 0Centru Medical de !ia#no tic i /ratament1 i e te prezentata in ,igura 3.-. .a e te tructurata in 12 tabele create cu nume u#e tive5 pacient( medic( cont( pro#ramare( con ultatie( pecializare( erviciuC pecializare( cate#orieCanaliza( analiza( erviciu( factura i randCfactura.

34

,igura 3.-. Structura bazei de date

3.-.1 Descrierea ta&elelor /abela pacient /abela in care e vor inre#i tra pacientii cu urmatoarele date5 cod contCf; nume prenume
int( c%eie primara int( c%eie externa nvarc%ar0"$1 nvarc%ar0"$1

dataCna terii datetime


3"

ex inaltime #reutate telefon email /abela medic

c%ar011 int int int nvarc%ar0"$1

/abela in care e vor inre#i tra medicii cu urmatoarele date5 cod contCf; pecializareCf; nume titulatura
int( c%eie primara int( c%eie externa int( c%eie externa nvarc%ar0"$1 nvarc%ar0"$1

durataCcon ultatie int dataCna terii /abela cont /abela in care e vor inre#i tra conturile cu urmatoarele date5 cod cnp rol alia parola
int( c%eie primara nvarc%ar0131 nvarc%ar01$1 nvarc%ar01$1 nvarc%ar01$1 36 datetime

/abela programare /abela in care e vor inre#i tra pro#ramarile cu urmatoarele date5 cod medicCf; pacientCf; ac%itata data /abela consultatie /abela in care e vor inre#i tra con ultatiile cu urmatoarele date5 cod medicCf; pacientCf; data ob ervatii /abela speciali!are /abela in care e vor inre#i tra pecializarile cu urmatoarele date5 cod denumire de criere
int( c%eie primara nvarc%ar0"$1 nvarc%ar0MAD1 int( c%eie primara int( c%eie externa int( c%eie externa datetime nvarc%ar02""1 int( c%eie primara int( c%eie externa int( c%eie externa bit datetime

/abela ser)iciu:speciali!are
3&

/abela in care e vor inre#i tra erviciile pecializare cu urmatoarele date5 cod
int( c%eie primara

pecializareCf; int( c%eie externa erviciuCf; /abela categorie:anali!a /abela in care e vor inre#i tra cate#oriile de analize cu urmatoarele date5 cod denumire
int( c%eie primara nvarc%ar0"$1 int( c%eie externa

/abela anali!a /abela in care e vor inre#i tra analizele cu urmatoarele date5 cod
int( c%eie primara

cate#orieCf; int( c%eie externa erviciuCf; int( c%eie externa /abela ser)iciu /abela in care e vor inre#i tra erviciile cu urmatoarele date5 cod denumire moneda pret /abela factura
38 int( c%eie primara nvarc%ar02""1 nvarc%ar01$1 int

/abela in care e vor inre#i tra facturile cu urmatoarele date5 cod de criere data moneda /abela rand:factura /abela in care e vor inre#i tra randurile din factura cu urmatoarele date5 codCfactura int( c%eie primara pozitie ectia
int( c%eie primara nvarc%ar0"$1 int( c%eie primara nvarc%ar0"$1 datetime nvarc%ar01$1

erviciuCf; int( c%eie externa cantitate


int

Codul ur a 0S>31 pentru acce ul la tabela 4cont4 e te prezentat in Ane'a .

3.-. Descrierea relatiilor dintre ta&ele 4legaturi5

<elatia pacient3cont e te o relatie de tipul 41 la 14 <elatia medic3cont e te o relatie de tipul 41 la 14 <elatia pacient3programare e te o relatie de tipul 41 la m4 <elatia pacient3consultatie 3?

e te o relatie de tipul 41 la m4 <elatia medic3programare e te o relatie de tipul 41 la m4 <elatia medic3consultatie e te o relatie de tipul 41 la m4 <elatia medic3speciali!are e te o relatie de tipul 4m la 14 <elatia speciali!are3ser)iciu:speciali!are e te o relatie de tipul 41 la m4 <elatia ser)iciu:speciali!are3ser)iciu e te o relatie de tipul 41 la 14 <elatia anali!a3ser)iciu e te o relatie de tipul 41 la 14 <elatia anali!a3categorie:anali!e e te o relatie de tipul 4m la 14 <elatia factura3rand:factura e te o relatie de tipul 41 la m4 <elatia rand:factura3ser)iciu e te o relatie de tipul 4m la 14

3.$.

Detalierea interfetei

!eoarece unul din copurile implementarii noa tre a fo t a dezvoltam un i tem unitar care a poata fi cu u urinta modificat( extin i actualizat in viitor( am ale pentru implementarea interfetei Eeb a produ ului( te%nolo#ia AS,.-./( care e te foarte flexibila( iar .-./ e te o platforma al carei limba) tar e te C+ i care ofera independenta fata de limba)ul de pro#ramare.

4$

3a conceperea interfetei 6a avut in vedere ca prin intermediul aplicatiei e lucreaza online( in principal pentru pro#ramarile la medic. S6a %otarat ca i#la a fie 4!9A/<A4 0de la !9A#no tic i /<Atament1( iar motto6ul a fie 4SA F9M SA-A/:S9F4 ceea ce ilu treaza foarte bine ca odata intrat in aplicatie nu te mai de parte de anatatea mult dorita( decat o pro#ramare la medic .

9lu trarea #rafica a trecerii la tarea de anatate 6a realizat u#e tiv cu a)utorul a doua fi#uri5 una tri ta i una ve ela. S6a avut in vedere conceperea unor ecrane 0pa#ini1 cat mai imple i clare( care a nu fie obo itoare i trecerea de la un ecran la altul a fie cat mai rapida. =n utilizator intrat in aplicatie e poate autentifica au nu. !aca utilizatorul nu 6a autentificat( atunci e te un implu vizitator care poate navi#a folo ind meniul din tan#a ecranului. Ace t meniu are a e optiuni( fiecare avand functii pecifice i bine definite( cu denumiri u#e tive( pentru ca utilizatorul a le folo ea ca cu u urinta.

41

=tilizatorul e poate intoarce oricand din ace t meniu la pa#ina principala( au ale#and oricare din celelate optiuni( poate trece la o pa#ina noua core punzatoare ale#erii facute. 9n cazul in care utilizatorul ale#e a e autentifice( trebuie a electeze fie optiunea 4Contul meu4 din meniul din tan#a ecranului( fie a dea clic; pe butonul 4 7ogare4 din coltul dreapta u al ecranului.

42

,entru a putea opera in aplicatie( i a efectua actiuni conform cu rolul pe care il are( utilizatorul trebuie a aiba cont( i de fiecare data va trebui a e autentifice printr6 un alia i o parola( a caror olicitare e reia pana la ta tarea corecta.

Codul ur a 4C;5 pentru operatia de lo#are e te prezentat in Ane'a . 9n functie de roluri( utilizatorii e impart in patru cate#orii5 Admini trator aplicatie :perator Medic ,acient ,entru fiecare tip de utilizator exi ta un modul independent. Administrator aplicatie Admini tratorul aplicatiei #e tioneaza erviciile oferite de centrul medical i utilizatorii aplicatiei. 'estiune servicii medicale

Ge tiunea erviciilor medicale include #e tiunea analizelor de laborator #e tiunea erviciilor pe pecialitati.

Analizele de la(orator unt #rupate pe cate#orii i admini tratorul #e tioneaza cate#oriile i in cadrul ace tora( analizele( avand po ibilitatea a efectueze operatii de adau#are7modificare7 ter#ere. Modul de lucru e te facil i intuitiv.

"erviciile pe specialitati detalii. 'estiune conturi utilizatori

unt #e tionate in mod a emanator i nu mai intram in

Ge tiunea conturilor include #e tiunea pacientilor( a medicilor i re pectiv a operatorilor. ,entru fiecare din ace te cate#orii de utilizatori( admini tratorul are po ibilitatea a efectueze operatii de adau#are7modificare7 ter#ere. Modul de lucru e te de a emenea prieteno i u or de retinut.

Codul ur a 4C;5 pentru afi area tabelei detaliate cu datele pacientilor e te prezentat in Ane'a . <perator

:peratorul are ca arcina in crierea pacientilor( pro#ramarea ace tora la medic( i facturarea erviciciilor efectuate.

,rin aplicatie operatorul are de ale intre doua variante5 #e tiune facturi au #e tiune pacienti. 'estiune facturi Cand pacientul e prezinta a ac%ite erviciile ale e( operatorul creaza factura( aplicatia permitandu6i a alea#a din meniuri o mare parte a datelor ce urmeaza a fi in cri e in factura.

Aplicatia permite calcularea in final a valorii totale a facturii. Codul ur a 4C;5 pentru crearea unei facturi cu randurile aferente erviciilor olicitate e te prezentat in Ane'a . 'estiune pacienti ,rin acea ta optiune e trece la #e tionarea datelor de pre pacienti( oferindu6 e po ibilitatea pro#ramarii ace tora la medic. *edic

Medicul are po ibilitatea a vizualizeze pro#ramarile i a le verifice pe un anumit interval de timp. ,entru efectuarea unei con ultatii( e te nece ar ca acea ta a fie platita. ,rin aplicatie e face acea ta verificare i nu e permite inre#i trarea con ultatiei inainte de a fi platita. !upa con ultarea pacientului( e inre#i treaza in baza de date informatiile cu privire la con tatarile facute( urmand ca ace tea a poata fi revazute de medic cu alte ocazii.

3a urmatoarele con ultatii ale aceluia i pacient( medicul prin optiunea 4cauta pacient4 re#a e te datele anterioare.

!upa re#a irea pacientului in baza de date e pot obtine informatii cu privire la i toricul pacientului( au e poate face o pro#ramare pentru o data ulterioara( daca medicul con idera ca e te nece ar.

'izualizarea con ultatiilor de catre medic e face cu a)utorul butonului 4Con ultatii4 .

Pacient ,acientul poate a6 i vada pro#ramarile pe un anumit interval de timp( cu po ibilitatea de a le filtra dupa medic au pecializare. !e a emenea i i poate repro#rama au c%iar anula con ultatia la medic.

Codul ur a pentru formatarea pa#inii a p pentru afi area pro#ramarilor unui pacient e te prezentat in Ane'a . ,entru pro#ramare( pacientul are po ibilitatea a alea#a data c%iar din calendarul afi at prin aplicatie( urmand ca apoi a i e afi eze orele di ponibile i a alea#a o ora convenabila. 9n ace t fel e inlatura uprapunerea pro#ramarilor care ar perturba vizitele la medic.

Codul ur a 4C;5 pentru ale#erea din calendar a datei unei pro#ramari e te prezentat in Ane'a . <ptiunea (Contact( ,rin electarea ace tei optiuni e afi eaza date informative de pre Centrul de !ia#no tic i /ratament !9A/<A5 adre a( telefon( fax( mobil. /otodata utilizatorul are po ibilitatea a trimita un email centrului de dia#no tic i tratament. <ptiunea (7in83uri utile( 9n urma electarii ace tei optiuni e afi eaza o erie de lin;6uri care unt nece are utilizatorului pentru a afla diver e informatii medicale de care are nevoie la un moment dat. <ptiunea (Noutati medicale( ,rin electarea ace tei optiuni utilizatorul poate afla tiri noi din lumea medicala. Acea ta pa#ina e te permanet actualizata( ea reprezentand o atractie pentru utilizator( prin rolul ei informativ.

Conclu!ii
!omeniul medical a fo t abordat in multe aplicatii( dar e te nece ar ca noile aplicatii( a fie cat mai diver ificate i a e apropie tot mai mult i intr6un mod prieteno de cerintele ace tui domeniu. 3ucrarea de fata i i propune a tudieze i a aduca contributii in domeniul medical in conditiile in care e re imte din ce in ce mai mult nece itatea unor ar%itecturi cat mai flexibile care a permita adaptarea cu u urinta la c%imbarile care apar permanent. Aplicatia realizata pentru Centrul medical de dia#no tic i tratament !9A/<A( e adre eaza atat medicilor cat i pacientilor( fiind utila i nece ara pentru imbunatatirea eficientei operationale a activitatii medicale din ace t centru. ,entru a putea fi acce ata de un numar cat mai mare de utilizatori( aplicatia 6a concretizat intr6un produ oft8are de tipul aplicatie 8eb( avand in vedere atat per onalul pitalului cat i pacientii( dar i exi tenta unui admini trator de i tem. 9nterfata 8eb pentru client e te cu i#uranta pa ul te%nolo#ic ce trebuie a6l faca toti furnizorii de olutii i aplicatii informatice. Concentrarea Ainteli#enteiA pe erver permite implificarea proce ului de up#rade i intretinere( co t redu de productie i te tare( time to mar;et redu ( rezolva probleme de compatibilitate etc. ,rintre atributele6c%eie ale aplicatiei realizate e numara caracteri tica de platforma inte#rata ce elimina obli#ativitatea de a utiliza mai multe produ e di tincte( provenite de la diver i producatori( pentru raportare( analiza i monitorizare a performantelor. Alte atuuri unt capacitatea de raportare dinamica( utilizarea unui model de date centralizat i unificat( precum i exploatarea i mentenanta facila a i temului. ,erformantele companiei depind a tazi de #radul de adaptare a i temului 9/ la obiectivele #enerale ale afacerii. : platforma de *u ine 9ntelli#ence capabila a a i#ure acce rapid la date i a furnizeze informatii de inteza i de analiza a performantelor centrului medical con tituie un atu puternic in mediul concurential. !in ace te con iderente( 6a pu la di pozitia clientilor un i tem inte#rat ce include olutiile pre#atite a ra punda nevoilor lor pecifice( incluzand i o noutate5 realizarea online a pro#ramarilor la medic cu punerea la di pozitia pacientului a orelor di ponibile. Mentionam ca ite6urile din domeniu nu permit i pro#ramarea online a pacientilor( acea ta realizandu6 e prin completarea unui formular( necuno candu6 e orele di ponibile pentru medicul olicitat. ,entru functionarea eficienta a unui centru medical( in care atentia a fie concentrata intr6adevar a upra pacientului( nu e te uficienta numai exi tenta unor

ec%ipamente de dia#noza i monitorizare medicala( ci e te nece ara o iner#ie la nivelul intre#ii or#anizatii. 9n ceea ce prive te pacientul( rularea aplicatiei prin utilizarea unui navi#ator #en 9nternet .xplorer permite pro#ramarea la doctor intr6un mod nu numai util dar i placut. 9n timpul acce arii ite6ului utilizatorii care dore c a faca efectiv pro#ramari e autentifica a tfel incat au i#uranta datelor tran mi e i a pro#ramarilor efectuate. Site6ul e te deo ebit de util i medicilor care i i pot urmari pacientii pro#ramarile ace tora la un moment dat. i

'izitatorii care nu dore c o pro#ramare imediata pot afla datele de pre medicii i analizele din cadrul Centrului medical de dia#no tic i tratament !9A/<A( urmand a revina ceea ce reprezinta o buna publicitate pentru centrul re pectiv. ,rin utilizarea aplicatiei vor rezulta importante beneficii atat pentru medicii din pital( cat i pentru per onalul admini trativ( contribuind la imbunatatirea calitatii a i tentei pacientilor i( in acela i timp( la reducerea co turilor( a i#urand o calitate deo ebita a actului medical.

Ane'a 1
Diagrama de sec)enta pentru facturare

Diagrama de cola&orare pentru facturare

An e'a
Codul sursa 4C;5 pentru operatia de logare
protected void btnLogare_Click(object sender, EventArgs e)

else

} else

Codul sursa 4C;5 pentru afisarea ta&elei detaliate cu datele pacientilor


private DataTable ContruisteListaPacienti(string tipLista)

string cnp string alias string parola string inalti!e string greutate string tel "oreac# (Pacient obj in pacienti)

i" (obj$%nalti!e &' () inalti!e ' obj$%nalti!e$To)tring() i" (obj$*reutate &' () greutate ' obj$*reutate$To)tring() i" (obj$Tele"on &' () tel ' obj$Tele"on$To)tring()

lista$+o,s$Add(ne, string-. ) } return lista }

Codul sursa 4C;5 pentru crearea unei facturi cu randurile aferente ser)iciilor solicitate
protected void btnAdauga_Click(object sender, EventArgs e)

+and/actura obj+and ' ne, +and/actura() obj+and$Po0itie ' obj/actura$+anduri$Count 1 2 obj+and$Cantitate ' int$Parse(t3tCantitate$Te3t) obj+and$)ectia ' ddl)ectie$)elected%te!$Te3t obj+and$)erviciu ' )erviciu45$*et)erviciu(int$Parse(ddl)erviciu$)elected6alue)) obj/actura$+anduri$Add(obj+and) *rid6ie,2$Data)ource ' ConstruiesteLista+anduri(obj/actura) *rid6ie,2$Data4ind() )ession$+e!ove(7obj/actura7) )ession$Add(7obj/actura7, obj/actura) } catc#

} protected void btn)alvea0a_Click(object sender, EventArgs e)

Codul sursa 4C;5 pentru alegerea din calendar a datei unei programari
protected void Calendar2_)electionC#anged(object sender, EventArgs e)

Progra!are objProgra!are ' ne, Progra!are() objProgra!are$8edic ' ne, 8edic() objProgra!are$8edic$Cod ' int$Parse()ession-7cod8edic7.$To)tring()) objProgra!are$Data ' Calendar2$)electedDate %List9Progra!are: progra!ari ' Progra!are45$*etProgra!are4;8edic<i(objProgra!are) "oreac# (Progra!are obj in progra!ari)

} else

} }

Codul sursa pentru formatarea paginii asp pentru afisarea programarilor unui pacient
9=> Page Language'7C?7 AutoEvent@ireup'7true7 Code/ile'7)tart$asp3$cs7 %n#erits'7Pacient_)tart7 =: 9&D5CTAPE #t!l PB4L%C 7CDD@ECDDDTD FGT8L 2$( TransitionalDDEH7 7#ttpIDD,,,$,E$orgDT+D3#t!l2DDTDD3#t!l2Ctransitional$dtd7: 9#t!l 3!lns'7#ttpIDD,,,$,E$orgD2JJJD3#t!l7 : 9#ead runat'7server7: 9title:Bntitled Page9Dtitle: 9D#ead: 9bod;:

9"or! id'7"or!27 runat'7server7: 9div: 9table st;le'7,idt#I2((= #eig#tI2((=7 align'7center7: 9tr: 9td: Pacient9Dtd: 9Dtr: 9Dtable:

9table st;le'7,idt#I2((=

#eig#tI2((=7 align'7center7: 9tr:

9td:9aspILabel %D'7lblPacient7 runat'7server7 Te3t'77:9DaspILabel:9Dtd: 9Dtr: 9tr: 9td: 9aspI4utton %D'7btnProgra!are7 runat'7server7 Te3t'7Progra!are noua7 5nClick'7btnProgra!are_Click7 D: 9Dtd: 9td: 9aspI4utton %D'7btn+eprogra!are7 runat'7server7 Te3t'7+eprogra!are7 5nClick'7btn+eprogra!are_Click7 D:9Dtd: 9td: 9aspI4utton %D'7btnAnulare7 runat'7server7 Te3t'7Anulare7 5nClick'7btnAnulare_Click7 D:9Dtd: 9Dtr: 9Dtable: 9aspILabel %D'7lbl8esaj7 runat'7server7 Te3t'77 /oreColor'7red7:9DaspILabel: 9table: 9tr: 9td: 9aspILabel %D'7lbl%ntervat7 runat'7server7 Te3t'7Progra!arile din intervalulI7:9DaspILabel:9Dtd: 9Dtr:

9tr: 9td: 9aspILabel %D'7lbl)tart7 runat'7server7 Te3t'7De la dataI7:9DaspILabel:9Dtd: 9td: 9aspILabel %D'7lblAn27 runat'7server7 Te3t'7AnI7 :9DaspILabel: Knbsp Knbsp 9aspIDropDo,nList %D'7ddlAn27 runat'7server7 +o,s'72L7 :9DaspIDropDo,nList: 9Dtd: 9td: 9aspILabel %D'7lblLuna27 runat'7server7 Te3t'7LunaI7 :9DaspILabel: 9aspIDropDo,nList %D'7ddlLuna27 runat'7server7 :9DaspIDropDo,nList:9Dtd: 9td:9aspILabel %D'7lbl<i27 runat'7server7 Te3t'7<iI7 :9DaspILabel: Knbsp Knbsp

9aspIDropDo,nList %D'7ddl<i27 runat'7server7 :9DaspIDropDo,nList:9Dtd: 9Dtr: 9tr: 9td: 9aspILabel %D'7lbl)"arsit7 runat'7server7 Te3t'7Pana la dataI7:9DaspILabel:9Dtd: 9td: 9aspILabel %D'7lblAnL7 runat'7server7 Te3t'7AnI7 :9DaspILabel: Knbsp Knbsp 9aspIDropDo,nList %D'7ddlAnL7 runat'7server7 +o,s'72L7 :9DaspIDropDo,nList: 9Dtd: 9td: 9aspILabel %D'7lblLunaL7 runat'7server7 Te3t'7LunaI7 :9DaspILabel: 9aspIDropDo,nList %D'7ddlLunaL7 runat'7server7 :9DaspIDropDo,nList:9Dtd: 9td:9aspILabel %D'7lbl<iL7 runat'7server7 Te3t'7<iI7 :9DaspILabel:

Knbsp

Knbsp

9aspIDropDo,nList %D'7ddl<iL7 runat'7server7 :9DaspIDropDo,nList:9Dtd: 9Dtr: 9tr: 9td:9aspILabel %D'7lbl/iltrare7 runat'7server7 Te3t'7/iltrare dupaI7:9DaspILabel:9Dtd: 9td: 9aspIDropDo,nList %D'7ddl/iltrare7 runat'7server7: 9aspIList%te! Te3t'7Tot intervalul7 6alue'7co!pleta7:9DaspIList%te!: 9aspIList%te! Te3t'7Hu!e !edic7 6alue'7!edic7:9DaspIList%te!: 9aspIList%te! Te3t'7)peciali0are7 6alue'7speciali0are7:9DaspIList%te!: 9DaspIDropDo,nList: 9Dtd: 9td:9aspITe3t4o3 %D'7t3t/iltrare7 runat'7server7:9DaspITe3t4o3:9Dtd: 9Dtr: 9tr: 9td:9aspI4utton %D'7btnListare7 runat'7server7 Te3t'7Listare7 5nClick'7btnListare_Click7 D: 9Dtd:9Dtr: 9Dtable:

9table st;le'7,idt#I2((=

#eig#tI2((=7 align'7center7: 9tr: 9td:

9aspI*rid6ie, %D'7*rid6ie,27 runat'7server7 @idt#'72((=7

Auto*enerate)elect4utton'7True7 Allo,)orting'7True7 Allo,Paging'7true7 Page)i0e'72M7 Auto*enerateColu!ns'7/alse7 CellPadding'7N7 /oreColor'7?EEEEEE7 *ridLines'7Hone7 5nPage%nde3C#anging'7*rid6ie,2_Page%nde3C#anging7 5n)elected%nde3C#anged'7*rid6ie,2_)elected%nde3C#anged7 : 9Colu!ns: 9aspI4ound/ield GeaderTe3t'7Cod7 Data/ield'7Cod7: 9%te!)t;le @idt#'7M(p37 D: 9Geader)t;le @idt#'7M(p37 D: 9DaspI4ound/ield: 9aspI4ound/ield GeaderTe3t'78edic7 Data/ield'78edic7 : 9=CC9%te!)t;le @idt#'72M(p37 D: 9Geader)t;le @idt#'72M(p37 D:CC=: 9DaspI4ound/ield: 9aspI4ound/ield GeaderTe3t'7)peciali0are7 Data/ield'7)peciali0are7 : 9=CC9%te!)t;le @idt#'72E(p37 D: 9Geader)t;le @idt#'72E(p37 D:CC=: 9DaspI4ound/ield: 9aspI4ound/ield GeaderTe3t'7Data7 Data/ield'7Data7 : 9%te!)t;le @idt#'72((p37 D: 9Geader)t;le @idt#'72((p37 D: 9DaspI4ound/ield: 9aspI4ound/ield GeaderTe3t'75ra7 Data/ield'75ra7 : 9%te!)t;le @idt#'7O(p37 D: 9Geader)t;le @idt#'7O(p37 D: 9DaspI4ound/ield:

9aspI4ound/ield GeaderTe3t'74on7 Data/ield'74on7 : 9%te!)t;le @idt#'72(p37 D: 9Geader)t;le @idt#'72(p37 D: 9DaspI4ound/ield: 9aspI4ound/ield GeaderTe3t'7Ac#itata7 Data/ield'7Ac#itata7: 9%te!)t;le @idt#'7L(p37 D: 9Geader)t;le @idt#'7L(p37 D: 9DaspI4ound/ield: 9aspI4ound/ield GeaderTe3t'7Consult7 Data/ield'7Consult7: 9%te!)t;le @idt#'7L(p37 D: 9Geader)t;le @idt#'7L(p37 D: 9DaspI4ound/ield: 9DColu!ns: 9/ooter)t;le 4ackColor'7?JJ((((7 /ontC4old'7True7 /oreColor'7@#ite7 D: 9+o,)t;le 4ackColor'7?///4DO7 /oreColor'7?EEEEEE7 D: 9)elected+o,)t;le 4ackColor'7?//CCOO7 /ontC4old'7True7 /oreColor'7Hav;7 D: 9Pager)t;le 4ackColor'7?//CCOO7 /oreColor'7?EEEEEE7 Gori0ontalAlign'7Center7 D: 9Geader)t;le 4ackColor'7?JJ((((7 /ontC4old'7True7 /oreColor'7@#ite7 D: 9Alternating+o,)t;le 4ackColor'7@#ite7 D: 9DaspI*rid6ie,: 9Dtd: 9Dtr: 9Dtable:

9Ddiv: 9D"or!: 9Dbod;: 9D#t!l:

Codul sursa 4S=75 pentru accesul la ta&ela (cont(


9state!ents: 9select id'7)electCont7 para!eterClass'7Cont7 result8ap'7Cont+esult7: select P "ro! cont 9d;na!ic prepend'7@GE+E7: 9isPara!eterPresent: cod ' ?Cod? 9DisPara!eterPresent: 9Dd;na!ic: 9Dselect: 9select id'7)electCont5perator7 para!eterClass'7Cont7 result8ap'7Cont+esult7: select P "ro! cont 9d;na!ic prepend'7@GE+E7: rol ' 7operator7 9isPara!eterPresent: AHD cod ' ?Cod? 9DisPara!eterPresent: 9Dd;na!ic: 9Dselect:

9insert id'7%nsertCont7 para!eterClass'7Cont7: insert into cont (cod, cnp, rol, alias, parola) values (?Cod?, ?CHP?, ?+ol?, ?Alias?, ?Parola?) 9Dinsert: 9update id'7BpdateCont7 para!eterClass'7Cont7: update cont set cnp ' ?CHP?, rol ' ?+ol?, alias'?Alias?, parola'?Parola? ,#ere cod ' ?Cod? 9Dupdate: 9delete id'7DeleteCont7 para!eterClass'7Cont7: delete "ro! cont ,#ere cod ' ?Cod? 9Ddelete: 9select id'7)electContDupaAlias7 para!eterClass'7Cont7 result8ap'7Cont+esult7: select P "ro! cont ,#ere alias ' ?Alias? 9Dselect: 9Dstate!ents:

S-ar putea să vă placă și