2011 1. raportul stiintific si tehnic (rst ... erisc rst etapa 4 2011.pdf · 2011 etapa - 4 1 1....
TRANSCRIPT
2011 www.erisc.ro Etapa - 4
1
1. Raportul Stiintific si Tehnic (RST) in extenso
PNCDI 2
Programul 4 – Parteneriate in domenii prioritare
“PLATFORMA E-HEALTH PENTRU MONITORIZARE, LOCALIZARE SI
PROCESARE IN TIMP REAL DESTINATA PACIENTILOR INREGISTRATI CU
RISC CARDIOVASCULAR – E-RISC”
Etapa IV:
Elaborare solutii de functionare; Proiectare model experimental ;
Realizare model experimental-hardware si software; Experimentare
sisteme si functii de localizare
Termen de predare: 10.12.2011
Decembrie 2011
2011 www.erisc.ro Etapa - 4
2
CUPRINS
I.OBIECTIVE GENERALE 4
II. OBIECTIVELE ETAPEI DE EXECUTIE 6
III. REZUMATUL ETAPEI ..................................................................................................... 8
IV. RAPORTUL TEHNICO - STIINTIFIC ............................................................................. 10
A1. Elaborare solutii pentru model experimental - finalizare ........................................10
A1.1 Elaborare versiune alpha de software pentru management; Elaborare structura software medical; Elaborare model culegere cu senzori a informatiei; Elaborare solutie de comunicatie – finalizare (CO-WING) .................................... 10
A1.1.1 Elaborare versiune alpha de software pentru management ................... 10
A1.1.2 Elaborare structura software medical ..................................................... 10
A1.1.3 Elaborare model culegere cu senzori a informatiei ................................. 11
A1.1.4 Elaborare solutie de comunicatie – finalizare (CO - WING) .................... 14
A1.2 Elaborare solutie de localizare GPS/GSM –finalizare (P3 – IPA) ................. 21
A1.3 Elaborare solutie comunicatii cu fibra optica – finalizare (P4 – INOE) .......... 24
A1.4 Elaborare solutie comunicatii date cu un consum redus de energie – finalizare (P5 – IOEL) ............................................................................................ 26
A1.5 Elaborare solutie achizitie date multicanal – finalizare (P6 – ELCOS) .......... 30
A2. Elaborare solutii de functionare a sistemului cu relee personale GSM/GPRS ... 34
A2.1. Elaborare solutie generala a sistemului ....................................................... 34
A2.2. Elaborare solutie GSM GPRS (P3 – IPA si P6 – ELCOS) ........................... 36
A2.3. Elaborare solutie interconectare comunicatii (P4- INOE)…………………….37
A2.4. Elaborare solutie pentru modelul de comunicatii (P5 - INOE) ...................... 39
A3. Proiectare model experimental ................................................................................. 41
A3.1 Proiect general sistem; Proiectare sisteme senzori;Proiectare software comunicatii (CO-WING) ......................................................................................... 41
A3.1.1 Proiect general sistem ............................................................................ 41
A3.1.2 Proiectare sisteme senzori ..................................................................... 44
2011 www.erisc.ro Etapa - 4
3
A3.1.3 Proiectare software comunicatii (CO-WING) 44
A3.2 Proiectare achizitii date (P2 – UPB+P6-ELCOS) .......................................... 48
A3.3 Proiectare automatizari (P3 – IPA) ................................................................ 50
A3.4 Proiectare canale legaturi (P4 – INOE) ......................................................... 53
A4. Realizare hardware si software ................................................................................. 55
A4.1 Realizare globala sistem; Realizare software global (CO-WING) ................. 55
A4.1.1 Realizare globala sistem ......................................................................... 55
A4.1.2 Realizare software global ....................................................................... 57
A4.2 Realizare elemente de testare medicala (P1 – SCUB) ................................. 67
A4.3 Realizarea automatizarilor (P3 – IPA) ........................................................... 71
A4.4 Realizarea structurilor de comunicatie si software aferent (P4 – INOE, P5 – IOEL) ..................................................................................................................... 72
A4.5 Realizare structuri hardware de achizitie date (P6 – ELCOS) ...................... 79
A5. Experimentare sistem pacient si functii de localizare ............................................. 82
A5.1 Experimentare sistem pacient; (CO-WING) .................................................. 82
A5.2 Experimentare medicala, solutii de optimizare (P1 – SCUB) ........................ 86
A5.3 Experimentare sistem pacient (P2 – UPB) .................................................... 95
A5.4 Experimentare functii de localizare (P3 – IPA) ............................................ 101
V.ANEXE .......................................................................................................................... 103
ANEXA 1 104
ANEXA 2 105
ANEXA 3 109
ANEXA 4 112
ANEXA 5 115
ANEXA 6 117
VI. CONCLUZII ................................................................................................................. 124
VII. BIBLIOGRAFIE ........................................................................................................... 126
2011 www.erisc.ro Etapa - 4
4
I. OBIECTIVE GENERALE
Obiectivul proiectului consta in dezvoltarea unor cercetari privind obtinerea
unei solutii de monitorizare on-line pentru pacientii tratati in ambulatoriu, prin
preluarea comoda de la pacient printr-un dispozitiv purtabil, transmiterea
GSM/GPRS la dispecerat, prelucrarea computerizata a semnalelor ECG si
monitorizarea continua sau periodica a valorilor predefinite pentru fiecare pacient in
parte.
In cazul aparitiei unor „elemente critice predefinite” serverul specializat
notifica dispeceratul despre eveniment si comunica si pozitia geografica a
pacientului (printr-o dubla tehnologie: GPS si GSM) pentru a putea fi „recuperat” de
ambulanta usor.
Proiectul isi propune sa reduca costurile de spitalizare si sa creasca numarul
de pacienti care beneficiaza de asistenta medicala de inalta specialitate.
Toate acestea se vor realiza prin implementarea unui software de
management care va administra toate componentele Subsistemului de Prelucrare la
Distanta (SPD) si care va lucra impreuna cu software-ul biomedical.
Obiectivul implica rezolvarea urmatoarelor aspecte in realizarea sistemului
informatic purtabil de tip e-health:
- evaluarea informatiilor transmise de complexul de senzori si elaborarea unei
proceduri de validare la distanta a pozitiei senzorilor ECG, a datelor analizate
si a pragurilor de alarmare, determinarea tipurilor de senzori auxiliari si
evaluarea interdependentelor.
- realizarea softului biomedical si de management.
- filtrare digitala autoadaptiva multidimensionala a semnalului ECG in corelatie
cu informatiile transmise de accelerometrele XYZ.
- analiza si prelucrarea in timp real a semnalului ECG prin metode de analiza in
domeniul timp, in domeniul frecventa si timp-frecventa – analiza Wavelet 3D a
seriei RR a semnalului ECG;
- diagnoza automata a statusului medical in doua etape prin folosirea unei
matrici decizionale in cadrul subsistemului software de monitorizare a
pacientului.
2011 www.erisc.ro Etapa - 4
5
- stabilirea schemei generale a sistemului informatic, proiectarea
componentelor, asamblarea acestora si testarea in conditii reale de lucru a
modelului experimental.
- rejectarea activa a artefactelor.
- metode pentru calibrarea sistemului in vederea reactiei active la artefacte.
2011 www.erisc.ro Etapa - 4
6
II. OBIECTIVELE ETAPEI DE EXECUTIE
ETAPA IV. Elaborare solutii de functionare; Proiectare model experimental ;
Realizare model experimental-hardware si software; Experimentare sisteme si
functii de localizare
A1. Elaborare solutii pentru model experimental - finalizare
A1.1 Elaborare versiune alpha de software pentru management; Elaborare
structura software medical; Elaborare model culegere cu senzori a informatiei;
Elaborare solutie de comunicatie – finalizare (CO-WING)
A1.2 Elaborare solutie de localizare GPS/GSM –finalizare (P3 – IPA)
A1.3 Elaborare solutie comunicatii cu fibra optica – finalizare (P4 – INOE)
A1.4 Elaborare solutie comunicatii date cu un consum redus de energie –
finalizare (P5 – IOEL)
A1.5 Elaborare solutie achizitie date multicanal – finalizare (P6 – ELCOS)
A2. Elaborare solutii de functionare a sistemului cu relee personale
GSM/GPRS
A2.1 Elaborare solutie generala a sistemului; Elaborare solutie GSM;
Elaborare solutii de conectare (CO-WING)
A2.2 Elaborare solutie GSM GPRS (P3 – IPA + P6 – ELCOS)
A2.3 Elaborare solutie interconectare comunicatii (P4 – INOE)
A2.4 Elaborare solutie pentru modelul de comunicatii (P5 – IOEL)
A3. Proiectare model experimental
A3.1 Proiect general sistem; Proiectare sisteme senzori;Proiectare software
comunicatii (CO-WING)
2011 www.erisc.ro Etapa - 4
7
A3.2 Proiectare achizitii date (P2 – UPB +P6 – ELCOS)
A3.3 Proiectare automatizari (P3 – IPA)
A3.4 Proiectare canale legaturi (P4 – INOE)
A4. Realizare hardware si software
A4.1 Realizare globala sistem; Realizare software global (CO-WING)
A4.2 Realizare elemente de testare medicala (P1 – SCUB)
A4.3 Realizarea automatizarilor (P3 – IPA)
A4.4 Realizarea structurilor de comunicatie si software aferent (P4 – INOE
,P5 – IOEL)
A4.5 Realizare structuri hardware de achizitie date (P6 – ELCOS)
A5. Experimentare sistem pacient si functii de localizare
A5.1 Experimentare sistem pacient; (CO-WING)
A5.2 Experimentare medicala, solutii de optimizare (P1 – SCUB)
A5.3 Experimentare sistem pacient (P2 – UPB)
A5.4 Experimentare functii de localizare (P3 – IPA)
2011 www.erisc.ro Etapa - 4
8
III. REZUMATUL ETAPEI
Avand in vedere ca multe din activitatile din aceasta etapa sunt o finalizare a
celor din etapa anterioara (din motive de restrictii bugetare unele activitati au fost
anulate, altele au fost reduse cu 50%, iar unele au comasate) acesta etapa finala a
trebuit sa 'inchida" toate cercetarile incepute in 2008-2009 cand proiectul avea o
finantare cu aproximativ 70% mai mare decat s-a dovedit in realitate.
1. Se analizeaza hardware-ul si software-ul din structura de comunicatii la nivel
de sistem. Sunt aratate imbunatatirile aduse acestor structuri de la ultima etapa si
este explicat modul in care acestea optimizeza functionarea sistemului;
2. Ca punct cheie privind dezvoltarea software-ului de mangement si biomedical,
automatizarea monitorizarii este descrisa atat ca schema bloc cat si ca
functionalitate;
3. Se prezinta studiul privind interfetele de emisie-receptie si de comunicatie om-
sistem in care sunt detaliate optiunile avute privind viitoarea implemetare;
4. Este studiat software-ul de achizitii date specific, si sunt luate in considerare
variantele care vor functiona pe convertoarele AD de tip Sigma-Delta. Sistemele
purtabile avand restrictii importante privind consumul energetic si dimensiunile,
solutia aleasa este cea mai eficienta.
5. In privinta studiului software-ului de comunicatii se arata ca folosirea solutiilor
de tip CRC si PKI permit functionarea in parametri nominali si asigura beneficiarul ca
datele vehiculate pe reteaua virtuala sunt integre.
6. S-a inceput elaborarea versiunii alpha a software-ului de management de
sistem. Astfel, s-a descris functionalitatea sa in conditiile „rularii” a catorva scenarii
de functionare, E-RISC demonstrand astfel ca automatizarea monitorizarii este un
deziderat realizabil. In plus s-au creat interfetele de lucru ale programului.
7. In ceea ce priveste software-ul biomedical, s-a inceput realizarea acestuia
functie de locul acestuia in Sistemul de Prelucrare la Distanta: analiza in timp,
2011 www.erisc.ro Etapa - 4
9
frecventa si timp-frecventa, filtrare, tratare artefacte, dinamica pacient. In toate
aceste cazuri s-a specificat si modul in care, pe principalele bucle de lucru ale
programului de management, se realizeaza rejectia artefactelor ca element vital, in
buna functionare a sistemului E-RISC. S-au gasit in acest sens chei de control
pentru reglarea sistemului in cazul in care acesta este compromis de artefacte, prin
calibrarea Serverului de Artefacte functie de aparitia „evenimentului unic” din
prelucrarea timp-frecventa.
8. S-a prezentat elaborarea solutiei de localizare nonGPS si modul in care
aceasta va acompania sistemul GPS.
9. S-au elaborat solutiile privind functionarea sistemului de comunicatii in conditii
de consum redus de energie, si a solutiei de achizitii date multicanal aratand pentru
fiecare caz in parte avantajele variantelor alese.
10. In cazul conectarii SPD (Sistemul de Prelucrare la Distanta) la operatorul
GSM prin fibra optica este descrisa solutia de back-up si modalitatea prin care este
asigurata calitatea transmisiei in contextul descris.
11. Informatii suplimentare privind derularea proiectului se gasesc la:
www.erisc.ro .
2011 www.erisc.ro Etapa - 4
10
IV. RAPORTUL TEHNICO - STIINTIFIC
A1. Elaborare solutii pentru model experimental - finalizare A1.1 Elaborare versiune alpha de software pentru management; Elaborare structura software medical; Elaborare model culegere cu senzori a informatiei; Elaborare solutie de comunicatie – finalizare (CO-WING)
A1.1.1 Elaborare versiune alpha de software pentru management
Solutia aleasa pentru dezvoltarea software-ului de management al sistemului
E-RISC presupune existenta unei structuri de tip platforma in cadrul careia vom reuni
datele provenite de la toate subsistemele componente.Prin subsisteme componente,
intelegem subsistemul purtabil aflat la pacient si serverele intermediare utilizate
pentru preluarea informatiilor medicale si pozitionare GPS. Structura platformei de
management a sistemului trebuie sa permita atat colectarea datelor, cat si
prelucrarea acestora si gestionarea rezultatelor.
Proiectarea platformei are in vedere posibilitatea de a accesa in timp real
toate datele medicale aferente pacientului, datele suplimentare legate de pozitionare
si starea de functionarea a serverelor componente. Suplimentar, platforma trebuie sa
ofere posibilitatea conectarii la o baza de date ce ofera un istoric medical pacientilor.
Astfel in cazul apartitiei unei probleme, personalul medical va putea vizualiza
antecedentele medicale ale pacientului.
A1.1.2 Elaborare structura software medical
In etapa anterioara a proiectului a fost dezvoltat software-ul medical pentru
realizarea Transformatei Fourier, a Transformatei Wavelet, pentru Evaluare
interactiuni si Filtrare multidimensionala.In aceasta etapa ne propunem adaptarea
software-ul medical specific pentru analiza directa a biosemnalelor provenite de la
pacient si integrarea acestuia in cadrul platformei de management. Integrarea
software-ului medical in cadrul platformei de management ne ofera posibilitatea
realizarii analizei semnalelor pentru un esantion de date reale, inregistrate la
2011 www.erisc.ro Etapa - 4
11
momentul de timp in care a fost semnalata aparitia unui eveniment. Acest lucru ne
ofera o imagine de ansamblu asupra starii de sanatate a pacientului si ajuta in
diagnosticarea corecta a pacientului.
Structura software-ului biomedical este urmatoarea:
a. Software biomedical on-line;
b. Software biomedical off-line.
Componenta celor doua categorii de software este:
a. Software biomedical on-line;
Cuprinde monitorizarea continua a urmatoarelor date:
• Date vitale directe:
- RR online: prelucrare obtinuta direct in subsistemul purtabil;
- Variatia toracica respiratorie;
- ECG primar;
• Date vitale prelucrate
- FFT aplicat pe RR;
b. Software biomedical off-line;
- Transformata Fourier;
- Transformata Wavelet;
- Evaluare interactiuni;
- Filtrare multidimensionala.
Modalitatea prin care aceasta structura a fost elaborata a fost prezentata in
predarea etapei din 2010.
A1.1.3 Elaborare model culegere cu senzori a informatiei
Culegerea informatiilor biologice si de pozitie reprezinta unul dintre
elementele principale ale proiectului si modul cum este tratat acest subiect este
hotarator asupra rezultatului final precum si a costurilor totale.
Modelul de achizitie de date ales induce in principal costul final al produsului,
regimul de utilizare precum si segmentul de piata caruia ii este destinat. Folosirea
2011 www.erisc.ro Etapa - 4
12
unor senzori neadecvati va afecta in mod crucial precizia, dimensiunile sistemului
purtabil precum si indicele de purtabilitate al produsului nostru.In ultimi trei ani au
fost perfectionate in permenta tehnici si metode de masurare directa sau indirecta a
parametrilor biologici. Fiind un domeniu de granita, biosenzorii textili sunt o cota
importanta din gradul de noutate adus de proiectul nostru prin imperecherea
produselor fizice cu softul de achizitie si procesare a semnalelor provenite de la
acest tip de biosenzori. Dupa achizitionare si apoi testarea a diversilor senzorii ECG
pentru sisteme purtabile, echipa noastra a putut sa defineasca modelul experimental
ca un sistem de achizitie ECG ce foloseste senzori inteligenti de tip e-textil.
Figura.1 Senzori de tip e-textil
Senzorii inteligenti de tip e-textil permit cel mai scazut nivel al artefactelor de
miscare, din cei testati si analizati de echipa noastra in ultimii 2 ani. Folosirea unei
centuri elastice dotata cu acest tip de senzori permite reducerea semnificativa a
efortului de a filtra zgomotele produse de miscarile corpului, relative la senzor. In
sistemele clasice aceste zgomote sunt eliminate prin lipirea de tegument a senzorilor
metalici cu un gel special. Pentru ca sistemul nostru este purtabil, adica pacientul se
duce la plimbare, face sport sau efectueaza diverse munci cotidiene, folosirea
acestui tip de electrod este incomoda si mai ales nepractica pentru ca acesti
electrozi, fiind rigizi, genereaza tensiuni in gelul de lipire, la contactul cu pielea, care
duc in final la dezlipirea electrodului si pierderea semnalului ECG corespunzator.
2011 www.erisc.ro Etapa - 4
13
Din motive de utilizare practica, in locul tricoului din e-tesut (foarte scump),
echipa noastra a folosit o centura ce este chiar lavabila, si pe care au fost cusute
portiuni de contact dintr-o tesatura speciala de tip Coolmax 70/80micro. In cursul
testelor sistemul de conectare a fost schimbat de mai multe ori, solutia actuala
dovedidu-se de departe cea mai stabila la numeroase montaje si demontaje a
CUTIEI asa cum este denumita cutiuta de sistem alarma auto in care au fost
montate elementele principale de procesare si control a modulului purtabil.
De mentionat ca au fost testate si doua tricouri produse de Numetrex pe baza
aceluiasi material textile tesut cu fir (Coolmax70/80), care sunt totusi mult mai
scumpe decat produsul nostru experimental manufacturat local.
Sen
zorii E
CG
Sen
zorii
res
pira
tie
preAm
plif.
analogice
Sen
zori
pozi
tie X
YZ
tem
p0
Mic
roco
ntroler M
SP430
Blu
etoo
thm
odu
lSurs
a Lipo
conv
erto
r CC
Figura.2 Arhitectura sistemului
Acesta arhitectura are avantajul ca permite modularizarea sistemului de
senzori, fiind posibil sa folosim doar o parte din senzorii disponibili si sa realizam
astfel importante economiii energetice in conditiile in care se reduc si numarul de
cicluri ale procesorului sistemului si deasemenea modularizarea permite sa
schimbam tipul senzorilor folositi.
Concluzie:
Achizitia datelor electrobiologice se va face prin intermediul senzorilor
e-textili tesuti, impreuna cu un set de informatii despre mediu si pozitia
subiectului in mediu. Modularizarea sectiuni de achizitie date permite
schimbarea cu usurinta a tipului de senzori utilizati.
2011 www.erisc.ro Etapa - 4
14
A1.1.4 Elaborare solutie de comunicatie – finalizare (CO - WING)
Alegerea finala a solutiei de comunicatii este generata de avansul tehnologic
inerent aparut in timpul desfasurari proiectului precum si de restrictiile financiare
aparute dupa semnarea contractului. In aceste conditii s-a avut in vedere adoptarea
unei solutii de comunicatii care sa reduca la jumatate costurile de realizare, testare,
imbunatatire, retestare si caracterizare a sistemului.
Desi teoretic, solutia Zigbee este mai buna pentru BAN (Body Area Network)
si echipa noastra avea cele mai bune rezultate de laborator lucrand cu
echipamentele Zigbee (pana la aparitia efectiva a BLE in 2011) faptul ca trebuia sa
construim un dispozitiv special pe post de statie releu intre reteaua BAN si reteaua
GSM/3G ridica destul de mult costurile proiectului.
Chiar si in cazul in care se construia doar o interfata usb speciala care trebuia
conectata la un telefon mobil, ridica probleme destul importante vizand fiabilitatea
finala a intregului lant de comunicatii.Reducerea bugetului operata in timpul
desfasurarii proiectului a decis abandonarea solutiei Zigbee si orientarea spre
Bluetooth.
Evaluarea solutiei de comunicatii finale a avut ca principal obiectiv gasirea
solutiei care permitea finalizarea proiectului prin incadrarea in bugetul de cercetare
redus cu aproximativ 50% efectuata in anul 2010.
OperatorGSM HUB
Statie baza
legatura FO(fibra optica)
legatura FO(fibra optica)
lega
tura
FO
(fib
ra o
ptic
a)
legatura FO(fibra optica) FireWall
FireWall
Medicprimesteonline
date ECG
Smartphonemedic
Administrator de
retea
Server comunicatii
SPITALsectia cardiologie
medic cardiolog
BAN (Body Area Network)
Retea GSM/3G
Serverprocesare
datebiomedicale
Figura.3 Structura retea comunicatii
2011 www.erisc.ro Etapa - 4
15
In figura de mai sus se observa existenta a 4 tipuri de retele care
interactioneaza in mai multe puncte de contact prin routere sau telefoane inteligente.
Filtrarea modului de acces la datele personale care circula in aceste retele se
face pe baza unor protocoale speciale si a unor programe specifice. De exemplu,
pentru securizarea SO Android care ruleaza pe telefoanele inteligente, sistemul
nostru foloseste aplicatia Bitdefender mobil, pentru evitarea aparitiei de malware sau
virusi in aplicatie.In plus, pentru filtrarea traficului se foloseste Droidwall - o aplicatie
cu functie de firewall.
nr. crt.
Tip retea Vulnerabilitati Contramasuri Obs.
1 BAN (Body AreaNetwork)
sensibila la bruiaj activ, banda foarta aglomerata.
Monitorizarea prin software a calitatii legaturii radio si semnalarea disfunctionalitatiilor
Banda de 2.4Ghz este ocupata de cuptoarele cu microunde, WIFI, Zigbee,
2 GSM /3G
Sensibilitate la bruiaj activ, banda negarantata poate intrerupecomunicatia curenta
Facilitati de switch automat in GSM-GPRS chiar daca exista semnal 3G pentru prezervarea limitei de 32kbs necesare.
In timpul testelor a fost observata posibilitatea de a pastra deschis canalul de comunicatii in GPRS.
3 WAN /internet
Cyberatacuri, Malware
Firewall si arhitectura securizata
Sol. initiala de a folosi o retea dedicata de FO intre HUB GSM si Datacenter-ulWing a fost anulata din motive financiare
4 LAN Malware, virusi Solutii antivirus, proceduri speciale de acces in lan
Concluzie:
Lantul de comunicatii dezvoltat in cadrul acestui proiect se poate
caracteriza cel mai bine ca o solutie minimalista pentru a rezolva comunicatiile
sigure la cel mai bun raport pret/performanta.Schimbarea a doua tehnologii in
2011 www.erisc.ro Etapa - 4
16
trei ani, datorita progreselor tehnice aparute in acest domeniu este dovada ca
proiectul se bazeaza pe un suport tehnic de ultima generatie astfel incat
elementele novatoare vor avea o viata tehnologica suficient de lunga pentru a
se impune pe piata.
Firewall
Poate fi de tip software sau hardware.Are rolul de a preveni intruziunile
externe, atacuri de tip informatic, etc.Un firewall este un echipament destinat
controlului comunicatiilor in retea pe baza unui set de reguli.Este des utilizat pentru
protectia retelelor in cazul incercarilor de acces neautorizat, permitand in acelasi
timp trecerea traficului legitim.
Figura.4 Firewall-ul filtreaza traficul intre o retea locala si internet
Router
Routerele opereaza la nivelul 3 al modelului OSI.Acest lucru inseamna ca
sunt utilizate adrese IP ale pachetelor aflate in tranzit pentru a se decide prin ce
interfata se va face trimiterea pachetului.Decizia este luată comparand adresa
calculatorului destinaNie cu înregistrările (campurile) din tabela de rutare.
In esenta, router-ul este un dispozitiv hardware sau software care conectează
două sau mai multe reNele de calculatoare bazate pe "comutarea de pachete"
(packet switching).Functia indeplinita de acesta se numeste rutare.
Router-ul trebuie sa asigure:
- legatura la internet;
- comutarea de pe o fibra optica pe cealalta.
2011 www.erisc.ro Etapa - 4
17
Deoarece un gateway poate executa si functii de rutare si operatii
suplimentare, producatorii de echipamente pot include si functia de firewall in cadrul
produselor lor.
Server Comunicatii si Autentificare: masina destinata asigurarii transmisei
sigure a datelor.
Securitatea comunicatiilor trebuie sa fie asigurata in primul rand de criptarea
informatiei.Unul dintre modurile de utilizare este combinatia dintre TLS sau SSL si
protocolul de comunicatie utilizat: FTP / HTTP / etc.
TLS (Transport Layer Security), Secure Sockets Layer (SSL) si Transport
Layer Security (TLS), succesorul sau, sunt protocoale criptografice care permit
comunicatii sigure pe Internet.Intre SSL 3.0 si TLS 1.0 exista anumite diferente, dar
protocolul ramane aproximativ acelasi. Pentru a cripta datele TLS / SSL utilizeaza un
sistem criptografic cu doua chei: una publica, cunoscuta de oricine, si una privata,
secreta, cunoscuta numai de destinatarul mesajului.
TLS / SSL asigura autentificarea endpoint-urilor si confidentialitatea
comunicatiei prin Internet folosind criptografia.In utilizarile uzuale, numai serverul
este autentificat (identitatea sa este certificata), în timp ce clientul ramane
neautentificat; autentificarea mutuala presupune existenta unui mecanism de
distributie a cheilor publice („PKI”) catre clienti.
TLS / SSL implica mai multe faze intermediare:
- Verificarea mutuala de suportare a protocolului;
- Schimbarea cheilor prin intermediul criptarii prin metoda cu chei
publice si autenficare pe baza de certificate;
- Trasmiterea de trafic criptat prin sistemul cheilor simetrice.
In timpul primei faze a protocolului serverul si clientul negociaza asupra
algoritmului de criptare care va fi folosit. Implementarile curente permit urmatoarele
posibilitati:
- criptografia bazata pe chei publice: RSA, Diffie-Hellman, DSA sau
Fortezza;
- pentru codari simetrice: RC2, RC4, IDEA, DES, Triple DES sau AES;
2011 www.erisc.ro Etapa - 4
18
- pentru functii de hash unidirectional: MD5 sau SHA.
Switch management 1Gb – FO
Caracteristica minimala:
- 1Gb pe port;
- Versatilitate in programare: management layer 3;
- Imunitate la influente electromagnetice: transmisie pe fibra optica.
O retea locala virtuala (VLAN - Virtual Local Area Network) reprezinta
gruparea logica a componentelor unei retele locale, fara a tine cont de gruparea lor
fizica. Segmentarea fizica a unui LAN cu echipamente de comunicatie de tip hub,
switch sau bridge face posibila segmentarea domeniului de coliziune initial in mai
multe domenii de coliziune, dar pastreaza un singur domeniu de broadcast, ceea ce
permite un control mai eficient al congestiilor din retea dar nu reduce incarcarea
retelei prin transmisia mesajelor de broadcast.
Routerul este singurul echipament care delimiteaza un domeniu de broadcast,
indeplinind functia de firewall.
In multe cazuri este utila gruparea calculatoarelor-gazda in domenii de
broadcast separate, pe diferite criterii independent de conexiunile fizice existente in
retea si de amplasarea lor in spatiul unei cladiri.
Definirea VLAN-urilor se poate face in functie de diversi factori:
• numere de identificare (ID - identifier) a porturilor;
• adrese MAC;
• protocoale de retea;
• porturi de aplicatie.
Fiecare VLAN reprezinta un domeniu de broadcast independent, ceea ce
permite reducerea incarcarii retelei prin difuzarea mesajelor catre toti utilizatorii.
Se poate defini cate un VLAN pe fiecare port al switch-ului. Mai multe porturi
din switch pot sa apartina aceluiasi VLAN. La nivelul switch-ului, transmisiile prin
broadcast se fac numai pe porturile asociate aceluiasi VLAN.
2011 www.erisc.ro Etapa - 4
19
Subsistemul Prelucrare Evenimente primeste date de la Subsistemul de
Transmisie (ST), ce vor fi utilizate de Serverul Prelucrare si Analiza.Datele
pacientilor sunt necesare in detectia artefactelor (prin comparatia semnalelor
specifice pacientului), iar datele GPS sunt disponibile pentru cazurile in care se
doreste recuperarea pacientului.
Figura. 5 Functii servere
In componenta Subsistemului de Prelucrare Evenimente:
Server stocare - dupa cum spune numele, acest server va cuprinde toate
informatiile transmise de Subsistemele de Telecomunicatii.
Necesar:
- spatiu mare de stocare;
- timp de acces mic la datele stocate;
- acces compatibil cu multiple sisteme de operare;
- acces securizat la informatii;
- organizare flexibila a datelor.
2011 www.erisc.ro Etapa - 4
20
Server Anamneza Pacienti si Patternuri Deplasari - va contine istoricul medical al
fiecarui pacient, istoricul de deplasari (coordonate GPS) si modele de deplasari
privind traseele acestora.
Cerinte:
- securitatea datelor (fiind vorba despre informatii personale medicale);
- acces facil la date;
- un sistem de stocare flexibil, compatibil cu multiple OS-uri.
2011 www.erisc.ro Etapa - 4
21
A1.2 Elaborare solutie de localizare GPS/GSM –finalizare (P3 – IPA)
Solutia de localizare finala va integra tehnologia de localizare livrata de
versiunea 2.3.3 a Android perfectionata prin aplicarea unei solutii tehnice propietare
de expediere in regim de pachete de date de pozitie pentru a fi recalculate pe
serverul de comunicatii. Acesta solutie, obtinuta dupa mai multe iteratii a diverselor
tehnologii de localizare duala, disponibile in cadrul consortiului, este cea mai solida
desi nu este foarte precisa.
Faptul ca acesta solutie de localizare este integrata in SO al smartphone-ului
asigura intrisec functionarea sigura a sistemului si permite cresterea disponibilitatii
sistemului prin reducerea numarului de procese care ruleaza sub SO, inlaturand
redundanta unor procese.
Pentru a compensa problemele de precizie ale acestei solutii, sistemul va
trimite periodic (10s-30s) rapoarte de pozitie complete ce vor include toate datele
necesare recalcularii pozitiei de catre serverul de comunicatii. Pozitia post calculata
a pacientului este comparata cu pozitia raportata de sistemul mobil si, in functie de
diferentele determinate, este aplicat un script cu raspunsuri gradate, de la calcularea
unor corectii minore, pana la ridicarea unui steag de atentionare pentru probleme
majore asupra integritatii SO din terminalul mobil.
In cazul unor abateri majore dintre pozitiile calculate de sistemul mobil si
serverul de comunicatii, inainte de declansarea unei alarme de sistem, se va utiliza o
analiza a log-urilor de deplasare cautand corelatii intre pozitiile anterioare, stabilite
prin GPS, si pozitiile calculate pe baza statiilor GSM. Aceasta strategie va permite
reducerea majora a rapoartelor de pozitie eronate, care pentru Google sunt
neimportante, dar foarte importante pentru aplicatia noastra.
T1 T2
T3
Figura.6 Principiu pozitionare
2011 www.erisc.ro Etapa - 4
22
Schema pe baza careia SO Android calculeaza pozitia geografica, se
bazeaza pe masurarea timpul de propagare de la statiile de baza pe care terminalul
le receptioneaza si astfel se determina distanta pana la respectivele statii.Pentru
aceasta solutie sunt necesare cel putin 3 statii de baza.
In orase, precizia este mult imbunatatita faptului ca pot fi receptionate mult
mai multe statii.ln zonele rurale, precizia este mult mai scazuta pentru ca de obicei
sunt receptionate doar una sau doua statii de baza.In ultima situatia se poata
determina doar un perimetru in jurul antenei statiei de baza.
Precizia obtinuta astfel este suficienta pentru marea majoritate a aplicatiilor de
tip LBS (location based service). In cazul in care se doreste o precizie crescuta, se
va folosi GPS-ul integrat in terminalul mobil de tip smartphone.Pentru scaderea
timpului de sincronizare in versiunile "high end" se folosesc tabele speciale cu
configuratia satelitilor GPS la data si ora respective.
Aceste tabele sunt actualizate prin internet permanent de catre producator si
se reduce astfel timpul de sincronizare la sub 15 secunde (in mod normal acest timp
poate fi de 1minut sau mai mult).In plus, prin folosirea localizarii primare, furnizata de
reteaua GSM, se obtine scurtarea timpului de determinare a pozitiei geografice de
nivel comercial (7m).
Pentru aplicatii profesionale,aceasta precizie poate creste pana la nivel de
cm.In plus combinarea datelor de la GPS cu sistemul rusesc GLONASS permite
scaderea suplimentarea a timpului de asteptare pentru calcularea pozitiei cu nivel
comercial de precizie.
Din pacate folosirea extensiva a functionalitatiilor GPS duce la cresterea
exagerata a consumului si reducerea timpului de functionare cu pana la 63% (valori
masurate pentru HTC Android si HTC Touch Pro).
In cazul telefonului Motorola RAZR, care foloseste un nou tip de GPS,
consumul total scade cu pana la 50% prin folosirea unei microantene optimizate
pentru telefoane mobile si mai ales prin utilizarea unei ferestre temporale care
permite functionarea antenei active (care este marele consumator energetic) in
segmente alternative de timp.
Progresul in domeniul antenelor active, care beneficiaza astazi de noi
materiale semiconductoare speciale pentru receptoarele GPS, permite scaderea
2011 www.erisc.ro Etapa - 4
23
costurilor unor sisteme de asistenta medicala la distant, acest lucru fiind dovada de
netagaduit a interdependetelor din societatea contemporana.
Concluzie:
Pentru localizarea pacientului se vor folosi in principal informatiile de
pozitie din API Android, fara GPS si doar in cazul unui eveniment se va
declansa un proces care va activa antena GPS si va initia procesarea de
precizie a informatiilor de pozitie, care vor fi coroborate cu datele
postcalculate de serverul distant.Doar noile smartphone care vor fi dotate cu
noul tip de receptor GPS pot folosi fara restrictii localizarea AGPS.
2011 www.erisc.ro Etapa - 4
24
A1.3 Elaborare solutie comunicatii cu fibra optica – finalizare (P4 –
INOE)
Fibra optica reprezinta suportul fizic ales pentru realizarea legaturilor de
comunicatie, atat intre providerul de servicii internet si Subsistemul de prelucrare la
distanta, cat si intre echipamentele ce formeaza SPD.
Alegerea F.O este normala tinand cont de avantajele utilizarii acesteia:
- Distante de comunicatie foarte mari (de ordinul zecilor de km);
- Latimea de banda, ce poate ajunge la 100 Gbps;
- Flexibilitate;
- Imunitate la interferente electromagnetice;
- Costuri reduse;
- Compatibilitate echipamente.
Pentru realizarea redundantei in comunicatia dintre ISP si SPD se vor utiliza
doua fibre optice, al caror traseu metropolitan este diferit. Astfel in cazul aparitiei
defectiunilor pe un traseu, legatura va putea fi comutata pe fibra de pe cel de-al
doilea traseu.
Un plus pentru utilizarea F.O in anumite zone metropolitane este dat de
ingroparea acestora (proiectul NetCity national), acest lucru asigurand un nivel de
siguranta mai ridicat decat in cazul intinderii acestora aerian.
Figura.7 Trasee diferite fizic pentru fibra optica
In cazul utilizarii in interiorul SPD, pentru interconectarea echipamentelor
interne ale acestuia, se prefera fibra optica in detrimentul cablurilor de metal
deoarece:
2011 www.erisc.ro Etapa - 4
25
- fibra optică economiseNte spaNiu în conductele de cablu deoarece o
singură fibră poate transporta mai multe date decât un singur cablu
electric;
- fibra optica nu conduce electricitate, nefiind afectata de descarcari
electrice, putand fi folosita in medii in care sunt prezente gaze inflamabile;
- interceptarea comunicatiilor este mult mai dificila.
Concluzie:
Folosirea Fibrei Optice (FO) permite scaderea costurilor de utilizare si
mai ales asigura securitatea legaturilor dintre HUB-ul GSM si DataCenter prin
folosirea unui link FO de fibra neagra.
2011 www.erisc.ro Etapa - 4
26
A1.4 Elaborare solutie comunicatii date cu un consum redus de energie
– finalizare (P5 – IOEL)
In cadrul acestui proiect, un element constant in proiectarea modulului purtabil
a fost grija de a asigura disponibilitatea energetica a sistemului. Faptul ca a existat
din proiectare o limita la 450mW/h, din cauza dimensiunilor impuse initial
acumulatorului, a reprezentat un obstacol abordat din mai multe directii.Dupa multe
eforturi a fost gasit un acumulator LiPo de generatie noua cu o capacitate de
650mW/h care permitea atingerea nivelului minim de disponibilitate si care se
incadra in limitele dimensionale. O alta solutie, mult mai eficienta era reducerea
consumurilor sistemelor active din modulul portabil.
Configuratia sistemelor posibil de utilizat in BAN este urmatoarea:
nr. crt.
Standard capacitatea raza de lucru
topologie consum memorie necesara
Banda lucru (Mhz)
1 Bluetooth 2.1 0.1-3Mb 10m star 40mA 50-90kb 2400
2 Bluetouth Low
Energy 4
1Mb 10m star 20mA 40kb 2400
3 ZigBee 20-
250kbps
100m mesh/star 20mA 100kb 2400;
868
Din acest tabel rezulta clar ca Bluetooth Low Energy este castigator, dar fiind
un produs foarte nou, primele kit-uri de dezvoltare au aparut in august 2011 iar
primele telefoane care suporta Bluetooth ver. 4.0 au aparut in aceasta toamna.
Pentru nevoile noastre a fost nevoie de un telefon mobil care foloseste SO Android,
in Romania in noiembrie 2011, doar noul Motorola RAZR si IPhone 4S dispun de
aceasta facilitate, deci a trebuit sa facem testele cu Motorola RAZR.
Pentru a folosi acest nou terminal mobil a trebuit sa folosim si noua versiune a
pachetului de dezvoltare pentru Android - Motodev Studio ce include toate update-
urile pentru lucrul cu Bluetooth 4.0 (BLE/ULP/Wibree).
2011 www.erisc.ro Etapa - 4
27
Datorita timpului foarte scurt avut la dispozitie si a problemelor de
compatibilitate software aparute la folosirea noii tehnologii am testat doar 4zile
obtinand rezultatele din tabelul de mai jos.
Figura.8 Analiza disponibilitate sistem
Folosirea noului telefon de la Motorola face posibila ca sistemul Bluetooth ver.
4.0 instalat in luna oct. 2011 pe modulul purtabil sa lucreze in parametri nominali si
majoritatea problemelor privind resursele energetice ale sistemului portabil se
simplifica dupa cum se vede din tabel. Imbunatatirea este absolut fenomenala,
practic autonomia sistemului s-a dublat desi conform calculelor ar fi trebuit sa
creasca doar cu 48%. Din analiza datelor colectate in scurtul timp avut la dispozitie a
rezultat ca rescrierea intregului protocol de comunicatii a permis reducerea drastica
a energiei necesare functionarii (in mod nativ BLE 4.0) nu numai pe partea de radio
(asa cum se calculase) ci si asupra numarului de cicluri de procesor necesare
generari pachetetelor de date radio. Reducerea numarului de cicluri procesor a
permis scaderea la 54% a resurselor energetice necesare functionarii modulului
purtabil.
Astfel unul din obiectivele principale al proiectului, un sistem purtabil cu o
independenta energetica care sa acopere o zi de activitate normala a fost rezolvat.
Caracteristicele tehnice ale Bluetooth 4.0 (ULP- Ultra Low Power) folosit in
noua configuratie sunt urmatoarele:
• 39 canale cu 2Mhz latime;
2011 www.erisc.ro Etapa - 4
28
• Emisie in foarte scurte "burst-uri";
• raza de actiune 10m la 0dbi;
• Modulatie-FSK Gaussian cu BT=0.5;
• Facilitate de sleep mode pentru economisire energie;
• foloseste canale fixe pentru imperechere si detective dizpozitive noi;
• protocol optimizat for comunicatii de banda ingusta;
• numar redus de cicluri procesor si necesar de RAM mult scazut.
De specificat ca aceste date permit reconsiderarea solutiilor de comunicatii de
putere redusa pentru aplicatii medicale-majoritatea aplicatiilor medicale de
telemedicina pot folosi acesta tehnologie.Oricum experienta echipei noastre in acest
domeniu trebuie aprofundata pentru ca optimizarea softului dezvoltat de noi a fost
foarte sumara pentru lucrul cu Bluetooth ver.4.0
In aceste conditii celelalte tehnologii vor ramane incet, incet in afara zonei
medicale.Bluetooth ver.2.1 va pastra o pozitie dominanta datorita numarului urias de
echipamente care suporta standardul la ora acesta, insa din 2012 majoritatea
telefoanelor inteligente vor suporta BLE.
Noile module Bluetooth 4.0 sunt comparabile dimensional cu vechile module,
avand insa un alt mod de conectare, acest lucru asigurand un grad mai mare
integrare (vezi figura.9).
Figura.9 Module Bluetooth 4.0
Dotarea laboratorului de comunicatii de putere redusa cu kit-urile Zigbee a
ramas o referinta foarte utila in evaluarea lanturilor de comunicatii wireless ce includ
2011 www.erisc.ro Etapa - 4
29
banda ISM mai ales cand, din diverse motive (mai ales suprapunerea diverselor
surse de semnal parazite in banda 2.4Ghz), apar probleme.
Concluzii:
Solutia noastra pentru comunicatiile dintre modulul purtabil este
Bluetooth 4.0 care asigura consum extrem de redus si permite functionarea
sistemului un timp considerabil mai lung datorita scaderii consumului si in
partea de terminal.
2011 www.erisc.ro Etapa - 4
30
A1.5 Elaborare solutie achizitie date multicanal – finalizare (P6 – ELCOS)
Achizitia de date multi canal in cazul dispozitivelor purtabile este un subiect
delicat datorita limitariilor extreme de consum de putere si a restrictiilor dimensionale
implicate de notiunea de purtabilitate.Restrictiile de proiectare au modelat solutiile
noastre astfel incat la finalizarea proiectului s-a ajuns la urmatoarea arhitectura:
Figura.10 Schema interfata senzori
Pentru ca numarul de canale de masura este limitat dar mai ales din motive
de utilizare eficienta a resurselor energetice (folosirea a mai multor convertoare AD
creste semnificativ consumul sistemului am preferat sa utilizam multiplexarea pentru
semnalele care necesitau conversia pe 16bits. Pentru semnalele interne (tensiune
baterie si temperatura exterioara) modulului portabil am folosit convertoarele
analogic digitale pe 12bits, acest lucru permitand gestiunea informatiilor critice in
timp util si cu minim de resurse.
Pentru a putea compensa eventuale erori de pozitionare a senzorilor se vor
folosi doua solutii:
2011 www.erisc.ro Etapa - 4
31
1. Referinta circulara - consta in efectuarea masuratorilor intre cei trei senzori
prin folosirea ca referinta a celorlalti doi senzori, in loc ca unul din senzori sa fie
considerat referinta.
2. Procedura de evaluare automata a coerentei masuratorilor - consta in
efectuarea de masuratori si compararea acestora cu mostre din memoria sistemului.
In cazul in care semnalele sunt iesite din plaja de valori se solicita repozitionarea
senzorilor.
Figura.11 Referinta circulara senzori
Senzorii ECG de tip e-textil au probleme inerente cu conexiunile, in conditiile
cand acestea trebuie sa asigure stabilitatea pe intreg lantul de masurare, de aceea
am testat multe solutii plecand de la conectoare de tip BNC pana la conectoare
SNB. Solutia finala pentru conector este o capsa metalica si care a fost tratata
chimic special pentru evitarea coroziunilor inerente care apar dupa spalarea centurii
sau de la transpiratie.
Obtinem astfel un contact sigur pentru o perioada mare de timp (una din
centurile de test a fost spalata in masina de spalat de 14 ori si inca este in plaja
normala de valori (important sa fie uscata rapid).
Figura.12 Centura test
2011 www.erisc.ro Etapa - 4
32
Pentru a asigura contactul ferm pe o suprafata mare a materialului special, in
spatele acestuia este montata o umplutura de burete electroconductor
(1,6Ohmi/cm3). De mentionat ca banda elastica suport este un izolator si a fost
aleasa sa isi pastreze aceasta capacitate chiar si in cazul transpiratiei abundente
fiind puternic hidrofoba.
Determinarea suprafetei de contact (a cantitatii de material e-textil) pentru
fiecare senzor a reprezentat un element crucial, pentru ca nu exista referinte in
literatura stiintifica vizand acest aspect, in aceste conditii au fost efectuate teste de
dimensionare a suprafetei care a fost micsorata treptat pana cand suprafata ramasa
a inceput sa afecteze masuratorile in timpul miscarilor.
Penultima suprafata a fost considerata corecta si astfel, a fost dimensionat
fiecare electrod in parte.
In timpul testelor de dimensionare am constatat ca datorita diferentelor
anatomice trebuiesc efectuate dimensionari specifice fiecarui sex. Pentru o parte din
persoane este absolut necesar sa fie executate ajustari ale distantei intre senzorii.
Datorita limitarilor structurale ale sistemului bazat pe MSP430 este necesar
sa refolosim canalele de masurare pentru mai multe biosemnale.
Figura.13 Schema sistem purtabil si sisteme secundare
2011 www.erisc.ro Etapa - 4
33
In figura de mai sus este aratata schema de baza a sistemului purtabil
impreuna cu sistemele secundare.Fata de varianta din figura 13, in versiunea finala
au aparut mici modificari la partea de interconectare dintre placa de baza si placa
secundara a modulului Bluetooth 4.0.De remarcat ca pentru fiecare varianta
constructiva a trebuit refacut PCB pentru ca exista diferente majore intre sistemele
de interconectare intre cele trei sisteme de comunicatii radio utilizate in decursul
dezvoltarii acestui proiect. Acest lucru a determinat si modul cum sunt utilizate
canalele de masurare si cum este folosita facilitatea MSP430 de a controla castigul
in canalul de masurare prin intermediul amplificatoarelor de programabile incluse in
chip.
Sistemul integrat al MSP430 de multiplexare multicanal utilizat in PCB ver.4.2
(ultima versiune realizata in cadrul acestui proiect) utilizeaza 4 canale diferentiale
care sunt conectate la senzorii externi.Datorita faptului ca raportul semnal zgomot
este foarte redus in cazul biosenzorilor, reproiectarea PCB din jurul MSP430 este
critica pentru prezervarea unor masuratori multi canal.Aceasta versiune este
prezentata in imaginea de mai jos.
Figura.14 Sistem MSP430
Concluzie:
Utilizarea unor sisteme de masura purtabile pe baza MSP430 este
posibila doar in conditiile in care proiectarea PCB-ului cuprinde tehnici
speciale de evitare a contaminarii cu zgomot a semnalelor utile datorita
raportului semnal zomot scazut specific.Pentru achizitia de date multe canal,
solutia noastra a fost folosirea unor trasee "izolatoare" de masa interpuse fata
de cele de semnal slab.
2011 www.erisc.ro Etapa - 4
34
A2. Elaborare solutii de functionare a sistemului cu relee personale
GSM/GPRS
A2.1. Elaborare solutie generala a sistemului
Solutia generala de comunicatii vizeaza armonizarea interactiiunilor dintre
elementele constructive ale proiectului precum si intre diversele aspecte tehnice ale
lucrului cu echipe de specialisti cu prioritati diferite si culturi organizationale foarte
diverse. Daca pentru specialistii medicali importanta unei rezolutii cat mai mari era
evidenta, mai ales ca deja detineau aparate fixe cu rezolutii mari(16bits) si chiar mai
bune (ADC22bits), pentru specialistii care se luptau cu fiecare mA consumat, era
evident o cerinta aberanta in conditiile in care echipamentul trebuia sa se incadreze
in restrictii dimensionale si de greutate foarte stricte.
Acest sistem purtabil este clar un produs limitat de lipsa unei industrii de profil
care sa ofere suport tehnologic - a fost nevoie sa apelam la o colaborare cu o firma
din Bulgaria pentru a realiza un circuit imprimat si mai ales plantarea componentelor
SMD miniaturizate.Incercarile de plantare manuala in laboratorul nostru au generat
mai multe rezultate inestetice si mai ales nefiabile.
Daca obiectivele generale au ramas, solutiile prin care au fost atinse s-au
modificat de mai multe ori, de fiecare date obtinandu-se rezultate mai bune sau un
produs mai ieftin.
Figura. 15 Structura initiala sistem monitorizare pacient
Schema de mai sus reprezinta ideea de plecare din 2008 a proiectului si in
principiu, modelul experimental corespunde acestei idei (vezi figura 3 - structura
2011 www.erisc.ro Etapa - 4
35
retelei de comunicatii de la A 1.1.4). Saltul tehnologic si constrangerile financiare au
generat solutii mai ieftine care permit cresterea evidenta a nivelului de
acceptabilitate a produsului de catre societate, acestea nefiind intodeauna si cele
mai bune solutii din punct de vedere tehnic.
De precizat ca dezvoltarea unei solutii de localizare duala (GPS/GPRS) de
catre Google-Android foarte apropiata de cea descrisa anterior (2008), de catre
echipa noastra la depunerea proiectului, este dovada ca avem un proiect in trendul
tehnologic chiar daca suportul financiar nu este comparabil.
Concluzie:
E-RISC - reprezinta un raspuns tehnologic la o problema umanitara si
economica - cum facem sa scadem costurile de spitalizare a bolnavilor cu risc
cardiac si cum reducem stresul si incomfortul acestora. Transferul in
ambulator reduce costurile si stresul, creste nivelul supravegherii medicale cu
mult peste limitele normale ( calculatoarele nu "obosesc" si nu serbeaza zile
onomastice) si asigura accesul la un diagnostician foarte specializat oriunde
se afla in realitate respectivul pacient.
2011 www.erisc.ro Etapa - 4
36
A2.2. Elaborare solutie GSM GPRS (P3 – IPA si P6 – ELCOS)
Problemele de securizare si asigurare a legaturilor de date medicale prin
intermediul retelelor de telecomunicatii mobile GSM implica mai multe aspecte:
• disponibilitate;
• securitate;
• integritate.
Disponibilitatea este definita ca procentul din populatia tarii pentru care este
disponibil din punct de vedere fizic un anumit nivel de serviciu de telecomuncatii. La
data redactarii acestui material, aceasta era in medie de peste 90%. Disponibilitatea
este importanta pentru ca doar in zonele respective se poate deplasa pacientul care
foloseste E-RISC.
Securitatea datelor medicale este impuse de normele medicale EHR care
sunt definite la nivel european. Dupa mai multe iteratii de folosire a unei legaturi
criptate s-a stabilit ca modelul experimental va folosii doar o legatura "autentificata",
pentru ca operatorii de telefonie mobila nu pot asigura canale garantate decat in
marile aglomerari urbane. Cum majoritatea utilizatorilor E-RISC vor activa in afara
zonelor urbane am preferat sa raman la nivelul general acceptat de EHR (Electronic
Health Records).
Integritatea datelor care sunt schimbate prin intermediul retelei GSM este
puternic influentata de configuratia retelelor si de faptul ca trecerea de la o celula
GSM cu acoperire 3G la o celula vecina care dispune doar de acoperire GPRS
cauzeaza aparitia problemelor la integritatea unor pachete. Daca la voce acest lucru
se observa prin scurte deformari ale vocii, la nivelul datelor ECG acest lucru face
imposibila utilizarea acestora, aparand o "fereastra" in continuitatea inregistrarilor.
Concluzie:
Folosirea unei solutii mixte 3G/GPRS permite folosirea mai comoda a
sistemului mai ales in cladiri, unde semnalul 3G are propagare mai buna dar
trecerile de la o celula GSM cu 3G la o celula care dispune doar de GPRS
genereaza pierderi de pachete de date care nu sunt deocamdata recuperabile.
2011 www.erisc.ro Etapa - 4
37
Testele finale au fost facute in reteaua Cosmote care declara urmatoarea
configuratie a acoperirii:
Figura 16 Acoperire retea Cosmote
Dupa cum se vede serviciul 3G este disponibil aproape exclusiv in orase,
acest lucru reducand in mod semnificativ posibilitatea produsului nostru sa
foloseasca acesta tehnologie.
Concluzie:
Pentru a asigura disponibilitatea dorita la inceputul proiectului trebuie
sa folosim doar GPRS. 3G este o tehnologie care se adreseaza momentan doar
zonei urbane.
2011 www.erisc.ro Etapa - 4
38
A2.3. Elaborare solutie interconectare comunicatii (P4- INOE)
Interconectarea sistemelor a fost un element destul de greu de implementat
fara "bug-uri" in conditiile cand am schimbat de mai multe ori specificatiile sistemului
de comunicatii interne.Elementul principal in jurul caruia s-a construit sistemul de
comunicatii este urmatoarea structura a pachetului de date:
Figura.17 Structura pachet de date
Aceasta structura a ramas nealterata de schimbarile efectuate in decursul
ultimilor 2 ani si a permis interconectarea diverselor solutii intr-un mod transparent
pentru pachetele software aflate la DataCenter.Renuntarea la versiunea Zigbee a
eliminat aproape toate problemele de intercomunicare intre sisteme.Actuala solutie
integreaza BT4.0 cu suportul GPRS/3G. Solutia finala pentru modelul experimental
include doar doua punti suport :
• interconectarea modulului BT4.0 cu placa de baza a echipamentului purtabil
(SP);
• interconectarea senzoriilor cu placa de baza (SP).
In plus, interconectarea senzorului de deformare toracica (detecteaza
respiratia si masoara amplitudinea efortului respirator) in final se face tot prin
bluetooth pentru ca interconctarea fizica poate genera probleme insurmontabile (cu
actualul buget) la nivel practic.
Concluzii:
Interconectarea diverselor tehnologii de comunicatii s-a facut prin
prezervarea unui format de date stabilit in prima etapa si care a permis
gestiunea datelor impachetate in acest format in orice conditii.
2011 www.erisc.ro Etapa - 4
39
A2.4. Elaborare solutie pentru modelul de comunicatii (P5 - INOE)
Modelul general de comunicatii este produsul a mai multor teste, efectuate pe
module functionale, efectuate cu mult inainte de executia modelului experimental,
pentru interactiunile dintre diversele componente genereaza puternice elemente
perturbatoare in functionarea corecta a sistemului. Se poate spune ca acest proiect
a generat mult mai multe probleme si solutii in zona comunicatiilor decat in zona
biosenzorilor si a postprocesarii medicale a datelor.
Solutiile finale pentru modelul experimental sunt urmatoarele:
1. Bluetooth ULP (Ultra Low Power)
2. GPRS -EDGE ( 3G este doar optional )
3. FO TCP-IP
Figura 18 Structura platformelor de comunicatii in proiectul E-RISC
Din figura 18 se poate observa ca acest model implica folosirea protocolului
TCP-IP deasupra tuturor sistemelor de comunicatii implicate in desfasurarea
proiectului. De mentionat ca solutia noastra nu functioneza pe Blackberry tocmai
datorita acestui model - RIM foloseste un sistem de accelerare a datelor care
deformeaza mult prea mult protocolul TCP-IP pentru a putea functiona in cazul
nostru.
2011 www.erisc.ro Etapa - 4
40
Alte doua platforme care lucreaza cu sisteme de accelerare a browsingului
(Iphone si Samsung – BADA) nu pot folosi deocamdata acest produs.
Eventuala dezvoltare pentru Iphone a unei aplicatii echivalente presupune
modificarea acestui model care necesita ACK pentru fiecare pachet de date.
Sistemele de accelerare pentru aplicatii mobile comprima datele inainte de a le
trimite si in plus trimit pachetele de date fara a respecta cerinta expresa a TCP-IP
(verifica integritatea unui pachet de date si apoi sa trimita altul). Prin renuntarea la
acesta strategie se reduce traficul din retea - ACK se trimite pentru mai multe
pachete odata.
Concluzie:
Modelul de telecomunicatii se bazeaza pe protocolul TCP-IP standard,
care este suficient de cunoscut pentru a trebui sa fie explicat. Pentru orice alte
tipuri de SO decat Android, este necesar sa se dezvolte aplicatii specifice
odata cu produsul final.
2011 www.erisc.ro Etapa - 4
41
A3. Proiectare model experimental
A3.1 Proiect general sistem; Proiectare sisteme senzori;Proiectare software comunicatii (CO-WING)
A3.1.1 Proiect general sistem
Proiectare legaturi
Informatia de la Subsistemul Purtabil la Subsistemul de Telecomunicatii este
transmisa prin intermediul semnalului GPRS / 3G la Baza GSM (serverele
operatorului GSM).
Legatura dintre operatorul GSM si serverele E-RISC (Subsistemul de
Prelucrare la Distanta prezent in DataCenter) este realizata prin intermediul fibrei
optice. Comunicatia intre elementele Subsistemului de Prelucrare la Distanta (server
stocare, server evenimente, switch management) este asigurata de asemenea prin
intermediul fibrei optice.
Subsistemul de Prelucrare la Distanta este compus din mai multe
componente si anume:
- Server comunicatii si autentificare;
- Subsistem prelucrare evenimente;
- Factor decisional;
- Switch management (utilizat pentru conectarea celor de mai sus);
- Echipamente de gestiune si securitate a comunicatilor: firewall, router.
Toate echipamentele vor fi sustinute de UPS-uri, cu posibilitatea de a trece
alimentarea pe generator, atunci cand alimentarea cu energie electrica este
intrerupta pentru durate mai mari de timp.
Pentru toate echipamentele este necesara o camera speciala, dotata cu
instalatie de aer conditionat, izolatie termica, accesul fiind permis doar personalului
autorizat.
Software general
Serverul decizional este alcatuit dintr-o interfata grafica, ce reuneste in
structura sa un modul de achizitie a datelor din baza de date MySql, un modul de
prelucrare in timp real a datelor si de semnalizare a problemelor aparute, precum si
2011 www.erisc.ro Etapa - 4
42
un modul de prelucrari ulterioare a biosemnalelor obtinute (prelucrari offline). Pentru
realizarea acestui server decizional am utilizat mediul de dezvoltare Matlab,
versiunea 2011b.
Figura.19 Structura server decizional
Mediul de programare Matlab prezinta avantajul unei flexibilitati mari in
utilizare, datorita posibilitatii de conectare a mai multor functii si aplicatii intr-o
entitate unica.Platforma de monitorizare tehnica conceputa se bazeaza pe acest
principiu. Structura globala a softului, organizata sub forma unui panou central ce
apeleaza functii specializate pentru fiecare operatie in parte, permite adaptarea cu
usurinta a programului, modificarea parametrilor de functionare si imbunatatirea
acestuia prin adaugarea de functii suplimentare.
Platforma de monitorizare tehnica a fost dezvoltata pentru a centraliza datele
provenite din toate subsistemele componente ale structurii E-RISC.Aceasta prezinta
o fereastra principala, denumita consola de monitorizare tehnica, in cadrul careia
sunt monitorizate atat datele corespunzatoare pacientilor cat si datele principale de
functionare ale subsistemelor componente: Server prelucrare si analiza si Server
stocare.Interfata comunica in timp real cu serverele si ofera personalului tehnic
detalii despre parametrii cei mai importanti ai serverelor, precum utilizare CPU,
latime de banda si erori sau atentionari existente.Consola de monitorizare tehnica
prezinta de asemenea o lista cu pacientii ce sunt monitorizati si afiseaza starea de
sanatate curenta a acestora: pacient ok sau alerta pacient. Conexiunea cu serverele
se face prin intermediul unei baze de date cu mai multe tabele. Vom avea un tabel
pentru datele corespunzatoare fiecarui pacient, ce va fi populat cu date primite de la
subsistemul purtabil si inca un tabel cu datele oferite de servere. Vom inregistra la
un interval de timp predefinit datele corespunzatoare serverelor intr-un tabel din
2011 www.erisc.ro Etapa - 4
43
baza de date. Aplicatia software va citi in permanenta datele din baza de date, atat
cele corespunzatoare pacientilor de monitorizat (mai des - la un interval de o
secunda) cat si cele corespunzatoare serverelor (mai rar – la un interval de 1 minut).
Am ales aceasta solutie constructiva deoarece este o solutie simpla si permite
totodata salvarea unui istoric al functionarii serverelor.
2011 www.erisc.ro Etapa - 4
44
A3.1.2 Proiectare sisteme senzori
Sistemul de senzorii folosit in cadrul acestei versiuni finale ale modelului
functional-versiunea imbunatatita include urmatoarele elemente:
• senzori ECG;
• senzori miscare - accelerometre 3 axe;
• senzor deformare cutie toracica;
• senzor temperatura corp subiect.
Senzorii ECG sunt exteriori "Cutiei" si sunt cei mai supusi la zgomotul
exterior.In timpul testelor extinse nivelul de zgomot generat de mediu a fost un
element important mai ales ca acesta este de tip aditiv fiind exprimat astfel:
unde: (s) semnalul real, (n) semnalul parazit(zgomotul); (f) semnalul rezultat.
Acest zgomot este in general produs de dispozitive electrocasnice sau de
surse puternice radio ( in timpul testelor au fost masurate perturbatii puternice care
pe periade de aprox. 30sec. saturau amplificatoarele sistemului, prin apropierea de
un radar militar aflat pe soseaua Bucuresti -Giurgiu).Folosirea unor componente de
calitate si o proiectare atenta a permis realizarea unui model experimental care a
dovedit ca poate functiona in conditii normale de exploatare.
Rejectia digitala a zgomotului electric din mediu impreuna cu folosirea unor
proceduri speciale de proiectare prin care sistemul este protejat de perturbatiile EM
din mediu asigura functionarea sigura a sistemului chiar si in conditii de mediu
advers.
Concluzie:
Sistemele de senzori sunt proiectate sa functioneze in conditii
"normale" de lucru. Sunt necesare precautii speciale in zonele cu surse de
zgomot electric puternic. De asemenea echipamentul este sensibil la
dispozitive de tratament cu vibromasaj sau stimulare electrica a muschilor.
2011 www.erisc.ro Etapa - 4
45
A3.1.3 Proiectare software comunicatii (CO-WING)
Software-ul folosit pentru comunicatiile din cadrul proiectului este structurat in
3 tipuri de legaturi:
Body AreaNetwork - Aplicatia ERISC ver.05 - dezvoltata sub Motodev Studio
(este un pachet personalizat de Motorola pe baza Eclipse) si Android SDK.Acesta
aplicatie asigura receptia, procesarea si trimiterea catre serverul de comunicatii aflat
la datacenter-ul din sediul Wing Computer Group srl. Pentru validarea comunicatiilor
la nivelul serverului de comunicatii de asemenea ruleaza un serviciu de certificare si
unul de autentificare cele doua aplicatii fiind scrise in C pentru ca serverele ruleaza
CERTOS - o versiune de Linux dezvoltata pe platforma RED HAT.
Cel mai important aspect al evolutiei aplicatiilor software care trateaza
comunicatiile, a fost trecerea intempestiva de la Eclipse, pe baza careia a fost
dezvoltata aplicatia ANDROID pentru HTC Desire, la o platforma derivata din
Eclipse dar care are si elemente de noutate special concepute pentru UI Motoblur si
pentru Bluetooth ULP vezi imaginea de mai jos.
Figura. 20 Dezvoltare aplicatie software
Aceasta evolutie a cauzat destule probleme mai ales datorita diferentelor
dintre modul cum sunt tratate optimizarile la nivelul procesoarelor noi.
2011 www.erisc.ro Etapa - 4
46
Comunicatii 3G/GPRS - aplicatia Android gestioneaza si initierea
comunicatiilor cu serverul de comunicatii, asigura securitatea legaturii printr-un
protocol ce urmeaza sa fie dezvoltat ulterior.Modificarile la obiectivele definite la
startul proiectului au aparut dupa reducerea alocarilor bugetare.
Comunicatii incepand de la statia de baza GSM pana la Data Center care
asigura colocarea serverului de comunicatii precum si a serverului de analiza
medicala. Aplicatia de baza este insa in mod sigur software-ul dezvoltat pe platforma
Android care gestioneaza fluxul de date dintre SP (statia purtabila) si telefonul mobil.
Acesta aplicatie este scrisa in Java a necesitat foarte multe corectii in decursul
dezvoltarii proiectului, deoarece au fost modificate platformele suport de comunicatii,
de la Zigbee la Bluetooth si apoi la Bluetouth ULP (Ultra Low Power). Spre exemplu,
mai jos prezentam un extras din sursa programului E-RISC sub Motodev Studio:
@Override publicvoidonCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); /*trimitecerere la undispbt */ IntentFilter filter = newIntentFilter("android.bluetooth.device.action.PAIRING_REQUEST"); /*inregistreazaunnou device BT dupaimperechere*/ this.getApplicationContext().registerReceiver(newBTBroadcastReceiver(), filter); // inregistreazaunnoudispozitv BT la reveniredacaestedejaimperecheat IntentFilter filter2 = newIntentFilter("android.bluetooth.device.action.BOND_STATE_CHANGED"); this.getApplicationContext().registerReceiver(newBTBondReceiver(), filter2); //Obtaining the handle to act on the CONNECT button TextViewtv = (TextView) findViewById(R.id.labelStatusMsg); String ErrorText ="Nu suntconectat la CUTIE ! !"; tv.setText(ErrorText); Button btnConnect = (Button) findViewById(R.id.ButtonConnect); if (btnConnect != null) { btnConnect.setOnClickListener(newOnClickListener() { publicvoidonClick(View v) { String BhMacID = "00:07:80:9D:8A:E8"; //String BhMacID = "00:07:80:88:F6:BF"; adapter = BluetoothAdapter.getDefaultAdapter(); Set<BluetoothDevice>pairedDevices = adapter.getBondedDevices();
2011 www.erisc.ro Etapa - 4
47
if (pairedDevices.size() > 0) { for (BluetoothDevice device : pairedDevices) { if (device.getName().startsWith("ERC")) { BluetoothDevicebtDevice = device; BhMacID = btDevice.getAddress(); break; } }
Concluzii:
Dezvoltarea de aplicatii Android sub Motodev Studio este un element
important in modul cum echipa noastra va rezolva pe mai departe diverse
aplicatii pentru BLE. Aparita BLE va permite in mod sigur explozia
dispozitivelor medicale purtabile mai ales ca incet, incet toate telefoanele
mobile vor fi dotate cu acest tip de interfata. Acest avantaj este major fata de
Zigbee care necesita in continuare interfete propietare pentru a interactiona cu
un smartphone.
2011 www.erisc.ro Etapa - 4
48
A3.2 Proiectare achizitii date (P2 – UPB+P6-ELCOS)
Sistemul de senzorii folosit in cadrul acestei versiuni finale ale modelului
functional-versiune imbunatatita in mai multe etape, include urmatoarele elemente:
• senzori ECG
• senzori miscare - accelerometre 3 axe
• senzor deformare cutie toracica
• senzor temperatura corp subiect
Senzorii ECG sunt dispusi pe o centura elastica simpla pentru barbatii si o
centura elastica sustinuta si de o bretea pentru femei.In urma numeroaselor teste s-
a constat ca simpla centura elastica nu este suficienta (datorita particularitatiilor
anatomice) pentru ca folosirea unei centuri foarte stranse este incomoda de purtat o
perioada lunga de timp si 62% din pacienti afectati de probleme cardiace sunt femei.
Testele comparative rulate timp de 2 luni au aratat ca structura senzorilor
realizati de noi este net superioara celor comercializati in acest moment.
Figura.21 Solutie senzori purtabili
Faptul ca am interpus un substrat de burete conducator intre banda suport si
stratul e-textil permite reducerea drastica a artefactelor printr-un contact mult mai
bun, care poate prelua deformarile dinamice ale dermei fara sa ajunga la limita
minima de contact.
2011 www.erisc.ro Etapa - 4
49
Acesta structura poate prelua deformari dinamice mult mai mari si permite un
grad mult mai mare de "purtabilitate". Buretele electroconductor are proprietatea de
a absorbi o parte din transpiratia generata de derma si a mentine contactul electric
si in plus nu mai permite alunecarea benzii elastice. Pentru celalalte solutii
constructive este nevoie sa fie crescuta forta de strangere a benzii elastice - lucru
care devine repede incomod pentru purtator.
De mentionat ca toate solutiile de mai sus pot fi spalate in masina de spalat si
asta este strict necesar pentru toate aceste sisteme de senzorii.
Senzorul de temperatura corporala este integrat in cutie si masoara
temperatura pe o suprafata de aprox. 12mm2 asigurata de capsa metalica care este
separata de derma doar de un strat subtire de material textil elastic. Datorita acestui
lucru, inertia masuratorilor este destul de mare (in media -1,4min/0C).
Senzorii de pozitie (accelerometrele 3D) permit cunoasterea pozitiei
pacientului si in plus daca se misca sau este in repaus.Acesti senzori sunt integrati
in cutie si sunt lipiti pe PCB.Datele normalizate sunt digitizate si citirea se face la
fiecare 0.5secunde.Obtinem astfel o corespondenta intre citirea ECG si activitatea
persoanei respective.
Concluzii:
Senzorii ECG imbunatatiti (prin adaugarea unui strat de burete
conductor sub e-textil) de echipa noastra au un comportament mult mai bun
cu derma uscata in conditiile unei activitati fizice ponderate asa cum au
pacienti nostri.Functionarea senzorilor de temperatura este stabila in noul
amplasament care permite "monolitizarea" intregului sistem.
2011 www.erisc.ro Etapa - 4
50
A3.3 Proiectare automatizari (P3 – IPA)
Procesul de automatizare, in cazul sistemului E-RISC, consta in preluarea
continua a datelor, prelucrarea lor si semnalizarea aparitiei evenimentelor in timp
real, fara interventia operatorului uman.Produsul software conceput realizeaza
achizitia de date medicale de la pacient prin intermediul subsistemului purtabil,
transmiterea lor in timp real la baza de date, de unde vor fi preluate ulterior in
fereastra de lucru a aplicatiei software si prelucrate cu ajutorul Sistemului Decizional.
Proiectare rutina software medical detectie artefacte
Exista doua modalitati prin care sistemul E-RISC realizeza detectia
artefactelor:
- detectia software din semnalul ECG si care poate fi corectata prin procedee
specifice, asa cum se poate vedea la analiza in frecventa in cazul filtrarii semnalului;
- detectia hardware provenita din elemente obtinute dinspre subsistemul purtabil,
astfel de la:
- accelerometru pe 3 axe;
- detectie amplitudine respiratie.
Sistemul decizional a fost conceput astfel incat sa realizeze in mod automat
preluarea datelor din baza de date Mysql, prelucrarea lor si semnalizarea
evenimentelor. Aceasta versiune software realizeaza o rejectie automata a
artefactelor.Detectia artefactelor si eliminarea acestora se face pe baza studiului
datelor provenite de la subsistemul purtabil (accelerometru si amplitudine respiratie).
Aplicatia software stabileste o conexiune cu baza de date, care ramane deschisa pe
toata functionarea echipamentului, si preia date in timp real, pe masura inserarii lor
in tabela Mysql. Prelucrarea acestor date in vederea gasirii unui eveniment se
realizeaza conform schemei-bloc prezentata in figura urmatoare.
2011 www.erisc.ro Etapa - 4
51
Figura. 22 Schema bloc functionare algoritm
Functionarea schemei bloc
La fiecare citire noua din baza de date, programul preia valorile inserate in
tabela si calculeaza parametrul RR.Valoarea parametrului RR reprezinta conditia
generala pentru validarea datelor si semnalizarea evenimentelor.Daca valoarea
primita pentru acest parametru se incadreaza in limitele prestabilite, programul
continua citirea noilor valori. In conditiile aparitiei unui RR ce nu se incadreaza in
plaja de valori, programul va verifica o conditie suplimentara, si anume starea
accelerometrului. Aceasta conditie suplimentara se impune datorita posibilei aparitii
a artefactelor. Daca accelerometrul indica o miscare brusca sau are o valoare peste
o limita prestabilita (pacientul este supus unui efort fizic), valoarea RR-ului va fi
considerata normala si se vor continua citirile. In cazul in care accelerometrul nu va
indica miscare, dar vom avea o valoare RR in afara limitelor, programul va genera
un semnal de alarma care va fi transmis in consola principala de monitorizare.
2011 www.erisc.ro Etapa - 4
52
O metoda de a realiza prelucrarea datelor se poate face prin rejectia
automata a artefactelor la nivelul subsistemului purtabil. In acest caz, structura
algoritmului se schimba, in sensul ca vom avea o conditie unica de test, si anume
cea impusa pentru valoarea RR-urilor. Subsistemul purtabil va oferi in acest caz
numai valori valabile ale RR-ului.
Concluzii
Algoritmul conceput este integrat in cadrul unui ciclu repetitiv de tip
while, care permite rularea lui un timp infinit lung, fara a necesita opriri, altele
decat cele impuse strict de mentenata sistemului.
Deoarece produsul software dezvoltat are o structura organizata pe
functii specifice, poate fi imbunatatit ulterior, prin adaugarea unei functii de
alertare automata a echipajului de interventie medicala (ambulanta), in cazul in
care operatorul uman nu este prezent si nu poate lua o decizie in alertarea
echipajului medical.
2011 www.erisc.ro Etapa - 4
53
A3.4 Proiectare canale legaturi (P4 – INOE)
Canalele de comunicatii folosite in cadrul versiuni finale ale acestui proiect
sunt urmatoarele:
• Bluetooth Ver.4.0;
• 3G/GPRS;
• FO link/LOS MIMO;
• FO link.
Vezi figura de mai jos:
Pacient Telefoninteligent
Statiebaza
HUBGSM
Spital
Bluetoothver. 4.0
HSPDAGPRS
FO linkLOS MIMO
FO Link
Figura.23 Structura sistem transmisie date
Intre echipamentul purtabil si cel portabil comunicatia este realizata prin noua
versiune Bluetooth Ultra Low Power si asigura protectia informatiilor prin legatura
criptata care este standard la aceasta versiune.
Transferul intre telefonul inteligent si statia de baza este realizat prin
intermediul standardelor de comunicatii mobile GSM (3G sau GPRS). Aceste
standarde in mod implicit asigura legaturi protejate dar nu in mod special (criptarea
legaturilor mobile creste necesarul de banda si in mod curent operatori de
telecomunicatii mobile renunta la acesta protectia daca o statie de baza este
supraincarcata). In versiunea initiala de dezvoltare era prevazuta dezvoltarea unui
protocol de protective usor (56 sau 128biti) dar dupa reducerea fondurilor am
considerat suficient sa solicitam operatorului GSM protectia explicita a legaturilor de
date implicate in proiect.Legaturile dintre statia de baza si HUB GSM precum si intre
HUB si Spital sunt realizate in mod curent prin fibra optica, sporadic aceasta este
suplinita de legaturi radio in domeniul microundelor de tip (LOS MIMO) in banda
24GHz.
2011 www.erisc.ro Etapa - 4
54
Concluzie
Asigurarea securitatii legaturilor de date implicate in proiect poate fi
facuta la un nivel rezonabil prin proiectarea atenta a modului cum sunt validate
pachetele de date si prin utilizarea resurselor de securitate si de bune practici
din acest domeniu.
2011 www.erisc.ro Etapa - 4
55
A4. Realizare hardware si software
A4.1 Realizare globala sistem; Realizare software global (CO-WING)
A4.1.1 Realizare globala sistem
Sistemul E-RISC este un sistem complex care implica sisteme multiple de
comunicatii, platforme software si hardware dedicate, sisteme de biosenzori si
sisteme MEMS pentru determinarea pozitiei pacientului.
Figura. 24 Structura proiect E-RISC
Interactiunile dintre diversele module globale ale sistemului sunt prezentate
in figura 24.
Se observa ca aceste platforme intereactioneaza intre anumite limite, definite
de functionalitatiile specifice precum si de masurile de siguranta necesare unei
solutii medicale ce va fi utilizata direct de pacientii.
Principala problema a sistemului nostru este faptul ca va fi utilizat de
persoane avizate (pacienti instruiti anterior) dar care nefiind profesionisti pot
2011 www.erisc.ro Etapa - 4
56
manevra gresit sistemul care poate trimite date incorecte. Rezolvarea acestei
probleme a fost cheia de bolta a proiectului. Modalitatea de determinare a pozitei
corecte a senzorilor a permis functionarea, departe de privirea si mana
profesionistului, unui aparat ECG de nivel medical.
Elementul principal al sistemului este modulul purtabil care se "monteaza” cu
ajutorul unei barete elasitice pe torsul pacientului in contact direct cu derma. In
aceste conditii, sistemul trebuie sa indeplineasca caracteristici speciale, fiind inclus
in categoria dispozitivelor medicale.
Produsul final va trebui astfel sa poata fi igenizat si sa corespunda unor
norme foarte stricte de electrosecuritate si de dozare a radiatiilor electromagnetice
emise de sistem, pentru ca va functiona perioade foarte indelungate de timp lipit de
corpul persoanei respective.
Datorita normelor de siguranta impotriva radiatiilor a fost preferata solutia cu o
statie terminala (smartphone) in rol de releu intermediar, acesta fiind in masura sa
emita cu puteri de 200 ori mai mari decat sistemul purtabil. Se asigura astfel o
protectie eficienta la radiatia electromagnetica de foarte inalta frecventa.
Sistemul realizat sub forma unui model experimental modular in anul 2011 a
permis testarea in regim total incepand cu luna octombrie cand a fost achizitionat
ultimul element din sistem - primul telefon cu Bluetooth 4.0 si sistem de operare
Android 4.0.
Concluzii:
Realizarea unui sistem complex care implica o multitudine de tehnologii
si cooperarea unui important grup de persoane poate fi blocata de o problema
netehnica ( lipsa educatiei si a experientei medicale a celui care trebuie sa
monteze zilnic senzorii). Solutia a fost dezvoltarea unei noi tehnici de
evaluarea a semnalelor ECG si astfel a pozitionarii senzorilor.
Alternativa era tatuarea pe piele unor semne unde trebuiau pusi
electrozi.
2011 www.erisc.ro Etapa - 4
57
A4.1.2 Realizare software global
Realizarea softului specializat pentru monitorizare s-a facut respectand
urmatorii pasi:
1. crearea de functii simple pentru fiecare procedura (preluare date din baza de date,
preluare parametrii servere, analiza date in timp real, transformata Fourier,
transformata Wavelet, evaluare interactiuni etc.)
2. stabilire interconexiuni intre functii : stabilire variabile globale program, apelarea
functiilor una de catre alta, dependenta executarii unei proceduri in functie de
rezultatul alteia
3. inglobare functii intr-o structura de tip GUI (Graphical User Interface), utilizand
toolbox-ul GUIDE (Graphical User Interface Development Environment) din mediul
de programare Matlab.
Figura.25 Programare grafica a interfetei utilizand modulul GUIDE
Platforma de monitorizare tehnica centralizeaza datele provenite din toate
subsistemele componente ale structurii E-RISC.Structura fereastrei principale,
denumita consola de monitorizare tehnica, este reprezentata in figura urmatoare.
2011 www.erisc.ro Etapa - 4
58
Figura. 26 Consola monitorizare tehnica E-RISC
In cazul aparitiei unui eveniment, atat in ceea ce priveste structura software/
hardware a subsistemelor componente, cat si in cazul starii de sanatate a unui
pacient, consola de monitorizare va afisa un avertisment conform cu tipul problemei
aparute. Pentru investigatii amanuntite, fiecare subsistem va fi prevazut cu o consola
de management proprie in care vor fi furnizate informatii suplimentare.In cazul
aparitiei unui eveniment medical vom deschide consola de management aferenta
pacientului afectat, in care vom putea evalua starea pacientului in timp real. In
aceasta noua fereastra vom avea acces la datele particulare ale pacientului, precum
varsta, antecedente medicale, Patternuri Deplasari, dar si la date actualizate in timp
real legate de starea actuala a pacientului: puls, respiratie, viteza de deplasare,
eveniment in acceleratie fizica precum si o localizare pe harta a pacientului pentru a
facilita o interventie rapida in caz de necesitate.
Consola de management aferenta starii pacientilor este o fereastra specifica,
reprezentand frontend-ul principal al personalului medical. Fiecare operator se
logheaza si ii este atribuit in mod automat, de catre infrastructura, un eveniment aflat
in curs. In aceasta consola se prezinta detalii despre originea evenimentului,
parametrii sistemului de achizite, scoring-ul dat de sistemele de analiza si prelucrare
din infrastructura si informatiile medicale aferente evenimentului.
2011 www.erisc.ro Etapa - 4
59
Figura. 27 Consola management pacient
Consola de management pacient permite atat vizualizarea prelucrarilor in timp
real (prelucrari online) cat si a prelucrarilor offline. Operatorul are posibilitatea de a
vedea semnalul prelucrat folosind butoanele pentru Transformata Fourier &
Transformata Wavelet, Evaluare interactiuni si Filtrare multidimensionala.Interfata
ofera, de asemenea, si posibilitatea de a vedea istoricul pacientului si Patternul
Deplasarilor.
Consola ofera trei actiuni posibile operatorului:
a) Urgenta medicala: acest eveniment este catalogat drept o urgenta si este
alertat personalul mobil de interventie. In acest caz se trimit automat date
despre eveniment personalului delegat cat si locatia de la care s-a generat
evenimentul, sau o aproximare a acesteia in cazul in care nu exista o locatie
precisa.
b) Trimite spre investigare suplimentara: in acest caz, operatorul nu considera
evenimentul apt pentru o interventie imediata, dar se doreste analizarea
suplimentara a acestuia si il trimite unui medic specialist.
2011 www.erisc.ro Etapa - 4
60
c) Evenimentul nu este o urgenta si a fost generat datorita unor alti factori.
Descriere algoritm program
La baza realizarii acestei interfete grafice sta un program ce permite
preluarea datelor, testarea lor si apoi prelucrarea semnalelor obtinute in timp real.
Datele sunt citite din baza de date pas cu pas, pe masura inregistrarii in baza de
date. Fiecare linie preluata din baza de date este testata si prelucrata individual.
Pasii de desfasurare a algoritmului pentru preluarea si testarea datelor in timp
real sunt urmatorii:
1. Stabilire conexiune cu baza de date MySql;
2. Preluare date;
3. Testare date;
4. Construire vector de date valide;
5. Adaugare linie noua in matricea de prelucrare;
6. Testare matrice – semnalare aparitie eveniment;
7. Reprezentare graphic.
Pentru prelucrarea biosemnalelor exista algoritmi independenti ce se aplica
setului de date obtinut anterior. Prelucrarile biosemnalelor sunt prelucrari de tip off-
line, ce necesita stabilirea unui numar de parametrii suplimentari si sunt realizate pe
un set de date bine definit.
Functionalitate algoritm
Softul dedicat al subsitemului purtabil, pentru achizitia directa a datelor de la
pacient, ofera un set de date ce sunt trimise catre baza de date si preluate ulterior in
fereastra de lucru Matlab. Rolul pachetului software Matlab este de a prelucra datele
obtinute si de a genera o interfata pentru monitorizarea in timp real a
pacientilor.Asupra datelor obtinute se aplica diverse corectii pentru a putea fi utilizate
ulterior. Programul realizeaza corectii asupra urmatoarelor categorii de date: data de
inregistrare, valoarea parametrului RR si valoarea parametrului „heart beat number”
– corespunzator unei batai a inimii. Deoarece data de inregistrare oferita de
dispozitivul de monitorizare este exprimata in milisecunde, incepand cu anul 1970,
trebuie aplicata o corectie asupra acestei date pentru a putea permite o repezentare
2011 www.erisc.ro Etapa - 4
61
relevanta a datelor pe grafic.Un alt parametru important este RR-ul. Acest parametru
nu este furnizat in mod explicit de catre subsistemul purtabil, dar se poate obtine ca
o diferenta de timp intre doua inregistrari „heart beat time”. Subsistemul purtabil
ofera la fiecare inregistrare in baza de date un numar de 16 valori ale „heart beat
time”, astfel putem obtine la orice moment de timp ultimele 15 RR-uri inregistrate
anterior. O problema a dispozitivului o reprezinta lipsa unor valori ale „heart beat
number” din tabela de inregistrari. Acest parametru este util in calcularea RR-urilor
succesive.
Exemplu date oferite de dispozitivul purtabil:
Vector pentru header:
„version,dateTime,serial,stx,msgId,dlc,firmwareId,firmwareVersion,hardWareId,hard
wareVersion,batteryIndicator,heartRate,heartBeatNumber,hbTime1,hbTime2,hbTime
3,hbTime4,hbTime5,hbTime6,hbTime7,hbTime8,hbTime9,hbTime10,hbTime11,hbTi
me12,hbTime13,hbTime14,hbTime15,reserved1,reserved2,reserved3,distance,spee
d,strides,reserved4,reserved5,crc,etx,hasLocation,locationAccuracy,locationAltitude,l
ocationBearing,locationLatitude,locationLongitude,locationProvider,locationSpeed,lo
cationTime”
Vector de date:
„2,1322222078373,1,2,38,55,26,26161,80,25649,100,102,74,16065,15477,14889,14
317,13729,13141,12565,11989,11405,10829,10257,9673,9085,8497,7905,0,0,0,16,
356,28,0,960,-115,3,true,2713.0,0.0,0.0,43.8948545,25.9941276,network,0.0,
1322212992334”
Pe baza acestor consideratii, am dezvoltat un algoritm de calcul ce permite
obtinerea unui set de date complet si corespunzator fiecarui moment de timp.
Prima parte a programului reprezinta o intializare a datelor medicale.Pentru
fiecare pacient in parte vor fi definite datele particulare: valorile pentru RR maxim,
RR minim, diferenta minima intre 2 RR-uri si diferenta maxima intre 2 RR-uri. Pe
baza acestor date se vor stabili conditiile de declansare a alarmei, in caz de
eveniment. Tot aici vor fi initializate si variabilele de lucru ale programului, precum
2011 www.erisc.ro Etapa - 4
62
punctul de pornire a citirilor din baza de date (daca dorim citirea valorilor anterioare
sau incepand cu momentul actual de timp), timpul de asteptare intre 2 citiri
succesive de date etc.
Figura.28 Initializare date pacient
Dupa stabilirea caracteristicilor particulare pentru fiecare pacient, programul
se va conecta la baza de date MySql pentru a prelua datele in vederea prelucrarii
lor.Programul realizeaza conexiunea cu baza de date printr-un connector de tip java
(mysql-connector-java-5.1.13-bin). Dupa conectarea la baza de date, in program
este inclusa o subrutina pentru a verifica statutul conexiunii.Conexiunea poate fi
disponibila sau indisponibila (datorita unor cauze tehnice – defectiune server, lipsa
conexiune internet etc.). Starea conexiunii este utila in semnalizarea unor avarii ce
pot aparea independent de functionarea programului.
Inainte de inceperea citirii propriu-zise din baza de date, vom prelua prima
valoare inregistrata si vom stabili un punct de plecare, o intializare a datelor. Acest
2011 www.erisc.ro Etapa - 4
63
pas este necesar deoarece programul realizeaza o diferenta intre 2 inregistrari
succesive, pentru validarea datelor si obtinerea unui RR corespunzator.
Dupa incheierea etapei de initializare a tuturor datelor, avem un ciclu repetitiv
de tip while care se va executa continuu, pentru o monitorizare permanenta a
datelor. Acest ciclu va contine urmatoarele etape:
a. verificarea liniei nou adaugate in baza de date;
b. verificarea elementelor de pe linia nou adaugata si prelucrarea lor;
c. compunerea vectorului ce urmeaza a fi inserat in matricea de analiza;
d. actualizarea matricei de analiza si testarea aparitiei evenimentelor;
e. afisarea graficului actualizat cu ultimele valori.
Programul este setat sa permita o pauza intre citiri succesive din baza de
date. Aceasta pauza este setata „by default” cu valoarea de o secunda. Pauza este
necesara pentru a asigura un timp suficient pentru achizitia datelor si inregistrarea
valorilor in baza de date.
a. Verificarea liniei nou adaugate in baza de date
Aceasta procedura se realizeaza pentru a ne asigura ca nu vom citi o linie
fara elemente sau cu elemente nule.In cazul in care aceasta conditie nu este
indeplinita, programul se opreste si asteapta inserarea unei valori noi in baza de
date. Aceasta conditie este utila in cazul opririi transmisiei de date si reluarii acesteia
dupa un anumit interval de timp. Programul verifica continuu, la un interval de timp
prestabilit, daca s-au adaugat valori noi in baza de date, iar odata cu inserarea unei
noi valori, se va relua ciclul.
b. Verificarea elementelor de pe linia nou adaugata si prelucrarea lor
La citirea unei linii noi din baza de date, inainte de inserarea acesteia in
matricea de prelucrare vom efectua cateva teste pentru a ne asigura ca datele
furnizate sunt valabile. Primul test care se va realiza este acela pentru „heart beat
number”. Acest parametru reprezinta numarul aferent al unei batai a inimii.
Parametrul reprezinta un indicator pentru obtinerea de valori consecutive ale RR-
2011 www.erisc.ro Etapa - 4
64
ului. In cazul in care se observa lipsa unei valori a „heart beat number”, vom cauta
valoarea RR-ului pe una dintre coloanele urmatoare.
Figura de mai jos reprezinta un exemplu de date brute provenite de la
subsistemul purtabil. Putem observa pe coloana heartBeat aferenta parametrului
„heart beat number”, lipsa valorii 148. Pentru aceasta valoare, vom avea inserat in
linia elementului 149 un timp suplimentar „heart beat time”, in functie de care vom
putea calcula RR-ul corespunzator valorii cu numarul 148. Deci, la citirea din baza
de date a liniei ce contine bataia inimii cu numarul 149, vom introduce in matricea de
analiza 2 linii, cu elementele corespunzatoare valorilor 148 si 149.
Figura.29 Modul de inregistrare a datelor de catre subsistemul portabil
Analog vom proceda si in cazul unei diferente mai mari intre date. Diferenta
intre 2 valori ale parametrului „heart beat number” ne indica numarul de valori
consecutive ale RR-ului ce lipsesc si trebuie recuperate din coloanele suplimentare.
c. Compunerea vectorului ce urmeaza a fi inserat in matricea de analiza
Deoarece in baza de date MySql avem un numar mare de date ce nu sunt
necesare, vom insera in matricea de analiza doar datele direct prelucrate. Si anume,
vom calcula pentru fiecare inregistrare valoarea RR-ului si nu vom mai introduce in
matricea de analiza cele 16 coloane pentru „heart beat time”. In cazul lipsei unei
valori a parametrului „heart beat number”, vom insera simultan cele 2 valori primite
2011 www.erisc.ro Etapa - 4
65
sub forma a 2 vectori.Analog vom proceda si in cazul in care vom semnala 3 sau mai
multe valori lipsa.
d. Actualizarea matricei de analiza si testarea aparitiei evenimentelor
La acest pas al algoritmului, programul apeleaza o subrutina ce actualizeaza
matricea de parcurgere a bazei de date. Dupa obtinerea matricei actualizate la pasul
„i” corespunzator ciclului, pentru acest pas se va testa aparitia evenimentelor, pe
baza valorilor stabilite pentru declansare alarma. Daca se va sesiza aparitia unei
nereguli, se va trimite un semnal de avertisment spre consola de monitorizate
tehnica, de aici urmand ca personalul tehnic sa distribuie evenimentul pentru studiu
unui operator.
e. Afisarea graficului actualizat cu ultimele valori
Afisarea graficului se va realiza in consola de management, numai in
momentul in care aceasta va fi activa pentru studiul unui pacient. Matricea de
parcurgere a datelor va avea o dimensiune corespunzatoare ultimelor 10 minute si
se va actualiza in timp real. Graficul realizat va introduce mereu ultima valoare si
simultan o va sterge pe prima. Actualizarea graficului se face in timp real, odata cu
inserarea de noi elemente.
Figura.30 Reprezentare in timp real a valorilor pentru parametrul RR
2011 www.erisc.ro Etapa - 4
66
Prelucrari offline ale semnalelor – Software medical
Programul software permite realizarea de prelucrari suplimentare ale
semnalelor obtinute.Aceste prelucrari se pot realiza cu ajutorul optiunilor prezente in
consola de management pacient.In aceasta consola de management avem
urmatoarele optiuni:
1. Transformata Fourier & Transformata Wavelet;
2. Evaluare interactiuni;
3. Filtrare multidimensional.
Concluzii
Softul specializat dezvoltat permite atat o preluare in timp real a datelor,
cat si o prelucrare in timp real a acestora. In realizarea acestui obiectiv, un rol
important l-a avut utilizarea conceptului de matrice dinamica.Aceasta a permis
studiul unei ferestre de timp, actualizata cu fiecare inregistrare nou citita, si
prelucrarea in timp real a datelor precum si realizarea unei functii FFT in timp
real.
2011 www.erisc.ro Etapa - 4
67
A4.2 Realizare elemente de testare medicala (P1 – SCUB)
Deoarece aceste analize suplimentare ale semnalelor necesita definirea unor
parametrii specifici, vor fi efectuate offline. La apasarea butoanelor corespunzatoare
acestor prelucrari, softul va genera fisiere cu valorile inregistrate in minutele
anterioare apasarii butonului. Aceste fisiere generate de catre software, vor contine
un numar de date suficient de mare pentru a putea realiza o analiza concludenta.
Lungimea acestor fisiere depinde de perioada de timp pentru care dorim sa
efectuam analiza (spre exemplu, dorim o analiza pentru ultimele 10 minute). Durata
de timp reprezinta un parametru ce se va configura la initierea functionarii
programului.
1.Transformata Fourier & Transformata Wavelet
Rularea programului lansat din interfata generala va avea urmatoarele etape: Etapa 1: Constituirea transformatei Wavelet in 10 voci pe octava incepand cu semnalul original:
Figura.31 Constituire Wavelet din RR - ECG–Semnal original J= 5 octave;M=10 voci
Figura. 32 Voce in desfasurare cu cele 5 octave
2011 www.erisc.ro Etapa - 4
68
Etapa 2. Constituirea transformatei Fourier din seria RR
Figura. 33 Transformata Fourier
Etapa 3. Constituirea transformatei Wavelet din seria RR in 256 nuante gri
Figura. 34 Exemplu Transformata Wavelet 3D realizata in 256 nuante de gri
2. Evaluare interactiuni
Programul de evaluare interactiuni a fost conceput pentru o analiza complexa a
matricei wavelet.
In acest sens se pot evalua:
- Interactiuni in benzile de frecventa LF-VLF si LF-HF;
- Calcul maxim absolut a magnitudinii;
- Functii de filtrare selectiva a magnitunii;
- Detectie „eveniment unic”.
Detectia evenimentului unic este vitala in urmatoarele cazuri:
2011 www.erisc.ro Etapa - 4
69
- Evenimentul unic apare in momentul in care interactiunea intre benzile de
frecventa proprii ECG depasesc un anumit nivel critic. Este atunci susceptibila
prezenta artefactelor in sistem, fapt care ne duce sa verificam buna functionarea
a intregului lant de detectie a artefactelor. Altfel spus, folosim „Evenimentul Unic”
ca mijloc de calibrare a sistemului de detectie artefacte.
- Validarea amplasarii corecte a senzorilor. Este astfel folosit ca mijloc de reglare
critica pentru “inidicele relativ de diferenţiere” (scoring) între înregistrarea curentă
(la momentul k) şi cea iniţială (la momentul 0).
3. Filtrare multidimensionala
Acest tip de filtrare realizeaza evaluarea nivelului de zgomot din semnal
functie de zona acestuia.Filtrarea digitala este realizata in SP (subsistemul purtabil)
este permisiva datorita resurselor energetice si de procesare reduse la nivelul
acestuia. In plus multitudinea fenomenelor care pot cauza unui sistem purtabil o
interferenta in semnalul util face ca o evaluare a nivelului de zgomot din semnal in
zona subsistemului de prelucrare la distanta, sa fie necesara.
Scopul acestei post-procesari este de a evalua:
- Daca este necesar aplicare unui filtru post-procesare;
- Ce tip de filtru trebuie aplicat (daca este necesar);
- Ce parametrii trebuie sa aiba acest filtru.
Secventa de programare Matlab:
[x2,x1,x3] = ndgrid(6:14,40:55,1:4);
slice(x1,x2,x3,S,[45,50],14,[2,4]);
Nivelul de zgomot din semnal se face pe o scala de culoare.
Dificultati aparute
La realizarea structurii software pentru prelucrarea in timp real a datelor,
dificultatea majora aparuta a fost data de structura datelor provenite de la
2011 www.erisc.ro Etapa - 4
70
subsistemul purtabil – SP. Configurarea softului de achizitie si prelucrare date a fost
realizata astfel incat sa acopere toate situatiile posibile pentru inscrierea datelor in
baza de date MySQL.
Astfel, in timpul functionarii normale a dispozitivului SP, putem intalnii
urmatoarele situatii:
-lipsa uneia sau a mai multor valori a parametrului „heart beat number”;
-dublarea sau inregistrarea multipla a unei valori a parametrului „heart beat number”,
insotita de lipsa datelor din momentul dublarii;
-oprirea dispozitivului SP si aparitia unei diferente mari de timp intre inregistrari;
- inregistrarea unui eveniment unic – cauzat de plasarea necorespunzatoare a
senzorilor;
- inregistrarea de valori eronate in baza de date – format necorespunzator al datelor.
Produsul software dezvoltat a fost configurat pentru a trata corespunzator
toate aceste nereguli aparute in inregistrarea datelor, semnalizand astfel problemele
legate strict de anomalii ale semnalului RR provenit de la pacient si nu erori cauzate
de modul de intregistrare al subsistemului purtabil.
Concluzii
O etapa importanta in instalarea sistemului E-RISC o reprezinta
calibrarea produsului software.Aceasta etapa presupune setarea unor
parametrii specifici fiecarui pacient in parte, pe baza istoricului medical.
Solutia software propusa este puternic personalizata pentru caracteristicile
specifice fiecarui pacient.
2011 www.erisc.ro Etapa - 4
71
A4.3 Realizarea automatizarilor (P3 – IPA)
Procesul de automatizare consta in trei etape:
- Realizarea citirii automate din baza de date;
- Rejectia automata a artefactelor;
- Alarmarea automata pentru aparitia unui eveniment.
Pentru prima etapa s-a utilizat un ciclu de tip while conditionat specific, astfel
incat sistemul sa preia informatiile din baza de date MySQL, de indata ce acestea
sunt inscrise. Ciclul este configurat pentru a retine ultima linie care a fost preluata din
baza de date si a cere linia urmatoare pana ce aceasta va fi primita.
Realizarea rejectiei automate s-a facut pe baza functiei Matlab descrise
anterior, in paragraful A4.1.2.In figura de mai jos este prezentata functia ce sta la
baza semnalizarii evenimentelor. Programul va testa fiecare valoare RR primita
pentru a stabili daca se incadreaza in limitele normale, specificate pentru fiecare
pacient la initializarea programului.
Figura. 35 Functie Matlab pentru semnalizarea automata a aparitiei evenimentelor
2011 www.erisc.ro Etapa - 4
72
A4.4 Realizarea structurilor de comunicatie si software aferent (P4 –
INOE, P5 – IOEL)
Realizare structuri de comunicatie : Fibra optica
Pentru a asigura redundanta legaturii dintre operatorul GSM si serverele E-
RISC, se utilizeaza 2 legaturi, asigurate de doua trasee de fibra optica distincte.
Fibra optica a fost aleasa din cauza securitatii sporite pe care aceasta o ofera
in raport cu perturbatiile electromagnetice si eventualale tentative de brese in
securitatea sistemului. Cele doua fibre optice vor fi legate printr-o conexiune BGP
care va realiza trecerea in mod automat, in caz de avarie, pe una din legaturile
existente.
Solutia adoptata
Legatura intre sediul din Strada Blandesti si cel de pe Calea Vacaresti s-a
facut utilizand traseul de metrou intre statiile Piata Sudului si Aparatorii Patriei,
backup-ul fiind asigurat de un al 2-lea traseu ocolitor al lacului Vacaresti (zona Vitan
- Barzesti).
Ambele legaturi sunt conectate in regim redundant, timpul de comutare intre
fibre ajungand la maxim 3 secunde.Acest lucru este asigurat prin utilizarea
protocolului BGP, rulat de echipamente dedicate produse de CISCO Systems, aflate
in cele doua locatii.
Firewall: se afla plasat inaintea Serverului de Comunicatii si Autentificare si
este punctul de legatura intre reteaua interna E-RISC si exterior.
Acesta restrictioneaza accesul dinspre reteaua de Internet spre SPD, avand
grija sa permita traficul nestingherit intre ST si SPD.In acelasi timp monitorizeaza
conexiunile interne spre exterior. Toate informatiile sunt stocate in log-uri ce pot fi
agregate alaturi de cele generate de celelalte echipamente, intr-un punct central al
retelei pentru un manangement eficient.
Firewall-ul detecteaza orice incercare de intruziune din exterior si
semnalizeaza administratorului de retea evenimentele, putand sa blocheze sursa
atacurilor in scenarii predefinite.
2011 www.erisc.ro Etapa - 4
73
Router-ul: este dispozitivul prin intermediul caruia se face conexiunea la
internet a Subsistemului de Prelucrare la Distanta, si implicit la Subsistemul de
Transmitere.
In configuratia utilizata in implementarea E-RISC, router-ul indeplineste 2
roluri:
- Comutarea legaturii la internet de pe fibra principala pe cea secundara in cazul
intreruperii comunicatiei
- Asigurarea accesului la internet pentru Subsistmul de Prelucrare la Distanta. In
acest caz router-ul are rolul de “gateway” (pasarela). Un gateway asigura
interfatarea mai multor noduri de retea utilizand protocoale diferite, si poate
opera la orice nivel de retea.
Peeringul BGP se va realiza utilizand numere AS private, deoarece nu este
necesar sa fie vizibil in internet. De asemenea, legaturile acestea vor fi monitorizate
si orice eveniment va fi logat. Se va utiliza suita de programe Quagga, versiunea de
Linux, pentru a asigura conectivitatea BGP. Deoarece nu va fi nevoie de load
balancing nu se va solicita decat ruta default de la partenerul de trafic.
Serverul de Comunicatii si Autentificare: face legatura intre subsistemul de
prelucrare la distanta si Subsistemul de Telecomunicatii.
Functiile de criptare PKI cu care au fost semnate pachetele de date trimise de
ST catre serverele E-RISC ruleaza si pe Serverul de Autentificare, fiind primul
proces care intervine asupra datelor primite si asigura certificarea integritatii datelor
precum si originea certa a acestora.
Mentionam ca stringurile de tip private KEY sunt preprogramate de echipa
tehnica in subsistemul ST si in Serverul de Comunicatii si Autentificare – solutia
aleasa de echipa tehnica este aceea cu chei asimetrice de tip cheie publica-cheie
privata.Evidenta acestora precum si o autoritate de certificare interna CA, ruleaza pe
Serverul de Comunicatii si Autentificare nefiind necesar accesul la o alta autoritate
exterioara sistemului, in conditiile in care reteaua de comunicatii ruleaza ca o retea
privata fara acces la internet sau la surse externe de certificare.
2011 www.erisc.ro Etapa - 4
74
Pachetul software de autentificare dispune in plus si de o lista de MAC-uri
valide pe baza carora raspund sau nu pachetele de date primite, astfel incat, chiar si
daca reteaua operatorului GSM este compromisa, sa existe o functie suplimentara
de gestiune a actorilor din reteaua privata de tip VLAN implementata la nivelul retelei
operatorului GSM.In concluzie pachetele de software de gestiune procese de
comunicatii asigura securitatea comunicatiilor si in plus coopereaza la autentificarea
corespondentilor.
Figura.36 Rack servere
Toate echipamentele sunt conectate la sisteme UPS, pentru a preveni
intreruperea functionarii in timpul caderilor de tensiune.Durata de functionare pe
2011 www.erisc.ro Etapa - 4
75
baza UPS-urilor este de 8 ore. Pentru o durata mai mare de 8 ore se utilizeaza un
generator.
Fig.37 Baterie UPS-uri
Switch management 1Gb – FO
Suporta: consola CLI, Telnet, web, SNMPv1/v2/v3, RMON, TFTP, Port
Mirroring, BootP, and DHCP. De asemenea suporta o varietate de optiuni de
management de trafic: 802.1x, Bandwidth Control, Broadcast Storm Control, etc.
Switch-ul de management cuprinde 24 de porturi de fibra optica, permitand
extinderea cu usurinta a echipamentelor ce pot fi conectate (servere aditionale,
echipamente de backup, etc).
Fig.38 Switch fibra optica
2011 www.erisc.ro Etapa - 4
76
Serverul de stocare,Serverul de Anamneza pacienti, Serverul de Pattern
Deplasari si Serverul de Localizare GPS, au fost toate comasate intr-un singur
server fizic.
Serverul fizic ruleaza un sistem de operare bazat pe Linux, impreuna cu
serverul de baze de date MySQL.
S-a optat pentru utilizarea MySQL deoarece este cel mai popular SGBD
open-source la ora actuala.
MySQL este un sistem de gestiune a bazelor de date relational, produs de
compania suedeza MySQL AB si distribuit sub Licenta Publica Generala GNU.
Am ales MySQL deoarece:
- Este scalabil si flexibil. Bazele de date pot ocupa mai multi terabiti de
informatie, iar accesul la aceste baze de date se poate face de pe o
varietate de platforme de programare si sisteme de operare;
- Performanta : indiferent daca este vorba despre un numar mare de date
sau de un numar mare de operatii, MySQL dispune de numeroase
mecanisme ce asigura rezultatul dorit intr-un timp foarte mic;
- Disponibilitate : bazele de date pot functiona in regimuri master-slave, se
pot replica, pot fi utilizate intr-un cluster;
- Securitate: mecanisme de acces securizat la bazele de date, arhitectura
bazata pe useri si drepturi.
Fig. 39 Structura unui tabel din baza de date MySQL
2011 www.erisc.ro Etapa - 4
77
Structura de Anamneza Pacienti consta in date privind istoricul medical al
fiecarui pacient: fise pacienti si valorie medicale standard ce vor fi comparate cu
citirile transmise de la ST.
Structura de Patternuri Deplasari - contine istoricul de deplasari
(coordonate GPS) si modele de deplasari privind traseele acestora.Serverul de
localizare GPS / GSM a fost integrat tot aici, deoarece Subsistemul de
Telecomunicatii permite in acest stadiu incorporarea informatiei privind localizarea
GPS in pachetele de date transmise.
Patternul de deplasari se bazeaza pe un algoritm de scoring in care locatiile
cele mai probabile sunt calculate si afisate in functie de ultima pozitie si prezenta
unui traseu anterior realizat de subiect.
Pentru afisarea pozitiei curente, tot ceea trebuie sa facem, este sa introducem
coordonatele curente intr-o aplicatie de afisat pozitia geografica, de tipul Google
Maps.
Figura.40 Localizare GPS
2011 www.erisc.ro Etapa - 4
78
Concluzii:
• Transmisia sigura a datelor intre Subsistmul de Transmisie si Serverul
de Comunicatii si autentificare este asigurata de chei asimetrice de tip
cheie publica-cheie privata.
• Securitatea in cadrul Subsistemului de Prelucrare la Distanta este
asigurata de utilizarea firewall-ului si a VLAN-urilor.
• Pentru a stoca informatia cat mai eficient se utilizeaza un sistem de baze
de date (MySQL in cazul de fata).Un singur tabel poate contine chiar si 8
terabytes de informatie. Sistemul de securitate oferit cuprinde
restrictionarea datelor ce pot fi interogate, la nivel de tabel, camp,
utilizator.
• In cazul aparitiei defectiunilor privind alimentarea cu energie electrica,
sistemul poate rezista 8 ore pe bateriile de UPS-uri, sau mai multe zile,
alimentat de un generator.
2011 www.erisc.ro Etapa - 4
79
A4.5 Realizare structuri hardware de achizitie date (P6 – ELCOS)
Realizarea elementelor hardware de achizitie date a fost realizate in peste 14
versiuni constructive pentru o parte din submodule. Problemele clasice de proiectare
, realizare si testare in cadrul unui proiect de cercetare care implica tehnologie de
ultima ora au fost accentuate de multiplele realocari de fonduri care au transferat
catre finalul proiectului executia subansamblelor necesare evaluarii fiecarui aspect in
conditiile in care aceasta tehnologie este o noutate pentru cercetarea romaneasca.
La inceput PCB-ul de test arata ca in imaginea de mai jos.
Figura.41 Structura PCB intial
Implicarea unor colective universitare precum si transferul catre cativa
parteneri a unor probleme tehnologice sau stiintifice (realizarea unor algoritmi
speciali sau manufacturarea PCB (circuitelor imprimate) pentru proiect (realizate in
Bulgaria la Plovdiv), pentru ca in Romania costurile erau prohibitive pentru SMD din
clasa micro au adus un plus tehnologic si stiintific proiectului.
Datorita achizitiilor din vara si toamna anului 2011 colectivul nostru a reusit
sa intre in posesia kitului de dezvoltare si hardware-ului aferent acestuia pentru
Bluetooth 4.0 iar in noiembrie 2011 a terminalului mobil Motorola RAZR care este la
data aceasta, singurul smartphone cu sistem de operare Android care ofera
Bluetooth ULP.
2011 www.erisc.ro Etapa - 4
80
Figura. 42 Centura test si elemente componente
Fara acest terminal mobil echipa noastra putea testa comunicatiile BLE
(Bluetooth Low Energy) doar intre echipamentul purtabil si un laptop care dispunea
de un stickusb BLE achizitionat odata cu kit-ul de dezvoltare.
Pentru testarea comunicatiilor dintre SP si laptop s-a folosit pachetul software
furnizat de Texas Instruments pentru dezvoltarea aplicatiilor BLE.Software-ul de
dezvoltare folosit pentru acesta platforma hardware este Code Composer C/C+
Studio impreuna cu emulatoarele livrate de Blackhawk DSP.
Figura.43 Motorola Droid RAZR 2-XT910
Motorola Droid RAZR 2-XT910
Retea 2G: GSM 850 / 900 / 1800 / 1900;
Retea 3G: HSDPA 850 / 900 / 1900 / 2100
Dimensiuni 130.7 x 68.9 x 7.1 mm; Greutate: 127 g
2011 www.erisc.ro Etapa - 4
81
EcranTip: Super AMOLED capacitive touchscreen, 16M culori, 540 x 960 pixeli, 4.3
inchi
Memorie interna: 16 GB (8GB valabili), 1GB RAM
Slotcard de memorie: microSD, pana la 32 GB
Transfer de date: GPRSClasa 12; EDGEClasa 12; 3GHSDPA 14.4 Mbps, HSUPA
5.76 Mbps WLAN Wi-Fi 802.11 b/g/n, dual-band, DLNA, Wi-Fihotspot;
Bluetooth: Da, v4.0 cu LE+EDR
USB: Da, microUSB v2.0
Sistem operare: Android OS, v2.3.5 (Gingerbread)
Procesor: 1.2 GHz dual-core Cortex-A9 CPU, PowerVR SGX540 GPU, TI OMAP
4430
Telefonul Motorola Android RAZR 2 este singurul sistem Android care ofera
BLE si care in plus ofera si un instrument software de dezvoltare specializat
MOTODEV STUDIO.
Concluzii
Platforma hardware a proiectului se bazeaza pe TI MSP430 care desi
este un microcontroller lansat in 2004 a devenit incepand cu anul 2010 cel mai
utilizat microcontroller pentru aplicatii medicale (acest lucru dovedind corecta
apreciere a echipei noastre in anul 2008.Pachetul hardware format din
telefonul Motorola XT910, sistemul portabil cu MSP430 si echipamentul de
calcul specializat din sediul coordonatorului proiectului.
2011 www.erisc.ro Etapa - 4
82
A5. Experimentare sistem pacient si functii de localizare
A5.1 Experimentare sistem pacient; (CO-WING)
Teste SP si ST
Testele s-au efectuat folosind 3 tipuri de dispozitive mobile: 2 telefoane si o
tableta de 10.1”.Pentru fiecare dintre acestea, rezultatele au fost aceleasi.Prezentam
in continuare testul efectuat cu ajutorul tabletei deoarece este mai concludent din
punct de vedere vizual.
Figura. 44 Materiale si echipamente auxiliare folosite in cadrul subsistemului
purtabil si de telecomunicatii
Dupa cum se poate observa in figura (de mai sus) s-au folosit mai multe tipuri
de sisteme de achizite parametrii vitali (Polar si Texas Intruments) pentru a realiza o
coparatie in aceasta zona.Deasemenea se pot observa CD-urile continand kiturile de
dezvoltare folosite, kitul pentru semnalul ECG de test, acumultorul si incarcatorul
modelului experimental.In figura 45 sunt echipamentele efectiv folosite in test.
2011 www.erisc.ro Etapa - 4
83
Figura.45 Echipamentele folosite la test
In prima etapa s-a montat banda elastic (figura 50) si s-a initializat legatura
prin Bluetooth intre device-ul purtabil (SP) si cel de telecomunicatii (ST), care in
acest caz a fost tableta de tip Samsung Galaxy tab 10.1”
Software-ul din ST a fost instalat dupa cum se poate observa pe desktopul
ST, versiunea 4 beta. (figura 46)
Figura.46 Versiune program E-RISC
Din momentul in care conexiunea se stabileste, programul este lansat (figura
47) si sunt afisate cele 3 ferestre care au fost programate pentru acest experiment.
Se poate dezvolta, daca cerinta exista, orice alt tip de prezentare a semnalului
prelucrat.Ferestrele reprezintă 3 situatii on-line: semnal ECG original (jos-figura 47),
2011 www.erisc.ro Etapa - 4
84
statistica de tip histograma a intervalelor RR (mijloc- figura 47), distributie in timp pe
fereastra de 30 secunde a intervalelor RR (sus – figura 47).
Figura.47 Lansare executie program
Sunt monitorizate deasemenea, prin interfata programului numarul de pasi,
distanta parcursa si numarul de calorii consumate.
Figura 48 Afisare semnal ECG si statistica paliere RR
Resursele alocate de sistemul Android 3 sunt de cca. 800 KB asa cum se
poate observa in figura 49.
2011 www.erisc.ro Etapa - 4
86
A5.2 Experimentare medicala, solutii de optimizare (P1 – SCUB)
Testele medicale s-au efectuat folosind o banda de alergat pentru simularea
miscarii, unui subiect sanatos din punct de vedere cardiologic.
Figura 50 Pozitionarea centurii pe pacient
Prelucrare statistica a datelor
Studiul datelor primite de la subsistemul purtabil (SP) prin intermediul
subsistemului de transmisie (ST) reprezinta un pas important deoarece pe baza
acestora s-a realizat algoritmul de prelucrare si analiza in timp real. Realizarea unei
analize corecte a biosemnalelor provenite de la pacient se bazeaza pe
corectitudinea datelor obtinute prin procesul de prelucrare. Din acest motiv s-a
acordat o atentie deosebita procesului de extragere a informatiilor utile din datele
primite.
In continuare am realizat un studiu statistic asupra structurii datelor
achizitionate de subsistemul purtabil pentru a evalua modul in care sistemul E-RISC
se comporta in vederea obtinerii unei serii RR corecte. Pentru intocmirea acestui
studiu am ales un esantion de 19 291 de inregistrari din baza de date. Fiecarei
inregistrari i s-a alocat un indice suplimentar, care reprezinta dinferenta dintre „heart
beat number-ul” inregistrarii curente si cel al inregistrarii precedente, denumit in
continuare indice de diferenta.
Pentru realizarea unui studiu cantitativ al datelor am ales reprezentarea
acestora sub forma unei diagrame de tip boxplot (figura 51).
2011 www.erisc.ro Etapa - 4
87
Figura.51 Reprezentare de tip boxplot
Diagrama boxplot ofera informatii privind tendinta centrala si forma distributiei
studiate.O diagramă de tip boxplot reflecta grafic rezumarea prin cele 5 valori ale
unei distributii: valoarea minima, prima quartila, mediana,a treia quartila si valoarea
maxima. Graficul va prezenta deasemeni si valorile aberante sau valori situate mult
în afara distributiei.
Astfel, pentru esantionul ales am obtinut distributia de valori din figura.
Figura. 52 Diagrama de tip boxplot pentru distributia datelor inregistrate
2011 www.erisc.ro Etapa - 4
88
Se poate observa ca majoritatea inregistrarilor obtinute se incadreaza in una
din situatiile urmatoare
- RR-uri succesive (indice de diferenta 1);
- lipsa unui RR intre 2 inregistrari succesive (indice de diferenta 2).
Pentru a avea o imagine completa asupra datelor culese, vom realiza si o
histograma pentru acest esantion. Histograma reprezinta un grafic de frecventa
simpla prin care se poate exprima participarea procentuala a unor entitati, figurata cu
ajutorul unor coloane verticale a caror latime corespunde cu un interval dimensional
iar inaltimea acestora corespunde cu frecventa de aparitie a entitatilor in esantionul
de proba. Histograma realizata pentru esantionul ales este reprezentata in figura
urmatoare.
Figura.53 Distributia RR pentru un esantion de 19000 de valori
Distributia din figura 53 a fost realizata pentru un esantion mare de valori
pentru a obtine o imagine de ansamblu a frecventei de aparitie a inregistrarilor in
functie de indicele de diferenta. Dupa cum observasem si anterior, in diagrama de tip
boxplot, majoritatea inregistrarilor au un indice de diferenta de valoare 1 sau 2. Din
histograma realizata in figura de mai sus, putem observa ca inregistrarile cu indice
2011 www.erisc.ro Etapa - 4
89
de diferenta 2 au o pondere importanta, de circa 2 treimi din numarul inregistrarilor
totale.Inregistrarile cu indice de diferenta 0 (inregistrari dublate in baza de date), cele
cu indice 3 si 4 au ponderi foarte mici in raport cu numarul total de
valori.Inregistrarile cu indice de diferenta de valoare 5 sau mai mare apar foarte rar
(una la 50 000 de inregistrari sau mai mult) si nu vor fi luate in considerare.
Raportandu-ne la un numar atat de mare de inregistari am putea spune ca nu este
necesara nici studierea inregistrarilor cu indice de diferenta de valoare 0, 3 si 4.
Pentru a stabili daca acest lucru este necesar, vom considera un esantion mai
mic de 250 de inregistrari. Pentru acesta am obtinut histograma din figura
urmatoare.
Figura. 54 Histograma realizata pentru un esantion de 250 de inregistrari
Pentru acest esantion putem observa ca ponderea inregistrarilor cu indice de
diferenta 1 si 2 se pastreaza, si anume cele cu indice 1 vor fi circa 2/3 din numarul
total iar cele cu indice 2, vor avea o pondere de 1/3. Putem observa ca in acest caz
ponderea inregistrarilor cu indice 0,3 si 4 devine importanta in raport cu numarul total
de inregistrari. Pentru a ilustra acest lucru vom restrange progresiv acest esantion
ales.
2011 www.erisc.ro Etapa - 4
90
Figura. 55 Histograma realizata pentru un esantion de 167 inregistrari
Pentru un esantion de 60 de inregistrari precum cel din figura de mai jos,
putem observa ca totalul inregistrarilor cu indice 0,3 si 4 reprezinta circa 10 % din
numarul total de inregistrari.Esantionul ales spre analiza mai prezinta o
particularitate si anume, inregistrarile cu indice de valoare 2 au o pondere aproape
egala cu cele cu indice de difernta 1.
Figura.56 Histograma realizata pentru un numar de 60 de inregistrari
2011 www.erisc.ro Etapa - 4
91
Concluzie
Ignorarea inregistrarilor cu indice diferit poate cauza nedectarea unui
eveniment cardiac, in cazul aparitiei unui palier constituit numai cu inregistrari
cu indici de valori 0, 3 si 4. Din acest motiv, in cadrul algoritmului de
prelucrare a datelor sunt analizate si prelucrate acoperitor, toate datele pentru
indici de diferenta de pana la valoarea 6.
Figura. 57 Reprezentarea grafica in timp real a RR-urilor
2011 www.erisc.ro Etapa - 4
92
Figura de mai sus ilustreaza principiul functionarii achizitiei de date in timp
real.Cele trei grafice sunt captate la momente de timp consecutive.Putem observa in
prima parte introducerea unui RR nou, cu numarul 50.La urmatoarea citire (graficul 2
din figura) se poate vedea inserarea unui element nou, cu numarul 51. La inserarea
unui element nou, elementele se deplaseaza pe afisajul grafic cu un pas spre
stanga. Astfel introducerea unui element nou pe grafic va genera eliminarea primului
element din stanga, si astfel actualizarea graficului pas cu pas. Afisarea graficului se
bazeaza pe principiul FIFO (First In First Out).
Figura. 58 Transformata Fourier obtinuta pentru pacient
Figura 58 reprezinta transformata Fourier pentru semnalul RR obtinut prin
preluarea datelor medicale ale pacientului.In aceasta figura se poate observa
formarea a trei benzi principale de frecventa.
Figura.59 Transformata wavelet 3D color
2011 www.erisc.ro Etapa - 4
93
In continuare sunt reprezentate analizele datelor realizate cu ajutorul softului
biomedical.
Figura. 60 Program Evaluare interactiuni
Figura.61 Reprezentarea interactiunilor intre benzile de frecventa LF-VLF
Figura. 62 Reprezentarea interactiunilor intre benzile de frecventa LF-HF
2011 www.erisc.ro Etapa - 4
94
Figura. 63 Reprezentare aparitie eveniment unic
Figura.64 Filtrare multidimensionala
2011 www.erisc.ro Etapa - 4
95
A5.3 Experimentare sistem pacient (P2 – UPB)
Experimentare comunicatii intre ST si SPD - Experimentarea metodei
comunicatiei prin FTP
Conexiunea intre telefonul Android si Serverul de stocare si prelucrare se face
prin internet, prin intermediul protocolului FTP.
File Transfer Protocol (FTP)- este un protocol de retea utilizat pentru
transferul fisierelor intre doua dispozitive, printr-o retea ce suporta protocolul TCP
(cum este internetul).Protocolul este construit astfel incat sa functioneze pe baza
unei arhitecturi de tip client-server si utilizeaza conexiuni diferite pentru comenzi FTP
si transfer de date.
Comunicatia dintre un client FTP si un server FTP se realizeaza astfel:
serverul FTP asteapta conexiuni, de regula pe portul 21 de la clienti. Conexiunile
realizate pe portul 21 sunt numite conexiuni de control, si raman deschise pe toata
durata sesiunii.Pentru realizarea efectiva a transferului de date, o a doua conexiune
este necesara, numita conexiune de date. Aceasta conexiune este fie deschisa de
server (de regula de pe portul 20) spre un port al clientului (acest mod fiind numit
activ, clientul putand sa accepte conexiuni din afara), fie deschisa de client spre un
port indicat de server (numit si mod pasiv, cand clientul este in spatele unui firewall).
Conexiunea de control este utilizata pentru administrarea sesiunii (comenzi,
detalii de identificare, transmiterea parolelor), modul de functionare fiind asemanator
cu o conexiune de tip Telnet.
Deoarece FTP nu este un protocol gandit sa fie securizat, este necesara
combinarea acestui protocol cu o forma de criptare. Unul dintre modurile de utilizare
este combinatia dintre TLS sau SSL si FTP.
Fisierele generate pe telefon, sunt transferate prin intermediul protocolului
FTP pe server.Acest lucru presupune rularea unui client FTP pe telefonul Android.
Rolul acestui client nu va fi doar transmiterea de date spre serverul de baze de date
ci si monitorizarea directorului in care se vor salva acestea.
Cu alte cuvinte, clientul FTP realizeaza sincronizarea dintre telefon si server,
aceasta fiind in sens unic (dinspre telefon spre server).Asfel, orice fisier nou creat pe
telefon va fi transmis prin FTP pe server. Intervalul de verificare pentru fiecare fisier
2011 www.erisc.ro Etapa - 4
96
nou aparut poate fi stabilit arbitrar, si este de preferat sa fie intre 5 si 15 secunde
pentru a avea o monitorizare “in timp real”.
Stocarea efectiva a informatiei presupune utilizarea unui server de baze de
date. S-a optat pentru utilizarea MySQL deoarece este cel mai popular SGBD open-
source la ora actuala.
Baza de date:
- Accepta conexiuni multiple: de la Aplicatia de Translatie (care o populeaza cu date)
si Serverul de Prelucrare.
- Contine mai multe tabele descrise mai jos:
- Tabel cu statistici (stats) privind resursele de sistem: incarcare procesor,
trafic, memorie disponibila, memorie ocupata, etc.
- Tabelele privind datele obtinute prin monitorizarea fiecarui pacient.
Acestea au urmatoarea structura:
Indice, DateTime, serial, batt, puls, hbn, hbTime1, hbTime2, locAcc,
gps_x, gps_y, provider
Tipul fiecarui camp:
Indice – int; dateTime - bigint
serial – int; batt - int
puls – int; hbn - int
btTime1 – int; btTime2 - int
locAcc – int; gps_x - double
gps_y – double; provider - int
Figura. 65 Informatii cuprinse in tabele de monitorizare
2011 www.erisc.ro Etapa - 4
97
Cu semnificatia:
Indice: indexul bazei de date, porneste de la 1 si se incrementeaza pentru fiecare
noua inregistrare.
Data: numar cu 13 cifre ce reprezinta data scrisa in formatul urmator: numarul de
secunde scurse din 1970.
Serial: contor pentru fiecare inregistrare realizata de aparatura de monitorizare, la
fiecare sesiune este initializat cu valoarea 0.
Puls: pulsul pacientului.
Hbn: contor pentru bataile inimii, se reseteaza la 0 dupa 255 de batai
htTime1: numar exprimat in milisecunde, reprezinta momentul in care a survenit o
bataie a inimii. Acest parametru ia valori intre 0 si 65535.
hbTime2: numar exprimat in milisecunde, reprezinta momentul anterior in care a
survenit bataia precedenta.Valorile sunt cuprinse intre 0 si 65535.
Diferenta dintre hbTime1 si hbTime2 reprezinta RR-ul curent.
locAcc - acuratetea locatiei GPS, exprimata in metri.
gpx_x - latitundinea, cu 6 zecimale
gps_y - longitudinea, cu 6 zecimale
Provider: reprezinta metoda prin care sunt obtinute datele de localizare: GPS sau
NETWORK (sateliti sau celule de comunicatie GSM)
Alte valori:
Acc_x - acceleratia in coordonata x
Acc_y - acceleratia in coordonata y
Acc_z - acceleratia in plan vertical
batteryIndicator – reprezinta nivelul bateriei subsistemului purtabil.
Pentru a realiza conversia datelor din fisiere in campuri de tabele ale bazei de
date au fost necesare 2 aplicatii.Una dintre ele, numita Aplicatie de Translatie citeste
datele din fisier si se conecteaza la baza de date MySQL pentru a le stoca, iar
cealalta are rolul de a lansa Aplicatia de Translatie la aparitia unui nou fisier intr-un
folder predefinit.
Pentru a supraveghea un director, in Linux avem suita de utilitare inotify-tools.
Acestea sunt construite in jurul unei facilitati a kernelului de Linux, facilitate ce
permite aplicatiilor sa fie notificate in cazul evenimentelor privind fisierele si
directoarele.
2011 www.erisc.ro Etapa - 4
98
Utilitarul incron (parte a intotify-tools) a fost ales pentru a se detecta prezenta
fisierelor transferate intr-un director predefinit prin intermediul protocolului FTP.
Detaliere incron: este reprezentat de un serviciu si o aplicatie pentru
manipularea unor table-uri (altele decat cele mysql). Serviciul supravegheaza
sistemul (apeluri de sistem) pentru evenimentele specificate in table-uri (creare a
unui fisier, modificare, redenumire, stergere, etc).
Folosire:
Pentru a introduce o monitorizare asupra dosarului populat prin tranfer FTP,
este necesara definirea a 3 parametrii: dosarul ce trebuie monitorizat, evenimentul,
si comanda de executat in cazul aparitiei evenimentului.
Exemplu:
/dosar_monitorizat IN_CLOSE_WRITE /home/erisc/./mysqltest3 $#
Explicatie:
/dosar_monitorizat - directorul pe care il monitorizam pentru fisiere nou create
IN_CLOSE_WRITE - eveniment declansat cand fisierul este inchis.
/home/erisc/mysqltest3 - comanda ce va fi realizata la aparitia evenimentului
$# - numele fisierului (care tocmai a fost creat in cazul nostru)
Cerinte de sistem: Linux kernel 2.6.13 sau mai nou (compilat cu optiunea inotify)
Aplicatia de Translatie:
• Este lansata de utilitarul de sistem incron, in momentul cand este creat un
nou fisier in directorul predefinit;
• Este scrisa in limbajul de programare C si utilizeaza un conector pentru
realizarea legaturii cu serverul MySQL;
• Primeste ca parametru fisierul ce trebuie citit (cu tot cu calea spre acesta)
pentru a fi inserat in baza de date;
• Parcurge fisierul linie cu linie, verifica si extrage elementele de care suntem
interesati din fiecare linie;
• Ignora header-ul, reduce din numarul de zecimale pentru GPS, inlocuieste
texul pentru provider cu un numar;
• Insereaza in baza de date elementele ce vor fi utilizate mai tarziu;
2011 www.erisc.ro Etapa - 4
99
• Inchide conexiunea cu baza de date. Acest lucru este necesar, deoarece in
cazul apelarii repetate a Aplicatiei de Translatie, se deschide de fiecare data o
noua conexiune.
Figura. 66 Jurnal prinvind operatia de inserare a datelor in BD
Printre datele prelucrate inainte de a fi inmagazinate in baza de date se
numara:
- Scurtarea numarului de zecimale din coordonatele GPS. Un numar de 5
zecimale inseamna o precizie de +/- 1 metru;
- Pentru coloana provider - modul in care sunt obtinute coordonatele GPS s-
a facut urmatoarea translatie: 1 pentru network (in cazul in care datele
sunt obtinute de la celulele GSM) si 2 pentru GPS (in cazul in care datele
sunt obtinute folosind satelitii GPS).
Figura.67 Formatul datelor inainte de a fi prelucrate
Imbuntatiri:
1. Inlocuirea metodei FTP ca mod de transmisie si datelor pe server. Aceasta
metoda se poate inlocui cu un mod mai eficient de transmisie si anume prin
conectarea directa a telefonului Android la baza de date MySQL.Astfel eliminam
clientul si serverul FTP, programul de monitorizare a unui director, programul de
citire din fisier si scriere in MySQL.
Conectarea directa a device-ului la baza de date MySQL mai presupune
modificari de genul:
- Datele vor fi validate pe telefon inainte de a fi trimise;
2011 www.erisc.ro Etapa - 4
100
- Datele vor fi prelucrate pe telefon inainte de a fi trimise;
- Ca avantaj se vor trimite doar datele de care sunt relevante, rezulta o
cantitate mai mica de date transferata;
- Un alt avantaj este eliminarea intarzierilor (verificarea la 5 secunde,
transferul fisierului, etc).
2. Integrarea unei arhitecturi de tip client-server. In actuala forma de functionare,
pentru fiecare pacient exista cate o tripleta de tipul: director supravegheat - aplicatie
de translatie - conexiune cu baza de date. Fiecare tripleta este independenta de
celelalte, numarul de conexiuni si numarul de aplicatii de translatie fiind egal cu
numarul de pacienti monitorizati. Intr-un scenariu client-server, exista o singura
aplicatie de translatie si o singura conexiune la baza de date.
Dificultati:
In actuala forma arhitectura Server FTP / Aplicatie de Translatie/ Server
Stocare este sensibila la exceptii survenite in cazul in care se sincronizeaza mai
multe fisiere simultan, din cauza latentelor mari, datorate aparitiei problemelor de
comunicare prin internet : pierdere semnal GSM, iesirea si revenirea din modul 3G al
telefonului, pierderea accesului la internet a serverului, etc.Acest fapt duce la
amanarea sincronizarii dintre telefon si server si reluarea acesteia cu transferul de
fisiere multiple. Serverul va incepe stocarea in BD a datelor imediat ce sincronizarea
se va fi reluata, dar pana atunci acestea nu vor fi disponibile in timp real, pentru a fi
preluate de Aplicatia de prelucrare.
2011 www.erisc.ro Etapa - 4
101
A5.4 Experimentare functii de localizare (P3 – IPA)
Prin experimentarea functiilor de localizare, s-a verificat in primul rand
corectitudinea pozitiei GPS raportate prin verificarea preciziei coordonatelor, apoi
afisarea locatiei pe harta, atat pe telefon cat si pe calculator.
Figura.68 Coordonate raportate GPS raportate de telefon
Pasul urmator a fost afisarea hartii pe telefon, cu coordonatele curente.Am
folosit pentru aceasta Google Maps, utilitar inclus in sistemul de operare al
telefoanelor ce ruleaza Android.
Figura.69 Afisarea hartii pe telefon
2011 www.erisc.ro Etapa - 4
102
Urmatorul pas este verificarea prezentei coordonatelor in baza de date.
Pentru a vizualiza continutul bazei de date am folosit utilitarul gratuit phpMyAdmin.
Figura. 70 Coordonate GPS din baza de date
Figura. 71 Coordonatele extrase din baza de date sunt afisate pe harta
2011 www.erisc.ro Etapa - 4
104
ANEXA 1
Articole, carti si teze de doctorat publicate in cadrul Proiectului ERSIC 2009-2010
• Articole, carti si teze de doctorat publicate in cadrul Proiectului ERSIC 2011
– 5 articole stiintifice (dintre care 2 cotate ISI)
ARTICOLE 1. Stegemann, B., Mihalcz, A., Foldesi, C, Vatasescu, R., Kardos, A., Torok, Z., Splett, V., Cornelussen R, Rudos, L., Szili-Torok, T.
“Extrasystolic stimulation with bi-ventricular pacing: an acute haemodynamic evaluation” (ISI-Impact revista 1,871)
Europace 2011 Nov; 13(11): 1591-6. Epub 2011 Jun 28
2. Vatasescu, R.G., Dan, M., Dorobantu M.
“Deep inspiration unmasks Brugada syndrome” (ISI-Impact revista 5,385)
Heart 2011 Jan; 97(2):167. Epub 2010 Oct. 8
3. Paraschiv, A.-M., Cepisca, C., Banica, C., Enache, A
“Remote monitoring ECG Signals System”
International symposium on Advanced Topics in Electrical Engineering (ATEE), ISSN: 2068-7966, ISBN: 978-1-4577-0507-6
4. Enache, A.C., Cepisca, C., Paraschiv A.-M., Banica, C.K.
“Virtual instrument for electroencephalography data acquisition”
International symposium on Advanced Topics in Electrical Engineering (ATEE), ISSN: 2068-7966, ISBN: 978-1-4577-0507-6
5. Anatolie Boev, Marcel Stanciu
“ECG Pattern Analysis for High Sampling Rate Acquisition”
The 7th International Symposium on ADVANCED TOPICS IN ELECTRICAL ENGINEERING 2011
2011 www.erisc.ro Etapa - 4
105
ANEXA 2 Cod sursa - Functii Matlab
1. Functie conectare la baza de date MySql % conectarea la baza de date de pe un server mysql javaaddpath ('mysql-connector-java-5.1.13-bin.jar'); conn = database('erisc', 'username', 'password', ... % data base name, user and password if required 'com.mysql.jdbc.Driver', ... % JDBC driver 'jdbc:mysql://ibm:3306/erisc'); % URL for location of data base 2. Functie validare conexiune cu baza de date % verificare daca baza de date este disponibila a=isconnection(conn); % a=1 if valid, else 0 if a==1 disp ('Conexiune disponibila') else disp ('Conexiune indisponibila ') end 3. Functie creare matrice dinamica, adauga mereu o linie noua pe ultima pozitie
%%% construire matrice pentru analiza in timp real function[A]=matricen(v1) global v1 global A j=1; for j=1:1:599 A(j,:)=A(j+1,:); end A(600,:)=v1; A; end
4. Functie creare matrice dinamica, prin adaugarea a 2 linii noi pe ultimele 2 pozitii
%%% construire matrice pentru analiza in timp real, in cazul adaugarii a 2 linii noi function[A]=matricedub2(v2)
2011 www.erisc.ro Etapa - 4
106
global v2 v3 global A for j=1:1:598 A(j,:)=A(j+2,:); end A(599,:)=v2; A(600,:)=v3; A; end
5. Exemplu creare interfata erisc : pentru reunirea mai multor functii function varargout = erisc(varargin) % ERISC MATLAB code for erisc.fig % ERISC, by itself, creates a new ERISC or raises the existing % singleton*. % % H = ERISC returns the handle to a new ERISC or the handle to % the existing singleton*. % % ERISC('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in ERISC.M with the given input arguments. % % ERISC('Property','Value',...) creates a new ERISC or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before erisc_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to erisc_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help erisc % Last Modified by GUIDE v2.5 10-Dec-2011 16:30:24 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @erisc_OpeningFcn, ... 'gui_OutputFcn', @erisc_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1})
2011 www.erisc.ro Etapa - 4
107
gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before erisc is made visible. function erisc_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to erisc (see VARARGIN) % Choose default command line output for erisc handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes erisc wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = erisc_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) run main_demo4 % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
2011 www.erisc.ro Etapa - 4
108
% --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) run wavecom % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) run ekgfilt % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --- Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles run suv % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
2011 www.erisc.ro Etapa - 4
109
ANEXA 3
Cod sursa program C
#include <my_global.h> #include <mysql.h> #include <stdio.h> #include <stdlib.h> #include <string.h> struct erisc { long int dateTime; int serial; int batt; int puls; int hbn; int hbTime1; int hbTime2; int locAcc; char gps_x[20]; char gps_y[20]; char provider[9]; }; struct erisc erisc_line; //int main(int argc, char **argv) int main ( int argc, char *argv[] ) { MYSQL *conn; MYSQL_RES *result; MYSQL_ROW row; int num_fields; int i; int indice; int j; int k; char temp[50]; int provider; float gpsx,gpsy; //FILE *p; FILE *p = fopen( argv[1], "r" ); //p = fopen("test.txt", "r"); if ( p == 0 )
2011 www.erisc.ro Etapa - 4
110
{ printf( "Could not open file\n" ); } i = 0; provider = 0; indice=0; char *cmd; cmd=malloc(1024); char buf[500]; conn = mysql_init(NULL); mysql_real_connect(conn, "localhost", "username", "password", "erisc", 0, NULL, 0); while(( fgets(buf,sizeof(buf),p) != NULL) && i<800 ) { strcpy(temp, strtok(buf,",")); if (strcmp (buf,"version") != 0) { printf ("Not a header line\n"); printf ("i=%d\n",i); indice++; printf ("Indice=%d\n",indice); printf ("buf=%s\n",buf); erisc_line.dateTime = atol(strtok(NULL,",")); erisc_line.serial = atoi(strtok(NULL,",")); for (j=1;j<8;j++) { strcpy(temp, strtok(NULL,",")); } erisc_line.batt = atoi(strtok(NULL,",")); erisc_line.puls = atoi(strtok(NULL,",")); erisc_line.hbn = atoi(strtok(NULL,",")); erisc_line.hbTime1 = atoi(strtok(NULL,",")); erisc_line.hbTime2 = atoi(strtok(NULL,",")); for (k=1;k<25;k++) { strcpy(temp, strtok(NULL,",")); } erisc_line.locAcc = atoi(strtok(NULL,",")); strcpy(temp, strtok(NULL,",")); strcpy(temp, strtok(NULL,",")); // strcpy(erisc_line.gps_x,strtok(NULL,",")); gpsx = atof(strtok(NULL,",")); gpsy = atof(strtok(NULL,","));
2011 www.erisc.ro Etapa - 4
111
// strcpy(erisc_line.gps_y,strtok(NULL,",")); strcpy(erisc_line.provider,strtok(NULL,",")); provider = 0; if (strcmp (erisc_line.provider,"network") == 0) { provider = 1; } if (strcmp (erisc_line.provider,"gps") == 0) { provider = 2; } //gpsx = atol(erisc_line.gps_x); //gpsy = atol(erisc_line.gps_y); printf ("%lu\n",erisc_line.dateTime); printf ("%d\n",erisc_line.serial); printf ("%d\n",erisc_line.batt); printf ("%d\n",erisc_line.puls); printf ("%d\n",erisc_line.hbn); printf ("%d\n",erisc_line.hbTime1); printf ("%d\n",erisc_line.hbTime2); printf ("%d\n",erisc_line.locAcc); printf ("%f\n",gpsx); printf ("%f\n",gpsy); printf ("%s\n",erisc_line.provider); printf ("Provider :%d\n",provider); sprintf(cmd, "INSERT INTO hrm (dateTime,serial,batt,puls,hbn,hbTime1,hbTime2,locAcc,gps_x,gps_y,provider) VALUES('%lu','%d','%d','%d','%d','%d','%d','%d','%f','%f','%d');",erisc_line.dateTime,erisc_line.serial,erisc_line.batt,erisc_line.puls,erisc_line.hbn,erisc_line.hbTime1,erisc_line.hbTime2,erisc_line.locAcc,gpsx,gpsy,provider); mysql_query(conn, cmd); } i++; } mysql_close(conn);
}
2011 www.erisc.ro Etapa - 4
112
ANEXA 4
23 Nov, 2011
Next generation mobile human health monitoring
Wireless innovations company Hidalgo has launched its latest exciting
range of mobile products that monitor human life.
The technology could revolutionise the future of the healthcare and
pharmaceutical industries worldwide, with customers already including NHS
hospitals and international research bodies.
Under its innovative brand Equivital, the team of engineers, scientists and
doctors have been pioneering products that allow accurate data to be measured
from real people in real environments for over 10 years.
“The Equivital personal devices are designed to be used on a ‘wear and
forget’ principle and the latest product range is being appreciated for this
quality,” says Dr Ekta Sood from Hidalgo.
The new Equivital EQ02 LifeMonitor incorporates a miniaturised body-worn sensor
module that senses, records, processes and transmits data from the human body.
The data includes physiological parameters such as ECG, respiration rate and
body temperature but importantly can be used to derive information – for example for
biometric verification - or for creating indexes such as for stress monitoring. Using
external sensors the LifeMonitor data channels can include oxygen saturation,
galvanic skin response, and core body temperature.
In combination with the eqView PC, mobile and web based software platform,
the LifeMonitor sends information to be viewed and, where applicable, further
analysed or acted upon.
“Having the ability to measure and model physiological information about the
human body - in both health and disease states and on a mass scale - will lead to a
better understanding of its cause and effect behaviours and catalyse an era of more
proactive and personalised healthcare,” explained Dr Sood.
2011 www.erisc.ro Etapa - 4
113
“Hidalgo is developing devices and software which can do this in real time so that in
the future, for example, timely and appropriate action can be taken if patterns of data
from the person under observation changes.
“What the Equivital brand stands for will ultimately enable an important shift in
the level of control an individual can have on their own personal health and wellbeing
by being better informed.”
The devices are already being put to good use in healthcare and
pharmaceutical fields. A trial funded by Oxford Biomedical Research Centre and the
Wellcome Trust - and run by a team at Churchill Hospital and Oxford University - is
using the Equivital LifeMonitor to continuously monitor haemodialysis patients. Such
patients are at a much higher risk of sudden and potentially fatal emergencies.
Using human data taken before, during and after haemodialysis, the team is
developing an index that pro-actively alerts clinicians to the likelihood of a life
threatening event. This could enable timely intervention and prevent adverse
situations.
Orders have already been received for the new EQ02 Equivital LifeMonitor
system through distributors around the world.
Mobile human health monitoring technologies offer a significant advance in
both personalising healthcare and extending care from the hospital into the
community and the home. Hidalgo, which is at the cutting edge of this emerging field,
believes it will see a rapid increase in the uptake and availability of such systems in
the next five years.
2011 www.erisc.ro Etapa - 4
114
Sensors (Basel). 2011; 11(7): 6799–6815. Published online 2011 June 29. doi: 10.3390/s110706799
PMCID: PMC3231662
Copyright © 2011 by the authors; licensee MDPI, Basel, Switzerland.
A Comprehensive Ubiquitous Healthcare Solution on an Android™ Mobile Device
Pei-Cheng Hii1 and Wan-Young Chung2* 1 Department of Electronic Engineering, Graduate School, Pukyong National University, Busan 608-737, Korea; E-Mail: [email protected] 2 Department of Electronic Engineering, College of Engineering, Pukyong National University, Busan 608-737, Korea * Author to whom correspondence should be addressed; E-Mail: [email protected]; Tel.: +82-51-629-6223; Fax: +82-51-629-6210. Received April 20, 2011; Revised June 10, 2011; Accepted June 12, 2011. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).
• Other Sections▼
Abstract
Provision of ubiquitous healthcare solutions which provide healthcare services at anytime anywhere has become more favorable nowadays due to the emphasis on healthcare awareness and also the growth of mobile wireless technologies. Following this approach, an Android™ smart phone device is proposed as a mobile monitoring terminal to observe and analyze ECG (electrocardiography) waveforms from wearable ECG devices in real time under the coverage of a wireless sensor network (WSN). The exploitation of WSN in healthcare is able to substitute the complicated wired technology, moving healthcare away from a fixed location setting. As an extension to the monitoring scheme, medicine care is taken into consideration by utilizing the mobile phone as a barcode decoder, to verify and assist out-patients in the medication administration process, providing a better and more comprehensive healthcare service.
2011 www.erisc.ro Etapa - 4
115
ANEXA 5
Actualitatea proiectului ERISC
Solutii propuse dezvoltatorilor de catre Texas Instruments in august 2011 la Londra
2011 www.erisc.ro Etapa - 4
116
Solutii propuse de Freescale la Bucuresti in septembrie 2011
Aceasta platforma propune solutii de monitorizare medicala prin Zigbee pentru pacientii din ambulator (tratati acasa).
2011 www.erisc.ro Etapa - 4
117
ANEXA 6
Fragment din codul de log-are pentru date ECG (sursa Java Android)
.class public Lcom/elcospro/erisk/HrmLog;
.super Ljava/lang/Object;
.source "HrmLog.java" # static fields .field private static D:Z .field private static LOG_FILE_NAME:Ljava/lang/String; .field private static TAG:Ljava/lang/String; .field private static hrmInputStream:Ljava/io/FileInputStream; .field private static hrmLogBuffer:Ljava/io/BufferedWriter; .field private static hrmLogStream:Ljava/io/FileOutputStream; .field private static hrmLogWriter:Ljava/io/FileWriter; .field private static logFileDir:Ljava/lang/String; .field static logFileReader:Ljava/io/FileReader; .field private static logHrmData:Z .field static logReader:Ljava/io/BufferedReader; .field static logReaderFileName:Ljava/lang/String; .field static newSequence:I .field private static replayFromBinaryLog:Z .field private static replayFromTextLog:Z .field private static storageDir:Ljava/io/File; .field private static writeToBinaryLog:Z .field private static writeToTextLog:Z # direct methods .method static constructor <clinit>()V .locals 4 .prologue const/4 v3, 0x1 const/4 v2, 0x0 const/4 v1, 0x0 .line 41 const-string v0, "HrmLog" sput-object v0, Lcom/elcospro/erisk/HrmLog;->TAG:Ljava/lang/String; .line 42 sput-boolean v3, Lcom/elcospro/erisk/HrmLog;->D:Z .line 43 sput-object v1, Lcom/elcospro/erisk/HrmLog;->hrmLogStream:Ljava/io/FileOutputStream; .line 44 sput-object v1, Lcom/elcospro/erisk/HrmLog;->logFileDir:Ljava/lang/String; .line 45 sput-object v1, Lcom/elcospro/erisk/HrmLog;->storageDir:Ljava/io/File; .line 46
2011 www.erisc.ro Etapa - 4
118
sput-boolean v2, Lcom/elcospro/erisk/HrmLog;->writeToBinaryLog:Z .line 47 sput-boolean v3, Lcom/elcospro/erisk/HrmLog;->writeToTextLog:Z .line 48 sput-boolean v2, Lcom/elcospro/erisk/HrmLog;->replayFromBinaryLog:Z .line 49 sput-boolean v2, Lcom/elcospro/erisk/HrmLog;->replayFromTextLog:Z .line 50 const-string v0, "hrm.log" sput-object v0, Lcom/elcospro/erisk/HrmLog;->LOG_FILE_NAME:Ljava/lang/String; .line 55 sput-boolean v3, Lcom/elcospro/erisk/HrmLog;->logHrmData:Z .line 311 sput-object v1, Lcom/elcospro/erisk/HrmLog;->hrmLogWriter:Ljava/io/FileWriter; .line 312 sput-object v1, Lcom/elcospro/erisk/HrmLog;->hrmLogBuffer:Ljava/io/BufferedWriter; .line 485 sput-object v1, Lcom/elcospro/erisk/HrmLog;->hrmInputStream:Ljava/io/FileInputStream; .line 587 sput-object v1, Lcom/elcospro/erisk/HrmLog;->logReader:Ljava/io/BufferedReader; .line 588 sput-object v1, Lcom/elcospro/erisk/HrmLog;->logFileReader:Ljava/io/FileReader; .line 589 sput-object v1, Lcom/elcospro/erisk/HrmLog;->logReaderFileName:Ljava/lang/String; .line 590 sput v2, Lcom/elcospro/erisk/HrmLog;->newSequence:I .line 39 return-void .end method .method constructor <init>()V .locals 0 .prologue .line 170 invoke-direct {p0}, Ljava/lang/Object;-><init>()V .line 171 invoke-static {}, Lcom/elcospro/erisk/HrmLog;->init()V .line 172 return-void .end method .method public static final byteArrayToInt([B)I .locals 2 .parameter "b" .prologue
2011 www.erisc.ro Etapa - 4
119
.line 251 const/4 v0, 0x0 aget-byte v0, p0, v0 shl-int/lit8 v0, v0, 0x18 .line 252 const/4 v1, 0x1 aget-byte v1, p0, v1 and-int/lit16 v1, v1, 0xff shl-int/lit8 v1, v1, 0x10 .line 251 add-int/2addr v0, v1 .line 253 const/4 v1, 0x2 aget-byte v1, p0, v1 and-int/lit16 v1, v1, 0xff shl-int/lit8 v1, v1, 0x8 .line 251 add-int/2addr v0, v1 .line 254 const/4 v1, 0x3 aget-byte v1, p0, v1 and-int/lit16 v1, v1, 0xff .line 251 add-int/2addr v0, v1 return v0 .end method .method public static declared-synchronized closeHrmLogs()Z .locals 4 .prologue const-string v1, "closeHrmLogs(): "naspa" .line 428 const-class v1, Lcom/elcospro/erisk/HrmLog; monitor-enter v1 :try_start_0 sget-object v2, Lcom/elcospro/erisk/HrmLog;->hrmLogStream:Ljava/io/FileOutputStream; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-eqz v2, :cond_0 .line 430 :try_start_1 sget-object v2, Lcom/elcospro/erisk/HrmLog;->hrmLogStream:Ljava/io/FileOutputStream; invoke-virtual {v2}, Ljava/io/FileOutputStream;->flush()V .line 431 sget-object v2, Lcom/elcospro/erisk/HrmLog;->hrmLogStream:Ljava/io/FileOutputStream; invoke-virtual {v2}, Ljava/io/FileOutputStream;->close()V
2011 www.erisc.ro Etapa - 4
120
.line 432 const/4 v2, 0x0 sput-object v2, Lcom/elcospro/erisk/HrmLog;->hrmLogStream:Ljava/io/FileOutputStream; :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 .catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_0 .line 439 :cond_0 :goto_0 :try_start_2 sget-object v2, Lcom/elcospro/erisk/HrmLog;->hrmLogBuffer:Ljava/io/BufferedWriter; :try_end_2 .catchall {:try_start_2 .. :try_end_2} :catchall_0 if-eqz v2, :cond_1 .line 441 :try_start_3 sget-object v2, Lcom/elcospro/erisk/HrmLog;->hrmLogBuffer:Ljava/io/BufferedWriter; invoke-virtual {v2}, Ljava/io/BufferedWriter;->flush()V .line 442 sget-object v2, Lcom/elcospro/erisk/HrmLog;->hrmLogBuffer:Ljava/io/BufferedWriter; invoke-virtual {v2}, Ljava/io/BufferedWriter;->close()V .line 443 const/4 v2, 0x0 sput-object v2, Lcom/elcospro/erisk/HrmLog;->hrmLogBuffer:Ljava/io/BufferedWriter; :try_end_3 .catchall {:try_start_3 .. :try_end_3} :catchall_0 .catch Ljava/io/IOException; {:try_start_3 .. :try_end_3} :catch_1 .line 450 :cond_1 :goto_1 :try_start_4 sget-object v2, Lcom/elcospro/erisk/HrmLog;->hrmLogWriter:Ljava/io/FileWriter; :try_end_4 .catchall {:try_start_4 .. :try_end_4} :catchall_0 if-eqz v2, :cond_2 .line 452 :try_start_5 sget-object v2, Lcom/elcospro/erisk/HrmLog;->hrmLogWriter:Ljava/io/FileWriter; invoke-virtual {v2}, Ljava/io/FileWriter;->flush()V .line 453 sget-object v2, Lcom/elcospro/erisk/HrmLog;->hrmLogWriter:Ljava/io/FileWriter; invoke-virtual {v2}, Ljava/io/FileWriter;->close()V .line 454 const/4 v2, 0x0
2011 www.erisc.ro Etapa - 4
121
sput-object v2, Lcom/elcospro/erisk/HrmLog;->hrmLogWriter:Ljava/io/FileWriter; :try_end_5 .catchall {:try_start_5 .. :try_end_5} :catchall_0 .catch Ljava/io/IOException; {:try_start_5 .. :try_end_5} :catch_2 .line 461 :cond_2 :goto_2 :try_start_6 sget-object v2, Lcom/elcospro/erisk/HrmLog;->logReader:Ljava/io/BufferedReader; :try_end_6 .catchall {:try_start_6 .. :try_end_6} :catchall_0 if-eqz v2, :cond_3 .line 463 :try_start_7 sget-object v2, Lcom/elcospro/erisk/HrmLog;->logReader:Ljava/io/BufferedReader; invoke-virtual {v2}, Ljava/io/BufferedReader;->close()V .line 464 const/4 v2, 0x0 sput-object v2, Lcom/elcospro/erisk/HrmLog;->logReader:Ljava/io/BufferedReader; :try_end_7 .catchall {:try_start_7 .. :try_end_7} :catchall_0 .catch Ljava/io/IOException; {:try_start_7 .. :try_end_7} :catch_3 .line 471 :cond_3 :goto_3 :try_start_8 sget-object v2, Lcom/elcospro/erisk/HrmLog;->hrmInputStream:Ljava/io/FileInputStream; :try_end_8 .catchall {:try_start_8 .. :try_end_8} :catchall_0 if-eqz v2, :cond_4 .line 473 :try_start_9 sget-object v2, Lcom/elcospro/erisk/HrmLog;->hrmInputStream:Ljava/io/FileInputStream; invoke-virtual {v2}, Ljava/io/FileInputStream;->close()V .line 474 const/4 v2, 0x0 sput-object v2, Lcom/elcospro/erisk/HrmLog;->hrmInputStream:Ljava/io/FileInputStream; :try_end_9 .catchall {:try_start_9 .. :try_end_9} :catchall_0 .catch Ljava/io/IOException; {:try_start_9 .. :try_end_9} :catch_4 .line 482 :cond_4
2011 www.erisc.ro Etapa - 4
122
:goto_4 const/4 v2, 0x1 monitor-exit v1 return v2 .line 433 :catch_0 move-exception v2 move-object v0, v2 .line 435 .local v0, e:Ljava/io/IOException; :try_start_a sget-object v2, Lcom/elcospro/erisk/HrmLog;->TAG:Ljava/lang/String; const-string v3, "closeHrmLogs(): naspa 2 HRM log" invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I :try_end_a .catchall {:try_start_a .. :try_end_a} :catchall_0 goto :goto_0 .line 428 .end local v0 #e:Ljava/io/IOException; :catchall_0 move-exception v2 monitor-exit v1 throw v2 .line 444 :catch_1 move-exception v2 move-object v0, v2 .line 446 .restart local v0 #e:Ljava/io/IOException; :try_start_b sget-object v2, Lcom/elcospro/erisk/HrmLog;->TAG:Ljava/lang/String; const-string v3, "closeHrmLogs(): serious exception occurred trying to close the HRM log" invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I goto :goto_1 .line 455 .end local v0 #e:Ljava/io/IOException; :catch_2 move-exception v2 move-object v0, v2 .line 457 .restart local v0 #e:Ljava/io/IOException; sget-object v2, Lcom/elcospro/erisk/HrmLog;->TAG:Ljava/lang/String; const-string v3, "closeHrmLogs(): serious exception occurred trying to close the HRM log"
2011 www.erisc.ro Etapa - 4
123
invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I goto :goto_2 .line 465 .end local v0 #e:Ljava/io/IOException; :catch_3 move-exception v2 move-object v0, v2 .line 467 .restart local v0 #e:Ljava/io/IOException; sget-object v2, Lcom/elcospro/erisk/HrmLog;->TAG:Ljava/lang/String; const-string v3, "closeHrmLogs(): var 3 naspa HRM log" invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I goto :goto_3 .line 475 .end local v0 #e:Ljava/io/IOException; :catch_4 move-exception v2 move-object v0, v2 .line 477 .restart local v0 #e:Ljava/io/IOException; sget-object v2, Lcom/elcospro/erisk/HrmLog;->TAG:Ljava/lang/String; const-string v3, "closeHrmLogs(): bou " invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I :try_end_b .catchall {:try_start_b .. :try_end_b} :catchall_0 goto :goto_4 .end method .......................................................................................................................
2011 www.erisc.ro Etapa - 4
124
VI. CONCLUZII
1. Proiectul E-RISC este, la aceasta ora, un exemplu clasic de tehnologie aflata la
limitele superioare, de multidisciplinaritate si dificultati de alocare pentru resurse
financiare si tehnologice.
Posibilitatea de a utiliza echipamente si solutii de ultima ora este
contrabalansata de problemele generate de utilizarea unor solutii tehnice imature, de
precaritatea suportului tehnic sau chiar de lipsa acestuia pentru utilizarea unor
dispozitive venite direct din sectiile de microproductie. Pe ansamblu, efortul de a
produce o solutie utila si originala este conditiia necesara, dar nu suficienta, pentru
impunerea in societatea romaneasca a unui produs bun sau a unei tehnologii
valoroase.
2. Glisarea activitatiilor de cercetare din motive bugetare (din 2009 in 2010 si apoi in
2011) si apoi reducerea cu peste 60% a fondurilor a generat solutii de urgenta, :
• comasarea intr-un singur server fizic a Serverului de stocare, a Serverului de
Anamneza pacienti, a Serverului de Pattern Deplasari si a Serverului de
Localizare GPS, numit Server de stocare
• reunirea intr-un singur subsistem (server) a Serverului de Analiza si
prelucrare, a Serverului de detectie artefacte si a Serverului Decizional,
denumit Server de Prelucrare si Analiza
• folosirea unei solutii software de pozitionare corecta a senzoriilor ECG si
renuntarea la senzorii cu masa flotanta (fara contact) mult mai scumpi.
3. Achizitia datelor electrobiologice se face in final prin intermediul senzorilor e-
textili tesuti, impreuna cu un set de informatii despre mediu si pozitia subiectului
in mediu. Modularizarea sectiuni de achizitie date permite schimbarea cu usurinta
a tipului de senzori utilizati.
4. Schimbare de doua ori a solutiilor de telecomunicatii este dovada ca echipa a
dorit sa ofere o solutie solida si eficienta pentru a suporta functionarea sistemului
in cele mai adverse conditii - de functionarea corecta a acestui sistem poate
depinde viata unui om care a avut incredere in produsul nostru.
5. Avantajul major al acestui produs este pe termen scurt - reducerea costurilor de
spitalizare si deblocarea unor paturi de spital ocupate altfel cu pacientii care vor
folosi E-RISC.
2011 www.erisc.ro Etapa - 4
125
6. Pe termen mediu - elementul principal il reprezinta integrarea mult mai usoara a
personelor cu risc cardiac in societate cu toate beneficiile care vin de aici.
7. Pe termen lung datele medicale inregistrate de serverul de diagnoza de la
pacientii care au folosit E-RISC vor deveni un avantaj competitiv pentru medicina
romaneasca, baza de date in sine fiind un suport pentru cercetare medicala.
Existenta acestei baze de date cu zeci de mii de ore de inregistrare ECG va
permite dezvoltarea si testarea virtuala a zeci de produse medicale noi, pentru ca
virtualizarea in domeniul cercetarii medicale este noul Graal.
8. Solutia noastra purtabila (wearable) este asa cum rezulta si din materiale din
Anexa 5 si Bibliografie este una de top din punctul de vedere al solutiilor gasite si
a problemelor rezolvate dar ramane ca valorificarea unei asemenea cercetari sa
se poate face aici in Romania sau macar in Europa.
9. Avand in vedere ca telemonitorizarea medicala va fi un subiect fierbinte in lumea
stiintifica si in urmatorii ani dezvoltarea acestui subiect in cadrul grupului de
cercetatori este un argument in directia realizarii unui prototip si apoi valorificarii
acestuia sub forma unui transfer de Know-how.
10. Un castig cert este formarea unei echipe de cercetare si dezvoltare care a
dobandit noi competente dar si obisnuinta lucrului in colective multidisciplinare in
conditiile unui consortiu cu sapte parteneri. Dezvoltarea in continuarea de
cercetarii in domeniul biosenzorilor si a telemonitorizarii pentru sanatate va
permite acestui grup de cercetare dispune de certe avantaje de competitivitate
stiintifica si tehnologica bazate pe experienta dobandita in cadrul acestui proiect.
11. Dezvoltarea unui mediu concurential care sa permita colectivelor stiintifice sa
accelereze un proiect in vederea anuntarii unui rezultat sau sa astepte aparitia
anuntata a unor noi platforme tehnologice suport pentru subiectul cercetarii este
un deziderat realizabil in urmatorul program Parteneriate.
12. E-RISC este un proiect romanesc cu certe valente stiintifice ce demonstreaza
sincronismul cercetarii romanesti cu cea mondiala si pentru care colectivul de
cercetatori isi doresc finalizarea intr-un produs comercial.
2011 www.erisc.ro Etapa - 4
126
VII. BIBLIOGRAFIE
1. BĂNICĂ,C.K, SERIAN,G.C., GHIŢĂ, O.M.,Optimal Acquisition for ECG Signal with Real–Time Processing, ATEE 2000, pp. 37-40, Bucharest, 2000;
2. AUGUSTYNIAK, P. (2008). "Detecting patient's emergency--a minimum-computation procedure for pervasive cardiac monitoring." Conf Proc IEEE Eng Med Biol Soc 2008: 1439-1442.
3. LIU, X., Y. ZHENG, et al. (2010). "Multiple Functional ECG Signal Processing for Wearable Applications of Long-Term Cardiac Monitoring." IEEE Trans Biomed Eng.
4. LIN, C. T., K. C. CHANG, et al. (2010). "An intelligent telecardiology system using a wearable and wireless ECG to detect atrial fibrillation." IEEE Trans Inf Technol Biomed 14(3): 726-733.
5. HUANG, W. T., C. H. CHEN, et al. (2008). "Exquisite textiles sensors and wireless sensor network device for home health care." Conf Proc IEEE Eng Med Biol Soc 2008: 546-549.
6. ZHENG, J. W., Z. B. ZHANG, et al. (2007). "A wearable mobihealth care system supporting real-time diagnosis and alarm." Med Biol Eng Comput 45(9): 877-885.
7. HONG, S., Y. YANG, et al. (2009). "Performance study of the wearable one-lead wireless electrocardiographic monitoring system." Telemed J E Health 15(2): 166-175.
8. YAZICIOGLU, R. F., T. TORFS, et al. (2009). "Ultra-low-power wearable biopotential sensor nodes." Conf Proc IEEE Eng Med Biol Soc 2009: 3205-3208.
9. THULASI BAI, V. and S. K. SRIVATSA (2007). "Design of wearable cardiac telemedicine system." Int J Electron Healthc 3(3): 303-316.
10. TADEUSIEWICZ, R. AND P. AUGUSTYNIAK (2005). "Information Flow and Data Reduction in the ECG Interpretation Process." Conf Proc IEEE Eng Med Biol Soc 1: 382-385
11. SHIN, K., H. TAE HWANG, ET AL. (2005). "WHAM: A novel, wearable heart activity monitor based on Laplacian potential mapping." Conf Proc IEEE Eng Med Biol Soc 7: 7361-7364.
12. SCHEFFLER, M. AND E. HIRT (2005). "Wearable devices for telemedicine applications." J Telemed Telecare 11 Suppl 1: 11-14.
13. PAWAR, T., S. CHAUDHURI, et al. (2007). "Body movement activity recognition for ambulatory cardiac monitoring." IEEE Trans Biomed Eng 54(5): 874-882
14. ORESKO, J. J., H. DUSCHL, et al. (2010). "A wearable smartphone-based platform for real-time cardiovascular disease detection via electrocardiogram processing." IEEE Trans Inf Technol Biomed 14(3): 734-740.
15. CEPIŞCĂ,C, ANDREI, H., BĂNICĂ,C.K, Măsurări în energetică, Editura ICPE, Bucuresti, 2000.
16. NEGOESCU, R., Iniţiere în electronica biomedicală, Editura Tehnică, 1985. 17. CEPIŞCĂ,C., Măsurări electrice şi electronice, Editura ICPE, 1997. 18. CEPIŞCĂ,C., VEYSSIERE,M., Condiţionarea senzorilor şi a semnalelor, Editura
ICPE, 1995. 19. CEPIŞCĂ,C., NEGOESCU, R., Instrumentaţie pentru biosemnale, Editura ICPE,
1998. 20. POPESCU,M. , Transformata Wavelet, IPB 1994. 21. LĂZĂRESCU, N., Prelucrarea digitală a semnalelor, Editura Amco Press, 1994.
2011 www.erisc.ro Etapa - 4
127
22. ILIESCU, C., PANTELIMON, B., Senzori şi traductoare, Litografia I.P.B., Bucuresti, 1993.
23. WINKLER,R, Data acquisition embraces Ethernet, RD Magazine, 1999. 24. MATEESCU, A., DUMITRU,N, STANCIU, L, Semnale şi Sisteme, Editura Teora
2001. 25. POPESCU, D., Prelucrarea digitală a semnalelor, Editura ICPE 2000. 26. KEITHLEY Instruments, SUA, ADwin DSP System, Technical Data, 2004. 27. BĂNICĂ, C.K., Biosemnale – Prelucrari numerice, Editura Electra - ICPE.,
Bucuresti, 2007. 28. BĂNICĂ, C.K., SERIŢAN,G.C, - Tehnici de analiză a variabilităţii ritmului cardiac,
în domeniul timp-frecvenţă 29. NEGOESCU, R, Instrumentaţia electronică biomedicală, Editura Tehnica,
Bucuresti, 1985 30. STRUNGARU, R, Electronica medicală, EDP, Bucuresti, 1982 31. CIUPA, R.V., Introducere în Electronica Biomedicală, Inst. Politehnic Cluj-
Napoca, 1992 32. COSTIN, H., Electronica Medicală, Editura Cantes, Iaşi, 2000 33. NAGY, I., Curs de electronică medicală, Editura Eurobit, Timisoara, 1999 34. JOVANOV, T.,M, and RASKIVIC, D., Issues în wearable computing for medical
monitoring applications: A case study of a wearable ecg monitoring device. în Digest of Papers. Fourth International Symposium on Wearable Computers. IEEE Comput. Soc, 2000. în Proc. Eng. în Med. and Bio. Society (EMBS) 1997, Vol. 5, no. 30 Oct.-2 Nov. A.
35. KRAUSE, D.P., SIEWIOREK, et. al.“Unsupervised, dynamic identification of physiological and activity context în wearable computing,” în Proc. 7th Int’l Symp. on Wearable Computers, (ISWC ) 2003 Oct. 21-23.
36. BAR-OR, HEALEY,J, KONTOTHANASSIS, L,. VAN THONG, J.M, “BioStream: A System Architecture for Real-Time Processing of Physiological Signals” în Proc. Eng.in Med. and Bio. Society (EMBS) 2004 Sept. 1-5, 2004.
37. RANDALL, MULLER, H., “Context awareness by analysing accelerometer data,” în Proc. 4th Int’l Symp. on Wearable Computers (ISWC) 2000. Oct. 16-17,
38. DONNAY, S., “Wireless body-area networks (WBAN) for health monitoring applications”, In: ESF Workshop on Wireless Sensor Networks, April 1-2, 2004
39. PAHLM, O., SORNMO, L., Data processing of exercise ECG’s. IEEE Transactions on Biomedical Engineering, Vol.34, No.2, February 1987, pp.230-236.
40. SMITH, S, „MATLAB Advanced GUI Development”,Dog Ear Publishing 2006 41. MARCHLAND,P., HOLLAND, T., „Graphics and GUIs with MATLAB”, Chapman&
Hall/CRC, 2003 42. HANSELMAN, D., LITTLEFIELD, B., „Mastering MATLAB”, Pearson/Prentice
Hall, 2011 43. VASWANI, V., „Utilizarea si administrarea bazelor de date MySQL”,Rosetti
Educational, 2010 44. RUSU,I., GROSU, V., „Programarea calculatoarelor in limbaj C- probleme
rezolvate si comentate”, Matrixrom, 2009 45. RINCÓN F., RECAS J., KHALED N., ATIENZA D., “Development and Evaluation
of Multilead Wavelet-Based ECG Delineation Algorithms for Embedded Wireless Sensor Nodes”, IEEE Trans Inf Technol Biomed. 2011 Nov; 15(6):854-63. Epub 2011 Aug 8
2011 www.erisc.ro Etapa - 4
128
46. AUGUSTYNIAK P., “Wearable wireless heart rate monitor for continuous long-term variability studies”, Electrocardiol 2011 Mar-Apr;44(2):195-200
47. KIM BS, YOO SK, LEE MH, “Wavelet-based low-delay ECG compression algorithm for continuous ECGtransmission”, IEEE Trans Inf Technol Biomed. 2006 Jan; 10(1):77-83.
48. GALLEGO J, LEMOS D, MENESES GA, HERNANDEZ AM., “Development of a wearable vital signs monitor for healthcare”, Conf Proc IEEE Eng Med Biol Soc. 2010; 2010:6401-4
49. LIN WH., WONG MY., PU LN., ZHANG YT., “Comparison of median filter and discrete dyadic wavelet transform for noise cancellation in electrocardiogram”, Conf Proc IEEE Eng Med Biol Soc. 2010; 2010:2395-8
50. AGARWAL R., SONKUSALE S., “Direct Analog-to-QRS detection front-end architecture for wearable ECG applications”, Conf Proc IEEE Eng Med Biol Soc. 2010;2010:6527-30
51. YOO HJ., YOO J., YAN L., “Wireless fabric patch sensors for wearable healthcare”, Conf Proc IEEE Eng Med Biol Soc. 2010; 2010:5254-7
52. LIU X., ZHENG Y., PHYU MW, ZHAO B, JE M, YUAN X., “Multiple functional ECG signal is processing for wearable applications of long-term cardiac monitoring”, IEEE Trans Biomed Eng. 2011 Feb; 58(2):380-9. Epub 2010 Jul 29
53. CURONE D., TOGNETTI A, SECCO EL, ANANIA G, CARBONARO N, DE ROSSI D, MAGENES G., “Heart rate and accelerometer data fusion for activity assessment of rescuers during emergency interventions”, IEEE Trans Inf Technol Biomed. 2010 May; 14(3):702-10. Epub 2010 Apr 8