Mobiele E-Health applicatie met specifiek gebruiksgeval...

81
Arne Min Jou, Gilles De Waele dementie Mobiele E-Health applicatie met specifiek gebruiksgeval Academiejaar 2014-2015 Faculteit Ingenieurswetenschappen en Architectuur Voorzitter: prof. Marc Vanhaelst Vakgroep Industriële Technologie en Constructie Master of Science in de industriële wetenschappen: elektronica-ICT Masterproef ingediend tot het behalen van de academische graad van Promotoren: prof. Paul Devos, prof. Luc Colman

Transcript of Mobiele E-Health applicatie met specifiek gebruiksgeval...

Page 1: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Arne Min Jou, Gilles De Waele

dementieMobiele E-Health applicatie met specifiek gebruiksgeval

Academiejaar 2014-2015Faculteit Ingenieurswetenschappen en ArchitectuurVoorzitter: prof. Marc VanhaelstVakgroep Industriële Technologie en Constructie

Master of Science in de industriële wetenschappen: elektronica-ICTMasterproef ingediend tot het behalen van de academische graad van

Promotoren: prof. Paul Devos, prof. Luc Colman

Page 2: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS
Page 3: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Arne Min Jou, Gilles De Waele

dementieMobiele E-Health applicatie met specifiek gebruiksgeval

Academiejaar 2014-2015Faculteit Ingenieurswetenschappen en ArchitectuurVoorzitter: prof. Marc VanhaelstVakgroep Industriële Technologie en Constructie

Master of Science in de industriële wetenschappen: elektronica-ICTMasterproef ingediend tot het behalen van de academische graad van

Promotoren: prof. Paul Devos, prof. Luc Colman

Page 4: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Voorwoord

Naast onze promotoren willen we ook professor Mirko Petrovic, kliniekhoofdin de afdeling Geriatrie in het UZ Gent en Mevr. Sachem, neuropsychologein het UZ Gent bedanken. Zij hebben ons goeie respons gegeven over onzeopdracht. Ze wisten ons veel meer te vertellen over verschillende vormen vandementie en bestaande testen om dementie op te sporen. Ook Astrid Herman,Klinisch psychologe in het St.-Franciskusziekenhuis in Heusden-Zolder, willenwe bedanken voor de informatie die ze gaf over haar ASTRID project en welkeresultaten dit bereikt had.

”De auteurs geven de toelating deze masterproef voor consultatie beschikbaarte stellen en delen van de masterproef te kopieren voor persoonlijk gebruik.Elk ander gebruik valt onder de bepalingen van het auteursrecht, in het bij-zonder met betrekking tot de verplichting de bron uitdrukkelijk te vermeldenbij het aanhalen van resultaten uit deze masterproef.”

”The authors give permission to make this master dissertation available forconsultation and to copy parts of this master dissertation for personal use.In the case of any other use, the copyright terms have to be respected, inparticular with regard to the obligation to state expressly the source whenquoting results from this master dissertation.”

10 juni 2015

i

Page 5: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Abstract

In de hedendaagse maatschappij wordt steeds meer gebruik gemaakt vanICT. Ook in de gezondheidssector kan dit nuttig zijn en wordt dit gebruikt.Dit wordt eHealth genoemd. In deze masterproef worden de verschillendeonderdelen van eHealth toegelicht. In het bijzonder Mobile eHealth (mHe-alth). Dit is gezondheidszorg voor mobiele apparaten, zoals gsm’s en tablets.Er wordt een zelfgemaakte applicatie voor Android besproken. Deze bevatverschillende algemene medische functionaliteiten zoals het bijhouden vanhet gewicht en medicatie. Er zijn ook spelletjes toegevoegd die zich specifiekrichten op mensen met dementie. Dit zijn standaardtesten voor dementiedie in een spelvorm gemaakt werden. Om hier een beter zicht op te krijgenwordt ook verschillende aspecten van de ziekte dementie toegelicht. Hier-naast wordt ook de gebruikte software van Android en SQLite besproken.

Today’s modern society lets us use more and more technologies like IT. Thehealthcare sector can benefit greately from IT technologies. The use of ITand electronics in the healthcare sector is called eHealth. This thesis willlook at different components of eHealth, especially mHealth. mHealth isequal to mobile eHealth. This represents the use of mobile devices to helpwith healthcare. An example of a mHealth applicaiton is being developedfor this thesis. The application will contain various features for monitoringa user’s health. Users are able to keep track of their weight and medicationhistory. A couple of games are added for people who might have dementia.These games are actually standardised tests for dementia. In order to makesuch an application there is a need to understand dementia better and toknow what tools can be used to create such an application.

Kernwoorden: eHealt, mHealth, Android, dementie

ii

Page 6: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Inhoudsopgave

1 Smartphone & E-health 11.1 Smartphones . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 eHealth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2.1 Definitie . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2.2 Impact van eHealth . . . . . . . . . . . . . . . . . . . . 71.2.3 Enkele mHealth toepassingen . . . . . . . . . . . . . . 9

2 Uitgelicht geval: Dementie 122.1 Basisinformatie over dementie . . . . . . . . . . . . . . . . . . 12

2.1.1 Vormen van dementie . . . . . . . . . . . . . . . . . . . 122.1.2 Voorkomen . . . . . . . . . . . . . . . . . . . . . . . . 142.1.3 Behandeling . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2 Standaard testen en onderzoeken . . . . . . . . . . . . . . . . 152.3 Dementie toegepast in onze app . . . . . . . . . . . . . . . . . 16

3 Toolchain 183.1 Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1.1 Activities . . . . . . . . . . . . . . . . . . . . . . . . . 183.1.2 Intents . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.1.3 Services . . . . . . . . . . . . . . . . . . . . . . . . . . 233.1.4 Android en threads . . . . . . . . . . . . . . . . . . . . 243.1.5 User Interface (UI) . . . . . . . . . . . . . . . . . . . . 24

3.2 Integrated Development Environment (IDE) . . . . . . . . . . 273.2.1 Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.2.2 Android Software Development Kit (SDK) . . . . . . . 283.2.3 Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2.4 Android Studio . . . . . . . . . . . . . . . . . . . . . . 30

3.3 Android versies . . . . . . . . . . . . . . . . . . . . . . . . . . 313.3.1 Fragmentatie . . . . . . . . . . . . . . . . . . . . . . . 33

3.4 SQLite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.4.1 SQLite en Android . . . . . . . . . . . . . . . . . . . . 34

iii

Page 7: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

3.4.2 Vereiste pakketten . . . . . . . . . . . . . . . . . . . . 353.4.3 SQLiteOpenHelper . . . . . . . . . . . . . . . . . . . . 353.4.4 SQLiteDatabase . . . . . . . . . . . . . . . . . . . . . . 363.4.5 Cursors . . . . . . . . . . . . . . . . . . . . . . . . . . 363.4.6 Queries . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4 E-healthplatform 384.1 Design keuzes . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.2 Achterliggende database . . . . . . . . . . . . . . . . . . . . . 39

4.2.1 Objecten . . . . . . . . . . . . . . . . . . . . . . . . . . 404.2.2 DatabaseHelper . . . . . . . . . . . . . . . . . . . . . . 404.2.3 Database . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.3 Algemeen ontwerp en lay-out . . . . . . . . . . . . . . . . . . 414.3.1 Eerste keer opstarten . . . . . . . . . . . . . . . . . . . 434.3.2 Gebruikers . . . . . . . . . . . . . . . . . . . . . . . . . 444.3.3 Medicatie . . . . . . . . . . . . . . . . . . . . . . . . . 454.3.4 Gewicht . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.4 Herkenningsspel . . . . . . . . . . . . . . . . . . . . . . . . . . 504.4.1 StartGameFragment . . . . . . . . . . . . . . . . . . . 524.4.2 ChooseGameActivity . . . . . . . . . . . . . . . . . . . 524.4.3 PlayGameActivity . . . . . . . . . . . . . . . . . . . . 534.4.4 SolutionActivity . . . . . . . . . . . . . . . . . . . . . . 54

4.5 Klok tekenen . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5 Gebruikservaringen 595.1 Eerste ervaringen . . . . . . . . . . . . . . . . . . . . . . . . . 595.2 Lerend uit andere ervaringen . . . . . . . . . . . . . . . . . . . 605.3 Mogelijke aanpassingen en verbeteringen . . . . . . . . . . . . 60

6 Conclusie 63

Bibliografie 65

A Mini Mental State Examination (MMSE) 67

iv

Page 8: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Lijst van figuren

1.1 Evolutie in grootte van gsm’s. . . . . . . . . . . . . . . . . . . 21.2 Drie dimensies waarlangs eHealth toepassingen kunnen inge-

deeld worden. . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Schematische weergave van de gebruikers van eHealth . . . . . 41.4 logo Apple ResearchKit . . . . . . . . . . . . . . . . . . . . . . 101.5 logo Google Fit . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.1 Groei van aantal mensen met dementie. . . . . . . . . . . . . . 142.2 Test waarbij patient kleur moet zeggen en niet lezen wat er

staat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.1 De verschillende lifecycles van een Android activity. . . . . . . 193.2 De verschillende cycles in volgorde voor het starten en stoppen

van een activity. . . . . . . . . . . . . . . . . . . . . . . . . . . 203.3 Een activity die terug opstart en zijn vorige staat herstelt aan

de hand van een backup. . . . . . . . . . . . . . . . . . . . . . 213.4 Impliciete intent bij het delen van een applicatie. . . . . . . . 233.5 De problemen en oplossingen omtrent de User Interface (UI)

thread. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.6 Het gebruik van fragments om meerdere formaten te onder-

steunen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.7 De Eclipse ontwikkelomgeving met grafische UI editor geopend. 303.8 Android Studio met de grafische UI editor. . . . . . . . . . . . 313.9 Alle Android versies tot nu toe. . . . . . . . . . . . . . . . . . 32

4.1 Statistieken over het gebruik van Android toestellen wereldwijd. 394.2 De achterliggende database van de eHealth applicatie. . . . . . 424.3 De navigatie drawer, momenteel geopend. . . . . . . . . . . . . 434.4 Het UserFragment bij eerste keer opstarten. . . . . . . . . . . 434.5 De NewUserActivity voor het invoeren van de gegevens van

een nieuwe gebruiker . . . . . . . . . . . . . . . . . . . . . . . 454.6 Het UserFragment met 1 toegevoegde gebruiker. . . . . . . . . 45

v

Page 9: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

4.7 Screenshots van het medicatie onderdeel. . . . . . . . . . . . . 474.8 Een Android toast. . . . . . . . . . . . . . . . . . . . . . . . . 484.9 Overzicht van de werking van een alarm in Android. . . . . . . 494.10 Statendiagram van het herkenningsspel. . . . . . . . . . . . . . 514.11 StartGameFragment . . . . . . . . . . . . . . . . . . . . . . . 524.12 ChooseGameActivity . . . . . . . . . . . . . . . . . . . . . . . 524.13 PlayGameActivity . . . . . . . . . . . . . . . . . . . . . . . . 544.14 SolutionActivity . . . . . . . . . . . . . . . . . . . . . . . . . . 544.15 Screenshots van het klok tekenen onderdeel. . . . . . . . . . . 57

5.1 Voorbeeld van de Google kalender waar afspraken verschil-lende kleuren kunnen hebben. . . . . . . . . . . . . . . . . . . 61

vi

Page 10: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Acroniemen

ADB Android Debug Bridge. 28, 29

API Application Programming Interface. 11

APK Android Application Package. 28

ASTRID A Supporting Technology for Rehabilitation In Dementia. 11, 60

AVD Manager Android Virtual Device Manager. 28

BLE Bluetooth Low Energy. 33

dp Density-independent pixel. 26

dpi dots per inch. 27

fab Floating Action Button. 44, 46

IDE Integrated Development Environment. 27, 31

LAN Local Area Network. 29

mHealth Mobile eHealth. ii, 7, 9, 38, 63

MMSE Mini Mental State Examination. 16, 65

NDK Native Development Kit. 33

OpenGL ES OpenGL for Embedded Systems. 29, 57, 58

SDK Software Development Kit. 27–31

UI User Interface. 21, 23–27, 29–32, 44, 45, 48, 55, 57

vii

Page 11: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

WHO World Health Organisation. 14

XML Extensible Markup Language. 25–27, 30

viii

Page 12: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Hoofdstuk 1

Smartphone & E-health

Smartphones zijn niet meer weg te denken uit de hedendaagse maatschap-pij. Tegenwoordig bestaan er meer en meer toepassing met de smartphone,gaande van looptracking tot de rekening betalen. Met de vele sensoren enmogelijkheden zijn ze ideaal om het welzijn en de gezondheid van mensen temonitoren en te verbeteren.

1.1 Smartphones

Letterlijk vertaald is smartphone een slimme telefoon. Dit omschrijft perfectwat het is. Het is een gsm met een geavanceerd besturingssysteem. Hetcombineert de basisfuncties van een gsm, bellen en sms’en, met functies vanvele andere apparaten zoals een gps, mp3 speler, camera, ...

Sinds de komst van de eerste iPhone in 2007 is de markt van de smart-phones ferm gegroeid. Daarvoor waren er nog niet veel smartphones meteen groot touchscreen. Er waren toen wel al enkele smartphones, maar dezewerden nog meestal via een toetsenbord bediend. Daarna kwamen er steedsmeer en meer met een touchscreen.

Er zijn verschillende besturingssystemen voor smartphones. De bekend-ste zijn Windows Phone, iOS en Android. Windows Phone is het derdemeest gebruikte besturingssysteem. Het is ontworpen door Microsoft en staatstandaard op de meeste Nokia smartphones. IOS is ontworpen door Appleen staat op de iPhone, iPad en iPod touch. Het is het tweede grootste bestu-ringssysteem bij smartphones. Android, waar hier ook verder mee gewerktwordt, is het meest gebruikt. Het is ontworpen door Google en in tegen-stelling tot iOS en Windows Phone, is Android voor het grootste deel opensource.

1

Page 13: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Tegenwoordig zijn er smartphones in alle maten en prijsklassen. De eer-ste gsm’s waren extreem groot, nadat er steeds betere technologieen ontwik-keld werden kon de gsm kleiner worden. Nu worden smartphones opnieuwgroter omdat de gebruikers steeds een groter scherm willen. Een mooi voor-beeld hiervan kan je zien in figuur 1.1 Er zijn momenteel al verschillendesmartphones met een scherm groter dan 5.2 inch op de markt, men noemtdeze phablets.

Alle smartphones bevatten een hoop sensoren. We kunnen deze opdelenin enkele categorieen. Een eerste categorie zijn bewegingssensoren. Dezemeten verplaatsingen en draaiingen. Daarnaast heb je ook nog sensoren dieregistreren op welke positie de gebruiker zich exact bevindt. Deze wordendan ook gebruikt als gps signaal. Tot slot bevatten smartphones ook somssensoren waarmee gegevens uit de omgeving opgemeten kunnen worden, zoalsde temperatuur, de luchtdruk, ...

Figuur 1.1: Evolutie in grootte van gsm’s.

1.2 eHealth

1.2.1 Definitie

EHealth of languit electronic health is een heel uiteenlopend begrip. WieeHealth opzoekt kan een breed scala aan onderwerpen vinden. Dit komtomdat er verschillende definities zijn voor eHealth. In 2005 werd door ClaudiaPagliari, een onderzoekster naar medische informatica aan de universiteitin Edinburgh, reeds zesendertig verschillende definities vergeleken. [11] Zijontdekte dat er bij vele definities de nadruk ligt op het communicatieveaspecten van eHealth en op het gebruik van het internet. Pagliari besluit datde definitie van Thomas Eng uit 2001 goed de lading dekt.

2

Page 14: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

” eHealth is het gebruik van nieuwe informatie- en communicatietechnolo-gieen, en met name internet-technologie, om gezondheid en gezondheidszorgte ondersteunen of te verbeteren.”

Ook nu lijkt dit nog altijd een goeie definitie. Het is wel een hele brededefinitie. Het specificeert geen specifieke gebruikersgroepen en beperkt zichniet tot een technologie. Bij het gebruik van zo’n brede definitie kan hethandig zijn om nog een extra onderverdeling te maken. We doen dit hier indrie dimensies: de plaats in het zorgproces, de gebruikers en de toegepastetechniek. Deze drie dimensies worden weergegeven in figuur 1.2

Figuur 1.2: Drie dimensies waarlangs eHealth toepassingen kunnen ingedeeldworden.

De plaats in het zorgproces

In de definitie van eHealth gaat het eerst over de ondersteuning en verbeteringvan gezondheid en gezondheidszorg. Verbeteringen worden niet zomaar ge-realiseerd door toevoeging van computers en elektronica, maar door dezezorgvuldig in te passen in het zorgproces. Er zijn verschillende processenwaarbij ICT gebruikt wordt. Aan de hand daarvan wordt nog eens eenindeling gemaakt. Men spreekt hier van e-public Health als het gaat overvoorlichting en preventie, e-zorg als het gaat over het primaire zorgproces.Hierbij kan men denken aan eHealth bij diagnose, therapie of verpleging enverzorging. Als derde categorie hebben we hier dan e-zorgondersteuning.Dit zijn eerder administratieve zaken zoals inkopen en financien, maar ookafspraken, planning en dossiervoering.

De eHealth gebruiker

EHealth kan gebruikt worden als communicatiemiddel tussen verschillendepartijen. Deze worden getoond in figuur 1.3. Aan de hand hiervan kunnen

3

Page 15: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

zeven verschillende vormen onderscheiden worden. We beginnen links boven-aan.

Figuur 1.3: Schematische weergave van de gebruikers van eHealth

• Communicatie tussen zorgverleners binnen de eigen werkcontext (kleinepijl), bijvoorbeeld bij gebruik van een elektronisch patientendossier.

• Communicatie tussen zorgverleners en patienten, door middel van in-zage in het eigen elektronische dossier, afspraken vastleggen of elektro-nische consultaties (via skype, mail of dergelijke).

• Gebruik van eHealth door patienten binnen hun eigen omgeving (kleinepijl). Dit kan zijn doordat de patient zelf eigen metingen, eigen doelen,... bijhoudt.

• Gebruik bij patienten onderling. Zo kan men bijvoorbeeld contactmaken met lotgenoten die aan hetzelfde lijden, of hetzelfde meegemaakthebben.

4

Page 16: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

• Patienten kunnen communiceren met andere zorgverleners of anderpatienten, bijvoorbeeld raadplegen van beschikbaar voorlichtingsma-teriaal die door gezondheidsorganisaties voorzien zijn.

• Communicatie van een zorgverlening, maar niet met andere zorgver-leners of patienten. Dit kan bijvoorbeeld zijn om bestellingen bij eenleverancier te plaatsen, communicatie met overheid, ziekenkas of hetindienen van informatie bij zorgverzekeraars.

• Communicatie tussen verschillende zorgverleners. Bijvoorbeeld het elek-tronisch doorverwijzen van patienten, afspreken met colega’s, uitwisse-len van medische gegevens, ...

Technologie en eHealth

Een derde methode om eHealth-toepassingen op te splitsen is op basis vande technologie die voornamelijk wordt gebruikt. Dit is soms moeilijk omdatdeze technologie op zichzelf ook weer verschillende dimensies kan bevatten.

• Webapplicaties en webportalen: Toepassingen die via het internet aande gebruiker worden aangeboden.

• Elektronische patientendossiers en persoonlijke gezondheidsdossier: Sys-teem waarin medisch-administratieve gegevens in databanken wordenbewaard. Zorgverleners kunnen medische patientengegevens registre-ren, in het algemeen binnen hun eigen zorgorganisatie. Het wordt somsook gebruikt in combinatie met een webapplicatie zodat de gebruikerook zelf zijn gegevens kan bekijken.

• Health sensoren en wearable devices: Dit is een categorie van appa-raten die vaak in een thuissituatie van de patient worden gebruikt omvitale lichaamsfuncties te meten. Men kan bijvoorbeeld de bloedsuiker-waarde, bloeddruk,... meten. Ook omgevingsbewuste sensoren kunnengebruikt worden, bijvoorbeeld sensoren voor valdetectie. Dit grenstaan bij domotica (zie verder). Wearable devices zijn in zekere zin eenspeciale vorm van de health-sensoren. Het zijn apparaatjes die op hetlichaam gedragen worden, meestal verwerkt in kledij of accessoires.Bijvoorbeeld smartwatches, of T-shirts die nauw aansluiten en waarallerlei sensoren in verwerkt zijn.

• Videocommunicatie: Via videocommunicatie wordt een visuele dimen-sie toegevoegd aan de gebruikelijke vormen van telecommunicatie. Zowordt een beter contact gecreeerd tussen zorgvrager en hulpverlener.

5

Page 17: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Men kan zo ook extra informatie zien, zoals lichaamstaal of gelaats-uitdrukkingen. Dit gebeurt vaak in combinatie met webapplicaties ofmobiele apps.

• Domotica: Dit is een verzamelnaam voor elektronische toepassingen dievoor automatisering in een verblijf zorgen. Het gaat vaak gecombineerdmet sensoren die dan zaken in de woning regelen, zoals temperatuur,licht waar beweging is, .. Niet alle domotica-toepassingen dragen bij totde gezondheidszorg, maar kunnen vaak binnen het kader van eHealth-oplossingen worden ingezet.

• Robotica: Robots zijn machines die bepaalde taken kunnen uitvoe-ren en in het algemeen aangestuurd zijn door computersoftware. Zeworden veel gebruikt in de industrie, maar ook binnen de medischesector komen ze steeds meer voor. Ze worden onder andere ingezetbij minimaal-invasieve chirurgie. De chirurg stuurt dan de robot aanom de operatie te verrichten. Zo kan men meer precisie behalen. Ookbij mensen thuis worden robots ingezet om het leven gemakkelijker temaken. Ze kunnen enkele taken uit handen nemen zoals bijvoorbeeldstofzuigen.

• Medische integratienetwerken: Hier wordt medische informatie uitge-wisseld via een elektronisch netwerk. Het kan hier gaan om verschil-lende soorten informatie zoals medicatiegegens, recepten of radiologi-sche beelden.

• Algemene integratienetwerken: Hier gaat het om meer algemene inte-gratienetwerken voor uitwisseling van gegevens tussen samenwerkendepartners. Men gebruikt vaak dezelfde technologieen als bij medischeintegratienetwerken, maar door de bijzondere privacy-gevoeligheid vanmedische gegevens, worden medische integratienetwerken meestal apartbehandeld.

• Business intelligence en big data: Business intelligence systemen zijngericht op het analyseren en verwerken van gegevens. Aan de handvan de geleverde informatie kunnen dan beslissingen genomen worden.Als men heel veel informatie heeft van uiteenlopende vorm spreekt menover big data.

• Serious gaming: Door middel van game technologie kunnen serieuzezaken toch op een speelse manier aangepakt worden.

6

Page 18: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

• Mobiele apps: Deze vorm van eHealth wordt ook wel mHealth genoemd.Het omvat alles dat op een mobiel apparaat beschikbaar is. Dit kanop een smartphone of tablet zijn. Wij maken een app voor Androidtoestellen, dit valt dus ook hier onder.

1.2.2 Impact van eHealth

Mensen worden steeds ouder, deze vergrijzing zorgt voor een grote uitdagingvoor ons westerse gezondheidssysteem. Er is steeds meer zorg nodig, maarhet wordt ook steeds moeilijker om dit allemaal te financieren. Het aanpassenvan onze levensstijl kan enkele ouderdomsziektes voorkomen. Ook secondairepreventie kan veelbelovend zijn. Dit start vanaf er een diagnose vastgesteldis en mikt erop om de ziekte minder snel te laten verergeren. Hiervoor moetde patient zijn gezondheid opnieuw in eigen handen nemen.

eHealth en specifieker mHealth toepassingen kunnen hier misschien bijhelpen. Niet alleen als apparaten die toezicht houden op mensen die thuiszitten, maar ook als preventiemiddel die onze gezondheid gewoonten ver-betert. De vraag is nu hoe eHealth oplossingen onze gezondheid kunnenverbeteren door het ondersteunen van levensstijl veranderingen. Om hier opte antwoorden gaan we de vraag opsplitsen in subvragen.[15]

1. Welke veranderingen in de levensstijl zijn effectief in het genereren vaneen verbetering van de gezondheid?

2. Op welk vlak en hoe moet men precies aanpassingen doen?

3. Wat kan eHealth hieraan bijdragen?

Welke veranderingen zijn effectief om de gezondheid te verbeteren?

Als gekeken wordt naar de brede waaier aan gezondheidsinterventies die mo-gelijk zijn, kunnen er drie verschillende onderscheiden gevonden worden. Eeneerste is de mate waarin men hiernaar wil streven (gematigde verandering oflevens ingrijpende veranderingen). Als tweede kan de breedte van de inter-ventie bekeken worden. (Op verschillende vlakken gelijktijdig iets veranderenof slechts op 1 vlak). Tot slot is er de vraag als het de bedoeling is om gezondgedrag aan te moedigen vooraleer men ziek is of bij het begin van een ziekte(primaire of secondaire interventies).

Ingrijpende veranderingen zijn motiverender omdat ze snel resultaat ge-ven. De effecten op lange termijn zijn hier ook veel groter. Als deze op

7

Page 19: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

verschillende vlakken worden toegepast gevend deze nog een beter resultaat.Dit wordt echter zelden toegepast. Traditioneel heeft ook primaire preventieniet altijd evenveel succes, maar via eHealth apps kan hier meer plezier encompetitie in gebracht worden. Secondaire preventie wordt echter wel al veeltoegepast. Patienten willen op zo’n moment zelf ook iets aan hun gezondheidverbeteren. Dit wordt dan nog eens extra aangemoedigd door de arts en leidttot een goed resultaat.

Op welk vlak en hoe moet men precies aanpassingen doen?

Na gekeken te hebben welke types veranderingen er werken, is de volgendevraag wat precies moet gebeuren in een gedetailleerder niveau. Namelijk opwelk vlak in het leven van de patient moet men aanpassingen brengen enhoe moet dit precies gebeuren. Uit verschillende studies [15] kan beslotenworden dat mensen hun gewoontes omtrent eten, roken, fitnessen, sporten enomgaan met stress moeten aanpassen. Een combinatie van gerichte levensstijlaanpassingen en gebruik van eHealth producten (met plezier en dagelijkseactiviteiten) blijken hierbij meest te werken.

Wat kan eHealth hieraan bijdragen?

Er zijn vele manieren waarmee eHealth kan bijdragen tot het werken aan eenbetere levensstijl. We gaan ons hier focussen op twee verschillende aspecten.Namelijk kwaliteitssystemen en informatiesystemen.

Kwaliteitssystemen in de gezondheidszorg hebben betrekking op het leve-ren van geıntegreerde gezondheidsbeheer. Er kan een doel ingesteld wordenen de applicatie helpt om dit te bereiken. Het werkt als een coach die jeaanmoedigt om de juiste dingen te doen.

Informatiesystemen in de gezondheidszorg heeft betrekking op (bijna)continue monitoring en het begeleiden van het gezondheidsgewoontes. GoogleFit (zie 1.2.3) is hier een voorbeeld van. Door het gebruik van mobiele ap-paraten, wordt informatie over de gezondheid meer gemeten bij dagelijkseactiviteiten.

Conclusie

Er is een grote diversiteit bij de patienten. Een grote groep zou het interes-sant vinden om actief bij te dragen aan hun gezondheid en de bestrijding vanhun ziekte. Eenmaal ze begrijpen wat de gezondheidsrisico’s zijn en welke

8

Page 20: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

kansen ze nog kunnen krijgen, worden ze vaak gemotiveerd voor een dras-tische verandering in hun levensstijl aan te brengen. Ze zijn blij met goedonderbouwde gezondheidsprogramma’s die hen hierbij ondersteunen. Anderezijn hier niet in geınteresseerd. We zullen streven naar de eerste groep, maariedereen de optie bieden om hun levensstijl aan te passen en gebruik te makenvan nieuwe technologieen.

In het algemeen zouden verfijnde en goed geıntegreerde e/mHealth oplos-singen gezond leven toffer kunnen maken. Ze kunnen voor betere resultatenzorgen, herstelprogramma’s verbeteren en zo leiden tot een nog lagere totalekost voor de gezondheidszorg.

1.2.3 Enkele mHealth toepassingen

Apple ResearchKit

Het is altijd een uitdaging om mensen te vinden voor medische onderzoe-ken. Meestal worden hiervoor mensen betaald, maar dit levert niet altijdde ideale doelgroep op. Het gaat hier dan ook veel over een kleine groepmensen. De frequentie van dergelijke onderzoeken is ook niet groot en somsheel subjectief. Als iemand deelneemt aan dergelijke onderzoeken, weet hijvaak ook pas op het einde van alle onderzoeken hoe hij het precies gedaanheeft. De methodes om aan onderzoek te doen zijn in de laatste decennianiet gewijzigd. Men stuurt dan bijvoorbeeld 60 000 brieven waar uiteindelijk300 mensen op reageren. Goeie informatie is nochtans heel belangrijk. Menkan zo meer te weten komen over een bepaalde ziekte of aandoening en zokan men hier ook bepaalde symptomen aan linken. [1] [2]

Ook Apple had al deze beperkingen van onderzoeken door. Op 9 maart2015 maakten ze bekend dat ze iets nieuws ontwikkeld hadden, namelijk Ap-ple ReasearchKit. Momenteel heeft men wereldwijd al 700 miljoen iPhonesverkocht. Veel van die gebruikers zouden met plezier deelnemen aan on-derzoeken. Dit kan ook heel simpel, want hun iPhone hebben ze altijd bijzich. In plaats van een maal om de drie maanden kan men hiermee iedereseconde van de dag dingen waarnemen. Apple ReasearchKit is een kaderwaarin onderzoekers makkelijk een app kunnen ontwikkelen die door eenbreed publiek kan gebruikt worden. De combinatie van de iPhone en dezehealthkit vormen een goed hulpmiddel bij onderzoeken. Bij de ontwikkelingwerd samengewerkt met verschillende grote universiteiten zoals Oxford enStanford.

9

Page 21: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

De verschillende data die men hierbij krijgt is objectief en dus zeer bruik-baar. Zorgvuldig met deze data omgaan is echter ook heel belangrijk, wantniemand wil dat iedereen weet hoe het met zijn gezondheid gesteld is. Omdeze privacy te garanderen heeft Apple ervoor gezorgd dat deze data nietbij hen terecht komt, maar rechtstreeks bij de onderzoekers van die bepaaldeapp. Je kiest ook zelf welke apps je gebruikt en aan welke onderzoeken jedus deelneemt. Je kan daarbij ook kiezen hoe je data precies gedeeld wordt.

Bij de bekendmaking lanceerde Apple direct ook de eerste vijf apps. Na-melijk voor Parkinson, astma, borstkanker, diabetes en hart- en vaatziektes.

Bij de app waarin men zich richt op mensen met Parkinson moet menzo snel mogelijk met 2 vingers afwisselend op het scherm tikken om reac-tiesnelheid en bewegingsmogelijkheid van de vingers te testen. Een anderetest in deze app is dat men met de telefoon in de zakken 20 meter rechtdoormoet wandelen, draaien en 20 meter terug moet wandelen. Normaal geeftde behandelende arts dan een score hoe recht en goed men gewandeld heeft.Nu wordt dit volledig objectief bepaald door middel van de accellerometersin de iPhone. Voor de applicatie in verband met astma wil men bluetoothinhalators uitdelen. In combinatie met de gps sensoren uit de gsm kan mendan patronen vinden in verband met bestaande kaarten over luchtkwaliteiten wanneer men daarbij hun inhalators nodig heeft.

Momenteel bestaan dus nog maar deze vijf apps, maar met tijd kunnenhier vele ander bij komen.

Figuur 1.4: logo Apple Research-Kit

Figuur 1.5: logo Google Fit

Google Fit

Ook Google heeft zijn eigen app in de eHealth sector. In Google Fit kanje een volledig gezondheidsprofiel aanmaken. Je kan er fitness apps en ap-

10

Page 22: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

paraten aansluiten, zo kan je alle gegevens op een plaats analyseren. Ditkan bijvoorbeeld met de runkeeper app, Fitbit Flex-stappenteller of de NikeFuelband-armband. [20]

Via Google Fit krijgen gebruikers op basis van verschillende factoren eenzicht op hun gezondheid. Dit kan zijn via het aantal gezette stappen, hunhartslag, hetgeen wat ze gegeten hebben, hoeveel calorieen ze dan verbrandhebben,... Al deze informatie kan uit apps en apparaten gehaald worden diede Google Fit Application Programming Interface (API) ondersteunen. Ont-wikkelaars kunnen deze API gewoon aan hun apps en producten toevoegen,waardoor er de komende jaren waarschijnlijk veel nieuwe apps en apparatencompatibel zullen zijn.

Google Fit is er gekomen rond de tijd dat Android Wear uitkwam. Ditis het mobiele besturingssysteem voor wearables. Al deze wearables bevat-ten meestal hartslagmeters, stappentellers en andere gezondheidsfeaturs.Dezedata kan in Google Fit ook gebruikt worden om nog een breder en beter ge-zondheidsprofiel aan te maken.

Het doel van Google Fit is om mensen bewuster te laten leven. Het zorgtervoor dat men er meer op let wat men eet en drinkt en hoeveel men beweegt.

A Supporting Technology for Rehabilitation In Dementia (ASTRID)

Naast de projecten van deze twee marktleiders zijn er ook vele kleine projec-ten rond eHealth, maar deze hebben niet altijd de kans om door te breken.Het ASTRID project is er zo een. ASTRID staat voor ”A Supporting Techno-logy for Rehabilitation In Dementia”, maar is ook genoemd naar de psycho-loge Astrid Herman. Zij heeft dit concept uitgevonden en is tevens psychologein het Sint-Franciskusziekenhuis in Heusden-Zolder. In 2006 kon het projectdoor middel van subsidies gestart worden in het Sint-Franciskusziekenhuis.Door een tekort aan financiering is het tegenwoordig echter niet meer opera-tioneel.

Astrid was een computersysteem op een tablet-pc dat het dementerendeouderen gemakkelijker moet maken zich zaken te herinneren. Het is zeergelijkaardig aan onze app, maar was niet beschikbaar voor Android en kandus niet op gelijk welk toestel gezet worden. Het was in Astrid ook mogelijkom het geheugen te trainen aan de hand van spelletjes en om alarmen in testellen. [8]

11

Page 23: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Hoofdstuk 2

Uitgelicht geval: Dementie

In onze applicatie wordt specifiek op dementie gefocust. Het is daarom be-langrijk om wat meer over de verschillende vormen ervan en hun en heden-daagse testen te weten.

2.1 Basisinformatie over dementie

Dementie is op zichzelf geen ziekte maar eerder een syndroom. Het is eencombinatie van verschillende tekenen of symptomen die het gevolg zijn vaneen ziekte die leiden tot de achteruitgang van de hersenen. De manier waaropdementie verschijnt en de specifieke kenmerken hierbij hangen af van de on-derliggende ziekte en wordt bepaald door de aard, lokalisatie en ernst van deafwijking in de hersenen.

2.1.1 Vormen van dementie

Dementie kan verschillende onderliggende oorzaken hebben. Hieronder vol-gen de meest voorkomende.

De ziekte van Alzheimer

Ongeveer 50 a 60% van de mensen met dementie lijden aan de ziekte vanAlzheimer. De ziekte van Alzheimer is een ziekte die langzaam en geleidelijkhersencellen vernietigt. Er ontstaan ophopingen van eiwit tussen de hersen-cellen waardoor de hersenen niet goed meer functioneren. Bij de ziekte vanAlzheimer lijkt het alsof de patient in het begin gewoon wat verstrooid is,maar in de volgende stadia neemt het functioneren van het geheugen verderaf. Nog later begint het langetermijngeheugen ook af te nemen. Eenvoudige,alledaagse handelingen die men als kind leerde worden ook moeilijk zoals het

12

Page 24: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

openen van een deur met een sleutel, zich aankleden, ... Het herkennen vanvroeger bekende personen gaat ook al minder goed. Uiteindelijk is de patientniet meer in staat om autonoom te handelen. Het verloop en de duur van deaandoening zijn erg afhankelijk van persoon tot persoon.

Vasculaire dementie

Een andere 10 a 15% heeft vasculaire dementie. Vasculaire dementie wordtveroorzaakt door een aandoening in de bloedvaten van de hersenen. Veelmensen met vasculaire dementie hebben een voorgeschiedenis van hart- envaatziekten. Het komt vaak voor na opeenvolgende herseninfarcten. Dit iseen plotse verstoring van de doorbloeding van het hersenweefsel. De hersen-cellen die getroffen worden krijgen te weinig zuurstof en sterven af, metfunctieverlies tot gevolg. Net zoals bij de ziekte van Alzheimer gaat vasculairedementie gepaard met geheugenverlies, uitgesproken stemmingswisselingen,communicatie moeilijkheden, depressie en hallucinaties. Er zijn echter ookenkele verschillen. Het begint veel onverwachter en verloop is niet zo vloeiend,maar met plotse veranderingen.

Lewy body dementie

Lewy body dementie is een vorm die vooral bij mensen die ouder dan 65jaar zijn voorkomt. Dit is het geval bij ongeveer 10 a 15% van de mensenmet dementie. Dit wordt veroorzaakt door een opeenhoping van abnormaleeiwitvormen, Lewy lichaampjes, in de hersenen. Mensen met Lewy bodydementie gaan meestal sprongsgewijs achteruit, met periodes van relatiefherstel. Dit gaat ook gepaard met beven, langzaam bewegen. Daarom denktmen vaak aan de ziekte van Parkinson.

Frontotemporale dementie

Een laatste grote vorm van dementie is frontotemporale dementie, dit stelt10% van alle mensen met dementie voor. Het wordt soms ook wel de ziektevan Pick genoemd en komt meer voor op jongere leeftijd. Het gaat hier omeen groep waarbij er schade is in de frontale en temporale hersenkwabben.Het zijn dan ook vooral stoornissen met betrekking tot deze hersendelen.In het begin treedt geheugenverlies niet naar de voorgrond, maar eerdergedragsveranderingen en/of taalstoornissen.

13

Page 25: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Andere vormen van dementie

Het is ook mogelijk een combinatie van bovenstaande vormen te hebben.Vasculaire dementie en de ziekte van Alzheimer gaan bijvoorbeeld vaak metelkaar gepaard. Naast al deze besproken vormen bestaan ook nog vele andere,minder frequent voorkomende vormen zoals de ziekte van Creutzfeldt-Jakob,aids dementie, ...

2.1.2 Voorkomen

In 2010 schatte men dat er wereldwijd ongeveer 35,6 miljoen mensen aandementie lijden. Volgens recente, ruwe schattingen zijn er dit nu ongeveer47,5 miljoen. Het totale aantal mensen met dementie verdubbelt bijna iedere20 jaar. Volgens cijfers van de World Health Organisation (WHO) schat mendat er in 2030 ongeveer 65,7 miljoen zullen zijn en in 2050 al 115,4 miljoen.[18] Dit is ook te zien in figuur 2.1 Doordat dementie vooral voorkomt opoudere leeftijd en de vergrijzing een feit is, blijft dit aantal nog ferm stijgen.In Belgie zou je zelfs kunnen zeggen dat dementie een tijdbom onder desociale zekerheid legt. Het aantal mensen met dementie zal daarboven nogmeer toenemen in derde wereld landen.

Figuur 2.1: Groei van aantal mensen met dementie.

2.1.3 Behandeling

Momenteel bestaan er nog altijd geen geneesmiddelen die dementie kunnengenezen. Er bestaan echter wel medicijnen die ervoor zorgen dat de ziekte

14

Page 26: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

minder snel evolueert en de symptomen verlicht. Daarnaast zijn er ook ma-nieren om de persoon met dementie en zijn naaste omgeving te leren omgaanmet de ziekte. Dit kan bijvoorbeeld het aanleren van technieken om het ont-houden van informatie te verbeteren zijn. Dit door middel van het gebruikvan geheugensteuntjes en dergelijke.

2.2 Standaard testen en onderzoeken

Wanneer men denkt dat iemand dement wordt, kan men een aantal testenlaten afnemen. Indien dan blijkt dat het effectief zo is, wordt de patient na 6maanden opnieuw getest. Hier bekijkt men als de voorgeschreven medicatiehelpt en herhaalt men de testen. Daarna is er een jaarlijkse controle.

Momenteel worden alle testen in verband met dementie standaard oppapier uitgevoerd. Er zijn verschillende soorten testen. Hierbij is de scho-lingsgraad een belangrijk aandachtspunt. Lager geschoolde mensen kunnenfalen op bepaalde testen zonder dat ze effectief dementie hebben. Een vande testen is bijvoorbeeld een complexe 3D tekening over tekenen. Nadat zedit gedaan hebben wordt het voorbeeld weg gelegd en moet men opnieuwtekenen wat men zich nog herinnert. Na een half uur moet men dit dannog eens proberen. Mensen met een lagere scholingsgraad gaan het al zeermoeilijk hebben om de 3D tekening over te teken.

De testen zijn zo ontworpen dat ze de patient op verschillende vlakkentesten. Kan de patient zijn aandacht bij de zaak houden? Hoe is het gesteldmet zijn korte termijn en lange termijn geheugen? Kan hij nog abstractredeneren? Bij dit alles kijkt men dan ook nog hoe lang het duurt vooraleermen een oplossing heeft.

Enkele veel gebruikte testen zijn de volgende:

• Cijferreeksen: De patient moet een reeks cijfers herhalen, daarna moethij deze proberen omgekeerd te zeggen.

• Kloktest: De patient moet een klok tekenen, indien dit niet lukt, dantekent de dokter een klok. Daarna moet de patient proberen een be-paald uur op de klok aan te duiden.

• Kleurentest: Er staan namen van kleuren geschreven, deze zijn zelf ineen andere kleur gedrukt, zoals in figuur 2.2. De patient moet dan dekleur waarin de tekst gedrukt is zeggen.

15

Page 27: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

• De dokter geeft een omschrijving van een beroep, daarna moet depatient het juiste beroep antwoorden. Op de omschrijving ”Ik vliegnaar je bestemming.”moet dan het antwoord piloot volgen.

• MMSE test (Mini Mental State Examination): Dit is een eenvoudigetest met verschillende vragen waar een maximale score van 30/30 kanbehaald worden. Een score onder 24 wordt als abnormaal beschouwd.Eenmaal je een score onder 10 hebt, dan zit je al in een ernstig stadiumvan dementie. Hierin zitten allerlei verschillende vragen zoals welkseizoen zijn we? Welke dag is het vandaag? In welk land leven wij?Een volledige MMSE test kan je vinden in bijlage A.

Dit zijn allemaal testen die op papier worden uitgevoerd. Tegenwoordigbestaan er ook al testen met de computer.

De Vienna testen zijn zo’n testen die men op de computer kan uitvoeren.Het is een softwarepaket voor klinische testen, waarmee men dementie kandetecteren. Het test de alertheid, verdeelde aandacht, lange termijn geheu-gen, korte termijn geheugen, leervermogen, ... [9] Cogmed is een een andercomputerprogramma waarmee men ook dergelijke testen kan doen. Dit isechter ook voor thuisgebruik. Het is beschikbaar voor mac, windows enAndroid. Het bestaat uit het dagelijks uitvoeren van enkele testen waarbijhet geheugen wordt getraind. [17]

Figuur 2.2: Test waarbij patient kleur moet zeggen en niet lezen wat er staat.

2.3 Dementie toegepast in onze app

In de applicatie zijn enkele standaard testen als een spel geıntegreerd. Het isnamelijk belangrijk om mensen met dementie niet steeds het gevoel te geven

16

Page 28: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

dat ze getest worden, anders worden de patienten steeds opnieuw geconfron-teerd met hun achteruitgang. Sommige mensen kunnen daar niet goed meeoverweg en worden dan depressief of agressief.

In de app zit een quiz waarbij de gebruiker moet intypen wat voor fotohij op het scherm ziet. De foto blijft maar een bepaald aantal seconden ophet scherm, deze tijd moet bij het begin van het spel ingesteld worden. Voordeze foto’s zijn alledaagse voorwerpen gebruikt zoals dieren en fruit. Het isook mogelijk om dit te spelen met de foto’s die bij de contactpersonen op desmartphone aanwezig zijn.

Als tweede test hebben is er de kloktest. Hier moet de gebruiker eersteen cirkel tekenen, eenmaal dit gelukt is kan hij overgaan naar de volgendestap. Dan moet hij de wijzers van de klok op een bepaald uur voorstellen.Op basis van hoe goed dit gedaan is worden scores bijgehouden.

17

Page 29: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Hoofdstuk 3

Toolchain

Als platform voor de eHealth applicatie is er gekozen voor Android van-wege de toegankelijkheid. Bovendien is Android in zijn basis open source enwordt het zeer breed ondersteund op allerhande toestellen, van telefoons tottablets maar ook desktops, TV’s. Sinds kort is daar een nieuwe categorie bijgekomen, namelijk de smartwatches.

In dit hoofdstuk wordt ingegaan op de bouwstenen van een Android ap-plicatie en de algemene principes om een Android applicatie te bouwen. Erwordt zo dus ook gekeken naar de tools die nodig zijn om een Android appli-catie te ontwikkelen alsook de verschillende Android versies. De beste bronvan informatie is de Android Developer website voorzien door Google [10].

3.1 Android

Het Android besturingssysteem bestaat in grote lijnen uit een paar funda-mentele bouwstenen. Deze bouwstenen heeft een ontwikkelaar ook nodig omzijn applicatie te bouwen. In deze sectie worden de belangrijkste bouwste-nen besproken alsook hun impact op het systeem. De objecten die verdertoegelicht worden in dit hoofdstuk zijn: activities, intents en services. Hetis door deze bouwstenen te hergebruiken en aan te passen dat een appli-catie tot stand komt. Er wordt ook toegelicht hoe specifieke bouwstenengeımplementeerd worden in de eHealth applicatie.

3.1.1 Activities

Elk scherm dat getoond wordt op een Android toestel is in zijn basis eenactivity. Een activity is een object dat gebruikt wordt om een venster voorte stellen. Activities zijn per definitie bijna altijd vensters die in full screen

18

Page 30: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

worden weergegeven. Dus bij het openen van een applicatie, het vensterwaarin je de inhoud van de applicatie ziet, is een activity. Er zijn slechtsenkele activities die niet full screen weergegeven worden. Als simpel voor-beeld kan men hier aan dialoogvensters denken. Deze dialoogvensters nemenover het algemeen slechts een gedeelte van het scherm in. Niettemin zorgendialoogvensters ervoor dat de onderliggende activity niet meer toegankelijkis.

Figuur 3.1: De verschillende lifecycles van een Android activity.

Een activity is ook de plaats waar doorgaans alle code van de appli-catie uitgevoerd wordt. Het opstarten van een applicatie bestaat er in dejuiste activity van die applicatie te starten. Iedere activity doorgaat steedseen volledige serie aan cycles voordat deze ook daadwerkelijk op het schermverschijnt. Deze verschillende staten waarin een activity zich kan bevindenworden de lifecycles genoemd. Op figuur 3.1 en figuur 3.2 staan de belangrijk-ste lifecycle methodes en verschillende staten/toestanden waarin een activityzich kan bevinden getoond alsook de volgorde waarin deze doorlopen worden.Het is van belang als ontwikkelaar te weten wanneer en waar een activity zichbevindt in deze cyclus.

Een voorbeeld van het belang van lifecycle methodes is een applicatie diede camera gebruikt. Wanneer de camera actief is dan wordt er redelijk wat

19

Page 31: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Figuur 3.2: De verschillende cycles in volgorde voor het starten en stoppenvan een activity.

stroom gebruikt om het beeld van de camera uit te lezen en op het schermte tonen. Als de gebruiker nu de smartphone in slaapstand zou zetten of hetscherm uit zet dan is het van belang dat de camera ook afgesloten wordten niet op de achtergrond aan blijft liggen. In dit voorbeeld worden deonPause en onResume staten doorlopen. Zodra het scherm uit gaat danbelandt de activity in de onPause staat. Hier zou dan de camera moetenlosgelaten worden zodat het systeem dit proces kan afsluiten. Wanneer hetscherm echter terug aan gaat en de gebruiker wil dus terug het beeld zien vande camera dan moet in de onResume staat de camera terug geınitialiseerdworden. Als dit niet zou gebeuren dan blijft de applicatie op de achtergrondonnodig veel stroom verbruiken om de camera uit te lezen en de beelden opeen view te tekenen dat niet actief is. Het overgaan van een staat naar eenandere staat wordt een lifecycle genoemd.

In de eHealth applicatie wordt gebruik gemaakt van een database. Veelactivities hebben deze database nodig om gegevens te verkrijgen of om gege-vens weg te schrijven of aan te passen. Dit database object is een link methet database bestand op de fysieke opslag van het apparaat en de runtimevan de applicatie. De database raadplegen bestaat er dus in het geheugenuit te lezen en eventueel gegevens weg te schrijven naar het geheugen. Omte zorgen dat de gegevens in de applicatie runtime synchroon zijn met de ge-gevens van de database op de fysieke opslag moet er dus gezorgd worden datde database correct wordt afgesloten. Het gebeurt in dit geval steeds in deonPause methode. De database wordt logischerwijs steeds in de onResumemethode geınitialiseerd. Er treedt een probleem op mocht de database inandere methode dan onResume geınitialiseerd worden. Stel dat de databasegeınitialiseerd wordt in de methode onCreate. Bij de eerste keer opstartenzou dit geen probleem opleveren. Maar van zodra er een onPause en onRe-sume event zou plaatsvinden dan zou er zich een probleem stellen. Want

20

Page 32: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

in zo een geval wordt bij een onPause en onResume event de database nietterug geınitialiseerd in de onResume methode en wordt er dus een nullpoin-terexception verkregen.

Figuur 3.3: Een activity die terug opstart en zijn vorige staat herstelt aande hand van een backup.

Een activity bevat alle UI die de gebruiker ziet (of niet ziet). SommigeUI elementen laten de gebruiker toe gegevens in te voeren, zoals bijvoor-beeld een EditText veld. Indien de lifecycles doorlopen worden dan wordtbij het tonen van een activity ook alle UI opgebouwd. Dit kan zonder extraingrepen soms voor vervelende situaties zorgen. Als voorbeeld kan er geke-ken worden naar de eHealth applicatie waarbij de gebruiker een medicamentkan toevoegen aan de database. Stel dat de gebruiker alle velden heeft in-gevuld maar het medicament nog niet heeft toegevoegd. In dat geval kaner iets gebeuren waardoor de activity onverwachts wordt afgebroken. Eenpotentiele gebeurtenis is bijvoorbeeld gebeld worden. Op dat moment wordtde huidige activity, waar de gegevens van een medicament opgegeven werden,onderbroken en gaat de activity naar de onStop staat. Dit gebeurt door hetdoorlopen van de nodige lifecycle methodes. Ondertussen start de telefoonactivity om het telefoongesprek te laten plaatsvinden. Als de gebruiker nuzou terugkeren naar de activity om het medicament toe te voegen, dan wordter terug begonnen vanaf de onStart staat en worden de corresponderende li-fecycles doorlopen om terug naar de OnResume (activity is zichtbaar) staatterug te keren. Omdat de activity nooit volledig destroyed geweest is, zalde gebruiker de tekstvelden aantreffen met de reeds ingevulde waarden. HetAndroid besturingssysteem houdt automatisch tot in bepaalde mate reedsingevoerde gegevens bij. Wanneer nu echter de activity gedestroyed wordtvoordat de gebruiker het medicament heeft kunnen toevoegen dan zou degebruiker terug opnieuw alles moeten invullen.

Enkele situaties waarin het zou kunnen dat een activity vernietigd wordt

21

Page 33: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

zijn: de activity zit in de onStop staat in het geheugen maar het Androidbesturingssysteem heeft een tekort aan vrij geheugen en moet geheugen vrijmaken. Het Android besturingssysteem zoekt dan naar processen die in deachtergrond lopen om te stoppen. Activities in de onStop staat zijn veelaldegene die het eerst zullen vernietigd worden om geheugen vrij te maken.Een andere situatie is mogelijks de gebeurtenis waarbij de batterij van hettoestel een kritieke lage spanning heeft. In dat geval zal het Android bestu-ringssysteem zichzelf uitschakelen waardoor ook hier de activity eventueelonverwachts gedestroyed zou worden. Er zijn nog veel andere oorzaken maarde mogelijkheid dat een activity onverwachts vernietigd wordt is aanwezig ende ontwikkelaar hoort hier rekening mee te houden. Android voorziet in eenmechanisme om een back up op te slaan van de staat van een activity. Opfiguur 3.3 is te zien dat een activity een soort van back up kan maken vanzijn huidige staat. Deze back up kan dan ingelezen worden de volgende keerdat de activity de onCreate staat bereikt. Op deze manier zou de gebruikervan in het voorbeeld, zelfs na een herstart van zijn toestel, zijn medicamenttoevoegen zonder opnieuw alle gegevens te moeten invoeren.

3.1.2 Intents

Intents letterlijk vertaald betekent bedoelingen. Dat is ook exact wat zevoorstellen binnen Android. Een intent is een object dat als inhoud een be-paalde bedoeling heeft. Er kunnen extra waarden meegegeven worden aande intent. Deze extra waarden moeten wel primitieven zijn. Om complexereobjecten mee te geven moet dat object de mogelijkheid hebben om het teserialiseren. Dit wil zeggen dat het object moet kunnen weggeschreven wor-den in bytes en op die manier terug geconstrueerd worden. Objecten die nietkunnen weggeschreven worden in bytes moeten op een andere manier over-gedragen worden naar een andere activity. Niet alle objecten moeten echterovergedragen worden van activity naar activity. Bijvoorbeeld een cursor vaneen database moet niet meegegeven worden via een intent. Een betere op-lossing in dit geval is om de nodige primitieve gegevens mee te geven via deintent. Dan kan de intent op zijn beurt de cursor terug construeren door eenquery te laten uitvoeren op de database aan de hand van de gegevens die inde intent zaten.

Impliciete Intents

Een voorbeeld hiervan is de deel knop die frequent aanwezig is binnen appli-caties. De deel knop heeft als voornaamste functie het delen van content metandere personen via allerlei kanalen. Veelgebruikte kanalen zijn Facebook,

22

Page 34: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Twitter, mail, Bluetooth, NFC, ... Deze knop lanceert een intent naar hetbesturingssysteem toe en deze intent bevat enkel de info dat hij iets wil de-len vanuit een bepaalde applicatie. Het Android besturingssysteem zal nueen lijst van acties presenteren aan de gebruiker. Deze lijst bevat allemaalapplicaties en toepassingen die deze intent zouden kunnen afhandelen. Eenvoorbeeld is te zien op figuur 3.4.

Figuur 3.4: Impliciete intent bij het delen van een applicatie.

Expliciete Intents

Wanneer een intent de exacte naam van de component die de intent moetafhandelen bevat, dan wordt er gesproken van een expliciete intent. Dit typeintents komt het meest voor binnen Android. Denk maar aan knoppen die jenaar een nieuw venster brengen, dit zijn allemaal expliciete intents. Nog eengoed voorbeeld is het starten van een applicatie vanaf het startscherm. Ditis ook een expliciete intent aangezien de naam van de component letterlijkde naam van de applicatie is die de gebruiker wil starten.

3.1.3 Services

Services zijn objecten welke op de achtergrond actief kunnen zijn. Dezeobjecten hebben dus geen UI. Een goed voorbeeld van een service op Android

23

Page 35: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

is een muziek applicatie die in de achtergrond muziek blijft spelen zonder datde muziek applicatie zichtbaar is op het toestel. Services lopen standaard nietop een andere thread dan de UI thread maar er bestaat een mogelijkheid omservices op een andere thread te laten lopen dan de UI thread. Serviceshebben geen UI elementen maar kunnen wel andere activities starten doormiddel van intents.

3.1.4 Android en threads

Zoals al reeds besproken bij activities, wordt merendeel van de programma-code uitgevoerd binnen een activity. Dit kan echter soms voor problemenzorgen die nefast zijn voor een mobiele applicatie. Een simpel voorbeeld ishet downloaden van een groot bestand via het internet. Indien men de codehiervoor in de activity implementeert dan kan dat voor problemen zorgennaar de gebruiker toe. Alle code van de activity wordt namelijk uitgevoerdop een thread, deze thread waar de applicatie logica op draait wordt ookvaak de UI thread genoemd. Als men dus geen verdere stappen neemt enhet grootte bestand laat downloaden op de UI thread zorgt dit er dus voordat de volledige UI thread geblokkeerd wordt en dat de activity dus tijde-lijk geen user input kan verwerken of updates op het scherm tonen. Meestalverschijnt er ook vrij direct een bericht dat de applicatie niet meer reageertzoals op figuur 3.5a. Dit is natuurlijk ongewenst en moet dus ten alle tijdevermeden worden. Zeker omdat een activity het volledige scherm beslaat.Om dit te vermijden worden zaken zoals het downloaden van bestanden endergelijke best uitgevoerd op een aparte thread. Deze thread heeft dan hetresultaat door aan de UI thread wanneer het klaar is. Een illustratie vandeze werkwijze is te zien op figuur 3.5b. Op deze manier blijft de UI threadvrij en kan deze nog perfect user input verwerken en updates tonen op hetscherm of zelfs de background thread beeindigen voordat deze klaar is.

3.1.5 User Interface (UI)

De meeste gebruikers van een smartphone zijn gewend aan een rijke grafi-sche omgeving. Veel elementen uit het dagelijks leven worden nagebootstin digitale vorm. Op deze manier trachten ontwikkelaars hun applicatiestoegankelijker te maken voor de eindgebruikers. Als ontwikkelaar wil mennatuurlijk dat de gebruiker, zonder een handleiding te lezen, de applicatiekan gebruiken. Alle mobiele platformen hebben hun eigen stijl. Deze stijlwordt meer en meer als grootste onderscheidende factor gezien. In termen vanfunctionaliteit ontlopen de huidige mobiele platformen elkaar niet veel meer.

24

Page 36: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

(a) Een melding van het Androidbesturingssysteem dat er iets isvastgelopen.

(b) Abstract voorbeeld van de UI threaden andere (worker) thread.

Figuur 3.5: De problemen en oplossingen omtrent de UI thread.

Deze huisstijl wordt daarom belangrijker en belangrijker. In het geval vanAndroid heeft Google hier onlangs nog een grote wijziging in gemaakt. SindsAndroid 5.0 (Lollipop) maakt Google gebruik van het zogenaamd MaterialDesign [12]. In grote lijnen houdt dit in dat een digitale gebruikersinterfacemoet bestaan uit lagen zoals papier lagen over elkaar. Diepte wordt gecreeerddoor schaduw van een laag ten opzichte van de laag eronder. Omdat scher-men plat zijn wordt er veel gebruik gemaakt van grote vlakken die bestaanuit een enkele kleur. Natuurlijke materialen simuleren op een plat schermoogt minder netjes ondanks dat het wel nieuwe gebruikers kan helpen.

Om een UI te ontwerpen voor Android zijn er 2 mogelijkheden. Er is demogelijkheid de UI op te bouwen vanuit java code. Dit is echter niet aangera-den maar in sommige gevallen kan dit wel extra controle geven aan de ontwik-kelaar. Indien de ontwikkelaar iets aan de UI zou willen veranderen dan moethet hele project opnieuw gecompileerd worden. Ook heeft de ontwikkelaardan extra veel werk met het ondersteunen van verschillende schermgroottesen talen. De tweede manier is een stuk gebruiksvriendelijker. De UI wordtgedeclareerd in Extensible Markup Language (XML). Het Android bestu-ringssysteem interpreteert de XML bestanden en bouwt zo eigenhandig deUI op. Dit heeft veel voordelen zoals het niet meer hoeven hercompilerenindien er enkel een UI wijziging is. Op deze manier kan de UI zich ook beteraanpassen aan verschillende schermen en formaten. Een simpel voorbeeldhierbij is het verschil tussen een tablet en smartphone. Op een smartphoneis doorgaans niet zoveel plaats om alle UI elementen mooi te presenteren.Niets mag te klein zijn of het wordt onbruikbaar voor de eindgebruiker. Op

25

Page 37: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

een tablet is er echter relatief veel ruimte beschikbaar om alle elementen tetonen. Android biedt nu de mogelijkheid om verschillende XML bestandente voorzien voor een zelfde eigenschap. Om het voorbeeld tussen tablets ensmartphones te volgen nemen we als eigenschap de marges van verschillendeUI elementen. Deze kunnen meerdere keren gedefinieerd worden onder de-zelfde naam maar dan in verschillende mappen. Iedere map bevat in de naameen omschrijving. In het geval van een tablet en smartphone zou dit een mo-gelijke opstelling kunnen zijn: een map layout en een map layout-sw600dp.De sw600dp staat voor smallest width 600 Density-independent pixel (dp).De grootheid dp duidt op een pixel waarde die onafhankelijk is van de pixeldichtheid van het scherm. Smallest width slaat dan weer op kleinste breedtevan het scherm. Sw600dp komt overeen met een 7 inch tablet. Om nu eenverschillende marge te voorzien voor een tablet of smartphone wordt de ge-wenste marge in de juiste map gekozen. Het Android besturingssysteem zaltijdens het inlezen van deze bestanden automatische de correcte bestandeninlezen. Dit is maar een van de oplossingen voor het ondersteunen van ver-schillende formaten. Sinds Android 3.0 (Honeycomb) voorziet Android ookzogenaamde fragments. Dit zijn objecten die men het best kan bekijken alsmodulaire activities. Zo kan 1 activity meerder fragments bevatten. Eensimpel voorbeeld is een applicatie met een lijst aan objecten en indien meneen object aanklikt wordt hiervan een detail getoond. Op een smartphonekan er maar 1 van de 2 objecten getoond worden, ofwel de lijst ofwel het de-tail van een object. Op een tablet kan er echter van de extra plaats gebruikgemaakt worden door de lijst en het detail van object naast elkaar te tonen(zie figuur 3.6).

Figuur 3.6: Het gebruik van fragments om meerdere formaten te ondersteu-nen.

26

Page 38: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Verschillende talen ondersteunen gebeurdt op nagenoeg dezelfde manierals bij het voorbeeld met verschillende marges voor een smartphone en tablet.De ontwikkelaar zorgt dat alle tekst (van eenzelfde taal) in een strings.xmlbestand staat. Deze strings.xml bestanden moeten dan in de juiste mapstaan zoals bijvoorbeeld values, values-nl, values-fr. Opnieuw zal tijdenshet opmaken van de UI het Android besturingssysteem de correcte waardeninlezen.

Voor het ondersteunen van afbeeldingen die er scherp uitzien op iederscherm wordt er een onderscheid gemaakt in pixel dichtheid van het scherm.Android kent momenteel 6 verschillende dichtheden: low density (80 dotsper inch (dpi), ldpi), medium density (160 dpi, mdpi), high density (240 dpi,hdpi), extra high density (320 dpi, xhdpi), extra extra high density (480 dpi,xxhdpi) en extra extra extra high density (640 dpi, xxxhdpi). Zo wordt ervoor iedere afbeelding verwacht dat er meerdere varianten voorzien zijn inverschillende dpi waardes. Doet de ontwikkelaar dit niet dan zullen afbeel-dingen er wazig uitzien op apparaten met dichtheden die de ontwikkelaarniet voorzien heeft.

Door dit systeem kan 1 applicatie op een grootte verscheidenheid vantoestellen werken en met op iedere toestel een aangepaste UI. Dit systeem metXML bestanden vergemakkelijkt het ontwikkelen van een Android applicatieen wordt daarom altijd aangeraden in tegenstelling tot het opbouwen van deUI in java code.

3.2 IDE

De tools die nodig zijn om een Android applicatie te ontwikkelen zijn alle-maal vrij beschikbaar. Als primaire programmeertaal gebruikt het Androidsysteem Java. Voor specifieke Android functies bestaat er de Android SDKwelke voorziet in alle tools om Java te gebruiken om een Android applicatiete ontwikkelen. De 2 meest gebruikte ontwikkelomgevingen voor Androidapplicaties zijn Eclipse en Android Studio.

3.2.1 Java

De keuze voor Java als programmeertaal was noodzakelijk om in een klapeen hele boel ontwikkelaars applicaties te kunnen laten ontwikkelen voorAndroid. Java is immers een wijdverspreide programmeertaal. Het is ookeen programmeertaal met een vrij lage drempel en heeft een uitstekend mo-del voor object georienteerd programmeren. Misschien wel het belangrijkste

27

Page 39: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

argument voor Java is platform onafhankelijkheid. Android is een bestu-ringssysteem dat ontwikkeld is om op een gigantische aantal verschillendetoestellen te draaien. Denk niet alleen aan smartphones of tablets. Hetbesturingssysteem is ook terug te vinden op TV ’s, horloges, desktop compu-ters, settopboxen, ... Al deze verschillende apparaten bevatten veelal ook eengrote verscheidenheid aan hardware. Merendeel van de toestellen draaien opeen micro controller met ARM architectuur. Er bestaan echter ook toestellenmet een chip van Intel welke de x86 architectuur gebruikt. Java laat toe omde toepassing eenmaal te ontwikkelen en vervolgens, via een Java virtuelemachine, te laten draaien op al deze verschillende architecturen.

3.2.2 Android SDK

De Android SDK wordt verzorgd door Google en bevat alle tools en librariesdie noodzakelijk zijn voor het ontwikkelen van Android applicaties. Daar-naast voorziet de Android SDK ook nog in allerlei tools om applicaties tetesten.

Android Virtual Device Manager (AVD Manager)

Misschien wel de meest opvallende tool in de Android SDK is de AVD Ma-nager. Met de AVD Manager is het mogelijk om een Android toestel tevirtualiseren. Hierdoor is de drempel om een applicatie live te testen mindergroot. Op deze manier kan er ook makkelijker getest worden op verschillendeschermgroottes en formaten. Er kunnen ook verschillende hardware knop-pen gesimuleerd worden. Alle randapparatuur van de PC kan ook gebruiktworden als input voor het virtuele toestel. Denk aan de webcam, microfoon,...

Android Debug Bridge (ADB)

Om debuggen makkelijker te maken op Android voorziet de SDK in een ADB.ADB werkt momenteel op 2 manieren: via USB of via het netwerk. De ge-makkelijkste manier is USB. De gebruiker dient enkel toegang te geven ophet toestel zelf dat debug gegevens toegankelijk zijn via de USB verbinding.Om de debug gegevens te zien op een PC moet de ADB daemon draaien endan kan de computer alle log gegevens zien. Het testen van een applicatie opeen toestel wordt ook gedaan via ADB. Eerst wordt de applicatie zelf verpaktin een Android Application Package (APK) en dan op het toestel gezet doormiddel van ADB commando. Daarna kan de applicatie gestart worden mid-dels nog een ADB commando. De ADB laat ook toe om een shell te starten

28

Page 40: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

op het toestel. Zodat ook lokaal commando’s getest kunnen worden. Eenpraktisch voorbeeld is het gebruik van het sqlite3 commando op een toestel.Met het sqlite3 commando kan er gekeken worden naar een database en zokan er makkelijk achterhaald worden wat er precies in een database zit enwat voor output een bepaalde query teweeg zou brengen. Zoals reeds gezegdkan de ADB daemen ook in TCP/IP mode gebruikt worden. Op die manierkan men alle handelingen van ADB ook gebruiken over een (draadloos) LocalArea Network (LAN) netwerk.

Andere tools

De Android SDK bevat verder ook nog een uitgebreide set aan gespeciali-seerde tools. Er is bijvoorbeeld een tool om het geheugengebruik van deapplicatie realtime te volgen. Verder bevat de SDK ook nog een hierarchieviewer. Hiermee kan er een visueel overzicht gecreeerd worden van de appli-catie. Op deze manier kan de ontwikkelaar eventueel de flow van de applicatiebewerken of bekijken. Er zijn ook verschillende toepassingen die traces kun-nen weergeven. Hiermee is het mogelijk om te kijken welke processen preciesiets doen. In het geval van een applicatie die gebruik maakt van OpenGL forEmbedded Systems (OpenGL ES) kan hierdoor frame voor frame bekekenworden hoe de tekenopdrachten verwerkt worden.

3.2.3 Eclipse

In eerste instantie was de Android SDK primair gericht op de Eclipse ontwik-kelomgeving. De Android SDK werkt als plugin onder Eclipse. Een Androidproject wordt grotendeels behandeld als een normaal Eclipse project. Er iswel integratie met de Android SDK maar dit gaat niet verder dan enkelesnelkoppelingen naar programma’s die onderdeel zijn van de Android SDK.Eclipse voorziet wel in een zeer ruwe grafische editor voor het ontwikkelenvan een UI (figuur 3.7). Maar deze editor wordt al snel onbruikbaar indien eriets anders dan de standaard widgets gebruikt wordt. Eclipse geeft suggestiesop basis van wat de gebruiker aan het typen is. Echter zijn deze suggestiesveelal meer gericht op de Java codetaal in het algemeen dan de specifiekeAndroid constructies. Eclipse maakt gebruik van een eigen build systeemvoor het compileren en assembleren van applicaties. Eclipse is een vrij ge-bruiksvriendelijke editor die een goede ondersteuning biedt voor de AndroidSDK plugin zonder fundamenteel veel te veranderen aan de werkwijze vanEclipse.

29

Page 41: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Figuur 3.7: De Eclipse ontwikkelomgeving met grafische UI editor geopend.

3.2.4 Android Studio

Android Studio werd aangekondigd op de Google I/O 2013 conventie [13].Google wil hiermee ontwikkelaars helpen door de drempel te verlagen om tebeginnen met het programmeren van Android applicaties. Android Studio isgebaseerd op de IntelliJ IDEA van Jetbrains [16]. In tegenstelling tot Eclipsevoorziet Android Studio veel diepere integratie met de Android SDK. Zo zijnde suggesties tijdens het typen van code veel meer gerelateerd aan Android enhetgeen waarmee de ontwikkelaar bezig is. Als voorbeeld kan je denken aanhet typen van een declaratie voor een specifiek Android object. Android Stu-dio zal in dit geval veel nuttigere opties presenteren dan Eclipse. Daarnaastvoorziet Android Studio in een nieuw build systeem, Gradle. Met Gradle ishet makkelijker om verschillende versies van een applicatie te onderhoudenen te compileren. Een van de grootste vernieuwingen voor ontwikkelaars isde mogelijkheid om de UI te creeren met grafische editor. Zoals al reedsvermeld, heeft Eclipse een vergelijkbare feature. Echter de editor is heel watdiepgaander uitgewerkt in Android Studio (figuur 3.8). Niettemin moet deontwikkelaar voor de meer geavanceerde UI toch teruggrijpen naar het de-clareren van de UI in code, hierover later meer. Waar Eclipse totaal geensuggesties of correcties geeft tijdens het programmeren van een UI, doet An-droid Studio dit wel. Zelfs in XML kan Android studio suggesties gevenwat het programmeren van de UI veel minder lastig maakt. Het werkenmet afbeeldingen (of drawables) werkt veel natuurlijker dan in Eclipse door

30

Page 42: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

automatisch verschillende formaten van een en dezelfde drawable te groepe-ren tot een drawable. Dit alles zorgt ervoor dat Google zelf Android Studioinzet als beste tool voor het ontwikkelen van Android applicaties. De An-droid SDK zal andere IDE’s blijven ondersteunen maar de nieuwste featuresworden eerst naar Android Studio gebracht.

Figuur 3.8: Android Studio met de grafische UI editor.

3.3 Android versies

Het Android besturingssysteem werd geıntroduceerd op 23 september 2008aan het grote publiek. Deze versie was gemaakt voor touchscreen telefoons.Dit was echter niet altijd het geval geweest. Eerdere versies van Android,die overigens nog niet klaar waren voor het grote publiek, waren gemaaktvoor telefoons met een fysiek toetsenbord. Apple kwam in 2007 met zijniPhone en deze telefoon had geen fysiek toetsenbord, enkel een touchscreen.Deze introductie heeft het design team bij Google er toe aangezet om hunbesturingssysteem ook te ontwikkelen voor touchscreen telefoons in plaatsvan telefoons met een fysiek toetsenbord. Momenteel is Android nog altijdprimair gemaakt voor touchscreen bediening. Er zijn echter al enkele versiesuitgekomen waarbij dit niet meer het geval is zoals bijvoorbeeld AndroidTV en Android Wear (voor slimme horloges). Google heeft de traditie om

31

Page 43: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

iedere Android versie een naam te geven van een dessert en dit in alfabetischevolgorde. Deze naamgeving is begonnen bij android 1.5, Cupcake en gaat zoverder zoals te zien in figuur 3.9.

Figuur 3.9: Alle Android versies tot nu toe.

Iedere Android versie brengt veel vernieuwingen naar het platform. Debelangrijkste waren:

• Android 3.x, exclusief voor tablets. De eerste Android versie die ont-worpen was om op tablets gebruikt te worden. Hiervoor was Androidop een tablet een uitgerekte telefoon. Deze versie kon niet op tele-foons geınstalleerd worden. Hier werden ook fragments (zie 3.1.5)geıntroduceerd. Het was tevens voor het eerst dat er een thema veran-der doorgevoerd werd. Het thema werd Holo genoemd.

• Android 4.0, deze versie combineerde de tablet features van 3.x metde telefoon versie. Er was nu terug 1 versie voor telefoons en tablets.Het thema dat geıntroduceerd werd in 3.x was hier verder verbeterd ener werd een special font voor voorzien namelijk Roboto.Voor het eerstwas er hardware acceleratie beschikbaar voor de UI.

• Android 4.1 ging gepaard met Project Butter om een vloeiendere UImogelijk te maken.

32

Page 44: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

• Android 4.2 bracht ondersteuning voor meerdere gebruikers op 1 toe-stel. Zo kon er makkelijk een gast account aangemaakt worden voorals iemand anders buiten de eigenaar het toestel wilde gebruiken.

• Android 4.3 bevatte ondersteuning voor Bluetooth Low Energy (BLE).

• Android 4.4 kwam samen met Project Svelte. Dit was bedoeld om An-droid terug geschikt te maken voor toestellen met maar 512MB RAM.Ook was deze versie de basis voor de eerste Android Wear versie.

• Android 5.0 zorgde voor een volledig nieuw thema genaamd Materialdesign. Project Volta was bedoeld om de batterijduur te verbeteren.De Android Runtime werd geıntroduceerd.

Het Android besturingssysteem draait op de linux kernel. Android is ont-worpen om verschillende architecturen te ondersteunen. Zoals reeds vermeldin de sectie over Java 3.2.1, wordt er verwacht dat applicaties in Java geschre-ven worden. Zo worden door middel van een java virtuele machine al dezearchitecturen probleemloos ondersteund. Android voorziet echter ook de mo-gelijkheid om applicaties native te draaien. Deze native applicaties wordendan gemaakt met de Native Development Kit (NDK) in de C++ codetaal.Typische toepassingen de geschreven worden met behulp van de NDK zijngrafisch zware spelletjes. Indien een ontwikkelaar er voor kiest om de NDK tegebruiken moet de applicaties verschillende keren gecompileerd worden voorde verschillende architecturen die de ontwikkelaar wil ondersteunen.

3.3.1 Fragmentatie

Nieuwe Android toestellen worden doorgaans voorzien van de nieuwste versievan het besturingssysteem. Maar niet alle oude toestellen krijgen steeds eenupgrade naar die nieuwste versie. Dit is een van de grootste problemen vanhet Android platform naar ontwikkelaars toe. Google probeert hier een mouwaan te passen door het invoeren van een systeem dat oudere toestellen tochnieuwe functies laat ondersteunen.

Android is volledig open source en dit biedt dus veel vrijheid naar ont-wikkelaars van toestellen. Zo zijn zij volledig vrij in de aanpassingen diezij doorvoeren aan het systeem. Dit heeft echter ook een nadeel. Door alleaanpassingen van alle fabrikanten zijn 2 Android toestellen soms zodanig ver-schillend dat het voor een eindgebruiker gezien wordt als 2 aparte systemen.Dit probleem probeert Google op te vangen met Google Play Services. Fabri-kanten die hun toestel toegang willen geven tot de Google Play Store moeten

33

Page 45: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

bepaalde richtlijnen naleven. Zo moeten de Google Play services en GoogleApps geınstalleerd worden. Vooral de Google Play Services zijn interessant.Deze software laag zorgt ervoor dat merendeel van de Android functies ge-abstraheerd worden. Zo kunnen toestellen met een oudere Android versie,maar wel met de recentste Google Play Services versie, toch veel nieuwefuncties ondersteunen. Een praktisch voorbeeld hierbij is de ondersteuningvan fragments (besproken in 3.1.5). Zoals reeds vermeld in 3.3 is de onder-steuning voor fragments er pas gekomen in Android 3.0. Door gebruik temaken van de Support library kan er ondersteuning voorzien worden vooroudere Android versies. Deze Support library wordt regelmatig bijgewerktdoor Google om nieuwe functionaliteit toe te voegen. Zo is het mogelijk omfragments te gebruiken op versies die er strikt genomen geen ondersteuningvoor hebben. Om de verdere versnippering tegen te gaan is Google steedsmeer onderdelen van het Android besturingssysteem aan het afsplitsen enonder te brengen in de Google Play Services. Ook met de introductie vanhun Material design probeert Google de diversificatie van Android tegen tegaan. Google moedigt fabrikanten aan om de richtlijnen van hun Materialdesign te respecteren. Om ontwikkelaars te helpen met de nieuwste Androidfeatures brengt Google zelf de Nexus lijn uit. Momenteel heeft Google 3 re-ferentie toestellen voor de verschillende soorten van apparaten waar Androidop draait. Zo is er de Nexus telefoon (momenteel de Nexus 6), de Nexustablet (momenteel Nexus 9) en de Nexus Player (de eerste van zijn soort).Deze toestellen worden steeds voorzien van de laatste versie van het Androidbesturingssysteem en krijgen een update naar een nieuwere versie van zodradeze uitkomt. Zo kunnen ontwikkelaars steeds hun applicaties testen om hetlaatste Android besturingssysteem om nieuwe functionaliteiten uit te testen.

3.4 SQLite

3.4.1 SQLite en Android

SQLite is een open source database engine die standaard meegeleverd wordtmet Android. Er hoeft dus geen extra software geınstalleerd te worden.SQLite ondersteunt de SQL standaard maar zal veel nieuwe of exotischerecommando’s niet ondersteunen. Zoals de naam al doet vermoeden is SQLitegeen volledige Database oplossing zoals bijvoorbeeld Oracle. Het heeft echterwel voldoende mogelijkheden en is, zeker met het oog op mobiele toepassin-gen, een goeie keuze vanwege het feit dat het een zeer compacte oplossing is.SQLite schrijft de database weg naar 1 enkel bestand. Alle acties in verbandmet de database zijn beveiligd tegen crashes zodat de database voldoende

34

Page 46: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

beschermd is tegen corruptie. Met iedere nieuwe versie van Android wordtook steeds een nieuwere versie van SQLite meegeleverd. Doordat SQLitesteeds backwards compatibiliteit biedt voor oudere versies zal de versie vande SQLite database niet snel voor problemen zorgen binnen applicaties.

SQLite ondersteund drie datatypes:

• TEXT, is vergelijkbaar met String in Java

• INTEGER, is vergelijkbaar met long in Java

• REAL, is vergelijkbaar met double in Java

Alle andere types moeten omgezet worden naar een van deze drie vooraleerze kunnen opgeslagen worden in de database. SQLite controleert niet of eenondersteund datatype wordt weggeschreven. Het is van belang als ontwik-kelaar hier rekening mee te houden voor het ontwerp van de objecten in desoftware. Alles moet herleid worden naar deze 3 datatypes.

3.4.2 Vereiste pakketten

Om een database te maken in Android moeten 2 pakketten toegevoegd wor-den. In android.database zitten alle pakketten in verband met databases enandroid.database.sqlite bevat de SQLite specifieke klassen.

3.4.3 SQLiteOpenHelper

Om een database te maken en up te daten moet er een subklasse van deSQLiteOpenHelper klasse aangemaakt worden. In de constructor van dezesubklasse wordt de super() methode van de SQLiteOpenHelper gebruikt.Hier wordt ook de naam en versie van de database meegegeven.

In deze subklasse moeten de onCreate() en onUpgrade() klassen ook over-schreven worden. onCreate() wordt opgeroepen indien de database geopendwordt wanneer deze nog niet aangemaakt is. onUpgrade() wordt opgeroe-pen als de databaseversie toegenomen is. Hierbij wordt het database schemaupgedatet of wordt de bestaande database vervangen door een nieuwe versievia de onCreate() methode.

In de SQLiteOpenHelper klasse worden ook de methodes getReadable-Database() en getWriteableDatabase() vermeld. Deze methodes laten toe dedatabase te openen in respectievelijk alleen-lezen modus of lezen en schrijvenmodus.

35

Page 47: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

3.4.4 SQLiteDatabase

SQLiteDatabase is de basis klasse om met databases te werken in Android.Het bevat alle methodes om een databasesysteem te beheren. Hierbij zijn ermogelijkheden om waarden aan te maken, updaten en verwijderen: insert(),update(), delete() en eigen SQL commando ’s uit te voeren: execSQL().Het bevat ook het object contentValues. Hierin wordt de relatie tussen eenbepaalde plaats in een tabel en de waarde in die tabel bijgehouden. Ditwordt gebruikt bij het invoegen en updaten van waarden in de tabel.

3.4.5 Cursors

Bij een database in Android worden de gegevens verkregen door een SQLquery meestal teruggegeven als een Cursor. Een cursor is het best te verge-lijken met een pointer vanuit de C/C++ codetaal. De pointer in het gevalvan een database (cursor) wijst naar een rij uit ene tabel. Deze cursor kanmen net zoals een pointer gebruiken om te itereren over de tabel met waardes.

3.4.6 Queries

Queries zijn opdrachten die aan een database worden meegegeven en eenoutput tot gevolg kunnen hebben. In SQLite zijn er drie mogelijkheden omqueries te maken.

SQLiteQueryBuilder

SQLiteQueryBuilder is een gebruiksvriendelijke klasse waarmee queries ge-maakt kunnen worden aan de hand van enkele parameters die de ontwikke-laar meegeeft aan de functie. Deze manier van queries opstellen wordt overhet algemeen als veiliger beschouwd omdat het zo moeilijker is om een SQLinjectie te bewerkstelligen.

query()

Aan de opdracht qurery() worden 7 parameters meegegeven. Aan de handdaarvan wordt de effectieve select opdracht gemaakt. Als een parameternull is, dan wordt deze niet meegegeven. De parameters worden in volgendevolgorde opgegeven:

• String dbName: naam van de database waarop de query moet toegepastworden.

36

Page 48: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

• String[] columNames: lijst met alle kolommen die moeten weergegevenworden, null geeft alle kolommen terug.

• String whereClause: where clausule, hier kunnen beperkingen wordengelegd op de te verkrijgen data.

• String[] selectionArgs: in de where clausule kan je vraagtekens zetten,deze worden dan vervangen door de hier ingevulde woorden.

• String[] groupBy: filter die de rijen groepeert volgens de opgegevenparameters.

• String[] having: filter voor de groepen.

• String[] orderBy de gegevens worden geordend volgens de opgegevenkolommen.

Voorbeeld:

Cursor cursor = database.query(MeHealthDatabase , null ,

"medicationuserid =?", userid , null , null , null);

rawQuery()

Bij rawQuery wordt de query volledig uit getypt. Er kunnen eventueel op-nieuw vraagtekens ingevuld worden in de where clausule. Deze worden danals tweede parameter meegegeven.

Voorbeeld:

Cursor cursor = getReadableDatabase (). rawQuery(

select * from medication where medicationuserid =? ,

new String []{ userid });

37

Page 49: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Hoofdstuk 4

E-healthplatform

In dit hoofdstuk worden de verschillende aspecten van de applicatie beschre-ven en wordt de implementatie ervan bekeken. Er is gekozen voor een ehe-alth applicatie die vooral kan gebruikt worden door een hulpbehoevende ofdoor zijn zorgverlener. De hulpbehoevende kan de applicatie op zijn eigensmartphone of tablet installeren. Dit zorgt voor een meer persoonlijke er-varing. Zo wordt onder andere voorzien in een toepassing om medicatie bijte houden van de gebruiker en kan de gebruiker ten gepaste tijde herinnerdworden om bepaalde medicatie in te nemen. Daarnaast worden enkele sim-pele testen voorzien om zo de mentale staat van de gebruiker te achterhalen.Voor de naam van de applicatie is gekozen voor een combinatie van eHealthen mHealth tot Me-Health. Hierin kan men het woord Me vinden wat er opduidt dat het een persoonlijke applicatie is. Dit is louter een naam voor hetproject en kan ten alle tijde veranderd worden.

Ook al heeft een hulpbehoevende geen smartphone of tablet, dan kan dezetoch in contact komen met de applicatie. De applicatie is ontworpen metzorgverleners in het achterhoofd. Zo zijn er functies ingebouwd om meerderegebruikers/patienten te beheren. Er worden steeds alleen gegevens getoondvan de actieve gebruiker/patient.

4.1 Design keuzes

Zoals reeds vermeld in onderdeel 3.3 hebben er al redelijk wat Android versiesde reveu gepasseerd. Aangezien niet iedereen op de laatste nieuwe versievan het besturingssysteem zit met alle problemen vandien (onderdeel 3.3.1)moet er wel een keuze gemaakt worden op welke Android versie de applicatiewerkt. Door de Google Play Services en de Android Support library is hetwel mogelijk om nog Android versie 1.5 te ondersteunen. Dit is echter niet

38

Page 50: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

altijd gemakkelijk want er blijven soms wel vrij grote verschillen tussen 2versies zitten waardoor niet alles evengoed werkt. Ook kan het zijn datde ontwikkelaar bepaalde constructies moet dupliceren en aanpassen vooroudere versies van het besturingssysteem. Bepaalde functies worden ooktotaal niet ondersteund door oudere versies. Niet alleen het ondersteunenvan alle features kan soms een pijnpunt zijn maar ook het testen op al dezeversies. Meestal wordt er getest op de laagst ondersteunde versie. Indiener ondersteuning wordt geboden tot onder Android 4.0 moet er toch apartgetest worden om zeker te zijn dat alles werkt. De fundamentele wijzigingenin Android 4.0 en hoger ten opzichte van Android 2.x en lager liggen aande basis voor de meeste compatibiliteitsproblemen. Google houdt zelf databij over het gebruik van Android wereldwijd enkele van deze grafieken zijnte zien op figuur 4.1. Op figuur 4.1a is de verspreiding van de verschillendeAndroid versies te zien. Momenteel beslaan sub-Android 4.x versies maar 6%van het totaal. Dit aandeel zal in de toekomst enkel dalen. Voor de eHealthapplicatie is als minimum gekozen voor Android 4.0. Hiermee wordt 94%van de toestellen, momenteel in gebruik, ondersteund.

(a) Verspreiding van Android versies.

(b) Verspreiding van schermpixeldichtheden.

Figuur 4.1: Statistieken over het gebruik van Android toestellen wereldwijd.

4.2 Achterliggende database

Alle gegevens in de applicatie worden opgeslagen in een database. De struc-tuur van onze database kan je zien in figuur 4.2. Hier kan je zien dat allegegevens, behalve pictures en categories vast hangen aan een bepaalde ge-bruiker en deze userid bevatten in hun tabel. Zo kan men de resultaten vaneen spel, of de te nemen medicatie van iedere gebruiker afzonderlijk bekijken.In de applicatie zullen er dan ook alleen maar gegevens van de geselecteerde,actieve gebruiker te zien zijn.

39

Page 51: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

De foto’s en categorieen in de database (in de pictures en categories ta-bellen) worden echter geladen de eerste maal dat de app gestart wordt. Inde main activity wordt een functie doorlopen die alle gegevens dan toevoegt.Bij alle volgende keren wordt deze functie niet meer opgeroepen.

De tabel RecPictures is een verbindingstabel tussen Pictures en Rec-Game. Het bevat een foto, een boolean die aanduidt of deze correct geradenwas en de id van het spel waarbij dit zo was. De ”Rec” in RecPictures enRecGame is afkomstig van Recognition, wat dus op het herkennen van defoto’s wijst.

4.2.1 Objecten

Om gemakkelijk gegevens te kunnen toevoegen en opvragen uit de databaseworden hiervoor objecten gemaakt. Alle objecten zijn uitgebreide elementenvan DatabaseObject, een zelf aangemaakte klasse. Dit bevat een id met eenconstructor, getters en setters hiervoor. De afgeleide objecten bevatten danextra nodige info. Deze info komt ongeveer overeen met de elementen in eenbepaalde tabel uit de database. De klasse Weight bevat bijvoorbeeld eengewicht, en een datum.

4.2.2 DatabaseHelper

Zoals in het hoofdstuk over SQLite beschreven is, moet je een subklasse vande SQLiteOpenHelper maken. In de applicatie is dit het bestand Database-Helper.java.

Hier zijn al onze kolomnamen opgeslaan als final Strings. Indien er eenkolomnaam aangepast moet worden, dan moet dit slechts op 1 plaats ge-beuren. Het zorgt er ook voor dat er geen errors kunnen voorkomen doortypfouten in de naam van de kolom. Ook alle Strings om een tabel aan temaken zijn hier als final String gecodeerd. Deze worden dan samen in deOnCreate functie opgeroepen. Ook alle rawQuerys staan hier als static finalString uitgetypt. Deze worden in ons tweede databasedocument gebruikt.

4.2.3 Database

Hier staan alle andere functies in verband de database. Open() bevat degetWritableDatabase() functie. Deze wordt telkens opgeroepen in de onRe-sume methode. In onPause wordt dan weer de database gesloten. Dit zorgt ervoor dat de database altijd mooi geopend en gesloten wordt. Zo gaan er geen

40

Page 52: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

gegevens verloren, worden ze altijd juist opgeslagen en blijft de verbindingmet de database niet op de achtergrond openstaan.

Verder is er hier ook de functie getCursor. Deze bevat twee parameters:een String met de uitgetypte query uit de databaseHelper klasse en een Stringdie de vraagtekens in de where clausule vervangt. Om bijvoorbeeld om allemedicatie van de actieve gebruiker te selecteren, is dit:

public Cursor getCursor(

DatabaseHelper.SELECT_MEDICATION_WHERE_ID ,

activeUser) {

cursor = sqLiteDatabase.rawQuery(

DatabaseHelper.SELECT_MEDICATION_WHERE_ID ,

new String []{ where });

}

Hier staan ook de methodes om een databaseobject toe te voegen, teverwijderen en te updaten. Deze methode wordt opgeroepen voor een Data-baseobject en dan specifiek uitgewerkt per object.

Deze klasse bevat ook methodes om specifieke gegevens uit te databasete halen. Zoals een lijst van alle categorieen, gegevens van een bepaaldemedicatie of het aantal gespeelde spellen met score erbij, enzoverder.

4.3 Algemeen ontwerp en lay-out

Er is gekozen voor lay-out met een navigatie drawer. De drawer is in feiteniets meer dan de lijst met verschillende onderdelen van de applicatie zoalste zien op figuur 4.3. De drawer kan opgeroepen worden door links boven opde hamburger toets te klikken. Een hamburger toets bestaat doorgaan uit 3horizontale strepen op elkaar. De hamburger toets is te zien op figuur 4.4.Bij het klikken op de hamburger toets wordt duidelijk aan de hand vande animatie dat de drawer eigenlijk links verscholen zit buiten het scherm.Eindgebruikers met reeds wat ervaring op Android zullen deze lay-out snelherkennen. De drawer kan ook geopend worden door links van buiten hetscherm naar binnen te vegen. Dit type lay-out wordt aangeraden in de richt-lijnen van Google. In Android Studio is dit ook een van de sjablonen voorhet maken van een applicatie. Het laat de eindgebruiker makkelijk en sneltussen de verschillende onderdelen van de applicatie navigeren. Op deze ma-nier wordt ook niet continu plaats ingenomen op het scherm om de andereonderdelen van de applicatie te tonen.

41

Page 53: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Figuur 4.2: De achterliggende database van de eHealth applicatie.

42

Page 54: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Alle elementen in de lijst van de drawer zijn snelkoppelingen naar frag-ments. Het wisselen tussen deze onderdelen zorgt er niet voor dat er eennieuwe activity gestart wordt. Alles blijft binnen de MeHealthActivity. Naareen onderdeel navigeren zorgt er voor dat het getoonde fragment vervangenwordt door het opgevraagde fragment. Fragments hebben op zichzelf ook eenlevenscyclus. Doordat alles echter in een activity blijft is er de mogelijkheidom het database object dus maar eenmalig aan te maken. Alle fragmentshebben immers toegang tot hun parent activity en de methodes daarvan.

Figuur 4.3: De navigatie dra-wer, momenteel geopend.

Figuur 4.4: Het UserFragmentbij eerste keer opstarten.

4.3.1 Eerste keer opstarten

Indien de applicatie voor de eerst maal wordt opgestart zal de gebruikerdirect doorverwezen worden naar het gebruikers fragment. Hier wordt dangevraagd om een gebruiker aan te maken alvorens de applicatie verder tegebruiken. Het fragment met de gebruikers wanneer er voor de eerste keeropgestart wordt is te zien op figuur 4.4. Op deze manier worden alle gegevensdie worden ingegeven op andere plaatsen van de applicatie gelinkt aan die

43

Page 55: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

gebruiker. Zo wordt het aantal gegevens die niet gelinkt zijn aan een gebrui-ker beperkt. Eenmaal er een gebruiker aangemaakt is, wordt er tijdens decheck bij het opstarten voor gezorgd dat de laatste gebruiker automatisch ge-selecteerd wordt en actief is. De gebruiker kan ten alle tijden veranderen vangebruiker. Vooral zorgverleners zullen hier voordeel van ondervinden. Opandere plaatsen in de applicatie worden bij acties, waarbij de huidige actievegebruiker nodig is, de huidige actieve gebruiker uitgelezen uit een globaalbestand dat voorkeuren bevat. Het bestand bevat enkel naam / waarde pa-ren. Tijdens de selectie van een actieve gebruiker wordt deze weggeschrevennaar het naam / waarde paren bestand. Dit bestand wordt op een gestan-daardiseerde manier onderhouden in Android. Het bestand wordt gecreeerden onderhouden door de sharedPreferences van Android. Deze constructielaat toe op een gemakkelijke manier naam / waarde paren op te slaan ge-durende de tijd dat de applicatie actief is. In het geval van een gebruikerwordt de database ID bijgehouden. Op die manier kan de ID rechtstreeksgebruikt worden in bepaalde queries waarbij enkel gebruikers gerelateerdecontent mag getoond worden.

4.3.2 Gebruikers

Zoals al reeds vermeld ondersteunt de applicatie het gebruik van meerderegebruikers/patienten. De manier waarop dit geımplementeerd is gekozenvanwege zijn eenvoud en de richtlijnen van Google. De UI is volledig ont-worpen in de stijl van het nieuwe Material design. Zo is er een lijst metitems welke in dit geval gebruikers zullen zijn. Een grote Floating ActionButton (fab) is voorzien om een gebruiker toe te voegen. Na het drukkenop de fab komt de gebruiker in een nieuwe activity terecht waar de gegevensvoor de toe te voegen gebruiker ingevuld kunnen worden. Deze activity iste zien op figuur 4.5. In deze activity is er aandacht gegeven aan het typetoetsenbord dat gebruikt wordt om de gegevens in te voeren. Zo is er bij-voorbeeld voor het ingeven van de naam voorzien dat de eerste letter vaneen woord steeds met hoofdletter begint. De widgets voor het selecteren vaneen datum zijn standaard widgets van het Android besturingssysteem en zijndus volledig in de stijl van de gebruikte versie van het besturingssysteem. Erzijn 2 knoppen zichtbaar bovenaan de toolbar in deze activity. De knop metde pijl naar links brengt de gebruiker terug naar de vorige activity, in ditgeval de MeHealthActivity. Terwijl de ander knop in de vorm van een V degebruiker ook terug brengt naar de vorige activity echter wordt er nu wel eengebruiker aangemaakt en toegevoegd aan de database. Tegelijkertijd wordtook de huidige actieve gebruiker geregistreerd in de sharedPreferences vande applicatie. De eindgebruiker kan steeds naar dit fragment terug navigeren

44

Page 56: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

om een andere actieve gebruiker te selecteren.

Figuur 4.5: De NewUserActi-vity voor het invoeren van degegevens van een nieuwe ge-bruiker

Figuur 4.6: Het UserFragmentmet 1 toegevoegde gebruiker.

4.3.3 Medicatie

Een van de speerpunten van de applicatie is het beheren van medicatie vooreen gebruiker. De UI bestaat terug uit een lijst met items. De lijst is eenzogenaamde recyclerview. Een recyclerview is een nieuw soort lijst voorhet weergeven van items binnen Android. Dit object is geıntroduceerd metAndroid 5.0 (Lollipop). Door de compatibiliteitslaag binnen Android en hetGoogle ecosysteem wordt deze nieuwe structuur ook ondersteund op oudereversies van Android. Recyclerview is in essentie een meer geavanceerderversie van het klassieke listview. De naam recyclerview komt van de werking.Ieder item binnen een listview is een view op zich of iets dat view extends.Deze views worden aangemaakt en vernietigd tijdens het scrollen van een lijst.Een recyclerview hergebruikt de view objecten om geheugen en allocaties te

45

Page 57: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

sparen. Een recyclerview is dus in principe een efficientere vorm van eenlistview. Niet alleen de efficientie is verbeterd bij een recyclerview, het is ookmeer aan te passen dan een traditioneel listview. Een nieuw type item dathier bij gepaard gaat is een cardview. Een cardview is een view dat eruit zietals een kaart met informatie. Deze cardviews zijn volledig aan te passen. Opzich zijn cardviews niet speciaal maar deze worden veel gebruikt door heelhet OS heen sinds Android 5.0. Ze dragen bij tot het Material design en zijndus aan te raden voor het gebruik van lijsten.

Voor de eHealth applicatie is er dus gekozen om de verschillende medi-camenten voor te stellen met cardviews. De cardviews bevatten de naam,een beschrijving, een frequentie van inname en een tijd voor een ingesteldalarm. Indien een medicament geregistreerd staat om bijvoorbeeld 3 maalingenomen te worden per dag dan zal dit het eerst volgende moment tonenwaarop het alarm zal afgaan. Het recyclerview met cardviews is te zien opfiguur 4.7a. Ook hier wordt er gebruik gemaakt van een fab om de gebruikertoe te laten medicatie toe te voegen. Voor het invoeren van een nieuw medi-cament is enkel de naam verplicht. Het standaard Android widget om een uurte selecteren is te zien op figuur 4.7b. Eenmaal toegevoegd zal deze verschij-nen in de lijst met medicamenten. Als de gebruiker een medicament aankliktdan wordt een nieuwe activity geopend met de details van het medicament.Tegelijk wordt ook in de vorm van een tekstballon getoond dat de gebruikereen medicament kan verwijderen door een medicament lang aan te klikken.Zo een tekstballon wordt een toast genoemd binnen Android en is te zien opfiguur 4.8. Indien de gebruiker beslist een medicament te verwijderen dooreen longClick wordt het medicament visueel verwijderd uit de lijst. Op deachtergrond echter heeft het medicament object een einddatum meegekregenen wordt het ook zo aangepast in de database. De lijst met medicamentendie de gebruiker te zien krijgt is gefilterd op medicamenten gelinkt aan dehuidige actieve gebruiker en waarvan nog geen einddatum bekend is. Zo kaner achteraf steeds in de vorm van een tijdslijn bekeken worden wanneer welkemedicamenten gebruikt werden. Dit is bijzonder handig voor de opvolgingvan een patient bij een medische behandeling. Zo kan een dokter ook eenbeter inzicht krijgen in de geschiedenis van de patient. Een ander belangrijkonderdeel van het medicatie gedeelte van de applicatie is het voorzien van eenalarm voor inname van medicatie. Hierdoor kunnen patienten zichzelf beteropvolgen met het correct en tijdig innemen van medicatie. In het bijzonderbij vergeetachtige oudere patienten kan dit van belang zijn.

46

Page 58: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

(a) De lijst met medicamenten. (b) Nieuwe medicatie toevoegenmet een alarm.

Figuur 4.7: Screenshots van het medicatie onderdeel.

Android Alarm

De werking van Android inzake alarmen is een systeem van verschillendeonderdelen die elk ene specifieke taak hebben. Het eindresultaat is een vrijaanpasbare gang van zaken. De implementatie van een alarm voor een medi-cament is te zien op figuur 4.9. De grijze blokken van de eHealth applicatieduiden op blokken die aangesproken worden zonder dat de applicatie actiefis. De service wordt gestart zodra er minstens een alarm is ingesteld en isverantwoordelijk om een alarm op te vangen. In het geval van de eHealthapplicatie is het dus nodig om het apparaat een geluid te laten afspelen eneen notificatie te tonen. Op die manier zou een gebruiker verwittigd moetenzijn. Het Android besturingssysteem weet dat het het alarm moet sturennaar de service want dit wordt zo ingesteld bij het registreren van het alarmbij de AlarmManager. De broadcastreceiver is nodig om de ingestelde alar-men opnieuw te registreren bij de AlarmManager.

Android verwijdert namelijk alle alarmen van de AlarmManager indien

47

Page 59: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Figuur 4.8: Een Android toast.

het toestel uitgeschakeld wordt. Dit kan dus ook gebeuren wanneer hettoestel zich uitgeschakeld vanwege een platte batterij. Om dit dus op te lossenwordt er gebruik gemaakt van een broadcastreceiver. De broadcastreceiverwordt geconfigureerd dat hij luistert naar bepaalde berichten. In het gevalvan de eHealth applicatie wordt deze dus geconfigureerd om te luisterennaar het bericht BOOT COMPLETED. Dit bericht wordt door het Androidbesturingssysteem verzonden indien het systeem net opgestart is. Bij hetafhandelen van dit bericht in de broadcastreceiver wordt er dus gekeken naaralle ingestelde alarmen die momenteel in de database staan. Geldige alarmenworden terug geregistreerd bij de AlarmManager.

Wanneer de gebruiker de notificatie opent zal deze de gebruiker herleidennaar de MedicationDetailsActivity van de eHealth applicatie. Tegelijk wordthet alarm uitgezet. Indien de gebruiker niet reageert op het alarm zal het na15 minuten nogmaals afgaan.

4.3.4 Gewicht

Het onderdeel gewicht werkt in grote lijnen hetzelfde als het onderdeel medi-catie (4.3.3) zonder de alarmfunctie. De UI is ongeveer hetzelfde. Er wordtook gebruik gemaakt van een recyclerview met cardviews. Natuurlijk is deactivity voor het invoeren van een nieuw meetpunt verschillend in opmaakten opzichte van de activity voor medicatie toe te voegen. Nu wordt er enkelvoorzien in een veld om een waarde in te geven voor het gemeten gewichtalsook de mogelijkheid om een datum mee te geven aan dit meetpunt aande hand van een Android datum widget. De datum staat standaard op dedatum van opgave.

Het is hier ook mogelijk om alle ingevoerde gewichten in een grafiek weerte geven in functie van de bijhorende datum. Omdat Android geen stan-daardbibliotheek bevat die dit simpel mogelijk maakt, is hier een externe

48

Page 60: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Figuur 4.9: Overzicht van de werking van een alarm in Android.

bibliotheek gebruikt. Er wordt gebruik gemaakt van GraphView. [5] Dit iseen open source bibliotheek om grafieken mee te plotten voor Android. Dezebibliotheek kan ook overweg met Date en Calendar objecten. De datums dieopgeslagen zijn in de database kunnen hierdoor heel gemakkelijk weergegevenworden met bijhorende gewicht.

49

Page 61: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

4.4 Herkenningsspel

Bij dit spel worden foto’s enkele seconden op het scherm getoond. Het isde bedoeling dat de gebruiker de foto herkent en op die manier het juisteantwoord intypt. Op het einde wordt een overzicht gegeven wat juist en foutwas. Het herkenningsspel is opgebouwd als een grote statenmachine. Hetbestaat uit 4 activities en vele functies. Een volledig overzicht van deze sta-tenmachine kan je zien in figuur 4.10. Dit wordt hieronder verder toegelicht.

50

Page 62: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Fig

uur

4.10

:Sta

tendia

gram

van

het

her

kennin

gssp

el.

51

Page 63: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

4.4.1 StartGameFragment

Het spel start eenmaal er vanuit de main activity op ”Herkenningsspel”gekliktis. Het StartgameFragment wordt dan geopend. Door van links naar rechtste wrijven of door op de knop linksboven te duwen kan de drawer weer geo-pend worden en kan er naar een ander fragment gegaan worden. (linksbovenin figuur 4.11) Het StartGameFragment bevat een knop om een spel te star-ten en een lijst met vorige spelen (zie figuur 4.11). Hier wordt de categorie,datum en score van dat spel getoond. Deze lijst is opgebouwd via cards perspel en wordt via een recycleView gemaakt.Na het klikken op een bepaaldspel wordt SolutionActivity geladen met de gegevens van dat spel.

Figuur 4.11: StartGameFragment Figuur 4.12: ChooseGameActivity

4.4.2 ChooseGameActivity

Na het klikken op nieuw spel in de StartgameFragment wordt de ChooseGa-meActivity gestart. Deze kan je zien in figuur 4.12. Hier kan de categorie diemen wenst te spelen gekozen worden. Na op een categorie geklikt te hebbenverschijnt er een eerste dialoogvenster. Hier wordt gevraagd hoeveel foto’ser in het spel moeten aanwezig zijn. Dit kan minimaal op 1 ingesteld wordenen maximaal op het aantal foto’s die deze categorie in de database bezit. Alser nu op cancel geklikt wordt, dan kan een andere categorie gekozen worden.

52

Page 64: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Als er op OK geklikt wordt, opent een nieuw dialoogvenster. Hierin moetingesteld worden hoe lang een foto zichtbaar moet blijven. Dit bepaalt dusook mee de moeilijkheidsgraad van het spel. Standaard staat deze op 5 se-conden ingesteld. Via een scroller kan deze tussen 1 en 30 seconden wordeningesteld. Als er nu op OK wordt geklikt, start het spel. Via vorige komtde gebruiker opnieuw bij het venster waarin het aantal foto’s kan ingesteldworden.

Momenteel zijn er 5 categorieen van foto’s in de applicatie geıntegreerd:dieren, fruit, groenten, muziekinstrumenten en contactpersonen. De eerste 4categorieen bevatten allemaal meer dan 5 afbeeldingen die met de app mee-geleverd zijn. De categorie met contactpersonen haalt zijn foto’s en correcteantwoorden uit de lijst met contactpersonen. Indien de gsm geen contact-personen met foto’s bevat wordt bij het kiezen van deze categorie een popup venster gegeven dat het niet mogelijk is om dit te spelen op deze gsm.

4.4.3 PlayGameActivity

In deze activity gaat het effectieve spel door. De intent die ervoor zorgt datdeze activity geladen wordt bevat ook hoeveel foto’s men wil, hoe lang dezezichtbaar mogen zijn en van welke categorie deze moeten zijn.

Om te beginnen wordt een ArrayList met alle foto’s van een bepaaldecategorie geladen uit de database. Deze ArrayList wordt daarna door elkaargeshuffeld zodat de gebruiker niet steeds de foto’s in dezelfde volgorde te zienkrijgt.

De eerste foto wordt geladen en getoond op het scherm (zie figuur 4.13).Eenmaal de gebruiker klikt op de plaats waar het antwoord moet ingegevenworden, verschijnt het toetsenbord en kan hij ingeven wat hij denkt te zien.Als hij daarna op volgende klikt wordt dit antwoord vergeleken met hetcorrecte antwoord. Nu wordt een RecPicture object aangemaakt. Dit bevathet Picture object en een boolean waarin wordt aangeduid of de gebruiker defoto juist of fout had. Al deze RecPictures worden aan een nieuwe ArrayListtoegevoegd. Indien het aantal ingestelde foto’s nog niet bereikt is, wordt eennieuwe foto geladen.

Er is oneindig veel tijd om een antwoord in te typen, de foto blijft echtermaar enkele seconden op het scherm, namelijk de tjd die op voorhand is inge-steld. Hiervoor is een uitgebreide versie gemaakt van de CountDownTimer-klasse. Deze bevat standaard 2 methodes, namelijk onTick en onFinish.onTick telt het aantal (mili)seconden tot aan de gewenste tijd. Eenmaal de

53

Page 65: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

gewenste tijd verstreken is wordt onFinish opgeroepen. Dit is hier uitgebreidmet ”photo.setVisibility(View.INVISIBLE);”. Dit zorgt ervoor dat de fotoniet meer zichtbaar is.

Eenmaal het aantal gewenste foto’s getoond is, wordt alles naar de data-base geschreven. Er wordt een nieuwe RecGame gemaakt en bijhorende Rec-Pictuers uit de ArrayList worden met deze game-id toegevoegd. Nu wordt viaeen intent de SolutionGameActivity geopend. Hier wordt ook het game-idmeegegeven.

Figuur 4.13: PlayGameActivity Figuur 4.14: SolutionActivity

4.4.4 SolutionActivity

Op basis van het game-id dat van de PlayGameActivity, of het StartGame-Fragment verkregen wordt, worden de bijhorende RecPictures uit de data-base gehaald. Via een RecycleView wordt deze lijst mooi weergegeven. Percard staat een foto en bijhorende oplossing. Indien de oplossing juist wasingegeven wordt deze groen weergeven, indien fout kleurt deze rood (zie fi-guur 4.14). Na op de vorige knop te drukken komt men opnieuw op hetStartGameFragment.

54

Page 66: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

4.5 Klok tekenen

Een ander onderdeel dat van de applicatie die kan helpen bij het detecterenvan dementie is het klok tekenen. In dit onderdeel zal er gevraagd wordenaan de gebruiker om een klok te tekenen en een bijhorend uur te tekenen opde klok met behulp van de wijzers. De UI van het klok tekenen fragment isin grote lijnen identiek hetzelfde aan dat van het herkenningsspel. Er is dusook een knop voorzien om een nieuw spel/test te starten. Daarnaast is er ookeen lijst voorzien met resultaten van voorgaande sessies van diezelfde actievegebruiker. Scores worden bijhouden met drie verschillende parameters. Zowordt er een score berekend voor de cirkel vorm en dan nog twee scores, elkvoor een wijzer van de klok. De idee is namelijk dat een gebruiker in eersteplaats moet weten dat een klok over het algemeen een cirkel inhoud metmarkeringen op de rand die staan voor het uur. De eerste test is dus eigenlijkachterhalen of de gebruiker het concept van een klok nog begrijpt. Daarnawordt er verwacht dat de gebruiker het opgegeven uur kan interpreteren entekenen op de klok met behulp van het tekenen van wijzers.

Indien een gebruiker moeite heeft met het tekenen van een cirkel of methet tekenen van de wijzers dan wordt hierop ingespeeld door allerlei hintste geven. Zo zal er na enige tijd zonder een succesvolle cirkel een cirkelgeleidelijk naar voren komen. Dit wordt gestart met transparantie 100%en wordt zeer geleidelijk verlaagd. Op die manier kan een gebruiker alsnogde cirkel zelf proberen tekenen. Als de gebruiker beslist om de cirkel zelfte tekenen zal de suggestieve cirkel terug geleidelijk verdwijnen. Dit wordtin de praktijk ongeveer op dezelfde manier toegepast maar dan op papier.De begeleider kan daar ook altijd een patient helpen indien een bepaaldonderdeel niet zou lukken. Dit wordt natuurlijk in rekening gebracht bij debepaling van de score. De berekening van de score voor de cirkel ziet erongeveer als volgt uit:

score = verhouding ∗ cirkelvormfactor ∗ correctiefactor

verhouding =a

ba = max(hoogte, breedte)

b = min(hoogte, breedte)

cirkelvormfactor =8∑

i=1

(0.125− afwijkingi)

correctiefactor = 0.8 + transparantie transparantie ∈ {0, 0.2}

55

Page 67: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

De cirkelvormfactor is een bereking die rekening houdt met enkele vaste meet-punten. Doordat de grenzen bekend zijn van het getekende object kan hetmiddelpunt dus ook makkelijk gevonden worden. Er worden 8 referentiepun-ten uitgezet vanuit dit middelpunt. Deze referentiepunten zijn een onderdeelvan een perfecte cirkel met als middelpunt het middelpunt van de gevondengrenzen en als straal:

r =g

2, g =

hoogte + breedte

2

De punten liggen om de 45◦ op de cirkel. Op deze manier wordt een vrijaccurate score gegeven aan een getekende cirkel. De punten voor de wijzersworden op een andere manier berekend. Omdat er onderscheid moet gemaaktworden tussen een grote wijzer en korte wijzer wordt dus gekeken naar delengte van deze lijnstukken. Via driehoeksmeetkunde wordt de de hoek vaneen wijzer bepaald. De score wordt naderhand berekend op afwijking van hetmiddelpunt en de hoek. De scores worden afzonderlijk berekend per wijzer.Uiteindelijk wordt er per spel 3 scores opgeslagen in de database. De scorevan de cirkel, de score van de eerste wijzer en de score van de tweede wijzer.Via een simpele functie kan achterhaald worden welke wijzer de langste enwelke wijzer de kortste is.

Om alle fases van het tekenen van klok goed te kunnen bijhouden is heelhet systeem ontworpen als een staten machine met volgende staten:

1. De nul staat, dit is het begin, te zien op figuur 4.15a. Het systeem isklaar om een tekening te verwerken.

2. De draw circle staat, deze staat begint zodra de gebruiker voor heteerst het scherm aanraakt om te beginnen tekenen.

3. De circle done staat, de gebruiker landt in deze staat wanneer hij devinger terug van het scherm haalt na de draw circle staat. Deze staatis te zien op figuur 4.15b.

4. De draw pointer 1 staat, begint wanneer de gebruiker voor de 2de keerhet scherm aanraakt om een wijzer te tekenen.

5. De pointer 1 done staat, idem als circle done maar nu voor wijzer 1.

6. De draw pointer 2 staat, idem als draw pointer 1 maar nu voor detweede wijzer.

7. De pointer 2 done staat, idem als pointer 1 done staat maar nu voor detweede wijzer. Dit is tevens de laatste staat en is te zien op figuur 4.15c.

56

Page 68: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Eenmaal in de laatste staat kan de gebruiker niet meer tekenen. Ten alletijde kan de gebruiker het vuilbak icoon gebruiken om een tekening te wissenen terug in de eerste staat te belanden. De tekst onderaan de tekening wordtaangepast naargelang de staat waarin de applicatie zich bevindt. Eens detekening af is is het mogelijk de activity terug te verlaten en het resultaat opte slaan door middel van de V knop rechtsboven.

(a) Het begin met de op-dracht.

(b) Na het tekenen vande cirkel.

(c) Na het tekenen vande wijzers.

Figuur 4.15: Screenshots van het klok tekenen onderdeel.

Android Views en Canvas

Android biedt verschillende mogelijkheden om objecten te tekenen op hetscherm. Het gaat dan van zeer simpele views met vooraf gedefinieerde vormenof complexe 3D graphics met behulp van OpenGL ES. De simpele methodesworden verkozen ten opzichte van de complexere methodes tenzij performan-tie belangrijk is voor de gewenste toepassing.

• Een simpel View object waarbij de teken opdrachten uitgevoerd wor-den vanop de UI thread. Er wordt getekend op een Canvas object.Een Canvas object is niets meer dan een container waarin de teken-opdrachten bewaard worden. Indien de wijzigingen moeten gerenderdworden en getoond worden op het scherm wordt de methode invalidateopgeroepen. Dit is de methode die gebruikt wordt bij het tekenen vande klok.

57

Page 69: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

• Identiek zoals de vorige methode maar nu worden het Canvas objectbewerkt op een andere thread. Het view object wordt nu ook vervangendoor een SurfaceView object. Dit laat toe om te renderen vanaf eenandere thread. Hier moet de ontwikkelaar extra veel belang hechtenaan de synchronisatie tussen de threads.

• De derde methode is gebruik maken van OpenGL ES. Hiervoor wordtgebruik gemaakt van een GLSurfaceView. De teken opdrachten wor-den nu niet meer geabstraheerd naar een Canvas object. Alle tekenopdrachten worden door de ontwikkelaar geschreven in OpenGL ES.Op deze manier heeft de ontwikkelaar alle controle over de opdrachtendie dan door GPU(/CPU) verwerkt moeten worden.

Om lijnen te tekenen met behulp van het touchscreen wordt er gebruikgemaakt van de TouchEvents. Een touchevent bevat informatie over de aan-rakingen die gedetecteerd worden op het touchscreen. Zo kan er bij eenaanraking bepaald worden waar dit precies was en of de aanraking begint,eindigt of doorgaat. Zo wordt er voor het tekenen van een lijn volgendestappen doorlopen:

1. De vinger wordt gedetecteerd en een Path wordt begonnen op dit punt.

2. De vinger beweegt over het scherm en bij iedere bewegen wordt eropnieuw opgevraagd waar de vinger zich bevindt. Dan wordt er eenlijnstuk aan het Path toegevoegd met als begin het laatste punt vanhet Path en als eindpunt dit punt. Nu wordt ook verteld aan het Viewobject dat er opnieuw getekend moet worden. Het huidige Path wordtdus op het scherm getoond.

3. De vinger komt terug los van het scherm. Dit punt markeert het eind-punt van het path. Er wordt nogmaals getekend.

58

Page 70: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Hoofdstuk 5

Gebruikservaringen

5.1 Eerste ervaringen

De applicatie is getest door verschillende mensen van verschillende leeftijden.Hierbij werd een duidelijk verband tussen de leeftijd en hoe vlot men ermee overweg kon opgemerkt. Het valt op dat jongere mensen er beter meeoverweg konden. Dit komt omdat deze gewoon waren om met smartphonesen Android te werken. Oudere personen die dit ook gewoon waren kondener ook goed mee overweg.

Bij het testen van de applicatie door jongeren (18 - 25 jaar) werd onder-vonden dat iedereen er goed overweg mee kon. Ze hadden door wat ze preciesmoesten doen en hoe ze dit moesten doen. Bij mensen van een generatie ou-der werd een verdeeldheid opgemerkt. Sommige konden er ook perfect meeoverweg en anderen hadden het dan alweer iets moeilijker. Deze verdeeld-heid is te verklaren doordat ze niet zoals de jongeren opgegroeid zijn met alletechnische snufjes. Veel van de ontwerppatronen zijn reeds bekend bij jon-gere gebruikers door ervaringen in andere applicaties. Indien een gebruikervoor de eerste keer met een smartphone platform geconfronteerd wordt danis het in eerste instantie wennen aan de werking van het besturingssysteem.

Een vrouw van omtrent 70 jaar die nog nooit met een smartphone, compu-ter of dergelijke gewerkt had, heeft de applicatie ook getest. Bij het openenvan de applicatie wist ze dan ook niet wat ze moest doen. Nadat ze watuitleg gekregen had, slaagde ze er sommige dingen correct uit te voeren. Zehad echter nog moeilijkheden met het correct tikken op het scherm. Ze deeddit eerst met haar nagels in plaats van met het contactoppervlak van haarvinger zelf. Het ging nog beter als een zorgverlener haar hielp en alles voorhaar aantikte en daarbij vertelde wat hij deed. Ze zei wat er moest ingevuld

59

Page 71: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

worden en de zorgverlener typte dit. Dit is dan ook de manier waarop deapplicatie nu best gebruikt wordt bij oudere mensen. In de toekomst zullenoudere mensen meer in staat zijn om dit allemaal zelf te doen, doordat zeer mee zijn opgegroeid. Nu is dit echter nog niet volledig geıntegreerd. Demogelijkheid om meerdere gebruikers te hebben vangt dit voor zorgverlenersperfect op.

5.2 Lerend uit andere ervaringen

Het ASTRID project werd op een langere periode in gebruik genomen dande hier besproken applicatie. Daar werd vastgesteld dat ASTRID niet alleende zorgvragen ondersteunde, maar ook hielp bij de mantelzorger. De functievan de mantelzorger wordt namelijk verlicht doordat de applicatie er enkelefuncties van overneemt. Aangezien de applicatie hier vele gelijkenissen heeftmet het ASTRID project zal dit hier hoogstwaarschijnlijk dus ook zo zijn.

5.3 Mogelijke aanpassingen en verbeteringen

Technologie staat nooit stil. Ook in de wereld van applicaties worden steedsveranderingen doorgevoerd. Er komen om de haverklap updates met nieuwefeatures en verbeteringen. Ook bij deze applicatie kunnen verschillende zakenaangepast of verbeterd worden.

Een eerste grote aanpassing zou kunnen zijn om de gebruikers die nu noglokaal aangemaakt worden, te linken aan de Google account van de gebruiker.Zo zou het mogelijk zijn om de database via het internet op verschillendetoestellen te synchroniseren. Er kan dan eventueel ook ingesteld worden omhet delen van gegevens mogelijk te maken met bepaalde personen. Zo kaner nog altijd samen met een hulpverlener gewerkt worden. De hulpverlenerkan via zijn eigen account zien wat de patienten zonder zijn inbreng gedaanhebben.

Het bijhouden van (medische) afspraken is voor ouderen ook een nood-zaak. In Android is standaard een agenda ingebouwd. Deze kan ook via deGoogle account gesynchroniseerd worden. Het kan handig zijn om deze in deapplicatie te verwerken. Alle afspraken die dan via deze applicatie ingegevenzijn kunnen dan in een bepaalde kleur weergegeven worden. Zo kan menmakkelijk afspraken met de dokter terug vinden. In figuur 5.1 is een voor-beeld te zien van de kalender. Alle afspraken die via de applicatie gemaaktzijn kunnen bijvoorbeeld in het oranje aangeduid zijn.

60

Page 72: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Figuur 5.1: Voorbeeld van de Google kalender waar afspraken verschillendekleuren kunnen hebben.

Een andere interessante feature voor deze eHealthapplicatie zou het toe-voegen van een fotorubriek zijn. Echter geen gewone fotorubriek zoals stan-daard in een smartphone is ingebouwd, maar een plaats om foto’s te op teslaan van een bepaalde wonde of letsel. De thuisverpleging zou hier commen-taar kunnen bij typen hoe ze deze verzorgen en wat ze er van denken. Zozou het voor de huisdokter mogelijk zijn om achteraf de evolutie hiervan tebekijken. Als deze in de database worden geslagen die online wordt geslagen,kunnen de foto’s ook direct doorgestuurd worden naar de huisarts.

Zoals vermeld in hoofdstuk 1.1 bevat een smartphone veel sensoren. Hetzou ook een optie kunnen zijn om deze maximaal te benutten in de eHealtap-plicatie. Het zou bijvoorbeeld mogelijk zijn om een valdetectie voor ouderemensen te maken. Dit zou gedetecteerd kunnen worden als de smartphone(die zich in de zakken van de patient bevindt) een plotse daling maakt endaarna enkele minuten niet meer beweegt. Hieruit zou men kunnen conclu-deren dat de persoon gevallen is en niet meer recht raakt. Indien dit gebeurtkan dan een bericht gestuurd worden naar een vooraf ingestelde contactper-soon, zodat deze kan komen helpen. Het probleem hierbij is dat de sensorenconstant gemonitord moeten worden en de batterij zo snel leeg loopt.

Het kan ook handig zijn om een smartwach aan de applicatie te kopelen.

61

Page 73: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Deze bevat nog enkele sensoren extra. Zou zou bijvoorbeeld de hartslagbekeken kunnen worden. De meldingen om medicatie te nemen die nu op degsm komen, kunnen dan ook op de smartwatch weergegeven worden.

De reeds opgenoemde zaken waren allemaal algemene eHealth tools diekunnen toegevoegd worden. Ook voor het specifieke geval van dementiekunnen enkele zaken extra gemaakt worden. Zo kunnen nog andere stan-daardtesten in de applicatie verwerkt worden. Het probleem hierbij is dathet moeilijk is om deze allemaal als amusante spelvorm en niet als echte testte maken.

62

Page 74: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Hoofdstuk 6

Conclusie

Met deze masterproef werd er gekeken naar de huidige staat van eHealthen dan meer bepaald mHealth. Er werd gekeken naar de verschillende typeseHealth alsook de verschillende platformen waarop er een mHealth toepassingzou gemaakt kunnen worden. Door de diverse mogelijkheden binnen eHealthwordt het onderwerp bekeken vanuit verschillende perspectieven. Er wordtook stil gestaan bij de impact van eHealth op de maatschappij. Daarnaastworden enkele bestaande implementaties verder onderzocht. Hier valt op datde meeste implementatie allemaal vrij recent zijn.

Om een eHealth/mHealth toepassing te kunnen maken moet er natuurlijkgereedschap voor handen zijn. Er wordt gekozen voor het Android platform.Alle bouwstenen die nodig zijn voor het bouwen van een Android applicatieworden toegelicht. Ook de codetaal als de ontwikkelomgeving worden evenverder bekeken. Daarnaast wordt vastgesteld dat ieder platform een huisstijlheeft en dat dit steeds belangrijker wordt voor ieder platform. Ontwikke-laars worden aangemoedigd om zich aan deze huisstijl te houden. Verderwordt er ook eens stil gestaan bij alle verschillende versies van het Androidbesturingssysteem en de problemen die dit met zich mee brengt. Omdat alleverzamelde gegevens gestructureerd moeten bewaard worden wordt er ookdieper ingegaan op de database implementatie binnen Android.

Omdat eHealth voor enorm veel kan ingezet worden was het nodig omeen specifiek doel te hebben waarvoor een applicatie ingezet kon worden. Indeze masterproef werd gekeken naar dementie als uitgelicht geval. De ver-schillende vormen en kenmerken van dementie wordt van dichterbij bekeken.Er wordt vastgesteld dat dementie vrij veel voorkomt en dat het aantal ge-vallen van dementie blijft stijgen. Niet alleen de ziekte wordt bekeken maarook de huidige methodes voor het detecteren van de aandoening en mogelijkebehandelingen.

63

Page 75: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Om tot een applicatie te komen met als doel het helpen van patienten dielijden aan dementie worden enkele design keuzes gemaakt. Er wordt specifiekingegaan op het ontwerp van allerlei onderdelen van de applicatie. Hierbijwordt steeds de gedachtengang neergezet met behulp van voorbeelden. Ookenkele complexe mechanismes worden verder uitgelegd. Er worden 2 testsgeıntegreerd om dementie op te sporen. Beide tests houden scores bij om zode toestand van een patient te kunnen opvolgen.

De applicatie wordt door enkele doelgroepen getest. Ook de gebruikserva-ringen van een andere applicatie met dezelfde doelgroep worden ook bekeken.Hieruit volgt dat er wel enkele verschillen zijn tussen de doelgroepen. Door-dat voornamelijk oudere mensen doorgaans weinig tot geen ervaring hebbenmet mobiele platformen kan dit soms voor slechte resultaten zorgen. Echterna uitleg wordt er bij de meeste mensen toch positief gereageerd.

Er zijn talloze uitbreidingen te bedenken voor de applicatie. Er wordenenkele van deze uitbreidingen verder onderzocht. Er zijn tenslotte genoegsensoren beschikbaar op een mobiel platform om nog veel verschillende toe-passingen te bedenken. Vooral op het vlak van connectiviteit is er nog veelmogelijk.

64

Page 76: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Bibliografie

[1] Apple march event 2015 video. http://www.apple.com/live/

2015-mar-event/. (geraadpleegd op 17/05/15).

[2] Apple reasearchkit. https://www.apple.com/researchkit/. (geraad-pleegd op 17/05/15).

[3] Basisinformatie over dementie. http://www.dementie.be/default.

asp?page=65. (geraadpleegd op 8/05/15).

[4] Brochure over basisinformatie over dementie. http://www.dementie.

be/SiteFiles/2008%20basisinformatie%20dementie.pdf. (geraad-pleegd op 8/05/15).

[5] Graphview. http://www.android-graphview.org/. (geraadpleegd op23/05/15).

[6] mini mental state examination (mmse). http://www.

geriater-lambrecht.be/pdf/MMSE.pdf. (geraadpleegd op 6/05/15).

[7] Technologie en dementie. http://www.dementie.be/SiteFiles/

technologie%202006.pdf. (geraadpleegd op 9/05/15).

[8] Thuiszorgprojecten vlaamse gemeenschap in 2006, thema technolo-gie en dementie. http://www.dementie.be/SiteFiles/technologie%202006.pdf. (geraadpleegd op 18/05/15).

[9] Vienna test system neuro. http://www.psychologischtesten.nl/

c-796236/vts-neuro/. (geraadpleegd op 6/05/15).

[10] Android Developer, 2015. http://developer.android.com/index.

html (geraadpleegd op 18/05/2015).

[11] Krijgsman J. & Klein Wolterink G. Ordening in de wereld van ehealth.Nictiz, 2012.

65

Page 77: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

[12] Google. Google material design. http://www.google.com/design/

spec/material-design/introduction.html (geraadpleegd op18/05/2015).

[13] Google. Google i/o. In Google I/O 2013, 2013.

[14] Google. Dashboards. https://developer.android.com/about/

dashboards/index.html?utm_source=suzunone (geraadpleegd op18/05/2015), 2015.

[15] Luuk P;A. Simons & J. Felix Hampe. Exploring e/mhealth potentialfor health improvement: A design analysis for future e/mhelth impact.2010.

[16] Jetbrains. Intellij idea. https://www.jetbrains.com/idea/ (geraad-pleegd op 18/05/2015).

[17] Jeffrey D. Roche1 & Brian D. Johnson1. Cogmed working memory trai-ning, product review. Journal of Attention Disorders, Vol. 18(4):p.379– 384, 2014.

[18] World Health Organization. Dementia, a public health priority.http://whqlibdoc.who.int/publications/2012/9789241564458_

eng.pdf, 2012. (geraadpleegd op 16/05/15).

[19] SQLite. Sqlite. https://www.sqlite.org/docs.html (geraadpleegd op12/11/2014).

[20] Daniel Verlaan. Google fit: Het complete overzicht. http://

www.androidplanet.nl/spotlight/google-fit. (geraadpleegd op17/05/2015).

66

Page 78: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Bijlage A

MMSE

De MMSE test (Mini Mental State Examination) is een eenvoudige test diegebruikt wordt als standaard test bij dementie. Het bevat verschillende vra-gen waar een maximale score van 30/30 kan behaald worden. Een score onder24 wordt als abnormaal beschouwd. Eenmaal je een score onder 10 hebt, danzit je al in een ernstig stadium van dementie. Op de volgende pagina kan jeeen voorbeeld vinden van dergelijke test.

67

Page 79: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

Mini-Mental State Examination (MMSE)

1. Oriëntatie in tijd en ruimte

Patiënt: Datum:

Onderzoeker: Score: /30

• Wat is de volledige datum van vandaag?1.1. Tijd: Ken 1 punt per correct antwoord toe (score: 0-5)

• In welk jaartal zijn we? Jaartal �

• In welk seizoen zijn we? Seizoen �

• In welke maand zijn we? Maand �

• Welke dag is het vandaag? Dag �

• De hoeveelste is het vandaag? Datum �

1.2. Ruimte: (score 0-5)• In welk land leven wij? Land �

• In welke provincie zijn we? Provincie �

• In welk(e) stad/dorp zijn we? Stad �

• In welk hospitaal/centrum bent u? of Hoe is mijn naam? Centrum �

• Op welke verdieping bent u? Verdieping �

• Ik noem drie woorden. Als ik ze gezegd heb, moet u ze alle drie herhalen.Lees de woorden voor aan 1 woord per seconde. Laat ze daarna herhalenen noteer elk correct woord. (1 punt voor elk correct antwoord – score 0-3)

• Sigaar Sigaar �

• Bloem Bloem �

• Deur Deur �

Als de patiënt ze niet correct herhaalt, zeg ze dan opnieuw voor en herhaal tot 6 maal.Tel hier echter géén punten voor. Aantal pogingen:Onthoud deze woorden goed, want ik ga ze u straks nog eens vragen.

A. Wilt u van het getal 100, 7 aftrekken?Van de uitkomst trekt u dan telkens weer 7 af en zo verder tot ik "stop" zeg.Elke juiste aftrekking levert 1 punt op (vb. 93, 87, 80, 72, 65 geeft een score van 3).Wanneer de eerste berekening foutief is, wordt dit als foutief aangerekend maar wel gecorrigeerd.Daarna vraagt u: "Hoeveel is 93 min 7?" Vanaf dan vraagt u: "En verder?"

(93) �

(86) of -7 �

(79) of -7 �

(72) of -7 �

(65) of -7 �

B. Wilt u het woord "dorst" van achteren naar voren spellen?(1 punt voor elke correcte letter op de juiste plaats) T �

S �

R �

O �

D �

Zowel test 3A als 3B worden afgenomen.Vergelijk de scores van test A en test B en weerhoud enkel de hoogste score.Schrap de andere en tel die niet mee in de eindscore. Hoogste score:

2. Inprentingsvermogen

3. Aandacht

Page 80: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS

4. Geheugen• Welk waren de drie woorden die u moest onthouden?

(score 0-3)Sigaar �

Bloem �

Deur �

5.1. Benoemen• Wat is dit? Wijs een horloge aan. Horloge �

• Wat is dit? Wijs een potlood aan. Potlood �

5.2. Herhalen• Wilt u de volgende zin herhalen: "Geen als, en of maar". Correct �

5.3. Begrip• Neem dit papier met uw rechterhand, vouw het in twee en leg het op de grond.

(1 punt voor elke goede handeling) Neemt papier �

Vouwt papier �

Legt op grond �

5.4. Lezen• Lees wat op dit papier staat en doe wat gevraagd wordt.

Hou het papier omhoog, waarop staat ‘SLUIT UW OGEN’ Sluit ogen �

5.5. Schrijven• Kan u voor mij een zin opschrijven?

De zin moet een onderwerp en werkwoord bevatten en betekenis hebben. Zin �

Fouten in de spelling en grammatica worden niet beoordeeld.

• Kan u deze figuur natekenen?Toon de twee vijfhoeken.Voor een correct antwoord moeten er tien hoeken zijn, waarvan er twee mekaar kruisen.

Figuur �

Tel alle goede antwoorden op (let op bij test 3A en 3B) en noteer het totaal in de rechterbovenhoek (maximumscore = 30)

5. Taal

6. Constructieve vaardigheid

Totaalscore

Page 81: Mobiele E-Health applicatie met specifiek gebruiksgeval ...lib.ugent.be/fulltxt/RUG01/002/224/430/RUG01-002224430_2015_0001_AC.pdf · standaard op de meeste Nokia smartphones. IOS