Documente Academic
Documente Profesional
Documente Cultură
Introducere……………………………………………………………………………………….1
1. Localizarea de medicamente………………………………………………………………….3
1.1 Problema pe care o abordează lucrearea şi motivaţia pe baza căreia a fost aleasă tema...3
2. Tehnologizii utilizate………………………………………………………………………...11
4. Implementarea solutiei………………………………………………………………………..31
Concluzii…………………………………………………………………………………………39
Bibliografie………………………………………………………………………………………41
Introducere
1
farmaceutice din întreaga lume are o creştere de 5%, depăşind astfel pragul de 800 de miliarde de
dolari. Există numeroase companii producătoare, însă cele care contează cu adevărat şi care
produc peste 60% din toate medicamentele din lume sunt in număr de 20(CTN-Companii
Transnaţionale).SUA reprezintă liderul în ceea ce priveşte producţia de medicamente, fabricând
între 26% şi 35% din întreaga producţie mondială. Este urmată de Europa de Vest care obţine un
procent de 20%-30% din întregul volum de producţie, iar mai apoi, Europa de Est, care
înregisrează cel mai mic procent(aproximativ 4%). Germania se află pe primul loc în top în
privinţa producătorilor de medicamente: Bayer AG, Roche si Boehringer IngelHeim(venituri
anuale de peste 130 miliarde de dolari). Aceasta este urmată de către Marea Britanie,
GlaxoSmithKlein şi Accord Healthcare fiind principalele companii. Sanofi din Franta, Astra
Zeneca din Suedia, Nonvo Nordisk din Danemarca, Novartis din Elveţia se numară şi ele în
rândul marilor competitoare din Europa.
O mare problemă a oamenilor, în ceea ce priveşte industria farmaceutică, o reprezintă preţul
enorm al medicamentelor, însă aceştia nu cunosc, cu adevarat, care sunt costurile de producţie
ale unui singur medicament. În mod obişnuit, aceştia fac greşeala de a lua în calcul doar costul
ingredientelor brute pentru realizarea unui produs, însa uită de costurile de cercetare şi dezvoltare
a medicamentelor(pe langa acestea fiind numărate şi produsele care nu au fost scoase pe piată).
De exemplu: la fabricarea unui singur preparat participa peste 100-200 oameni de ştiinţă şi se
cheltuiesc aproximativ 450000-500000 de dolari. Un astfel de proces poate dura pâna la 10
ani.Companiile farmaceutice trebuie, astfel, să ridice preţul pentru a-şi acoperi pierderile cauzate
de acele produse care au eşuat, dar şi pentru a avea posibilitatea de a inova în continuare. Un alt
factor care contribuie la stabilirea unor preţuri atât de mari pentru medicamente, îl reprezintă
brevetele de invenţie. Acestea se aplică timp de 20 de ani, fiind înregistrate în orice ţară în care
produsul este vândut. Existenţa brevetelor le opreşte pe companiile rivale în a fabrica copii a
medicamentelor, copii ce ar duce la o scădere semnificativă a preţurilor pe piaţă. Populaţia
beneficiază de preţuri mai mici doar pentru produsele eliberate cu prescripţie medicala (RX).
Acestea au luat faţa medicamentelor fără reţetă(OTC) şi urmează astfel un drum ascendant,
obţinând un profit cu 16% mai mare(aproximativ 1,6 miliarde lei). Diferenţele semnificative de
preţ între medicamentele RX şi cele OTC există însă, din pacate, doar în anumite tări. România
se numără printre puţinele tări care are o perioadă lungă de colectare a creanţelor, termenele de
plată pentru medicamentele RX fiind de până la 250 zile, uneori şi până la peste 300 de zile.
Acest lucru se întamplă însă între vânzători, pe când în cazul producătorilor numărul de zile
scade, iar plata trebuie efectuată în intervalul 150-250 zile.
2
Capitolul 1. Localizarea de medicamente
1.1 Problema pe care o abordează lucrearea şi motivaţia pe baza căreia a fost aleasă tema
Dupa cum ştim cu toţii, trăim într-o perioadă foarte dificilă, în care economia este la pământ,
preţurile cresc, iar investiţiile rămân în urma consumului. Salariul net minim în România este de
1162 lei(250 euro), în timp ce salariul brut este de 1900 lei, o sumă enorm de mică pentru ca
locuitorii săi să ducă un trai decent. În cazul salariului mediu, lucrurile sunt puţin ciudate
întrucat, deşi salariul minim a crescut considerabil faţă de anii precedenţi, acest lucru nu s-a
întamplat şi cu cel mediu. Valoarea acestuia în momentul actual este de 2360
lei/luna(aproximativ 510 euro).În comparaţie cu anul 2012 este însă o diferenţă semnificativă,
deoarece valoarea salariului din anul respectiv şi până astăzi a crescut cu aproximativ 100 de
euro, acest lucru însemnand o creştere de 25%. Referitor la costul de trai, acesta nu a înregistrat
modificări majore în ciuda creşterii salariilor din ţară. Conform statisticilor, în oraşele mai mari
precum Bucureşti, Braşov, Cluj, Constanţa numărul oamenilor cu un salariu mediu este mai mare
faţă de aceia ce trăiesc în oraşe mai mici. Pe lângă faptul că valoarea salariului minim din
România este una îngrijorătoare, preţurile pentru aproape majoritatea produselor din orice
categorie sunt unele foarte mari în comparaţie cu cele din alte state membre ale UE. Nu am
menţionat categoria bunurilor şi serviciilor din România întrucat aceasta prezintă printre cele mai
mici preţuri, ocupând locul 2 în Uniunea Europeană. Acest lucru este datorat creşterii veniturilor
în ţară, dar şi reducerii impozitelor pentru alimente. O alta categorie în care preţurile sunt reduse
în comparaţie cu alte ţări, o reprezintă cea a tutunului si alcoolului, având preţuri cu 69% mai
mai mici.Preţul medicamentelor din România este stabilit în două proceduri diferite, modul în
care sunt eliberate produsele în farmacii fiind principalul motiv. În cazul medicamentelor
vândute fără reţetă în farmacii, preţul acestora este stabilit de către un producator, producator ce
se conformeaza regulilor comerţului liber. În cazul medicamentelor cu prescripţie medicală,
Ministerul Sănătăţii este cel ce stabileşte preţurile. Înainte de a se stabili valoare finală,
Ministerul face o analiză a preţului aceluiasi produs din 10 ţări diferite: Spania, Polonia,
Germania, Italia, Belgia etc. Ceea ce doresc să evidenţiez mai sus este faptul că lumea, în
condiţiile actuale, ar trebui să aibă mult mai mare grijă în momentul achizitionării unui produs,
întrucât există numeroase aplicaţii care te ajută să economiseşti bani, te ajută sa găseşti produsul
dorit la un preţ mai avantajos. In Uniunea Europeană, preţul medicamentelor inovatoare a crescut
extrem de mult, iar unele state membre au anunţat că au fost depaşite capacitătile de cheltuieli în
ceea ce priveşte sectorul sănătăţii. Din această cauză, pacienţii nu beneficiază de toate
tratamentele inovatoare ce apar pe piaţă. Majoritatea sistemelor de sănătate din statele UE se
confruntă cu o mare problema în ceea ce priveşte finanţarea tuturor cererilor pentru tratamentele
inovatoare, numărul tot mai mare de persoane vârstnice fiind principala cauză. Fiecare ţară are
3
însă o abordare diferită în luarea deciziilor privind preţurile medicamentelor şi rambursarea
acestora. Luarea deciziilor în ceea ce priveşte stabilirea preţurilor se face diferit, în unele ţări
această putere fiind deţinută de către doar un singur organism guvernamental, pe când în altele,
responsabilităţile sunt împărţite între agenţiile de asigurări şi Ministerul Sănătăţii. Multe din
statele membre stabilesc preţurile făcând o comparaţie cu preturile din alte ţări, acest lucru fiind
greşit întrucât ele deţin, adeseori, informaţii insuficiente.
Aplicaţia dezvoltată de către mine a plecat de la această idee, că populatia ar trebui să-şi
planifice mai bine bugetul şi să profite de era tehnologizată în care ne aflăm, o eră care ar putea
să ne ajute să ducem un trai mai bun, chiar şi în condiţii dificile. Internetul ne oferă numeroase
beneficii, începand cu aflarea unor informaţii noi si sfârşind cu finanţarea unei afaceri în mediul
online. De exemplu:oamenii nu mai sunt nevoiţi, în cazul în care se îmbolnăvesc, să meargă
personal la doctor pentru a fi examinaţi şi pentru a primi o reţetă, aceştia îi pot intreba, de acasă,
prin intermediul unor site-uri specifice. Astfel, oamenii îşi pot achiziţiona de două ori mai
repede medicamentele de care au nevoie, economisirea timpului fiind principalul câştig din
situaţia prezentată. După cum spune şi titlul capitolului, m-am axat pe produsele din industria
farmaceutică. Am ales această industrie întrucât este una din cel mai bine dezolvatate la noi în
ţară, dar şi care, după părerea mea, nu „va muri” niciodată. Întotdeauna vor exista oameni
bolnavi, oameni ce vor fi nevoiţi să-şi achiziţioneze medicamente. Problema principală este
faptul că aceste produse farmaceutice au producţie costisitoare, miliarde de dolari, fapt ce explică
într-o oarecare măsură preţul enorm al medicamentelor.
Tema proiectului constă în localizarea de medicamente ce aparţin mai multor farmacii, mai
exact, găsirea preţului cel mai avantajos pentru utilizator. Motivul pentru care am ales să dezvolt
această aplicaţie reiese din paragraful de mai sus, economisirea banilor fiind ideea de bază a
acestuia. Aplicaţia oferă numeroase avantaje oamenilor, atât din punct de vedere al preţului
avantajos pentru un medicament, cât şi din punct de vedere al locaţiei. Principalul scop al
aplicaţiei îl reprezintă economisirea banilor. Aceasta este foarte importantă în viata unui om, iar
fiecare dintre noi ar trebuie sa avem un aşa-zis fond de urgenţe pentru a acoperi cheltuielile
neprevăzute. Economisirea ne ofera o oarecare siguranţă ce ne ajută să ieşim din situaţiile mai
complicate ce implică banii.Ceea ce m-a determinat ca această aplicaţie să fie realizată a fost
scopul final, acela de a ajuta oamenii în două privinţe diferite. Prima se referă la faptul că lumea
va evita sa piardă banii, cumparând aceleaţi produse la un preţ mult mai avantajos, iar cel de-al
doilea la faptul că aplicaţia le va oferi oamenilor mult mai mult timp. Nu vor mai fi nevoiţi să
stea în trafic sau să meargă zeci de minute pe jos pentru a cumpăra niste medicamente, întrucât
aplicaţia oferă locaţia exactă a farmaciilor din fiecare zonă a Bucureştiului. Localizarea exactă
este foarte importantă întrucât clienţii vor putea ajunge la destinatie în cel mai eficient mod
posibil. Serviciul Google Maps oferă oamenilor numeroase funcţii uşor de utilizat cum ar fi:
4
vizualizarea interiorului locaţiei căutate, obţinerea unor informaţii suplimentare despre zonă,
locatia căutată, dar si opţiunea de “streetview”. Salvând timpul, oamenii nu vor mai fi nevoiţi sa
se grăbească pentru a ajunge la o întalnire, de exemplu, sau chiar se pot relaxa în timpul acela de
20-30 minute câstigate.
Productivitatea şi eficienţa operatională au fost sporite de către uşurinta de acces,
disponibilitatea informatiilor şi, nu în ultimul rând, de catre bogaţia şi diversitatea serviciilor
web. În urma acestor creşteri, s-a înregistrat o dependenţă mai mare faţă de serviciile web, dar şi
o integrare completă a sistemelor de informaţii interne si a bazelor de date cu aceste aplicaţii.
Am ales să realizez o aplicaţie web, ci nu una mobilă din mai multe motive. Desi cele doua par
foarte asemanatoare la prima vedere, consider că site-urile se pliază mai bine pe necestităţile
publicului ţintă. Următoarele avantaje ce vor fi prezentate sunt edificatoare în alegerea tipului de
aplicaţie. Primul avantaj constă în faptul că site-urile au un cost şi un timp redus în comparatie cu
cele mobile. Un alt avantaj ar fi acela că un site poate fi o aplicaţie mobilă, şi nu în ultimul rând,
suportul şi întreţinerea sunt mai puţin costisitoare.
În urma unei căutări amănunţite, am constat existenţa mai multor aplicaţii ce au ca scop
localizarea medicamentelor cu preţul cel mai avantajos. GoodRx, OneRx, iPharmacy, OptumRx
şi Blink Health sunt foarte cunoscute în randul americanilor, sunt gratuite şi disponibile atât pe
App Store, cât şi pe Google Play.
Pacienţii din SUA sunt conştienţi de faptul că medicamentele cu prescripţie medicală ajung să
coste foarte mult, întrucât costurile de producţie sunt printre cele mai mari, dacă nu chiar cele
mai mari din întreaga lume. Un mare inconvenient îl reprezintă faptul că pacienţii nu sunt siguri
dacă achiziţioneaza cel mai ieftin produs, deoarece farmaciile plătesc sume diferite la cumpărare.
OneRx este o aplicaţie ce a apărut recent pe piată şi asigură clienţilor săi cele mai bune rezultate,
oferind locaţiile farmaciilor ce oferă reduceri la medicamentele cu prescripţie. Pe lângă această
funcţionalitate, aplicaţia oferă anumite cupoane de reduceri pentru a atrage mult mai mulţi
clienţi. Beneficiile utilizări Rx:
Realizarea unei comparaţii automate a preţurilor din toate farmaciile
Găsirea reducerilor farmaceutice
Oferirea cupoanelor de reduceri pentru medicamente
Existenţa unui card de reduceri RX
La deschiderea aplicaţiei, utilizatorii sunt nevoiti să se conecteze sau să se înregistreze în
cazul inexistenţei unui cont. Aceasta poate fi folosită chiar şi fără introducerea datelor de logare,
însă căutarea va fi una limitata, fapt ce obligă, într-o oarecare măsură, utilizatorii să-şi creeze un
5
cont. Pe lângă această limitare a cautărilor, clienţii ce nu vor să utilizeze contul nu vor beneficia
nici de acele carduri Rx sau cupoanele de reduceri. Pentru o logare completă este nevoie de
informaţiile standard, precum şi de o adresă de e-mail. Odată cu finalizarea înregistrării, aplicaţia
va deschide pagina principală ce prezintă un câmp de căutare al medicamentelor dorite. După ce
medicamentul este găsit, utilizatorii obţin mai multe funcţionalitaţi precum adăugarea în coşul de
medicamente, schimbarea cantităţii sau a dozei. Pentru a face adăugarea asigurării, este nevoie
de numele pacientului, sexul acestuia, codul poştal. Există însă o metodă mai rapidă, întrucât
OneRx permite accesul la camera telefonului pentru a fotografia cardul de asigurare şi pentru a o
stoca în baza de date. Clienţilor le este afisată lista farmaciilor cu un preţ de la cel mai mic la cel
mai mare, însa se poate face sortarea şi pe baza distanţei, nu doar a preţului. O altă sortare pe
care o pot face utlizatorii Rx este aceea că pot cere afişarea farmaciilor ce sunt deschise 24 de
ore. Apăsând pe unul din rezultate, aplicaţia va oferi informaţii referitoare la adresa farmaciei si
numărul de contact al acesteia. Butonul poziţionat dreapta-sus afişează un grafic viu colorat ce
conţine preţul de vânzare, discount-ul făcut şi preţul final pe care îl obţin clienţii. În urma
statisticilor, s-a demonstrat că OneRx îşi ajută foarte mult utilizatorii, aceştia reuşind să
economisească peste 85%.
6
Realizarea aplicaţiei a plecat de la ideea că oamenii nu mai trebuie să meargă la acea farmacie
din apropierea casei sau la cea recomandată de către medic. Astfel, cu ajutorul OneRx, pacienţii
vor avea o putere mai mare în ceea ce priveşte deciziile luate în găsirea unui medicament mai
ieftin. Oamenii vor avea acces la informaţii pe care înainte nu aveau cum sa le cunoască.
În concluzie, OneRx reprezintă o alegere bună, solidă pentru oamenii ce au nevoie sa compare
preţurile medicamentelor, să gaseasca farmaciile locale cu cea mai bună ofertă, dar şi pentru a
beneficia de cupoane şi reduceri pentru o gama largă de medicamente.
iPharmacy poate fi folosit de consumatorii de rând, dar şi de profesioniştii aflaţi în domeniul
sănătăţii. Resursele cheie sunt următoarele:
Memento-ul Meu Med(disponibil consumatorilor)
Card-ul de discout(disponibil consumatorilor)
Indentificatorul pastilei(disponibil atât consumatorilor, cât şi furnizorilor)
Căutarea de medicamente(disponibil atât consumatorilor, cât şi furnizorilor)
Forum-uri de medicamente(comunitate de discuţii)
Remindere(disponibil atât consumatorilor, cât şi furnizorilor)
Interfaţa cu utilizatorul joacă un rol important în cadrul iPharmacy, deoarece le oferă clienţilor
săi o navigare cât se poate de uşoară datorită pictogramelor familiare ce sunt folosite în
descrierea conţinutului.
7
În Figura 1.2 se află cuponul de reduceri, care este şi el, de asemenea, gratuit. Farmacistul este
obligat să ofere discount-ul pentru medicamente, întrucât între farmacii şi aplicaţie există un
contract.
GoodRx este atât o aplicaţie web, cât şi una mobilă, aceasta fiind utilizată doar in Statele
Unite ale Americii. A fost creată în anul 2011 în Santa Monica, California de către foştii directori
Facebook(Hirsh şi Marlette). Aplicaţia este în colaborare cu peste 75000 de farmacii, iar site-ul
prezintă un număr impresionat de 4 milioane de vizitatori în fiecare luna. La fel ca şi OneRx,
GoodRx este o aplicaţie uşor de utilizat, utilizatorii fiind nevoiţi să introducă doar denumirea
medicamentului. Un plus faţă de prima aplicaţie prezentată mai sus este aceea că oamenii îşi pot
comanda medicamentele şi prin intermediul poştei. Au acelaşi scop, de a-i face pe consumatori
să ia cele mai bune decizii şi să economisească bani. În urmă cu câtiva ani, GoodRx a lansat o
noua aplicaţie denumită Alexa, permiţând utilizatorilor să vorbească cu aceasta. De exemplu,
Alexa va cere să i se spună produsul ce se doreşte a fi căutat, şi, automat, va fi afişata şi cea mai
comună doză pentru acel medicament. În cazul în care rezultatul nu este cel dorit, acest lucru se
poate schimba imediat prin transmiterea unui nou mesaj Alexei. Demou-ul realizat pentru
MobiHealthNews prezintă cum aplicaţia găseşte un preţ de numai 15 dolari pentru un produs, dar
şi un preţ de 225 dolari pentru acelaşi medicament, evidenţiind astfel capacităţile uriaşe ale
folosirii GoodRx. Dacă utilizatorul este mulţumit de rezultatele căutarii, acesta îi poate cere
Alexei numărul de telefon al farmaciei, dar şi cuponul de reduceri ce este oferit gratuit. O altă
funcţionalitate a acestei aplicaţii o reprezinta notificările push, notificări ce îl ajută pe utilizator
să obţină toate informaţiile necesare despre medicamentul din lista sa de cumpărături. Dacă de
exemplu, preţul unui produs s-ar modifica sau acesta ar putea fi cumpărat doar cu o prescripţie
medicală, utilizatorul va fi înştiinţat într-un timp util. În momentul de fată, fiecare persoană ce va
descărca GoodRx va beneficia de o sumă în valoare de 5 dolari pentru achiziţionarea oricărui
medicament. Primirea produselor cumpărate este deosebit de importantă în secolul nostru, şi, de
aceea, aplicaţia prezintă o altă funcţionalitate implementată recent, ce constă în realizarea unei
comenzi la domiciliu, medicamentul fiind adus în maximum 48 de ore.
În comparatie cu celelalte aplicaţii prezentate mai sus, consider ca GoodRx este cea mai
complexă, prezentând plus-uri în toate functionalitaţile ce le detine. Principalul motiv pentru care
aceasta s-a desprins de concurentii pieţei este investiţia uriaşă făcută, o investiţie de doua ori mai
mare decat cea a rivalilor.
8
Figura 1.3-Rezultatele în urma unei căutari pe GoodRx
Sursa: https://clark.com/health-health-care/good-rx-prescription-discounts-coupons/
În Figura 1.3 se poate observa afişarea listei de farmacii ce oferă cele mai bune preţuri pentru
medicamentul numit lisinopril. Accesând butonul din dreapta, se va deschide o nouă pagină ce va
contine cuponul de reduceri. Clientul, pentru a primi reducerea, va fi nevoit să prezinte
farmacistului doar cuponul de pe dispozitivul mobil.
Chiar dacă OneRx, GoodRx şi celelalte prezentate mai sus, au facut o investitie uriaşă în
ceea ce priveşte crearea şi dezvoltarea lor, am incercat să fac o comparaţie cu aplicaţia realizată
de mine. Pot spune că ar fi putut fi îmbunatăţită în ceea ce priveşte acea funcţionalitate de
reminder, dar şi în privinţa cupoanelor de reduceri oferite clienţilor. Este o idee foarte bună de
marketing, întrucât utilizatorii sunt atraşi de orice fel de oferte de acest tip. Un alt lips al
aplicaţiei ar fi acela că userii nu beneficiază de existenţa unui cont de logare, fapt ce mi-ar fi
permis atât obţinerea datelor personale ale acestora, cât şi formarea unei legaturi mai strânse
între ei şi aplicaţie. Consider că aplicaţia realizată de mine are şi câteva plus-uri faţa de cele deja
existente pe piată. Userii vor primi ca rezultat, nu doar medicamentul căutat, ci şi cele din game
asemănătoare. Astfel, aceştia se pot răzgândi, în cazul în care au gasit un rezultat ce le convine
mai mult atât din punct de vedere al preţului, cât şi al distanţei. O altă funcţionalitate pe care nu
am întalnit-o la celelalte aplicaţii ar fi aceea că utilizatorii primesc şi sugestii de medicamente,
sugestii ce se bazează pe simptomele prezentate de către pacienţi. De exemplu: un utilizator este
9
răcit şi doreşte să caute un medicament pentru acest simptom şi nu preferă o marcă anume, el
poate introduce textul “răceală”, fiind afişate astfel toate produsele din această categorie.
Aplicaţia pune la dispoziţie şi un istoric al celor mai căutate medicamente, astfel putându-se
inspira şi din alegerile celorlalţi clienţi.
10
Capitolul 2.Tehnologii utilizate
Acest capitol e structurat în 5 subcapitole, titlurile fiind chiar denumirile tehnolgiilor utilizate
în dezvoltarea, creșterea aplicației: ASP .NET CORE, .NET CORE WEB API, ANGULAR JS
1.6, și BOOTSTRAP, MICROSOFT SQL SERVER, HTML și CSS.
Cadrul de lucru .NET a început să se facă remarcat la sfârșitul anilor 1990, principalul motiv
fiind existența unei biblioteci ce permite programatorilor să dezvolte aplicații în diferite limbaje
precum:VB,C#,C++ . Un alt avantaj îl reprezintă faptul că .NET Core le oferă atât
dezvoltatorilor, cât și programtorilor o bibliotecă ce poate fi implementată pe mai multe
platoforme.Programele realizate în .NET sunt executate într-un mediu numit CLR(Common
Language Runtime), acest mediu oferiând numeroase facilități precum: securitate, siguranță și o
mai bună gestionare a memoriei.ASP.NET Core 5 reprezintă baza .NET Core (acesta fiind un
run-time optimizat).
Pentru o foarte lungă perioadă de timp, ASP.NET a fost folosit în dezvoltarea aplicațiilor
web.Acest cadru a suferit numeroase modificări pe parcursul anilor, ASP.NET Core 1.0 fiind
prima versiune.ASP. NET Core este un cadru web open-source realizat cu scopul de a dezvolta
aplicații web moderne ce ruleaza pe Windows, Linux sau Mac. Cadrul MVC este acel cadru care
a îmbinat caracteristicile MVC cu cele WEB API într-un singur cadru de programare.
.NET Core este format din două componente majore. Prima componentă este runtime-ul, ce este
construit din codurile de bază ca și cele folosite in .NET Framework. Cea de a doua componentă
o reprezintă bibliotecile, bibliotecile ce oferă mai multe tipuri de date primitive, dar și tipuri de
compoziții ale aplicațiilor.
Principalele caracteristici:
Aplicațiile ASP.NET pot rula pe întregul .NET Framework
Oferă un cadru de dezvoltare foarte bine optimizat
Prezența componentelor modulare oferă o anumită flexibilitate în moemntul construirii
soluțiilor
Compatibilitate: prin intermediul bibliotecii standard .NET, .NET CORE este compatibil
cu .NET Framework, Xamarin si Mono
Susținut de către Microsoft
11
Avantajele folosirii ASP. NET CORE:
Prezintă o serie de modificări structurale ce conduc la formarea unui cadru mai simplu,
modest și modular
Folosește pachetele NuGet în locul System.Web.dll
Optimizarea aplicației
Securitate și costuri reduse
Rularea aplicațiilor side-by-side
Arhitectura .NET este compusă din 4 componente majore. Prima dintre ele o reprezintă
limbajul specific(CLS) ce prezintă modul în care obiectele sunt implementate. CLS este un
subset al CTS (sistem comun de tip), acesta stabilind modalitatea comună de a prezenta toate
tipurile de date. Cea de a doua componenă este clasa de biblioteci(FCL) și are rolul de a colecta
interfețe și tipuri de valori. Excutarea programelor .NET este realizată cu ajutorul CLR (limba de
rulare comună). Ultima componentă o reprezintă Visual Studio, instrumentul de realizare a unei
aplicații web.
În comparația .NET Core și .NET Framework, .NETStandard reprezintă API-ul comun și
poate fi mai bine evidențiat în Figura 2.1.
Figura 2.1-.NETStandard
Sursa: https://stackify.com/net-core-vs-net-framework/
12
Lipsa caracteristicilor .NET Framework
Crearea serviciului WCF
13
Figura 2.2-Arhitectura unei aplicații fara API
Sursa: https://blogs.msdn.microsoft.com/martinkearn/2015/01/05/introduction-to-rest-and-net-
web-api/
În momentul în care se dorește realizarea unei noi funcții, dezvoltatorii vor fi nevoți să
actualizeze fiecare aplicație în parte. Este un proces foarte complex ce poate duce atît la
fragmentarea caracteristicilor, cât și la apariția unor bug-uri.
14
POST (Atunci când dezvoltatorul dorește să creeze o nouă resursă, respectiv adaugarea sa
în baza de date, acesta va folosi verbul POST. Pentru a face acest lucru este necesară
utilizarea sintaxei [HttpPost])
PUT (Scopul constă în actualizarea informațiilor din baza de date, datele fiind transimise
în formă de obiect sau parametru. Apelarea se face utilizând sintaxa [HttpPut])
DELETE (Șterge resursele existente, sintaxa fiind [HttpDelete])
AngularJS reprezintă un cadru structural pentru aplicațiile web ce utilizează HTML ca limbaj
de programare. Prin intermediul acestuia, dezvoltatorii pot exprima într-un mod simplu toate
componentele unei aplicații. Obiectivul său principal este acela de a simplifica atât dezvoltarea,
cât și testarea aplicațiilor. Directivele sunt cele care extind atributele HTML, iar legarea datelor
se face cu ajutorul expresiilor.
15
Proiectare rapidă și ușoară
Asigurarea compatibilității cu browser-ul
Coerență
Adaptare la orice tip de dispozitiv
Listă extinsă de component
Elementele HTML
Componente reutilizabile
Îmbinarea HTML, JavaScript și CSS
Directivele AngularJs reprezintă niște atribute HTML ce au prefixul “ng-“. Principalele
directive sunt: ”ng-app” (cu ajutorul acesteia se inițiază o cerere), ”ng-init” (inițializarea datelor
aplicației), “ng-model” (legarea comenzilor HTML la aplicație), “ng-repeat” (repetarea unui
element).
16
2.4 MICROSOFT SQL SERVER
Este permisă combinația instrucțiunilor DELETE, UPDATE, FROM, acest lucru fiind evidențiat
în Figura 2.6.
17
Figura 2.6-Combinația instrucțiunilor
Sursa: https://en.wikipedia.org/wiki/Transact-SQL
În anul 2005, Microsoft a introdus instrucțiunea TRY CATCH, aceasta având rolul de a
simplifica codul scris de către programatori (Figura 10).
18
Figura 2.8-Elementele cheie ale limbajului HTML
Sursa: https://www.computerhope.com/jargon/h/html.htm
În Figura 2.8 se poate observa folosirea elementelor de bază pentru a realiza o pagină web.
Scopul primei linii de cod este acela de a permite browser-ului de Internet interpretarea textului
ce urmează a fi scris. Browser-ul știe că este folosit un cod HTMl datorită utilizării acelor
etichete de la început. Următoarea secțiune permite introducerea informațiilor necesare în
descrierea paginii, cum ar fi titlul și poziționarea fișierului CSS.
În timp ce limbajul HTML este utilizat în scopul structurării paginilor web (introducerea de
titluri, paragrafe, imagini, video-uri), CSS are rolul de a le stiliza (aspectul paginii, culori, font).
În Figura 2.9, prezența paragrafului „p”, numită si selector, denumește ce element HTML va
urma să fie influențat de stilul CSS. Proprietățile și valorile ce se aplică selectorului sunt cele din
interiorul parantezelor. In figura de mai sus “culoare” și “font-weight” reprezintă proprietăți, în
timp ce “bold” este o valoare
19
Capitolul 3.Proiectarea sistemelor informatice
Limbajul UML este folosit de către analiștii de afaceri, arhiteți software și dezvoltatori,
scopul acesuia fiind acela de a descrie, specifică, analiza, proiecta sistemele software. Poate fi
utilizat în diverse domenii precum cel bancar, financiar, medical. Ceea ce este important de
reținut este faptul că limbajul UML este un limbaj standard de modelare, ci nu un process de
dezvoltare software. UML prezintă 13 tipuri de diagrame diferite: de clasă, de activitate, de
obiect, de stare, de secevență, caz de utilizare, de comunicare, de interacțiune, de procese etc.
UML reprezintă o metodă de vizualizare a unui program cu ajutorul diagramelor. Acesta
oferă o integrare îmbunătățită între modelele structural (diagrama de activitate, de
comportament, de clasă). Prezintă capacitatea de a descompune un sistem în componente și
subcomponente, dar și de a defini o ierarhie.
20
3.1 Diagrama generala
În Figura 3.1 este prezentata schema diagramei generale. Se poate observa existența a doi
actori: administratorul și utilizatorul. Primul actor vizitează site-ul, iar mai apoi este nevoit să se
logheze pentru a avea acces la toate comenzile pe care dorește să le facă. Acesta poate adăuga,
șterge sau edita un medicament. Pentru crearea unui medicament este necesară introducerea
următoarelor date: denumire produs, ingredient, locație, denumire farmacie și preț. Mai apoi
acestea sunt salvate într-o bază de date. Cel de-al doilea actor vizitează site-ul și poate folosi una
din cele trei opțiuni puse la dispoziție de către aplicație. Acestea sunt: căutare produs după
numele medicamentului, căutarea produsului în funcție de ingredientul activ al medicamentului
și căutarea produsului în funcție de prezentarea medicamentului.
21
3.2 Diagrama cazurilor de utilizare
Diagrama cazurilor de utilizare face parte din categoria diagramelor comportamentale, aceasta
folosind actorii și „cazurile de utilizare”. Ele reprezintă o multitudine de acțiuni și funcții pe care
sistemul este nevoit să le îndeplinească. Atât vizualizarea cerințelor funcționale ale unui sistem,
cât și identificarea factorilor interni și externi ce l-ar putea influența, reprezintă unele din
prinicipalele avantaje. Pe lângă acestea, diagrama oferă și o mai bună analiză în ceea ce privește
sistemul. Relațiile dintre actori și cazuri sunt de mai multe tipuri: „generalizare”, “extindere”,
“includere”.
În Figura 3.2 se poate observa că un utilizator poate solicita aplicațiie trei tipuri de căutari
și anume: căutare după denumirea medicamentului, căutare în funcție de prescripțiile
22
medicamentului și căutarea după ingredientul activ al produsului. Rezultatul final va fi afișat
numai dacă medicamentele căutate de către utilizatori se află în baza de date a farmaciilor
(relația de includere). Această relație nu este una opțională, ci dimpotrivă este una obligatorie.
Diagrama de activitate se aseamană foarte mult cu diagrama de flux sau cu cea a fluxului de
date întrucat aceasta prezintă o serie de acțiuni sau un flux de control într-un sistem. În cele mai
multe cazuri este folosită în modelarea proceselor din cadrul unor afaceri. Orice diagramă de
activitate prezintă o stare inițială și o stare finală.
Simboluri și notații:
Starea ințială (reprezentat de un cerc plin)
Starea activității (reprezentat de un dreptunghi cu colțuri rotunjite)
Fluxul de acțiune (reprezentat de o linie cu o săgeată)
Fluxul de obiecte
Deciziile și ramificațiile (diamantul reprezintă o decizie cu mai multe căi alternative)
Gărzile
Sincronizarea
Evenimentul de timp
Starea finală (reprezentat tot de un cerc dar și de o săgeata orientate către acesta)
23
Figura 3.3-Diagrama de activitate (administrator si sistem)
În Figura 3.3 se poate observa schema diagramei de activitate, acțiunile având loc între
administrator și sistem. Întai de toate, administratorul este nevoit să se conecteze la contul sau
pentru a putea realiza acțiunile. Acesta acceseaza meniul aplicației, iar mai apoi poate șterge,
adaugă sau actualizează un produs deja existent. În cazul în care introducerea datelor este făcută
corect, acestea se vor salva în baza de date, astfel ajungându-se în punctual final. În caz contrar,
dacă adminstratorul face o greșală atunci când introduce datele despre un medicament, acesta va
fi nevoit să repete acțiunea.
În Figura 3.4 este prezentată schema diagramei de activități dintre utilizator și sistem.
Vizitatorul va accesa pagina web a aplicației, iar mai apoi poate căuta medicamentul. În
momentul în care acesta introduce datele corect, aplicația va afișa într-un final rezultatele dorite
24
de către acesta. În caz contrar, aplicația nu va găsi niciun medicament, iar utilizatorul este nevoit
să introducă din nou datele.
Una dintre cele mai folositoare diagrame UML este diagrama de clase întrucat, prin
intermediul acesteia, se prezeintă structura unui anumit sistem prin modelarea claselor și
atributelor. Secțiunea superioară, secțiunea intermediară și secțiunea inferioară constituie
elementele de baza ale acestui tip de diagramp. Prima secțiune conține numele clasei, cea de a
doua, atributele acesteia și cea de a treia, operațiunile de clasă. Fiecare clasă conține un nivel de
acces diferit: public(+), private(-), protected(#), package(~), derived(/) și static (subliniat).
25
3.5 Diagrama de interacțiune
După cum îi spune și numele, rolul principal al acestui tip de diagramă este acela de a
descriere tipul de interacțiune între modelele sistemului. Schema de secevență și schema de
colaborare reprezintă cele două forme ale diagramei de colaborare. În prima formă, obiectele
sunt afișate pe linii verticale, iar mesajele se situează pe linii orizontale. În cea de a doua schemă,
obiectele sunt afșate ca niște pictograme, iar mesajele indică trimiterea mesajelor. Diferența
majora dintre cele două diagrame constă în faptul că schema de colaborare trimite mesajele într-o
anumită ordine. Diagrama de interacțiune ar trebui folosită atunci cănd se dorește cunoașterea
comportamentului mai multor obiecte dintr-un caz de utilizare. Principalul avantaj constă în
aflarea colaborărilor dintre obiecte, iar dezavantajul, în faptul că nu definesc foarte bine
comportamentul acestora.
Utilizarea diagramelor de interacțiune duce la:
26
Figura 3.6-Diagrama de interacțiune (utliziator-site-sistem)
În Figura 3.6 se poate observa schema diagramei de interacțiune între utilizator, site-ul web și
sistem. Utilizatorul introduce în secțiunea de căutare medicamentul dorit, iar apoi se face o
verificare a existenței acestuia în sistem. În cazul În care nu se află în BD, aplicația web nu va
afișa niciun răspuns la căutare. În caz contrar, user-ul primește locația farmaciei ce deține acel
medicament, însotit de prețul acestuia.
În figura de mai jos (numarul 3.7), după ce utilizatorul primește rezultatele căutării și
accesează, mai apoi, pe unul din aceastea, vor avea loc următoarele acțiuni:
Diagrama de procese reprezintă doar unul din tipurile definite de către BPMN. Aceasta pune la
dispoziție trei tipuri de diagrame: diagrame de proces, diagrame coregrefice și nu în ultimul rând,
diagrame de colaborare. Se adresează tutoror persoanelor ce doresc să obțină o implementare
precisă, prin utilizarea a numeroase detalii.
27
Elementele ce consituie BPMN:
28
3.7 Proiectarea bazei de date și proiectarea interfeței utilizator
Figura 3.9-Schema BD
29
Figura 3.10-Interfașa utilizator
Accesând meniul principal, utilizatorul va putea folosi secțiunea de search, dar și vizualizarea
istoricului și medicamentele cele mai cautate. O dată ce produsul este găsit, se va deschide o
nouă fereastră în care vor apărea locațiile farmaciilor împreună cu prețul medicamentelor.
30
Capitolul 4. Implementarea soluției
Aplicația se adresează tututor oamenilor ce vor să benefecieze de un preț cât mai avantajos
atunci când doresc să achizționeze un produs, astfel aceasta pune la dispoziție numeroase
facilități precum adresa exactă a farmaciilor, un istoric de căutări, sugestii de medicamente din
game asemănătoare, căutarea unui produs pe baza ingredientului activ, căutarea în funcție de
simtomele prezentate de către un utilizator.
În capitol 2 am prezentat numeroasele tehnologii utilizate în crearea acestei aplicații web, iar
acum, pe parcursul noului capitol veți observa unde și cum au fost implementate . ASP .NET
reprezintă tehnologia de bază ce a stat la formarea acestei aplicații alături de limbajul C#,
HTML, CSS, T-SQL.
Aplicația web este structurată în două mari părți:
Înainte de toate pentru a avea acces la aceste facilități și pentru a putea gestiona
medicamentele, utilizatorul este nevoit să se logheze.
31
Figura 4.2-Secțiunea de logare
32
Figura 4.4-Functia CreateDrugStores
Folosirea aceleiași denumiri de funcții pentru operațiile GET, POST, DELETE este posibilă
datorită facilităților oferite de către ASP.NET MVC. Atunci când este apăsat butonul „Adaugă”
aplicația este capabilă să diferențieze funcțiile datorită adnotaiilor de deasupra.Validitatea datelor
introduse se face în Filters, mai exact în ModelStateValidationFilter.
Conform codului ce se află în Figura 4.4, se face verificare request-ului, iar în urma validării se
realizează redirectionarea către pagina principală.
33
Figura 4.6-Secțiunea de adăugare a unui ingredient
La fel ca și în cazul prezentat mai sus, funcția de adăugare a unui nou ingredient se află în
controller-ul cu numele „IngredientController”. Folosind butonul de „Adaugă”, funcția POST
intervine din nou.
„Adaugă produs”- la fel ca și la partea de adăugare a unui ingredient activ nou, trebuie
introduse denumirea și descrierea produsului (parte opțională de completare).
După adăugarea produsului, ne vor apărea cele două opțiuni: cea de introducere a unui preț
pentru respectivul medicament și cea de introducere a ingredientului activ.
34
Figura 4.8-Secțiunea de adăugare a unui preț sau/și ingredient activ
Am ales această abordare de a trece de la adăugarea unui produs la deschiderea unei alte
secțiuni de completare a produslui final, pentru ca aplicația să devină mult mai simplă pentru
utilizatorii săi. După cum am mai menționat, adăugarea ingredientlui activ este o alegere
opțională. Medicamentele sunt constituite din mai multe substanțe, însă substanța de bază poartă
denumirea de ingredient activ. Am introdus această funcționalitate întrucat oamenii nu au nevoie
întotdeauna de o anumita marcă de medicament, ci dimpotrivă vor sa găseasca doar denumirea
substantei de bază. Astfel, aplicația îi ajută și mai mult pe utilziatorii să găsească cel mai
avantajos preț.
Odată cu selectarea optiunii de introducere a unui preț, adminstratorul va introduce în baza de
date, numele farmaciei, locația si prețul. Același produs se poate găsi în mai multe farmacii
diferite.
35
Analog selectării opțiunii de introducere a prețului, adminsistratorul este nevoit să introducă și
ingredientul activ. Același ingredient activ se poate regăsi în mai multe medicamente diferite.
Utilizatorul va putea scrie în secțiunea de “search” produsul pe care și-l dorește .Acesta nu va
fi obligat să introducă doar denumirea acestuia, ci ar putea căuta și în funcție de simptomele pe
care le prezintă sau ingrediuntul activ de care are nevoie. Acest lucru este posibil întrucat toate
datele (introduse de admin) de mai sus, au fost salvate într-o baza de date ce va fi in permanență
actualizate.
Căutarea după simptomele pacientului este posibilă , întrucat, din imaginile de mai sus, se
poate observa ți secțiunea de descriere (care deasemenea se va salva în baza de date).
36
În Figura 4.11 este prezentat codul parțial al funcției Search. Prin intermediul acesteia doresc
să evidențiez beneficiile utilizarii limbajul C#, ce are funcționalitatea de sortare inclusă .Datorită
„.OrderBy” rezultatele finale ale căutarii vor duce la o afișare a tuturor medicamentelor într-o
ordine crescătoare din punct de vedere al prețului.
În baza de date se vor salva toate căutarile utilizatorilor, formându-se, astfel, un istoric. Cu
ajutorul acestuia, clientul va putea beneficia de vizualizarea „celor mai căutate medicamente” de
pe aplicația web.
37
Figura 4.1-Codul de creare a tabelei ActiveIngredient
În imaginea de mai sus este funcția de creare a unei tabele. Prima linie de cod stabilește cheia
primară a tabelei prin folosirea sitaxei „PRIMARY KEY”. În continuarea acesteia se precizează
referințele la tabelele Product și Ingredient, tabela în cauză având ca atribute id-urile acestora.
O ultimă mențiune pe care aș dori să o prezint ar fi aceea că secțiunea de “Search” este case-
insensitive. Această funcționalitatea este datorată programlui de a face diferanța între majuscule
și literele mici. De exemplu: dacă dorim să căutam “nurofen”, iar noi vom scrie”Nurofen”
aplicația va afișa, bineînțeles, rezultatele.
38
Capitolul 5. Concluzii
În concluzie, atât cercetarea temei alese, cât și realizarea aplicației au presupus un studiu
amănunțit. Am fost nevoit să aprofundez situația economică a României în ceea ce privește
salariile minime, dar și modul de stabilire al prețurilor pentru medicamente. Ceea ce am constat a
fost că populația României este dezavantajată din punct de vedere al prețurilor produselor din
aproape toate categoriile, exceptând alimentele, tutunul și alcoolul. Și ceea ce ne dezavantajează
și mai mult este faptul că statisticile demonstrează că avem printre cele mai mici salarii din
Uniunea Europeană, salariul minim pe economie fiind de numai 1162 lei. Stabilirea prețurilor
medicamentelor se face diferit de la tară la tară, însa nici aici nu ne situăm prea bine din acest
punct de vedere față de alte state membre UE. Documentându-mă, am reușit să acumulez foarte
multă informație, informație ce mi-a schimbat, în bine, ideea inițială de aplicație. Consider că
aplicația a reușit să-ți atingă obiectivele întrucât oamenii vor gasi întotdeauna un preț mai
avantajos, făcându-i să economisească bani, dar și timp. Se oferă utilizatorilor o interfață plăcută
și simplă de utilizat pentru a nu întâmpina probleme în ceea ce privește atingerea satisfacțiilor
acestora.
Oamenii ar trebuie să profite de era tehnologizată în care ne aflăm, aplicațiile fiind în plină
dezvoltare. Lăsând deoparte aplicația creată de mine, există numeroase alte aplicații ce îi ajută pe
oameni din mai multe puncte de vedere precum: cum să economisească banii, cum să-și planfice
timpul și bugetul, cum să obțină bani lucrând în mediul online etc.
Deși cercetarea unor aplicații similare deja existente pe piață mi-a demonstrat că acestea
sunt, din anumite puncte de vedere, mult mai bine gândite, m-a făcut să-mi doresc ca aplicațiile
viitoare pe care le voi face să fie mult mai bune, complexe și fără puncte slabe. Principalul
beneficiu pe care îl aveau acele aplicații și care mi-au atras atenția, este acela că utilizatorii pot
obține cupoane de reduceri la majoritatea medicamentelor. Pe lângă aceasta și ideea de
marketing a fost una stralucită, oferind un bonus la prima instalare.
După cum am menționat și mai sus, aș fi dorit ca aplicația sa aibă mult mai multe
funcționalități. Aș fi putut implementa o interfață mult mai placută sau aș fi putut introduce
funcționalitatea de fuzy search. Cu ajutorul acesteia, utilizatorul ar fi beneficiat de un răspuns
chiar dacă argumentul de căutare nu corespundea cu exactitate informațiilor dorite. Este ca cea
folosită de Google atunci când un utilizator scrie, de exemplu, „bucrști” și primește ca răspuns
„Ați dorit să scrieți București?”. O altă funcționalitate ce ar fi putut fi introdusă era folosirea unui
raport prin intermediul căreia puteam observa numărul de vizitatori din fiecare zi al aplicației,
dar și a unei statistici în ceea ce privește preferințele acestora. Acest lucru m-ar fi putut ajuta în
39
promovarea mai rapidă a site-ului ntrucât aș fi deținut toate informațiile necesare pentru a
cunoaște mai bine utilizatorul.
Am întâmpinat probleme în momentul în care am dorit să obțin bazele date ale tuturor
medicamentelor unei farmacii. Deși am trimis numeroase mail-uri, încercând să contactez unii
manageri, într-un final am abandonat aceeastă idee. Consider că și introducerea unor prețuri
orientative ale medicamentelor este până la urmă suficientă în dezvoltarea unei aplicații
academice.
Nu în ultimul rând, în locul unei aplicații web, construirea uneia mobile ar fi fost o idee mai
bună deoarece, prin intermediul acesteia, utilizatorii ar fi putut avea acces mai ușor la informatii.
40
BIBLIOGRAFIE
[1] Manole Velicanu, Ion Lungu, Iuliana Botha, Adela Bara, Anda Velicanu, Emanuil
Rednic,“Sisteme de baza de date evaluate”, Editura ASE, Bucuresti, 2009
[2] Ion Lungu, Adela Bara, Constanta Bodea, Iuliana Botha, Vlad Diaconita, Alexandra Florea,
Anda Velicanu, “Tratat de baze de date, vol. 1”, Editura ASE, Bucuresti, 2011
[3] Ion Lungu, Adela Bâra, Constanţa Bodea, Iuliana Botha, Vlad Diaconiţa, Alexandra Florea,
Anda Velicanu, ”Baze de date. Organizare, proiectare şi implementare”, Editura ASE, 2011,
[4] Adela Bâra, Iuliana Botha, Vlad Diaconiţa, Ion Lungu, Anda Velicanu, Baze de date –
Limbajul PL/SQL, Editura ASE, 2009
[5] Everyone wants to reduce drug Price.So why can’t we do it? Disponibil:
https://www.nytimes.com/2017/09/23/sunday-review/prescription-drugs-prices.html
[6] What is the minimum and avarage salary in Romania in 2018? Disponibil:
https://www.romaniaexperience.com/what-is-the-minimum-and-average-salary-in-romania-in-
2017/
[11] Create a Web API with ASP.NET Core and Visual Studio for Windows. Dispobil:
https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-2.1
41
[16] .NET Framework or .NET Core? Disponibil:
https://www.infoworld.com/article/3180478/development-tools/net-framework-or-net-core-
when-to-use-which.html
42