Departement Handelswetenschappen en Bedrijfskunde
De Ham Coloma
Academiejaar 2002-2003
Visuele weergave van verplegingsoproepsysteem op pc
Eindwerk voorgedragen door Bart Vandendriessche en Raphaël Wellekens tot het bekomen van het diploma Hoger Onderwijs, van één cyclus, volledig leerplan Handelswetenschappen en Bedrijfskunde, Opleiding Informatiemanagement en Support
Promotor : de heer M. Jeanmart Raghenoplein 21 bis 2800 Mechelen Tel + 32 (0) 15/42.24.80 fax + 32 (0) 15/42.40.46 e-mail
[email protected] http://www.khm.be
2
Departement Handelswetenschappen en Bedrijfskunde
De Ham Coloma
Academiejaar 2002-2003
Visuele weergave van verplegingsoproepsysteem op pc
Eindwerk voorgedragen door Bart Vandendriessche en Raphaël Wellekens tot het bekomen van het diploma Hoger Onderwijs, van één cyclus, volledig leerplan Handelswetenschappen en Bedrijfskunde, Opleiding Informatiemanagement en Support
Promotor : de heer M. Jeanmart
Raghenoplein 21 bis 2800 Mechelen 3 Tel + 32 (0) 15/42.24.80 fax + 32 (0) 15/42.40.46 e-mail
[email protected] http://www.khm.be
Voorwoord
Bij het voorleggen van deze thesistekst, die kadert in een opleiding tot het bekomen van het diploma Gegradueerde in Informatiemanagement en support, wensen wij docent Manuel Jeanmart te bedanken voor zijn bereidwillige medewerking als promotor aan dit eindwerk. Een woord van dank dient ook gericht aan de heer Jean De Ridder van firma Legrand NV voor de bijkomende hulp en het advies die hij ons heeft verschaft. Ondanks de reële inbreng van genoemde instanties en personen wensen wij nadrukkelijk de verantwoordelijkheid voor mogelijke fouten en tekortkomingen volledig voor onze rekening te nemen.
Raphaël Wellekens Bart Vandendriessche
4
Inhoudsopgave
VOORWOORD INHOUDSOPGAVE INLEIDING 1
Kennismaking met verplegingsoproepsysteem ....................................................9 1.1
OMSCHRIJVING VERPLEGINGSOPROEPSYSTEEM .................................................................. 9
1.2
SITUATIE IN BELGIË ........................................................................................................... 9
1.2.1
1.3
1.2.1.1
Ascom ................................................................................................................. 10
1.2.1.2
Televic................................................................................................................. 10
1.2.1.3
Legrand ............................................................................................................... 11
VERPLEGINGSOPROEPSYSTEEM ELIOCAD ......................................................................... 12
1.3.1
Schematische voorstelling van het systeem: ........................................................... 12
1.3.2
Verschillende onderdelen ....................................................................................... 14
1.4
WERKING VAN HET SYSTEEM ........................................................................................... 17
1.4.1
Programma Oproep:............................................................................................... 17
1.4.2
Programma Aanwezigheid: .................................................................................... 19
1.5
SERIËLE AANSLUITING OP HOOFDBEDIENINGSBORD ......................................................... 21
1.5.1 2
Vergelijking tussen de concurrenten....................................................................... 10
Specificaties seriële uitgang: .................................................................................. 22
Software voor verplegingsoproepsysteem ..........................................................23 2.1
LASTENBOEK ................................................................................................................... 24
2.2
FYSISCHE LINK TUSSEN PC EN VERPLEGINGSOPROEPSYSTEEM .......................................... 25
2.2.1
Van Hoofdbedieningsbord naar DB9 connector .................................................... 25
2.2.2
Van hoofdbedieningsbord naar DB25 connector ................................................... 26
2.3
ANALYSE VAN HET PROTOCOL ......................................................................................... 26
2.3.1
Ascom...................................................................................................................... 26
2.3.2
Legrand 1................................................................................................................ 27
2.3.3
Legrand 2................................................................................................................ 28
2.4
HERKENNING EN VERWERKING VAN HET PROTOCOL ........................................................ 29
2.4.1
Protocol Legrand1.................................................................................................. 31
2.4.2
Protocol Legrand2.................................................................................................. 31 5
2.5
VISUELE EN AUDITIEVE WEERGAVE ................................................................................. 33
2.5.1 2.5.1.1
Weergave op plattegrond en kamerdisplaynummers .......................................... 33
2.5.1.2
Weergave in Pop-up message ............................................................................. 37
2.5.2 2.6
4
Auditieve weergave ................................................................................................. 37
OPSLAG IN DATABANK ..................................................................................................... 38
2.6.1
3
Visuele weergave .................................................................................................... 33
Beveiliging van de Databank.................................................................................. 39
2.7
DEFECTDETECTIE VAN HET SYSTEEM ............................................................................... 41
2.8
VERTALING VAN HET PROGRAMMA: FR, EN, D, PO, ES, NL.......................................... 43
2.9
LAY-OUT VAN HET PROGRAMMA ...................................................................................... 45
2.10
CD-LAY-OUT.................................................................................................................... 46
Sterke en zwakke punten van het programma.....................................................47 3.1
STERKE PUNTEN: ............................................................................................................. 47
3.2
ZWAKKE PUNTEN:............................................................................................................ 48
Statistiek ..................................................................................................................49 4.1
INLEIDING ........................................................................................................................ 49
4.2
HET NUT VAN STATISTIEKEN? .......................................................................................... 50
4.2.1
Algemeen................................................................................................................. 50
4.2.2
Het nut in een ziekenhuis ........................................................................................ 50
4.2.2.1
Welke informatie geeft het programma? ............................................................ 50
4.2.2.2
Wat kan er gedaan worden met deze informatie? ............................................... 52
4.2.2.3
Besluit ................................................................................................................. 54
4.2.3
4.3
Een bondig, denkbeeldig voorbeeld binnen een rusthuis........................................ 54
4.2.3.1
Situering.............................................................................................................. 55
4.2.3.2
Stelling ................................................................................................................ 56
4.2.3.3
Besluit ................................................................................................................. 60
STATISTIEK IN HET PROGRAMMA ELIOCAD....................................................................... 61
4.3.1
Lay-out.................................................................................................................... 62
4.3.1.1
Statistiekenvenster .............................................................................................. 62
4.3.1.2
Grafiekvenster..................................................................................................... 65
4.3.2
De algemene zoekopties.......................................................................................... 67
4.3.2.1
Doel..................................................................................................................... 67
4.3.2.2
Procesanalyse...................................................................................................... 67
4.3.2.3
Mogelijke voor - en nadelen ............................................................................... 70 6
4.3.3
De Uitgebreide zoekopties ...................................................................................... 72
4.3.3.1
Doel..................................................................................................................... 72
4.3.3.2
Procesanalyse...................................................................................................... 72
4.3.3.3
Mogelijke voor - en nadelen ............................................................................... 76
ALGEMEEN BESLUIT BIBLIOGRAFISCHE LIJST BIJLAGEN
7
Algemene Inleiding Legrand NV is een fabrikant van elektrisch installatiemateriaal met een omzet van 3.1 Miljard euro in 2001 en 27000 werknemers over heel de wereld. Heeft 130.000 producten opgedeeld in 80 productfamilies in zijn gamma. De firma Legrand is in 60 landen vertegenwoordigd en verkoopt in meer dan 160 landen.
Hierdoor is het
bedrijf marktleider inzake elektrisch installatiemateriaal. Het project hield in om voor een verpleegoproepsysteem “Eliocad” van de firma Legrand een software te schrijven die alle gebeurtenissen die zich voordeden te bewaren in een databank en op een plattegrond van het ziekenhuis aan te duiden waar het zich juist voordeed. Vrij snel werd duidelijk dat nog meer mogelijkheden toepasbaar waren binnen dit project: Statistieken, foutdetectie, beveiliging, enz... Hiervoor is kennis vereist van : Seriëlepoorten, begrijpen van protocols, beperkte kennis van elektronica (solderen, kenmerken van een signaal, enz...). Omwille van de gevraagde kennis die niet onmiddellijk door de school wordt verschaft bereikte dit project al vrij snel een relatief hoog niveau. Auteur Hoofstuk 1 t/m 3: Wellekens Raphaël Auteur Hoofdstuk 4 : Vandendriessche Bart
8
Hoofdstuk 1
1 Kennismaking met verplegingsoproepsysteem
In dit eerste hoofdstuk wordt een algemene voorstelling gegeven van het verplegingsoproepsysteem “Eliocad” met als doel een beter inzicht te verwerven in de werking en de bedoeling van zulk systeem. functionaliteiten en de onderdelen aan bod. geschetst
in
verband
met
Hierbij komen de verschillende
Zo ook wordt de situatie in België
verplegingsoproepsystemen
:
concurrentie
en
verschillende producten.
1.1
Omschrijving verplegingsoproepsysteem Een verpleegoproepsysteem dient om verpleging op te roepen in een ziekenhuis, bejaardentehuis, service flats,... .
Dit kan gebeuren door zowel de verpleging
(verpleegster, dokter) als de patiënt.
1.2
Situatie in België België bezit ongeveer 250 ziekenhuizen en 3000 rusthuizen, deze laatste ondergaan een sterke groei omwille van de vergrijzing van de bevolking waardoor dit soort producten meer en meer verkocht worden. De firma Legrand NV heeft in België verscheidene concurrenten op deze markt, maar de 2 voornaamste zijn Televic en Ascom. De concurrentie op de Belgische markt van elektrisch materiaal is enorm groot doordat veel bedrijven hier vertegenwoordigd zijn omwille van de centrale ligging.
Zo zal voor vele bedrijven de Belgische markt aanzien worden als een
testmarkt omwille van deze zware concurrentie.
9
Legrand NV heeft met Eliocad een marktaandeel van ongeveer 15 % waardoor zij op de derde plaats komen op de markt van de verplegingsoproepsystemen in België.
1. 2. 3. 4. andere 1.2.1 Vergelijking tussen de concurrenten
1.2.1.1 Ascom TeleCARE SB, SC en WL: van kleine tot grote instellingen, signalering meestal gecombineerd met telefonie en pager (beeper) systeem. Werkt via LAN (Local area network) of draadloos. Deze producten zijn reeds uitgerust met een software die toelaat alle acties te loggen en te raadplegen, maar zonder visuele weergave van de oproepen op een plan en statische weergave in grafieken. 1.2.1.2 Televic Axio Care:
van kleine tot middelmatige instellingen 240 kamers, signalering meestal gecombineerd met verdeling van FM radio.
Axio Clinic:
van middelmatige tot grote instellingen tot 1600 kamers ook meestal gecombineerd met verdeling van FM radio.
Beide producten kunnen worden uitgebreid met een software module die toelaat alle acties die op het systeem voorkomen te bewaren en later uit te printen in volgorde van soort oproep en prioriteit. Statistische weergave in grafieken en weergave van oproepen op een plattegrond zijn echter niet mogelijk.
10
1.2.1.3 Legrand Eliocad:
Van kleine tot middelmatige instellingen. Per hoofdbedieningsbord 128 kamers, mogelijkheid tot combineren van hoofdbedieningsborden voor meer dan 128 kamers. Combineerbaar met telefonie. Seriële uitgang voor integratie met pager (beeper) systeem.
Voor dit project bestond er enkel de mogelijkheid om de acties uit te printen via een speciale printer die rechtstreeks op de bus van het Eliocad systeem werd aangesloten. Na dit project is het echter mogelijk om de gegevens te bewaren in een databank, statistieken weer te geven in grafieken en weergave van de oproepen op een plattegrond. Deze vormen de sterke punten van deze software en dit project.
11
1.3
Verplegingsoproepsysteem Eliocad Een gemiddelde Eliocad installatie kost ongeveer 10.000 € en gaat tussen vijftien en twintig jaar mee. Een gemiddelde installatie controleert tussen de 50 en 70 kamers. Deze gemiddelde installatie bestaat uit : •
40 oproepperen
•
40 deurblokeenheden (knop aan de deur van de kamer)
•
40 wandlichten (lampjes boven de kamer)
•
40 sanitaire oproepen
•
10 interfaces (voor elk 4 kamers)
•
1 hoofdbedieningsbord
•
1 secundair bedieningsbord
•
2 gangdisplays
•
1 printer interface
1.3.1 Schematische voorstelling van het systeem:
Zie figuur 1-3 op volgende bladzijde
12
Figuur 1- 3
13
1.3.2 Verschillende onderdelen
(dit zijn enkel de noodzakelijke onderdelen die voor dit project relevant zijn)
1. Hoofdbedieningsbord :
Met het hoofdbedieningsbord kan men alle oproepen van een dienst in beeld brengen en beheren. Maximum 128 kamers per hoofdbedieningsbord.
2. Bus :
Verbinding tussen de verschillende onderdelen, EIB (European Installation Bus)
3. Busvoeding :
Voor de voeding van het BUS-systeem: (interfaces en schakelaars)
4. Voeding verklikkers :
Voeding voor de controlelampjes
5. Numerieke gangindicator :
Toont de oproepen in volgorde van urgentie v.b.: indien er een gewone oproep voordoet zal de gangindicator de nummer van deze kamer weergeven. Op het moment dat er zich een dringende oproep (hogere urgentie) voordoet zal de gangindicator dit kamernummer
weergeven.
Bij
verschillende
oproepen van hetzelfde type (gewone of dringende) zal het scherm steeds de laatste oproep weergeven. 6. Interface:
Interface voor het beheer van de kamers die erop aangesloten zijn. Aan elke interface kunnen 2 of 4 (zie verschillende modellen lager) richtingen worden aangesloten.
Een
richting
kan
naargelang
de
opstelling in een gebouw verschillende betekenissen krijgen:
14
•
Aantal kamers. Zo kunnen er tot 4 kamers aangesloten worden per interface. In dit geval zullen de bedden, die zich in een kamer bevinden, in serie worden aangesloten zodat ze zich gaan voordoen als één oproeppeer.
•
Aantal bedden. In dit geval kunnen er tot 4 bedden worden aangesloten per interface 4 verschillende interface modellen: Programma Oproep, 2 of 4 richtingen Programma Oproep + Fonie, 2 richtingen Programma Aanwezigheden, 2 richtingen Programma Fonie + Aanwezigheden, 2 richtingen
7. Wandlicht:
Voor het doorzenden van informatie over de kamertoestand naar de gang. Drie modellen: •
Programma Aanwezigheden (figuur 1-4) Twee aanduidingen voor aanwezig personeel: Verpleegster (wit licht) Dokter (groen licht)
•
Programma met 1 aanwezigheid (figuur 1-5) Eén aanduiding voor aanwezig personeel (wit licht)
•
Programma’s Oproep of Oproep + Fonie (figuur 1-6). Enkel het rode licht voor het weergeven van oproepen.
15
Figuur 1- 4 8. Sanitaire oproepblok :
Figuur 1- 5
Figuur 1- 6
Trekschakelaar, plaatst een dringende oproep In ruststand is er een gesloten kring, die bij het Trekken aan de trekschakelaar onderbroken wordt.
9. Deurblokeenheid :
Voor het in beeld brengen en het uitwissen van oproepen, en het aanduiden van aanwezigheden.
10. Oproeppeer :
Drukknop, plaatst een ziekenoproep. In ruststand is er een gesloten kring, die bij het drukken op de knop onderbroken wordt.
16
1.4
Werking van het systeem
1.4.1 Programma Oproep:
Het basisprogramma van het systeem.
A. Scenario ziekenoproep 1. Patiënt of verpleegster drukt op de oproeppeer. 2. Op het hoofdbedieningsbord verschijnt het nummer van de interface met een knipperend lampje naast en een trage beeptoon is hoorbaar. Ook de deurblokeenheid en het wandlicht zal traag rood knipperen. 3. De verpleegster van wacht heeft de mogelijkheid deze ziekenoproep gerust
te
stellen
door
op
de
geruststellingsknop,
op
het
hoofdbedieningsbord, te drukken waardoor het lampje aanhoudend gaat branden en de beeptoon wordt uitgeschakeld. 4. Een
verpleegster
gaat
ter
plaatse
en
drukt
eenmaal
op
de
gerustellingsknop van de deurblokeenheid waardoor alle rode lampen doven.
17
B. Scenario dringende oproep (sanitair
prioritair)
1. Patiënt trekt aan de trekschakelaar. 2. Op het hoofdbedieningsbord verschijnt het nummer van de interface met een snel knipperend lampje naast en een snelle beeptoon is hoorbaar. Ook de deurblokeenheid en het wandlicht zal snel rood knipperen. 3. De verpleegster van wacht heeft NIET de mogelijkheid deze oproep gerust
te
stellen
door
op
de
geruststellingsknop,
op
het
hoofdbedieningsbord, te drukken en dient zich onmiddellijk naar de kamer te begeven. 4. Een
verpleegster
gaat
ter
plaatse
en
drukt
eenmaal
op
de
gerusstellingsknop van de deurblokeenheid waardoor alle rode lampen doven.
18
1.4.2 Programma Aanwezigheid:
Uitbreiding van programma oproep met vermelding van het aanwezig personeel (verpleegster en/of dokter) in de kamer. A. Aanwezigheid van de verpleegster Bij het binnenkomen van de kamer drukt de verpleegster op de knop 1e aanwezigheid van de deurblokeenheid. Hierdoor zullen in elk geval de witte lampjes aanhoudend gaan branden en indien de aanwezigheid het gevolg is van een oproep, de rode doven. Op het hoofdbedieningsbord verschijnt het nummer van de interface met een wit lampje naast. Bij het verlaten van de kamer drukt de verpleegster nogmaals op de knop 1e aanwezigheid om de aanwezigheid te wissen. Alle lampjes doven. Op het hoofdbedieningsbord verdwijnt het nummer en het witte lampje dooft.
B. Aanwezigheid van een dokter of andere Bij het binnenkomen van de kamer drukt de dokter of andere persoon op de knop 2e aanwezigheid van de deurblokeenheid. Hierdoor zullen in elk geval de groene lampjes aanhoudend gaan branden en indien de aanwezigheid het gevolg is van een oproep, de rode doven. Op het hoofdbedieningsbord verschijnt het nummer van de interface met een groen lampje naast. Bij het verlaten van de kamer drukt de dokter of andere persoon nogmaals op de knop 2e aanwezigheid om de aanwezigheid te wissen.
Alle lampjes doven.
19
Op het hoofdbedieningsbord verdwijnt het nummer van de interface en het groene lampje dooft.
C. Dringende oproep Indien er bij de aanwezigheid van een verpleegster en/of dokter een dringende oproep wordt geplaatst zullen de rode lampjes samen met de lampjes, die overeenkomen met diegene die de dringende oproep heeft geplaatst, snel knipperen.
20
1.5
Seriële aansluiting op hoofdbedieningsbord Het verplegingsoproepsysteem “Eliocad” bezit een seriële uitgang (RS232) met tot doel te communiceren met externe apparatuur. Dit is in de meeste gevallen een semafoon
of
beepersysteem.
Al
de
gegevens
die
toekomen
op
het
hoofdbedieningsbord zullen via deze seriële poort worden verzonden. De manier waarop deze gegevens over de seriële link worden verstuurd wordt bepaald door het gekozen protocol. Dit kan worden ingesteld door middel van de drie kleine schakelaars die zich op het moederbord van het hoofdbedieningsbord bevinden.1 Er zijn 3 protocollen aanwezig: 1. Ascom 2. Protocol Legrand 1 3. Protocol Legrand 2
Hoofdbedieningsbord
Standard desktop PC
Figuur 1-7
1
Zie bijlage 2 voor een illustratie van de seriële aansluiting
21
1.5.1 Specificaties seriële uitgang:
•
SubD25 connector
•
9600 Baud : Aantal bits per seconde
•
8 bits data
•
1 stop bit : na elke 8 bits (1 byte) komt er een stop bit
•
geen pariteit : getal ter controle van de ontvangen/verzonden data: even of oneven getal
Pinout subD25 Eliocad: 2 TX hoofdbedieningsbord 3 RX hoofdbedieningsbord 4 CTS hoofdbedieningsbord 5 RTS hoofdbedieningsbord 7 GND (massa)
22
Hoofdstuk 2
2 Software voor verplegingsoproepsysteem In dit hoofdstuk wordt het eigenlijke project besproken. Het project bestond erin om een software te schrijven die toelaat de verschillende oproepen in een databank op te slaan, weer te geven op het scherm en de gegevens statistisch weer te geven. Het programmeren van het project vindt plaats in Microsoft Visual Basic 6 SP5. Als eerste taak bij de start van het project was het opdelen in fasen om zo tot een overzichtelijk en logisch geheel te komen. Opdeling project in verschillende fasen: •
Lastenboek
•
Fysische link met hoofdbedieningsbord
•
Analyse van het protocol
•
Verwerking en herkenning van het protocol
•
Visuele en auditieve weergave
•
Opslag in databank
•
Beveiliging databank
•
Defectdetectie van het systeem
•
Statistieken
•
Beveiliging statistieken
•
Vertaling van het programma: FR, EN, D, PO, ES, NL
•
Lay-out
•
Cd-lay-out
23
2.1
Lastenboek Bij aanvang van het project bestond de opdracht uit een beperkt aantal algemene doelstellingen. •
Gegevens naar een PC brengen.
•
Opslag van de gegevens in een bestand met beveiliging.
•
Weergave van de oproepen op een plattegrond
•
Mogelijkheid tot statistische weergave van de oproepen.
Naarmate het project vooruitgang boekte werden er steeds meer vereisten en praktische functies aan de software toegevoegd en werden de basis doelstellingen verder uitgewerkt. •
Gegevens naar een PC brengen door gebruik te maken van de 2 bruikbare protocollen : Legrand1 en Legrand2 via de seriëlepoort (com1, com2, com3 en com4).
•
Automatische detectie van het gebruikte protocol. De software detecteert het gebruikte protocol zodanig dat bij een verandering van protocol de software zich automatisch aanpast aan deze wijziging.
•
Opslag van de gegevens in een standaard Acces databank via ADO connectie met volgende opgeslagen gegevens : datum, tijdstip, interfacenummer, type oproep en controlenummer.
•
Mogelijkheid om een andere externe databank te gebruiken. Deze optie laat toe om een databank te gebruiken die zich bijvoorbeeld op een server of andere locatie bevindt.
•
Statistieken maken per patiënt / per tijdsspanne / type oproep. .....
•
Kamernummers positioneerbaar op een plattegrond via drag & drop. Plattegrond in *.gif en *.jpg formaat. De gebruiker kan zijn plattegrond inscannen en inladen, zo kan de oproep grafisch gelokaliseerd worden.
•
Beveiliging van databank door middel van controlegetal.
•
Statistieken beveiliging door optioneel paswoord.
24
•
Pop-up message en pieptoon.
Om het ontvangen van een oproep aan de
gebruiker duidelijk te maken zal er een bericht verschijnen en een pieptoon hoorbaar zijn. •
Detectie van problemen op het Eliocad systeem met vermelding van deze in een logtabel en op het scherm.
•
6 verschillende talen beschikbaar (Engels, Spaans, Frans, Nederlands, Portugees en Duits)
•
Patiëntnamen toewijsbaar per bed, deze wordt in de pop-up message en tooltips van de iconen op de plattegrond meegedeeld.
•
Aanduiding van aantal oproepen en dringende oproepen in de statusbar, zo ook de grootte van de databank en het protocol worden hierin getoond.
•
Printen van grafieken en tabellen. Deze functie laat toe om de grafieken en tabellen van de statistieken uit te printen.
2.2
Fysische link tussen pc en verplegingsoproepsysteem In het vorige hoofdstuk werden de specificaties van de seriële uitgang op het verplegingsoproepsysteem besproken. Vertrekkende van deze gegevens wordt er een verbindingskabel geproduceerd die beide toestellen met elkaar zal verbinden.
2.2.1 Van Hoofdbedieningsbord naar DB9 connector
DB25 hoofdbedieningsbord
2.2.1.1.1.1.1 DB9 connector
Pin
Pin
2
Transmit data
Receive data
2
3
Receive data
Transmit data
3
4
Clear to send
Clear to send
8
5
Request to send
Request to send
7
7
Signal ground
Signal ground
5
25
2.2.2 Van hoofdbedieningsbord naar DB25 connector
DB25 hoofdbedieningsbord
DB25 connector
Pin
Pin
2
Transmit data
Receive data
3
3
Receive data
Transmit data
2
4
Clear to send
Clear to send
4
5
Request to send
Request to send
5
7
Signal ground
Signal ground
7
1
2.3
Analyse van het protocol
2.3.1 Ascom2
Algemeen: De 4 eerste lijnen van op het hoofdbedieningsbord worden verzonden indien er zich een verandering van status heeft voorgedaan.
Het signaal zal 20 sec. na de
statuswijziging worden verzonden waardoor het Ascom protocol onbruikbaar is voor het project.
Na 23 verzonden karakters moet er worden bevestigd door het
randapparatuur met het karakter ‘A’ , indien dit niet gebeurt zal het signaal om 5 sec. worden herhaald.
1
Zie bijlage 1 voor een volledige lijst van de pinouts
2
Een volledige lijst van de verschillende statussen vind u in bijlage 3
26
Vorm: <SE/A(1)A(2)A(3)A(4)M(1)M(2)M(3)RCB(1)B(2)B(3)B(4)N(1)N(2)N(3)RC/1> <SE/C(1)C(2)C(3)C(4)O(1)O(2)O(3)RCD(1)D(2)D(3)D(4)P(1)P(2)P(3)RC/2> S: Service – dienst (0 tot 9) E: Etage – verdiep (0 tot 9) A(1)A(2)A(3)A(4) =
kamernummer (0000 tot 9999) (3de lijn van hoofdbedieningsbord)
M(1)M(2)M(3)
Status van de kamer (voorbeeld: ‘MAL’)
=
B(1)B(2)B(3)B(4) =
kamernummer (0000 tot 9999) (3de lijn van hoofdbedieningsbord)
N(1)N(2)N(3)
=
Status van de kamer (voorbeeld: ‘URG’)
RC
=
Return
S: Service - dienst E: Etage – verdiep
C(1)C(2)C(3)C(4) = kamernummer (0000 tot 9999) (3de lijn van hoofdbedieningsbord) O(1)O(2)O(3)
= Status van de kamer (voorbeeld: ‘TRA’)
D(1)D(2)D(3)D(4) = kamernummer (0000 tot 9999) (3de lijn van hoofdbedieningsbord) P(1)P(2)P(3) RC
2.3.2
= Status van de kamer (voorbeeld: ‘RAD’) =
Return
Legrand 11
Algemeen: Bij het protocol Legrand 1 worden de signalen verstuurd onmiddellijk na het ontvangen van een statuswijziging, inclusief rusttoestanden, status van elke
kamer
om
de
15 min., status van de verklikkers (lampjes defect of niet), enz... Na het versturen van een signaal is er geen bevestiging nodig.
1
Een volledige lijst van de verschillende statussen vind u in bijlage 3
27
Vorm: Chbre 12345 Appel malade (Service 1 / Kamer 2345 / Ziekenoproep) Productiefout ! Zowel bij het protocol Legrand 1 als Legrand 2 is er een productiefout ontdekt betreffende de status ‘Déclaration de chambre’ en ‘Chambre absente’.Deze 2 doorgestuurde berichten komen niet overeen met de eigenlijke status : o
‘Déclaration de Chambre’
o
‘Chambre absente’
Declaratie van de kamer Interface OK
Kamer ontbreekt Kamernummer gevonden in
hoofdbedieningsbord
2.3.3 Legrand 21
Algemeen: Bij het protocol Legrand 2 worden zoals bij Legrand 1 de signalen verstuurd onmiddellijk na het ontvangen van een statuswijziging, inclusief rusttoestanden, status van elke kamer om de 15 min., status van de verklikkers (lampjes defect of niet), enz... Na het versturen van een signaal is er geen bevestiging nodig. Vorm: 12345:02 (Service 1 / Verdiep 2 / Kamernummer 345 / Status 02)
28
Productiefout ! Zowel bij het protocol Legrand 1 als Legrand 2 is er een productiefout ontdekt betreffende de status ‘Déclaration de chambre’ en ‘Chambre absente’. Deze 2 doorgestuurde berichten komen niet overeen met de eigenlijke status : ‘Déclaration de Chambre’ ‘Chambre absente’
Declaratie van de kamer Interface OK
Kamer ontbreekt Kamernummer gevonden in
hoofdbedieningsbord.
2.4
Herkenning en verwerking van het protocol De gegevens worden door middel van het “MsComm” object in Visual Basic van de seriëlepoort gehaald. Dit object laat toe om met de communicatiepoorten van de pc te
communiceren.
Het
MsComm
object
wordt
geconfigureerd
met
de
communicatiepoort (Com1, Com2, Com3, Com4) die de gebruiker bij de configuratie van de software heeft opgegeven. Verder wordt meegegeven hoeveel tekens hij per keer van de poort moet ophalen, in dit geval 1 teken. Door dit object in een timer te plaatsen wordt er voor gezorgd dat om de milliseconde gegevens van de seriëlepoort worden opgehaald. Een timer laat toe om na een ingesteld tijdstip een bepaalde code of gebeurtenis uit te voeren. In dit project gaan we de timer instellen op 1 milliseconde. Door het MsComm en het Timer object met elkaar te combineren komt er een ingaande communicatie met de opgegeven communicatiepoort tot stand. Vermits het langste bericht op de seriëlepoort ongeveer 30 tekens bevat, zal het 30 milliseconden duren vooraleer dit bericht is gelezen.
Hierdoor kunnen
± 33
berichten per seconde worden ontvangen. (In praktijk hangt dit grotendeels af van de kracht van de computer). Het hoofdbedieningsbord kan maximum 17 berichten per seconde doorsturen. (maximum aantal kamers : 128 x 2 berichten per kamer om de 15 min).
Dit maximum kan worden bereikt om het kwartier wanneer het
hoofdbedieningsbord de status van elke interface gaat doorsturen.
29
Aan de hand van de vorm van de ontvangen gegevens gaat de software uitmaken welk protocol van toepassing is. (figuur 2-1) Indien er geen protocol wordt gedetecteerd zal volgende boodschap in de statusbalk verschijnen:
.
Figuur 2-1 Automatische protocol detectie
Na de detectie van het protocol volgt het onttrekken van het servicenummer, dienstnummer, kamernummer en de status uit de ontvangen data. De methode die hiervoor wordt gebruikt zijn de functies “Left” en “Right” die zich reeds in Visual Basic bevinden.
Door combinaties van beide functies wordt elk
gegeven uit de data gehaald.
30
2.4.1 Protocol Legrand1
OntvangenData = “Chbre 12345 Appel malade” Servicenummer = Right(Left(OntvangenData, 7), 1) -> Chbre 12345 Appel malade Kamernummer = Right(Left(OntvangenData, 11), 4) Chbre 12345 Appel malade Status = Right(Value, (Len(OntvangenData) - 12)) Chbre 12345 Appel malade
2.4.2 Protocol Legrand2
OntvangenData =”12345:02” Servicenummer = Left(OntvangenData, 1) 12345:02 Kamernummer = Right(Left(OntvangenData, 5), 4) 12345:02 Status = Right(OntvangenData, 2) 12345:02
31
Hierna volgt er een omzetting van de verkregen status naar een Hexadecimale code zodat de gegevens die later gaan worden opgeslagen identiek zijn voor beide protocollen. Er werd gekozen om de statuscode van het protocol Legrand 2 over te nemen omwille van duidelijkheid en eenvoudigheid (geen zaken uitvinden als ze reeds bestaan). In volgende tabel vindt u de hexadecimale codes met de gegevens die we ontvangen via de seriëlepoort.
Code
Legrand2
Legrand1
‘01’
‘01’
‘Repos’
‘02’
‘02’
‘Appel malade’
‘03’
‘03’
‘Alarme biomédicale’
‘04’
‘04’
‘Appel sanitaires’
‘05’
‘05’
‘Appel radio’
‘06’
‘06’
‘Tranquillisé’
‘07’
‘07’
‘Présence infirmière’
‘08’
‘08’
‘Appel urgent infirmière’
‘09’
‘09’
‘Appel simple autre chambre’
‘0A’
‘0A’
‘Appel urgent autre chambre’
‘0B’
‘0B’
‘Présence médecin’
‘0C’
‘0C’
‘Présence infirmière + médecin’
‘0D’
‘0D’
‘Appel simple autre chambre + présence médecin’
‘0E’
‘0E’
‘Appel urgent autre chambre + présence médecin’
‘0F’
‘0F’
‘Appel urgent infirmière + médecin’
‘10’
‘10’
‘Appel urgent médecin’
‘20’
‘20’
‘Déclaration de chambre’
‘21’
‘21’
‘Défaut voyant rouge’
‘22’
‘22’
‘Défaut voyant jaune’
‘23’
‘23’
‘Défaut voyant rouge + jaune’
‘24’
‘24’
‘Défaut voyant vert’
‘25’
‘25’
‘Defaut voyant rouge + vert’
‘26’
‘26’
‘Défaut voyant jaune + vert’
‘27’
‘27’
‘Défaut voyant rouge + jaune + vet’
‘28’
‘28’
‘Chambre absente’
32
2.5
Visuele en auditieve weergave
2.5.1 Visuele weergave
2.5.1.1 Weergave op plattegrond en kamerdisplaynummers Een van de basisvereisten van het project was dat oproepen konden worden gelokaliseerd op een plattegrond op het scherm zodat het verplegend personeel kan nagaan waar de oproep plaatsvindt. Er kunnen maximum 10 verdiepen ingesteld worden bij de configuratie. De plattegrond van het verdiep kan zowel in *.gif als *.jpg worden ingeladen omwille van de beperkte grootte en eenvoudigheid. Zo kan men een bestaand plan in scannen met een standaard scanner en deze bewaren als *.gif of *.jpg bestandsformaat. (figuur 2-3 ) Het inladen van de plattegrond gebeurt bij het configureren van de verdiepen door op het open-pictogram
te klikken en het bestand op te zoeken en aan te klikken
om vervolgens op “Open” te klikken. (figuur 2-2 ) Na het configureren van de verdiepen moet men per verdiep de kamernummers ingeven (figuur 2-4), zonder deze kan de visuele weergave niet plaatsvinden. Na het invullen van deze kan men de labels met de muis op de plattegrond plaatsen. Optioneel kan men per kamernummer een patiëntnaam invullen (meer van toepassing in rusthuizen en serviceflats omwille van de beperkte verandering van patiënten).
33
Figuur 2- 2 : Inladen van plattegrond
Figuur 2-3 : Voorbeeld weergave van oproep op demo plattegrond.
34
Bij het binnenkomen van een oproep wordt eerst nagegaan over welke type oproep het gaat en wordt er een bepaalde code aan toegekend die overeenkomt met de kleur van de lampjes en de frequentie van het geluidssignaal dat op dat ogenblik kan worden waargenomen op het hoofdbedieningsbord.
Het
kamernummer dat onttrokken is van de ontvangen data wordt op het kamernummerdisplay weergegeven (figuur 2-4) en het kamernummerlabel op de plattegrond met het overeenstemmende kamernummer zal in dezelfde kleur en frequentie oplichten als de lampjes op het hoofdbedieningsbord.(figuur 2-5) Onmiddellijk zal het juiste plan tevoorschijn komen.
Er zijn 10 verschillende
combinaties van lampjes volgens frequentie (traag of snel) en kleur (rood en / of geel en / of groen) Voor de twee frequenties werden twee “Timers” gebruikt die om de 1050 milliseconden (traag) en 250 milliseconden (snel) functies kunnen “triggeren” (uitvoeren). In de statusbalk is er steeds het aantal dringende en gewone oproepen af te lezen. Zo is er steeds een overzicht van al de oproepen die op dat moment geplaatst zijn. (figuur 2-6)
35
Figuur 2- 4 : Configuratie van de kamers
Figuur 2- 5 Kamernummerdisplays
Figuur 2- 6 : Weergave oproepen in statusbalk
36
2.5.1.2 Weergave in Pop-up message Om de aandacht te trekken indien de gebruiker met een ander programma aan het werken is wordt er een bericht getoond bij het ontvangen van een oproep waarop het kamernummer en eventueel de naam van de patiënt verschijnt. (figuur 2-7). Na 10 seconden schuift het bericht terug naar beneden. Dit bericht is gebaseerd op het MSN MessengerTM pop-up bericht.
Figuur 2-7
2.5.2 Auditieve weergave
Als ondersteuning bij de visuele weergave zal zoals op het hoofdbedieningsbord een beepsignaal weerklinken zodanig dat de attentie van het verplegend personeel naar de oproep gaat.
Het beepsignaal kan op twee verschillende frequenties, die
ongeveer met het die van het hoofdbedieningsbord overeenkomen, worden afgespeeld door middel van twee verschillende timers.
Er is echter een nadeel
doordat het geluid onder WindowsTM kan worden uitgeschakeld of de geluidssterkte verminderd.
37
2.6
Opslag in databank Zowel bij het starten/stoppen van het programma en na ontvangst van een oproep worden de gegevens opgeslagen in een standaard Access databank omwille van de eenvoud en er geen extra software vereist is. De ontvangen gegevens worden via een Ado connectie weggeschreven in de databank. De structuur wordt in volgende tabel weergegeven.
Functie “save” voor het wegschrijven van de gegevens naar de database: Sub save() Dim adoCmd As New ADODB.Command
Nieuw databank commando
Dim strSql As String On Error GoTo errHandler strSql = "select * from tblLog where 1=0"
Alles selecteren van de databank
subDBconnectie (strSql)
Uitvoeren van de bovenstaande opdracht
adoRcs.AddNew
Schrijven naar de databank
adoRcs!dtmDate = Datum van oproep adoRcs!dtmTime = Tijdstip van oproep
Gegevens invullen in de tabel
adoRcs!chrService = Service adoRcs!chrRoom = Kamernummer adoRcs!chrStateID = Status adoRcs!intchecksum = ********************** adoRcs.Update Call subDBconSluiten
Aanmaak controle getal
Bevestigen van de opdracht Connectie met de databank sluiten
Exit Sub errHandler: MsgBox$ strLanDatabase, 16, "ERROR"
Bij fout een bericht tonen
Call subDBconSluiten End Sub
38
2.6.1 Beveiliging van de Databank
Bij het wegschrijven naar de databank wordt er een controlegetal gegenereerd om na te gaan of de gegevens zijn aangepast om eventueel een te lange wachttijd te verdoezelen. V.b.: Een patiënt in een ziekenhuis sterft. De familie van de overledene twijfelt aan het tijdig aanwezig zijn van het verplegend personeel. Volgens de patiënt die in dezelfde kamer lag samen met de overleden persoon beweert dat het een kwartier duurde voor dat er iemand aanwezig was. Het verplegend personeel zegt op zijn beurt dat hij binnen de 5 minuten aanwezig was en dit te kunnen bewijzen aan de hand van de gegevens in de databank. De verpleegster toen van dienst was de oproep vergeten en om haar fout te verdoezelen heeft ze de tijden in de Access databank gewijzigd. Op het eerste zicht kloppen de gegevens met de beweringen van de verpleegster, maar na het controleren van het controlegetal komt het uit dat de gegevens zijn aangepast. De gegevens kunnen dus op elk moment worden aangepast in de databank zonder enige moeite, maar bij twijfel kan aan Legrand NV gevraagd worden om de juistheid van de gegevens te controleren. Door een ingebouwde functie die het controlegetal opnieuw berekent uit de opgehaalde gegevens en dit getal vergelijkt met het controlegetal dat zich reeds in de database bevond kan de juistheid achterhaald worden, indien beide getallen niet overeenkomen zal er een boodschap verschijnen dat de gegevens zijn gewijzigd en op welke lijn in de databank de verandering heeft plaatsgevonden. De mogelijkheid om de originele gegevens opnieuw te achterhalen is echter niet mogelijk.
39
Het controlegetal wordt op volgende manier aangemaakt : ((CLng(Datum) * 10) + (CDbl(Tijd) * 4) + (kamernummer)) + (Asc(Right(state, 1)) * 23) + (Right((Format(Tijd, "HH:nn:ss")), 2) * 12) + (Left(Right((Format(Time, "HH:nn:ss")), 5), 2) * 8) 1
Voorbeeld: Ongewijzigde databank:
Controlegetal
Figuur 2- 8 : Bericht na het starten van de controle. Aanpassing van de databank:
1
Dit is de formule met gewijzigde getallen, dit omwille van veiligheidsbeleid
40
Figuur 2- 9 : Bericht na het starten van de controle
2.7
Defectdetectie van het systeem Bij een verplegingsoproepsysteem is het noodzakelijk dat alle onderdelen perfect werken. Zo kan een defect lampje een grote invloed hebben op de reactiesnelheid van de verpleegster. Een defecte interface heeft natuurlijk grotere gevolgen, want in dat geval zal de oproep niet doorkomen. Dat een defectdetectie noodzakelijk is spreekt voor zich. Bij deze functie wordt er gebruik gemaakt van volgende statussen die elk kwartier door het systeem worden verstuurd : ‘Déclaration de chambre’
‘20’
‘Défaut voyant rouge’
‘21’
‘Défaut voyant jaune’
‘22’
‘Défaut voyant rouge + jaune’
‘23’
‘Défaut voyant vert’
‘24’
‘Defaut voyant rouge + vert’
‘25’
‘Défaut voyant jaune + vert’
‘26’
‘Défaut voyant rouge + jaune + vet’
‘27’
‘Chambre absente’
‘28’
41
Voor elk kwartier wordt er nagegaan dat voor elke kamer 2 berichten zijn ontvangen: ‘Déclaration de Chambre’ (Interface OK) en ‘Chambre absente’ (Kamernummer gevonden in het hoofdbedieningsbord). Er wordt gebruik gemaakt van 2 arrays van elk 128 waarden (max. Aantal kamers) : StateMessageInt(127) voor berichten komende van de interfaces en StateMessagePup(127) voor die van het hoofdbedieningsbord. Als er een ‘Déclaration de chambre’ (Interface OK) bericht van een interface wordt ontvangen zal de waarde van de array StateMessageInt (kamervolgnummer) 0 worden. Indien er een ‘Chambre absente’ (kamernummer gevonden
in
het
hoofdbedieningsbord)
bericht
wordt
ontvangen
van
het
hoofdbedieningsbord zal de waarde van de array StateMessagePup (kamervolgnummer) op ‘true’ worden gezet. Een voorbeeld: In dit eerste geval is alles in orde : Na een kwartier stuurt interface nummer 3 een bericht dat hij perfect werkende is : StateMessageInt(3) = 0 Datzelfde kwartier stuurt het hoofdbedieningsbord door dat hij interface nummer 3 heeft gevonden in zijn kamertabel: StateMessagePup(3) = true Hieruit kan het systeem besluiten dat er met interface nummer 3 geen enkel probleem is. In het volgende geval is er een geel lampje defect : Na een kwartier stuurt interface nummer 3 een ‘Défaut voyant jaune’ bericht: StateMessageInt(3) = 22 (errorcode van het ontvangen bericht) Datzelfde kwartier stuurt het hoofdbedieningsbord door dat hij interface nummer 3 heeft gevonden in zijn kamertabel: StateMessagePup(3) = true Na het controleren van de waarden van beide arrays zal het systeem merken dat er een probleem is met interface nummer3 namelijk een defecte gele lamp. 42
Een derde geval komt voor als er een interfacenummer niet is opgenomen in de kamertabel op het hoofdbedieningsbord : Na een kwartier stuurt interface nummer 3 een bericht dat hij perfect werkende is : StateMessageInt(3) = 0 Datzelfde kwartier stuurt het hoofdbedieningsbord door dat hij interface nummer 3 NIET heeft gevonden in zijn kamertabel : StateMessagePup(3) = false Na het controleren van de waarden van beide arrays zal het systeem merken dat er een probleem is met interface nummer3 namelijk het ontbrekende kamernummer in de kamertabel. Bij een defect zal in de statusbalk een uitroepteken
verschijnen om duidelijk te
maken dat er een defect is. Op dat ogenblik gaat de gebruiker naar het ‘foutrapport’ om na te gaan welk defect er plaats heeft. Om aan te duiden over welke kamer het gaat zal er op het plan bij de betreffende kamer een uitroepteken
2.8
knipperen.
Vertaling van het programma: FR, EN, D, PO, ES, NL Om het programma in België te mogen gebruiken in ziekenhuizen en rusthuizen moest de software in 2 talen beschikbaar zijn : Nederlands en Frans, al zeer snel kwam de vraag om het programma in het Engels, Frans, Duits, Spaans en het Portugees beschikbaar te stellen omwille van de grote interesse in het buitenland voor het programma. Om dit te verwezenlijken werden de meest gebruikte termen vertaald in een *.ini bestand. Er bestond ook de mogelijkheid om voor elke taal een apart programma te ontwikkelen, maar dit was omwille van tijdsgebrek niet mogelijk, daarom werd er een functie geschreven die de vertalingen uit het juiste *.ini bestand gaat ophalen en aan globale variabelen toewijst. Op deze manier kunnen later de vertalingen worden aangepast zonder dat er enige kennis van Visual Basic is vereist.
43
Door gebruik te maken van deze oplossing bieden we aan de gebruiker de mogelijkheid om het programma in zijn taalkeuze te gebruiken zonder dat er enige verandering aan de gegevens of extra installatie is vereist.1
1
Zie bijlage 5 voor een voorbeeld van een vertalingsbestand.
44
2.9
Lay-out van het programma Bij het bepalen van de lay-out van het programma werd er zoveel mogelijk gekeken naar het hoofdbedieningsbord zodat voor gebruikers die reeds vertrouwd zijn met het hoofdbedieningsbord de meeste functies voor zich spreken. Kamernummer -
Verdiep
Databank grootte
display
Kamerlabel
Aantal dringende en gewone oproepen
Grondplan
Protocol
Fout-indicatie
Tijd tot nieuwe defectdetectie
Figuur 2-10
45
2.10 Cd-lay-out Bij het laden van de installatie cd-rom zal er automatisch een installatiescherm (figuur 2-11) worden getoond waarbij de gebruiker de keuze heeft om het programma te installeren of het scherm te verlaten.
Figuur 2-11 Het automatisch starten van het installatiescherm werd mogelijk gemaakt door gebruik te maken van een “Autorun.ini” script dat door MS WindowsTM onmiddellijk bij het laden van een cd-rom wordt gestart. Inhoud van het script: [AutoRun] open = Autorun.exe ¼ icon = Legrand.ico
¼
De naam van het bestand dat moet worden gestart. Het icoon dat zal worden getoond.
46
Hoofdstuk 3
3 Sterke en zwakke punten van het programma In dit hoofdstuk bespreken we de voor en nadelen van het systeem en het programma zodanig dat in latere versies van het programma deze kunnen worden aangepast of toegevoegd.
3.1
Sterke punten: •
Weergave van defecten.
•
Automatische detectie van het gebruikte protocol.
•
Opslag van de gegevens in een standaard Acces databank.
•
Mogelijkheid om een andere externe databank te gebruiken.
•
Statistieken.
•
Kamernummers positioneerbaar op een plattegrond via drag & drop. Plattegrond in *.gif en *.jpg formaat.
•
Beveiliging van databank door middel van controlegetal.
•
Beveiliging van de statistieken door optioneel paswoord.
•
Pop-up message en pieptoon.
•
6 verschillende talen beschikbaar (Engels, Spaans, Frans, Nederlands, Portugees en Duits).
•
Patiëntnamen toewijsbaar per bed, deze wordt in de pop-up message en tooltips van de iconen meegedeeld.
•
Aanduiding van aantal oproepen en dringende oproepen in de statusbar, zo ook de grootte van de databank en het protocol worden hierin getoond.
•
Printen van grafieken en tabellen.
47
3.2
Zwakke punten: •
Geen automatische detectie van de aanwezige kamers
•
Geluid kan worden uitgeschakeld in MS WindowsTM
•
Geen herstel van gewijzigde gegevens in de databank
•
Geen manier om paswoord te resetten indien de gebruiker het paswoord vergeten is.
48
Hoofdstuk 4
4 Statistiek
4.1
Inleiding Definitie: ‘Statistiek is de wetenschap van het verzamelen, presenteren, analyseren en interpreteren van gegevens.’1 Het programma dat voor Eliocad ontwikkelt is, neemt het verzamelen en het presenteren van deze gegevens voor zijn rekening. Hierop kunnen interpretaties en analyses gebaseerd worden. Dit hoofdstuk zal zich vooral concentreren op de manier waarop het programma de gegevens verzamelt en presenteert, het proces dat gekend is onder de benaming beschrijvende statistiek. Echter vooraleer deze onderwerpen uit te diepen, wordt eerst het nut van statistiek bekeken met een voorbeeld ter fundering. Kort samengevat zal het hoofdstuk chronologisch volgende onderwerpen behandelen:
1
•
Het nut van statistiek, algemeen en voor een ziekenhuis.
•
Een bondig denkbeeldig voorbeeld in een ziekenhuis.
•
Statistiek in het programma Eliocad.
“Kwantitatieve methoden voor beleidsbeslissingen”, KHM Departement Handelswetenschappen en
Bedrijfskunde, Campus DE HAM, 2000-2001, 96 blz.
49
4.2
Het nut van statistieken?
4.2.1 Algemeen
Statistieken kunnen doorslaggevende argumenten vormen bij beleidsbeslissende problematiek, kunnen antwoorden geven op vragen waarvoor een direct antwoord niet evident is. Statistieken kunnen zicht geven op een situatie binnen een bepaalde tijdsdimensie. Statistieken zijn een belangrijk fundament bij kostenbesparing, workflow, het achterhalen van oorzaken van bepaalde problemen.
4.2.2 Het nut in een ziekenhuis
De informatie die het programma biedt, kan aangewend worden om de workflow ten goede te komen, kostenbesparend op te treden, ... 4.2.2.1 Welke informatie geeft het programma? Statistieken kunnen snel antwoord geven op vragen die anders veel werk zouden vereisen. De informatie dat het programma kan verstrekken, beslaat de antwoorden op vragen waarvan hieronder slechts een kleine selectie wordt weergegeven: •
Welke kamer(s) binnen een bepaalde afdeling heeft een relatief hoog aantal oproepen?
•
Welke kamer(s) binnen een bepaalde afdeling heeft een relatief laag aantal oproepen?
50
Figuur 4-1: Relatief hoge/lage aantal oproepen per kamer per afdeling. •
Binnen welke periodes (tijdsdimensie of datumdimensie) neemt het totaal aantal verschillende oproepen toe op een bepaalde afdeling?
•
Binnen welke periodes (tijdsdimensie of datumdimensie) neemt het totaal aantal verschillende oproepen af op een bepaalde afdeling?
Figuur 4-2: Afname/toename totaal aantal oproepen binnen een bepaalde periode, binnen een afdeling. •
Welke kamer(s) binnen een bepaalde afdeling heeft een relatief hoge interventietijd/wachttijd?
•
Welke kamer(s) binnen een bepaalde afdeling heeft een relatief lage interventietijd/wachttijd? 51
Figuur 4-3: Relatieve hoge/lage wacht- en interventietijd per kamer per afdeling. Zoals reeds verteld, is het bovenstaande slechts een greep uit de vragen waarvoor het programma informatie kan aanreiken. Verder in dit hoofdstuk wordt een beter zicht op de mogelijkheden gegeven. 4.2.2.2 Wat kan er gedaan worden met deze informatie? Met de informatie die het programma aanreikt, kunnen bepaalde problemen aangekaart worden en een oplossing gezocht worden: o Welke kamer(s) binnen een bepaalde afdeling heeft een relatief hoog/laag aantal oproepen? •
Welke categorie van patiënten is in deze afdeling ondergebracht?
•
Behoort de patiënt van de betreffende kamer tot deze categorie?
•
Hoeveel tijd besteedt het personeel op deze afdeling aan deze patiënt zijn verzorging?
•
In welke mate heeft hij daadwerkelijk verzorging nodig?
•
Wat is de gemiddelde wachttijd en interventietijd op deze afdeling?
•
Wat is de gemiddelde wachttijd en interventietijd voor deze kamer?
•
Zijn er nog andere kamers op deze afdeling die dicht bij het aantal oproepen van de betreffende kamer komen?
52
o Binnen welke periodes (tijdsdimensie of datumdimensie) neemt het aantal oproepen toe/af op een bepaalde afdeling? •
Op welke momenten moet er meer/minder personeel ingezet worden?
•
Is er een verklaring voor het aantal oproepen binnen de tijdsdimensie?
•
Werkt het personeel op de afdeling in shiften en verhoogt/verlaagt de interventietijd, betekenende dat er meer/minder aandacht naar verzorging uitgaat in de ene ploeg dan de andere?
•
Beslaat de ene ploeg meer/minder personeel dan de andere?
•
Is er een ploeg onderbemand?
•
Binnen welke maanden moet er meer/minder personeel ingezet worden?
•
Is er reeds voldoende personeel en hebben de oproepen geen direct verband met verzorging?
•
Is het louter toeval of is het een repetitief scenario in vergelijking met andere jaren?
o Welke kamer(s) binnen een bepaalde afdeling heeft een relatief hoge/lage interventietijd/wachttijd? •
Welke categorie patiënten beslaat de afdeling waarin deze kamer zich bevindt?
•
Behoort de patiënt tot deze categorie?
•
Zijn er nog kamers op deze afdeling die dicht bij de wachttijd en interventietijd komen van deze kamer? Is er te weinig/te veel personeel op deze afdeling?
•
Ligt het probleem in het feit dat de andere patiënten ook veel/weinig verzorging nodig hebben met als gevolg dat de interventietijd stijgt/daalt en dat de wachttijd in de andere kamers ook stijgt/daalt, daar het personeel nog aan het verzorgen zijn / klaar zijn met verzorgen in een andere kamer?
53
Net zoals er, voorlopig, een beperkt zicht is gegeven op de informatie die het programma aanreikt, wordt hier slechts een klein percent van de mogelijke analyses die kunnen uit gevoerd worden, gegeven op basis van die informatie. Verder binnen dit hoofdstuk wordt er een beter zicht op de analyse gegeven, zijnde aan de hand van een voorbeeld in het volgende puntje en bij de verdere uiteenzetting van het programma. 4.2.2.3 Besluit Statistieken zijn in de huidige samenleving niet meer weg te denken. Ze bieden iedereen, maar vooral de directie en administratie binnen een bepaalde organisatie, onnoemlijk veel informatie.
Ze zijn de fundamenten waarop belangrijke
beleidsbeslissing worden gebouwd. Binnen een ziekenhuis biedt de statistiek een helder zicht op de workflow, mogelijkheden tot kostenbesparing en, misschien wel het belangrijkste, de nodige verzorging voor de patiënten.
4.2.3 Een bondig, denkbeeldig voorbeeld binnen een rusthuis
Er wordt een denkbeeldig voorbeeld besproken en hierrond wordt er een analyse gebouwd.
Vervolgens
worden
aan
de
hand
van
de
analyse
mogelijke
beleidsbeslissingen opgesteld. Tijdens de analyse worden enkele mogelijke scenario’s overlopen teneinde het potentieel van het programma te doorgronden en nogmaals aan te tonen dat statistieken een groot nut kunnen betekenen binnen een ziekenhuis/rusthuis.
54
4.2.3.1 Situering Een denkbeeldig rusthuis, onder de naam ‘Anonim’, bestaat uit 4 afdelingen en heeft momenteel 20 klanten/patiënten. Het personeel per afdeling werkt in shiften. Er is een ochtendshift, een avondshift en nachtshift. Deze shiften zijn per afdeling op de volgende manier samengesteld: Shift
Aantal
Shiftstart
Shifteinde
Loon
verpleegster s1 Ochtendshift
3
6 uur
14 uur
8.75€/u
AvondShift
2
14 uur
22 uur
8.75€/u
NachtShift
2
22 uur
6 uur
11.25€/u
Zoals vermeldt zijn er 4 afdelingen: •
De eerste afdeling bevindt zich op de gelijkvloers en krijgt de naam “Ongehinderden”.
•
Op deze afdeling worden de patiënten ondergebracht die vrijwel geen hulp nodig hebben, zelf nog goed te been zijn.
•
De tweede afdeling bevindt zich op de tweede verdieping en krijgt de naam “Licht gehinderden”. Op deze afdeling worden de patiënten ondergebracht die in sommige situaties lichte hulp nodig hebben (bv. Uit bed geholpen worden).
Over het algemeen kunnen deze nog redelijk goed zelf uit de
voeten. •
De derde afdeling bevindt zich op de derde verdieping en krijgt de naam “gehinderden”. Op deze afdeling worden de patiënten ondergebracht die een constante hulp nodig hebben bij grote lichamelijke bewegingen.
•
De laatste afdeling bevindt zich op de vierde verdieping en krijgt de naam “Zwaar gehinderden”. Op deze afdeling worden de patiënten ondergebracht die zowel lichamelijk als geestelijk constante hulp vragen.
1
We veronderstellen dat de verpleegsters zich enkel toespitsen op het verzorgen van de patiënten.
55
Een kort overzicht van de afdelingen : Afdeling
Aantal Kamers
Aantal patiënten
Ongehinderden
15
9
Licht Gehinderden
15
12
Gehinderden
15
15
Zwaar gehinderden
15
5
4.2.3.2 Stelling Na kennis gemaakt te hebben met het denkbeeldig rusthuis “Anonim” kunnen er analyses uitgevoerd worden op verschillende aspecten nl. : •
Workflow
•
Infrastructuur
•
Kostenbesparing
Er biedt zich een mogelijk scenario aan waarbij er zal getracht worden, aan de hand van de informatie die het programma aanreikt, om tot een beleidsbeslissing te komen die de vorige aspecten ten goede komt. Dit is gebaseerd op denkbeeldige gegevens die desondanks dicht aanleunen bij de realiteit. 4.2.3.2.1
Probleemstelling
Het personeel van de avondshift op de derde afdeling “Gehinderden” klaagt dat de werkdruk te hoog ligt. Indien er geen oplossing gezocht wordt, dreigen ze het werk tijdelijk neer te leggen. De directie wil hen 2 maal 15 minuten pauze geven per dag om de gemoederen te doen bedaren.
56
4.2.3.2.2 Welke Informatie is er voorhanden? Voor de derde afdeling is er informatie binnen de periode van één maand en binnen een tijdsperiode van 14u-22u, zijnde de periodes dat er gewerkt wordt tijdens de avondshift. Programmagegevens (zie ook figuur 4.4) :
Gemiddelde wachttijd : Gemiddelde Interventietijd : Hoogste wachttijd : Hoogste interventietijd : Aantal oproepen deze maand :
2 minuten 12 minuten 5 minuten 16 minuten 2100
Gewone Oproep :
840
Sanitaire Oproep :
1260
Urgente oproep verpleegster :
6
Figuur 4.4: Grafiek wacht- en interventietijd
57
Geweten gegevens :
Totale werktijd van verpleegster :
13440 minuten
Totale Samengestelde werktijd :
26880 minuten
Aantal verpleegsters :
2
Aantal verpleegsters per patiënt1 :
1
4.2.3.2.3 Welke informatie is hieruit te halen? Uit gegeven informatie kunnen er een aantal dingen berekend worden : Er zijn 2100 oproepen geweest deze maand en gemiddeld worden de patiënten 12 minuten verzorgd.
Dit wil zeggen dat de nachtshift op deze afdeling gemiddeld
25200 minuten per maand van de totale 26880 minuten zich toespitst op het verzorgen van de patiënt. Er resteren dus gemiddeld 1680 minuten van de totale samengestelde werktijd. Vastgesteld wordt dat een verpleegster per maand gemiddeld 28 uur niets om handen heeft. Specifieker heeft zij gemiddeld 1 uur per dag dat ze een adempauze kan nemen om eventueel te eten. Rekening houdende dat er met een gemiddelde gewerkt wordt en dat de hoogste interventietijd 16 minuten bedraagt dient er beseft te worden dat 1 uur pauze per dag relatief weinig is. 4.2.3.2.4 Is het probleem repetitief? Er wordt verondersteld dat dit het geval is sinds 3 maanden.
1
Er wordt verondersteld dat er per patient slechts 1 verpleegster nodig is.
58
4.2.3.2.5 Wat zijn de mogelijke oplossingen? Welke mogelijkheden bieden zich aan en dewelke is het meest realiseerbaar met de minst mogelijke negatieve gevolgen voor het rusthuis? a) Een extra verpleegster Indien 3 verpleegsters ingezet worden, zou dit het volgende beeld scheppen: 40320 minuten – 25200 minuten = 15120 minuten (ongeveer 9u per dag)
Met 3 verpleegsters in de avondshift zouden er 540 minuten per dag zijn die onbenut blijven. . b) Enkele patiënten van afdeling verhuizen Enkele patiënten zouden naar afdeling 4 kunnen verhuisd worden zodanig dat er tijd vrijkomt. De gemiddelde tijd die een patiënt vraagt voor verzorging : 25200 minuten / 15 = 1680 minuten per patiënt. (1 uur per dag)
Per patiënt die verhuist wordt, komt er een halfuur vrij per verpleegster.
De oplossing die zich opdringt is niet realistisch in een gewone situatie. Het verplaatsen van een patiënten naar een andere kamer is op zich al uit den boze en er moet rekening gehouden worden met talloze factoren. Om het denkbeeldig voorbeeld kort te houden, gaan we er van uit dat er een identieke kamer vrij is op afdeling 4 met dezelfde kostprijs. We gaan er ook vanuit dat analyses uitwijzen dat afdeling 4 geen factoren bevat die aangeven dat het niet aangewezen is de patiënt te verhuizen. We verplaatsen de patiënt met het hoogst aantal oproepen naar deze kamer, daar deze blijkbaar het meeste verzorging nodig heeft. 59
4.2.3.2.6 Resultaat De patiënt met de meeste oproepen wordt naar de vierde afdeling verhuist met gevolg dat er een half uur vrijkomt per verpleegster op de derde afdeling. Het beoogde resultaat, een staking voorkomen en 2 pauzes van 15 minuten invoegen, is gerealiseerd. 4.2.3.3 Besluit Na een korte uiteenzetting van een voorbeeld kan besloten worden dat statistieken problemen kunnen blootleggen en tevens een antwoord kunnen voorzien. Helaas kan de informatie, die het programma verstrekt, ook aangewend worden om verpleegsters het bloed van onder de nagels te halen. Een verpleegster die doorgaans met een te lange wachttijd en een te lange interventietijd haar shift beëindigd, kan zich aan een fikse uitbrander verwachten of misschien wel de bons krijgen. Indien de directeur van een ziekenhuis beslist dat de toegang tot de informatie, verstrekt door het programma, ook voor verpleegsters toegankelijk dient te zijn, kan die een heuse concurrentiestrijd, berispingen,...
teweeg brengen tussen de
verpleegsters.
60
4.3
Statistiek in het programma Eliocad Zoals eerder gezien bestond het project erin om ten eerste software te schrijven die toelaat de verschillende oproepen in een databank op te slaan, ten tweede deze weer te geven op het scherm en ten derde, en zeker niet onbelangrijk, de gegevens statistisch weer te geven. Allereerst zal de lay-out bekeken worden ten einde de gebruikte terminologie en de navigatie van de functie te begrijpen. Vervolgens wordt de functie in de onderstaande onderdelen opgesplitst om een duidelijk beeld te scheppen van de differentiële functionaliteit: •
De algemene zoekopties
•
De uitgebreide zoekopties
Bij beide onderdelen zullen de volgende aspecten besproken worden: •
Doel
•
Procesanalyse
•
Mogelijke voor- en nadelen
Ten slotte wordt er een conclusie verstrekt omtrent het algemene nut van deze functie.
61
4.3.1 Lay-out
Ten einde de gebruikte terminologie en de navigatie te begrijpen wordt hieronder de lay-out van het statistiekenvenster en het grafiekvenster toegelicht. 4.3.1.1 Statistiekenvenster
Kamerspecificatie
Periodespecificatie
Tijdspecificatie Zoekglas Grafiekknop Statusspecificatie Rekentoestel Tabelknop
Tabeloverzicht
Figuur 4.5: Layout Tabelvenster Zoekstatus
Printknop
Confirmatieknop
62
Kamerspecificatie : De gebruiker kan een bepaald bereik van kamers ingeven en 1 kamer uitsluiten. Bv. Kamers 1001 tot 1999 met uitsluiting van kamer 1500. Periodespecificatie : De gebruiker kan een bepaalde periode ingeven. Bv. Van 12/12/2001 tot 12/12/2002. Tijdspecificatie : De gebruiker kan een bepaalde tijdspanne ingeven. Bv. van 14.00 tot 22.00. Statusspecificatie : De gebruiker kan op 1 of meer oproepen zoeken. Deze zijn : •
Gewone oproep
•
Sanitaire oproep
•
Biomedische oproep
•
Dringende oproep met een verpleegster aanwezig
•
Dringende oproep met verpleegster en dokter aanwezig
•
Dringende oproep met dokter aanwezig
Bv. Zoeken op gegevens met de status gewone oproep en sanitaire oproep. Zoekstatus : Geeft aan wanneer het programma klaar is met het doorzoeken van de database. Printknop : Biedt de mogelijkheid om de informatie die in de tabel staat af te drukken.
63
Confirmatieknop : Sluit het statistiekenvenster.
Tabeloverzicht : Nadat het programma de database doorzocht heeft en gegevens heeft gevonden die aan de voorwaarden voldoen wordt het resultaat hier weergegeven. Er zijn 2 verschillende tabeloverzichten nl. : •
Resultaten van een gewone zoekopdracht.
•
Resultaten van een uitgebreide zoekopdracht.
Het wisselen tussen deze 2 gebeurt door de tabelknop. Zoekglas : Nadat de voorwaarden zijn ingesteld, dient er op deze knop geklikt te worden teneinde het programma te laten weten dat de database doorzocht mag worden. Grafiekknop : Indien er gegevens staan in het tabeloverzicht kan er een grafiek gegenereerd worden op basis van deze. Let wel : Er wordt slechts een grafiek gegenereerd voor de gegevens die op het moment in het tabeloverzicht zichtbaar zijn.
Indien zowel een gewone als een uitgebreide
zoekopdracht is uitgevoerd met resultaat wil dit dus zeggen dat enkel het zichtbaar resultaat omgezet wordt in een grafiek.
Er
kan
evenwel
van
grafiekscherm
naar
statistiekenscherm teruggekeerd worden om alsnog een grafiek te genereren op basis van het andere resultaat. Verdere uitleg hieromtrent wordt in een volgend punt uiteengezet.
64
Rekentoestel : Indien dit geactiveerd is, kan er gezocht worden op interventietijden en wachttijden. Tabelknop : Om te wisselen tussen de 2 verschillende tabeloverzichten met behoud van de gegevens.
4.3.1.2 Grafiekvenster Titel
Lay-outknoppen As-wissel knop
Rij opties
Printknop Grafiekweergave
Confirmatieknop
Legende
Figuur 4.6: Layout grafiekvenster
65
Grafiekweergave : Hier wordt de grafiek in weergegeven. Legende : Hier worden de gegevens benoemd die de kolommen voorstellen. Printknop : Afdrukken van de grafiek. Confirmatieknop : Om het grafiekvenster te sluiten. Lay-out knoppen : Deze wijzigen de weergave van de grafiek naar wens. Er zijn 5 weergave vormen, die overigens ook in 3D bekeken kunnen worden.1 As-Wissel knop : Deze knop verwisselt de rijdata met de legendedata.2 Rij opties: Keuze om de rijdata volgens kamers, tijd of periode in te stellen. Let wel! : deze opties zijn enkel toegankelijk indien er voorwaarden zijn ingegeven in het statistiekenvenster voor desbetreffende opties.3
1 Voorbeelden hiervan zijn te vinden in bijlage 6.1. 2 Een voorbeeld hiervan is te vinden in bijlage 6.2. 3 Een voorbeeld is te vinden in bijlage 6.3
66
4.3.2 De algemene zoekopties
4.3.2.1 Doel Een overzicht geven van de gebeurtenissen binnen bepaalde condities zijnde tijd, periode, kamernummer en status die in combinatie gebruikt kunnen worden. De mogelijkheid bieden om het resultaat in tabel - en grafiekvorm te bekijken en af te drukken. 4.3.2.2 Procesanalyse In figuur 4.7 en 4.8 staan de algemene processen die instaan voor het opsporen van gegevens in de database (figuur 4.7) en het weergeven van deze in een grafiek (figuur 4.8). Er zal een algemene zoekactie behandeld worden teneinde het technische in het meer gangbare om te zetten en de werking van deze processen te begrijpen.
Figuur 4.7: Opsporen gegevens
Figuur 4.8: Weergeven in grafiek
67
4.3.2.2.1 Zoekactie : Er wordt gezocht op de oproepen in kamer 1003 op 15/01/2002. 4.3.2.2.2 Tabelresultaat : Allereerst kijkt het programma of er respectievelijk voor Kamer, Datum, Tijd en Status een voorwaarde is ingesteld. Aan de standaard sql -string1 wordt vervolgens toegevoegd dat er enkel records weergegeven mogen worden als resultaat: Status oproep met kamernummer 1003 en dit enkel op 15/01/2002. Indien de standaard sql-string daadwerkelijk aangepast is, kan het programma de database beginnen doorzoeken. Indien er oproepen hebben plaatsgevonden in kamer 1003 op 15/01/2002 worden deze in het tabeloverzicht ingevuld. Het bijhorend proces wordt in figuur 4.7 weergegeven, het resultaat van dit voorbeeld in figuur 4.9.
Figuur 4.9
1
Een sql-string is een term die gebruikt wordt om het zoekcommando ,dat op de database uitgevoerd
wordt, te omschrijven. Dit commando is opgemaakt in Sql-taal, de taal om databases aan te spreken.Het standaard sql-commando is: “select tblLog.pkintEventID,tblLog.chrStateID,tblLog.dtmDate,tblLog.dtmTime,tblLog.chrService,tblLog.chrRoom from tblLog”
68
4.3.2.2.3 Grafiekresultaat : Indien gewenst wordt het resultaat in grafiekvorm weer te geven, telt het programma het aantal verschillende kamers en initialiseert dit resultaat als het aantal sessies dat de grafiek zal hebben. Bovendien krijgen de rijlabels de naam van de kamer. In dit voorbeeld zal er maar één sessie zijn, namelijk de sessie 1003. Vervolgens wordt het aantal kolommen geteld op basis van het aantal verschillende statussen. Dit resultaat is het aantal kolommen dat de grafiek zal hebben per sessie. In dit voorbeeld zullen er 2 kolommen zijn voor deze sessie, namelijk Lavatory Call en Patient Call. Deze worden overigens aangeduid via de legende. Het programma gaat nu per sessie de waarde van de kolommen aanpassen naargelang het resultaat. Zo zal de eerste kolom (Lavatory Call) van de eerste sessie een waarde van 3 krijgen, daar er 3 Lavatory Calls gebeurd zijn in kamer 1003 op 15/01/2003. Het bijhorend proces wordt in figuur 4.8 weergegeven en het resultaat van dit voorbeeld in figuur 4.10.
Figuur 4.10
69
4.3.2.3 Mogelijke voor - en nadelen Zoekoptie: Voordelen: •
De mogelijkheid om de gegevens te bekijken in tabelvorm alsook in een grafiek.
•
De mogelijkheid om zowel de tabel als de grafiek af te drukken.
•
De vele doorvoerbare manipulaties op de grafiek om het gewenste resultaat te bekomen.
•
Zoeken op kamer, tijd, periode of status met de mogelijkheid te combineren.
•
Talrijke administratieve voordelen.
Nadelen: •
Indien de database een fout bevat is er geen garantie voor juiste informatie.
•
Geen mogelijkheid om de tabel te vergroten indien er veel gegevens zijn.
•
Zoekopties van de status zijn beperkt tot enkel de oproepen.
•
Slechts 1 kamer in een range weg te filteren.
•
Het is aangewezen om de periode maximaal tot 12 maanden groot te maken, dit omwille van de beperkte grootte van de grafiek en om de leesbaarheid van de rij-gegevens optimaal te houden. Voor tijd is het ook aangewezen binnen een tijdspanne te blijven van 24 uur.
70
Grafiek: Voordelen: •
Een grafische voorstelling in grafiekvorm die overigens op verschillende manieren manipuleerbaar is.
•
De mogelijkheid de grafiek af te drukken.
•
Verdere voordelen omtrent het analyseren met gebruik van de grafiek.
Nadelen: •
De
grafiek
wordt
enkel
gegenereerd
indien
de
betreffende
overzichtstabel zichtbaar is in het statistieken venster. •
De beperking van de weergave van de grafiek. Het is aangewezen om de
periodespecificatie
binnen
12
maanden
te
houden
en
de
tijdspecificatie binnen 24 uur om de leesbaarheid van de grafiek te garanderen. •
Er moet een voorwaarde ingesteld zijn in het statistieken venster vooraleer de rijoptie van toepassing is voor de betreffende voorwaarde. Zo is er bv. enkel de rijoptie kamer voorhanden indien u niets heeft ingegeven als voorwaarde voor de tijd/datum.
71
4.3.3 De Uitgebreide zoekopties
4.3.3.1 Doel Een overzicht geven van wacht - en interventietijden binnen bepaalde condities zijnde tijd, periode, kamernummer en status die in combinatie gebruikt kunnen worden. De mogelijkheid bieden om het resultaat in tabel - en grafiekvorm te bekijken en af te drukken. 4.3.3.2 Procesanalyse In figuur 4.11, 4.12 en 4.13 staan de 3 uitgebreide processen die instaan voor het opsporen van gegevens in de database (fig 4.11), berekenen van wacht- en interventietijd (fig 4.12) en het weergeven van deze in een grafiek (fig 4.13). Er zal een uitgebreide zoekactie behandeld worden teneinde het technische in het meer gangbare om te zetten en de werking van deze processen te begrijpen.
Figuur 4.12: Berekenen wacht en interventietijd Figuur 4.11:
Figuur 4.13:
Opsporen gegevens
Weergeven in grafiek
72
4.3.3.2.1 Zoekactie: Er wordt gezocht op de oproepen in kamer 1003 op 15/01/2002 waarvan de totale wacht- en interventietijden wordt gevraagd. 4.3.3.2.2 Algemeen: Allereerst kijkt het programma of er respectievelijk voor Kamer, Datum, Tijd en Status een voorwaarde is ingesteld. Aan de standaard sql-string wordt vervolgens toegevoegd dat er enkel records mogen weergegeven worden met als resultaat status oproep met kamernummer 1003 en dit enkel op 15/01/2002.
Indien de
standaard sql-string daadwerkelijk aangepast is, kan het programma de database beginnen doorzoeken. Dit proces wordt in figuur 4.11 weergegeven. Het resultaat wordt in de overzichtstabel , onzichtbaar voor de gebruiker, ingevoegd waarop het programma onmiddellijk verder gaat: Het zoekt respectievelijk op status “oproep”, “aanwezigheid” en “rust” . Bij de eerste status “oproep” in een sequentie (oproep/aanwezigheid/rust) onthoudt het programma het recordnummer van het record waar hij op dat moment is. Pas als er een sequentie is afgewerkt, gaat het programma naar het volgende record en werkt een nieuwe sequentie af. Na iedere afgewerkte sequentie wordt het tabelrecord overschreven met de nieuwe informatie. Tenslotte wordt er de wacht- en interventietijd berekend voor iedere record. Bijhorend proces wordt in figuur 4.13 weergegeven en het resultaat van dit voorbeeld in figuur 4.14.
Figuur 4.14
73
4.3.3.2.3 Uitgebreid: Indien er gekozen wordt om een grafiek weer te geven, krijgt de gebruiker eerst de optie om de waarden weer te geven voor: •
Wachttijd
•
Interventietijd
•
Beiden
De waarden kunnen overigens berekend worden volgens hun totaliteit of hun gemiddelde. Zie figuur 4.15.
Figuur 4.15 Eerst telt het programma het aantal verschillende kamers en initialiseert dit resultaat als het aantal sessies die de grafiek zal hebben. Bovendien krijgen de rijlabels de naam van de kamer. In dit voorbeeld heeft de grafiek slechts 1 sessie namelijk kamer 1003. Afhankelijk van de keuze die gemaakt is (zie fig 4.15), zijn er maximaal 2 sessies, daar in dit proces enkel de wacht – en/of interventietijd wordt weergeven. Dit resultaat is het aantal kolommen dat de grafiek zal hebben per sessie. Daar we beide tijden willen weergeven en dit in hun totaliteit, kiezen we voor de derde optie (in fig 4.15) en laten we ‘gemiddelde’ uitgevinkt. De sessies zijn met andere woorden ‘Waiting Time” en “Intervention Time”. Deze worden overigens aangeduid via de legende.
74
Het programma gaat nu per sessie de waarde van de kolommen aanpassen naargelang het resultaat. Zo zal de eerste kolom (Waiting Time) van de eerste sessie een waarde van 5 krijgen, daar de totale wachttijd in kamer 1003 op 15/01/2003 5 minuten bedraagt. Bijhorend proces wordt in figuur 4.13 weergegeven en het resultaat van dit voorbeeld in figuur 4.16.
Figuur 4.16
75
4.3.3.3 Mogelijke voor - en nadelen Zoekactie: Voordelen: •
De mogelijkheid om de gegevens te bekijken in tabelvorm alsook in grafiek.
•
De mogelijkheid om zowel de tabel als de grafiek af te drukken.
•
De vele doorvoerbare manipulaties op de grafiek om het gewenste resultaat te bekomen.
•
Zoeken op kamer, tijd, periode of status met de mogelijkheid te combineren.
•
Talrijke administratieve voordelen.
Nadelen: •
Indien de database een fout bevat, is er geen garantie voor juiste informatie.
•
Geen mogelijkheid om de tabel te vergroten indien er veel gegevens zijn.
•
Zoekopties van de status zijn beperkt tot enkel de oproepen.
•
Slechts 1 kamer in een range weg te filteren.
Grafiek: Voordelen: •
Een grafische voorstelling in grafiekvorm die overigens op verschillende manieren manipuleerbaar is.
•
De mogelijkheid de grafiek af te drukken.
•
De keuzemogelijkheden alvorens de grafiek gegenereerd wordt (wachttijd/interventietijd/combinatie en de optie om het gemiddelde voor te stellen)
•
Verdere voordelen omtrent het analyseren met gebruik van de grafiek.
76
Nadelen: •
De grafiek wordt enkel gegenereerd indien de betreffende overzichtstabel zichtbaar is in het statistieken venster en indien er een (zoek)resultaat voorhanden is.
•
De beperking van de weergave van de grafiek. Het is aangewezen om de periodespecificatie binnen 12 maanden te houden en de tijdsspecificatie binnen 24 uur om de leesbaarheid van de grafiek te garanderen.
•
Seconden worden enkel weergegeven in een kolom indien de kolommen aan weerszijden niet meer dan 1 minuut beslaan. Is dit niet het geval blijft de kolom onveranderd, bedoelende dat er geen kolom weergegeven zal worden.
•
Er moet een voorwaarde ingesteld zijn in het statistiekenvenster vooraleer de rij-optie van toepassing is voor de betreffende voorwaarde. Zo is er bv. enkel de rij-optie kamer voorhanden indien niets is ingegeven als voorwaarde voor de tijd/datum.
•
De labels die aan de y-as worden toegekend, worden niet op een representatieve manier weergegeven. Het kan gaan om minuten, seconden of aantallen.
77
4.3.4 Besluit Gezien het nut van statistieken is het heden ten dage onmisbaar bij belangrijke beslissingen die genomen moeten worden.
Het programma voorziet in de
beschrijvende statistiek, namelijk het verzamelen van de gegevens en ze weergeven in zowel tabel- als grafiekvorm.
De grafiekopties bieden overigens talloze
instellingen om de gewenste weergave te bekomen.
Het biedt ziekenhuizen en
rusthuizen de mogelijkheid om op een snelle manier informatie weer te geven en dit in een duidelijke layout. Bovendien neemt het programma reeds een stap naar de rekenkundige statistiek door wachttijden en interventietijden reeds te berekenen. Er zijn zoals alle producten onlosmakelijk eventuele nadelen aan verbonden zoals die reeds vermeld waren, maar kortom is het ,bij normaal gebruik, een welkome meerwaarde voor zowel de ziekenhuizen, als de patiënten, als voor Legrand’s verplegingsoproepsysteem.
78
Algemeen Besluit
"Het programma beantwoordt aan het gevraagde lastenboek en doet zelfs meer. Tijdens de uitvoering van het eindwerk werden er door Legrand extra wensen geuit. Deze werden bijna allen vervuld, ofschoon ze soms niet vanzelfsprekend waren. Ook vanwege de uitvoerders, Bart en Raphaël, kwamen er regelmatig interessante initiatieven. De software is zeer gemakkelijk te installeren en de human interface zit zeer goed in mekaar."
Jean De Ridder Sales manager National accounts Legrand n.v.
79
Bibliografie
•
Legrand n.v., 1998, Eliocad, handleiding voor installatie en gebruik, Diegem, Legrand n.v.
•
Legrand n.v.,
, Configuration des protocoles de recherche de personnes
Eliocad sur pupitres Legrand 78216 ou 78217 •
Greg Perry, Sanjaya Hettihewa, 1998, Visual Basic 6 in 24 uur, Schoonhoven, Academic service
•
http://www.visualbasicforum.com
•
Microsoft corporation, 2003, http://msdn.microsoft.com/library/default.asp?url=/library/enus/comm98/html/vbobjComm.asp, MSComm Control
•
Indiana University, 1996, http://www.uwsg.indiana.edu/usail/peripherals/serial/rs232/, RS-232: Connectors and Cabling
80
Bijlagen
1. SubD25 en SubD9 connector pinouts
DB-9 pin assignments DB-9
Corresponding DB-25
Pin
Pin
2
3
RD
Received data
3
2
TD
Transmitted data
8
5
CTS
Clear to send
7
4
RTS
Request to send
6
6
DSR
Data set ready
5
7
SG
Signal ground
4
20
DTR
1
8
DCD
Signal
Function
Data terminal ready Data carrier detect
81
DB-25 pin assignments Pin Name
Signal
Pin
Name
Signal
1
FG
Frame ground
14
STD
Secondary TD
2
TD
Transmitted data
15
TC
Transmit clock
3
RD
Received data
16
SRD
Secondary RD
4
RTS
Request to send
17
RC
Receive clock
5
CTS
Clear to send
18
-
Unassigned
6
DSR
Data set ready
19
SRTS Secondary RTS
7
SG
Signal ground
20
DTR
Data terminal ready
8
DCD
Data carrier signal
21
SQ
Signal quality detector
9
-
Positive voltage
22
RI
Ring indicator
10 -
Negative voltage
23
DRS
Data rate selector
11 -
Unassigned
24
SCTE Clock transmit external
25
BUSY Busy
12 SDCD Secondary DCD 13 SCTS Secondary CTS
82
2. Seriële aansluiting op hoofdbedieningsbord SubD25
3. Statussen volgens protocol 3.1 Ascom Ziekenoproep
‘MAL’
Radio oproep
‘RAD’
Verdoving
‘TRA’
Sanitaire oproep
‘SAN’
Biomedische oproep
‘BIO’
Dringende oproep
‘URG’
Dringende oproep verpleegster +
‘UI+’
dokter
3.2 Legrand1 83
Rust
‘Repos’
Ziekenoproep
‘Appel malade’
Biomedische oproep
‘Alarme biomédicale’
Sanitaire oproep
‘Appel sanitaires’
Radio oproep
‘Appel radio’
Verdooft
‘Tranquillisé’
Verpleegster aanwezig
‘Présence infirmière’
Dringende oproep door verpleegster
‘Appel urgent infirmière’
Ziekenoproep andere kamer
‘Appel simple autre chambre’
Dringende oproep andere kamer
‘Appel urgent autre chambre’
Dokter aanwezig
‘Présence médecin’
Verpleegster en dokter aanwezig
‘Présence infirmière + médecin’
Ziekenoproep andere oproep met dokter aanwezig
‘Appel simple autre chambre + présence médecin’
Dringende oproep andere kamer met dokter aanwezig
‘Appel urgent autre chambre + présence médecin’
Dringende oproep door verpleegster en dokter
‘Appel urgent infirmière + médecin’
Dringende oproep door dokter
‘Appel urgent médecin’
Interface OK
‘Déclaration de chambre’
Rood lampje defect
‘Défaut voyant rouge’
Geel lampje defect
‘Défaut voyant jaune’
Rood en geel lampje defect
‘Défaut voyant rouge + jaune’
Groen lampje defect
‘Défaut voyant vert’
Rood en groen lampje defect
‘Defaut voyant rouge + vert’
Geel en groen lampje defect
‘Défaut voyant jaune + vert’
Rood, geel en groen lampje defect
‘Défaut voyant rouge + jaune + vet’
Kamernummer teruggevonden in het
‘Chambre absente’
hoofdbedieningsbord
3.3 Legrand2 Rust
‘01’
Ziekenoproep
‘02’
Biomedische oproep
‘03’
Sanitaire oproep
‘04’
Radio oproep
‘05’
Verdoofd
‘06’
84
Verpleegster aanwezig
‘07’
Dringende oproep door verpleegster
‘08’
Ziekenoproep andere kamer
‘09’
Dringende oproep andere kamer
‘0A’
Dokter aanwezig
‘0B’
Verpleegster en dokter aanwezig
‘0C’
Ziekenoproep andere oproep met dokter
‘0D’
aanwezig Dringende oproep andere kamer met dokter
‘0E’
aanwezig Dringende oproep door verpleegster en
‘0F’
dokter Dringende oproep door dokter
‘10’
Interface OK
‘20’
Rood lampje defect
‘21’
Geel lampje defect
‘22’
Rood en geel lampje defect
‘23’
Groen lampje defect
‘24’
Rood en groen lampje defect
‘25’
Geel en groen lampje defect
‘26’
Rood, geel en groen lampje defect
‘27’
Kamernummer teruggevonden in het
‘28’
hoofdbedieningsbord
4. MSComm Control The MSComm control provides serial communications for your application by allowing the transmission and reception of data through a serial port. The MSComm control provides the following two ways for handling communications: Event-driven communications is a very powerful method for handling serial port interactions. In many situations you want to be notified the moment an event takes place, such as when a character arrives or a change occurs in the Carrier Detect (CD) or Request To Send (RTS) lines. In such cases, use the MSComm control's OnComm 85
event to trap and handle these communications events. The OnComm event also detects and handles communications errors. For a list of all possible events and communications errors, see the CommEvent property. You can also poll for events and errors by checking the value of the CommEvent property after each critical function of your program. This may be preferable if your application is small and self-contained. For example, if you are writing a simple phone dialer, it may not make sense to generate an event after receiving every character, because the only characters you plan to receive are the OK response from the modem. Each MSComm control you use corresponds to one serial port. If you need to access more than one serial port in your application, you must use more than one MSComm control. The port address and interrupt address can be changed from the Windows Control Panel. Although the MSComm control has many important properties, there are a few that you should be familiar with first. Properties
Description
CommPort
Sets and returns the communications port number.
Settings
Sets and returns the baud rate, parity, data bits, and stop bits as a string.
PortOpen
Sets and returns the state of a communications port. Also opens and closes a port.
Input
Returns and removes characters from the receive buffer.
Output
Writes a string of characters to the transmit buffer.
86
5. Voorbeeld van enkele taalbestanden: (De vertaalde term staat steeds tussen [ ] )
5.1 LanguageFR.ini [Fichier] Fichier [Configuration] Configuration [Vue] Vue [Aide] Aide [A propos] A propos [Quitter] Quitter [Porte] Porte [Configuration d'étage] Configuration d'étage [Configuration de chambre] Configuration de chambre [Patients] Patients [Histoire] Histoire [Rapport d'erreurs] Rapport d'erreurs [Statistiques] Statistiques [Nom d'étage] Nom d'étage [Direction] Direction [Image] Image [n°chambre] n°chambre [Noms] Noms [Etage] Etage [Date] Date [Heure]
87
Heure [Service] Service [Chambre] Chambre [Etat] Etat [Noms] Noms [Etes-vous sure d'arrêter le monitoring?] Etes-vous sure d'arrêter le monitoring? [Nombre de directions maximum dépassées] Nombre de directions maximum dépassées [Cette action effacera la configuration de chambre continuer ?] Cette action effacera la configuration de chambre continuer ? [Voulez-vous effacer l'étage ?] Voulez-vous effacer l'étage ? [Veuillez remplir tous les champs] Veuillez remplir tous les champs [Direction dupliciée détectée; n'est pas autorisé] Direction dupliciée détectée; n'est pas autorisé [Numero doit comporter 4 caractères] Numero doit comporter 4 caractères [La direction 0000 ne peut pas être utilisée] La direction 0000 ne peut pas être utilisée [Porte innaccessible] Porte innaccessible [Erreur durant la sauvegarde] Erreur durant la sauvegarde [Erreur durant le chargement] Erreur durant le chargement [Pas d'image valable] Pas d'image valable [Erreur d'écriture vers la base de données] Erreur d'écriture vers la base de données [Problème possible sur le pupitre au niveau de la direction:] Problème possible sur le pupitre au niveau de la direction: [Problème possible avec la direction:] Problème possible avec la direction: [Appels urgents:] Appels urgents: [Appels simples:] Appels simples: [Pas de signal] Pas de signal [Pas d'erreurs] Pas d'erreurs [Erreur(s) trouvée(s)] Erreur(s) trouvée(s)
88
[Test d'état] Test d'état [De] De [à] à [Non] Non [Période] Période [Options] Options [Change axes] Change axes [Données de rangée] Données de rangée [Erreur pendant la lecture de la base de donnée] Erreur pendant la lecture de la base de donnée [Recherche...] Recherche... [Prête] Prête [ID] ID [Type d'appel] Type d'appel [Personnel présent] Personnel présent [Date d'appel] Date d'appel [Date de présence] Date de présence [Moment d'appel] Moment d'appel [Moment de présence] Moment de présence [Temps d'attente] Temps d'attente [Valeur doit être numérique] Valeur doit être numérique [Erreur produite] Erreur produite [Temps d'intervention] Temps d'intervention [Repos] Repos [Appel malade] Appel malade [Alarme biomédicale]
89
Alarme biomédicale [Appel sanitaires] Appel sanitaires [Appel radio] Appel radio [Tranquillisé] Tranquillisé [Présence infirmière] Présence infirmière [Appel urgent infirmière] Appel urgent infirmière [Appel simple autre chambre] Appel simple autre chambre [Appel urgent autre chambre] Appel urgent autre chambre [Présence médecin] Présence médecin [Présence infirmière + médecin] Présence infirmière + médecin [Appel simple autre chambre + présence médecin] Appel simple autre chambre + présence médecin [Appel urgent autre chambre + présence médecin] Appel urgent autre chambre + présence médecin [Appel urgent infirmière + médecin] Appel urgent infirmière + médecin [Appel urgent médecin] Appel urgent médecin [Interface OK] Interface OK [Défaut voyant rouge] Défaut voyant rouge [Défaut voyant jaune] Défaut voyant jaune [Défaut voyant rouge + jaune] Défaut voyant rouge + jaune [Défaut voyant vert] Défaut voyant vert [Défaut voyant rouge + vert] Défaut voyant rouge + vert [Défaut voyant jaune + vert] Défaut voyant jaune + vert [Défaut voyant rouge + jaune + vert] Défaut voyant rouge + jaune + vert [Interface trouvé dans le pupitre] Interface trouvé dans le pupitre [Démarrage du programme] Démarrage du programme [Date de repos] Date de repos
90
[Moment de repos] Moment de repos [Moyen] Moyen
91
5.2 LanguageES.ini [Fichier] Fichero [Configuration] Configuración [Vue] Vista [Aide] Ayuda [A propos] A propósito [Quitter] Abandonar [Porte] Puerta [Configuration d'étage] Configuración de piso [Configuration de chambre] Configuración de habitación [Patients] Pacientes [Histoire] Historial [Rapport d'erreurs] Reporte de errores [Statistiques] Estadísticas [Nom d'étage] Nombre de la planta [Direction] Dirección [Image] Imagen [n°chambre] número habitación [Noms] Apellidos [Etage] Piso [Date] Fecha [Heure] Hora [Service] Servicio [Chambre] Habitación
92
[Etat] Estado [Noms] Apellidos [Etes-vous sure d'arrêter le monitoring?] ¿Está usted seguro de querer parar el control? [Nombre de directions maximum dépassées] Número de direcciones máximas superado [Cette action effacera la configuration de chambre continuer ?] Está acción borrará la configuración de la habitación, ¿continuar? [Voulez-vous effacer l'étage ?] ¿Desea usted borrar el piso ? [Veuillez remplir tous les champs] Por favor, rellene todos los apartados [Direction dupliciée détectée; n'est pas autorisé] Detectada dirección duplicada, no está autorizado [Numero doit comporter 4 caractères] El número debe llevar 4 caracteres [La direction 0000 ne peut pas être utilisée] La dirección 0000 no puede ser utilizada [Porte innaccessible] Puerta inaccesible [Erreur durant la sauvegarde] Error al guardar [Erreur durant le chargement] Error en la carga [Pas d'image valable] Ninguna imagen válida [Erreur d'écriture vers la base de données] Error de escritura hacia la base de datos [Problème possible sur le pupitre au niveau de la direction:] Posible problema en el pupitre al nivel de la dirección [Problème possible avec la direction:] Posible problema con la direction [Appels urgents:] Llamadas urgentes [Appels simples:] Llamadas simples [Pas de signal] No hay señal [Pas d'erreurs] No hay errores [Erreur(s) trouvée(s)] Error(es) detectado(s) [Test d'état] Test de estado [De] De [à]
93
a [Non] No [Période] Periodo [Options] Opciones [Change axes] Cambio ejes [Données de rangée] Rango de datos [Erreur pendant la lecture de la base de donnée] Error al leer la base de datos [Recherche...] Búsqueda.... [Prête] Lista [ID] ID [Type d'appel] Tipo de llamada [Personnel présent] Personal presente [Date d'appel] Fecha de llamada [Date de présence] Fecha de presencia [Moment d'appel] Momento de llamada [Moment de présence] Momento de presencia [Temps d'intervention] Tiempo de intervención [Valeur doit être numérique] el valor debe ser numérico [Erreur produite] Error producido [Time present] Tiempo del presencia [Repos] Reposo [Appel malade] Llamada enfermo [Alarme biomédicale] Alarma biomédica [Appel sanitaires] Llamada sanitarios [Appel radio] Llamada radio
94
[Tranquillisé] Tranquilizado [Présence infirmière] Presencia enfermera [Appel urgent infirmière] Llamada urgente enfermera [Appel simple autre chambre] Llamada simple a/de otra habitación [Appel urgent autre chambre] Llamada urgente a/de otra habitación [Présence médecin] Presencia médico [Présence infirmière + médecin] Presencia enfermera + médico [Appel simple autre chambre + présence médecin] Llamada simple otra habitación + presencia médico [Appel urgent autre chambre + présence médecin] Llamada urgente otra habitación + presencia médico [Appel urgent infirmière + médecin] Llamada urgente enfermera + médico [Appel urgent médecin] Llamada urgente médico [Interface OK] Interface OK [Défaut voyant rouge] Fallo piloto rojo [Défaut voyant jaune] Fallo piloto amarillo [Défaut voyant rouge + jaune] Fallo piloto rojo + amarillo [Défaut voyant vert] Fallo piloto verde [Défaut voyant rouge + vert] Fallo piloto rojo + verde [Défaut voyant jaune + vert] Fallo piloto amarillo + verde [Défaut voyant rouge + jaune + vert] Fallo piloto rojo + amarillo + verde [Interface trouvé dans le pupitre] Interface encontrado en el pupitre [Démarrage du programme] Arranque del programa [Date de repos] Fecha de reposo [Moment de repos] Momento de reposo [Average] Moyen
95
6. Statistiek: 6.1 Weergavevormen
96
6.2 Aswissel
Origineel
Na aswissel
97
6.3 Rij opties Rij-optie Kamer(standaard)
Rij-optie Periode
98