Farmacografia stabilește regulile de prescriere a medicamentelor. [311701]
CUPRINS
CAPITOLUL I. INTRODUCERE
Un sistem de gestiune a medicamentelor (sistem de tip pill reminder) poate fi considerat orice dispozitiv ce amintește unui pacient: [anonimizat] o dată la o anumită perioadă recomandată de un doctor sau de un farmacist. Dispozitivele tradiționale pot fi descrise ca fiind un loc de depozitare a [anonimizat] a porni sau opri o alarmă predefinită (un semnal sonor către pacient: [anonimizat] a medicamentului).
Dispozitivele cele mai moderne din punct de vedere tehnologic sunt dotate cu senzori ce activează acest timer electronic în momentul în care spațiul de depozitare al pilulelor este deschis. O primă limitare a [anonimizat], [anonimizat]. Aceste sisteme de gestiune a administrării medicamentelor pot alerta pacientul sub o formă sonoră (alarmă) sau sub forma vizuală (luminoasă) pentru pacienții cu probleme de auz.
O dată cu progresul tehnologic apare tendința de a [anonimizat] a îmbunătăți eficiența acestora prin eliminarea limitărilor prezente. Astfel, de-a lungul timpului s-au creat aplicații mobile ce folosesc modul de alarmare al telefonului pentru a reaminti pacientului când trebuie administrată următoarea doză medicamentoasă. Aceste programe pot ține cont și de ratarea unei doze de asemenea. [anonimizat] (persoane vârstnice care nu sunt obișnuite cu folosirea unui telefon mobil ce permite instalarea de astfel de aplicații sau persoane cu deficiențe de vedere ce nu pot folosi telefonul mobil în astfel de cazuri).
Abordarea problematicii populației îmbătrânite a devenit un trend în ultimul timp în jurul lumii. [anonimizat] a acestor vârstnici și îi putem asista să trăiască și să își urmeze tratamentul independent.
O dată cu procesul de îmbătrânire al populației intervin și anumite boli cronice de care suferă mai mult de jumătate din populația trecută de vârsta a doua din lume. Deoarece funcțiile fizice și psihice a [anonimizat], [anonimizat] a fi conștienți de faptul că trebuie să urmeze un anumit tratament.
În ultimii ani, o [anonimizat]. Software-[anonimizat] o bază de date în care poate găsi cei mai apropiați doctori sau farmaciști de domiciliu în cazul în care apar anumite complicații. Studii recente au demonstrat faptul că adulții ce nu sunt trecuți de vârsta a doua (aproximativ 70% din populația citadină a lumii) dețin un dispozitiv (computer, smartphone) ce suportă instalarea unui astfel de software (numit pill reminder), [anonimizat] defecte de vedere sau de auz ce pot rata administrarea medicamentului tocmai datorită acestui defect.
De asemenea, persoanele vârstnice sau persoanele ce suferă de un anumit handicap mental își pot administra doze haotice de medicamente, mai puțin sau mai mult decât este necesar. Acest lucru prezintă din nou o limitare a dispozitivelor existente astăzi deoarece nu au un sistem de control al acestui lucru.
Prin tema aleasă de mine, ce poartă numele de „Sistem de gestiune și control al administrării medicamentelor” îmi propun, pe cât posibil, să elimin aceste limitări importante ce apar în cazuri speciale precum persoane vârstnice sau cu defecte de vedere și/sau auz sau chiar pentru persoane ce nu dețin un dispozitiv ce suportă un anumit software de tip pill reminder (smartphone/computer). Datorită faptului că numărul persoanelor vârstnice este într-o continuă creștere, acest dispozitiv care va fi prezentat în capitolele ce urmează se bazează pe implementarea unui sistem de avertizare prin mesaj text pe telefon (SMS), lucru ce ar putea elimina problema ce apare atunci când persoanele nu sunt lângă dispozitivul propriu-zis, și pe implementarea unei conexiuni în timp real de conectare la o bază de date unde vor fi introduse diferite date referitoare la modul de administrare a medicamentelor de către pacient.
Am ales această temă deoarece consider că are o importanță majoră în domeniul farmaceutic și consider că o administrare a medicamentelor cât mai corectă și cât mai precisă din punct de vedere al cantității de medicament poate influența enorm modul în care pacientul răspunde la tratament. În primul rând, acest tip de dispozitiv se adresează unei clase vaste de pacienți de toate vârstele. Viața de zi cu zi a devenit una plină de responsabilități și de stres, iar oamenii ce suferă de anumite boli uită sau chiar nu au timp să își ia medicația și acest lucru a devenit o problemă remarcabilă în lume pentru ca pacienții să își poate urma tratamentul într-un mod cât mai strict. Această respectare se referă la cum pacientul își ia medicația la momentul potrivit în funcție de cerințele doctorului și enorm de multe studii arată cum pacienții ce nu respectă acest lucru pot afecta în mod critic sănătatea pacientului. Astfel, voi prezenta un nou sistem de gestiune al medicației indicat persoanelor ce uită, nu au timp sau persoanelor vârstnice cu probleme atât mintale cât și fizice.
În capitolul II, am prezentat noțiuni generale de teorie în ceea ce privește știința farmacologiei precum și noțiunea de medicament și importanța administrării acestora la timp. În al treilea capitol, am prezentat informații legate de pill reminder împreună cu o înșiruire a celor mai comune pe piață în zilele noastre, evidențiind astfel și avantajele și dezavantajele acestora. De asemenea, tot în acest capitol, am luat în calcul și aplicațiile de telefon mobil ce au rol de pill reminder. În capitolul III, am prezentat sistemul propus de mine, prin evindențierea componentelor, a dezavantajelor și avantajelor acestuia și etape de realizare a acestui dispozitiv.
CAPITOLUL II . ADMINISTRAREA ȘI ȘTIINȚA MEDICAMENTELOR
Știința care studiază medicamentele în relație cu sistemele și organismele vii poartă denumirea de farmacologie. Ea cuprinde 6 ramuri principale, unele cu caracter fundamental, iar altele cu caracter aplicativ.
Prima ramură, că ordine a importanței acesteia în domeniul farmacologiei poartă numele de farmacocinetica, ce studiază „mișcarea” medicamentelor în organism, respectiv absorbția, distribuția, metabolizarea și eliminarea[1].
Farmacodinamia studiază fenomenele ce se produc în urma interacțiunii dintre medicament și organism, mai pe scurt efectele acestora. Această ramură generală constituie partea teoretică a famacologiei și se ocupă cu reguli generale ale acțiunii medicamentelor, adică relații precum structură-acțiune și doză-efect. O particularitate a acestei ramuri o constituie farmacodinamia specială care explică acțiunea medicamentelor asupra diferitelor aparate și sisteme.
Farmacotoxicologia reprezintă studiul manifestărilor produse de o administrare greșită sau accidentală a medicamentelor și de combaterea efectelor produse.
Farmacografia stabilește regulile de prescriere a medicamentelor.
Farmacoterapia studiază modul de administrare al unui medicament, indicațiile și contraindicațiile.
Farmacoepidemiologia cuprinde măsurile de precauție menite să evite sau să diminueze posibilele efecte nedorite ale medicamentelor. Tot în această ramură este inclusă farmacovigilența, care are ca obiect examinarea, înregistrarea, validarea și evaluarea reacțiilor adverse medicamentoase de către personalul medical care efectuează farmacoterapia.
Farmacologia clinică relevă etapă de evaluare clinică a unui medicament care a trecut examenul evaluărilor experimentale pe animale, se execută pe voluntari sănătoși sau pe bolnavi, respectându-se anumite principii etice[2].
Astfel că, prin enumerarea tuturor ramurilor fundamentale ale farmacologiei se înțelege că aceasta știință are strânse legături cu unele discipline cum ar fi: toxicologia, chimia, fizica etc.
2.1 Noțiunea de medicament
Medicamentul (menționat de multe ori că produs farmaceutic, preparat farmaceutic) reprezintă orice compus chimic pur sau complex care, prin acțiunea sa și prin efectele sale asupra organismelor vii, poate fi folosit pentru prevenire, diagnosticare, tratare și ameliorare a bolilor de toate tipurile.
Medicamentele folosite în practica medicală provin din diferite surse[3]:
Vegetal – provenit din diferite părți ale plantelor, ca exemplu: morfină, atropina, digoxinul, substanțe ce provin din folium, flores, semen;
Animală – hormoni (insulina porcină, bovină); enzime (tripsină, amilază);
Minerală – caolinul, bentonită;
Sintetice – unele antibiotice cum ar fi penicilină G;
Semisintetice – substanțe precum sulfamidele antibacteriene.
Orice medicament se prezintă ca un produs prelucrat și studiat, cu proprietăți cunoscute și care este activ în anumite doze[4].
Drogul reprezintă materia primă brută folosită pentru prepararea acestor substanțe medicamentoase și conține una sau mai multe substanțe active ce se pot izola, extrage sau reproduce pentru a maximiza folosirea lor în domeniul farmaceutic.
Drogurile se pot clasifica în foarte multe moduri, însă modelul predominant de clasificare a acestora îl reprezintă în funcție de structura chimică, proprietăți fizico-chimice și efecte biologice[5]:
Alcaloizi – aceștia reprezintă compuși organici cu azot, baze cuaternare de amoniu și au o reacție alcalină, sărurile lor fiind hidrosolubile. Au un efect farmacodinamic puternic, spre exemplu: morfina, atropina.
Glicozide – cu molecula formată din 2 părți – una neglucidică, numită aglicon sau genină, responsabilă de efectul farmacodinamic și o parte glucidică, compusă din una sau mai multe oze. Ca exemple putem aminti: glicozidele tonicardiace, glicozidele antrachinonice.
Saponine – cu structură glicozidică. Are proprietăți tensioactive și emulgatoare, ce produc spumă în contact cu apa. Local acestea au un efect iritant, iar injectate intravascular produc hemoliză. Ex: Infuzia de rădăcină de Primula, cu efect expectorant.
Materii tanante – acest tip de produs farmaceutic are o acțiune de strângere (astringentă) datorită precipitării proteinelor extracelulare. Ca exemplu, acestea se găsesc în fructele de afin, folosite pentru tratarea simptomatică a diareelor.
Uleiurile volatile, denumite și eterice – sunt compuși liposolubili, volatili cu miros aromat. Sursa lor o reprezintă de asemenea plantele, care produc aceste substanțe prin antrenare cu vapori de apă. Spre exemplu: uleiurile de mentă, cimbrișor, eucalipt.
Substanțele mucilaginoase – sunt compuși cu structură polizaharidică, ce formează cu apă soluții coloidale vâscoase. De asemenea, acestea formează o peliculă protectoare la suprafața mucoaselor.
Preparatele medicamentoase sau mai exact forma medicamentoasă a drogurilor sunt constituite din una sau mai multe substanțe cu rol benefic în organismul uman ce sunt la rândul lor asociate cu mai multe substanțe auxiliare.
Astfel, putem vorbi la modul general de un medicament ca fiind compus din următoarele[4]:
Substanța principal activă ce reprezintă acea substanță care este pe deplin responsabilă de efectul terapeutic;
Substanțele adjuvante: care au rolul de a intensifica efectul substanțelor menționate anterior sau de a contracara chiar anumite efecte negative a substanțelor principal active;
Substanțe cu rol corectiv sunt folosite pentru a ameliora combinația celor active cu cele adjuvante deoarece prin reacția celor două pot apărea noi efecte negative asupra pacienților;
Excipientul reprezintă o substanță inertă, iar rolul acestuia este de a completa cantitatea de înglobare a tuturor substanțelor menționate anterior.
Ca o ultimă componentă a preparatului medicamentos îl reprezintă substanța ajutătoare cum ar fi : conservanți, emulgatori sau stabilizanți.
Cea mai simplă clasificare a unui medicament pe care se axează mare parte din studiul farmaceutic o reprezintă clasificarea după starea de agregare. Astfel, medicamentelor se pot clasifica în:
Solide;
Semisolide și moi;
Lichide;
Gazoase;
De amintit sunt și celelalte tipuri de clasificări ale produselor cu rol benefic în organism de tip farmaceutic cum ar fi clasificarea după modul de preparare, după intensitatea acțiunii (toxice și stupefiante, puternic active sau chiar obișnuite). Aceste clasificări sunt impuse de către autoritățile statului. În România, orice producere sau orice scoatere din fabricație a oricărui tip de medicament trebuie să aparțină unei categorii aparte, această agenție care se ocupă cu acest lucru poartă numele de Agenția Națională a Medicamentului și a Dispozitivelor Medicale[5].
2.2 Administrarea medicamentelor
Medicațiile trebuie să fie sigure și eficiente. Doctorii, asistentele sau orice personal pregătit din punct de vedere medical sunt pregătiți pentru a administra pacienților substanțe cu efect medicamentos. Este absolut necesar pentru înțelegerea acestei administrări modul în care medicația este introdusă în corpul uman. De asemenea, cunoașterea metodelor de administrare precum și a posibilelor efecte negative reprezintă o necesitate în acest domeniu.
Studii recente au demonstrat că greșeli ale personalului legate de administrarea medicamentelor, precum și doze greșite sau intervale de timp ce nu sunt optime sau chiar și eronarea rutei de administrare a acestor substanțe au provocat spitalizarea a peste 1,3 milioane de pacienți cu probleme grave de sănătate în Statele Unite ale Americii, conform FDA 2009.
În România, sunt luate regulat măsuri pentru a clasifica din punct de vedere al modului de administrare medicamentele. Astfel, acestea se pot clasifica în funcție de calea de administrare:
Pentru uz extern care se aplică pe tegumentele și mucoasele accesibile;
Pentru uz intern care se administrează prin înghițire;
Pentru administrare parentală sau injectabile: injecțiile și perfuziile.
Pentru a preveni unele erori, medicamentele preparate în farmacii se etichetează diferit în funcție de calea de administrare. Etichetele preparatelor pentru uz extern au chenar roșu și mențiunea „extern”. Medicamentele administrate per os au etichetă cu chenar albastru și poartă mențiunea „intern”. Pe soluțiile injectabile se aplică etichete cu chenar galben, cu inscripția „injectabil” [5].
2.2.1 Rute de administrare
Substanțele medicamentoase pot fi administrate prin diferite metode [6]:
Pe cale orală: pacientul înghite prin cavitatea bucală produsul farmaceutic (pastila, formă lichidă)
Pe cale rectală: spre exemplu supozitoarele
Intravenos: în cazul injecțiilor
Prin infuzie: în cazul perfuziilor, că o metodă de eliberare controlată
Aplicare direct pe piele
Administrare pe cale enterala
Cale nazală
Inhalare
Pe cale oftalmologică
Subcutanat
Unele căi de administrare pot să nu fie sigure sau eficiente, acest lucru se poate datora anumitor condiții de sănătate, precum deshidratare, incapacitate de a înghiți etc. Pregătirea corespunzătoare a personalului medical este absolut necesară pentru a putea preveni complicații pe calea de administrare. De exemplu: curățarea pielii și folosind seringi sterile la injectare pe cale intravenoasă sau intramusculară este importantă pentru prevenirea infecțiilor[6].
Orice rețetă a unui farmacist sau instrucțiuni precizează cât de des și cât de mult trebuie administrat un medicament. Metoda de calcul a timpului de administrare a unui nou medicament poate fi foarte precisă și este indicat că acest calcul să fie realizat de profesioniști.
Uneori este foarte dificil de a afla doza exactă pentru un anumit medicament. De exemplu, medicamentele pentru tratarea tiroidei necesită frecvente analize de sânge pentru a afla dacă medicamentul s-a dozat corect. Dozarea este de asemenea influențată și de diferite tipuri de pacienți: prin greutate, starea de sănătate specifică a ficatului sau a rinichilor, precum și înălțime, greutate sau coeficientul de grăsime din corp.
Unul din factorii extrem de importanți, dar de multe ori neluat în seamă de către pacienți îl reprezintă timpul de dozaj. Unele substanțe medicamentoase trebuie să aibă un nivel constant în organism, iar următoarea doză este luată de pacient tocmai pentru a păstra constant nivelul de medicament din organism.
De obicei, ficatul sau rinichii vor elimina substanța din sânge. Nivelurile ridicate în sânge pot duce la dezechilibrarea organismului din punct de vedere al unei funcționări corecte. Astfel, dacă un pacient are nivelul de medicament în sânge constant iar acesta își administrează o nouă doză, pot apărea complicații. De asemenea, în cazul în care trece un timp prea îndelungat între doze, efectul benefic al medicamentului poate fi compromis.
Administrarea produselor farmaceutice unui pacient nu reprezintă doar simplă dozare. O administrare corectă implica timpi de observație pentru a putea vedea cum reacționează organismul pacientului în contact cu substanța. Majoritatea efectelor adverse apar datorită supradozei și tocmai a nerespectării timpilor între dozaje. De asemenea, toleranța este un alt factor important în cadrul medicației. În timp, organismul se va obișnui cu substanța și va fi necesară administrarea unor doze mai mari de medicament sau scurtarea timpilor între dozaje[7].
2.2.3 Particularități ale farmacocineticii medicamentelor în funcție de anumite afecțiuni
Insuficiență cardiacă – reprezintă o stare clinică caracterizată prin incapacitatea inimii de a distribui sânge oxigenat către țesuturi în timpul efortului fizic sau, uneori, chiar în repaos. Clinic, insuficienăa cardiacă se caracterizează prin edeme, dispnee, fatigabilitate.
Deci, se caracterizează prin scăderea debitului sanguin la nivel tisular și are loc o afectare semnificativă a distribuției, absorbției și epurării medicamentelor.
Această afecțiune afectează farmacocinetica medicamentelor în mai multe feluri. Pentru cel ce prescrie medicamente pacientului cu insuficiență cardiacă este important să aprecieze corect legătura între insuficiența terapeutică și malabsorbția intestinală secundară a medicamentelor administrate precum și să aprecieze riscul toxic crescut al medicației în contextul unui clearance redus. Din acest motiv, fiecare pacient este individualizat pe baza răspunsului terapeutic.
Distribuția medicamentelor este alterată în insuficiența cardiacă. A fost studiată distribuția quininei și quinidinei la pacienții cu insuficiență cardiacă și s-a demonstrat că acestea au un volum de distribuție redus la o treime față de normal. Explicația scăderii volumului de distribuție constă, pe deoparte, în reducerea fluxului sanguin tisular și, pe de altă parte, alterării trecerii lidocainei din componența sanguină în cea tisulară.
Afecțiuni hepatice – Parametrii farmacocinetici ce sunt afectați de bolile hepatice cronice sunt: absorbția, distribuția și metabolismul.
Absorbția medicamentelor este modificată la pacienții cu boli hepatice cronice datorită edemului mucoasei intestinale secundar hipoalbuminemiei. Cu toate acestea, biodisponibilitatea medicamentelor crește datorită trecerii sângelui din circulație direct în cea sistemică. Din acest motiv, dozele medicamentelor cu care se încep tratamentele trebuie să fie mici, urmând a fi crescute în funcție de răspunsul terapeutic obținut.
Un alt parametru ce se modifică îl reprezintă distribuția medicamentelor, dar acesta se aplică doar la pacienții cu probleme hepatice grave. Sinteza scăzută de proteine va afecta transportul plasmatic al medicamentelor. De asemenea, pentru medicamentele cu indice terapeutic mic această modificare a transportului plasmatic are mare importanță practică, deoarece le crește toxicitatea.
În concluzie, este extrem de important ca personalul calificat în prescrierea de medicamente să țină cont de afecțiunile pacientului și să adapteze timpul de dozaj cât și cantitatea spre a fi optimă în tratarea diferitelor afecțiuni[7].
CAPITOLUL III. DISPOZITIVE DE TIP „PILL-REMINDER”
3.1 Generalități
Un pill reminder reprezintă orice dispozitiv ce are drept funcție principală să amintească utilizatorilor să ia medicamente. Pill reminder-ul, din punct de vedere tradițional, reprezintă un container de pastile (denumit general pill organizer) cu cronometre electronice atașate, care pot fi presetate pentru anumite momente ale zilei, când vor activă o alarmă. Cele mai sofisticate dispozitive de acest tip, pot detecta când capacul spațiului de depozitare al pastilelor a fost deschis, iar dacă pacientul nu este lângă dispozitiv, îl va alerta în momentul întoarcerii acestuia. Alarmele pot fi sonore sau chiar luminoase pentru a le fi de folos persoanelor cu probleme de auz.
Pill reminder-ul automat a fost inventat și patentat în 2004 de către inginerul Joseph Lai ce a montat un timer pe o cutie de depozitare a pastilelor. În momentul în care pacientul punea capacul cutiei de depozitare, timer-ul se activă cu un anumit interval de timp presetat.
Un alt tip de dispozitiv din același domeniu îl reprezintă un sistem automat de dozare a pilulelor în cadrul căruia compartimentele în care sunt depozitate pastilele se rotesc și elimină automat o pastilă o dată la un anumit interval de timp[8].
Pill organizer-ul (spațiul de depozitare al pilulelor) este predecesorul sistemelor de tip pill reminder, acestea putând fi folosite ca atare doar pentru a putea depozita ce pastile trebuie administrate pacienților în ziua respectivă. De obicei, acest organizator de pastile are câte un container special (materialul din care este făcut nu trebuie să modifice calitatea fizico-chimică a pastilei) de obicei de formă pătrată pentru depozitarea de doze regulate de medicamente.
Acest organizator reprezintă o modalitate de a preveni sau a reduce erorile de medicație din partea pacientului, cât și din partea doctorului. Acest pill organizer poate fi realizat și pentru fiecare pacient în parte, în loc de zilele săptămânii, vor apărea numele pacienților. Astfel, se ușurează treaba personalului medical în legătură cu administrarea medicamentelor. Aceste organizatoare sunt folositoare tuturor tipurilor de pacienți, incluzând astfel și persoanele vârstnice sau persoane ce suferă de probleme de memorie. Pot fi personalizate în funcție de pacient, spre exemplu: cod de culori pentru fiecare zi sau zilele scrise în limbaj Braille sau pot fi chiar dotate și cu un sistem de tip încuietoare [9].
3.2 Tipuri de dispozitive disponibile pe piață
Dispozitivele de tip pill reminder sunt considerate de foarte multă lume ca fiind indispensabile pentru o persoană înaintată în vârstă sau pentru persoane cu probleme mintale. În momentul de față, foarte multe companii se axează pe producerea de astfel de echipamente, de la companii low-cost până la cele mai mari companii din domeniul medical. Astfel, tehnologia acestor dispozitive se dezvoltă pe zi ce trece sau chiar mai repede prin adăugarea de noi componente, cum ar fi senzori sau sisteme de eliberare a pastilei controlate prin mișcări ale pacienților.
3.2.1 Dispozitivul e-pill MedTime STATION / SKU 996024
Considerat la ora actuală drept cel mai sofisticat dispozitiv de organizare și gestiune a pastilelor, e-pill Medication STATION combină cele mai noi tehnologii miniaturizate prin care se poate controla administrarea unei doze corecte unui anumit pacient.
Fiind produs de către o companie cu tradiție în domeniul farmaceutic, E-pill, acest dispozitiv este prezentat ca fiind unul din cele mai ușor de utilizat produse de pe piață. Singurul defect evident al acestui dispozitiv de tip pill reminder îl reprezintă faptul că nu este compact.
Fig.3.3. Dispozitivul e-pill MediStation[10]
Echipamentul prezentat în figură 3.3 este compus din [10]:
Un simplu pill organizer, adică spațiul unde se depozitează medicamentele;
Mâner basculant ce controlează pill organizer-ul, acesta având o piedică ce întrerupe acționarea acestuia atunci când nu este momentul de a lua o nouă doză;
Compartimentul (cupa) unde sunt eliberate pastilele după ce mânerul basculant este acționat în vederea administrării unei noi doze, din oțel inoxidabil;
Chei pentru ca pacientul să nu aibă acces direct la locul de depozitare al pastilelor, astfel evitându-se o posibilă supradoză;
Suport.
Microcontroller-ul este așezat în centrul pill organizer-ului pe mânerul basculant. Tot codul microcontroller-ului depinde de mânerul basculant. Astfel că, timer-ul se activează doar în momentul în care mânerul este eliberat și spațiul de depozitare revine în poziția inițială. De asemenea, tot pe acest suport, este implementat și difuzorul împreună cu diferite led-uri, pentru persoanele cu probleme de auz, iar volumul difuzorului poate fi reglat dacă problema de auz nu este una severă iar persoană poate auzi tonuri mai înalte ale sunetului.
Caracteristici tehnice[10]:
Capacitate: Spațiu de depozitare este mare, poate depozita până la 18 pastile normale în fiecare compartiment;
Senzor de greutate în acest pill organizer, pentru a se cunoaște momentul eliberării;
Dimensiuni: 25.4 cm (lungime) x 24 cm (lățime) x 22.6 cm (înălțime)
Greutate : 1.5 kg
Avantajele pill reminder-ului e-pill MediStation[10]:
Poate fi folosit de către orice tip de pacienți: pacienți cu probleme musculare, adică insuficientă forță, mânerul se acționează foarte ușor sau pentru pacienți cu dexteritate limitată;
Ideal pentru pacienții cu Parkinson, având posibilitatea de a fi programat pentru acest tip de boală, existând modul Parkinson în soft-ul aparatului;
Capacitate mare de stocare a pastilelor;
Pacientul nu are acces direct la spațiul de depzitare al medicamentelor, astfel se reduce riscul unei supradoze;
Alimentarea este pe bază de baterii, putând fi ușor schimbate chiar de către pacient;
Dezavantaje:
Preț ridicat, estimat la 269 $;
Microcontroller-ul nu este accesibil, cutia acestuia fiind turnată peste plăcuță. Deci, în cazul unui defect, persoana care asigură service-ul aparatului trebuie să o înlocuiască;
Tot sistemul depinde de mișcarea mânerului basculant, în caz că acesta se strică nu se va putea administra o nouă doză, iar pastilele vor rămâne blocate în pill organizer;
Greutate mare;
Nu este compact;
3.2.2 Pill reminder-ul TabTimer TT6-28CL
Un alt tip de dispozitiv ce aparține acestei game de gestiune a medicamentelor îl reprezintă TabTimer TT6-28CL, fiind un dispozitiv destul de comun în rândul vârstnicilor datorită ușurinței de utilizare. Acest aparat nu este considerat a fi unul complicat, spre deosebire de Epill MedicationStation tocmai datorită acestei simplități, dar și datorită faptului că este portabil prin dimensiuni destul de reduse.
TabTimer, ca orice dispozitiv de acest tip, se bazează pe un pill organizer care în acest caz este rotativ, iar în centrul aparatului este montat microcontroller-ul cu display ce afișează ora[11].
Caracteristici tehnice[11]:
Dispozitiv complet automat pentru eliberarea de pastile la un anumit interval de timp;
Spațiul de depozitare compus din 28 de compartimente;
Difuzoare pentru alarmă implementate și se pot activa până la 6 ori pe zi;
Funcție opțională de închidere a acestuia, pentru evitarea unei supradoze;
3 tipuri de tonuri de avertizare ce pot fi personalizate pentru fiecare tip de pastila;
Intervalul de volum: 50-70 db;
Afișaj digital al orei;
Încărcare la baterii: 4 x „AA”;
Dimensiuni: 192.5 mm x 52 mm înălțime;
Dimensiunea unui compartiment: 30mm x 30mm x 10mm;
Avantaje:
Preț relativ scăzut față de Epill MedicationStation, estimat la 169 $;
Tonuri de avertizare ce pot fi programate în funcție de tipul pastilei;
Opțional, se pot integra semnale luminoase pentru persoane cu probleme de auz;
Datorită dimensiunilor reduse este ușor de transportat;
Alarmele se pot seta la orice oricând în cazul schimbării tratamentului sau a dozelor de administrat;
Dezavantaje:
Material slab din punct de vedere al rezistenței, fiind din plastic;
Dacă pacientul ratează doza de medicamente, acesta va trece mai departe la următoarea, neavând un senzor care să ateste că a fost administrată doza respectivă, și astfel pot apărea complicații și dereglări din punct de vedere al ciclului de administrare;
Nu are un sistem de siguranță a persoanei ce utilizează software-ul. Astfel că, orice persoană poate da peste cap buna funcționare a acestuia;
În ciuda faptului că are un sistem de închidere a compartimentelor, acestea se pot deschide foarte ușor chiar și de către un copil;
Capacitatea unui singur compartiment, față de Epill MedicationStation,este relativ mică și poate stoca până la doar 6 pastile;
Nu are sursă de alimentare alternativă în cazul în care nu există baterii de schimb.
3.2.3 MedReady MR-357FL Auto Pill Dispenser with Email Alerts
Firma producătoare de astfel de tipuri de dispozitive a lansat în 2016 un produs de tip pill reminder și a introdus pe piață funcția de a avertiza pacientul în cazul administrării unei noi doze prin e-mail. Acest sistem de gestiune a medicamentelor are integrat, pe lângă microcontroller, un shield Ethernet ce face posibilă trimiterea de notificări prin conectarea acestuia la serverele MedReady.
Momentan, acest dispozitiv este considerat prototip din cauza conexiunilor instabile la server. Datorită acestui lucru, aparatul nu poate funcționa dacă nu există o conexiune sigură la internet a pacientului. Totodată, un studiu de piață recent al companiei americane a arătat faptul că 70% din populația îmbătrânită a Statelor Unite ale Americii ar refuza un astfel de aparat, datorită faptului că este considerat mult prea complicat și în cazul unei defecțiuni aceștia nu pot accesa singuri compartimentele cu pastile pentru a-și administra manual, nu automat, dozele zilnice de medicamente.
Când vine momentul administrării unei noi doze de medicament, aparatul va emite de asemenea un semnal sonor de avertizare pentru a notifica pacientul că trebuie luată o nouă doză. Totodată, deschiderea ușii de medicație dezactivează alarma sonoră. Pill organizer-ul acestui aparat este de asemenea rotativ, tava pilulei se rotește la următoarea doză. În cazul în care pacientul omite o doză, dozatorul de pilule refuza accesul la doza uitată, iar aceasta va rămâne blocată. Proprietatea dispozitivului de a trimite un email are două funcții: una de a avertiza pacientul că se apropie momentul unei noi doze, astfel acesta va avea timp să își verifice emailul și apoi să se ducă la aparat. În cazul în care doza este ratată, un e-mail se va trimite și unui operator de tip call-center al companiei, iar la a treia doză uitată acesta va apela utilizatorul și îi va spune că trebuie să își administreze urgent o doză[12].
Acest aparat vine însoțit și de un registru pentru pacient în care se vor trece, sub formă de tabel, când au fost administrate doze.
Caracteristici tehnice[12]:
Aparat complet automat pentru eliberare a pastilelor;
28 de compartimente de pastile;
Până la 16 tipuri de alarme de utilizare în funcție de pastile;
Sistem de încuietoare a compartimentelor;
Display destul de generos, 25 mm lungime și 10 lățime;
Alarme ce pot dura până la 250 de minute;
Volum până la 90 db și o frecvență de 400 Hz;
Opțional, sistem de avertizări luminoase pentru persoane cu probleme auditive;
Greutate aproximativ de 795 g;
Funcție de self test;
Baterii reîncărcabile atunci când dispozitivul este conectat la o sursă de curent;
Avantaje dispozitivului MedReady[12]:
Sistem de închidere pentru fiecare compartiment și chiar pentru tot spațiul de depozitare;
Tonuri de avertizare ce pot fi programate în funcție de tipul pastilei;
Opțional, se pot integra semnale luminoase pentru persoane cu probleme de auz;
Datorită dimensiunilor reduse este ușor de transportat;
Alarmele se pot seta la orice oricând în cazul schimbării tratamentului sau a dozelor de administrat;
Posibilitatea avertizării printr-un apel telefonic de către un operator al firmei atunci când s-a ratat o doză;
Dezavantaje:
Însuși opțiunea de notificare prin email poate fi un dezavantaj datorită faptului că unei persoană bătrână, nefiind un bun utilizator PC, îi poate lua mult să acceseze email-ul;
Lipsirea unei opțiuni de control al dozelor;
De asemenea, ca și în cazul pill reminder-ului TabTimer, dacă s-a ratat o doză aceasta va rămâne blocată în aparat, lucru ce ar conduce la dereglarea tratamentului medicamentos;
Material ce nu este rezistent în cazul șocurilor;
Dacă serverele companiei nu sunt disponibile, pill reminder-ul va trece doar pe funcția de bază, și anume cea de avertizare sonoră, respectiv luminoasă. Acest lucru este considerat un dezavantaj în cazul în care pacientul omite mai multe doze, iar operatorul nu are acces la registrul respectiv pentru a-l avertiza să urgenteze administrarea medicamentului;
Preț foarte ridicat, estimat la 450 $.
3.2.4 Pill reminder-ul de tip ceas de mana CADEX
Același producător ca al aparatului prezentat în cadrul subcapitolului 3.2.1. , Epill, au lansat pe piață și un model de ceas de mâna cu funcția de aducere aminte a pacienților că este necesară administrarea unei noi doze de medicament. Deși această funcție, și anume cea de alarmă, este implementată în orice ceas de mână digital, acest ceas impresionează prin faptul că pe afișajul acestuia apare scris ce medicament trebuie luat la ora respectivă. De asemenea, acestuia i se pot programa oricâte alarme sunt necesare, neavând o limită anume.
Pe lângă funcția de gestionare a medicamentelor, acesta mai are încorporate și funcții precum monitorizarea stărilor vitale și afișarea în timp real a informațiilor persoanelor ce suferă de diabet, astm, Parkinson ș.a.m.d[13].
Caracteristici tehnice[13]:
Funcția de afișare oră și dată;
Număr de alarme fără limită;
Mesaje de notificare a bolnavilor predefinite până la 36 de caractere;
Sunet de alarmare ;
Vibrații;
Butonul ALERT arată cât timp mai are pacientul până la administrarea unei noi doze;
Material rezistent, oțel inoxidabil;
Dimensiuni: 9mm x 3mm;
Rezistent la apă.
Avantaje[13]:
Principalul avantaj îl considera tocmai faptul că este conceput ca un ceas de mână;
Înregistrează în timp real funcții vitale ale pacienților;
Mesaj personalizat în funcție de tipul de pastila ce trebuie luată;
Modul de alarmare poate fi setat preferențial, și anume luminos pentru pacienți cu probleme de auz, sunet sau vibrații pentru pacienții cu probleme de vedere;
Butonul „ALERT” arată pe afișajul ceasului cât timp mai are pacientul până la următoarea doza;
În cazul în care pacientul uită să poarte sau pierde ceasul, alarma nu se va dezactiva până când pacientul nu o oprește.
Dezavantaje:
Faptul că nu este conectat direct cu un spațiu de stocare a pastilelor ;
Preț ridicat, aproximativ 200 $;
În cazul în care bateriile se descarcă, ceasul se va reseta și va trebui reprogramat;
Fiind conceput ca un ceas, persoanele dependente de medicamente nu îl văd că pe o soluție bună și preferă un sistem de gestiune al produselor farmaceutice clasic că cele prezentate la subcapitolele anterioare.
În concluzie, sistemele de tip pill reminder sunt considerate a fi destul de folositoare atât în cazul pacienților, pentru a-și lua la timp medicația dintr-o anumită zi, cât și pentru doctori sau farmaciști ce au supraveghează o serie mare de bolnavi.
Unele medicamente necesită administrarea lor o dată la jumătate de oră, o dată pe oră sau la mai multe ore, depinzând desigur de tipul bolii. Este adesea dificil pentru pacienți, rude sau îngrijitori să nu uite să își administreze o nouă doză de produse farmaceutice. Aceste dispozitive prezentate anterior sunt total automate și de sine stătătoare, având ca principal scop ușurarea muncii unui doctor , asistent sau bolnav. Aceste dispozitive se mai pot regăsi și ca un ceas ce are implementat și un modul pentru vibrații, acest lucru fiind posibil pentru persoanele ce au probleme de auz sau chiar de vedere.
3.3 Aplicații mobile de gestiune și control a medicamentelor
Studii recente realizate de către Institutul „Statistics Portal” arată că mai mult de 70% din populația citadină a lumii deține un smartphone. Un smartphone (cuvânt englezesc cu traducerea „telefon inteligent”) este un telefon mobil multimedia multifuncțional, conectat la o rețea GSM sau UMTS. Dispunând și de o tastatură reală sau virtuală, el oferta funcționalitățile de PDA, agendă, calendar, navigare GPS, eventual și e-mail, aparat foto, video și permite instalarea de diferite aplicații mobile ce au drept scop ușurarea traiului de zi cu zi al oamenilor[14].
Totuși, cea mai spectaculoasă aplicație realizată deja pentru majoritatea modelelor de smartphone este conexiunea la Internet. Funcțiile sunt realizate cu ajutorul aplicațiilor software, care lucrează sub un sistem de operare specific. Printre cele mai folosite sisteme de operare pentru smartphone-uri se număra Symbian OS, iOS, Android, Windows Phone. Pe acest tip de telefon (termenul românește fiind „intelifon”) se pot programa și instala și aplicații suplimentare care îi lărgesc posibilitățile, numite în general app[15].
Datorită acestei funcții de instalare de aplicații pe telefonul mobil, au apărut și primele aplicații de tip pill reminder pentru telefon. Aceste aplicații sunt interconectate cu soneria telefonului și cu vibratorul acestuia și transmit semnale de avertizare atunci când o nouă pastila trebuie administrată pacientului. Aceste aplicații sunt în special utilizate de către pacienți datorită faptului că sunt extrem de ieftine (sub 5 RON) sau chiar gratuite în foarte multe din cazuri. Astfel, printr-o simplă conectare a telefonului la Internet, se poate descărca în mai puțin de 5 minute o aplicație de tip pill reminder.
Tocmai apariția acestui „intelifon” au făcut ca piața de dispozitive de gestiune și control al medicamentelor să scadă, lumea optând cât mai mult spre o astfel de aplicație. Aici intervine problema populației îmbătrânite sau care au un anumit handicap (defecte de vedere, auz, paralizie). Pentru aceste persoane ce urmează un anumit tratament medicamentos se poate considera indispensabilă utilizarea unui aparat fizic pentru a se asigura că urmează tratamentul corect.
În momentul de față cele mai utilizate sisteme de operare sunt Android și iOS. Aplicațiile aferente acestor sisteme de operare se pot descărca din GooglePlay, pentru Android, respectiv AppStore pentru iOS. Printr-o simplă accesare a acestor servicii și prin căutarea cuvântului cheie pill reminder se observă și se încarcă peste 1000 de rezultate. Asta înseamnă că există peste 1000 de astfel de aplicații pe piața în momentul de față, iar majoritatea sunt gratuite. Aceste aplicații de telefon mobil au și ele limitările lor tocmai datorită faptului că nu pot fi folosite corespunzător de către un pacient cu afecțiuni precum Alzheimer, Parkinson, sau pur și simplu pentru persoane în vârstă, ce nu au folosit niciodată un smartphone[15].
În zilele noastre, orice tratament, mai ales pentru boli grave, a ajuns să administreze pacientului cocktail-uri de medicamente. Soluția cea mai ieftină și cea mai eficientă în raport cu prețul este instalarea pe telefonul propriu a unei aplicații ce gestionează aceasta administrare de medicamente. Aceste aplicații sunt menite să ușureze traiul bolnavilor ce urmează un anumit tratament și în continuare voi prezenta anumite aplicații de tip pill reminder ce sunt considerate, prin feedback-ul utilizatorilor, drept cele mai bune.
3.3.1 Aplicația MedMinder – FREE
Această aplicație este disponibilă pe orice tip de smartphone ce ocupă foarte puțină memorie telefonului. Aplicația are o interfață extrem de simplu de utilizat, fiind necesară doar predefinirea programului. Deci utilizatorul va trebui, după descărcare și instalare, să își programeze aplicația astfel încât la o anumită oră să ia o pastilă specifică tipului de boală de care suferă. Se pot introduce mai multe tipuri de medicamente și, de asemenea, detalii precum cantitatea per doză precum și alte detalii prescrise pentru medicamentul respectiv, cum ar fi modul de administrare. Tocmai datorită acestei simplități această aplicație are peste 1,5 milioane de utilizatori active [16].
Aplicația va declanșa o alarmă și o fereastră de tip pop-up atunci când momentul administrării a sosit. Aceasta aplicație gratuită are anumite limitări față de cea contra cost cum ar fi selectarea tipului de alarmă sau a tipului de fereastra pop-up pentru fiecare tip de pastila.
3.3.2 Anytimer Pill Reminder
Foarte asemănătoare cu aplicația prezentată anterior, aceasta aplicație este utilizată în mod activ de mai mulți utilizatori (2.1 milioane) datorită unor funcții suplimentare față de cea precedentă, cum ar fi modificarea intervalului de timp chiar și în funcție de fusul orar pentru a nu deregla bună administrare a medicamentelor unui tratament[16].
Ca o comparație între cele două aplicații, în cadrul acesteia, imediat după instalare, se pot crea două tipuri de cronometrări sau temporizări (în funcție de intervalele de timp între doze) și un contor de timp pe baza fusului orar local ce se va automodifica în cazul în care acesta se schimbă. Captură de ecran din figură de mai sus se bazează pe aceste setări, adică pe selectarea intervalului de timp. De asemenea, această versiune, pentru a predefini diferite tipuri de alarme în funcție de ce pastilă trebuie luată, nu necesită cumpărarea aplicației de tip pro, acest tip fiind folosit în special de doctori sau de persoane care au grijă de mai mulți pacienți în același timp. Aceasta aplicație mai este interconectată cu bliț-ul telefonului (dacă acesta dispune de bliț) și îl va folosi drept un semnal luminos atunci când a sosit momentul unei noi doze.
În această aplicație se poate sorta lista de medicamente specifică unei anumite zile și se poate modifica destul de ușor în cazul în care tratamentul se schimbă.
3.3.3 Aplicatia MedHelper
Această aplicație este recunoscută drept cea mai bună aplicație de acest tip disponibilă la momentul actual pe orice sistem de operare, datorită funcțiilor acesteia de a crea un program pentru o lungă durată de timp, dar și pentru a putea introduce în registrul acestei aplicații a rețetelor de la doctor și astfel se poate păstra o evidență a rețetelor.
Această aplicație, comparativ cu cele două prezentate anterior, are caracteristici complete pentru a urma un tratament corect, fără a fi nevoie de varianta contra-cost a acesteia. Caracteristica cea mai importantă este că se pot seta jurnale de medicamente pentru mai multe persoane cum ar fi întreaga familie. Cu toate că numărul de date de intrare este foarte mare, aceasta nu influențează buna funcționare a aplicației.
Prin accesarea opțiunii schedule se pot vizualiza sau seta toate memento-urile pe bază de rețetă. De asemenea, tot din această opțiune se poate seta un sunet preferențial în funcție de o rețetă anume [16].
Opțiunea take as needed reprezintă registrul pastilelor care nu se administrează după un program fix, doar atunci când este necesar, spre exemplu: dureri de cap, stomac, musculare etc.
Med Journal reprezintă o altă funcție importantă a acestei aplicații. Aici se va crea un registru în funcție de câte ori aplicația a notificat utilizatorul și astfel, dacă pacientul a urmat corect tratamentul, se poate vizionaliza când acesta și-a administrat doze de produse farmaceutice [16].
În cadrul opțiunilor prescriptions și notes se poate face un registru cu toate rețetele eliberate de doctori, respectiv un registru cu programul întâlnirilor cu personalul medical.
În concluzie, există foarte multe aplicații în serviciile GooglePlay sau iOS. Personal, am ales să analizez două aplicații simple și gratuite și o versiune completă care ar putea îndeplini toate cerințele unui instrument de management al medicamentelor. În opinia mea, aceasta aplicația poate fi mai mult decât suficientă pentru utilizatorii smartphone-urilor, dar nu trebuie să uităm de populația îmbătrânită care nu știu să folosească un „intelifon” sau de persoane cu probleme grave de sănătate, în cazul cărora este aproape indispensabil folosirea unui sistem de tip pill reminder clasic [16].
CAPITOLUL IV. APLICAȚIA PROPUSĂ
Sistemul realizat de către mine este unul bazat pe microcontroller-ul Arduino conectat la un shield GSM ce permite trimiterea de SMS-uri sau chiar a funcțiilor de apelare în timp real. De asemenea, această combinație de Arduino + GSM Shield este activată de către un senzor de greutate sensibil la greutatea relativ scăzută a unei pastile.
Am optat pentru utilizarea microcontroller-ului Arduino datorită faptului că prezintă avantaje față de celelalte disponibile pe piață la ora actuală, cum ar fi ușurința cu care poate fi utilizat și deoarece poate fi implementat să lucreze cu aproape orice tip de limbaj de programare, cum ar fi C++, Python etc. Un alt motiv pentru care am ales această componentă a fost ușurința cu care se poate lega la orice tip de periferice specifice acestuia, în cazul nostru shield-ul GSM.
De asemenea, compania producătoare este una de tip open-sourse și are o comunitate uriașă care se ocupă cu creația și distribuirea de proiecte care au ca scsop crearea de dispozitive ce pot sesiza sau controla diverse activități sau procese în lumea reală.
Prin urmare, sistemul meu de gestiune și control va fi interconectat la o aplicație de telefon mobil, care va realiza o bază de date în memoria telefonului. Astfel, doctorul său persoana care are grijă de pacient va avea o evidentă asupra administrării medicamentelor.
În continuare, în acest capitol voi prezenta informații pentru fiecare componentă în parte folosită de către mine în realizarea acestui proiect.
4.1 Arduino UNO
Microcontroler-ul Arduino este o platformă de dezvoltare ușor de folosit ce a câștigat aprecieri considerabile în rândul pieței de specialitate și în rândul celor pasionați. Arduino este open-source, ceea ce înseamnă că din punct de vedere hardware, este disponibil la un preț accesibil, iar din punct de vedere software, este gratuit [17].
Proiectul Arduino a început in Italia, pentru a se încerca elaborarea și dezvoltarea unei structuri hardware de tip ”low-cost”. Cu ajutorul platformei Arduino, există posibilitatea de a se scrie programe si de a se crea circuite de interfață capabile să citească senzori, sau să controleze motoare sau lumini cu un efort foarte mic.
Limbajul de programare al lui Arduino este o versiune simplificată de C/C++. Pentru oricine cunoaște limbajul C, programarea Arduino devine foarte familiară. O caracteristică importantă a platformei o constituie crearea unui program de comandă și control pe computerul pe care se conectează placa. Chiar dacă este întreruptă conexiunea prin cablul USB de la placă la computer, programul încă va rula de la început, de fiecare dată când este apăsat butonul de reset [18].
Un fapt interesant este acela că dacă este scoasă bateria plăcii Arduino și nu este folosită timp de până la 6 luni, când aceasta va fi reconectată, va rula ultimul program salvat. Acest lucru înseamnă că după ce placa este conectată la un computer pentru scrierea sau depanarea unui program, aceasta nu mai necesită apoi acel computer pentru a rula programul respectiv.
Pentru a funcționa autonom, placa se recomandă a fi alimentată de la o baterie, decât de la o conectare USB la computer. Alimentarea externă poate fi undeva în intervalul 6-24 V (ca de exemplu o baterie de mașină), dar o baterie standard convenabilă se recomandă a fi de 9 V. O polarizare greșită la introducerea bateriei ar putea conduce la o ardere a plăcii.
Conform site-ului oficial al dezvoltatorilor Arduino [17], Arduino Uno (Fig.4.1) este o platformă de dezvoltare ce se bazează pe microcontrolerul ATmega328 (Fig.4.1), având schema electrică prezentată în Anexa 3. Această platformă de dezvoltare are 14 pini digitali de intrare/ieșire (dintre care se pot utiliza 6 ca și ieșiri PWM), 6 intrări analogice, un oscilator de cuarț de 16 MHz, o conexiune USB, o mufă de alimentare, o mufă ICSP și un buton pentru resetare.
Arduino Uno conține tot ce este nevoie pentru funcționarea microcontrolerului; se conectează pur și simplu la un calculator prin intermediul unui cablu USB sau se alimentează fie cu ajutorul unui adaptor AC/DC, fie cu ajutorul unei baterii. Acesta diferă față de platformele de dezvoltare anterioare, deoarece nu folosește un driver chip FTDI USB-la-serial. În schimb, are încorporat microcontrolerul ATmega16U2 (ATmega8U2 updatat la versiunea R2), ce este programat ca un convertor USB-la-serial. A doua revizuire a platformei Uno are un rezistor ce trimite linia 8U2 HWB la împământare, ceea ce facilitează punerea în modul DFU. A treia revizuire a plăcii are următoarele noi caracteristici [19]:
• Pinout 1.0: s-au adăugat pinii SDA și SCL ce sunt lângă pinul AREF și alți doi pini noi poziționați în apropierea pinului RESET, și anume unul este pinul IOREF, ce permite shield-ului să adapteze tensiunea furnizată de la placă. Acesta va indica următoarelor versiuni de shield-uri cu cât sunt alimentate. În viitor, shield-ul va fi compatibil atât cu placa ce utilizează AVR, ce funcționează cu 5V, cât și cu Arduino Due care funcționează cu 3.3 V. Cel de-al doilea pin nu este conectat, fiind păstrat pentru scopurile viitoare.
• Circuit de RESET mai puternic;
• ATmega16U2 înlocuit cu 8U2.
“Uno” înseamnă “unu” în limba italiană și acesta a fost denumit așa pentru a marca o lansare viitoare a lui Arduino 1.0. Versiunea UNO și versiunea 1.0 vor fi versiunile standard pentru Arduino, care va continua să se dezvolte. Uno este cea mai recentă dintr-o serie de platforme Arduino, și reprezintă modelul de referință pentru acestea.
Tabel 4.1. Specificații tehnice ale platformei Arduino Uno [19]:
Designul Arduino poate folosi microcontrolerul ATmega8, 168 sau 328. Modelele actuale utilizează ATmega328, dar în schema de referință de pe site este prezentat ATmega8. Configurația pinilor este identică pe toate cele 3 procesoarele.
Alimentarea se realizează prin intermediul unei conexiuni USB sau prin intermediul unei surse de alimentare externă. Sursa de alimentare este selectată automat. Alimentarea de tip externă (non-USB) poate fi furnizată de la un adaptor AC la DC sau o de la o baterie. Adaptorul se poate conecta printr-o priză de 2.1 mm cu centru pozitiv. Conectarea la o baterie se poate realiza în capetele pinilor GND și Vin ale conectorului de alimentare. Platforma de dezvoltare poate să opereze pe o sursă externă de 6-20 de volți. În cazul în care este alimentată la mai puțin de 7 volți, poate exista posibilitatea ca pinul de 5 volți să furnizeze mai puțin de 5 volți și în aceste condiții, placa să devină instabilă. Dacă este alimentată cu mai mult de 12 V, regulatorul de tensiune poate să se supraîncălzească, fapt ce ar putea conduce la o defectare a plăcii. Astfel, intervalul de tensiune pe care producătorul îl recomandă este de 7-12 V.
În continuare sunt prezentați pinii de alimentare ai platformei Arduino Uno[19]:
– Vin: Tensiunea de intrare a platformei de dezvoltare, atunci când se utilizează o sursă externă de alimentare (spre deosebire de 5V ce provin de la conexiunea USB sau de la alte surse de energie stabilizată). Prin intermediul acestui pin se pot introduce tensiuni de alimentare, sau în cazul în care această tensiune se face prin intermediul conectorului de alimentare externă, se poate accesa prin acest pin.
– 5V: Este un regulator de tensiune ce se utilizează la alimentarea microcontrolerului și a altor componente de pe placă. Se poate alimenta fie de la Vin prin intermediul unui regulator pe placa de dezvoltare, fie de la o altă tensiune de 5V, fie de către USB.
– 3V3: Este o alimentare de 3.3 V generată de către regulatorul de tensiune ce se află pe placă. Curentul maxim furnizat este de 50mA.
– GND: sunt pini de împământare (ground).
– IOREF: Acest pin de pe platforma de dezvoltare Arduino furnizează tensiunea de referință cu care funcționează microcontrolerul. Un shield configurat corespunzător poate citi tensiunea de pe pinul IOREF și poate selecta sursa de alimentare corespunzătoare sau poate permite translatorilor de tensiune de pe ieșire să lucreze cu 5V sau 3.3V.
ATmega328 are memoria de 32 KB (cu 0.5 KB ce se utilizează pentru bootloader). De asemenea, aceasta are 2KB SRAM și 1KB de EEPROM (ce poate fi citită și scrisă cu librăria EEPROM).
Librăria EEPROM permite citirea și scrierea bytes-lor din memoria EEPROM (Electrically Erasable Programmable Read Only Memory) a microcontrolerului de pe placa Arduino, valorile din această memorie fiind păstrate și atunci când placa este nealimentată (precum un mic hard-disk).
Microcontrolerele de pe diferitele platforme de dezvoltare Arduino au diferite mărimi de EEPROM. Cel prezentat în lucrarea de față dispune de 1024 de bytes pe ATmega328, dar mai poate fi și 512 bytes pe ATmega168 și ATmega8.
Ca intrare sau ieșire, platforma Uno folosește fiecare dintre cei 14 pini digitali, folosind funcțiile pinMode(), digitalWrite(), și digitalRead(). Acestea funcționează la 5 volți. Fiecare pin poate furniza sau primi un maxim de 40 de mA și are un rezistor intern ”pull-up” (deconectat în mod prestabilit) de 20-50 kOhm.
In plus, anumiti pini au functii specializate, precum[18]:
SERIAL: pinul 0 (RX) si pinul 1 (TX). Este folosit pentru a primi (RX) si transmite (TX) datele seriale TTL. Acesti pini sunt conectati la pinii corespunzatori ai lui Atmega8U2 printr-un chip serial USB-to-TTL.
Intreruperi externe: pinii 2 si 3. Acesti pini pot fi consigurati pentru a declansa o intrerupere la o valoare scazuta, o crestere sau o scadere sau o schimbare a valorii respective.
PWM: pinii 3,5,6,9,10 si 11. Furnizeaza o iesire PWM de 8 biti prin intermediul functiei analogWrite().
SPI: pinii 10(SS), 11(MOSI), 12(MISO), 13(SCK). Acesti pini sustin comunicarea SPI, utilizand libraria SPI.
LED: pinul 13. Exista un LED incorporat, conectat la pinul digital 13. Cand pinul are o valoare mare, LED-ul este pornit, cand are o valoare scazuta, LED-ul este oprit.
Platforma Uno are 6 intrări analogice (Fig.4.2), marcate de la A0 până la A5, iar fiecare dintre acestea oferă 10 biți de rezoluție. În mod prestabilit, se măsoară de la împământare până la 5 volți, deși este posibil să se schimbe limita superioară a acestui interval, folosind pinul AREF și funcția analogReference(). În plus, anumiți pini au funcții specializate precum [19]:
TWI: intrarea analogică A4 sau pinul SDA și intrarea analogică A5 sau pinul ȘCL.
Aceștia susțin comunicarea TWI prin intermediul librăriei Wire.
Există o serie de alți pini pe această placă:
Pinul AREF: tensiunea de referință pentru intrările analogice. Este folosit cu funcția analogReference().
Pinul RESET: Folosit de obicei pentru adăugarea unui buton de Reset shield-urilor ce îi blochează pe cel de pe placă.
În ceea ce privește comunicarea cu un computer, altă platforma Arduino sau alte microcontrollere, platforma Uno are o serie de facilități. ATmega 328 oferă comunicare serială UART (receptor/transmițător universal asincron) TTL (5V), ce este disponibilă pe pinii digitali 0 (RX) și 1 (TX). Firmware-ul 16U2 folosește driverele standard USB COM, nefiind nevoie de un alt driver extern. Software-ul Arduino include un driver ce permite datelor de tip text simplu să fie trimise către placă Arduino sau să fie trimise de la placă Arduino. LED-urile RX și TX de pe placa se aprind atunci când datele sunt transmise prin intermediul unui chip : USB-to-serial și de asemenea când sunt transmise către un computer (dar nu și pentru o comunicare serială pe pinii 0 și 1).
Libraria SoftwareSerial permite comunicarea seriala intre oricare dintre pinii digitali ai platformei Uno. Hardware-ul Arduino are inclus un suport pentru comunicarea seriala pe pinii 0 si 1 (comunicare ce ajunge de asemenea la computer prin intermediul conexiunii USB). Suportul se constituie dintr-o parte hardware (incorporata in chip), numita UART. Aceasta permite chip-ului ATmega sa primeasca comunicare seriala chiar si in timp ce lucreaza si indeplineste alte sarcini.
Librăria SoftwareSerial a fost creată pentru a permite comunicarea serială pe alți pini digitali ai Arduino, folosind software-ul, de unde și numele de “software serial”. Ca limitare cunoscută, această librărie dacă utilizează mai multe porturi seriale software, doar unul dintre acestea poate primi date, pe rând.
Programarea platformei de dezvoltare Arduino Uno poate fi facută cu ajutorul software-ului Arduino (Fig.4.3). Pentru a utiliza acest software, se selectează din Unelte opțiunea Arduino Uno, și apoi Board Menu (în funcție de tipul de placă de microcontroler utilizată).
Microcontrolerul ATmega328 de pe platforma Arduino Uno vine prevăzut cu un bootloader preinstalat ce permite încărcarea noului cod fără a se utiliza o programare hardware externă. Acesta comunică prin intermediul protocolului original STK500 (conține fișiere header de tipul C).
Codul sursă firmware al lui ATmega16U (sau8U2) este disponibil. ATmega16U2/8U2 este încărcat cu un bootloader DFU, ce se poate activa prin:
o Conectarea în partea din spate a plăcuței și apoi resetarea ATmega8U2(pentru cele ce fac parte din prima serie de plăci revizuite)
o Pentru cele ce fac parte din modelele apărute recent, există un rezistor ce trimite liniile HWB ale modelelor 8U2/16U2 la împământare, facilitând punerea în modul DFU.
Pentru resetarea software automată, în loc să solicite o apăsare fizică a unui buton de reset înaintea unei încărcări de cod, Arduino Uno a fost proiectat în așa fel încât să îi permită să fie resetat software în timpul conectării la un computer. Una dintre liniile de control hardware (DTR) ale microcontrolerelor ATmega8U2/16U2 este conectată la linia de resetare a lui ATmega328 printr-un condensator de 100 de nanofarazi. Software-ul Arduino folosește această posibilitate pentru a permite încărcarea codului prin simpla apăsare a butonului de upload în mediul de dezvoltare si programare al Arduino. Acest lucru înseamnă că bootloader-ul poate avea o mică pauză în timpul încărcării de sistem, astfel încât scăderea DTR să poată să se coordoneze cu începerea încărcării comenzii.
Ca protecție USB de supra-sarcină, platforma Arduino Uno are o siguranță resetabilă ce protejează porturile USB ale computerului împotriva scurt-circuitelor și supra-sarcinilor. Deși cele mai multe computere asigură protecția internă a acestora, siguranța oferă o protecție suplimentară. Dacă portului USB îi este aplicat un curent cu o intensitate mai mare de 500 mA, siguranța va întrerupe în mod automat conexiunea până când scurt-circuitul sau supra-sarcina sunt oprite [19].
Avantaje:
Principalul avantaj Arduino îl reprezintă faptul că are o structură ready-to-use. După cum Arduino vine într-o formă de pachet complet, ce include regulatorul de tensiune de 5 V, un arzător, un oscilator, microcontroller-ul propriu-zis, interfața de comunicare serială, cu LED-uri și antene pentru conexiuni. Se montează prin simpla conectare în portul USB al computerului.
Exemple de coduri: Încă un alt avantaj important al Arduino îl reprezintă librăria de exemple prezentate în software-ul Arduino. Spre exemplu, pentru măsurarea voltajului folosind Atmega8, codul sursă poate fi găsit în această librărie.
În timpul de codare Arduino sunt prezentate enorm de multe funcții ce fac programarea ușoară, cum ar fi capacitatea sa de conversie automată a unităților de măsură.
Comunitatea Arduino extrem de numeroasă. Diferite forum-uri sunt specializate pentru acest microcontroller unde orice utilizator postează mesaje legate de diferite proiecte, dar și păși în realizarea acestora.
Dezavantaje:
Structura constituie unul din dezavantajele majore Arduino. În timpul construirii unui proiect miniaturizat dimensiunea acestuia poate constitui un dezavantaj.
Costul față de un microcontroller realizat pe bucăți de către utilizator. În raport cu celelalte dispozitive de acest tip disponibile pe piață, Arduino este ieftin, dar făcând o comparație între cât costă fiecare piesă în parte din acest microcontroller se observă că în Fig.x că prețul este aproape dublu.
4.2 Shield-ul GSM Adafruit FONA
Adafruit FONA MiniGSM reprezintă un modul GSM pentru Arduino-uri ce permite folosirea funcțiilor precum apel, trimiterea de mesaje text. Avantajul acestui modul îl reprezintă faptul că este miniaturizat și poate fi folosit în diferite proiecte de dimensiuni mici[20].
Acest modul Arduino are dimensiuni reduse de numai 4,44 cm x 3,17 cm dar încapsulează aproape orice funcție pe care o poate avea un telefon mobil. Funcțiile pe care le poate îndeplini acest modul:
Banda de frecvență preferențială 850/900/1800/1900 MHz ce se poate conecta la ori rețea de telefonie mobilă cu orice cartela de tig 2G, 3G sau 4G;
Poate efectua sau primi apeluri vocale prin utilizarea unor căști și a unui speaker extern;
Trimiterea și primirea de mesaje text;
Trimiterea și primirea de date GPRS;
Poate recepționa unde radio;
Acest modul vine însoțit de diferite accesori pentru a simplifica utilizarea acestuia în combinație cu Arduino[20]:
Cartela SIM universală;
Baterie de 500mAh sau mai mare în funcție de cerințele utilizatorilor;
Cablu micro-usb pentru încărcarea bateriei;
Antena externă pentru conectare la serverele rețelei dintr-o gamă mai mare de locații;
Vibrator;
Microfon + set de căști.
4.2.1 Antena GSM/GPRS
Antena GSM/GPRS Qual Band SMA este compatibilă cu modului GSM Adafruit FONA 900L, fiind preconfigurata la 9600bps.
Este o antenă în miniatură pentru aplicații solicitante. Aceasta asigură funcționarea la ambele frecvente GSM Quad Band cu câștig de 2dBi.
Antena are o lungime de 57 mm și are o impedanță de 50 de Ohmi, astfel încât va funcționa foarte bine cu orice receptor/transmițător wireless de 850/900/1800/1900/2100, ca și orice dispozitiv celular sau GSM/GPRS.
Specificații[21]:
Model: GSM-02-SMRA;
Frecvența: 850/900/1800/1900/2100;
Câștig: 2dBi;
V.S.W.R.: mai mic sau egal cu 2:1;
Polarizare: Verticală;
Conector: SMA Male Right Angle;
Impedanța: 50 Ohm;
Temperatura de operare: -20 până la 60 de grade Celsius;
Temperatura de depozitare: -30 până la 75 de grade Celsius;
Dimensiuni: latime- 16.5mm; lungime- 57mm; înălțime 8mm.
4.3 Senzorul de greutate 1,1 cm SparkFun Electronics
Senzorul de greutate ales de mine combina două aspecte extrem de importante, dimensiunea redusă și sensibilitate la o greutate foarte mică (3g) .
Acesta este un rezistor sensibil la forța. Are aprox 1.3 cm în diametru.Rezistența depinde în funcție de câtă persiune este aplicată senzorului. Când nu există presiune , rezistența va fi mai mare de 1MΩ. Se poate aplica o forță între 100g și 10kg. Senzorul este autoadeziv, pentru o montare ușoară[22].
Dimensiuni:
Lungime totală: 6 cm
Lățime totală: 1.9 cm
Diametru senzor: 1.3 cm
4.4 Android studio – Software folosit pentru realizarea de aplicații mobile
Android Studio reprezintă IDE-ul oficial pentru dezvoltarea de aplicații mobile de tip Android. A fost lansat la data de 16 mai 2013 de către compania multinațională Google. Prima versiune (0.1) a fost primită cu brațele deschise de către programatori datorită ușurinței cu care se utilizează în proiecte relativ simple, dar și datorită aspectului plăcut ochiului.
Proprietăți [23] :
Emulator rapid și oferă utilizatorului acces la o gamă largă de funcții;
Mediu plăcut de lucru pentru a dezvolta mai multe proiecte o dată pe mai multe dispozitive Android;
Capacitate de a rula instant și de a modifica o aplicație deja existența în timp real;
Modele de coduri și sintaxe ajutătoare;
Instrumente extinse de testare de performante, compatibilitate.
Structura unui proiect
Fiecare proiect din Android Studio conține unul sau mai multe module cu fișiere de cod sursă și fișiere de resurse. Acestea includ:
Module de aplicații android;
Diferite librării.
În mod implicit, Android Studio afișează fișierele proiectului într-o fereastră numită „Android project view”, după cum este arătat în figură x.
De asemenea, utilizatorul poate să customizeze ceea ce fereastra respectivă afișează după un grad de importanță al proiectului. De exemplu, prin selectarea Problems, programul va afișa fișierele cu coduri sursa cu anumite probleme, cu scriere greșită sau necompilate proiect, în general, erori umane.
În continuare voi prezenta interfața acestui program după cele mai importante funcții conform figurii 4.10. , adică ecranul principal al programului de creare de aplicații pentru sistemul de operare mobil Android.
În imaginea anterioară am numerotat, în ordinea importanței, de la 1-5, principalele funcții ale acestui program de creare a aplicațiilor Android.
Astfel, cu cifra 1 este notat toolbar-ul (bară de instrumente) ce permite utilizatorului să efectueze o gamă largă de acțiuni, inclusiv de rulare a aplicației și de lansare a acestora pe dispozitive Android.
Cu cifra 2 este notată bară de navigare ce ajută la navigarea prin toate fișiere deschise aferente proiectului pentru editare. Aceasta oferă o vizualizare mai compactă a structurii vizibile în fereastra de unelte Project.
Fereastra editor, notată cu cifra 3 este locul de creat și modificat codul. În funcție de tipul de fișier curent, aceasta se poate schimba. De exemplu, atunci când vizualizați un fișier de aspect, fereastra editorului afișează editorul de aspect și oferă posibilitatea de a vizualiza fișierul corespunzător de tip XML.
Cealaltă fereastră de instrumente, notata în continuare cu cifra 4, oferă acces la sarcini specifice, cum ar fi management-ul proiectului, de căutare, de control al versiunii s.a.m.d.
Status bar arata starea proiectului, dar și a IDE-ului în sine, precum și orice avertisment, eroare sau mesaj.
În continuare, pentru a evidenția simplitatea folosirii unui astfel de program, vă voi prezenta tabelul cu scurtături pentru diferite funcții ce se activează o dată ce utilizatorul apăsă o anumită combinație de taste [24].
Tabelul 4.2. Lista combinațiilor de taste pentru un acces mai rapid al functiilor
Acest program are încă o funcție de completare automată a codului, ce poate fi activată de asemenea prin combinații de taste ce ajută utilizatorii începători să nu greșească atunci când construiesc codul .
Completarea de bază (Basic completation) afișează sugestii de bază pentru variabile, metode, expresii și așa mai departe. Dacă se apelează de mai multe ori, se observă cum programul încarca mai multe rezultate.
Completarea de tip smart afișează sugestiile cele mai relevante bazate pe context. Aceasta completare ține cont de fișier dar și de datele din acesta.
Completarea de finalizare (Statement completion) completează instrucțiunea corectă în locul utilizatorului, prin adăugarea de paranteze lipsa, formatare, etc.
4.5 Alte componente utilizate in realizarea sistemului propus
În următoarele rânduri voi prezenta celelalte două componente folosite de mine în realizarea sistemului propus de gestiune și control al medicamentelor:
– Pill organizer de mărime mai mare față de cele utilizate în cadrul dispozitivelor prezentate în capitolul III, astfel se evita limitarea pastilelor la un număr de 5;
– Carcasa dispozitivului, ce poate fi realizată și din PLA în cadrul unei printări 3D.
CAPITOLUL V. ETAPELE REALIZĂRII SISTEMULUI PROPUS
Sistemul propus este creat astfel încât să fie cât mai compact. Astfel, prin folosirea materialelor explicate în capitolul IV, se urmărește asamblarea acestora pentru a fi cât mai mic din punct de vedere fizic.
Inițial, plăcută Arduino este legată la shield-ul GSM cu ajutorul unui breadboard unde se va realiza și se va lega circuitul.
Tot dispozitivul este realizat pe baza schemei bloc de mai jos.
5.1 Asamblarea sistemului – Legarea shield-ului GSM pe breadboard
Shield-ul GSM se leagă direct pe breadboard, urmând apoi să fie conectat printr-o rețea de cabluri la microcontroller-ul Arduino. Primul pas îl reprezintă lipirea pinilor pe shield, aflați în contact direct cu breadboard-ul.
O dată lipit shield-ul GSM și atașat pe breadboard vom continua prin legarea acestuia la microcontroller-ul Arduino. Acest lucru se realizează prin fire ce vin însoțite de pachetul Arduino UNO.
Pin-urile Arduino explicate în capitolul IV se vor conecta cu pin-urile libere de pe shield-ul GSM, după cum urmează :
Pin-ul VIO se va conecta la 5V;
GND se va conecta la GND (ground – masa );
Pin-ul RX se conectează la digital 2;
TX se conectează la digital 3 (în cazul microcontroller-ului Arduino UNO) ;
RST se conectează la digital 4;
Se va folosi software-ul serial pentru a comunica cu modulul Mega. Astfel, conectarea la Arduino a shield-ului va arăta că în figură imediat următoare.
Pentru a testa dacă asamblarea este realizată corect din punct de vedere electronic, se va conecta microcontroller-ul la un calculator ce suportă instalarea software-ului specific Arduino și se va instala împreună cu acesta și librăria specifică shield-ului GSM (în cazul nostru, Adafruit FONA). Aceasta se instalează foarte ușor și are un modul de test, în program-ul Arduino, ce permite testarea diferitelor funcții ale perifericului GSM, cum ar fi funcția de apel, primire mesaje.
5.2 Atașarea senzorului de greutate pe breadboard
Rezistorul sensibil la forța sau FSR (din engleză: Force Sensor Rezistor) este o componentă simplă ce nu necesită asamblarea acestuia de către un profesionist. Un FSR este doar ceea ce pare, adică un rezistor ce își schimbă valoarea rezistenței o dată cu forța aplicată pe acesta. Astfel că, dacă este apăsat sau strâns, rezistența se modifică. Nu este indicat să fie folosit pentru determinarea unei forțe deoarece nu este precis, în cazul nostru având rolul doar de a activa timer-ul sistemului de tip pill reminder.
Montarea acestuia nu este dificilă, acesta variază valoarea rezistenței până la sub 300 ohmi atunci când este apăsat foarte puternic. Deci, se sesizează această schimbare folosind una din intrările analogice ale microcontroller-ului Arduino. Pentru a realiza acest lucru este necesar un rezistor fix, în cazul nostru unul de 10K. Acesta se mai poate numi divizor de tensiune deoarece împarte intre FSR și rezistor tensiunea de 5 V.
Această valoare de 5V ce ajunge la fiecare componentă este proporțională cu circuitul. Așa că, dacă FSR și rezistența noastră ar avea aceeași valoare ohmică, valoarea tensiunii de 5V va fi împărțită în mod egal (2,5 V) pentru fiecare în parte. Dar, în cazul în care senzorul nostru de presiune este apăsat foarte puternic, va afișa 1K rezistenta, iar rezistența noastră va avea valoare de până la 10 ori mai mare că senzorul. Invers se întâmplă dacă senzorul nostru este abia apăsat.
În acest moment al asamblării sistemului propus, circuitul este pregătit, urmând doar partea de implementare software[28].
5.3 Implementarea codului sursă în programul Arduino
Codul sursă al sistemului va fi scris în programul producătorului de microcontroller. În continuare, voi explica anumite linii de cod, considerate cele mai importante în realizarea acestui proiect propus, codul integral fiind Anexa 1.
Declararea librăriilor de lucru se realizează la începutul codului, prin folosirea sintagmei „include”. Aceste librarii sunt individuale pentru diferite componente, dar în cazul nostru vom include librăria Adafruit_fona.h. De asemenea, vom include și clasa string ce permite utilizarea și manipularea diferitelor șiruri de caractere de text în moduri mai complexe. Oferă posibilitatea de a înlănțui șiruri de caractere, de a înlocui și cauta subșiruri.
#include "Adafruit_FONA.h"
#include "string.h"
#include "TimerOne.h"
După includerea librăriilor prin liniile de cod de mai sus, se vor define pinii ce ne sunt necesari în vederea completării acestui proiect, și anume RX2, TX3, RST4.
#define FONA_RX 2
#define FONA_TX 3
#define FONA_RST 4
O altă linie cheie în codul sursă îl reprezintă partea în care definim tipul mesajului și alocarea numerelor de telefon unde acestea se vor trimite când senzorul de greutate va fi activat de către o anumită forță.
char sendTo1[21]={introducerea numarului de telefon pentru pacient};
char sendTo2[21]={introducerea numarului de telefon pentru persoana ce are grija de pacient};
char message1[141]={mesaj};
char message2[141]={mesaj};
În această parte a codului menționată anterior, se declară tipul mesajului (uint8_t) și se definesc mesajele și numerele de telefon alocate unde vor fi trimise. Numărul de telefon va fi introdus sub o formă specifică, de exemplu: {'0','7','3','3','9','5','9','9','7','5',0}, la fel și mesajul text care va fi trimis {'I','A',' ','P','A','S','T','I','L','A'}.
După crearea acestei părți a codului, vom începe scrierea acestuia în funcție de informațiile primite de la senzorul de presiune. Astfel în codul ce urmează, se poate observa în cadrul sintagmelor if cum în funcție de informația primită de la FSR, shield-ul GSM va trimite mesaje, unul pacientului după o anumită perioadă de timp (în funcție de tratament), iar al doilea persoanei ce are grijă de acest pacient (doctor, asistent, farmacist etc.) .
currentRead=analogRead(A0);
if((lastRead!=0)&&(abs(lastRead-currentRead)>30))
{
if (!fona.sendSMS(sendTo1, message1))
{
Serial.println(F("Failed"));
}
else
{
Serial.println(F("Sent!"));
}
Timer1.initialize(500000);
Timer1.attachInterrupt(isr);
}
delay(100);
Astfel, în codul de mai sus este reprezentat un exemplu cum funcționează linia de cod pentru un singur mesaj. În prima linie, se selectează preferențial ceea ce microcontroller-ul va citi, în cazul nostru analogic, adică informație primită de la senzorul de greutate. Prin urmărirea comportării senzorului atunci când este apăsat și prin eliberarea acestuia de forță exercitată, valoarea mea de referință va fi 30. Când valoarea va depăși această limită de 30, adică senzorul va fi eliberat se va inițializa în următoarele linii trimiterea SMS-ului către pacient cu un anumit delay.
Prin urmare, codul Arduino va trimite două mesaje text GSM. Primul mesaj va fi trimis instant atunci când pacientul ia pastila (când senzorul de greutate este eliberat) către persoană ce are grijă de pacientul respectiv, iar al doilea mesaj va fi trimis chiar către telefonul pacientului atunci când va sosi timpul pentru o nouă administrare a medicamentului.
5.4 Crearea aplicației de telefon mobil Android
Sistemul de gestiune și control al medicamentelor propus de mine va fi însoțit de o aplicație de telefon mobil, ce are ca principal scop crearea unei baze de date (log) în care să fie relevată dată și ora când pacientul și-a administrat o doză de medicament. Astfel, supraveghetorul va avea un registru în care va putea vizualiza acest raport pe mai multe zile. Acest lucru poate fi extrem de benefic datorită importanței timpului de administrare și pentru a putea vedea în timp real dacă pacientul urmează tratamentul într-un mod haotic sau într-unul corect.
Aplicația de telefon mobil este creată în AndroidStudio, software ce permite crearea de astfel de aplicații printr-un mod foarte ușor, deoarece design-ul acestei aplicații se poate create printr-un meniu drag and drop, fără a lua foarte mult contact cu codul sursă, în cazul începătorilor. Limbajul de programare cu ajutorul căruia vom crea aplicația propusă este Java.
Java este un limbaj de programare orientat-obiect, puternic tipizat, conceput de către James Gosling la Sun Microsystems la începutul anilor ‘90. Limbajul împrumută o mare parte din sintaxa de la C și C++, dar are un model al obiectelor mai simplu și prezintă mai puține facilități de nivel jos. Un program Java compilat,corect scris, poate fi rulat fără modificări pe orice platformă pe care e instalată o mașină virtuală Java. Acest nivel de portabilitate este posibil deoarece sursele Java sunt compilate într-un format standard numit cod de octeți care este intermediar între codul mașina și codul sursă [29].
Prin urmare, aplicația noastră, în momentul în care supraveghetorul va primi informația că pacientul și-a administrat o doză printr-un mesaj text de la microcontroller-ul Arduino, aplicația va crea un registru în telefonul supraveghetorului cu data și ora la care pacientul a luat o pastilă.
În următoarele rânduri, voi explica, la fel ca în cazul Arduino, liniile cheie ale codului ce fac posibilă această funcție a aplicației, codul sursă integral se regăsește în Anexa 2.
String senderPhoneNumber = msgs[0].getOriginatingAddress();
if (this.phNumber.length() > 0 && senderPhoneNumber.contains(this.phNumber)) {
În linia de cod de mai sus, aplicația, cu ajutorul librăriei specifice android.telephony.SmsMessage va citi numărul de telefon al expeditorului, iar dacă acesta este același ca și cel setat de noi în cadrul aplicației cu ajutorul interfeței grafice va continua în vederea creării registrului.
this.realm.beginTransaction();
((LogObject) this.realm.createObject(LogObject.class)).setTimeStamp(Calendar.getInstance().getTimeInMillis());
this.realm.commitTransaction();
this.realm.close();
În codul de mai sus, aplicația realizează acum registrul în care vor fi introduse dată (cu ajutorul funcției .setTimeStamp(Calendar.getInstance()) și respectiv oră prin funcția .getTime.
5.4.1 Aplicatia MedLog – Interfața grafică
Aplicația este creată astfel încât să fie foarte ușor de folosit, dar totodată să își ducă la bun sfârșit scopul. Meniul principal constă în afișarea în partea de mijloc a registrului (Fig.5.4.) cu o singură opțiune de a șterge lista. Această opțiune a fost implementată pentru a șterge tot registrul în cazul în care un pacient a ajuns la sfârșitul tratamentului. Aceasta aplicație poate rula și în fundal, nefiind necesar să fie tot timpul deschisă în telefon. Registrul se auto-completează atunci când un mesaj de la numărul cartelei introduse în shield-ul GSM va fi primit.
Se observă că în colțul din dreapta sus al aplicației prezența unei iconițe sub formă de rotiță. Accesând această opțiune a aplicației vom putea modifica numărul de telefon de la care se va primi mesajul. Această funcție este importantă și foarte utilă în cazul în care un doctor sau farmacist supraveghează tratamentul mai multor pacienți ce folosesc sistemul de gestiune și control al medicamentelor, nefiind necesară instalarea a doua aplicații ci doar schimbând numărul de telefon asociat microcontroller-ului Arduino.
De asemenea, în figura imediat următoare se poate vedea modul de înregistrare al administrărilor medicamentelor de către pacient.
CAPITOLUL VI. CONCLUZII
În concluzie, sistemele de tip pill reminder au o importanță majoră în zilele noastre și continuă să se dezvolte din ce în ce mai mult pentru a simplifica urmarea unui anumit tratament medicamentos de către un pacient, dar și pentru a ușura doctori și farmaciști în ceea ce privește acest lucru.
Prin prezenta lucrare, am demonstrat că se poate crea un sistem de gestiune și control al medicamentelor la costuri reduse față de cele existente pe piața prin combinarea diferitelor cunoștințe și a diferitelor dispozitive. Costul realizării unui astfel de sistem este de aproximativ 60 de dolari, cu mult sub prețul aparatelor ce au fost prezentate în capitolele anterioare.
De asemenea, acest sistem ar putea avea succes în special în cadrul persoanelor vârstnice care nu știu să folosească un smartphone, dar și în cazul persoanelor cu deficiențe de auz sau de vedere. Dacă vom putea dezvolta modul în care pacienții bătrâni își administrează și dozează medicamentele, vom îmbunătăți sănătatea mentală și fizică a acestor vârstnici și îi putem asista să trăiască și să își urmeze tratamentul independent.
Seniorii trebuie să urmeze anumite medicamentații, ce nu le pot urma datorită unui comportament inadecvat, ce le afectează capacitatea de a fi conștienți de faptul că trebuie să urmeze un anumit tratament.
În viitor, sistemul se poate dezvolta prin crearea de noi variante care să permită verificarea în timp real a modului cum pacientul își administrează doza de medicament cu ajutorul unei camere web. Datorită faptului că această lucrare este concentrată pe problemă administrării medicamentelor de către persoane cu deficiențe de auz sau vedere sau de către populația îmbătrânită, am analizat statistici asupra timpului necesar ca seniorii populației să poată folosi un smartphone. Acest timp s-a demonstrat a fi unul îndelungat, iar sistemele precum cele prezentate anterior sau chiar cel creat de către mine ar putea avea succes chiar și peste 30 de ani.
Astfel, sper că prin această lucrare am reușit să demonstrez importanța problematicii date, ce impact are asupra vârstnicilor, simplitatea prin care un om poate utiliza acest sistem electronic de gestiune și control al medicamentelor în cadrul tratamentelor medicamentoase, dar și a faptului că acest aparat, din punct de vedere al costului, umple goluri ale sistemelor existente la un preț de producție mult mai mic.
BIBLIOGRAFIE
[1] Cristea AN – Tratat de farmacologie, ed I., Editura Medicală, București 2005
[2] Le Bars D, Gozariu M, Cadden S: Animal Models of Nociception, Pharmacological Reviews, Vol. 53, Issue 4, 597-652, December 2001
[3] Monea M, Cucuiet S, Bengea S – Curs de farmacologie, vol. I, Litografia U.M.F Tg. Mureș, 2001
[4] Stroescu V, Corciovei CI, Fulga I, Coman OA – Îndreptar pentru prescrierea medicamentelor. Editura ALL, București, 1998
[5] Nomenclatorul medicamentelor de uz uman, Editura Medicală, 2004
[6] ro.wikipedia.org/wiki/Medicament – accesat la data de 04.04.2016
[7] Katzung B.G., Basic&Clinical Pharmacology, Eighth edition, Lange Medical Book/McGrawHill, New York, 2001.
[8] en.wikipedia.org/wiki/Pill_reminder – accesat la data de 03.05.2016
[9] www.caregiverproducts.com/med-e-lert-electronic-medication-reminder-dispenser
[10] www.epill.com/epillstation – accesat la data de 04.06.2016
[11] www.tabtimer.com.au/TT6-28CL – accesat la data de 29.03.2016
[12] www.tabtimer.com.au/MR-357FL – accesat la data de 02.05.2016
[13] www.cadexwatch.com – accesat la data de 02.05.2016
[14] www.statista.com/statistics/330695/number-of-smartphone-users-worldwide – accesat la data de 07.05.2016
[15] ro.wikipedia.org/wiki/Smartphone – accesat la data de 07.05.2016
[16] www.makeuseof.com/tag/3-free-android-apps-remind-pills-time – accesat la data de 20.05.2016
[17] www.arduino.cc/en/Guide/Introduction – accesat la data de 21.05.2016
[18] ro.wikipedia.org/wiki/Arduino – accesat la data de 01.06.2016
[19] www.arduino.cc/en/reference/board – accesat la data de 05.06.2016
[20] learn.adafruit.com/adafruit-fona-mini-gsm-gprs-cellular-phone-module/overview – accesat la data de – 05.06.2016
[21] www.sparkfun.com/products/290 – accesat la data de 05.06.2016
[22] www.jolashop.ro/sparkfun-electronics/162-senzor-de-greutate-rotund-11cm – accesat la data de 10.06.2016
[23] en.wikipedia.org/wiki/Android_Studio – accesat la data de 21.06.2016
[24] developer.android.com/studio/intro/index – accesat la data de 21.06.2016
[25] www.engineerexperiences.com/advantages-and-disadvatages – accesat la data de 22.06.2016
[26] www.carex.com/item/70059B/Weekly-Twice-A-Day-Pill-Organizer – accesat la data de 23.06.2016
[27] learn.adafruit.com/adafruit-fona-mini-gsm-gprs-cellular-phone-module/assembly – accesat la data de 01.07.2016
[28] learn.adafruit.com/force-sensitive-resistor-fsr/using-an-fsr – accesat la data de 01.07.2016
[29] ro.wikipedia.org/wiki/Java_(limbaj_de_programare) – accesat la data de 01.07.2016
ANEXA 1 – CODUL SURSA ARDUINO UNO + SHIELD GSM
#include "Adafruit_FONA.h"
#include "string.h"
#include "TimerOne.h"
#define FONA_RX 2
#define FONA_TX 3
#define FONA_RST 4
// this is a large buffer for replies
char replybuffer[255];
// We default to using software serial. If you want to use hardware serial
// (because softserial isnt supported) comment out the following three lines
// and uncomment the HardwareSerial line
#include <SoftwareSerial.h>
SoftwareSerial fonaSS = SoftwareSerial(FONA_TX, FONA_RX);
SoftwareSerial *fonaSerial = &fonaSS;
// Hardware serial is also possible!
// HardwareSerial *fonaSerial = &Serial1;
// Use this for FONA 800 and 808s
Adafruit_FONA fona = Adafruit_FONA(FONA_RST);
// Use this one for FONA 3G
//Adafruit_FONA_3G fona = Adafruit_FONA_3G(FONA_RST);
uint8_t readline(char *buff, uint8_t maxbuff, uint16_t timeout = 0);
uint8_t type;
//char sendTo1[21]={'0','7','3','2','8','7','3','4','0','0',0};
char sendTo1[21]={'0','7','3','2','8','7','3','4','0','0',0};
char sendTo2[21]={'0','7','3','3','9','5','9','9','7','5',0};
char message1[141]={'P','E','M'};
char message2[141]={'I','A',' ','P','A','S','T','I','L','A'};
void setup() {
while (!Serial);
Serial.begin(115200);
Serial.println(F("FONA basic test"));
Serial.println(F("Initializing….(May take 3 seconds)"));
fonaSerial->begin(4800);
if (! fona.begin(*fonaSerial)) {
Serial.println(F("Couldn't find FONA"));
while (1);
}
type = fona.type();
Serial.println(F("FONA is OK"));
Serial.print(F("Found "));
switch (type) {
case FONA800L:
Serial.println(F("FONA 800L")); break;
case FONA800H:
Serial.println(F("FONA 800H")); break;
case FONA808_V1:
Serial.println(F("FONA 808 (v1)")); break;
case FONA808_V2:
Serial.println(F("FONA 808 (v2)")); break;
case FONA3G_A:
Serial.println(F("FONA 3G (American)")); break;
case FONA3G_E:
Serial.println(F("FONA 3G (European)")); break;
default:
Serial.println(F("???")); break;
}
// Print module IMEI number.
char imei[15] = {0}; // MUST use a 16 character buffer for IMEI!
uint8_t imeiLen = fona.getIMEI(imei);
if (imeiLen > 0) {
Serial.print("Module IMEI: "); Serial.println(imei);
}
// Optionally configure a GPRS APN, username, and password.
// You might need to do this to access your network's GPRS/data
// network. Contact your provider for the exact APN, username,
// and password values. Username and password are optional and
// can be removed, but APN is required.
//fona.setGPRSNetworkSettings(F("your APN"), F("your username"), F("your password"));
// Optionally configure HTTP gets to follow redirects over SSL.
// Default is not to follow SSL redirects, however if you uncomment
// the following line then redirects over SSL will be followed.
//fona.setHTTPSRedirect(true);
}
volatile int counter = 0;
void isr(void){
Serial.println("intrerupere");
counter = counter + 1;
}
void loop() {
static int lastRead = 0;
int currentRead;
flushSerial();
// Serial.print(F("Send to #"));
// Serial.println(F("Penis"));
// Serial.print(F("Send to #"));
//readline(sendto, 20);
//int i;
//for (i=0;i<21;i++)
// Serial.println(int(sendto[i]));
// while(1){}
currentRead=analogRead(A0);
//Serial.println(currentRead);
if((lastRead!=0)&&(abs(lastRead-currentRead)>30))
{
if (!fona.sendSMS(sendTo1, message1))
{
Serial.println(F("Failed"));
}
else
{
Serial.println(F("Sent!"));
}
Timer1.initialize(500000);
Timer1.attachInterrupt(isr);
}
delay(100);
lastRead = currentRead;
// flush input
flushSerial();
while (fona.available()) {
Serial.write(fona.read());
}
if (counter >20U)
{
counter = 0;
if (!fona.sendSMS(sendTo2, message2))
{
Serial.println(F("Failed pastila"));
}
else
{
Serial.println(F("Sent pastila!"));
}
Timer1.stop();
flushSerial();
while (fona.available()) {
Serial.write(fona.read());
}
}
}
void flushSerial() {
while (Serial.available())
Serial.read();
}
char readBlocking() {
while (!Serial.available());
return Serial.read();
}
uint16_t readnumber() {
uint16_t x = 0;
char c;
while (! isdigit(c = readBlocking())) {
//Serial.print(c);
}
Serial.print(c);
x = c – '0';
while (isdigit(c = readBlocking())) {
Serial.print(c);
x *= 10;
x += c – '0';
}
return x;
}
uint8_t readline(char *buff, uint8_t maxbuff, uint16_t timeout) {
uint16_t buffidx = 0;
boolean timeoutvalid = true;
if (timeout == 0) timeoutvalid = false;
while (true) {
if (buffidx > maxbuff) {
//Serial.println(F("SPACE"));
break;
}
while (Serial.available()) {
char c = Serial.read();
//Serial.print(c, HEX); Serial.print("#"); Serial.println(c);
if (c == '\r') continue;
if (c == 0xA) {
if (buffidx == 0) // the first 0x0A is ignored
continue;
timeout = 0; // the second 0x0A is the end of the line
timeoutvalid = true;
break;
}
buff[buffidx] = c;
buffidx++;
}
if (timeoutvalid && timeout == 0) {
//Serial.println(F("TIMEOUT"));
break;
}
delay(1);
}
buff[buffidx] = 0; // null term
return buffidx;
}
ANEXA 2 – CODUL APLICATIEI ANDROID MEDLOG
package app.ro.medlog;
import android.app.ActivityManager;
import android.app.ActivityManager.RunningTaskInfo;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.telephony.SmsMessage;
import io.realm.Realm;
import io.realm.RealmConfiguration.Builder;
import io.realm.internal.Table;
import java.util.Calendar;
import java.util.List;
public class SMSBroadcastReceiver extends BroadcastReceiver {
private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
private static final String TAG = "SMSBroadcastReceiver";
String phNumber;
SharedPreferences prefs;
Realm realm;
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
String messageReceived = Table.STRING_DEFAULT_VALUE;
this.prefs = context.getSharedPreferences("PREFERENCES", 0);
this.phNumber = this.prefs.getString("phNumber", Table.STRING_DEFAULT_VALUE);
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
SmsMessage[] msgs = new SmsMessage[pdus.length];
for (int i = 0; i < msgs.length; i++) {
msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
messageReceived = (messageReceived + msgs[i].getMessageBody().toString()) + "\n";
}
String senderPhoneNumber = msgs[0].getOriginatingAddress();
if (this.phNumber.length() > 0 && senderPhoneNumber.contains(this.phNumber)) {
try {
this.realm = Realm.getDefaultInstance();
} catch (Exception e) {
Realm.setDefaultConfiguration(new Builder(context).build());
this.realm = Realm.getDefaultInstance();
}
this.realm.beginTransaction();
((LogObject) this.realm.createObject(LogObject.class)).setTimeStamp(Calendar.getInstance().getTimeInMillis());
this.realm.commitTransaction();
this.realm.close();
if (isAppForground(context) && MainActivity.visible) {
Intent actIntent = new Intent(context, MainActivity.class);
actIntent.setFlags(268533760);
context.startActivity(actIntent);
}
}
}
}
public boolean isAppForground(Context mContext) {
List<RunningTaskInfo> tasks = ((ActivityManager) mContext.getSystemService("activity")).getRunningTasks(1);
if (tasks.isEmpty() || ((RunningTaskInfo) tasks.get(0)).topActivity.getPackageName().equals(mContext.getPackageName())) {
return true;
}
return false;
}
}
ANEXA 3 – SCHEMA ELECTRICA ARDUINO UNO
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Farmacografia stabilește regulile de prescriere a medicamentelor. [311701] (ID: 311701)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
