INTRODUCERE „Industria informaticii nu respectă tradiția respectă doar inovația..”
SATYA NADELLA
Se cunoaşte faptul că, actualmente, cea mai dinamică evoluţie o înregistrează Tehnologia Informaţiei. Întreprinderile sunt constrânse să reacţioneze la noile cerinţe ale societăţii în timp real, în care scopul este să-şi amplifice sau să -şi restructureze procesele din business şi să le administreze cu eficienţă sporită. În momentul actual se utilizează din ce în ce mai multe tranzacţii electronice pentru efectuarea plaţilor, încăsărilor, creditărilor şi a altor operaţii. De asemenea, a crescut gradul de prelucrare a datelor, s-au automatizat procesele decizionale, se adoptă soluţii integrate pe o scară
largă. În secolul al XXI-lea, când tehnologiile informaţionale şi comunicaţionale joacă un rol tot
mai important în toate sferele vieţii, organizaţiile au adoptat diverse mecanisme pentru eficientizarea activităţii lor. Tehnologiile moderne sunt transformate în instrumente comode de lucru care vin să contribuie la sporirea eficacităţii şi chiar a rentabilităţii firmelor.
Organizaţiile, indiferent de tipul sau mărimea lor, utilizează tehnologiile informaţionale şi comunicaţionale drept un mijloc util fie de management, de control sau folosit în execuţie, de cercetare, acestea luând forma, de cele c ele mai multe ori, a unor sisteme informaţionale. Practic, nu există domeniu în economie (sfera socială, energetică, educaţională, apărare etc.) în care să nu existe, cel puţin, un sistem informaţional, care să controleze diferite elemente ale activităţii acelor domenii. Dezvoltarea rapidă al domeniului TIC a condus şi la apariţia unor noi noţiuni care de multe ori sunt ambigue. Un sistem informaţional este proiectat pe sistemul economic pe care îl deserveşte. Sistemul informaţional are în componenţa sa resurse materiale, umane şi informaţionale, sisteme informatice, care sunt destinate pentru rezolvarea sarcinilor pe care le are de executat la un anumit
sistemelor informaţionale în moment sau într-o perioadă de timp. Acest lucru explică importanţa sistemelor informaţionale administrarea eficientă a organizaţiilor contemporane. Fiecare firmă, în funcţie de necesităţi şi priorităţi, implementează şi dezvoltă sisteme informaţionale în vederea automatizării proceselor de operare cu datele, de furnizare a datelor şi informaţiilor, atât de utile în condiţiile unei societăţi moderne. 3
De cele mai multe ori, companiile co mpaniile optează pentru sistemele informaţionale uşor adaptabile din punct de vedere tehnic şi operaţional, pentru a putea opera modificări şi completa cu noi funcţionalităţi la orice moment în funcţie de circumstanţele şi necesităţile noi ale organizaţiei. Implementarea unui sistem informaţional din punct de vedere tehnic într -o organizaţie nu este suficientă, întrucât este necesară acceptarea şi adaptarea acestui sistem de către toţi angajaţii organizaţiei sau, cel puţin, a celor care operează direct şi cărora le este destinat. Un sistem informaţional poate ocupa diferite poziţii într -o organizaţie, dar de fiecare dată
scopul utilizării şi implementării unui sistem informaţional într -o organizaţie va fi cel de eficientizare sau, cel puţin, de contribuţie la eficientizarea activităţii organizaţiei. Sistemele informaţionale sunt implementate, dar şi dezvoltate în organizaţii din diferite motive, care ţin de domeniul de activitate al firmei, de obiectivele stabilite de aceasta, numărul de angajaţi, stilul de management, cultura organizaţională şi alţi factori. În general, există mai multe părţi interesate de un SI aşa ca: utilizatorul final; client/beneficiar; manager de proiect; analist de sistem; dezvoltător; arhitect; inginer de suport etc. În dezvoltarea unui SI există întotdeauna multiplte părţi interesate, aceştia se mai numesc, din limba engleză şi stakeholders. Fiecare persoană priveşte SI din punctul său de vedere. Actualitatea şi importanţa cercetatării: Practica de management din unităţile economice
a evidenţiat legătura directă care există între procesul managerial propriuzis şi Sistemul informaţional existent. Rolul unui Sistem informaţional în cadrul unei organizaţii relevă din beneficiile pe care le oferă angajaţilor, decidenţilor acesteia. Fiecare Fiecare tip de organizaţie îşi adaptează anumite categorii de Sistem informaţional în funcţie de necesităţile organizaţionale. Există o serie de modele de sisteme informaţionale aşa ca: sistemele de management al documentelor; management al proiectelor; management al sarcinilor; sisteme informaţionale de gestiune a
resurselor umane; sisteme de măsurare şi de d e management al performanţelor; p erformanţelor; sisteme informaţionale de contabilitate etc.
an aliza și modela un sistem. Scopul acestui proiect de curs este de a analiza Obiectivele în conformitate cu scopul urmărit sunt multiple: -
studierea și analizarea domeniului;
-
investigarea implementării cerințelor într-un într-un mediu software;
-
realizarea concluziilor cu privire la studiul făcut. 4
Structura raportului este format din 2 capitole, fiecare dintre acestea vine să abordeze cu stricteţe tema şi particularităţile propuse pentru analiză, incluzând şi alte elemente structurale cum
ar fi introducerea , încheierea, bibliografia și anexe. anex e. Concluziile formulate reprezintă esenţa proiectului în cauză. Bibliografia cuprinde 11 surse utilizate la elaborarea proiectului de curs.
5
I.
DESCRIEREA DOMENIULUI DE APLICAȚIE
I.I STUDIUL CERINȚELOR Prin acest proiect se dorește îmbunătățirea eficienței operaționale a actului medical prin: -
fluidizarea și îmbunătățirea fluxului de lucru dintr-u n centru medical de diagnostic și tratament
-
achiziționarea și gestionarea unui volum ridicat de date medicale despre pacienti (Fișa Electronica a Pacientului)
-
eliminarea transferului dosarelor fizice în interiorul organizației/ sistemului
- punerea la dispoziția personalului medical de informații în timp real despre datele medicale integrate ale pacientului -
asigurarea unei securități sporite a informației Necesitatea unui a stfel de sistem pornește de la ideea că medicina modernă presupune și
o schimbare a mentalității pacienților despre propria sănătate, o schimbare a atitudinii în relația medic- pacient și realizarea unui climat propice comunicării permanente în beneficiul pacienților.
Sistemul își propune să r ăspundă cu succes problemelor pe care le ridică la momentul actual sistemul de sănătate din Moldova: necesitatea de a livra servicii medicale de o calitate și eficiență crescută în condițiile unui buget care trebuie controlat din ce în ce mai strict. Problema propusa spre rezolvare se încadrează în domeniul medical și are ca scop
îmbunătățirea activității unui Centru Medical de Diagnostic și Tratament, iar obiectivul centrului medical este de a oferi servicii care sa raspundă unor cerințe medicale exigente de profesionalism,
siguranță și confort. În cadrul unui Centru Medical de Diagnostic și Tratament există cabinete medicale care oferă consultații pacienților sau laboratoare care efectuează analize. Se pune problema
programării pacienților pentru aceste servicii și apoi a calculării și facturării sumelor de plată rezultate. Toate aceste operații se vor efectua pe calculator prin intermediul unei aplicatii,iar
informațiile vor fi stocate într-o baza de date.
6
Prin realizarea aplicației informatice se urmărește eficientizarea procedurilor de programare și factur are a serviciilor oferite, dar și a modului de informare a pacienților și a medicilor. Pentru a impiedica efectuarea de inscrieri fictive care ar conduce la pierderi importante de timp, se vor folosi conturi si parole de autentificare. I.II NOUTĂȚI DIN DOMENIU MEDICAL
Încă din anii 2013-2014 pe portalurile de știri au început să apară noutăți cu subiectele: ”Fișe medicale electronice și programări online la medicul de familie”, ” În Moldova a
început era medicinei on-line” ș.a. Însă, chiar și astăzi aflîndu-ne în anul 2018, am accesat site-ul web: https://sia.amp.md/ și am constatat faptul că fișele medicale electronice încă nu au fost create pentru toți cetățenii RM. Am încercat să completez datele primare și am primit următorul mesaj:
”Costul proiectului este de 19,2 milioane de lei, bani alocaţi din bugetul de stat” a anunțat încă în anul 2014 portalul de știri http://www.jurnal.md
7
O altă știre mai recentă cu subiectul: ”Fișa medicală va putea fi consultată şi de la distanţă” apărută la sfîrșitul lunii noiembrie 2018, relatează următoarea informație: ” Fişa medicală va putea fi consultată on-line sau pe o aplicaţie mobilă. Este vorba de un nou sistem electronic care va fi aplicat în următorii ani la Institutului Mamei şi Copilului, iar mai apoi si la alte instituţii medicale din ţară. Proiectul este finanţat de Guvernul Româ niei şi are un buget de aproximativ 3 milioane de euro pentru următorii trei ani. Potrivit autorităţilor, digitalizarea informaţiei va contribui la creşterea calităţii serviciilor şi optimizării activităţii medicilor, relatează Mesager.”
Alte aplicații informatice utilizate in domeniu
Pîna în prezent au fost create foarte multe aplicații informatice care au ca obiectiv managementul unităților medicale cu diferite specializări. Acestea sunt mai simple sau mai complexe, oferind o gamă mai restrînsă sau mai largă de facilități. Prezint în continuare cîteva din aplicațiile existente în domeniul medical.
Principalul produs software dezvoltat și comercializat de Briliant Technologies se numește Brildent și este un program destinat cabinetelor și clinicilor de stomatologie și oferă soluția completă de gestiune, de urmărire a pacienților și a tratamentelor efectuate. Cu Brildent medicii stomatologi și managerii cabinetelor stomatologice pot urmări situația pacienților, a tratamentelor care au fost efectuate, plățile efectuate de pacienți, perio adele de rechemare a pacienților, încasările zilnice și totale efectuate de un medic sau de toți medicii care lucrează în cabinetul sau clinica de stomatologie. Site-ul https://terramed.md/webforma.php?lang=ro oferă o prezentare a clinicii
medicale și oferă posibilitatea de a face și programarea online. Hospital Manager (HM) este un sistem complet de administrare a tuturor fluxurilor informaționale dintr-un spital modern, public sau privat: fișa electronică medicală a pacientului, organizare și planificare activitați departamente, informații financiare și costuri, raportare specifică. HM oferă managerilor de pe orice nivel informația exactă asupra stării de sănătate și a costurilor îngrijirii prof esionale a pacienților din unitatea lor. 8
I.III NOUTĂȚI DIN DOMENIUL UML
5 dintre cele mai bune programe pentru diagrame UML pe Windows 10 Conform https://windowsreport.com top dintre cele mai bune programe pentru diagrame UML sunt: 1. Edraw UML Diagram 2. UMLet 14.3 3. Visio 4. StarUML 3 5. ConceptDraw Diagram 12
Enterprise Architect Official Version: 14.1 Build 1427 11-Sep-2018
9
II.
ANALIZA ȘI MODELAREA SISTEMULUI
II.I. DIAGRAMA CAZ DE UTILIZARE În urma descrierilor făcute în studiul cerințelor se conturează urmatoarele cazuri de utilizare: -
administrare sistem - actualizează baza de date pentru centrul de diagnostic și gestionează utilizatorii sistemului
-
autentificare utilizator - permite introducerea contului și a parolei în vederea programarii
-
programare consultații - înscrierea pacientului autentificat la unul din medicii care oferă
consultații de specialitate -
vizionare servicii - permite navigare în lista serviciilor din cadrul Centrului Medical de Diagnostic și Tratament
-
vizionare programari - permite parcurgerea listei cu programări
-
realizare consultații - înregistrează în fișa pacientului datele consultației
- înscrie pacienți - programează pacienții la serviciile medicale -
facturare servicii - calcularea sumelor de plată și facturarea lor.
Actori i care interacționează cu sistemul sunt următorii: -
administrator sistem - administrează baza de date a sistemului și gestionează utilizatorii sistemului
-
pacient - vizionează ser viciile medicale, se autentifică și se programează la serviciile medicale
-
medic - se autentifică, vizioneaza lista programărilor, consultă pacienții
-
operator - se autentifica, înscrie pacientii la diferite servicii medicale, emite facturi pentru serviciile medicale efectuate
-
vizitator - vizioneaza serviciile medicale Diagrama generală a cazurilor de utilizare este prezentată in Figura 1.1 și cu ajutorul ei
se poate delimita aria de cuprindere a sistemului și se pot identifica cerințele.
10
uc Caz de utilizare Centru de Diagnostic
Administrare
Facturare servicii
Programare
Administrator «include»
«include»
«include»
Operator Autentificare utilizator Medic
«include» «include»
«include»
Inscrie pacient Pacient Vizualizare programari
Vizitator
Realizare consultatie
Vizualizare servicii
Figura 1.1 Diagrama generală a cazurilor de utilizare Detalierea cazurilor de utilizare
Autentificare utilizator : Realizeaza operatia de autentificare pentru un utilizator al programului. Actori: medic, operator, pacient, administrator aplicatie. Flux principal de evenimente: actiunile efectuate de utilizator sunt următoarele:
Introducere login și parola. Programul verifică corectitudinea informațiilor introduse. Dacă informațiile sunt corecte, atunci se permite accesul utilizatorului în sistem, iar cazul de utilizare se încheie.
Flux alternativ de evenimente:
dacă informațiile nu sunt corecte:
Se afișează un mesaj de eroare și se solicită reintroducerea informațiilor pentru autentificare. Utilizatorul poate reîncerca autentificarea, deci se reia cazul de utilizare cu fluxul principal de evenimente. 11
Utilizatorul renunță, cazul de utilizare luînd sfîrșit.
Administrare: Descrie secvențele de acțiuni prin care se adaugă/modifică/șterg informațiile despre utilizatorii aplicației și prin care se actualizează lista de servicii oferite. Actori: administrator sistem Flux principal de evenimente: acțiunile executate de administrator, atunci cînd adaugă un nou
utilizator, sunt:
Include cazul de utilizare autentificare utilizator pentru logarea utilizatorului cu drept de administrator.
Setează identificator și parolă pentru utilizator. Setează drepturile de utilizare a aplicației. Adaugă informații suplimentare despre utilizator. Salvează în baza de date.
Postconditii: informațiile despre utilizator sunt stocate în baza de date, el putîndu-se conecta la
aplicație. Diagrama detaliata a cazului de utilizare administrare este prezentata in Figura 1.2. uc Administrare Adm in istrare
Autentificare utilizator
Inregistreaza cont
Gestiune conturi «include»
«include»
Modificare cont
Administrare
«include»
Verifica existenta cont
Administrator «include»
Actualizare servicii
Stergere cont
Figura 1.2 Diagrama detaliata a cazului de utilizare administrare 12
Programare: Realizează operația de programare a pacientului la medic. Actori: pacient, medic, operator. Flux principal de evenimente: acțiunile executate de utilizator, atunci cînd adaugă o nouă
programare, sunt:
Include cazul de utilizare autentificare utilizator pentru logarea utilizatorului cu drept de înregistrare programare. Selectează medicul, data și ora la care se va face programarea. Vizualizează informațiile introduse și asteapta confirmarea sistemului. Salvează în baza de date.
Flux alternativ de evenimente: Dacă înregistrarea informațiilor s-a încheiat cu eroare, se afișează
un mesaj corespunzător și se reia cazul de utilizare. Preconditii: Informațiile despre medicul ce va face consultația, informații ce trebuiesc introduse
în baza de date. Postconditii:
Programarea se înregistrează în baza de date.
Diagrama detaliata a cazului de utilizare programare este prezentata in Figura 1.3. uc Programare
Programare
Autentificare utilizator
Pacient
«include»
Medic
Reprogramare
«extend»
Programare
«extend»
Anulare programare
Operator
Figura 1.3 Diagrama detaliata a cazului de utilizare programare 13
Realizare consultatie: Descrie operația de realizare consultație. Actori: medic. Flux principal de evenimente: Acțiunile efectuate la realizarea unei consultații sunt:
Include cazul de utilizare autentificare utilizator pentru logarea medicului
Posibilitatea vizualizării istoricului pacientului prezent la consultație Completarea fișei pacientului cu informațiile corespunzatoare consultației Înregistrarea consultației în baza de date.
Preconditii: Pacientul trebuie să fie programat la consultaț ie. Postconditii: Consultatia se inregistreaza in baza de date.
Diagrama detaliată a cazului de utilizare realizare consultație este prezentata in Figura 1.4. uc Realizare consultatie Realizare consultatie
Autentificare utilizator
Inregistrare consultatie
«include»
Medic Realizare consultatie
«extend»
Vizualizare istoric pacient
Figura 1.4 Diagrama detaliata a cazului de utilizare realizare consultatie
14
Vizualizare programări : Oferă posibilitatea utilizatorului de a vizualiza programările dintr -o anumită zi. Actori: medic. Flux principal de evenimente:
Include cazul de utilizare autentificare utilizator pentru logarea medicului.
Se selectează ziua dorită pentru a vizuliza programările. Se pot vizualiza informații despre pacienții programați în ziua respectivă.
Preconditii: Informațiile ce privesc programările ce trebuiesc intro duse în baza de date.
Diagrama detaliată a cazului de utilizare vizualizare programări este prezentata in Figura 1.5. uc Vizualizare programari Vizualizare programari
Autentificare utilizator
«include»
Medic Vizualizare programari
«extend»
Vizualizare informatii pacient
Figura 1.5 Diagrama detaliata a cazului de utilizare vizualizare programări
15
Vizualizare servicii : Permite utilizatorilor să vizualizeze serviciile oferite de centrul medical de diagnostic. Actori: pacient, vizitator. Flux principal de evenimente:
Selectează tipul de servicii dorite (consultații sau analize). Vizualizează informațiile dorite.
Preconditii: Informațiile ce privesc serviciile ce trebuiesc introduse in baza de date.
Î nscrie pacient : Realizează înscrierea unui pacient în baza de date. Operația nu este permisă unui utilizator neînregistrat, pentru a nu se înregistra pacienți fictivi. Actori: operator. Flux principal de evenimente:
Include cazul de utilizare autentificare utilizator pentru logarea operatorului. Se preiau datele pacientului ce se va înregistra.
Se înregistrează în baza de date.
Postconditii: Pacientul a fost înscris în baza de date.
Diagrama detaliată a cazului de utilizare înscriere pacient este prezentată in Figura 1.6. uc Inscriere pacient Inscriere pacien t
Autentificare utilizator
«include»
Operator
Inscrie pacient
Figura 1.6 Diagrama detaliată a cazului de utilizare înscriere pacient 16
F acturare: Realizează facturarea serviciilor. Actori: operator. Flux principal de evenimente:
Include cazul de utilizare autentificare utilizator pentru logarea operatorului. Fiecar e serviciu dorit este introdus în factură. Factura este înregistrată în baza de date.
Flux alternativ: dacă înregistrarea informațiilor s-a încheiat cu eroare, atunci se generează un
mesaj și se propune reintroducerea acestora. Preconditii: exista o comandă deschisă. Postconditii: s-a realizat înregistrarea în gestiunea firmei.
Diagrama detaliată a cazului de utilizare facturare servicii este prezentată in Figura 1.7. uc Facturare Facturare
Autentificare utilizator
«include»
Facturare servicii
Introduce servicii
Inregistreaza factura
Operator
Figura 1.7 Diagrama detaliată a cazului de utilizare facturare servicii
17
Diagrama detaliată a cazurilor de utilizare este prezentata in Figura 1.8. uc Caz de utilizare schema generala Centru de Diagnostic
Creare cont
Actualizare servicii
«include»
Gestiune conturi
Modificare cont
Administrare
«include»
Verificare existentei contului
«include»
Stergere cont «include»
Operator Autentificare utilizator
Administrator «include» «include»
Vizualizare programari
«include»
Facturare servicii
Programare
«extend»
«include» «extend» «include»
Medic
«extend»
Vizualizare informatii pacient
Anulare programari
Introduce servicii
Reprogramare Inscrie pacient
Inregistreaza factura
Realizare consultatie
«extend»
Inregistrare consultatie
Vizualizare istoric pacient
Vizualizare servicii
Vizitator
Pacient
Figura 1.8 Diagrama detaliata a cazurilor de utilizare
18
II.II DIAGRAMA DE SECVENȚĂ Diagramele de secvență descriu cronologic interacțiunea obiectelor, identificînd mesajele
schimbate între obiecte ca răspuns la un eveniment, împreună cu secvența mesajelor. Cu ajutorul diagramelor de secvență se realizează o prima vizualizare a intercomunicării claselor. Scopul este întelegerea ordinii evenimentelor. Pe masură ce ordonarea devine stabilă, un eveniment devine o
operație specifică pe care o inițializează obiectul receptor. Diagrama de secventă pentru programarea pacientului la medic este reprezentata în Figura 2.1. sd Diagrama de secv ente Cont
Medic
Programare
Pacient
Logare (login,parola)
valideaza() return (ok)
SolicitaListaProgramari (cod_medic)
SolicitaMedic (cod_medic)
return (lista_programari)
return (lista_date_libere)
InregistreazaProgramare (cod_medic,cod_pacient,data)
return(ok)
Figura 2.1 Diagrama de secvență pentru programare Pașii parcurși de un pacient pentru a obține o programare la un medic sunt descriși în continuare.
Pacientul se autentifică introducînd un login și o parolă. Sistemul validează date le introduse urmînd ca pacientul să primească confirmarea de logare dacă datele au fost corecte. În continuare, pacientul își alege medicul dorit dintr-o anumită specializare și vizualizînd programul acestuia
19
optează pentru o dată și o oră disponibile și convenabile pentru el. Alegerea făcuta este înregistrată în baza de date.
Diagrama de secvență pentru consultație este reprezentată în Figura 2.2. sd Diagrama de secv ente consultatie
Cont
Programare
Pacient
Consultatie
Pacient
logare (login,parola)
valideaza() return (ok)
VerificaPacient (cod_pacient)
return (ok)
VerificaProgramarea (cod_medic,cod_pacient,data)
return (ok)
InregistreazaConsultatie (observatii)
return (ok)
Figura 2.2 Diagrama de secventa pentru consultatie Pașii parcurși de un medic pentru a înregistra o consultație sunt descriși în continuare. Medicul se autentifica introducînd un login și o parolă. Sistemul validează datele introduse urmînd
ca medicul să primească confirmarea de logare dacă datele au fost corecte. În continuare, medicul verifică dacă pacientul este în baza de date și dacă există programarea și dacă este achitată. Consultația facută este înregistrată î n baza de date.
20
II.III DIAGRAMA DE COLABORARE
O interacțiune interesantă se produce între diagramele de secvență ș i diagramele de colaborare, ambele diagrame furnizînd puncte de vedere diferite ale aceleiași informații. Diagrama de colaborare permite focalizarea asupra unei anumite clase și ajută la rafinarea
diagramei claselor, adaugînd atribute și operații. Diagramele de colaborare pentru programare și consultație sunt reprezentate în Figurile
2.3, respectiv 2.4. și arată legătura tuturor operațiunilor unei anumite clase. Pentru fiecare operație este arătat obiectul țintă și orice alt obiect pe care îl solicită pentru a implementa operația. sd Diagrama de colaborare_programare 2: valideaza()
Cont 1: Logare (login,parola)
3: return(ok)
9: return(ok)
Pacient
8: InregistreazaProgramare(cod_medic,cod_pacient,data)
Programare 7: return(lista_date_li bere)
4: SolicitaMedic(cod_medic)
5: Solici taListaProgramari(cod_medic)
6: return(lista_programari)
Medic
Figura 2.3 Diagrama de colaborare pentru programare 21
sd Diagrama de colaborare_consultatie 2: vali deaza()
Cont
1: logare(login,parola)
3: return(ok)
Programare 6: VerificaProgramare(cod_medic,cod_pacient,data)
7: return(ok)
9: return(ok)
Medic
8: InregistreazaConsultatie(observatii)
Consultatie
5: return(ok) 4: VerificaPacient(cod_pacient)
Pacient
Figura 2.4 Diagrama de colaborare pentru consultație După cum se poate vedea din Figurile 2.3 si 2.4 prezentate anterior, diagrama de colaborare, prin faptul că filtreaza timpul sau examinarea secvențiala a scenariului pentru a studia
asocierile statice și comportamentele dinamice ale obiectelor implicate în interacțiune, ajută la clarificarea contextului. In Anexa 1 sunt prezentate diagramele de secvență și colaborare pentru facturare.
22
II.IV DIAGRAMA DE CLASE
Cea mai importantă diagramă în cadrul analizei și proiectării orientate obiect este diagrama claselor, al carei scop este de a structura natura statica a claselor . Diagrama claselor este reprezentata în Figura 2.5. și conține clasele și asocierile dintre clase. class Diagrama de clase
Consultatie +apartine +apartine
+realizeaza 1 Medic
0..*
+apartine
0..*
Cont +apartine 1
1
+are
+are
0..1
1 +face
+are + are
1
0 .. *
Pacient
1 +apartine
+apartine Programare + ap art i ne
+are 0..1
1
0..*
0..*
Specializare
+are 1
+apartine 1..* ServiciuSpecializare
+are
1
+ ap art in e
1 +are
Serviciu
+apartine 1
+apartine 1
+apartine
+are RandFactura 0..*
Factura
1
1..*
+are 1 Analiza +apartine 1..*
+are 1 CategorieAnaliza
Figura 2.5 Diagrama claselor 23
Un cont apartine unui singur pacient sau medic. Un medic sau pacient are niciunul sau un cont. Un pacient face niciuna sau mai multe programari. O programare apartine unui singur pacient. O consultatie apartine unui singur pacient. Un pacient are niciuna sau mai multe consultatii. O programare apartine unui singur medic. Un medic are niciuna sau mai multe programari. Un medic realizeaza niciuna sau mai multe consultatii. O consultatie apartine unui singur medic. Un medic are o singura specializare. O specializare apartine niciunuia sau mai multor medici. O specializare are unul sau mai multe servicii specializare. Un servicii specializare apartine unei singure specializari. Un servicii specializare are un singur serviciu. Un serviciu apartine unui singur serviciu specializare. O analiza are un singur serviciu. Un serviciu apartine unei singure analize. O analiza apartine unei singure categorii de analize. O categorie de analize are una sau mai multe analize. O factura are unul sau mai multe randuri factura. Un rand factura apartine unei singure facturi. 24
Un rand factura are un singur serviciu. Un serviciu apartine unuia sau mai multor randuri factura.
Diagrama de clase detaliată rezultă prin rafinarea diagramei de clase din etapa de analiză, implementîndu-se anumite detalii precum specificarea tipurilor atributelor. Această diagrama este
prezentată în Figura 2.6. class Diagrama de clase
Consultatie
+apartine 0..*
Cont
-
Cod: int Medic: Medic Pacient: Pacient Data: date Observatii: string
+ + +
Creaza() Modifica() Sterge()
+apartine -
+apartine
Cod: int CNP: string Rol: string Login: string Parola : string +apartine
0..*
1
+ + +
Creaza() Modifica() Sterge()
1
+realizeaza
-
1 Cod: int Cont: Cont +are Speciali zare: Speciali zare 0..1 Nume: string Titul atura: string DataNasterii: date DurataConsultatiei: int +are
+ + +
Creaza() Modifica() Sterge()
+apartine 0..*
-
Cod: int Medic: Medic Pacient: Pacient Data: date Achitata: boolean
+ + +
Creaza() Modifica() Sterge()
+apartine 0..* RandFactura
0..* ServiciuSpecializare
+aparti ne
1
Specializare -
Cod: int Denumi re: string Descriere: string
+ + +
Creaza() Modifica() Sterge()
0..1 +are 1 +face 1 -
Programare
1
+are
+apartine +are
1..*
1
Pacient
+are
Medic
-
Cod: int Speciali zare: Speciali zare Serviciu: Serviciu
+ + +
Creaza() Modifica() Sterge()
-
CodFactura: int Pozitie: int Sectia : string Serviciu: Serviciu Cantitate: int +apartine Pret: int
+ + +
Creaza() Modifica() Sterge()
+are
+are
1..*
0..*
+aparti ne
+ + +
1
+apartine
Creaza() Modifica() Sterge()
Factura
+are 1
1
Cod: int Cont: Cont Nume: string Prenume : string DataNasterii: date Sex: char Inaltime: int Greutate: int Tele fon: int Email: string
-
Cod: int Descriere: string Data: date Mone da: string Rinduri: RindFactura Total: int
+ + +
Creaza() Modifica() Sterge()
Serviciu 1 +apartine 1
Analiza -
Cod: int Categorie: CategorieAnaliza Serviciu: Serviciu
+ + +
Creaza() Modifica() Sterge()
+are 1 +apartine 1..*
+ + +
Cod: int Denumi re: string Mone da: string Pret: int Creaza() Modifica() Sterge()
CategorieAnaliza +are
-
Cod: int Denumi re: string
+ + +
Creaza() Modifica() Sterge()
1
Figura 2.6 Diagrama de clase detaliată
25
Toate clasele prezentate în diagrama detaliată a claselor permit următoarele operații: -
Creare
-
Modificare
-
Ștergere.
Se prezintă în continuare modul de realizare a acestor operații pentru principalele clase. Clasa Medic Pentru fiecare medic din cadrul centrului medical se memoreaza date despre nume, data
nașterii, specializare, titulatura, durata consultației, precum și contul alocat pentru logare. În momentul schimbării unora dintre aceste date, ele se pot modifica. De asemenea datele despre un medic pot f i șterse. Clasa Pacient
Pentru pacienții centrului medical se memorează date despre nume, data nașterii, sex, înălțime, greutate, telefon, email, precum și contul alocat pentru logare. În momentul schimbării unora dintre aceste date, ele se pot modifica. De asemenea datele despre un pacient pot fi șterse. Clasa Programare
Cînd un pacient se programează la medic, se memorează date despre pacient, medic, data și ora planificată, urmînd ca în momentul achitării acestei programări să aiba loc actualizarea acestei informații. De asemenea pacientul are posibilitatea să modifice data și ora programării sau chiar să le anuleze. Clasa Factura și clasa RandFactura
Cînd un pacient plătește servicile solicitate, se emite o factură cu unul sau mai multe rînduri prin care se înregistrează date despre serviciile respective, moneda de achitare, după care se calculează totalul de achitat. Factura suportă modificări sau poate fi anulată.
26
II.V DIAGRAMA DE STARE
Conform UML, o stare este o condiție sau o situație din momentul existenței unui obiect care satisface în acel moment anumite condiții, efectuează anumite activități sau asteaptă anumite evenimente. Diagramele de stare identifică evenimentele care fac tranziția unui obiect dintr -o stare în alta. Diagrama de stare pentru obiectul programare este reprezentată în Figura 2.7, iar pentru obiectul factura in Figura 2.8. stm Diagrama de stare_programare
Intrare Inregistrare programare
Programare noua
Reprogramare Programare inregistrata Anul are programare
Achi tare prog ramare
Programare anulata
Programare achitata
Iesire
Iesire
Figura 2.7 Diagrama de stare pentru programare Pacientul se va autentifica în aplicație și își va face o programare alegînd specializarea,
medicul, data și ora dorite în functie de disponibilitățile medicului. Programarea va fi înregistrată 27
în baza de date. Dacă pacientul se răzgîndește, se poate reprograma sau poate anula programarea făcută. Dacă pacientul a achitat programarea, aceasta se actualizează în baza de date ca fiind plătită. stm Diagrama de stare_factura
Intrare
Factura noua
Completare rinduri factura
Factura completata Achi tare factu ra
Neachitare factura
Factura platita
Factura neplatita
Iesire
Iesire
Figura 2.8 Diagrama de stare pentru factura Pentru a emite o factură nouă, operatorul trebuie să se autentifice în aplicație. În continuare va completa factura adaugînd rîndurile necesare conform serviciilor prestate. Dacă pacientul
achită factur a, aceasta devine pentru aplicație "plătita", în caz contrar devenind "neplătită". Starea facturii va fi înregistrată î n baza de date.
28
II.VI DIAGRAMA DE ACTIVITATE
Pentru o mai bună întelegere a operațiilor, în special a celor complexe, se realizează diagrama de activitate. Aceasta se prezintă sub forma unei scheme logice, care arată fluxurile de control dintre activități, și este folosită pentru a modela aspectele dinamice ale sistemului, modelarea unui proces efectuîndu-se pas cu pas. Diagrama de activitate pentru programare este reprezentata in Figura 2.9. act Diagrama de activitate_programare
t
Solicita programul unui medic dintr-o zi
Introduce login si parola n ie c a
Alege ora programare
P
NU
r e
Sunt ore libere?
rv e
DA
s
Afiseaza pagina de logare ei t a icl
Valideaza utilizator
Valid?
Afisare pagina de start
NU
DA
Afiseaza lista cu orele libere
Inregistreaza programare
p A er a m ra g or tP
Construieste lista cu orele libere n e m e g a n a M
Figura 2.9 Diagrama de activitate pentru programare În momentul în care un pacient vrea să facă o programare la un medic, aplicația va afișa pagina de logare. Pacientul va introduce login și parola, urmînd ca acestea să fie validate de sistem. În cazul în care datele introduse nu sunt valide, utilizatorul va fi redirecționat către pagina
de logare. Dacă datele sunt valide, se va afișa pagina de start pentru programări. Pacientul va alege un medic cu o anumită specializare și va solicita programul acestuia cu orele libere dintr -o anumită zi. În continuare se construiește lista cu orele libere ale medicului ales, se afișează și se solicită
pacientului să-și aleagă ora convenabilă. Programarea va fi înregistrată în baza de date.
29
II.VII DIAGRAMA DE COMPONENTE
Diagrama componenelor este un graf de componente între care există relații de dependență sau de compunere. Se adună informații din diagrama claselor și se crează componente.
Aceasta diagramă este prezentata in Figura 3.1. cmp Diagrama de componente
Baza de date
Interfata cu utilizatorul
Business Logic
Acces baza de date
Testare
Fig. 3.1 Diagrama de componente Diagrama componentelor modelează dependența componentei software în functie de codul sursa, codul binar și componentele executabile.
30
II.VIII DIAGRAMA DE PACHETE Un pachet este un mecanism destinat unor scopuri generale, care organizează elementele în grupuri. Un pachet arată doar structurile pe care le conține și nu arată comportamentul pachetelor sale.
În cadrul acestei aplicații se lucreaza pe o arhitectură cu 3 nivele, prezentata în Figura 3.2. pkg Diagrama de pachete Business Serv ices
User Service s
Data Serv ices
Figura 3.2 Diagrama de pachete Menționăm că în cadrul pachetului Business Services se află situată diagrama claselor, iar în cadrul pachetului Data Services se află schema bazei de date.
31
II.IX DIAGRAMA DE DESFĂȘURARE Prin intermediul diagramei de desfășurare componentele sunt plasate pe echipamente hardware.
Acest tip de diagramă, prezentată în Figura 3.3, detaliază locul de amplasare a componentelor în cadrul infrastructurii sistemului. deployment Diagrama de desfasurare
Server DB
Utilizator1
tcp/ip tcp/ip
Serv er Aplicatie
Utilizator2
tcp/ip
Figura 3.3. Diagrama de desfășurare Diagrama de desfășurare reprezintă partiționarea componentelor și obiectelor active (de exemplu baza de date) pe locatia lor fizică.
32
CONCLUZII Domeniul medical a fost abordat în multe aplicatii, dar este necesar ca noile aplicații, sa fie cît
mai diversificate și să se apropie tot mai mult și într -un mod prietenos de cerințele acestui domeniu. Lucrarea de fata își propune să studieze și să aducă contribuții în domeniul medical în condițiile în care se resimte din ce în ce mai mult necesitatea unor arhitecturi cît mai flexibile care să permită
adaptarea cu ușurință la schimbările care apar permanent. Aplicația modelată pentru Centrul medical de diagnostic, se adresează atît medicilor cît și pacienților, fiind utilă și necesară pentru îmbunătățirea eficienței operaționale a activitații medicale din acest centru.
Performanțele companiei depind astăzi de gradul de adaptare a sistemului IT la obiectivele generale ale afacerii. O platformă de Business Intelligence capabilă să asigure acces rapid la date și să
furnizeze informații de sinteză și de analiză a performanțelor centrului medical constituie un atu puternic în mediul concurențial. Din aceste considerente, s-a pus la dispoziția clienților un sistem integrat ce include soluțiile
pregătite să raspundă nevoilor lor specifice, incluzînd și o noutate: realizarea online a programărilor la medic cu punerea la dispoziția pacientului a orelor disponibile. Pentru funcționarea eficientă a unui centru medical, în care atenția să fie concentrată într-adevar asupra pacientului, nu este suficientă numai existența unor echipamente de diagnoză și monitorizare medicala, ci este necesara o sinergie la nivelul întregii organizații. Prin utilizarea aplicației vor rezulta importante beneficii atît pentru medicii din spital, cît ș i pentru personalul administrativ, contribuind la îmbunătățirea calității asistenței pacienților și, în același timp, la reducerea costurilor, asigurînd o calitate deosebită a actului medical.
Pentru efectuarea acestui proiect am folosit aplicația Enterprise Architect versiunea 8.0.864 în care am elaborat toate diagramele.
33
BIBLIOGRAFIE 1. https://windowsreport.com/uml-diagram-software/#.XCYvI1UzbIU 2. https://sparxsystems.com/products/ea/history.html 3. https://noi.md/md/societate/fisa-medicala-va-putea-fi-consultata-si-de-la-distanta 4. http://trm.md/ro/social/fisa-medicala-va-putea-fi-consultata-on-line/ 5. http://www.jurnal.md/ro/social/2014/11/18/fisa-medicala-a-pacientului-de-acum-in-formatelectronic/ 6. https://unimedia.info/stiri/fise-medicale-electronice-si-programari-online-la-medicul-de-familie66913.html 7. https://www.ziarulnational.md/medicina-on-line/ 8. http://sanatateinfo.md/News/Item/3134 9. https://ro.wikipedia.org/wiki/Unified_Modeling_Language 10. http://inf.ucv.ro/~mihaiug/courses/poo/slides/Curs%2005%20-%20UML.pdf 11. https://www.academia.edu/6702281/Diagrame_in_UML
34