Datacheck: Service verbetering voor de zorgsector

Maat: px
Weergave met pagina beginnen:

Download "Datacheck: Service verbetering voor de zorgsector"

Transcriptie

1 smart telecom Smart Telecom NV Sint Jozefsstraat 14, 8850 Lendelede Academiejaar Departement Toegepaste Ingenieurswetenschappen Valentin Vaerwyckweg 1, 9000 Gent Datacheck: Service verbetering voor de zorgsector Masterproef voorgedragen tot het behalen van het diploma van MASTER IN DE INDUSTRIËLE WETENSCHAPPEN: INFORMATICA Bert VERHELST Promotoren: Intern: Koen VAN DE WIELE Extern: Krist VANNESTE (SMART TELECOM, 8850 Lendelede)

2 Voorwoord Tijdens de uitwerking van dit eindwerk heb ik heel wat kunnen bijleren en realiseren. Hierbij wil ik graag de mensen bedanken die mij hebben bijgestaan. Vooreerst mijn externe promotor ing. Krist Vanneste die steeds bereikbaar was voor overleg als er een probleem opdook. Vervolgens wil ik ook mijn interne promotor ing. Koen Van De Wiele bedanken die mij bijstond voor de meer technische kant van het eindwerk. Dankzij hem is de uitwerking professioneler en generischer geworden. Ook dank ik de personeelsleden van het rusthuis Sint Franciscus te Kluisbergen die deelnamen aan het proefproject van Smart Telecom en die het voorgestelde systeem uitvoerig hebben getest. Ten slotte wil ik nog mijn ouders bedanken voor hun steun doorheen deze opleiding en mijn zus voor het zorgvuldig nalezen van dit eindwerk. i

3 Abstract Oproepafhandeling voor rust- en ziekenhuizen. Patiënten kunnen de hulp van een verpleegkundige vragen via een drukknopmodule bij het bed. De verpleegkundigen krijgen alle niet afgehandelde oproepen op hun smartphone te zien en kunnen deze accepteren. Bij het aannemen van een oproep wordt het overig verplegend personeel verwittigd dat deze oproep in behandeling is. Ook moet het EPD 1 van de patiënt kunnen worden opgevraagd. Automatische facturatie van het gebruik van de telefooncentrale. Analyseren van de CDR 2 s. Uit de telefoonnummers het land afleiden, vervolgens bepalen of het een mobiele of vaste lijn betreft. Deze facturen na controle, afdrukken voor verzending of en naar de desbetreffende klanten. WiFi 3 -netwerk met verscheidene Wireless AP 4 s automatisch configureren. Naburige AP s moeten op verschillende frequenties uitzenden anders storen ze elkaar. Bij grotere aantallen kan de configuratie tijdrovend zijn, zeker als het gaat om meer dan één verdieping. De AP s kunnen hun omgeving scannen, weergeven welke buren ze detecteren en op welk kanaal ze uitzenden. Aan de hand van deze informatie kan dan de optimale configuratie bepaald worden. 1 Elektronisch Patiënten Dossier 2 Call Data Record bevat informatie over individuele telefoongesprekken, zoals: duur, tijdstip, kostprijs,... 3 Wireless Fidelity is de standaard draadloze technologie voor draadloze netwerken 4 (Wireless) Access Point stelt draadloze toestellen in staat te communiceren met een bekabeld netwerk ii

4 Call-handlingsystem for retirement homes and hospitals. Patients can request help by pressing on a buttonmodule near their bed. The nursing staff get all unhandled calls on their smartphone and they can choose the call they want to handle. When they do, the other nurses will be notified. This is indicated because the name of the nurse will appear next to the call on the phone s display. The nursing staff must be able to request information from the electronic patient file. Automatic invoice generation for use of the telephone exchange. Analysis of the CDR 5 s: Derive the country to where a call was made from, the number and determine if the call was made to a land line or mobile phone. These invoices have to be printed or ed after being reviewed. Automatic configuration a WiFi-network 6 with multiple Wireless APs 7. Neighbouring APs have to be configured on different frequencies in a way they don t interfere. This can be very time consuming especially if the WiFi-network is deployed over multiple floors. The APs can scan their surroundings and detect signal strengths and corresponding frequencies of other APs. Using this information, the optimal configuration can be determinated. 5 Call Data Record contains information about telephone calls, eg: duration, time-stamp, cost,... 6 Wireless Fidelity is a standard wireless technology for wireless networks. 7 (Wireless) Access Point is a device that allows wireless devices to communicate with a wired network. iii

5 Inhoudsopgave Voorwoord Abstract Inhoudsopgave Lijst van figuren Lijst van afkortingen i ii v vii ix 1 Inleiding 1 2 Bestaande situatie 3 3 Behoefte analyse Zorgsysteem Oproepafhandeling Toegang tot het Elektronisch Patiënten Dossier Ondersteuning van de dagelijkse rondes Demo-versie Automatisatie facturatie Netwerk optimalisatie Datacheck Keuze technologieën Implementatie RS232-analyser Datacheckwebservice Database Webservice logica Client proxy-klassen Klasse diagram Datacheckmobile Problemen tijdens implementatie RS232-analyser iv

6 4.3.2 Datacheckwebservice Datacheckmobile Resultaten DatacheckWebservice Datacheckmobile Getuse implementatie Problemen tijdens implementatie Resultaten Wificonfigurator implementatie Ophalen/opslaan configuratiegegevens Kanaalbepaling van de WAP s Algoritmen Voorbereiden graaf Totaal algoritme Problemen tijdens implementatie Resultaten Besluit Datacheck Getuse Wificonfigurator Literatuurlijst 60 v

7 Lijst van figuren 2.1 Bestaande hardware: communicatie tussen hulpbehoevende en verpleegkundige Vergelijk tussen JDBC (sql) en Hibernate (ORM / HQL) Datacheck Hardware Solderingsschema voor een RS232-monitor kabel Input stream van de drukknoppencentrale tijdens oproep vanuit kamer Omzetten van RS232-bitstream naar berichten in database Klasse diagram van de RS232-analyser Entity relationship diagram van de database voor Datacheck Klasse diagram van de Datacheck webservice Flowdiagram dat de werking van Datacheckmobile weergeeft Klasse diagram van Datacheck mobile op Symbian Programma mist één karakter en alle berichten zijn foutief Aanmeldingsscherm bij opstarten Overzicht van enkele oproepen Overzicht van de afhandelingscategorieën Toevoegen van een suggestie Overzicht dat toegang biedt tot de verschillende hoofdpunten van Datacheck mobile Overzicht van recente medicatie van een patiënt Overzicht van de medische geschiedenis van een patiënt Overzicht van GetUse Reguliere expressie voor mobiele nummers in België Klasse diagram van het Getuse facturatie programma Finite state automaat die telefoonnummers analyseert voor België en Nederland Grafische interface van het facturatieprogramma Getuse Grafische interface van het wachtwoorden-genererend-programma Pingen Grafische interface van het XML-beveiligingsprogramma Secset Klasse diagram van het Wificonfigurator programma vi

8 6.2 Overzicht van de Wificonfiguratoropstelling Model van de graaf met gekleurde knopen en interferentie Eerste vier niveaus van de mogelijke kleuringen van de boom Volgorde van knopen aflopen bij Diepte Eerst Zoeken Splits graaf en bereken de twee delen apart met de grensknopen in beide delen Pseudo code voor het Kerninghan-Lin algoritme Drie iteraties om de verst uiteenliggende knopen en de diameter te vinden BEZ methode met wachtrij grootte = Splitsen van een graaf met Diepte eerst zoeken Reduceren graaf door alle knopen met maximum twee buren te verwijderen Grafische interface om de WAP-configuratie in te stellen vii

9 Lijst van afkortingen AP BEZ CDR DECT DEZ (Wireless) Access Point stelt draadloze toestellen in staat te communiceren met een bekabeld netwerk Breedte Eerst Zoeken is een techniek om alle knopen in een boom te doorlopen. Alleen worden de knopen met deze techniek niveau per niveau overlopen i.p.v. verticaal bij DEZ. Call Data Record bevat informatie over individuele telefoongesprekken, zoals: duur, tijdstip, kostprijs,... Digital Enhanced Cordless Telecommunications is een standaard voor digitale draadloze telefoons Diepte Eerst Zoeken is een techniek om alle knopen in een boom te doorlopen. Hierbij start men bij de bovenste knoop (de wortel), men kiest een tak en doorzoekt deze zo ver mogelijk zonder terug te keren op zijn stappen. ii, iii, 8, 9, 38 42, 56, 57, ii, 8, 30, 31, , 12, 13, 15 43, 53 EPD Elektronisch Patiënten Dossier ii, 1, 7, 12, 18, 28 ESPA European Selective Paging Association 6 GUI Graphical User Interface 12, 25 HQL HTTP Hibernate Query Language heeft hetzelfde doel als SQL, maar werkt met objecten i.p.v. met tabellen Hypertext Transfer Protocol is een netwerk protocol dat de communicatie tussen een webclient (meestal een browser, hier datacheckmobile) en een webservice voorziet , 40 viii

10 IDE Integrated Development Environment is een programma, dat de ontwikkeling van software ondersteunt, zoals: Qt, Netbeans, Eclipse,... IP Internet Protocol 8 JDBC Java DataBase Connectivity 30 11, 12, 27 ME ORM Micro Edition is een Java versie ontworpen voor embedded computers, zoals bijvoorbeeld GSM Object Relational Mapping voorziet een framework om relationele tabellen in een database om te zetten naar objecten in een programma en omgekeerd PDF Portable Document Format 8, 32, 33 regexp Reguliere Expressie is een manier om patronen te beschrijven 34, 35 waarmee een computer tekst kan herkennen. RESTful Representational State Transfer 10 RS232 Recommended Standard 232 6, 13, 14 SOAP Simple Object Access Protocol 10, 18, 25 SSID Service Set IDentifier is een naam die een draadloos netwerk identificeert. 9 UML Unified Modeling Language 16 VoIP Voice over IP geeft aan dat telefoongesprekken over internet worden verstuurd. 8, 30, 34, 35 WEP Wired Equivalent Privacy 9 WiFi Wireless Fidelity is de standaard draadloze technologie voor ii, 4, 5 draadloze netwerken WPA Wi-Fi Protected Access 9 WSDL Web Service Definition Language bepaalt in een gestandaardiseerd 20, 22, formaat welke methodes opgeroepen kunnen worden in een webservice en welk formaat de objecten hebben die verkregen worden. 27 XML Extensible Markup Language 33, 34 ix

11 Hoofdstuk 1 Inleiding Kwaliteitsmanagement heeft de laatste jaren voor een enorme productie- en kwaliteitsverhoging gezorgd. Dit wordt enerzijds mogelijk gemaakt door een nauwgezette rapportering van problemen en fouten en anderzijds door een grondige evaluatie ervan anderzijds. In rusthuizen en des te meer in ziekenhuizen is dit een zeer belangrijk onderwerp. Er komen nog te vaak gevallen van verkeerde medicatietoediening voor. Dit heeft dikwijls te maken met communicatieproblemen. De Europese Unie heeft enkele studies laten uitvoeren[3] rond ehealth en zal in de toekomst een richtlijn uitschrijven die de zorgsector verplicht om voor alle oproepen van patiënten de reden en de genomen acties bij te houden. Omdat het huidige oproep systeem in vele rust- en ziekenhuizen veroudert geraakt, wil Smart Telecom een up-to-date systeem ontwikkelen. Dit systeem moet het bestaande oproepafhandelingssysteem vervangen en verbeteren, en ook extra functionaliteiten voorzien zoals toegang bieden tot het EPD 1. Voor de ontwikkeling van dit systeem zal voornamelijk op gebruiksvriendelijkheid, stabiliteit en uitbreidbaarheid gelet worden. Kwaliteitsmanagement wordt ook vaak om een andere reden ingevoerd, namelijk omwille van kostenbesparing. Door het personeel beter te ondersteunen haalt deze een hogere productiviteit en kan meer omzet gehaald worden met eenzelfde personeelsbestand. Het is dan ook interessant om te investeren in automatisatieprogramma s. De ontwikkeling hiervan is een grote investering maar heeft gelukkig een korte terugverdientijd. In dit kader wil Smart Telecom een geautomatiseerde oplossing voor deze problematiek aanbieden. Enerzijds neemt facturatie veel tijd in beslag. Al dit zou kunnen geautomatiseerd worden, zal dit tot een grote kostenbesparing leiden voor het bedrijf. Verder reduceert dit de kans op menselijke fouten die het bedrijf veel geld kunnen kosten. 1 Elektronisch Patiënten Dossier 1

12 Anderzijds is het configureren van een draadloos netwerk zeer tijdrovend. Ook dit zal geautomatiseerd worden. Hierdoor kan de installatie kost verlaagd worden wat de concurrentie positie van Smart Telecom verbeterd. Bij dit onderdeel wordt stabiliteit en gebruiksvriendelijkheid gewaardeerd. Deze drie onderdelen hebben onrechtstreeks met elkaar te maken. De verpleegkundigen kunnen met hun smartphone waarop het eerste onderdeel (Datacheck) draait, ook naar elkaar bellen. Externe gesprekken worden gefactureerd met behulp van het tweede onderdeel (Getuse). Deze smartphones werken over een Wifi-netwerk, dat geconfigureerd wordt door het derde onderdeel (Wificonfigurator). 2

13 Hoofdstuk 2 Bestaande situatie In de rust- en ziekenhuizen is er een oproep-afhandelingssysteem aanwezig. In elke kamer is er voor de patie nt een drukknoppenbediening voorzien. Deze wordt door de patient gebruikt als hij hulp nodig heeft. Elke bediening is aangesloten op de server. Deze verwerkt de signalen en stuurt dan berichten naar een DECT1 -centrale. Deze stuurt de berichten over het DECT-netwerk naar een DECT-telefoon van een verpleegkundige. Deze krijgen dan de oproep en het bijhorende kamernummer te zien. server lokaal bij verpleegsters DECT telefoons DECT server kamer van de patiënt drukknoppen server drukknoppen draadloos OXYGEN OXYGEN Figuur 2.1: Bestaande hardware: communicatie tussen hulpbehoevende en verpleegkundige Bij het aannemen van een oproep dient de verpleegkundige bij het binnenkomen van de kamer het oproepsignaal te stoppen (aparte drukknop). Zoniet blijft de oproep ook actief op de andere telefoons. Indien de verpleegkundige op een derde knop drukt wordt er een assistentieoproep verstuurd. Daarmee vraagt de verpleegkundige om assistentie. Die functie wordt enkel in noodgevallen gebruikt en krijgt dus een hogere prioriteit. 1 Digital Enhanced Cordless Telecommunications is een standaard voor digitale draadloze telefoons 3

14 De verpleegkundigen kunnen intern communiceren met elkaar via de DECTtelefoons en kunnen ook externe gesprekken ontvangen die hen doorgeschakeld worden vanuit de receptie. Het DECT-netwerk is vrij gelijkaardig aan een WiFinetwerk. 4

15 Hoofdstuk 3 Behoefte analyse 3.1 Zorgsysteem Dit onderdeel moet het bestaande oproepafhandelingssysteem vervangen en de functionaliteiten ervan uitbreiden. Dit moet zorgen voor een snellere en meer kwaliteitsvolle service. Verder moet het menselijke fouten reduceren en alle genomen acties bijhouden in een logboek. Dit onderdeel moet uitgewerkt worden op smartphones van de verpleegkundigen, maar er moet ook een versie voor een desktop-pc gecreëerd worden als back-up, mocht het WiFi-netwerk uitvallen. De drie functionaliteiten die dit onderdeel moet voorzien, zijn: Oproepafhandeling Het huidige oproep-afhandelingssysteem met DECT-toestellen is veroudert en heeft enkele tekortkomingen: Bij ontvangen van oproepen van de patiënten kan je slechts één oproep tegelijkertijd zien. Een oproep kan worden beantwoord door meerdere verpleegkundigen. Er is geen coördinatie ingebouwd in het systeem om ervoor te zorgen dat slechts één verpleegkundige een oproep beantwoord. Het systeem werkt slechts in één richting: van de server naar de clients toe. Client kunnen geen informatie doorgeven voor een betere coördinatie. De DECT-telefoons kunnen enkel het kamernummer tonen. Geen verschillende prioriteiten of andere nuttige informatie. Het nieuwe systeem moet als volgt werken. Wanneer er een patiënt een oproep doet via de drukknopmodule in zijn kamer, moet dit verschijnen op de smartphones van de verpleegkundigen. Dit kan door de signalen, die verstuurd worden tussen de drukknoppen-server en de DECT-centrale op te vangen en door te sturen naar de smartphones. Deze berichten worden verstuurd over een 5

16 RS kabel m.b.v. het ESPA protocol. Het formaat van deze berichten moet kunnen vastgelegd worden via de database van het systeem. Dit zorgt ervoor dat het systeem kan werken met verscheidene oproepsystemen. Van iedere oproep wordt volgende info opgeslagen: het tijdstip (datum + tijdstip) het kamernummer de locatie binnen de kamer (sanitair of normaal) de prioriteit (zie verder) Deze informatie moet ook zichtbaar zijn op de smartphones van de verpleegkundigen. Verder moet de verpleegkundige een oproep kunnen aannemen en moet bij deze actie een verwittiging gestuurd worden naar de rest zodat slechts één verpleegkundige per oproep reageert. Dit verhoogt de productiviteit. Ook moeten de verschillende prioriteiten van de oproepen zichtbaar zijn op de smartphones: 1. Normale prioriteit (groen): dit is een oproep van een patiënt. De verpleegkundigen kunnen deze best inschatten uitgaande van het verleden van de patiënt. 2. Hoge prioriteit (oranje): dit is een assistentie-oproep. Verpleegkundigen, bezig met niet-kritische zaken, geven assistentie. 3. Hoogste prioriteit (rood): dit zijn de automatisch gegenereerde oproepen. Hieronder vallen het brandalarm, hartslagmeter,.... De verschillende prioriteiten krijgen een specifiek geluidssignaal wanneer ze door de smartphones worden ontvangen. Dit zorgt ervoor dat de verpleegkundigen de prioriteit van een nieuwe oproep horen, zonder het scherm te moeten bekijken. Als een oproep wordt aangenomen moet deze ook worden afgehandeld. Bij het bepalen van de genomen acties moet, waar mogelijk, het intypen van tekst vermeden worden. Dit om de workflow te versnellen en frustratie te vermijden bij mensen die niet zo vertrouwd zijn met gegevensinvoer op een smartphone. Het bepalen van de acties gebeurt d.m.v. een reeks vragen, die kunnen geconfigureerd worden door de hoofdverpleegkundige via een configuratieprogramma. Dit programma moet volgende functionaliteiten ondersteunen: Aanpassen vragenlijst bij afhandelen van een oproep. Bekijken en toevoegen van vragen die door de verpleegkundigen worden voorgesteld. Mobiele toestellen activeren/deactiveren (van belang bij diefstal). 1 Recommended Standard European Selective Paging Association 6

17 Toelaten/weigeren inloggen personeelsleden al dan niet tijdsafhankelijk (bij ontslag). Het formaat van de oproepen, zoals ze vanuit de drukknoppen-server, worden verstuurd, aanpassen. Bekijken van statistieken zoals: gemiddelde oproep-afhandelingsduur per personeelslid, aantal valse oproepen per patiënt, trends in eetgewoonten van het patiëntenbestand,... Dit programma mag enkel toegankelijk zijn voor de hoofdverpleegkundigen en wordt op hun desktopcomputer geïnstalleerd. De vragenlijst bij afhandeling wordt opgesplitst in verschillende categorieën zodat de juiste vraag sneller kan worden beantwoord. Alle antwoorden worden bijgehouden in de database van Smart Telecom en worden zover mogelijk terug in het EPD ingebracht. De afhandeling kan ook verschillen naargelang de prioriteit. Zo is het bij een assistentieoproep niet nodig dat beide verpleegkundigen de afhandeling van de oproep in het systeem inbrengen Toegang tot het Elektronisch Patiënten Dossier Aangezien het nieuwe systeem tweerichtingsverkeer ondersteunt kan er ook informatie via de clients worden opgevraagd. Dit maakt het mogelijk het mogelijk om raadplegingen van het EPD te doen via de smartphones. Dit kan nuttig zijn om ondermeer: Snel contactgegevens van naasten op te vragen. Een medische tijdslijn op te vragen die de gezondheidstoestand van de patiënt weergeeft. Een tijdslijn weer te geven met recent toegediende medicatie. De verantwoordelijke artsen voor een bepaalde patiënt op te vragen Ondersteuning van de dagelijkse rondes Ten slotte moet Datacheck de verpleegkundigen ondersteunen tijdens hun dagelijkse ronde. De verpleegkundige geeft aan in welke kamer hij/zij zich bevindt en dan toont het systeem een lijst met taken die afgewerkt moeten worden. Elke taak dient afgevinkt te worden. Dit zorgt voor een hogere kwaliteit van de dienst en vermindert de kans op vergeten- of foutieve behandelingen. 7

18 3.1.4 Demo-versie Dit programma is een dummy 3 van de client op de smartphones van het Datacheck systeem. Het zal worden gebruikt door Smart Telecom bij verkoopsgesprekken waar de connectie met de server onhandig is. De database connectie moet dus worden vervangen door een programma-klasse die de database simuleert. Zodoende worden een aantal dummy oproepen gegenereerd telkens het programma opstart, en deze worden vervolgens op normale wijze afgehandeld. 3.2 Automatisatie facturatie Dit programma zal de facturen genereren voor de telefooncentrale die geplaatst wordt in een rust- of ziekenhuis. Ze werkt met VoIP 4. Met deze centrale is het mogelijk om binnen het lokale netwerk kosteloos te bellen (interne gesprekken). Externe gesprekken zijn ook mogelijk maar daarvoor is een VoIP-provider vereist. Deze zorgt ervoor dat de gesprekken zover mogelijk over internet worden verstuurd en net voordat ze hun bestemming bereiken, worden ze terug op het normale telefoonnetwerk gezet. Hierdoor heeft de ontvanger geen VoIP apparatuur nodig en zijn gesprekken in binnen- en buitenland heel wat voordeliger dan over het normale telefoonnetwerk. Het facturatieprogramma heeft de gespreksgegevens nodig van alle externe gesprekken. Deze worden gelukkig bijgehouden door de VoIP-provider. Uit de CDR s kan de informatie opgehaald worden om facturen op te stellen. De functionaliteit van dit onderdeel bestaat uit: Inlezen en analyseren van de CDR s; Toevoegen en aanpassen van klanten; Genereren van facturen in PDF 5 - en Excel formaat; Versturen van facturen naar adressen van klanten of, indien gewenst, deze af te drukken. 3.3 Netwerk optimalisatie Dit programma is een configuratie-tool die alle variabelen van een AP instelt. Dit programma zal enkel gebruikt worden binnen Smart Telecom. Het programma gaat als volgt te werk: 1. Als input krijgt het de IP 6 -adressen van alle AP s in het netwerk met hun wachtwoord (gelijk voor alle AP s). 3 Met dummy wordt een versie van het programma bedoeld dat ogenschijnlijk dezelfde functionaliteit biedt als zijn tegenhanger, maar achter de schermen anders/eenvoudiger in elkaar zit om welke reden dan ook. 4 Voice over IP geeft aan dat telefoongesprekken over internet worden verstuurd. 5 Portable Document Format 6 Internet Protocol 8

19 2. Vervolgens voert het programma een scan uit op iedere AP. Deze scan geeft alle buren weer waarvan de AP signaal opvangt, elk met hun respectievelijke signaalsterkte. 3. Voor een goede ontvangst doorheen het hele gebouw moeten alle naburige AP s op een apart kanaal gezet worden. Helaas zijn er van de dertien kanalen slechts drie die niet met elkaar interfereren. Alle AP s moeten dus een kanaal- en zendsterkte toegewezen krijgen, die ervoor zorgt dat er overal dekking is en toch de interferentie tot een minimum beperkt. Het berekenen van de configuratie is niet tijdkritisch zolang deze binnen aanvaardbare normen (enkele uren) blijft. 4. Verder moeten er ook nog enkele globale variabelen worden ingesteld, zoals: SSID 7 Wachtwoord om toegang te krijgen tot het netwerk Beveiligingstype (vb: WEP 8,WPA 9,WPA2) Tijdzone Toon een visualisatie van de gekozen configuratie (optioneel). 7 Service Set IDentifier is een naam die een draadloos netwerk identificeert. 8 Wired Equivalent Privacy 9 Wi-Fi Protected Access 9

20 Hoofdstuk 4 Datacheck De implementatie van de nieuwe versie van het oproepafhandelingssysteem wordt hier uitgelegd. 4.1 Keuze technologieën De RS232-analyser geprogrammeerd in Java om platformonafhankelijkheid te behouden. Dit is van belang aangezien dit onderdeel vaak in testfase eerst uitgevoerd wordt op een test computer en daarna pas op de server wordt geplaatst. Deze hebben niet perse hetzelfde besturingssysteem. De Datacheckwebservice wordt geschreven in het SOAP 1 -framework. Hier wordt gekozen voor SOAP, aangezien deze meer mogelijkheden biedt dan een RESTful 2 -webservice en omdat de clients toch genoeg rekenkracht 3 bezitten om de SOAP-berichten te parsen 4. Verder heeft SOAP krachtigere beveiligingsmechanismen en kan het verzekeren dat berichten op bestemming geraken (Reliable Messaging). De interactie met de database zal gebeuren d.m.v. een ORM 5 - architectuur, namelijk Hibernate 6. Dit om het programma overzichtelijker te houden en toekomstige uitbreidingen te versnellen. Zie de vergelijking in figuur Simple Object Access Protocol 2 Representational State Transfer 3 de gebruikte Symbian smartphones hebben een 434 MHz processor en de android phones een 1GHz processor 4 parsing of ook wel syntax analyse, is het analyseren van een tekst of bitstream om de structuur ervan te achterhalen. 5 Object Relational Mapping voorziet een framework om relationele tabellen in een database om te zetten naar objecten in een programma en omgekeerd. 6 Hibernate is een ORM-platform voor Java 10

21 JDBC (SQL) Hibernate (ORM, HQL) De ontwikkelaar moet zelf de mapping tussen kolommen en object variabelen schrijven Dit kan bijna XML formaat (of via mapping-files in es) Kan database specifieke SQL-opdrachten gebruiken in query s Bij aanpassingen aan de database of aan de objecten moet de mapping herschreven worden op alle plaatsen waar deze tabellen/objecten werden gebruikt Caching 6 is de verantwoordelijkheid van het programma en moet zelf geschreven worden Efficiënter in het algemeen maar ook efficiënter in het verwijderen in bulk en maken van een join tussen twee tabellen. HQL is een database- ke taal Bij aanpassingen moeten één keer de beïnvloede XML-mapping-files aangepast worden Hier kan auto bij een query de objecten in een cache gestoken worden zodat ze in het vervolg sneller kunnen worden opgevraagd. he type conversie tussen types die in het programma gebruikt worden en in de database Overzichtelijker, alle mapping in afzonderlijke mapping-files Figuur 4.1: Vergelijk tussen JDBC (sql) en Hibernate (ORM / HQL) Bij Datacheckmobile koos Smart Telecom voor Android en Symbian als besturingssystemen voor de smartphones. Op deze twee platformen moet dezelfde functionaliteit beschikbaar zijn en zoveel mogelijk dezelfde gebruikerservaring. Android Het Android besturingssysteem is gecreëerd als opensourceproject door Google. In vergelijking met Symbian is het een vrij jong besturingssysteem. Op Android wordt geprogrammeerd in Java-syntax 7. Als IDE 8 is er gekozen voor Eclipse, aangezien dit ondersteund wordt door Google d.m.v. een plug-in. Alle documentatie is aan de hand van Eclipse uitgelegd. Symbian 6 Caching is de techniek waar data lokaal wordt opgeslagen zodat ze bij toekomstige aanvragen sneller toegankelijk wordt. Het vermindert ook het netwerkverkeer en verhoogt de responssnelheid. 7 Dit is geen echte Java, maar enkel dezelfde syntax met een andere back-end om kosten aan SUN (Oracle) te vermijden. 8 Integrated Development Environment is een programma, dat de ontwikkeling van software ondersteunt, zoals: Qt, Netbeans, Eclipse,... 11

22 Het Symbian besturingssysteem is ontworpen door Nokia 9. Als ontwikkelingstaal voor dit platform kan men kiezen uit: C++, Java, Assembler, C, OPL, Web/WAP scripting,... Hier werd als programmeer-omgeving gekozen voor Qt (C++ als taal) omdat ze een goede ondersteuning biedt bij ontwikkeling van GUI 10 s op dit platform. Qt is ook ontwikkeld door Nokia en is ontworpen om zoveel mogelijk onafhankelijk te zijn van de gebruikte taal en van het platform waarvoor geprogrammeerd wordt. Vrij recent (maart 2011) is het Qt platform geport 11 naar Android. Misschien kan de C++ code van de Symbian versie van Datacheck ook gecompileerd worden voor Android. De Datacheckconfigurator zal geïmplementeerd worden in Java gezien dit op verschillende computers moet geïnstalleerd worden en Java platform onafhankelijk is. Er wordt gebruik gemaakt van Netbeans als IDE. Ten slotte wordt de Datacheckdummy op één van de twee mobiele platformen naar het einde toe uitgewerkt. De reden hiervoor is dat de functionaliteit identiek moet zijn aan die van de volwaardige programma s zonder de connectie met de server. Indien de programmeur een goede stijl aanhoudt kan deze dummy volledig verwezenlijkt worden door enkel de datalaag te herschrijven. 4.2 Implementatie Datacheck heeft drie functionele toepassingen: 1. Overbrengen van de berichten van de drukknoppenbediening in de kamers van de patiënten naar de smartphones. 2. De verpleegkundigen ondersteunen bij hun dagelijkse ronde. Welke acties in iedere kamer moeten ondernomen worden. 3. Informatie uit het EPD opvragen. Bijvoorbeeld: recente medicatie, contactgegevens van naasten,... maar ook toevoegingen doen, zoals: opmerkingen over de patiënt noteren, maaltijd voorkeuren vastleggen,... De implementatie gebeurt in 3 fasen: 1. Oproep-afhandeling naast bestaande DECT-infrastructuur. 2. Oproep-afhandeling en opvragingen uit het EPD. 3. Pas in de laatste fase wordt het DECT-systeem weggenomen. 9 Eigenlijk door: Nokia, Ericsson, Panasonic en Samsung. Oorspronkelijk ook door Motorolla en PSion. Nu wordt het echter hoofdzakelijk nog gebruikt door Nokia. 10 Graphical User Interface 11 Porting, het proces van software aanpassen zodat deze compatibel wordt met andere besturingssystemen en/of hardware architecturen. 12

23 DECT telefoons DECT server drukknoppen server OXYGEN drukknoppen OXYGEN RS232 Analyser Databank Database Electronisch Patiënten Dossier Datacheck Configuratie programma Datacheck Datacheck WebService DatacheckMobile DatacheckDesktop OXYGEN Figuur 4.2: Datacheck Hardware De implementatie die Datacheck op de smartphones mogelijk maakt, is eigenlijk een keten van programma s, die de noden van de patie nt naar de verpleegkundigen moet overbrengen. De keten start bij de RS232-analyser, die de berichten omzet van een stream, afkomstig uit de drukknoppen-centrale, naar aanroepen in de webservice. Deze laatste slaat de gegevens op in een database. De smartphones pollen 12 de webservice herhaaldelijk naar updates. Elk nieuw bericht wordt doorgestuurd naar de smartphones en wordt aldus zichtbaar voor de verpleegkundigen RS232-analyser In de eerste fase van de uitvoering van datacheck moest het DECT gedeelte blijven werken. Dus moet de DECT centrale nog steeds berichten kunnen ontvangen van de drukknoppen-centrale. De uitwisseling van data moet afgeluisterd worden zonder deze te verstoren. Hiervoor is een RS232-monitor-kabel[4] nodig. Deze moet slechts half duplex zijn aangezien het programma enkel geı nteresseerd is in data afkomstig van de drukknoppen-centrale. Deze kabel kan volgens onderstaand schema gefabriceerd worden. 12 polling duidt op de activiteit van herhaaldelijk opvragen van de status van een extern toestel of gegevensdrager door een client-programma. 13

24 Drukknoppen centrale vrouwlijke DECT-centrale mannelijke diode 1N4148 weerstand 2.2K RS232-analyser vrouwlijke Figuur 4.3: Solderingsschema voor een RS232-monitor kabel Het programma zelf krijgt dan, met behulp van een RS232-package 13, de bitstream binnen. Deze reeks bevat een hele reeks niet afdrukbare karakters. Indien deze wordt bekeken met een geavanceerde tekstverwerker 14, wordt de betekenis duidelijk: ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ2ACK! SYN STX51 NOR K041 DLE RS ACK DLE ETB ENQ2ACK! SYN STX52 NOR K041 DLERS! SYN STX52 NOR K041 DLERS ACK DLE ETB ENQ1NAK STX NAK ETX ENQ1!&EOT51 DLERS± ACK DLE ETB ENQ1NAK ETX ENQ1!&EOT52 DLE RS² ACK DLE ETB ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ1NAK ETX ENQ2ACK! SYN STX53 NOR K041 DLERS ACK DLE ETB ENQ2ACK! SYN STX54 NOR K041 DLE RS±! SYN STX54 NOR K041 DLE RS± ACK DLE ETB ENQ1NAK STX NAK ETX Figuur 4.4: Input stream van de drukknoppencentrale tijdens oproep vanuit kamer 41 Op de eerste regel duiden de enen op een normale situatie. Indien de DECTcentrale een bepaalde tijd geen antwoord geeft, zal dit veranderen naar tweetjes. Andere herkenbare gegevens zijn: 13 RXTX is een native bibliotheek die seriële en parallelle communicatie voorziet voor Java: 14 In dit geval werd Notepad++ gebruikt 14

25 Het kamernummer: 41. Het type van de oproep: normaal(nor), sanitair-(san), verpleegpost- (VP), assistentie-oproepen(ass) en brandalarm(brand). De DECT-telefoonnummers (staan voor iedere oproep: 51,52,53,...). Deze worden niet opgeslagen. Al deze informatie is van belang voor Datacheck en wordt dus via een webservice opgeslagen in een database. Waarom dit via een webservice gebeurt, wordt verderop uitgelegd: Omdat iedere bit belangrijke informatie kan bevatten, moet de verwerking kunnen volgen met de verzendingssnelheid van de bits. Om dit te verzekeren werden extra buffers ingebouwd tussen de ontvangst van de karakters en de verwerking ervan. Dit gebeurt volgens het onderstaande schema: 15

26 RS232 port Read and store in buffer Buffer Read char from buffer char = START_MESSAGE_ CHAR? No building message? No Drop char Yes Yes - drop message - make new message - add char Add char to current message message length = MAX_SIZE? No Yes get matchingpatterns from database Analyse message Found match? No Drop message Yes Add to database Figuur 4.5: Omzetten van RS232-bitstream naar berichten in database De buffer zorgt ervoor dat geen bits verloren gaan als de verwerking van de vorige bit meer tijd zou vergen dan beschikbaar. Het formaat van de berichten kan met een reguliere expressie in de database worden vastgelegd. Bij de start 16

27 van de RS232-analyser worden deze patronen ingeladen en vooraf gecompileerd, waardoor de herkenning zo efficiënt mogelijk gebeurt. Het mechanisme werkt met een start-karakter, waarop een bericht volgt van maximaal MAX SIZE 15 karakters. Dit mechanisme wordt verder besproken bij 4.5. Ten slotte wordt het UML 16 -schema nog vermeldt. 15 MAX SIZE is een constante die in het programma wordt vastgelegd. Deze bevat de maximale bericht lengte. 16 Unified Modeling Language 17

28 gui message Main -txtconsole : JTextPane -scroll : JScrollPane -null : MessagePrinter -client : HttpClient -method : GetMethod -LINK : String = " -sc : StyleContext = StyleContext.getDefaultStyleContext() -Main() +connect() : void +showmessage(message : String) : void +clear() : void +addletter(letter : int) : void +adderror(text : String) : void -append(s : String, c : Color) : void +run() : void +main(args : String []) : void -console : JTextPane ~scroll : JScrollPane -sc : StyleContext = StyleContext.getDefaultStyleContext() +MessagePrinter(owner : JFrame) +addtext(text : String) : void +adderror(text : String) : void -append(s : String, c : Color) : void +clear() : void 1 1 MessagePrinter -message : String -time : int Message +Message(message : String, time : int) +comparemessage(message : String) : boolean +decreasetime(period : int) : boolean ~in : InputStream -queue : ArrayBlockingQueue<Integer> = new ArrayBlo... +logger : Logger = Logger.getLogger("rs232") +MAX_MESSAGE_SIZE : int = 19 -messageinconstruction : StringBuilder -messagelength : int = -1 -messagepatterns : ArrayList<java.util.regex.Pattern> -replacepatterns : ArrayList<String> +MessageExtractor() +run() : void -GetCharFromQueue() : int +add(letter : int) : void Reciever +Reciever(in : InputStream) +run() : void MessageExtractor database ConfigurationConstants DatabaseConnector -DatabaseConnector() +getconnection() : Connection +getmessageformats() : ArrayList<String[]> +logmessage(stream : String, message : String) : void Figuur 4.6: Klasse diagram van de RS232-analyser. Hier worden enkele van de belangrijkste klassen beschreven: Reciever: Deze klasse ontvangt de karakters, afkomstig van de drukknoppencentrale. Deze slaat hij op in een buffer (wachtrij) in de klasse MessageExtractor. Wanneer deze klasse een bericht (Message) herkent zal hij dit via de DataConnector in de database opslaan. De overige klassen dienen om de berichten ook te tonen op het scherm 18

29 voor debug doeleinden Datacheckwebservice Het volgende onderdeel is de webservice. Deze vormt het centrale deel van Datacheck. Hij ontvangt berichten van de RS232-analyser en slaat ze op in de database. Hij regelt ook de communicatie tussen de clients en wisselt de gegevens uit met het EPD. Het ontwerpen van de webservice verloopt in verschillende stappen: Het ontwerp van de MySQL-database. Mapping 17 van de database tabellen naar objecten m.b.v. Object Relational Mapping. Het ontwerpen van de webservice-logica en de interface voor de clients m.b.v. SOAP[5]. Het genereren van de proxy klassen voor de clients Database Het ontwerp van de MySQL-database: 17 Data mapping is het bepalen van de regels om van de ene datastructuur over te kunnen gaan naar een andere. 19

30 Figuur 4.7: Entity relationship diagram van de database voor Datacheck. Hier worden enkele van de belangrijkste databasetabellen beschreven staffmember: deze tabel bevat alle verpleegkundigen die met de smartphones moeten werken. Hier wordt ook hun login gegevens bewaard. callalert: hierin komen alle nieuwe oproepen die gedetecteerd worden door de RS232analyser (de tabel heet callalert aangezien call een gereserveerd woord is in MySQL). callfinished: als een oproep afgehandeld is wordt ze hiernaartoe verplaatst als logboek. 20

31 question/answer: bevatten de vragen die de verpleegster moet beantwoorden om de oproep af te handelen. roomgroup: definieert de koppeling tussen de verpleegkundigen en kamers waarvoor ze verantwoordelijk zijn Webservice logica. Vervolgens dient webservice logica geschreven te worden. Deze is vrij eenvoudig. De meeste methodes halen objecten op m.b.v. HQL 18 en geven deze door aan de client. De client controleren de server iedere paar seconden op updates (polling). Omdat het teveel werk zou zijn om steeds alle oproepen op de server te vergelijken met de oproepen op de client om te zien of er nieuwe zijn bijgekomen, wordt het volgende mechanisme gebruikt. Er wordt een teller bij gehouden op de server. Deze wordt steeds verhoogt als er een update binnenkomt op de server. De clients houden hun eigen teller bij en vergelijken deze bij iedere up-to-date check. Pas als ze verschillen worden alle oproepen voor dat toestel opgevraagd. Nieuwe updates in de webservice kunnen voor komen als er een nieuwe oproep (via RS232-analyser) wordt toegevoegd, maar ook als een andere verpleegkundige een oproep aanneemt of afhandelt. Dit is ook de reden waarom RS232-analyser niet rechtstreeks de database mag aanspreken. Want dan zou de webservice niet weten wanneer een nieuwe oproep is toegevoegd. Dit mechanisme zal naar de toekomst nog verfijnd worden. Aangezien er verschillende groepen gebruikers bestaan. Iedere groep krijgt een aantal kamers toegekend. Dus is het efficiënter om een teller toe te voegen per groep. Dan moeten vele clients minder keren alle oproepen ophalen. Dit beperkt het netwerkverkeer en verhoogt slechts minimaal de belasting op de webservice Client proxy-klassen. Daarna moeten de proxy-klassen gegenereerd worden voor de clients. Deze worden in Qt 19 geschreven m.b.v. C++. Evenzo voor de proxy-klassen die in C++ gegenereerd worden. Dit kan vrij eenvoudig met gsoap 20. Aan gsoap wordt het adres van de WSDL 21 van de webservice meegegeven en dan genereert deze alle benodigde klassen. 18 Hibernate Query Language heeft hetzelfde doel als SQL, maar werkt met objecten i.p.v. met tabellen 19 Qt is een programmeeromgeving waarbij dezelfde code kan gecompileerd worden voor verschillende platformen. 20 gsoap kan van een webservice de proxy-klassen automatisch genereren, of omgekeerd de webservice creëren. 21 Web Service Definition Language bepaalt in een gestandaardiseerd formaat welke methodes opgeroepen kunnen worden in een webservice en welk formaat de objecten hebben die verkregen worden. 21

32 Klasse diagram Ten slotte wordt de opbouw van de uiteindelijke implementatie van de webservice nog besproken. Figuur 4.8: Klasse diagram van de Datacheck webservice. Hier worden enkele van de belangrijkste klassen beschreven: datacheck: dit is de belangrijste klasse die de volledige logica van de webservice bevat. Hierin kan men makkelijk de WSDL-structuur herkennen. zie resultaten:

33 De objecten komen nagenoeg overeen met de database tabellen die eerder al besproken werden: Deze objecten kunnen automatisch vanuit de database gegenereerd worden Datacheckmobile Dit is het programma dat als client dient voor de webservice van Datacheck. Het draait op de smartphones van het verplegend personeel. Dit moet zowel voor het Android als voor het Symbian platform geschreven worden. Aangezien de programmeerverschillen zich toch slechts in de details voordoen, worden deze samen besproken op een algemener niveau. De volgende figuur geeft de verschillende onderdelen van het programma met hun interacties in vereenvoudigde vorm weer. 23

34 start program Login dialog Login Login checks out? No Yes Notify error second thread Webservice Poller Start Poller Call dialog Select Call is Call beeing handeled by another nurse? Yes No Call update availible on webservice? No Yes Call refresh Abort Call Back Back Category dialog Select Category Wait POL_INTERVAL Question dialog Select Question Finish Call Back Question is multiple answer or yes/no Yes/No Multiple answer Answer dialog Class/Dialog Action Choise Figuur 4.9: Flowdiagram dat de werking van Datacheckmobile weergeeft. Na inloggen kan de verpleegkundige de oproepen zien in volgorde van prioriteit en daarna gesorteerd op starttijd (oudste eerst). Hieronder komen de oproepen die reeds in behandeling zijn, in dezelfde volgorde. Iedere oproep moet worden afgehandeld. Dit gebeurt door een opsomming te geven van alle handelingen. Deze worden als vragen voorgesteld. In het categoriescherm worden de vragen opgedeeld volgens categorie. Na keuze van een bepaalde categorie, krijgt men een reeks vragen te zien waar de verpleegkundige er één uit kiest. Een vraag kan drie mogelijke types hebben: Ja/Nee, multiple choice of een invoer-vraag. Afhankelijk van het antwoord op de vraag kan nog een bijkomende vraag gesteld worden. Ook kan worden aangegeven of het antwoord op de vraag moet wor- 24

35 den opgeslagen. Dit is handig om tussenliggende vragen, die leiden naar meer specifieke vragen, niet op te slaan en zo de gegevensredundantie te verlagen. Bij elk vragenmenu kan men een een suggestie geven, als geen enkele vraag de handeling beschrijft. Deze worden vervolgens in een rapport verzonden naar de hoofdverpleegkundige via . Ten slotte voorziet het programma persoonlijke instellingen. Deze worden bij het inloggen in de applicatie geladen en zorgen ervoor dat de verpleegkundigen meer inspraak krijgen in de werking van Datacheck. Dit wordt op volgende manier geïmplementeerd in klassen: 25

36 main LoginDialog +LoginDialog() +~LoginDialog() -eventfilter() CallDialog -attribute : PollingService* -dynamic_buttons : QList<QWidget*> -styles : QStringList* -attribute : CallButton* +CallDialog() +~CallDialog() +initcalls() +updatecalls() -clearbuttons() -eventfilter() CategoryDialog -attribute : Call* -buttons : QList<QToolButton*> +CategoryDialog() +~CategoryDialog() +setcall() +setbtnreadyenabled() +loadqanda() -eventfilter() QuestionsDialog -questions : QHash< int, QList< Questi... -question_menu_id : int -attribute : Call* -dynamic_buttons : QList< QWidget* > * +QuestionsDialog() +~QuestionsDialog() +showquestions() +loadqanda() -eventfilter() -clearbuttons() InputAnswerDialog -ui : InputAnswerDialog* -attribute : Question* -attribute : Call* +InputAnswerDialog() +~InputAnswerDialog() +initialize() datacheckportbindingproxy +soap_endpoint : char* +datacheckportbindingproxy() +datacheckportbindingproxy() +datacheckportbindingproxy() +datacheckportbindingproxy() +~datacheckportbindingproxy() +datacheckportbindingproxy_init() +destroy() +soap_noheader() +soap_fault() +soap_fault_string() +soap_fault_detail() +soap_close_socket() +soap_print_fault() +soap_stream_fault() +soap_sprint_fault() +checklogin() +getsettings() +getcalls() +getcounter() +send_addcall() +recv_addcall() +recv_addcall_empty_response() +addcall() +increasecounter() +getquestions() +getanswers() +setcallpending() +send_setcallabort() +recv_setcallabort() +recv_setcallabort_empty_response() +setcallabort() +send_setcallfinished() +recv_setcallfinished() +recv_setcallfinished_empty_response() +setcallfinished() +addcallanswer() +send_addsuggestion() +recv_addsuggestion() +recv_addsuggestion_empty_response() CallButton -attribute : Call* +CallButton() +~CallButton() +paintevent() +getcall() PollingService -attribute : CallDialog* -attribute : QList< Call* > * -updategui : bool +PollingService() +timerevent() +setgui() +setupdategui() -checkupdates() -issoundneeded() DataConnector -counter : int +checklogin() +getcalls() +isupdateneeded() +getquestions() +addcallanswer() +setcallpending() +setcallfinished() +setcallabort() +readsettings() +writesettings() +addsuggestion() Call -id : QString -display : QString -location : QString -priority : int -firstname : QString -lastname : QString -staffaidid : QString -pending : bool +Call() +Call() +Call() +getid() +getdisplay() +getlocation() +getfirstname() +getlastname() +getname() +getpriority() +getstaffaidid() +ispending() +compare() ProgramSettings -settings : QHash<QS... +read() +get() +set() +print() QuestionButton -attribute : Question* +QuestionButton() +~QuestionButton() +getquestion() Answer -questionid_ : int -answerid_ : int -answer_ : QString -nextmenuid_ : int +Answer() +Answer() +getanswer() +getnextmenuid() Question -questionid_ : int -questionlevel_ : int -menuid_ : int -questionstring_ : QString -type_ : int -loganswer_ : bool -units_ : QString -mask_ : QString -maskerror_ : QString -columns_ : int -attribute : QList< Answer* > * +Question() +Question() +getmenuid() +getquestionid() +getquestion() +isloganswer() +gettype() +getunits() +getmask() +getmaskerror() +getcolumns() +addanswer() +getanswers() +==() +qhash() Figuur 4.10: Klasse diagram van Datacheck mobile op Symbian. Hier worden enkele van de belangrijkste klassen beschreven: DataConnector: deze voorziet het programma met de benodigde informa- 26

37 tie en verbergt de implementatiedetails van de SOAP-klassen. datacheckportbindingproxy: dit is de automatisch gegenereerde proxyklasse die, gemakkelijk informatie van op de server op te halen, toestaat. Dialog: bovenaan op dezelfde lijn staan alle dialoogvensters. Deze worden meestal in dezelfde volgorde getoond aan de gebruiker, zie: 4.9 ProgramSettings: bewaard alle instellingen die in het programma gemaakt worden en is aanspreekbaar vanuit elke klasse. PollingService: deze klasse wordt uitgevoerd in een aparte thread. Het controleert de server op updates en verwittigd de GUI wanneer deze moet worden updatet worden. 4.3 Problemen tijdens implementatie RS232-analyser In de eerste fase van de analyse werden de berichten geselecteerd uit de gegevensstream, door een unieke start/stop-bit te identificeren. Een probleem hierbij ontstaat wanneer een eind-bit gemist wordt om welke reden dan ook. Dan zijn alle opeenvolgende geselecteerde berichten eigenlijk de karakters tussen twee opeenvolgende berichten. Dit werd opgelost door de berichtlengte te beperken tot een vast aantal karakters, en enkel te kijken naar de beginbit. Aangezien de berichten een vaste structuur hebben kan deze maximumlengte ingesteld worden zonder extra beperkingen voor het systeem. Zie figuur: 4.5. X A B C X X A B C X X A B C X X A B C D X X A B C D X A X bit zonder nuttige inhoud bit met nuttige info begin/einde bit van een bericht correct geanalyseerde bit verkeerd geanalyseerde bit gemiste bit Figuur 4.11: Programma mist één karakter en alle berichten zijn foutief. 27

38 4.3.2 Datacheckwebservice Datacheckmobile Tijdens de ontwikkeling van de Android-versie kon er geen verbinding gemaakt worden met de webservice. De code was correct maar de poort waarop de aanvragen aan de server doorgegeven werden stond niet open. Voor de Symbian versie was eerst gekozen voor Java ME 22. Aangezien de Android versie in Java was geschreven en de twee een identieke functionaliteit moesten hebben, was dit een logische keuze. Helaas bleek na enkele dagen ontwikkelen dat Java ME niet krachtig genoeg meer was voor gebruik op touch-smartphones. Daarom is de keuze van de taal veranderd naar Symbian C++ en de IDE naar Qt. 4.4 Resultaten DatacheckWebservice De bekomen interface van de webservice wordt beschreven d.m.v WSDL. De mogelijke aanroepen zien er als volgt uit: void addcall(callalert call); void addcallanswer(final String username, final String callid, final int answerid, final int questionid, final String value); void addsuggestion(final Suggestion suggestion); List<String> checklogin(final String username, final String password); List<Answer> getanswers(); List<Calls> getcalls(final String username); Integer getcounter(); List<Question> getquestions(); List<String> getsettings(final String username); Integer increasecounter(); void setcallabort(final String callid); void setcallfinished(final String callid); String setcallpending(final String callid, final String username); 22 Micro Edition is een Java versie ontworpen voor embedded computers, zoals bijvoorbeeld GSM 28

39 4.4.2 Datacheckmobile Figuur 4.12: bij opstarten. Aanmeldingsscherm Figuur 4.13: Overzicht van enkele oproepen. Figuur 4.14: Overzicht van de afhandelingscategorieën. Figuur 4.15: suggestie. Toevoegen van een 29

40 Verder zijn er nog een aantal schermen die een idee moeten geven van de toekomstige functionaliteit van het programma. Deze functionaliteiten zijn nog niet geïmplementeerd, aangezien onderhandelingen om toegang te krijgen tot de EPD-database, nog niet zijn afgerond. De afbeeldingen dienen voorlopig enkel om een betere keuze te maken bij de implementatie van de huidige onderdelen. Figuur 4.16: Overzicht dat toegang biedt tot de verschillende hoofdpunten van Datacheck mobile. Figuur 4.17: Overzicht van recente medicatie van een patiënt. 30

41 Figuur 4.18: Overzicht van de medische geschiedenis van een patiënt. 31

42 Hoofdstuk 5 Getuse 5.1 implementatie Dit programma moet automatisch facturen genereren met informatie afkomstig uit de Call Data Records van de gebruikte VoIP-centrale. Dit onderdeel bestaat uit drie delen: Analyse CDR s. Management van klanten. Genereren van facturen. Telefoon Logs Print PDF Facturatie programma: GetUse Database GetUse Figuur 5.1: Overzicht van GetUse. Dit onderdeel wordt geprogrammeerd in Java. De database interactie gebeurt m.b.v. JDBC 1. 1 Java DataBase Connectivity 32

43 Als eerste onderdeel moeten de CDR geanalyseerd worden. Alle callrecords zijn opgedeeld in verschillende bestanden, één per maand. Een regel in dit bestand ziet er als volgt uit: :50:14;4; ; ; Deze bestaan uit: de datum, het tijdstip, de duur in seconden, het telefoonnummer van de zender, het telefoonnummer van de ontvanger en de kostprijs. De verkoopsprijs wordt bepaald door drie factoren: Het land van de ontvanger. Type van de lijn van de ontvanger (vast / mobiel). De duur van het gesprek, maar deze is reeds gekend. De kostprijs die vermeld staat in de CDR geeft aan wat dit gesprek kost aan Smart Telecom. Om het land te bepalen wordt een lijst van reguliere expressies bijgehouden per land (231 landen). Een tweede om te herkennen of het al dan niet om een mobiele lijn gaat. In de volgende figuur ziet u een voorbeeld van het patroon om mobiele nummers in België te herkennen. patroon: 0{0,3} 32 4 [0-9]{8} 0,1,2 of 3 keer een 0 landcode België 0032 rest van het nummer 8 keer een willekeurig cijfer mobiel nummer Proximus BASE Mobistar bepalen samen met de duur de kostprijs van het telefoongesprek Figuur 5.2: Reguliere expressie voor mobiele nummers in België. De landcode moet 0032 zijn. Alle mobiele nummers in België beginnen met het cijfer vier (nullen niet meegerekend). Dit kan bepaald worden voor bijna alle landen. Bij de landen waar dit onmogelijk te bepalen bleek, is er ook geen verschil in kost/minuut tussen vaste- en mobiele lijnen. Eens het land en het type lijn bepaald zijn, worden deze gegevens opgeslagen in een database. Deze wordt dan later gebruikt bij het genereren van facturen. 33

44 In het tweede onderdeel van GetUse wordt het beheer van het klantenbestand behandeld. Dit moet ook opgeslagen worden in dezelfde database, maar moet eenvoudig aanpasbaar zijn voor medewerkers van Smart Telecom. Indien men de klantengegevens wil aanpassen, zal het programma de huidige klantengegevens exporteren naar een Excel-bestand en dit bestand automatisch openen. Eens de medewerker klaar is met zijn aanpassingen, slaat hij zijn veranderingen op en sluit Excel. Het programma zal de wijzigingen analyseren. Het bestand wordt regel per regel gecontroleerd. Bij fouten worden deze in een overzicht aan de gebruiker gemeld en opent het excel-document zich opnieuw. Ook als het aantal klanten dramatisch zakt na een aanpassing, wordt er een extra bevestiging aan de gebruiker gevraagd. Dit vermijdt verlies van gegevens door menselijke fouten. In het Excel-document wordt op de eerste regels uitleg gegeven over het formaat van de klantengegevens, zodat geen training vooraf nodig is. Bij het exporteren worden ook de nummers, die bij geen enkele klant horen, uitgeschreven zodat deze gegevens makkelijk aan te vullen zijn. Een klant kan verscheidene nummers hebben. Dit kan meegegeven worden in het document. Als laatste onderdeel blijft de factuur-generatie over. Op een factuur wordt vermeld: de gesprekskosten, huur van de centrale en huur van de telefoonlijnen. Deze dienen als back-up indien de internetverbinding zou uitvallen. Naast de overzichtsfactuur wordt ook een detailfactuur gegenereerd die alle gesprekken weergeeft. Om de gesprekskost te bepalen worden alle gesprekken die nog niet gefactureerd zijn overlopen. De verkoopsprijs van een gesprek wordt berekend aan de hand van de eerder verzamelde gegevens. Dit moet bepaald worden naargelang het abonnement. Voorbeelden zijn: Een gesprek-setupkost Een prijs per begonnen minuut Een korting... Tijdens dit proces moeten reeds de overzichten van de gesprekken opgemaakt worden. Deze gegevens worden naar Excel en PDF geëxporteerd. Indien er kleine aanpassingen nodig zijn, kan dit in het Excel-document aangepast worden. Een print hiervan gaat naar de klant. Iedere factuur moet een sequentieel nummer krijgen om ontbrekende of dubbele facturen te vermijden. Dit factuurnummer wordt met de andere instellingen van het programma bewaard in een XML 2 -bestand. In de database kan bepaald worden of de klant deze facturen via mail of per post wil ontvangen. Detailfacturen zijn enkel via verkrijgbaar uit ecologische overwegingen. De facturen kunnen trouwens rechtstreeks vanuit het programma naar de default printer gestuurd worden. Dit door het PDF-document als argument mee te geven aan Acrobat Reader. Die stuurt dan op zijn beurt de standaard printer van de computer aan. 2 Extensible Markup Language 34

45 gui settings input ConfigurationConstants ProgramSettings -settings : HashMap<String, String> +get(key : String) : String +set(key : String, value : String) : void +increase(key : String) : void +decrease(key : String) : void +increase(key : String, amount : int) : v... +read() : void +write() : void +print() : void Downloader ~size : int = downloadfile(faddress : String, localfilename : String, d... DownloadLists +DownloadLists() CdrReader -cdrfiles : String[] -parent : JFrame -directory : String -null : CustomProgressBar +CdrReader() #doinbackground() : Void -getcdrentries(file : String) : ArrayList<String> -addcdrtodatabase(cdrentries : ArrayList<String>) : void #done() : void 1 ProgressDialog -progressbar : JProgressBar -message : String -number : int +ProgressDialog(parent : Window, max : int, message : String) +change(number : int) : void +getaantal() : int CustomProgressBar -current : JProgressBar -max : int -label : String +CustomProgressBar(parent : JFrame, label : String, max : int) +propertychange(evt : PropertyChangeEvent) : void actions CustomersIO -rg : Random = new Random() #writecsv() : void #fixcsv(file : File) : ArrayList<String[]> #checkcsv(file : File) : ArrayList<String[]> #readcsv(customerrows : ArrayList<String[]>) : void #randomrijksreg(isman : boolean, geboorte : Date) : String ImportCustomers EditCustomersAction +mousereleased(e : MouseEvent) : void +mousereleased(e : MouseEvent) : void +mouseclicked(e : MouseEvent) : void +mouseclicked(e : MouseEvent) : void +mousepressed(e : MouseEvent) : void +mousepressed(e : MouseEvent) : void +mouseentered(e : MouseEvent) : void +mouseentered(e : MouseEvent) : void +mouseexited(e : MouseEvent) : void +mouseexited(e : MouseEvent) : void output -instance InvoiceDialog -rbnstartdate2 : JRadioButton -dchstart : JDateChooser -rbnenddate2 : JRadioButton -dchend : JDateChooser -ckbformat1 : JCheckBox -ckbformat2 : JCheckBox <<Property>> -instance : InvoiceDialog = new InvoiceDialog() -InvoiceDialog() 1 +CheckInput() : boolean +getstartdate() : Date +getenddate() : Date +ispdfselected() : boolean +isexcelselected() : boolean +copyfile(in : File, out : File) : void InvoiceLogic +mousereleased(e : MouseEvent) : void +analyserates() : void +calculateexternalcosts() : void PdfPrinter +print(file : String, factuurnum : String, cust : Custo... -createheader(file : String, factuurnum : String, cus... ExcelPrinter +print(file : String, name : String, number : String, ge... Main -tablecustomers : JTable -instance -tablenumbers : JTable -tablemodelcustomers : DefaultTableModel -tablemodelnumbers : DefaultTableModel -status : JMenuBar <<Property>> -names : String[] 1 <<Property>> -numbers : String[] +formatter : SimpleDateFormat = new SimpleDateFormat("d/M/y") <<Property>> -instance : Main = new Main() <<Property>> -customers : ArrayList<Customer> -Main() +UpdateLists() : void +buildconstraints(gbc : GridBagConstraints, x : int, y : int, w : int, h : int, wx : int, wy : int, fill : int, anchor : int) : void +main(args : String []) : void InvoiceDistributer -invoicenumber : int <<Property>> -null : ArrayList<Customer> +InvoiceDistributer(invoices : ArrayList<Customer>, invoicenumber : int) InvoicePrinter Invoice er +print(filepath : String) : void +send(cust : Customer, subject : S... PdfPrinterException +PdfPrinterException(message : String) logic telephoneanalyse RegexpCountry <<Property>> -code : String <<Property>> -labelen : String <<Property>> -labelnl : String <<Property>> -regexpcountry : String <<Property>> -regexpmobile : String <<Property>> -pricefix : int <<Property>> -pricemobile : int <<Property>> -startup_fix : int <<Property>> -startup_mobile : int +RegexpCountry(labelNl : String, code : String) +RegexpCountry(code : String, labelen : String, labelnl : String, regexpcou... +tostring() : String -customers * * Customer <<Property>> -id : String <<Property>> -invoicename : String <<Property>> -name : String <<Property>> -BtwPlichtig : boolean <<Property>> -firstname : String <<Property>> -lastname : String <<Property>> -gender : boolean <<Property>> -birthday : Date <<Property>> -address : String <<Property>> -zip : int <<Property>> -city : String <<Property>> -country : String <<Property>> - String <<Property>> -allow boolean <<Property>> -costcentrale : double <<Property>> -CostPhonelines : double <<Property>> -numbers : ArrayList<String> <<Property>> -invoice : String +Customer(id : String, invoicename : String, name : String, BtwPlic... +iscompany() : boolean +setmonthcost(monthcost : Double) : void +addnumber(number : String) : void +gettotalinvoice() : String +getdetailinvoice() : String +tostring() : String +getcostphonelines() : double +setcostphonelines(costphonelines : double) : void +isbtwplichtig() : boolean +setbtwplichtig(btwplichtig : boolean) : void +isallow () : boolean objects Country <<Property>> -code : String <<Property>> -labelnl : String <<Property>> -labelen : String <<Property>> -rate : int <<Property>> -setupcost : int +Country(code : String, labelnl : String) +Country(code : String, labelnl : String, labelen : String) +Country(code : String, labelnl : String, labelen : String, rate : int, setupcost : int) +tostring() : String Cdr -date : Timestamp <<Property>> -duration : int <<Property>> -from : String <<Property>> -to : String <<Property>> -internalcost : double <<Property>> -externalcost : double <<Property>> -rate : int <<Property>> -setupcost : int -Cdr(date : Timestamp, duration : int, to : String) +Cdr(date : Timestamp, duration : int, to : String, externalcost : double) +Cdr(date : Timestamp, duration : int, to : String, internalcost : double, rate : int, setupcost : int) +Cdr(date : Timestamp, duration : int, from : String, to : String, internalcost : double) +getdate() : String +getdateusa() : String 1 FailedToAnalyseNumberException <<Property>> -number : String +FailedToAnalyseNumberException(messa... database TelephoneAnalyser -countries : ArrayList<ArrayList<RegexpCountry>> <<Property>> -instance : TelephoneAnalyser -null : RegexpCountry +TelephoneAnalyser() +analyse(number : String) : Country -instance 1 DataConnector +init() : void -geefverbinding() : Connection +addcdrstodatabase(directory : String) : void -addcdrtodatabase(cdrentries : ArrayList<String>) : void -getfilelines(file : String) : ArrayList<String> +insertcdr(datetime : Timestamp, duration : int, fromnumber : String, tonumber : String, cost : dou... +updatecdr(datetime : Timestamp, tonumber : String, extraduration : int, extracost : double) : void +customerexists(id : String, number : String) : boolean +customerexists(id : String) : boolean Figuur 5.3: Klasse diagram van het Getuse facturatie programma. Hier worden enkele van de belangrijkste klassen beschreven: CdrReader: leest alle CDR-bestanden van de gespecificeerde CDR-directory en slaat ze op in de database. TelephoneAnalyser: deze bepaald het land van de bestemming van een telefoongesprek en of het naar een vaste- of een mobiele lijn is gemaakt. RegexpCountry: bevat de regexp 3 -patronen voor de ieder land. Deze worden voor analyse opgehaald uit de server en gecompileerd. DataConnector: deze voorziet weer de interactie met de database. 3 Reguliere Expressie is een manier om patronen te beschrijven waarmee een computer tekst kan herkennen. 35

46 CustomerIO: voorziet functies om het Excel-bestand te lezen en te schrijven maar ook om het te openen met Excel. InvoiceDialog: geeft de opties weer tussen welke data de gesprekken moeten gemaakt zijn die op de gegenereerde facturen komen. InvoiceDistrubuter: deze geeft de opties weer om de facturen te verdelen naar de klanten: printen, mailen of manueel behandelen. Bij dit onderdeel werden ook enkele kleine configuratieprogramma s gevraagd: PinGen De verbinding tussen de smartphones en de VoIP-server wordt beveiligd m.b.v. een wachtwoord. Deze wachtwoorden moeten op een eenvoudige en veilige manier worden bewaard. Iedere technicus die aanpassingen wil maken aan het systeem heeft deze wachtwoorden nodig. Daarom werdt een programma ontworpen dat wachtwoorden genereert a.d.h.v. vertrouwelijke informatie van de klant en een masterkey. Hierdoor kan om het even welke technicus veilig en eenvoudig de wachtwoorden terug genereren. Het programma moet met identieke gegevens steeds dezelfde wachtwoorden genereren. SecSet De instellingen die in het Getuse programma kunnen worden ingesteld worden opgeslagen in een XML-bestand. Deze instellingen kunnen ook wachtwoorden bevatten. Daarom mogen deze bestanden niet zomaar onbeveiligd op de schijf opgeslagen worden. Hierom wordt een programma gecreëerd dat de gebruiker in staat stelt om XML-bestanden te encrypteren en aan te passen. Het programma kan een XML-bestand omzetten naar een geëncrypteerd bestand door middel van een ingevoerde sleutel. Wil men het XML-bestand opnieuw bewerken, dan kan dat enkel via dit programma en de eerder ingegeven sleutel. 5.2 Problemen tijdens implementatie Hier was de grootste moeilijkheid het herkennen van de landen en het type telefoonlijn in het telefoonnummer. De analyse gebeurt op basis van een regexp per land. De eerste regexp bepaalt of het telefoonnummer afkomstig is van dit bepaalde land. De tweede regexp is bedoeld om te bepalen of het nummer mobiel is of een vaste lijn betreft. Om de efficiëntie te verhogen zou men de regexps kunnen omvormen tot een finite-state automaat. In de huidige implementatie is hier om twee redenen niet verder op ingegaan. Ten eerste is het systeem niet tijdkritisch en is het reeds vrij efficiënt zolang het aantal te analyseren telefoonnummers beperkt blijft (< 10000). Aangezien enkel unieke telefoonnummers moeten geanalyseerd worden, is de efficiëntie sterk afhankelijk van het belgedrag van de gebruikers van de 36

47 VoIP-centrale. Verder is het aantal unieke nummers beperkt aangezien de analyse iedere maand zal worden uitgevoerd. Ten tweede is het veel eenvoudiger om aanpassingen door te voeren als één van de regexps zou veranderen. In een finite-state automaat is dit daarentegen veel moeilijker, zeker als deze geminimaliseerd is. Een optimale oplossing zou zijn om, bij de start van het programma, te kijken of er veranderingen aan de regexps-lijst zijn aangebracht en telkens indien nodig, de automaat te regenereren. Dit is tot nu toe nog niet gebeurd wegens de eerst vernoemde reden. START , ,7-9 België mobiele lijn België vaste lijn Nederland mobiele lijn Nederland vaste lijn Figuur 5.4: Finite state automaat die telefoonnummers analyseert voor België en Nederland. 37

48 5.3 Resultaten Figuur 5.5: Grafische interface van het facturatieprogramma Getuse. 38

49 Figuur 5.6: Grafische interface van het wachtwoorden-genererend-programma Pingen. Figuur 5.7: Grafische interface van het XML-beveiligingsprogramma Secset. 39

50 Hoofdstuk 6 Wificonfigurator 6.1 implementatie Dit onderdeel moet informatie van een opgegeven aantal Wireless Accesspoints (AP s) ophalen, de informatie ervan analyseren, de beste configuratie kiezen en deze dan terug opladen. Dit zal geprogrammeerd worden in Java zodat platformonafhankelijkheid behouden blijft. 40

51 neightboor <<Interface>> IAccessPoint +equal(other : AccessPoint) : boolean +getmac() : String AbstractAccessPoint -ssid : String -mac : String #null : Channels -null : ChannelStatus = neightboor.channelstatus.undecided +AbstractAccessPoint(ssid : String, mac : String, channel : int) +equal(other : AccessPoint) : boolean +getssid() : String -convertchannel(channel : int) : Channels 1 1 <<Enum>> ChannelStatus <<Constant>> -UNDECIDED <<Constant>> -LOCAL_UNDECIDED <<Constant>> -LOCAL_DECIDED <<Constant>> -REMOTE <<Enum>> Channels <<Constant>> -CH_1 <<Constant>> -CH_6 <<Constant>> -CH_11 <<Constant>> -UNDEF -distance : int AccessPointNeightboor +AccessPointNeightboor(ssid : String, mac : Strin... +compareto(o : AccessPointNeightboor) : int -un : String -pw : String -null : ArrayList<AccessPoint> ChannelConfigurator +ChannelConfigurator(un : String, pw : String, aps : ArrayList... +configure() : ArrayList<AccessPoint> -calculatechannels() : void -detectlocalneightboors() : void -existsinterferance(complete : boolean) : boolean -print() : void AccessPoint +AccessPoint(ssid : String, mac : String, ip : String,... +addneightboor(neightboor : AccessPointNeightboo... +setchannel() : Channels +sortaps() : void -resetchannelpreferences() : void +getpreferedchanel() : Channels +getpreferedchanelindicator() : int +calculatechannelpreferences() : void +compareto(o : AccessPoint) : int +getprefs() : String ~setneightboorstatus(apmac : String, channelstatu... ~printneightboors() : void ~detectlocalneightboors(localapmacs : ArrayList<... ~localapmacscontains(localapmacs : ArrayList<St... * AccessPointCollector +getcurrentdata(un : String, pw : String, ip... * -null : Channels -preference : int Channel +Channel(channel : Channels, preference : int) +resetpreference() : void +addpreference(pref : int) : void -username : String -password : String -null : ArrayList<AccessPoint> ~NeightboorCollector(username : String, pass... +start() : void 1 NeightboorCollector gui snmp Preferences +accesspointstatus : String = "/setup.cgi?r... +requestscanurl : String = "/setup.cgi?re... +responsscanurl : String = "/setup.cgi?re... +startofapdataline : String = "<tr class=\"... +splitap : String = "</tr>" +splitfields : String = "</td>" +removehtmltags : String = "( *\\<.*?\\>)+ *" +getchannel : String = ".*GHz [^1-9]*" +AccessPointStatusDeviceName : String =... +AccessPointStatusWifiMac : String = "Wir... +AccessPointStatusChannel : String = "Cha... +scanduration : int = 10 +localmultiplier : int = 1 +maxdistance : int = 85 Gui -Gui() -getips() : ArrayList<String> -refreshtable() : void +updateaccesspointinfo(aps : ArrayList<Ac... -checkinput() : boolean +main(args : String []) : void RegExpExpander +ipnumberexpand(regexp : String, ip... -address : String -snmp : Snmp SnmpConnector +SnmpConnector(address : String) +stop() : void -start() : void +getasstring(oid : OID) : String +get(oids : OID []) : ResponseEvent -gettarget() : Target +gettableasstrings(oids : OID []) : List<List<String>> SNMP_OID +sysname : String = " " +clientmac : String = " " +clientrssi : String = " " Figuur 6.1: Klasse diagram van het Wificonfigurator programma. Dit onderdeel valt uiteen in 2 onderdelen: 41

52 6.1.1 Ophalen/opslaan configuratiegegevens. Een gebruiker kan een nieuw type AP kalibreren door voorgedefinieerde waarden in te stellen in een AP terwijl het programma het netwerkverkeer in de gaten houdt. Het kalibreren gebeurt voorlopig nog door de programmeur voor een vooraf gedefinieerd type AP. De analyse van het HTTP 1 -verkeer gebeurt m.b.v. Wireshark 2. De configuratiegegevens, die voor alle AP s gelijk zijn, kunnen ingesteld worden in het beginscherm van het programma. Verder kunnen ook de huidige en toekomstige gebruikersnamen en wachtwoorden gespecificeerd worden, die gebruikt worden bij de HTTP-aanvragen. Dit eerste onderdeel is vrij eenvoudig en bestaat uit het sturen van HTTP-get en post berichten naar de AP s, om ze te configureren Kanaalbepaling van de WAP s. In het tweede onderdeel wordt de optimale kanaalconfiguratie van de AP s bepaald. Iedere AP kan zijn omgeving scannen en een lijst van buren teruggeven waarvan hij signaal ontvangt. Deze lijst kan via een HTTP-get bericht opgevraagd worden. Hieruit kan een graaf opgesteld worden, waarbij iedere knoop een AP voorstelt en iedere verbinding aangeeft dat beide AP s elkaars signaal ontvangen. Op iedere verbinding wordt bijgehouden hoe sterk het signaal is tussen de twee AP s. Bij iedere AP kan het kanaal opgeslagen worden. Er zijn dertien kanalen waarvan er slechts drie niet met elkaar interfereren. Alle AP s moeten een kanaal krijgen zodat AP s op hetzelfde kanaal zo ver mogelijk uit elkaar staan, of m.a.w een zo zwak mogelijk signaal van elkaar ontvangen. Dit lijkt in tegenspraak met de manier AP s met elkaar werken. De interferentie tussen AP s op hetzelfde kanaal wil enkel zeggen dat AP s rekening moeten houden met elkaars berichten. Ze moeten afspreken wanneer ze spreken zodat ze elkaars signaal niet storen. Men zou ten onrechte kunnen denken dat het beter is het aantal keer dat zo n conflict zich voordoet te minimaliseren, ongeacht of de AP s dicht of ver uit elkaar liggen. Dit klopt evenwel niet gezien de signaalsterkte waarmee de AP s uitsturen, kan geconfigureerd worden. De conflicten die zich op grotere afstand voordoen kunnen namelijk makkelijk opgelost worden door het zendvermogen te verlagen. 1 Hypertext Transfer Protocol is een netwerk protocol dat de communicatie tussen een webclient (meestal een browser, hier datacheckmobile) en een webservice voorziet. 2 Wireshark is een netwerk-protocol analysator voor Windows / Unix 42

53 Wireless Access Point B Wireless Access Point Wireless Access Point A C Wireless Access Point WiFiConfigurator D Figuur 6.2: Overzicht van de Wificonfiguratoropstelling In bovenstaande figuur kan je zien dat WAP A en B op hetzelfde kanaal ingesteld staan. Aangezien deze AP s dichter bij elkaar liggen dan de andere twee, is het in dit geval beter om de kanalen te veranderen zodanig dat B en D zich op hetzelfde kanaal bevinden. Opgelet de figuur is slechts ter illustratie bedoeld. De cirkels die het zendbereik voorstellen zullen in werkelijkheid veel groter zijn, anders kunnen de AP s elkaars kanaal nooit opvangen. Om terug te komen op de graaf, herleidt het probleem zich tot een graafkleuringsprobleem (graph coloring). Kleur een graaf met drie kleuren zodat gelijkkleurige knopen zo ver mogelijk uit elkaar verwijderd zitten. In een vlakke graaf is het mogelijk om een graaf in te kleuren met vier kleuren 3. Helaas is dit hier geen vlakke graaf aangezien verbindingen willekeurig kunnen kruisen (draadloos) en de AP s op verschillende verdiepingen boven elkaar kunnen staan. Bovendien kunnen er AP s zijn van buren die op een kanaal ingesteld staan dat onveranderbaar is. Dus de graaf kan reeds ingekleurde knopen bevatten. 3 Het vier-kleuren probleem is een zeer gekend probleem binnen de grafentheorie. 43

54 Figuur 6.3: Model van de graaf met gekleurde knopen en interferentie Algoritmen 0-Extension[1] Dit algoritme probeert een graaf in te kleuren, vertrekkende vanaf een subgraaf die reeds ingekleurd is. Helaas is de verborgen constante 4 veel te groot. Dit wil zeggen dat het algoritme wel snel is in vergelijking met andere algoritmes maar enkel voor zover er genoeg knopen in de graaf zijn. In dit geval moet het programma een netwerk met maximum 64 knopen kunnen configureren. Dit algoritme is dus niet bruikbaar. Brute Force (DEZ) Aangezien het aantal knopen slechts 64 kan bedragen, kan geprobeerd worden alle mogelijke configuraties te bepalen en dan deze te kiezen met de laagste interferentiewaarde (zie verder). Alle mogelijkheden kunnen in een boom-structuur worden beschouwd waarbij ieder niveau een knoop voorstelt en iedere knoop in de graaf een voorlopige kleuring van de graaf. De bladeren onderaan de boom stellen alle mogelijke kleuringen voor. start eerste knoop tweede knoop derde knoop vierde knoop Figuur 6.4: Eerste vier niveaus van de mogelijke kleuringen van de boom De boom wordt doorlopen met DEZ 5, zie ook Steeds een blad 4 Bepaalt de standaard kost van een algoritme per element (knoop) in het probleem. 5 Diepte Eerst Zoeken is een techniek om alle knopen in een boom te doorlopen. Hierbij 44

55 bereikt wordt, is een mogelijke kleuring gevonden. Als nu de kleuring met minimale interferentiewaarde bijgehouden wordt, dan zal deze, na overlopen van de hele boom, minimaal zijn. Dit wil zeggen: 3 64 of kleuringen te berekenen. Dit is zelfs met snelle desktop computers nog niet haalbaar. Deze methode kan op de gebruikte referentiecomputer een dichte 6 graaf met vijfentwintig knopen inkleuren in ongeveer een half uur. Daarbij moet er rekening gehouden worden met een verdrievoudiging van de uitvoeringstijd per extra knoop Figuur 6.5: Volgorde van knopen aflopen bij Diepte Eerst Zoeken. Hoe berekent men nu de interferentiewaarde? Deze wordt gedefinieerd als de som van alle interferentie waarden van alle verbindingen, waarvan de knopen gelijk gekleurd zijn. De interferentiewaarde van een verbinding met gelijkkleurige knopen wordt dan de som van maximale signaalsterkte en signaalsterkte. Signaalsterkte wordt uitgedrukt in dbm 7. Deze waarden zijn steeds negatief, waarbij -1 een sterk signaal is en -90 het zwakste signaal. In het model wordt eerst gecontroleerd of er nergens een signaalsterkte bestaat kleiner dan -90. Brute Force (DEZ) Optimized De brute force kan sterk geoptimaliseerd worden door enkele kleine ingrepen. Bij het afdalen in de boom, kan bij iedere knoop de interferentiewaarde berekend worden. Als deze groter wordt dan de huidig minimale waarde voor een volledige kleuring, dan moet men de rest van die deelboom niet meer uitrekenen aangezien alle kleuringen in die deelboom een grotere interferentiewaarde zullen hebben dan het huidige minimum. Deze techniek van deelbomen wegsnijden wordt ook wel tree pruning genoemd. start men bij de bovenste knoop (de wortel), men kiest een tak en doorzoekt deze zo ver mogelijk zonder terug te keren op zijn stappen. 6 Met een dichte graaf bedoelen we gemiddeld 6 verbindingen per knoop. Het aantal verbindingen zal normaal gezien veel lager liggen: eerder rondt 4 verbindingen per knoop. 7 dbm (soms dbmw) is een afkorting voor de vermogen verhouding in decibel (db) of gemeten vermogen met als referentie 1 milliwatt (mw). 45

56 Een andere optimalisatie bestaat erin bij iedere knoop de kinderen in een willekeurige volgorde af te lopen. Bij het origineel wordt gestart met alle knopen eenzelfde kleur te geven en dan in omgekeerde volgorde één per één de kleuren aan te passen. Dit zorgt ervoor dan de initiële interferentie maximaal is, en dus geen versterkend effect heeft op de vorige optimalisatie. Door de kleuren in willekeurige volgorde uit te testen zakt de initiële interferentie drastisch en dit heeft een zeer positieve invloed op de uitvoeringstijd dankzij de vorige optimalisatie. Ten slotte zouden het mechanisme zeer eenvoudig multithreaded 8 gemaakt kunnen worden. De effecten hiervan zijn evenwel minimaal. Zelfs als door multithreading de snelheid verviervoudigt, dan nog komt dit neer op één à twee extra knopen die kunnen berekend worden binnen dezelfde tijd. Het werk weegt dus niet op tegen de tijdswinst. Om locale grote interferentiewaarden te vermijden binnen een goede oplossing, moet nog een optimalizatie toegevoegd worden. Stel een oplossing met één interferentiewaarde van 90 en één met 100. Nu wordt sowieso voor de oplossing met de kleinste interferentiewaarde gekozen. Maar stel dat de ene een opeenvolgende reeks interferentiewaarden heeft van: 0,0,0,90,0,0,0,0,0,0 en de andere: 10,10,10,10,10,10,10,10,10,10. Dan is het duidelijk dat deze laatste de beste oplossing is om de zendvermogens aan te passen. Helaas kiest het algoritme nu voor de eerste oplossing. Dit kan verbeterd worden door een strafwaarde in te voeren voor hoge lokale interferentiewaarden. Als bijvoorbeeld alle interferentiewaarden eerst gekwadrateerd worden, zullen de hogere lokale interferentiewaarden een veel hogere waarde krijgen dan de lagere waarden. In het voorbeeld wordt dit: 90 2 = 8100 en = Nu wordt wel voor de tweede oplossing gekozen. Een andere en laatste methode kan een zeer grote tijdswinst opleveren maar verandert deze wel in een benaderingsalgoritme in plaats van een exact algoritme. De eis is dat bij iedere stap in de graaf de huidige interferentie kleiner moet zijn dan het huidig minimum min een constante. Hoe groter deze constante is, hoe sneller het algoritme, maar ook hoe slechter de oplossing. De grootte van de constante geeft aan hoeveel de interferentiewaarde van de oplossing maximaal kan afwijken van het optimum. Deze methode kan dankzij deze optimalisaties een dichte graaf met dertig knopen verwerken onder de seconde. Om deze techniek tot een praktisch bruikbare methode te maken, moet men vooreerst de graaf opdelen in stukken die binnen een haalbare tijd 8 Dan wordt het werk opgesplitst in onafhankelijke delen en door aparte processoren uitgerekend. 46

57 berekenbaar zijn en vervolgens het resultaat terug samenvoegen (verdeel en heers methode). Men kan de graaf splitsen in twee delen die ongeveer dezelfde grootte hebben en waarbij de som van de waarden van de verbindingen die over de snijlijn lopen minimaal is 9 (rode lijn in de onderstaande figuur). Men gebruikt dan deze methode om het eerste stuk (A) te berekenen binnen een haalbare tijd. Daarna wordt het tweede deel (B) berekend afhankelijk van de eerder berekende kleur van de knopen die in de doorsnede van A en B liggen. A B Figuur 6.6: Splits graaf en bereken de twee delen apart met de grensknopen in beide delen Een heuristische manier om een graaf te splitsen volgens bovenstaande criteria is m.b.v. het Kerninghan-Lin algoritme. Dit algoritme begint met een basis verdeling waarbij beide delen ongeveer even groot zijn en probeert deze te verbeteren door knopen paren te zoeken waarbij de doorsnede kleiner wordt als de paren omgewisseld worden. Het algoritme blijft zoeken tot er geen zo n knopenpaar meer wordt gevonden. 9 Graph Bisection. 47

58 1 function Kernighan-Lin(G(V,E)): 2 determine a balanced initial partition of the nodes into sets A and B 3 do 4 A1 := A; B1 := B 5 compute D values for all a in A1 and b in B1 6 for (i := 1 to V /2) 7 find a[i] from A1 and b[i] from B1, such that g[i] = D[a[i]] + D[b[i]] - 2*c[a[i]][b[i]] is maximal 8 move a[i] to B1 and b[i] to A1 9 remove a[i] and b[i] from further consideration in this pass 10 update D values for the elements of A1 = A1 / a[i] and B1 = B1 / b[i] 11 end for 12 find k which maximizes g_max, the sum of g[1],...,g[k] 13 if (g_max > 0) then 14 Exchange a[1],a[2],...,a[k] with b[1],b[2],...,b[k] 15 until (g_max <= 0) 16 return G(V,E) Figuur 6.7: Pseudo code voor het Kerninghan-Lin algoritme. Aangezien dit algoritme begint met een redelijke verdeling moet men deze nog eerst opstellen. Een heuristische methode om een graaf in 2 delen te splitsen die ongeveer even groot zijn, kan gerealiseerd worden door eerst de twee knopen te zoeken die het verst uit elkaar liggen. Dan laat men deze knopen om beurt een buur kiezen, in volgorde van de dichtste buur eerst, tot alle knopen verdeeld zijn in 2 groepen. Daardoor wordt het probleem opnieuw verschoven, want men dient de twee verst uiteenliggende knopen te vinden. Dit kan met een eenvoudige iteratieve methode. Er wordt willekeurig een knoop gekozen. Dan geeft men zijn buren de waarde één, en al hun buren, de waarde twee, enz. Een waarde mag nooit overschreven worden. Als men bij de laatste knoop komt, is dit de verste knoop van de eerst geselecteerde knoop. Het proces wordt herhaald tot de waarde van de laatste knoop gelijk blijft aan de waarde van de laatste knoop uit de vorige ronde. Deze waarde is trouwens de diameter 10 van de graaf. 10 de diameter van een graaf is de lengte van de langste, kortste weg tussen twee knopen in een graaf. Met langste kortste wordt bedoeld: van alle kortste wegen tussen alle mogelijke paren in de graaf, de langste. 48

59 Iteratie 1 Iteratie 2 Iteratie 3 Figuur 6.8: Drie iteraties om de verst uiteenliggende knopen en de diameter te vinden. Brute Force (BEZ) Optimized Het probleem kan ook anders benaderd worden. Tijdens afdalen in de mogelijke-kleuringen-boom worden alle kleuringen op één niveau bepaald en de interferentiewaarde berekend. Hiervan worden dan de beste interferentiewaarden gekozen om verder door te rekenen. Het aantal dat gekozen wordt is perfect instelbaar. Het bepaalt ook de snelheid van het algoritme (hoger is trager) en de kwaliteit van de oplossing (hoger is beter). Deze functionaliteit is zeer eenvoudig te implementeren met een prioriteitswachtrij met vaste grootte. Alle oplossingen worden hieraan toegevoegd en als prioriteit wordt de interferentiewaarde gekozen. Bij het toevoegen van een nieuwe oplossing, als de wachtrij reeds vol is, wordt de slechtste oplossing verwijderd. priority queue size = Figuur 6.9: BEZ methode met wachtrij grootte = 3. 49

60 Deze methode biedt niet meer gegarandeerd de beste oplossing. Maar zoals eerder uitgelegd is de ideale oplossing een vager begrip dan eerst gedacht. Het is een trade-off geworden tussen lokale- en globale optimalisatie. Een voordeel van deze methode is dat ze makkelijk aanpasbaar is aan de snelheid van de computer. Men kan bij ieder niveau nagaan hoeveel tijd het vergt om het te berekenen. Als deze tijd te groot wordt, reduceert men het aantal oplossingen waarmee verder gewerkt wordt. Zo zal het algoritme zich dynamisch aanpassen aan toekomstige krachtigere computers. Hierdoor heeft het ook weinig zit om een tijdsresultaat voor een bepaalde graaf te geven, aangezien de methode zich aanpast aan de toegestane tijd. We kunnen evenwel de Voorbereiden graaf Ten slotte kan/moet de graaf op voorhand al voorbereid worden onafhankelijk van het gebruikte algoritme. Deze aanpassingen zorgen ervoor dat de algoritmes minder knopen moeten verwerken. Deze methodes kunnen de uitvoering verbeteren maar daar mag hier nooit zomaar van uitgegaan worden. Er moet altijd verondersteld worden dat een graaf zo sterk samenhangt dat hij niet te verbeteren is. Daarom werden voorgaande algoritmes gedefinieerd. Ze zijn trager maar geven wel altijd een oplossing. Opsplitsen in componenten De opgestelde graaf is niet perse samenhangend. Dit wil zeggen dat de graaf opgesplitst kan worden in delen die geen gemeenschappelijke verbindingen bezitten. Eens opgesplitst in componenten, kunnen bovenstaande algoritmen op iedere component uitgevoerd worden. Dit is in lineaire tijd te bepalen m.b.v. DEZ. Steek alle knopen in een lijst. Begin met de eerste knoop in de lijst, loop door zijn buren met DEZ. Bij iedere bereikte buur wordt deze verwijderd uit de lijst. Als alle knopen via DEZ overlopen zijn, is een volledige component gevonden. Op dezelfde manier wordt verder gegaan tot er geen knopen meer in de lijst zitten. 50

61 Figuur 6.10: Splitsen van een graaf met Diepte eerst zoeken. Reduceren van een component Als een knoop maximaal twee buren heeft kan deze steeds ingekleurd worden, want er zijn drie kleuren. Dus alle knopen met maximaal twee buren worden iteratief gewist uit de component, tot deze niet verder te reduceren valt. 51

62 Figuur 6.11: Reduceren graaf door alle knopen met maximum twee buren te verwijderen. Na alle knopen gewist te hebben, blijven er één of meerdere niet te reduceren kernen over. Deze kunnen dan ingekleurd worden m.b.v. de voorgaande algoritmen. Dit kan een zeer sterke optimalisatie zijn bij een ijle graaf 11. De volgorde van de verwijderde knopen moet worden bijgehouden, zodat de component na het berekenen van de kernen terug kan worden opgebouwd in omgekeerde volgorde. Het reduceren van de graaf versnelt de globale berekening zonder de optimale oplossing op te offeren Totaal algoritme Al de bovenstaande algoritmen zijn combineerbaar tot één zeer efficiënt algoritme als de graaf ijl is. Dit gebeurt in onderstaande volgorde: Opdelen van de graaf in zijn componenten ( ) Op alle componenten worden volgende bewerkingen toegepast: Reductie van de component Indien er een niet te reduceren kern overblijft, wordt deze gekleurd met De graaf wordt terug opgebouwd in omgekeerde reduceer-volgorde en worden alle toegevoegde knopen direct met het beschikbare kleur gekleurd De verscheidene componenten worden terug samen gevoegd in één graaf Dit algoritme berekent niet perse de optimale oplossing, maar toch zeker een optimale oplossing binnen een zeer kleine tijdsduur. Deze valt perfect te beperken door de wachtrijgrootte bij het BEZ 12 -algoritme te beperken. 11 Dit is een graaf met weinig verbindingen tussen de knopen. Tegengesteld aan een dichte graaf, waar het aantal verbindingen tegen het maximum (#knopen 2 ) aanloopt. 12 Breedte Eerst Zoeken is een techniek om alle knopen in een boom te doorlopen. Alleen worden de knopen met deze techniek niveau per niveau overlopen i.p.v. verticaal bij DEZ. 52

63 6.2 Problemen tijdens implementatie Hier was het eerste idee om de kanalenconfiguratie met brute force te bepalen. Deze methode is dan O(3 n ) (met n het aantal knopen in de graaf) en niet echt efficiënt bij grotere aantallen AP s /TODO show results of this method. Als alternatief kan het 0-extention algoritme[1] gebruikt worden. Dit heeft een veel hogere asymptotische efficiëntie O(log(n)) maar biedt slechts een sub-optimale oplossing. De verborgen constante blijkt veel te groot te zijn waardoor dit algoritme met n = 64 niet praktisch bruikbaar is. Een ander vakgebied waar gelijkaardige problemen efficiënt moeten worden opgelost betreft compilers[2, 8.8.4]. Een belangrijk onderdeel van compilers is het toekennen van registers. Er zijn k registers en deze moeten gebruikt worden door de verschillende onderdelen van een programma. Het toekennen kan aanzien worden als het kleuren van een graaf met k kleuren. Helaas houden de methodes voor dit probleem geen rekening met de waarde op de verbindingen tussen de knopen, en proberen ze enkel het aantal conflicten te reduceren. 53

64 6.3 Resultaten Figuur 6.12: Grafische interface om de WAP-configuratie in te stellen. Hier kan men de IP-adressen van de AP s en de logingegevens invullen. Dan drukt men op Collect om de informatie uit de AP s op te halen. Vervolgens worden alle gegevens ingevuld en drukt men om Push om de optimale configuratie te berekenen en terug in te laden in de AP s. 54

Xelion ESPA koppeling Handleiding Beheer V1.6

Xelion ESPA koppeling Handleiding Beheer V1.6 Xelion ESPA koppeling Handleiding Beheer V1.6 van de Xelion ESPA koppeling. Dit document is bedoeld voor beheerders en operators Inhoud 1 Overzicht... 1 2... 2 2.1 Espa apparaat toevoegen... 4 2.1.1 ESPA

Nadere informatie

Temperatuur logger synchronisatie

Temperatuur logger synchronisatie Temperatuur logger synchronisatie Juni 10, 2010 1 / 7 Temperatuur logger synchronisatie Introductie Twee of meerdere ontvangers van het Multilogger systeem kunnen met de temperature logger synchronisatie

Nadere informatie

Er zijn diverse andere software platformen en providers die werken met SIP, maar in dit voorbeeld gaan we uit van de volgende software:

Er zijn diverse andere software platformen en providers die werken met SIP, maar in dit voorbeeld gaan we uit van de volgende software: Er zijn diverse andere software platformen en providers die werken met SIP, maar in dit voorbeeld gaan we uit van de volgende software: Counterpath Bria SIP client. Net2 Entry Configuration Utility (SIP

Nadere informatie

Technisch Ontwerp W e b s i t e W O S I

Technisch Ontwerp W e b s i t e W O S I Technisch Ontwerp W e b s i t e W O S I WOSI Ruud Jungbacker en Michael de Vries - Technisch ontwerp Website Document historie Versie(s) Versie Datum Status Omschrijving / wijzigingen 0.1 20 nov 2008 Concept

Nadere informatie

HANDLEIDING EXTERNE TOEGANG CURAMARE

HANDLEIDING EXTERNE TOEGANG CURAMARE HANDLEIDING EXTERNE TOEGANG CURAMARE Via onze SonicWALL Secure Remote Access Appliance is het mogelijk om vanaf thuis in te loggen op de RDS omgeving van CuraMare. Deze handleiding beschrijft de inlogmethode

Nadere informatie

Mobile Watch Snelle Handleiding. Bezoek voor meer informatie

Mobile Watch Snelle Handleiding. Bezoek  voor meer informatie Mobile Watch Snelle Handleiding Ⅰ. Software installatie - Software download: Zoek voor "360Eye"in de Iphone App Store en installeer de applicatie. Of scan de QR Code aan de rechterzeide. Voor meer details

Nadere informatie

API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8

API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8 API API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8 Identificatie Alle programma's communiceren met elkaar door gebruik te maken van JSON objecten. Het normale

Nadere informatie

Sharpdesk Mobile V1.1 Gebruikershandleiding

Sharpdesk Mobile V1.1 Gebruikershandleiding Sharpdesk Mobile V1.1 Gebruikershandleiding Voor de iphone SHARP CORPORATION April 27, 2012 1 Inhoudsopgave 1 Overzicht... 3 2 Ondersteunde besturingssystemen... Fout! Bladwijzer niet gedefinieerd. 3 Installatie

Nadere informatie

iphone app - Roll Call

iphone app - Roll Call iphone app - Roll Call Roll Call - iphone App Deze Paxton applicatie is gratis verkrijgbaar in de App Store. Deze applicatie is ontwikkeld om gebruikt te worden op elk ios apparaat versie 5.1 of hoger

Nadere informatie

Technote. EnGenius Senao EOM Mesh Layer 2 configuratie Transparant netwerk

Technote. EnGenius Senao EOM Mesh Layer 2 configuratie Transparant netwerk Technote EnGenius / Senao EOM-8670 Mesh Layer 2 configuratie Transparant netwerk Merk Model Firmware Datum EnGenius Senao EOM-8670 2.1.10 09-04-2009 Pagina 1 van 29 Inhoudsopgave Inhoudsopgave...2 Node

Nadere informatie

Sparse columns in SQL server 2008

Sparse columns in SQL server 2008 Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG

Nadere informatie

SportCTM 2.0 Sporter

SportCTM 2.0 Sporter SportCTM 2.0 Sporter APP Inloggen Dotcomsport heeft ter ondersteuning van de dagelijkse praktijk ook een APP ontwikkeld, om data invoer te vereenvoudigen. Deze APP ondersteunt de onderdelen; Agenda (invoer

Nadere informatie

Les 15 : updaten van gegevens in de database (deel2).

Les 15 : updaten van gegevens in de database (deel2). Les 15 : updaten van gegevens in de database (deel2). In de volgende reeks lessen zal alle vorige leerstof uitgebreid aan het bod komen. Zie ook de vorige lessen en documenten om informatie op te zoeken

Nadere informatie

Inhoud. Installatie Algemeen Gebruik Techniek App beëindigen/blokkeren

Inhoud. Installatie Algemeen Gebruik Techniek App beëindigen/blokkeren Inhoud Installatie Algemeen Gebruik Techniek App beëindigen/blokkeren LET OP! Vul alleen uw gegevens in wanneer de adresregel begint met dit https://www.mijnnvd.nl. Alleen dan weet u zeker dat u inlogt

Nadere informatie

Technische nota AbiFire Rapporten maken via ODBC

Technische nota AbiFire Rapporten maken via ODBC Technische nota AbiFire Rapporten maken via ODBC Laatste revisie: 23 januari 2018 Inhoudsopgave 1 Inleiding... 2 2 Systeeminstellingen in AbiFire... 3 2.1 Aanmaken extern profiel... 3 2.2 Toewijzing extern

Nadere informatie

Software Design Document

Software Design Document Software Design Document PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar 2014-2015 Jens Nevens - Sander Lenaerts - Nassim Versbraegen Jo De Neve - Jasper Bevernage Versie

Nadere informatie

Datum 15 juni 2006 Versie 1.0.6. Exchange Online. Handleiding voor gebruiker Release 1.0

Datum 15 juni 2006 Versie 1.0.6. Exchange Online. Handleiding voor gebruiker Release 1.0 Datum 1.0.6 Exchange Online Handleiding voor gebruiker Release 1.0 1.0.6 Inhoudsopgave 1 Instellingen e-mail clients 2 1.1 Gebruik via Outlook 2003 2 1.2 Gebruik via ActiveSync 15 1.3 Gebruik via andere

Nadere informatie

Handleiding WiFi. RR Trading B.V.

Handleiding WiFi. RR Trading B.V. Handleiding WiFi RR Trading B.V. Rev.05 Inhoudsopgave 1. Voorbeeld van de werking... 3 2. Benodigde materialen en informatie... 3 3. Mededeling... 4 4. Gebruiksvoorwaarden... 4 5. Registreren... 5 6. Externe

Nadere informatie

Fleet Pack Scan2FleetPack

Fleet Pack Scan2FleetPack Fleet Pack Scan2FleetPack Inhoudsopgave INHOUDSOPGAVE... 1 WAAROM SCAN2FLEETPACK?... 1 INSTALLATIE... 2 DOWNLOADEN... 2 CONFIGURATIE... 4 GEBRUIK... 5 Het programma openen... 5 Inscannen en uploaden...

Nadere informatie

INSTALLATIE HANDLEIDING

INSTALLATIE HANDLEIDING INSTALLATIE HANDLEIDING Powerwifi USB Router in combinatie met de Powerwifi USB buitenantenne INLEIDING De Powerwifi USB Router kan worden gebruikt in combinatie met de Powerwifi USB buitenantenne. Hierdoor

Nadere informatie

Automatische Installatie op IIS server

Automatische Installatie op IIS server Automatische Installatie op IIS server In de map Web staat het installatiebestand : Je kan de install starten door het aanklikken van het msi bestand vanuit Verkenner. Na installatie is steeds een manuele

Nadere informatie

SNELLE HANDLEIDING CONFIGURATIE VAN Wi-Fi Module. EVO Remote. MAN_000012_nl(EVO_Remote) Versie: 12.0 van Januari,

SNELLE HANDLEIDING CONFIGURATIE VAN Wi-Fi Module. EVO Remote. MAN_000012_nl(EVO_Remote) Versie: 12.0 van Januari, SNELLE HANDLEIDING CONFIGURATIE VAN Wi-Fi Module EVO Remote MAN_000012_nl(EVO_Remote) Versie: 12.0 van Januari, 23 2019 T.b.v. de Livin flame pelletkachels 1 Inhoudsopgave 1 Inhoudsopgave... 2 2 Bedieningsvoorbeeld...

Nadere informatie

ODS: Open Directory service. Wat is ODS?

ODS: Open Directory service. Wat is ODS? Wat is ODS? Wat is ODS? Geïntegreerde Meta-directorie voor OpenScape Office LX/MX/HX voor het zoeken van contacten in verschillende databasen en directories. Toegang verlenen naar verschillende directories.

Nadere informatie

Software Test Plan. Yannick Verschueren

Software Test Plan. Yannick Verschueren Software Test Plan Yannick Verschueren November 2014 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 1 Inhoudstafel 1 Introductie 3 1.1

Nadere informatie

Technische Informatie

Technische Informatie Het Beveiligen van een draadloos netwerk Het grootste Risico van een draadloos netwerk is dat het signaal in principe voor iedereen beschikbaar is. Anders dan bij een bekabeld netwerk, waar men een fysieke

Nadere informatie

INSTALLATIE EXCHANGE CONNECTOR

INSTALLATIE EXCHANGE CONNECTOR HANDLEIDING INSTALLATIE EXCHANGE CONNECTOR INSTALLATIE EXCHANGE CONNECTOR 0 0 HANDLEIDING INSTALLATIE EXCHANGE CONNECTOR INSTALLATIE EXCHANGE CONNECTOR HANDLEIDING datum: 10-08-2018 1 Inleiding... 1 2

Nadere informatie

RUCKUS UNLEASHED GATEWAY

RUCKUS UNLEASHED GATEWAY RUCKUS UNLEASHED GATEWAY Technote Versie: 1.0 Auteur: Herwin de Rijke Datum: 06-03-2017 Alcadis Vleugelboot 8 3991 CL Houten www.alcadis.nl 030 65 85 125 Inhoud 1 Inleiding... 2 1.1 1.2 1.3 1.4 DOELSTELLING...

Nadere informatie

EM6250 Firmware update V030507

EM6250 Firmware update V030507 EM6250 Firmware update V030507 EM6250 Firmware update 2 NEDERLANDS/ENGLISH Table of contents 1.0 (NL) Introductie... 3 2.0 (NL) Firmware installeren... 3 3.0 (NL) Release notes:... 5 1.0 (UK) Introduction...

Nadere informatie

Priva Blue ID Network scanner / Syslog Tool

Priva Blue ID Network scanner / Syslog Tool Priva Blue ID Network scanner / Syslog Tool Versie 1.3.15.0 Bladzijde 1 Inhoudsopgave Inhoudsopgave... 2 Introductie:... 3 Systeemeisen:... 4 Installeren op een SX100:... 5 De Werking:... 6 Scannen van

Nadere informatie

SportCTM 2.0 Startscherm trainer

SportCTM 2.0 Startscherm trainer SportCTM 2.0 Startscherm trainer Inloggen Webapplicatie Via inlog.dotcomsport.com kun je in inloggen op de webapplicatie van het SportCTM. Wij adviseren onderstaande browsers Windows: Internet Explorer,

Nadere informatie

Stap 1: De Ruckus MetroFlex 901-2211-EU25 benaderen

Stap 1: De Ruckus MetroFlex 901-2211-EU25 benaderen Ruckus MetroFlex 901-2211-EU25 Verbinden met een hotspot HANDLEIDING 1 Inhoudsopgave: Stap 1: De Ruckus MetroFlex 901-2211-EU25 benaderen 3 Stap 2: Het instellen van de Ruckus MetroFlex 901-2211-EU25 4

Nadere informatie

Getting Started. AOX-319 PBX Versie 2.0

Getting Started. AOX-319 PBX Versie 2.0 Getting Started AOX-319 PBX Versie 2.0 Inhoudsopgave INHOUDSOPGAVE... 2 OVER DEZE HANDLEIDING... 3 ONDERDELEN... 3 INSTALLATIE EN ACTIVERING... 3 BEHEER VIA DE CONSOLE... 4 BEHEER VIA DE BROWSER... 5 BEVEILIGING...

Nadere informatie

handleiding gigaset sl75 WLAN

handleiding gigaset sl75 WLAN handleiding gigaset sl75 WLAN Maak uw Gigaset toestel gebruiksklaar door verbinding te maken met uw netwerk en vervolgens de inloggegevens die u heeft ontvangen van Belcentrale, in te voeren in de webinterface

Nadere informatie

Functionele beschrijving: scannen naar Exact Globe.

Functionele beschrijving: scannen naar Exact Globe. Functionele beschrijving: scannen naar Exact Globe. Algemeen Met de KYOCERA scannen naar Exact Globe beschikt u over een efficiënte oplossing om uw documenten te scannen naar Exact Globe. Met deze oplossing

Nadere informatie

R10 instellen via de Web Interface

R10 instellen via de Web Interface R10 instellen via de Web Interface Een beschrijving van hoe er verbinding kan worden gemaakt met de Web Interface van een R10 en een overzicht van veel voorkomende instellingen die gemaakt kunnen worden

Nadere informatie

SNEL HANDLEIDING KIT-2BNVR2W

SNEL HANDLEIDING KIT-2BNVR2W KIT-2BNVR2W Opstarten van het camera bewakingssysteem. 1. Sluit een monitor aan op de NVR (monitor niet inbegrepen in de KIT). 2. Sluit de NVR aan op het netwerk. 3. Sluit de NVR aan op het lichtnet met

Nadere informatie

Functionele beschrijving: Scannen naar AFAS Profit.

Functionele beschrijving: Scannen naar AFAS Profit. Functionele beschrijving: Scannen naar AFAS Profit. Algemeen Met de Kyocera Scannen naar AFAS Profit beschikt u over een efficiënte oplossing om uw documenten te scannen naar AFAS Profit. Met deze oplossing

Nadere informatie

Download Location: Dit is de lokatie waar de PDF bestanden tijdelijk geplaatst zullen worden. Dit is een plaats op uw eigen harde schijf.

Download Location: Dit is de lokatie waar de PDF bestanden tijdelijk geplaatst zullen worden. Dit is een plaats op uw eigen harde schijf. CONFIGURATIE CONNECTIE Laten we beginnen bij het begin: Dit is het IMAP configuratie venster. Wanneer het programmaa actief is, zal niets n instelbaar zijn. Onder het kopje Connection dient u uw IMAP login

Nadere informatie

Technisch Ontwerp VISSIM-PPA Koppeling

Technisch Ontwerp VISSIM-PPA Koppeling 1 Technisch Ontwerp VISSIM-PPA Koppeling Revisie Versie Datum Omschrijving 1.0 25 juli 2013 Initiële versie 1.1 26 juli 2013 Toevoeging van TDI regeltoestand. Toevoeging van bestandsnaam filtering. 1.2

Nadere informatie

2 Functieoverzicht. 1 Draadloze router 2 WS320 3 en 4 pc s met elk een geïnstalleerde draadloze netwerkadapter 8

2 Functieoverzicht. 1 Draadloze router 2 WS320 3 en 4 pc s met elk een geïnstalleerde draadloze netwerkadapter 8 2 Functieoverzicht De HUAWEI WS320 draadloze repeater (hierna aangeduid als WS320) is een draadloze signaalrepeater, die in combinatie met een draadloze router de draadloze netwerkdekking kan vergroten.

Nadere informatie

APS Installateurs Tool ArrayApp (ios) Gebruiksaanwijzing

APS Installateurs Tool ArrayApp (ios) Gebruiksaanwijzing APS Installateurs Tool ArrayApp (ios) Gebruiksaanwijzing Version: 1.0 Copyright 2014 Altenergy Power System, Inc. Inhoudsopgave Introductie... 1 Aanmelden bij ArrayApp... 1 Het toevoegen van een nieuwe

Nadere informatie

PayCheckout Magento module

PayCheckout Magento module PayCheckout Magento module 1 Inhoudsopgave Installatie... 3 Compatibiliteit... 3 Best practice... 3 Installeren van de module... 3 Configuratie... 4 Webshop... 4 Webshop toevoegen... 4 Webshop Identifier

Nadere informatie

Functionele beschrijving: scannen naar UNIT4 DocumentManager

Functionele beschrijving: scannen naar UNIT4 DocumentManager Functionele beschrijving: scannen naar UNIT4 DocumentManager Algemeen Met de KYOCERA Scannen naar UNIT4 DocumentManager beschikt u over een efficiënte oplossing om uw documenten te scannen naar UNIT4 DocumentManager

Nadere informatie

Support. Handleiding. Gigaset sl75 WLAN. Handleiding Gigaset sl75 WLAN 1

Support. Handleiding. Gigaset sl75 WLAN. Handleiding Gigaset sl75 WLAN 1 Support Handleiding Gigaset sl75 WLAN Handleiding Gigaset sl75 WLAN 1 Inhoudsopgave Inleiding Configuratie Verbinding maken Het account instellen DTMF instellen Gebruik Extern bellen Intern bellen Beller

Nadere informatie

Denit Backup instellen op een Linux server

Denit Backup instellen op een Linux server Denit Backup instellen op een Linux server Deze handleiding beschrijft de stappen om de back-up software van Ahsay in te stellen. AANMAKEN BACK-UP SET... 2 DE SCHEDULER INSTELLEN... 4 HET FILTER INSTELLEN...

Nadere informatie

LegManager Mobile Handleiding

LegManager Mobile Handleiding LegManager Mobile Handleiding Handleiding LegManager Mobile 1 1. Inhoud 1. INHOUD... 2 2. PROGRAMMAVEREISTEN... 3 a. Vragen, opmerkingen en suggesties... 3 b. Welke tablet/ipad of smartphone/iphone kan

Nadere informatie

Sharpdesk Mobile V1.1 Gebruikershandleiding

Sharpdesk Mobile V1.1 Gebruikershandleiding Sharpdesk Mobile V1.1 Gebruikershandleiding Voor de ipad SHARP CORPORATION 27 April, 2012 1 Inhoudsopgave 1 Overzicht... 3 2 Ondersteunde besturingssystemen... 4 3 Installatie en starten van de applicatie...

Nadere informatie

Hier kunt u alle schijven en mappen afscannen op audio bestanden die ondersteund worden door de MP (mp3 en wma).

Hier kunt u alle schijven en mappen afscannen op audio bestanden die ondersteund worden door de MP (mp3 en wma). Netgear MP101 Dit apparaat speelt MP3's en WMV digitale bestanden en koppelt de stereo rechtstreeks aan de PC. Het apparaat werkt alleen in combinatie met een router of een wireless acces point. Er zit

Nadere informatie

Releasebeschrijving e-former versie 7.0

Releasebeschrijving e-former versie 7.0 Releasebeschrijving e-former versie 7.0 INHOUDSOPGAVE Inleiding... 2 Tussentijds opslaan... 3 Digitale handtekening... 4 Beveiliging... 6 Toegangscontrole bij lokaal gebruik... 6 Verwijderen uploads...

Nadere informatie

Nabaztag verbinden met een Wi-Fi netwerk of een Airport

Nabaztag verbinden met een Wi-Fi netwerk of een Airport Nabaztag verbinden met een Wi-Fi netwerk of een Airport Introductie Jouw Nabaztag heeft geen specifieke voorgeprogrammeerde instellingen. Nabaztag weet hoe hij moet verbinden met een Wi-Fi netwerk, indien:

Nadere informatie

Instructies Wi-Fi instellen Samil 3400-6000TL-D

Instructies Wi-Fi instellen Samil 3400-6000TL-D Instructies Wi-Fi instellen Samil 3400-6000TL-D Uw omvormer van Samil Power is uitgerust met een Wi-Fi module, waarmee u uw omvormer op afstand uit kunt lezen. Samil power biedt het programma V-IPlant

Nadere informatie

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous 2006-2007 Inhoudsopgave 1 2 1.1 Programmeertaal PHP5..................... 2 1.2 MySQL database......................... 3 1.3 Adobe Flash...........................

Nadere informatie

Support. Handleiding. Gigaset sl75 WLAN. Handleiding Gigaset sl75 WLAN 1

Support. Handleiding. Gigaset sl75 WLAN. Handleiding Gigaset sl75 WLAN 1 Support Handleiding Gigaset sl75 WLAN Handleiding Gigaset sl75 WLAN 1 Inhoudsopgave Inleiding Configuratie Verbinding maken Het account instellen DTMF instellen Gebruik Extern bellen Intern bellen Beller

Nadere informatie

UPPresentment Gebruikershandleiding. Overzicht en gebruik van de verschillende functionaliteiten V 1.1

UPPresentment Gebruikershandleiding. Overzicht en gebruik van de verschillende functionaliteiten V 1.1 UPPresentment Gebruikershandleiding Overzicht en gebruik van de verschillende functionaliteiten V 1.1 Maart 2011 Eerste Toegang 1 Inhoudstafel Inleiding... 2 Toegang... 3 Eerste Toegang... 3 Paswoord aanvragen...

Nadere informatie

Software Design Document

Software Design Document Software Design Document Mathieu Reymond, Arno Moonens December 2014 Inhoudsopgave 1 Versiegeschiedenis 2 2 Definities 3 3 Introductie 4 3.1 Doel en Scope............................. 4 4 Logica 5 4.1

Nadere informatie

Externe Toegang installeren en gebruiken onder Mac OS X

Externe Toegang installeren en gebruiken onder Mac OS X Externe Toegang installeren en gebruiken onder Mac OS X Deze handleiding beschrijft de inlog en uitlogprocedure voor Externe Toegang. Daarnaast beschrijft het de mogelijkheden binnen de virtuele werkplek

Nadere informatie

EnGenius/Senao ECB/SCB-8610S HANDLEIDING Firmware 1.9.8.02

EnGenius/Senao ECB/SCB-8610S HANDLEIDING Firmware 1.9.8.02 EnGenius/Senao ECB/SCB-8610S HANDLEIDING Firmware 1.9.8.02 1 Inhoudsopgave: Stap 1.1: IP-adres veranderen met Windows Vista 3 Stap 1.2: IP-adres veranderen met Windows XP 6 Stap 2: De EnGenius ECB/SCB-8610S

Nadere informatie

Elektronisch factureren

Elektronisch factureren Elektronisch factureren Inleiding Elektronisch Factureren in RADAR is mogelijk vanaf versie 4.0. Deze module wordt niet standaard meegeleverd met de RADAR Update maar is te bestellen via de afdeling verkoop

Nadere informatie

INSTALLATIE HANDLEIDING Nauticwifi USB Router in combinatie met de Nauticwifi USB buitenantenne

INSTALLATIE HANDLEIDING Nauticwifi USB Router in combinatie met de Nauticwifi USB buitenantenne INSTALLATIE HANDLEIDING Nauticwifi USB Router in combinatie met de Nauticwifi USB buitenantenne Inleiding NLEIDING De Nauticwifi USB Router kan worden gebruikt in combinatie met de Nauticwifi USB buitenantenne.

Nadere informatie

DrICTVoip.dll v 2.1 Informatie en handleiding

DrICTVoip.dll v 2.1 Informatie en handleiding DrICTVoip.dll v 2.1 Informatie en handleiding Nieuw in deze versie : Koppeling voor web gebaseerde toepassingen (DrICTVoIPwebClient.exe) (zie hoofdstuk 8) 1. Inleiding Met de DrICTVoIP.DLL maakt u uw software

Nadere informatie

EnGenius EMR3000 Gebruikershandleiding

EnGenius EMR3000 Gebruikershandleiding EnGenius EMR3000 Gebruikershandleiding Stap 1 : In deze handleiding wordt gebruik gemaakt van android, maar is tevens toe te passen voor Apple ios apparaten. Open de App store. (Voor android apparaten

Nadere informatie

Voorbeeld handleiding SIP configuratie 3CX in combinatie met Bria softphone app.

Voorbeeld handleiding SIP configuratie 3CX in combinatie met Bria softphone app. Voorbeeld handleiding SIP configuratie 3CX in combinatie met Bria softphone app. Er zijn diverse andere platformen die SIP compatible zijn, maar in dit voorbeeld gaan we uit van de volgende software: 3CX

Nadere informatie

ProjectHeatmap. Onderzoeksrapport v0.5 11-03-11 Dennis Wagenaar

ProjectHeatmap. Onderzoeksrapport v0.5 11-03-11 Dennis Wagenaar ProjectHeatmap Onderzoeksrapport v0.5 11-03-11 Dennis Wagenaar 1 Inhoudsopgave Inleiding...3 Gheat...4 Info...4 Voordelen...4 Nadelen...4 Google Fusion Tables...5 Info...5 Voordelen...5 Nadelen...5 OLHeatmap...6

Nadere informatie

Snelle installatiegids voor Symbian

Snelle installatiegids voor Symbian Snelle installatiegids voor Symbian Versie 1.0 Inhoudsopgave 1. WELKOM BIJ MOBIDM... 2 2. INSTALLATIE VAN DE AFARIA VOOR SYMBIAN... 3 2.1. SOFTWARE INSTALLEREN... 3 3. BEVEILIGING... 6 4. NIEUWE APPLICATIES...

Nadere informatie

1 Inleiding. 3 Handmatig... invoeren zaken basis 4 Verwerken... zaken 5 Afhandelen... van zaken. 7 Uitgebreidere... zaak opties

1 Inleiding. 3 Handmatig... invoeren zaken basis 4 Verwerken... zaken 5 Afhandelen... van zaken. 7 Uitgebreidere... zaak opties 2 Supportdesk Pro Introductie Inhoudsopgave I Supportdesk Pro 3 1 Inleiding... 3 2 Werkwijze... 3 II Zaken 4 1 Introductie... 4 2 Zaken beheren... 4 3 Handmatig... invoeren zaken basis 4 4 Verwerken...

Nadere informatie

Handleiding Magento - Asperion

Handleiding Magento - Asperion Handleiding Magento - Asperion www.webwinkelfacturen.nl Samenvatting Dit is de handleiding voor de koppeling van Magento naar Asperion. De koppeling zorgt dat voor facturen in Magento automatisch een factuur

Nadere informatie

lead retrieval app handleiding v17.01 Qtree Solutions bvba

lead retrieval app handleiding v17.01 Qtree Solutions bvba lead retrieval app handleiding v17.01 Qtree Solutions bvba in deze handleiding vindt u... intro: wat is boabee? 3 2 manieren om boabee te gebruiken 4 hoe je je kunt voorbereiden als je pro gaat 6 hoe gebruik

Nadere informatie

Deze instructie moet gezien worden als een toevoeging op de bijgevoegde Engelstalige Quick Guide.

Deze instructie moet gezien worden als een toevoeging op de bijgevoegde Engelstalige Quick Guide. Eerste gebruik van de Huawei E5220 Introductie: De Huawei E5220 mobiele wireless 3G router is de opvolger van de E5331 router en behoort tot de kleinste pocket routers van dit moment in zijn soort. Met

Nadere informatie

Opstarten van de GRATIS facturatiemodule

Opstarten van de GRATIS facturatiemodule Opstarten van de GRATIS facturatiemodule 1 Welkom in het gratis facturatieprogramma van WinBooks on Web Het gratis facturatieprogramma is ontworpen om u kennis te laten maken met de interessante functionaliteiten

Nadere informatie

Dropbox installatie. Inhoud

Dropbox installatie. Inhoud Dropbox installatie Inhoud Inleiding... 2 U heeft nog geen Dropbox account... 3 U heeft een Dropbox account!... 8 Waar kan ik Dropbox nu vinden?... 14 Is Dropbox een veilig medium... 15 Kan ik met één

Nadere informatie

Voor je met de installatie begint controleer of alle benodigde onderdelen aanwezig zijn. In de verpakking dient aanwezig te zijn:

Voor je met de installatie begint controleer of alle benodigde onderdelen aanwezig zijn. In de verpakking dient aanwezig te zijn: H A N D L E I D I N G N I - 7 0 7 5 0 2 1 I N H O U D V A N D E V E R P A K K I N G 4 T E C H N I S C H E S P E C I F I C AT I E 4 T O E P A S S I N G M O G E L I J K H E D E N 4 H A R D W A R E I N S

Nadere informatie

Selenium IDE Webdriver. Introductie

Selenium IDE Webdriver. Introductie Selenium IDE Webdriver Het Wielsem 10, 5231 BW s- Hertogenbosch, telefoon 073-6409311 e- mail info@testwork.nl internet http://www.testwork.nl 1 Inhoudsopgave 1 Inhoudsopgave... 2 2 Selenium IDE... 3 3

Nadere informatie

Handleiding. Z factuur Archief

Handleiding. Z factuur Archief Handleiding Z factuur Archief INHOUDSOPGAVE 1. DASHBOARD... 3 1.1. Inloggen... 3 Inloggegevens vergeten... 3 1.2. Mogelijkheden Dashboard... 3 Instellingen, Abonnement Info en Adressenboek... 3 Facturen

Nadere informatie

Datum: Gemaakt door: Berend de Groot Voor: ComSi, ROC Friese Poort

Datum: Gemaakt door: Berend de Groot Voor: ComSi, ROC Friese Poort Datum: Gemaakt door: Berend de Groot Voor: ComSi, ROC Friese Poort Contents 1. Introductie... 3 1.1. Hoe werkt het?... 3 2. Eerste Contact als gebruiker... 4 3. Ticket Acties... 5 4. Tickets Pagina...

Nadere informatie

Taxis Pitane voor iphone / ipad

Taxis Pitane voor iphone / ipad Taxis Pitane voor iphone / ipad gebruikershandleiding Censys BV - Eindhoven Voorwoord Censys BV is erkend Apple iphone software ontwikkelaar en heeft eveneens zijn Taxis Pitane voor iphone 3G/3GS/4 versie

Nadere informatie

Uitgebreid voorstel Masterproef Informatica. Titel van het project : Ontwikkeling van remote controlled Alert & Task Agent

Uitgebreid voorstel Masterproef Informatica. Titel van het project : Ontwikkeling van remote controlled Alert & Task Agent HoGent Uitgebreid voorstel Masterproef Informatica Titel van het project : Ontwikkeling van remote controlled Alert & Task Agent Datum: Naam student: Glenn Jacob Interne promotor: Wim Van den Breen In

Nadere informatie

INHOUDSTABEL NEOTOUCH BY NEOPOST 1

INHOUDSTABEL NEOTOUCH BY NEOPOST 1 INHOUDSTABEL NEOTOUCH BY NEOPOST 1 NEOTOUCH by Neopost KORTE INLEIDING Wat is de bedoeling van NeoTouch? De klant kan de post van het bedrijf makkelijk beheren via een computer, zonder fysieke documenten

Nadere informatie

Gids De Telenet Wireless Modem gebruiken

Gids De Telenet Wireless Modem gebruiken Gids De Telenet Wireless Modem gebruiken In deze gids Je hebt je Telenet Wireless Modem reeds geinstalleerd en je verbinding met de modem ingesteld met behulp van het stappenplan. Krijg je de verbinding

Nadere informatie

SMARTPHONE APPLICATIE HANDLEIDING

SMARTPHONE APPLICATIE HANDLEIDING SMARTPHONE APPLICATIE HANDLEIDING INHOUD GV Smartphone applicatie handleiding... 3 1 Enkele nota s:... 3 2 Windows Smartphone GV-MSView... 3 2.1 GV-MSView Live beelden instellen... 3 2.2 GV-MSView Opgenomen

Nadere informatie

Installatie- en gebruikshandleiding Risicoverevening. 11 april 2007 ZorgTTP

Installatie- en gebruikshandleiding Risicoverevening. 11 april 2007 ZorgTTP Installatie- en gebruikshandleiding Risicoverevening 11 april 2007 ZorgTTP Inleiding In het kader van Risicoverevening wordt gepseudonimiseerd informatie aangeleverd aan het College voor Zorgverzekeringen

Nadere informatie

Handleiding voor het inloggen op Terminal Server van GLT-PLUS

Handleiding voor het inloggen op Terminal Server van GLT-PLUS Handleiding voor het inloggen op Terminal Server van GLT-PLUS Voor inloggen vanuit huis, GLT en NAM Geschreven door: Business Information Datum: 4-5-2011 ENOVIA: 01335559-0001 rev D ENOVIA nummer: 01335559-0001

Nadere informatie

MyCareNet in uw Apotheek?

MyCareNet in uw Apotheek? MyCareNet in uw Apotheek? Met deze brochure willen we onze klanten informeren over de invoering van MyCareNet MyCareNet in uw apotheek MyCareNet is een initiatief van het NIC (Nationaal Intermutualistisch

Nadere informatie

TradePoint Systems NCTS Oplossingen

TradePoint Systems NCTS Oplossingen TradePoint Systems NCTS Oplossingen Van overheidswege bent u vanaf 1 april 2004 verplicht om uw huidige transitdocumenten elektronisch aan te maken en te versturen. Indien uw organisatie niet beschikt

Nadere informatie

2014 2015 MediBridge ehealth Premium Services Pagina 1

2014 2015 MediBridge ehealth Premium Services Pagina 1 Algemene informatie on demand over de bestaande ehealth basisdiensten en de verschillende diensten met toegevoegde waarde, evenals andere ehealth initiatieven, hun functionaliteit, en hoe deze zich t.o.v.

Nadere informatie

E-Fax. Gebruikers handleiding

E-Fax. Gebruikers handleiding E-Fax Gebruikers handleiding Inhoud 1. Inleiding... 3 2. Fax-over-IP (T.38)... 4 2.1 Introductie... 4 2.2 Achterliggende techniek... 4 2.3 Procedures... 5 2.4 Installatie en benodigdheden... 5 2.5 Tarieven...

Nadere informatie

Functionele beschrijving: scannen naar van Brug software.

Functionele beschrijving: scannen naar van Brug software. Functionele beschrijving: scannen naar van Brug software. Algemeen Met de KYOCERA scannen naar van Brug Software beschikt u over een efficiënte oplossing om uw documenten te scannen naar het Notarieel

Nadere informatie

HANDLEIDING. Emjee ICT diensten Ticketsysteem

HANDLEIDING. Emjee ICT diensten Ticketsysteem HANDLEIDING Emjee ICT diensten Ticketsysteem Inhoud Snel aan de slag... 3 Wachtwoord opvragen... 3 Inloggen... 4 Ticket aanmaken... 4 Schermopbouw... 4 Inleiding... 5 Ticket maken of bellen?... 5 Inloggen...

Nadere informatie

HANDLEIDING HUAWEI MIFI ROUTER

HANDLEIDING HUAWEI MIFI ROUTER HANDLEIDING HUAWEI MIFI ROUTER Copyright 2016. Alle rechten voorbehouden. Niets uit deze uitgave mag worden verveelvoudigd, opgeslagen in een geautomatiseerd gegevensbestand en/of openbaar gemaakt in enige

Nadere informatie

InterSmart: A Twitter based quiz application for PowerPoint audiences

InterSmart: A Twitter based quiz application for PowerPoint audiences Scriptie ingediend tot het behalen van de graad van PROFESSIONELE BACHELOR IN DE ELEKTRONICA-ICT InterSmart: A Twitter based quiz application for PowerPoint audiences David De Beuckelaer bachelor elektronica-ict

Nadere informatie

Gebruikershandleiding E-Zorg Remote Access op Android.

Gebruikershandleiding E-Zorg Remote Access op Android. Inhoud 1) Inleiding Pagina 2 2) Het token Pagina 2 3) Junos Pulse installeren en configureren Pagina 3 4) Een verbinding maken met Junos Pulse Pagina 4 5) Een werkstation op afstand overnemen Pagina 6

Nadere informatie

Beschrijving functioneel en technisch design van de website

Beschrijving functioneel en technisch design van de website Bespreking Punten: Beschrijving functioneel en technisch design van de website Nr. Punt 1 Student 2 Bedrijf 3 Algemene lay out 4 Technologieën 5 Webruimte en datatrafiek 1. Student Registratie Bij de registratie

Nadere informatie

Mobiel Internet Veiligheidspakket

Mobiel Internet Veiligheidspakket Mobiel Internet Veiligheidspakket Gebruikershandleiding Mobiel Internet Veiligheidspakket voor Windows Mobile smartphones Mobiel IVP Windows Mobile Versie 1.0, d.d. 20-07-2011 Inleiding... 3 1 Installatie...

Nadere informatie

iphone app - Rapporten

iphone app - Rapporten iphone app - Rapporten Rapporten - iphone App Net2 AN1114-NL Deze Paxton applicatie is gratis verkrijgbaar in de App Store. Deze applicatie is ontwikkeld om gebruikt te worden op elk ios apparaat versie

Nadere informatie

Vandaag Nog Beter Internet? Lees dit E-Book Door En Geniet Vandaag Nog Van Sneller Internet

Vandaag Nog Beter Internet? Lees dit E-Book Door En Geniet Vandaag Nog Van Sneller Internet Vandaag Nog Beter Internet? Lees dit E-Book Door En Geniet Vandaag Nog Van Sneller Internet Introductie Na een lange en zware dag werken kom je eindelijk thuis. Het eerste wat je doet is even snel de laatste

Nadere informatie

Inhoudsopgave. versie 0.8

Inhoudsopgave. versie 0.8 JOOMLA! INSTALLATIE HANDLEIDING versie 0.8 Inhoudsopgave Stappenplan...3 Inrichten database...4 Configuratiecentrum cpanel...4 Aanmaken van een database gebruiker...5 Aanmaken van een database...6 Gebruiker

Nadere informatie

Handleiding Magento - Factuursturen

Handleiding Magento - Factuursturen Handleiding Magento - Factuursturen www.webwinkelfacturen.nl Samenvatting Dit is de handleiding voor de koppeling van Magento naar Factuursturen. De koppeling zorgt dat voor facturen in Magento automatisch

Nadere informatie

Start de applicatie op om naar het inlogscherm te gaan. Onthoudt mijn gegevens

Start de applicatie op om naar het inlogscherm te gaan. Onthoudt mijn gegevens iphone app - Users Users - iphone App Deze Paxton applicatie is gratis verkrijgbaar in de App Store. Deze applicatie is ontwikkeld om gebruikt te worden op elk ios apparaat versie 5.1 of hoger en is uitgevoerd

Nadere informatie

Installatie shortform Rodin.NET

Installatie shortform Rodin.NET Installatie shortform Rodin.NET A. Algemeen Met deze installatie beschrijving installeert U Rodin.NET op een PC werkstation (met Stand-alone database) Het installeren van Rodin.NET op een netwerk is mogelijk,

Nadere informatie

Functionele beschrijving: scannen naar UNIT4 Cura Documentmanagement.

Functionele beschrijving: scannen naar UNIT4 Cura Documentmanagement. Functionele beschrijving: scannen naar UNIT4 Cura Documentmanagement. Algemeen Met KYOCERA scannen naar UNIT4 Cura Documentmanagement beschikt u over een efficiënte oplossing om uw documenten te scannen

Nadere informatie