M13304 PDF
M13304 PDF
M13304 PDF
MÉMOIRE
PRÉSENTÉ
PAR
HASNA BOUDRA
FÉVRIER 2014
UNIVERSITÉ DU QUÉBEC À MONTRÉAL
Service des bibliothèques ·
Ayertfsseaient
La diffusion de ce mémoire se fait dans le~ respect des droits de son auteur, qui a signé
le formulaire Autorisation de reproduire. at de diffuser ua travail de recherche de cycles
5Up~rfaurs (SDU-522- Aév.01-2006). Cette autorisation stipula qua ccconformément à
l' article 11 du Règlement no 8 dea études da cycles supérieurs, [l'auteur) concède à
l'Université du Québec à Montréal une llc~nca non exclusive d'utilisation at de .
publication de la totalité ou d'une partie Importante de [son) travail de rechercha pour
dea fins pédagogiques at non commerciales. Plus précisément, [l'auteur) autorise
l'Université du Québec à Montréal à reproduire, diffuser, prêter, distribuer ou vendra dea
copies de. [son) travail da rechercha à dea flna non commerciales sur quelque support
que ca soit, y compris l'Internet Cette licence et cette autorisation n'entrainent pas une
renonciation de [la) part [de l'auteur] à [sea) droits moraux ni à [sea] droits da propriété
intellectuelle. Sauf ententé contraire, [l'auteur) conserve la liberté de diffuser et da
commercialiser ou non ce travail dont [ill possède un exemplaire.»
REMERCIEMENTS
Je remercie en premier lieu mes parents Hacene Boudra et Yamina Boudra qui m'ont
soutenue et encadrée depuis la classe maternelle et jusqu'aux études universitaires.
Je tiens à remercie mon directeur de recherche, Pr. Abdellatif Obaid pour m 'avoir fait
découvrir le domaine de télésurveillance médicale, pour son suivi et conseils précieux
durant l'élaboration de ce travail.
Je remercie mes professeurs de l'UQAM ainsi que le directeur de programme M
Étienne Gagnon qui ont veillé pour la réussite de ma formation.
Je remercie également tous mes amis que j 'ai rencontrés à l'UQAM et mes amis de
laboratoire LA TECE.
Un sincère remerciement à toute ma famille pour son encouragement et à tous les
gens qui ont contribué par ses conseils pour la réalisation de ce travail notamment:
Larbi Abidat et Ade! Ghlamallah .
Je dédié ce mémoire à
---- -----------------------------------------------------
LISTE DES FIGURES ..... .... .... ... .... .... .... .. .... .... ........... .. .... .. .. .................................. .. .. vi
LISTE DES TABLEAUX ... .......... ... ... .... ...... ................... ...... .................................... viii
LISTE DES ACRONYMES ........... .... .. ...................... .... ......... ................. ... .. ...... ........ ix
RÉSUMÉ ..... ..... ........... ... ..................................................................... .... ....... ... ....... .. xii
CHAPITRE 1
INTRDUCTION ..................... ...... ....... ........... ............ ... ............................................... 1
CHAPITRE II
TECHNOLOGIE DES CAPTEURS ET RÉSEAUX DE CAPTEURS ................ ...... . 8
2. 1 Le capteur ...................... ...... ........ .... .... ...... .. ............... .. ......... .......................... .. .. 8
2. 1.1 Modèle d' un instrument de mesure ........ .... .. ...... .. .......... .. .. .............. ...... .. .. 8
2. 1.2 Les capteurs intelligents ...... ........ .. .. .. .......... .. .... .. .. .. .... .. .. .. .... ...... .... .. ........ . 9
2. 1.3 Architecture physique d' un capteur intelligent.. .. .......... .... .. .... .... ........ .... .. 9
2.2 Les réseaux de capteurs sans fil ...................................... .... .. .. ........................... 11
2.3 T inyOS .. .... .................... ... .. ........... ...... ... ..... ...... ....... ... ... ..... ... ... ... ........ .. .. .... ...... 12
2.4 TinyDB ...................... .............. ...... ........ .......................................... .................. 13
.5 Le app lications de réseau de capteurs sans fil.. .............................................. 14
2.5 .1 Domaine militaire .............................................................. ....................... 14
2.5.2 Domaine environnemental ............................ .. ...... .. .... .. ........ .. ................. 15
2.5.3 Domaine méd ical.... .................. .. ........ ....................... .. ...... .. ........... .......... l6
2.5.4 Exemple des applications utilisant WSN dans le domaine médical.. .... .. . 19
2.6 Con cl us ion ......................................................................................................... 23
CHAPITRE III
ARCHITECTURE PROPOSÉE ................................................................................. 25
3.1 Contexte du travail ............................................................................................. 25
IV
3.1.1 Les signes vitaux ... ............................... ..... ....... ...... .. ... ....... .... .................. 25
3 .1.2 La température de la pièce ............... .................... ................... ................. 26
3.1 .3 L'éclairage de la pièce .......................... ... ... ... ............................ ... ..... ....... 26
3.2 Architecture proposée .... ....... ...... .... ............... .. ....... ....... .............. .... .... .. ............ 27
3.3 Les services web REST ..................................................................................... 29
3.3.1 Les services web ....................... ... .................. ..................... ......... ............. 29
3.3.2 Les services web SOAP ....... .... ......... ... ....... ..... .... ............. .. ........ .. ........... 29
3.3 .3 L'architecture REST ......................................... .. ... .... ........ ............. ......... 30
3.4 Le moteur de règles (JESS) ....... ... ................. ... .. ......... ..... .... .. ...... ............... ... ... 33
3 .4.1 Le langage JESS .. .... ..... ........ .. ... ... ... ....... .. ... ... ........... ..... ..................... ... .. 33
3.5 Conclusion ... ...... ... .. ... ........... .... ....... ..... ........................ ... .... ............... ........ .. .. .. . 35
CHAPITRE IV
IMPLÉMENTATION ... .. .... ..................... ..... ...... .......................... ............... ........ .. ... .. 37
4.1 Matériel utilisé ............................................. ........... .... ....... ........ ..... ..... ....... ....... 37
4.2 Architecture logicielle ......................................................... .............................. 39
4.2.1 Le cloud IDigi ........... .... ...... ........... ... ... ................ ........... .. ..... ..... .... .. ... .... 39
4.2.2 Le serveur web et la base de données .. ... ...... .... ......... .. ... .... .. ... ............... .40
4.2.3 Les clients ................................................................................................. 40
4.3 Les services web REST développés ................................................................. .42
4.3.1 Le service web swBD .. ... ..... ........ .. .. ........... ..... ... ... .... ........ .................. ..... 44
4.3.2 Le service web swAlert ...... ... ............. ......... ...... .. .. .. .. ... ....... ... .. ....... ... ...... 45
4.3.3 Le service web swHist.. ............................................................................ 53
4.4 Conclusion .............................. ......... ..... ... .... ... ............... .................. .................. 62
CHAPITRE V
EVALUATION DE PERFORMANCES .................................................................... 63
5.1 Temps de réponse ... ...... .... ....... ....... ..... .... .............. ........ .. .......... .. .... ......... ......... 63
5.1.1 Temps de réponse de l'alerte .... .. ........ ..... ......... ............ ........................ .... 63
5.1.2 Temps de réponse de l' historique du patient.. .. ............ ..... .... .... ........ ... .... 65
5.2 Le débit clients .................................................................. ...... ............ ............... 66
CHAPITRE VI
CONCLUSION ..... ... ... ... ..... ....... ............... ............................... .. .. ...... ....... ..... .... ......... 67
v
BIBLIOGRAPHIE ... .......... .. ..... .... .................... .............. ..... ................. ....... ............... 69
LISTE DES FIGURES
Figure Page
2.1 La fonction essentielle du capteur [13] ................ ............. ............... ..... ........... 9
2.2 Architecture physique d' un capteur ............... .... .......... .... ..... .. .. ..... ........ ........ 11
2.3 Exemple d' un réseau de capteurs [14] ........ ...... .................. .... .. .... ...... .... ....... 12
2.4 Une requête et les résultats se propageant à travers le réseau [41] ... ...... ... .... 13
2.5 Application sur le contrôle de la qualité de l'eau [14] ... ..... ..... .... ... ..... .......... 15
2.6 Plateforme Mercury[20] ... ........ .... ....... ...... .. .... ... .... .......... ... .... .... ..... .... ......... 20
2.7 Exemple de scénario de projet !minet [21] ...... ... ............. .... .... .... ... ...... ... ..... . 21
2.8 Le HIS du laboratoire TIMC-IMA G [22] .. .. .... ... ............. ... .. .. ..... .. ....... ......... 23
3.1 Architecture proposée .. ... .. ......... ................. .... ... .. ...... ........ ... ... .... ... .. ... ......... . 27
3.2 Processus de communication dans les services web [27] .. ........... .. .... ....... .... 29
4.2 Gestion de dispositifs d' Idigi Manager Pro [35] ....... ... ............ ... .... .... ... ....... 38
4.3 Architecture logicielle ...... .......... ....... ... ... ... ......... .. ...... .. ... ... ... .................... .... 39
4.4 Le cli ent Jersey de service web swA lert .... .............................. .................... .41
4.5 Diagramme de séquence des clients ....... .. ........................ .. ....................... ... .42
4.6 Fonctionnement de JAX-RS [36] ........... .... ... ... .... ... ........ ... .. ........................ .43
4.8 La méthode POST pour stocker les données .............................. .... ....... ..... .455
4.10 La méthode GET et les paramètres de swAlert .. .......... .... ............................ .46
vii
4.11 Diagramme de classe de swAlert ............................... ...... ... ... .......... ........... ...47
4.15 Alertes reçues au cellulaire sous forme des messages sms ............................ 53
4.18 Service web swHistorique ...................... ........... .... ............ .. .... ... ......... .. .. ....... 55
4.21 Fichier main.xml de notre implémentation ......... ... ..... ..... ... ... ... ... .. .. ....... ....... 58
4.22 ADV manager ... .. ............................................ .. ..... .......... ... ......... ........ ...... .... 59
4.23 L ' émulateur Android ......... ... :... ... ... ...... ... ... .............................. ........ ...... .. ..... 59
4.24 Le client HTTP pour le service web swHistorique ............. .... ..... ........ .. .. ...... 61
4.25 Permission d 'accès à internet dans Android ....... .... .. ... .... ..... .... ......... .. ..... ..... 62
4.26 Historique du patient sur tablette tactile ......... ..................... ......... ....... .......... 62
5.1 Temps de réponse pour différents clients de service web swAlert ....... .... .... 64
5.2 Temps de réponse pour plusieurs clients à différents moments ..... ... .. ..... ... .. 65
5.4 Le débit cli ent par seconde .. ........ ..... .... .... .............. .. ... .... .. ............................ 66
LISTE DES TABLEAUX
Tableau Page
2.1 Comparaison entre différents protocoles [23] .. ... ........ ..... .............. .......... ...... 19
LISTE DES ACRONYMES
EKG Electrocardiogram
EMG Électromyogramme
HR Heart Rate
IP Internet Protocol
os Operating System
SaaS Software-as-a-Service
Grâce au progrès dans le domaine des réseaux sans fil, des nouvelles applications
sont conçues dans le domaine médical et de la santé. L'efficacité du personnel
médical est augmentée en utilisant ces nouveaux outils et applications. Dans le
domaine de la santé, le suivi des patients à long terme et Je suivi des personnes âgées
ainsi que les maisons intelligentes (des maisons équipées par des capteurs et la
technologie de l' information pour permettre aux personnes qui devraient
normalement être placées dans des établissements spécialisés de vivre autonome) sont
devenus un objet de discussion réelle dans la communauté des chercheurs en
informatique.
Les patients peuvent porter des capteurs qui surveillent les signes vitaux signalés en
temps réel à leur médecin. Cela permet d'améliorer la qualité des soins de santé et
d'économiser de l'argent aux patients.
Mots clés : télésurveillance médicale, réseau de capteurs sans fil, services web,
architecture REST, moteur de règles Jess.
CHAPITRE 1
INTRDUCTION
santé d' une personne âgée vivant seule ou ayant des soucis de santé faisant appel à
plusieurs éléments de domotique. La domotique étant l'ensemble des techniques qui
consistent à équiper un domicile avec des capteurs intelligents ayant pour but de
"sonder" 1' état du domicile et de ses occupants, à tout instant, et celui des actionneurs
pour répondre aux besoins de 1'utilisateur [3].
diminution du coût grâce au suivi qui peut être fait en dehors de l' hôpital;
réponse aux besoi ns des patients qui habitent les zones rurales isolées.
l.l Les capteurs et les réseaux de capteurs dans la télésurvei llance médicale
Les réseaux de capteurs sans fil avec les nœuds de capteurs intell igents sont devenus
une technologie très importante pour plusieurs types d'applications. Par exemple, ils
3
En outre, les systèmes d'assistance et surveillance basés sur les capteurs et les
réseaux de capteurs sont parmi les systèmes conçus pour répondre aux objectifs de la
télésurveillance médicale. Autrement dit, les capteurs sont implantés dans le corps
des patients ou des personnes âgées, ainsi que dans leur environnement, pour former
les réseaux de capteurs sans fil qui transmettent les données requises [6].
À vrai dire, les capteurs constituent la première étape dans le système. Ils servent à
recueillir tous les signaux physiologiques nécessaires comme : la température, la
tension artérielle et le taux d' oxygène dans le sang [7] .
Par ailleurs, les capteurs sans fil permettent aux médecins, infirmières et autre
personnel de la santé de surveiller l' état du patient de façon permanente. À cet effet,
plusieurs capteurs sont utilisés, comme le thermomètre, l'EKG et les pulse-oximètres.
Les mesures peuvent être périodiques comme la température ou continues comme
l'EKG [8].
Il est possible de séparer les fonctions pouvant théoriquement être activées par un
système de té lésurvei llance en 3 types :
Dès qu'apparaît une anomalie, le centre serveur est averti et une équipe technique
intervient immédiatement pour régler ou réparer le capteur ou l'appareillage.
1.2.2 La téléalarme
Dès que les capteurs décèlent une situation critique du malade ou de l'appareillage,
une alarme est transmise instantanément au centre serveur qui , immédiatement en
retour, téléteste les appareils et déclenche l'alarme auprès du médecin traitant, du
service de premiers soins ou du personnel du centre serveur selon le type d'alarme.
1.2.3 Le télémonitorage
Dans ce but, une meilleure connaissance des traitements réellement pris par les
malades doit, d'une part, permettre aux médecins de poursuivre des recherches sur la
mise au point de schémas thérapeutiques optimaux et, d'autre part, sécuriser les
malades [9] .
1.3 Problématique
Le vieill issement de la population mondi ale constitue l'une des tendances les plus
importantes du siècle. Au cours du siècle précédent, la longévité a connu une forte
hausse à l'échelle planétaire. D 'ailleurs, la population des aînés croît plus rapidement
que to ut autre groupe d'âge. Le décl in du pourcentage de jeunes et la progression de
la proportion des personnes de plus de 60 ans entraînent des changements dans le
profil démographique du passé et accélèrent le viei llissement des sociétés autant
développées qu'en développement. Par conséquent, la tendance pousse les
5
Notre problématique cible le domaine de la santé et les personnes âgées qui sont le
plus exposées aux maladies chroniques.
Au Canada, les coûts liés à la maladie, à l' incapacité et à la mortalité qu ' entraînent les
maladies chroniques comme le diabète, la maladie pulmonaire obstructive chronique
(MPOC) et l' insuffisance cardiaque congestive (ICC) s'élèvent à plus de 80 milliards
de dollars chaque année. La mortalité annuelle des suites de ces maladies chroniques
va comme suit :
1.4 Objectifs
• Utili sation d' un moteur de règles pour que le système soit souple pour des
changements futurs.
2.1 Le capteur
m s
~----· t t
Mesurand e (m)
---~·(
-
Capteur Jt----•
- Grandeur
électrique (s)
Les capteurs intelli gents (Smart Sensors) sont des dispositifs matériels dans lesquels
coexistent le(s) capteur(s) et les circuits de traitement et de communication. Leurs
relations avec des couches de traitement supérieures vont bien au-delà d'une simple
« transduction de signal ». Les capteurs intelligents sont aussi des « capteurs
d'informations » et pas simplement des capteurs et des circuits de traitement du
signal juxtaposés . De plus, les « Smart Sensors » ne sont pas des dispositifs banalisés,
car chacun de leurs constituants a été conçu dans l'objectif d'une application bien
spécifique [ 13].
• l' unité d ' acquisition : composée d ' un capteur qui obtient des mesures
sur les paramètres environnementaux et d ' un convertisseur
Analogique/Numérique qui convertit l' information relevée et la
transmet à 1'unité de traitement.
• La batterie : un capteur est muni d' une batterie pour alimenter tous ses
composants. Cependant, à cause de sa taille réduite, la batterie dont il
dispose est lim itée et généralement irremplaçable. Pour cela, l'énergie
est la ressource la plus précieuse puisqu'elle influe d irectement sur la
durée de vie des capteurs.
Il existe des capteurs qui sont dotés d'autres composants additionnels comme le
système de positionnement GPS (Global Positioni ng System) ains i qu' un
11
Processeur
1 1
Unité de
Unité d'acquisition Mémoire
1 1
communication
Unité de traitement
I I
Batterie
I
Figure 2.2 Architecture physique d'un capteur
1 Internet
2.3 TinyOS
TinyOS est un système d ' exploitation intégré, modulaire, destiné aux réseaux de
capteurs. Cette plateforme logicielle open-source est composée d ' une série d'outils
développés par l'Université de Berkeley. En effet, TinyOS est le plus répandu des OS
(Operating System) pour les réseaux de capteurs sans fil. Il est utilisé dans les plus
grands projets de recherche sur le sujet. Un grand nombre de ces groupes de
recherche ou entreprises participent activement au développement de cet OS en
fournissant de nouveaux modules, de nouvelles applications, etc. La librairie TinyOS
comprend les protocoles réseaux, les services de distribution, les drivers pour
capteurs et les outils d'acquisition de données.
Le système, ses librairies et ses applications sont écrits en nesC, un nouveau langage
pour le développement d'applications orientées composants. Le langage nesC est
principalement dédié aux systèmes embarqués com.me les réseaux de capteurs. NesC
a une syntaxe proche du langage C, mais supporte le modèle concurrent de TinyOS
ainsi que des mécanismes pour la structuration, le nommage et l' assemblage de
composants logiciels en des systèmes réseaux embarqués fiables. L'objectif principal
13
2.4 TinyDB
C'est un système de traitement de requête pour extraire des informations à partir d'un
réseau de capteurs TinyOS. TinyDB permet aux applications de données d'être
développées et déployées beaucoup plus rapidement. Il possède une interface simple
et de type SQL, pour spécifier les données que vous voulez extraire, avec des
paramètres supplémentaires. La figure 2.4 illustre le fonctionnement de tinyDB.
PC
Mo te
OPS
NULL
Figure 2.4 Une requête et les résultats se propageant à travers le réseau [41]
Les données du capteur sont considérées comme une seule table avec une colonne
par type de capteur. Les tuples (i.e. les lignes de table) sont annexés à cette table
périodiquement, à intervalles d'échantillonnage bien défini [41].
14
FROM sensors
Les réseaux de capteurs peuvent être développés pour plusieurs objectifs dans
différents domaines et, pour illustrer les avantages de réseaux de capteurs, les
sections suivantes montrent leurs utilisations dans trois principaux domaines
d'applications de réseaux de capteurs.
Un réseau de capteurs peut être déployé dans un endroit stratégique ou hostile afin de
surveiller les mouvements des forces ennemies ou d'analyser le terrain avant d'y
envoyer des troupes (détection des armes chimiques, biologiques ou radiations). En
vue de montrer une utilisation réelle des réseaux de capteurs dans les opérations
militaires, les capteurs sont déployés dans les zones d'intérêts. La station de base
collecte et analyse les données puis elle les envoie aux consommateurs qui peuvent
être un soldat, un véhicule militaire, ou autre[l5].
VigiiNet est une des principales applications dans le domaine militaire pour intégrer
les réseaux de capteurs aux missions des surveillances. L'objectif de cette initiative
est d'acquérir et de vérifier les informations des ennemies et les positions des cibles
hostiles. Ces missions impliquent souvent des risques élevés pour le personnel
humain et nécessitent un haut degré de furtivité. Par conséquent, la capacité de
déployer des missions de surveillance sans équipage, à l'aide de réseaux de capteurs
sans fil , est d'une grande importance pratique pour les militaires. En raison des
contraintes, entre autre, énergétiques des appareils [16]._
15
Les réseaux de capteurs peuvent être utilisés pour surveiller les changements
environnementaux. Ils servent à déterminer les valeurs de certains paramètres à un
endroit donné, tels que la température, la pression atmosphérique, etc. En dispersant
des nœuds capteurs dans la nature, on peut détecter des événements tels que des feux
de forêts, des tempêtes ou des inondations. Ceci permet une intervention beaucoup
plus rapide et efficace des secours. Avec les réseaux de capteurs, on peut contrôler la
pollution, par exemple en déposant des capteurs au-dessus d'un emplacement
industriel pour détecter et surveiller des fuites de gaz ou de produits chimiques. Un
exemple concernant les applications environnementales est le projet ARGO. Le but
de ce projet est de surveiller l'eau de l'océan, sa température, sa salinité ainsi que sa
vélocité. Le projet utilise des nœuds équipés de capteurs de température et de salinité.
Les nœuds sont déployés à partir de navires ou d'avions. Ils s'enfoncent à une
profondeur de 2000 mètres tous les dix jours (figure 2.5). Les données recueillies au
cours des déplacements sont transmises à un satellite tandis que des nœuds sont
toujours à la surface. La durée de vie des nœuds est d'environ 45ans [14].
Les avantages d'un WSN (Wireless Sensor Network) sont nombreux pour la santé,
car il fournit les propriétés importantes suivantes:
Les données recueillies forment un journal de la santé et sont utiles pour combler les
lacunes traditionnelles dans l'histoire du patient. Même si le réseau dans son
ensemble est toujours en service, des capteurs individuels doivent toujours conserver
l'énergie grâce à une gestion intelligente de l'alimentation et sur activation à la
demande.
La taille de plus en plus réduite des capteurs, les circuits intégrés ainsi que les réseaux
sans fil ont apporté des idées de développement pour plateformes de capteurs de
faible puissance physiologiques qui peuvent être intégrés dans le Body Area
Networks (BANs) .
Le WBAN peut être utilisé à l' intérieur de l' hôpital pour le monitorage des patients
qui sont en situation critique [17] .
Ces applications couvrent des zones plus larges que WBAN. Elles couvrent
généralement tout l' hôpital où le personnel médical et les équipements sont suivis
pour augmenter 1'efficacité des processus de soin médical. D ' autres infrastructures et
technologies sont utilisées dans cette catégorie d 'applications comme les réseaux
LAN et RFID [18] .
Les tags RFID sont uti lisées dans les hôpitaux pour garder la trace des équipements.
E lles peuvent être aussi implémentées sur les patients ainsi que sur les médecins pour
les localiser immédiatement.
18
Les tags sont des dispositifs passifs qui ne requièrent pas de batterie ;
WPAN qui utilise zigBee ou Bluetooth a une potentielle utilisation dans les domaines
médicaux, par exemple, dans la chambre du patient. Les infirmières sont capables de
suivre les patients en temps réel sans être obligées de leur rendre visite fréquemment.
Cela leur permet d'avoir plus de temps et leur donne l'opportunité de soigner plus de
patients [ 17].
WPANs sont utilisés aussi dans les applications des soins à domicile et dans les
habitats intelligents. Les personnes âgées vivant seules peuvent être alors surveillées
ainsi que leurs environnements sans se déplacer de leur domicile.
Une comparaison entre ces protocoles est donnée dans le tableau 2.1
ZigBee Health Care est développé par ZigBee Alliance. Il a été conçu pour être
utilisé par les apparei ls et accessoires fonctionnels opérant dans les so ins de santé.
ZigBee Health Care est une norme dans l'industrie pour l'échange de données entre
une variété de dispositifs médicaux et non médicaux [24]
2.5.4.1 CodeBiue
CodeBiue est un projet dans le domaine médical basé sur les réseaux de capteurs sans
fil. Les buts spécifiques de ce projet concernent le suivi du patient pré-hopital et dans
l'hôpital pour les soins d'urgence. Ce projet possède le matériel ainsi que le
logicielsuivants:
Mercury est une plateforme de réseaux de capteurs conçus pour supporter des
applications qui ont des données intensives et qui peut s'adapter aux fluctuations de la
disponibilité des ressources. Les principaux défis abordés par Mercury sont : longue
. vie de nœud capteur pour conserver l'énergie de batterie afin que le capteur vive le
plus long possible, un fonctionnement autonome et la nécessité pour le système
d'ajuster automatiquement son comportement en réponse aux fluctuations de la bande
passante radio et de la disponibilité de l'énergie.
Environnement médical
intelligent
• Préparation
du personnel
soignant
Les données après un traitement adéquat, doivent être stockées dans une base de
données de manière à pouvoir être consultées. Un archivage est aussi nécessaire pour
le suivi de l'historique.
La base de données stocke les données de mesure en provenance des patients, mais
aussi des données plus traditionnelles, comme les auscultations, les examens
radiologiques, scanner, IRM, etc ... ainsi que l'historique des consultations, des
pathologies d'un patient et de ses traitements. La base de données constitue en
quelque sorte le dossier médical du patient.
On distingue deux familles de documents qui peuvent être intégrées dans le dossier
médical de patient :
comprend des images provenant d' instruments d'analyse médicale, des graphiques,
des relevés, etc. avec éventuellement des annotations ou commentaires faits par les
diagnosticiens;
L'ensemble des dossiers patients constitue une base de données qui peut être
exploitée pour déceler des relations complexes entre des symptômes et des maladies.
Le mode de transmission de l'alarme peut se faire simplement par un SMS, par appel
téléphonique direct avec synthèse vocale du texte d'alarme ou par un pager [21 ].
des capteurs, ils ont un rôle trés important à jouer dans le domaine médical. Notre
motivation est d' introduire les nouvelles technologies telles que les services web
selon l' architecture REST et de développer une application flexible pour des
changements futures en utlisant le moteur de règles JESS. En plus, l'accès au
services web avec des clients mobile tel que android sdk
CHAPITRE III
ARCHITECTURE PROPOSÉE
Les personnes âgées qui vivent seules ou les personnes atteintes de maladies
chroniques ont besoin d' une surveillance permanente. La télésurveillance médicale de
ces personnes permet Je contrôle continu des maladies chroniques ainsi que la
sécurité des personnes malades ou âgées .
Dans ce travail, on propose une architecture qui répond à notre besoin qui est
l' acquisition et le traitement des paramètres du patient et son environnement. Ces
paramètres comprennent les signes vitaux, la température, la lumière et l'état de
batterie. Ils sont primordiaux pour la surveillance médicale.
La mesure des signes vitaux constitue une des premières étapes lors de l'examen
physique et représente une méthode rapide et efficace pour vérifier l' état du client.
Les valeurs de signes vitaux normaux chez l' être humain sont [25]:
26
• La température corporelle:
Normale: 36.7 à 37 .8
39 et p lus : dangereuse
• La tension artérielle :
La pièce doit être éclairée en tout temps pour assurer la sécurité des patients. Une
alerte est ainsi envoyée si un des signes vitaux a une valeur hors de l'interval le de la
normale, s'il n'y a pas de la lumière suffisante pour que la personne âgée pu isse se
27
Les capteurs sont installés sur le corps du patient pour enregistrer les signes vitaux
ainsi que dans la maison pour surveiller la température et la lumière. Ils collectent et
envoient les données périodiquement à une station de base (utilisée sous forme de
passerelle) qui va les transmettre à son tour à un service de Cloud à travers l' internet.
Ces données seront alors disponibles sur un serveur de Cloud computing.
REST
6: visualiser
!"historique du
patient
Notre architecture est également basée sur une architecture REST (voir sa description
plus loin). Des services web REST sont appelés périodiquement pour sauvegarder les
données dans le serveur d ' une façon permanente et les analyser avec un moteur à
base de règles, géré par un moteur de règles, l'occurrence Jess [34]. Après l'analyse
des données, et selon le cas, une alerte est envoyée à l' infirmière sous forme d'un
message SMS.
Les capteurs les plus connus dans la télésurveillance médicale et dont quelques uns
ont été utilisés [20]:
Un service web est une Un service Web est une application logicielle délivrée sur
HTTP à laquelle on peut accéder à distance à partir des différents langages basés sur
XML. Il est identifié par une URL et s'exécute sur un serveur d'applications. Une
application peut ainsi utiliser plusieurs services web s'exécutant sur des serveurs
distants.
L' approche "Services Web" constitue un changement dans la manière de concevoir et
de réaliser les applications informatiques réparties. Cette approche se substitue aux
architectures et systèmes client/serveur classiques [26].
Locating se rvic e
Publishins service
UDDI
Obt .. gWSDL
SOAP
Deserialization
. -- -- -- llf"l.l .:~
SOAP [fi~
J
Creating service
L'accès aux services web avec SOAP se fait en suivant les étapes suivantes:
~~~---- --- - ~ ----- - ~
30
REST est un style d'architecture qui peut se résumer en quatre verbes (GET, POST,
PUT et DELETE à partir de HTTP 1.1) en noms qui sont les ressources disponibles
sur le réseau (référencé dans l'URI de l'appe l à un service). Chaque verbe est associé à
une opération du type de celles que l'on veut effectuer sur une base de données. Ces
opérations sont groupées sous le nom de CRUD (Create, Read, Update and Delete).
Les verbes REST et leurs équivalents opérationnels CRUD sont présentés dans le
tableau ci-dessous [28].
31
Bien que REST ne soit pas un standard, il utilise des standards [28]. En particulier:
• Des liens hypermedia dans des documents (X) HTML et XML pour
représenter à la fois le contenu des informations et la transition entre états de
l'application,
• Interfaces générales;
• Réduction de la latence d'interaction;
• Sécurité et scalabilité;
• EncapsuJation sécuritaire des systèmes existants;
• Adaptation aux grands nombre de clients;
• Transfert de données dans les réseaux de taille et de type illimités.
Les services Web SOAP et REST ont deux philosophies très différentes. SOAP est un
protocole pour le calcul distribué basé sur XML, alors que REST adhère beaucoup
plus étroitement au design basé Web.
La méthode la plus simple est REST qui a l'avantage énorme de ne pas ajouter une
couche d'abstraction à des données qui n'en ont pas forcément besoin [30].
Le tableau suivant résume les caractéristiques de SOAP et REST ([31] ,[32]) .
REST SOAP
Caractéristiques - Les opérations sont dé fini es dans les - Les opérations sont définies comme
messages. des ports WSDL
- Adresse unique pour chaque instance de - Adresse unique pour chaque opération
processus.
32
- Client n'a pas besoin d'in fo rmations de - Emballage API existantes est simple
routage
Inconvénients -Un grand nombre d'obj ets - Client a beso in de connaître les
opérations et leur sémantique à
-Gestion de l'espace de noms URI peut l'avance
devenir lourde
- Instances de processus sont créées
- L'hypothèse d'un modèle de implicitement
JESS (Java Expert System Shell) [34] est un moteur de règles et un langage de script
entièrement écrit en Java de Sun produit par le Sandia National Labs. Il est utilisé
pour la construction d' applications Java qui possèdent la capacité de « raisonner » en
utilisant des connaissances exprimées sous forme de règles déclaratives.
La télésurveillance médicale est basée sur les paramètres requis des patients. Ces
paramètres doivent être analysés avant de les envoyer au personnel médical. Le
traitement de ces paramètres d'une façon indépendante offre plusieurs avantages,
dont [33] :
Chaque moteur de règles JESS possède une collection de faits (jacts). Cette collection
construit la mémoire de travail. Elle est importante parce que les règles ne peuvent
réagir qu ' aux ajouts, suppressions et modifications dans la mémoire de travail. On ne
peut pas écrire une règle JESS qui va réagir à quoi que ce soit d'autre.
Chaque fait a un template. Un template a un nom et un ensemble de slots; si on fait
une comparaison avec une base de données relationnelle, Je template correspond à
une table, un slot à un attribut de la table et un fait est une ligne de la table.
Plusieurs commandes sont utilisées pour manipuler les faits :
JESS fournit la fonction « deftemplate » pour la définition d'un template comme suit:
(deftemplate template-name
[extends template-name]
["Documentation comment"]
[(declare (slot-specific TRUE 1 FALSE)
(backchain-reactive TRUE 1 FALSE)
(from-class class name)
(include-variables TRUE 1 FALSE)
(ordered TRUE 1 FALSE))]
(slot 1 multislot slot-name
([(type ANY IINTEGER 1 FLOAT 1
Exemple de template :
(deftemplate automobile
(slot make)
(slot model)
Exemple de fact
(assert (automobile
(model LeBaron)
(make Chrysler)
(year 1997) ))
Une règle dans JESS ressemble à une commande if ... then dans un langage
procédural. Elle est construite de deux parties séparées par le symbole "=>". La
première partie consiste en un pattern de pré-condition et la deuxième partie consiste
en l'action.
JESS fournit la fonction « defrule » pour la définition d'une règle [34]:
3.5 Conclusion
36
Dans cette partie, on a schimatisé et expliqué notre solution proposée, plus de détails
de notre solution sera présentée dans le chapitre suivant qui montre clairement notre
propre module réalisé.
CHAPITRE IV
IMPLÉMENTATION
Pour la mise en œuvre, on a utilisé un capteur XBee de Digi [35] connecté par le
réseau ZigBee avec un routeur et une passerelle Connectport X4. Ce dernier est
connecté au réseau internet pour permettre la visualisation des données sur le web et
aussi les intégrer dans les applications web.
Le capteur XBee est un capteur qui fournit les valeurs de température et de lumière en
temps réel , en utilisant le réseau ZigBee. Pour notre implémentation, on a utilisé un
seul capteur. Cependant, le même principe s'applique sur les autres capteurs
biomédicaux que Digi offre.
Digi Manager Prob est une application software-as-a-service (SaaS), hébergée dans
Cloud iDi gi, qui offre la gestion de ce réseau (onnectPort X4, capteur et le routeur)
comme l' illustre la figure 4.2 .
.... ~ c ti O f'tlt{...::/lmy.~com.Tv-A~d:>-1
Dcvl tl' Cloud ... wa.co '"'E IDIGIMAHACERPRO DATA SERVICES SECURtTY I<DMIN HEU'&AJ>IEXPLORER
Œ C •. 0 p
iDigi Dia (Deviee Integration Application) est une app lication écrite en Python qui
sert à collecter les données de capteur et routeur et à envoyer les données collectées
au cloud iDigi. Ceci permet l' intégration avec les applications clients en utilisant les
API de services web pour accéder aux données (35] .
39
Température r- Capteur
passerelle 1 ldigiDia Service web :sei
et lumiere 1- connectPort
Xbee de Digl 1 1
de la piace X4
Cloud IDigi
patient
Fichier XML
clientHistorique
(mobile)
Il Cellulaire
de
l 'infi rmière
alerte
1
1 clientAtert ~ Parseur
(sax)
H clientBD 1
clientCioud
Personnel medical
client
1 1
1 1
Service web : swBD
temperature
Il lumiere
1
1
1
patient
1 Moteur de règles d'alerte
1 id 1 nom 1 prénom 1 adresse 1 te l (Jess)
Base de données MySql serveur
serveur
La plateforme d' IDigi fournit un accès au cloud à travers une architecture basée sur
des serv ices qui donnent les accès aux données de capteurs envoyées par
l'appli cation Idi gi Dia.
40
Le service web est un service web REST qui nous permet de récupérer les données
des capteurs sur notre machine.
On a créé une base de données MySql pour stocker les données des capteurs. Cette
Le moteur de règles Jess est installé sur le serveur pour l'analyse des données
.get( Cl ientResponse.class );
if (response.getStatus() != 200) {
+ response.getStatus());
F'g e 4.4
clients.
42
1
capteur
1
1 Station de base 1 1 Cloud ldigi ·1 1 Servi~ ~;ib sel 1 1 clientCioud J Parseur
(sax) (o;ïo l die
Envoie des
données
Envoie des
données l!
Récupere
Apelle le
service web l
les
données
Sel
Envoyer
i'
les
!
données !
(xm l)
Extraire ''
les
données
l!
!
Retourner les
données
'
demandées
1 1
Récuperer les P,arametres
pour appeller swBD
'
Réc~érer les par.jmetres pour
! appeller sWAiert
i r
Figure 4.5 Diagramme de séquence des clients
Les services web ont été développés avec Java en utilisant le paquetage JAX-RS
(Java API for Restful Web Services) (Figure 4.6).
43
Développement de
Description du Service Web permettant
cl ients dans des
; 7"'""'' L
de générer la partie cliente
.NET ~
~
JAX-RS
- PHP
-
JAVA \ Conteneur Java
OPath 1"/books •)
publ i c c l ass BookRes o urce
@GE:T
Requêtes HTIP
public St ri ng getBooks ()
de types GET /books
---1
jbooksjborrowed @GE:T
@Pathl"/borrowed"l
public Stri ng get Borr owedBooks ()
Serveur Web
Le développement de service web REST repose sur l'utilisation des classes Java et
d'annotation. En effet, une classe Java doit être annotée par @path pour qu' elle
puisse être traitée par des requêtes HTTP. de plus, l' annotation @path sur une classe
définit des ressources appelées Racines et sa valeur correspond à une expression URI
44
La valeur définie dans @path ne se limite pas seulement aux expressions constantes.
Cependant, il ya la possibilité de définir des expressions plus complexes appelées
« Template Parameters ». Pour distinguer une expression complexe dans la valeur du
@path, son contenu est délimité par { ... }. Il ya également la possibilité de mixer,
dans la valeur de @path, des expressions constantes et des expressions complexes
[36].
La méthode HTTP utilisée par ce service web REST est POST. Les données sont
envoyées comme paramètres par le client de ce service web. En premier lieu, il doit
établir une connexion avec la base de données en utilisant JDBC. Par la suite une
requête SQL est exécutée pour insérer les données. La figure 4.8 montre l' utilisation
de la méthode POST pour stocker les données.
@POST
try{
45
}catch(SQLException e){
e. printStackTrace();}
Cellulaire de
clientAiert swAJert jess
1 1 1 1 1 1 1
l'infirmière 1
0 Traiter les
résultats
ii
Envoyer une alerte Al'inferjniere (un message sms)
service web. Ce dernier traite ces résultats et s'il y a une alerte, un message SMS est
La méthode HTTP utilisée dans ce service web est GET avec des paramètres
Identificateur du patient, les valeurs de la température et la lumière et 1' état de
@GET
String res="" ;
try{
} catch (JessException e) {
e.pri ntStackTrace();
swAiert
engine : RETE
et : mali
Alert re suit : lterator
res : String
id : lnteger
message : String ~ ap pellewst 0 : String '
1
toStri ng Q String ru nO
<
\r/
patient
mai l
id : lnteger 1
ta : String
nom : String le mai l est envoyé à un D
from : String
prenom : String fournisseur de sms (synerdev)
message : String -
adresse : String et lui va tra nsfere r le mail sous
subject : String
tel : String forme de message sms
smtpServ: String 1
newAttr : lnteger
newAttr : lnteger
send Ma iiO
• patient: c ' e t la ela e qui mod 'lis un pati nt. Elle st utilisée pour obtenir plus
d'informations sur le patient: nom, prénom, adresse, téléphone, etc.
• Alert : cette classe est utilisée par le fichier Jess pour créer des objets Alert si les
règles d' un rôle sont satisfaites. Un objet Alert contient l' identificateur d' un
patient ai nsi que le message d'alert.
• mail: c'est la classe utilisée par swAlert pour envoyer les alertes par mail au
fournisseur SMS. On a utilisé une API de synerdev de Microsoft SharePoint et la
mobilité (RFID, Windows Mobile, etc.) pour envoyer ces SMS.
48
• RETE est une classe qui appartient à la bibliothèque Jess. Elle établit le lien entre
le code JESS et le code Java.
• swAlert est la classe principale du service web. Elle est implémentée suivant
l' architecture REST en utilisant la méthode GET et le path("/alert/id-{id}-temp-
{temp}-lum-{lum}-bat-{bat}"). La méthode run () de cette classe a pour but
d' exécuter les règles de fichier memoireJess.clp dont les résultats obtenus sont
envoyés par la méthode sendmailO de la classe mail.
(Figure 4.12).
(deftemplate Alerte
( deftemplate Patient
(slot temperature)
(slot pression)
(slot saturation))
( deftemplate piece
(s lot id )
(s lot temperatureP)
(s lot lumiere)
(s lot batterie))
=>
49
(add ?a)
( defrule verificationDEtemperaturepieceB
=>
(bind ?a (new Alerte ?p.id "piece tres froide temp < 15"))
(add ?a)
( defrule vérificationDEiumierepiece
=>
(add ?a)
( defrule vérificationDEbatteie
=>
(add ?a)
• Alert déclaré de la classe alert dans Java. JESS peut créer des template
automatiquement à partir d'une classe Java.
• Patient pour insérer l'identificateur du patient et les signes vitaux
• Piece pour insérer l'identificateur du client et aussi les valeurs de la température
et la lumière de la pièce
Les valeurs de la température et de la lumière ainsi que l'état de batterie sont insérés
sous forme de faits dans la mémoire de JESS comme le montre la figure 4.13 :
private lterator run(String id, String temp, String lum, String bat) throws
JessException {
engine.reset();
engine.batch("C:ImemoireJess.clp");
engine.run();
On a utilisé le template
Le client clientAlert appelle le service web swAlert en passant les données récupérées
du fichier xml parsé par SAX. Le service web reçoit ces paramètres et à son tour les
insère dans la mémoire de travail de JESS (figure4.13) avec 1' instruction :
L' exécution de la commande runO déclenche les règles de JESS sur les faits insérés
dans sa mémoire de travail. Si le pattern de pré-condition est vrai, alors l' action va
être exécutée.
Le service swAlert va insérer ces valeurs dans la mémoire de JESS comme suit:
Lorsque les règles sont déclenchées (figure 4.13) le pattern de pré-condition de cette
règle est vrai :
(defrule verificationDEtemperaturepieceE
=>
(bind ?a (new Alerte ?p.id "piece tres chaude temp > 25"))
(add ?a)
L' action va donc être exécutée, et par conséquent, un objet de type alerte (figure 4.14)
déclaré comme template de la classe JAVA est créé.
52
id= ido;
message = messageo;
} }
Figure 4.14 La classe Alerte de Java
Dans le cas de notre exemple, l' objet suivant a été créé et ajouté à la liste des
résultats:
Après la vérification de toutes les règles, on obtient tous les objets d'alerte. Ces
alertes sont sous forme d ' un message SMS envoyé au cellulaire de l' infirmière
(Figure 4.15).
53
·~ ~ -
··.;. ~.· .1:· · ~·
·-·
-, ··~u!
l ':. "'11'
1
Figure 4.15 Alertes reçues au cellulaire sous forme des messages sms
La programmation des messages SMS avec Java demande du matériel et logiciel qui
n'étaient pas à notre portée comme des passerelles SMS. Pour cela, nous avons utilisé
le fournisseur SMS synerdev. Les alertes sont envoyées par email au fournisseur
SMS qui les transfère instantanément sous la forme de messages SMS (figure 4.16).
el.sendMail();
return( res);
Personnel
1 swHistorique 1 connectBD 1 Base de données 1
médical
1
Appelle le service
web
Demande de données
Requete SQL
Envoie de données
Envoie de données
Affiche l'historique
du patient
@Path("/historique/id- {id}")
@GET
@Produces(" image/png")
return (file);
}}
Figure 4.18 Service web swHistorique
Le client mobile est implémenté par Android SDK. Ce dernier nous fournit les API et
les outils de développement nécessaires pour construire et tester les applications pour
Android (Android est un système d'exploitation mobile pour téléphones intelligents,
PDA, MP3 et tablettes).
Une activité (activity) est la composante principale pour une application Android .
Elle représente l' implémentation et les interactions des interfaces. Une nouvelle
activité démarre avec un écran vide dans lequel on va placer notre interface
utilisateur. Pour cela, on appelle setContentView en lui passant l' instance de View ou
la ressource layout à afficher [38][39].
@Override
super.onCreate( savedlnstanceState );
setContentView(R.layout.main);
}}
Figure 4.19 La composante activité dans Android SDK
La classe R.java est utilisée pour référer aux ressources. En d ' autres termes, elle fait
le lien entre le code Java dans l'élément activité et l'interface utilisateur dans le
fichier main.xml.
L'interface graphique pour une application Android est construite d'une hiérarchie
des objets de vue (view) et groupe de vue (Viewgroup). Les objets view sont
généralement les widgets de l'interface utilisateur comme les boutons (buttons) ou
les champs de texte (text fields). Les objets Viewgroup sont des conteneurs qui
définissent comment les vue enfants sont organisées.
Android offre un vocabulaire XML pour définir une interface utilisateur en utilisant la
hiérarchie de view et Viewgroup (Figure 4.20). [40]
57
VlewGroup
1 1
1 1 1
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:orientation="vertical" >
<LinearLayout
android:orientation="horizontal"
>
<EditText android:id="@+id/idP"
android: layout_width="Odp"
android:layout_height="wrap_content"
android:hint="@string/idP" />
<Button android:id="@+id/okB"
android: layout_width="wrap_content"
android: layout_height="wrap_content"
android:text="@string/okB" />
</LinearLayout>
<lmageView android:id="@+id/affim"
android:layout_width="wrap_content"
android: layout_height="wrap_content"
android:text="@string/affim"
/>
</LinearLayout>
Android SDK permet d' utiliser les émulateurs pour tester les applications. Dans notre
cas, on a choisit d' utiliser un émulateur de tablette. Pour cela, on a configuré le
gestionnaire ADV (Android Virtual Deviee Manager) (figure 4.22).
59
IARM (armeabi-v7a)
Nous avons ajouté un code pour appeler le service web swHistet et afficher
l' historique du client. Ce service web est appelé lorsqu'on clique sur un bouton.
60
Pour cela, on a mis un écouteur d ' évènement (onClick) sur le bouton comme le
Apache HttpCiient est une bibliothèque Java complète et robuste pour exécuter des
button.setOnClickListener(
new OnCiickListener() {
@Override
id = editText. getText().toString();
try{
if(statusLine.getStatusCode() == HttpStatus.SC_OK){
bitmap= BitmapFactory.decodeStream(inputStream);
61
image.setlmageB itmap(bitmap );
} else{
response.getEntity().getContent().close();
}catch (IOException e) {
} }} );
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode=" 1"
<intent-filter>
</intent-ti !ter>
</activity>
</application>
</manifest>
Grâce à ce client, le perso nnel médi cal entre l'identificateur du patient, puis clique
sur le bouton Ok pour obtenir l' historique du patient (F igure 4.26).
4.4 Conclusion
Les résultats obtenus sont très satisfaisants. En effet, on a achevé l'ensemble des
modules proposés dans l' architecture de prototype. Les images présentées et ses
explications donnent un aperçu de notre travail.
CHAPITRE V
EVALUATION DE PERFORMANCES
Le temps de réponse est mesuré comme suit : le client appelle le service web à
l'instant to (mesuré en millisecondes). Le service web reçoit la requête, fait les
traitements et renvoie la réponse au client. Le client reçoit la réponse à 1' instant t 1 et
le temps de réponse est donc t 1 - t0 •
,------·-·--- - ·-·---··-·- - -
1
1
~
5 25000
~
11:::::
temps de réponse de l'alerte
l
1
~ 10000 1!
•m inimum
i
1
i
E
0 ~-·-~-~~--~·L-~~~--~~~~~~--
5 10 20 30 40 50 60 70 80 90 100
1 ~
1
1
nombre de clien ts
i
Figure 5.1 Temps de réponse pour différents clients de service web swAlert
On remarque dans le graphe que, lorsqu ' on augmente le nombre de clients, le temps
de réponse maximum augmente aussi, mais le temps de réponse minimum varie.
Si on estime que le temps de réponse performant pour une alerte est moins de 10
secondes, on constate dans le graphe que 45 requêtes peuvent être exécutées en
même temps pour répondre à cette performance.
Dans notre architecture, la vérification de signes vitaux se fait toutes les 10 minutes,
donc on peut organiser la survei llance des patients en fonction de cet intervalle. Par
conséqu nt, notre archit ctur supporte 2700 patients; un nombre très important dans
la réalité.
On peut alors constater que notre système répond aux besoins des patients et qu'il est
performant.
65
- 5cl ients
~
VI
Q.
1000
500
...... ....... ... ...- l ocl ients
E
~ 0
13:04 13:08 13:1113:13 13:14 13:16 13:17
La fi gure 5.2 montre p lus de détai l sur le temps de réponse. On a vérifié celui-ci sur
plusieurs périodes et on a remarqué qu ' il est stable.
Figure 5.3 Temps de réponse du client mobile et du client fixe pour le service
web swHist
66
La formule suivante est utilisée pour calculer le débit client par seconde:
15
10
0 -
5 10 20 30 40 50 60 70 80 90 100
CONCLUSION
L'évaluation de perform ance nous a montré que l' utilisation des services web légers
comme REST a augmenté les performances globa les de l'application.
• Termi ner le développement a u delà des services offerts à des infirmières qui,
selon le cas, peut appe ler l' ambulance, donner des conseils au patient ou
68
[16] Vigi!Net, " An Integrated Sensor Network System for Energy-Efficient Surveillance,"
http: //www.cs.virginia.edu/wsn/vigilnet/, accédé Mars 2013 .
[ 17] Ibrahim Noorzaie, " Survey Paper: Medical Applications of Wireless Networks , "
http://www.cse. wustl.edu/- jain/cse574-06/ftp/medical_ wireless. pdf, accédé Mars
2013.
[18] H. Furtado, and R. Trobec, " Applications of wireless sensors in medicine, " MIPRO,
2011 Proceedings of the 34th International Convention, pp. 257-261, 2011. IEEE
Computer Society, USA.
[ 19] S. Ahmed and M. Y. A. Raja, "Telemedic Sensor Networks and Informatics for
Healthcare Services,"6 111 International symposium on High-Capacity Optical Networks
and Enabling Technologies, pp. 67-73, 2009, IEEE Computer Society, USA.
[20] Harvard Sensor Networks Lab, " CodeBlue: Wireless Sensors for Medical Care",
http: //fiji.eecs .harvard.edu/CodeBlue, accédé Mars 2013 .
[21] IMINET, " Interfaces for Intelligent Environments," Intelligent Medical Information
Network,
http://mediatoo !s. ii ct. ch/document?url=i minet/IMINet. doc. pdf&dpid= 14 Accédé
Mars 2013.
[22] G. Virone, A. Wood, L. Selavo, Q. Cao, L. Fang, T. Doan, Z. He, R. Stoleru, S. Lin,
and J. A. Stankovic, "An Advanced Wireless Sensor Network for Health Monitoring,"
Transdisciplinary Conference on distributed Diagnosis and Hom e Healthcare
(D2H2) , presented at. Arlington, VA, Avril 2-4, 2006,
www.cs. virginia.edu/papers/d2h206-health.pdf, accédé Mars 2013.
[23] Wikipédia: http: //fr.wikipedia.org/wiki/ZigBeeO, accédé Mars2013
71
[24] ZigBee Alliance, " ZigBee Wireless Sensor Applications for Health, Wellness and
Fitness ", 2009, http ://docs.zigbee.org/zigbee-docs/dcn/09-4962.pdf, accédé Avril
2013 .
(25] SOSinf.org, http://www.sosinf.org/soins-de-base/signes-vitaux/, accédé Mars 2013 .
(30] Xavier Borderie, "SOAP, XML-RPC et REST : différences et intérêts" , journal du net,
2004, http: //www.journaldunet.com/developpeur/tutoriellxml/0411 05-xml-rpc-soap-
rest-1a.shtml, accédé Janvier 2014.
(31] Michael zur Muehlen, Jeffrey V. Nickerson, and Keith D. Swenson," Developing web
services choreography standards : the case of REST vs. SOAP, "Journal Decision
Support Systems- Special issue: Web services and process management, vol.40, no.1 ,
pp.9-29, 2005, ACM.
(32] Brennan Spies, "Web Services, Part 1: SOAP vs. REST" , 2008,
http: //aj axonomy .com/2008/xml/web-services-part-1-soap-vs-rest, accédé Jan vier 2014
(33] Kulani Makhubele, "A Knowledge Based Expert System for Medical Advice
provision", 2012
http://pubs. cs. uct.ac.za!honsproj/cgi-
binlview/201 2/brenkel_makhubele. zip/MAS_MKHKUL002_BRNKEV008/files/kulan
i_thesis. pdf, accessed Mars 2013.
(36] Mickael BARON, "Développer des Services Web REST avec Java: JAX-RS, " 2011 ,
http://mbaron. developpez.com/soa/jaxrs/, accédé Avril 2013.
[37] Fabio A. Schreiber, Life Senior Member, IEEE, Romolo Camplani,Marco Fortunato,
Marco Marell i, and Guido Rota, "PerLa:A Language and Middleware Architecture for
Data Management and Integration in Pervasive Information Systems " IEEE
TRANSACTIONS ON SOFTWARE ENGINEERING, Vol. 38, N. 2, pp. 478-496, 2012,
IEEE Computer Society, USA.
72