• No results found

Auteur: P.M. Bloemendaal S. Eggermont

N/A
N/A
Protected

Academic year: 2022

Share " Auteur: P.M. Bloemendaal S. Eggermont "

Copied!
124
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Datum: 6 maart 2003 Plaats: Leiden

Auteur: P.M. Bloemendaal S. Eggermont

P.E. Schenck

H H eelkunde eelkunde

onderwijs onderwijs

L U M C

Leids Universitair Medisch Centrum

(2)

Inhoudsopgave

Inhoudsopgave ...2

Inleiding ...4

Doelstelling DPS ...5

Implementatie...5

Ontwikkeling ...5

DPS casus ...6

Reeds ontwikkelde casus ...6

Structuur DPS ...8

Begrippen...8

Variabelen in de geneeskunde ...8

Parameter ...9

Symptoom ...10

Discrete ...10

Parameter keuze ...10

Operation...12

Effect...12

Groups...13

Locations...15

Blobs ...16

Process...16

DPS Editor...18

Snelkoppeling naar DPS Editor...18

Edit ...18

Case only...18

Rules ...19

Synonyms...20

Initialisatie...22

Blobs ...23

Location ...24

Chart ...25

Symptomenformulier ...25

Symptoom toevoegen...26

Symptoom wijzigen ...28

Discrete waarden...28

(3)

Research...31

Therapy...34

Effecten ...36

Debugmode ...39

DPS casus bestanden ...42

Database...42

Documentatie database ...43

Initialisatiebestand...56

Pretext ...56

Init ...57

Algemeen ...59

Posttext...61

Rulebestand ...62

Opbouw van een rule ...62

Test...62

Expressie ...63

Actions ...65

Evaluation ...69

Opmaak codes in de text velden ...70

Save as HTML...72

Cascading Stylesheet ...74

Studentprogramma...75

Interface-bestanden ...75

Cascading stylesheets...79

Tekstherkenning ...81

Dynamische Help ...81

Help niveau’s ...82

Help aanbieden aan de student...83

Labuitslagen overzicht...85

Annotaties ...85

Opzetten van een nieuwe casus ...87

Ziektebeeld...87

Informatie...87

Selectie...87

Schema...87

Programmeren ...89

Standaard patiënt kopieren...89

Initialisatie...89

(4)

Symptomen ...90

Parameters...90

Operaties ...90

Synoniemen...91

Rules ...91

Casus publiceren ...92

Locaal ...92

Commandline Parameters ...92

SQL server...95

Connectionstring ...95

Windows Based Terminal ...96

Probleem: Nabespreking alternatieven...97

Probleem: Behandel aanwijzingen geven aan student ...98

Probleem: Genezing van de patiënt...101

Probleem: Voortijdig beëindigen van de simulatie...103

Probleem: Koppeling samenhangende parameters ...104

Probleem: Introduceren ziekte ...105

Probleem: Verschillende rontgenopnamen afhankelijk van ziekteproces ...107

Probleem: Variabele antwoorden...109

Probleem: Consult specialist...110

Probleem: Consult specialist...111

Probleem: Dynamische score ...114

Probleem: Keuzemogelijkheden aanbieden ...116

Probleem: Operaties dubbel selecteren ...118

Index ...120

(5)

Deze handleiding Dynamische Patiënt Simulator (DPS) hoort bij de gelijknamige cursus, maar kan ook los hiervan gebruikt worden om zelfstandig om te leren gaan met de DPS Editor. Verder is hiervoor de volgende voorkennis noodzakelijk:

- Bekendheid met en enige ervaring in het gebruik van:

- Windows 98 en internet explorer,

- HTML (Java/VB script ervaring aanbevolen).

- Enige programmeer ervaring en medisch inzicht.

De handleiding beschrijft de opzet van DPS, de werking van de auteurschil en de mogelijke aanpak bij het maken van een nieuwe casus in het programma. Ter illustratie zijn veel praktijkvoorbeelden opgenomen van mogelijke oplossingen van problemen, hierbij is niet getracht de enige, of de beste oplossing aan te dragen, maar slechts een voorbeeld.

(6)

Wat is de Dynamische Patiënt Simulator

De dynamische patiënt simulator (DPS) is een computer simulatie programma waarmee, in diverse klinische settings, patiënten nagebootst kunnen worden. Het programma probeert zo dicht mogelijk bij de werkelijkheid te komen door het verloop van de klachten van een patiënt in de tijd te simuleren. Studenten kunnen het beloop van een casus beïnvloeden door een therapie in te stellen. Vervolgens is het voor de student mogelijk de patiënt in de loop van de tijd te vervolgen om zo de effecten van de ingestelde therapie te kunnen beoordelen of eventuele complicaties te kunnen behandelen.

Doelstelling DPS

De DPS heeft tot doel de student beslismomenten aan te bieden. Hiermee kan al in de eerste jaren van de opleiding Geneeskunde worden begonnen. Daarnaast kan de DPS ook ingezet worden in de latere jaren van de opleiding, waarin van de student een abrupte overgang van de pre-kliniek naar de kliniek wordt verwacht. Tot slot zal de DPS wellicht ook ingezet worden bij het artsexamen, aangezien de handelingen van studenten ook geëvalueerd worden door het computer programma en resulteren in een cijfer.

De DPS leent zich zowel voor acute geneeskunde casus, waarbij de snelheid van handelen op de voorgrond staat, als ook voor langer durende casus (jaren) waarbij de tijd door de student vooruit gespoeld kan worden.

Implementatie

De DPS bestaat uit 3 onderdelen:

- de source, waarin de werking van het programma is vastgelegd.

- een auteurprogramma, waarmee een casus door docenten kan worden aangemaakt of gewijzigd.

- een studentprogramma, waarmee een casus kan worden afgespeeld.

Deze handleiding is gemaakt voor het auteurprogramma.

Ontwikkeling

De DPS is ontwikkeld in Microsoft Visual Basic® en maakt gebruik van een Microsoft Access® database.

Minimale eisen:

- Pentium 120 Mhz - 16 Mb intern geheugen - Video: 800x600 65K kleuren - Per casus ±10Mb geheugen opslag

(7)

DPS casus

De DPS bevat een standaard patiënt die volledig gezond is en geen afwijkingen vertoont.

Hieraan kan een volledige anamnese afgenomen worden, kunnen alle vormen van lichamelijk- en aanvullend onderzoek worden verricht en alle operaties op uitgevoerd worden. Alle uitkomsten hiervan zijn gelijk aan die bij een gezond persoon. Deze standaardpatiënt is de basis voor alle casus.

Een casus bestaat uit de standaard patiënt waarin de kenmerkende symptomen voor een ziektebeeld veranderd zijn en eventueel extra pathologische symptomen zijn toegevoegd.

Speciale operaties bij een bepaald ziektebeeld worden ook toegevoegd.

De symptomen die niet door het ziektebeeld beïnvloed worden blijven hetzelfde als bij de standaardpatiënt.

Reeds ontwikkelde casus

Heelkunde:

- Mogelijk geruptureerd aneurysma - Man met acute pancreatitis

- Punaise ingeslikt - Fissura ani

- Acute arteriële afsluiting a. femoralis - Scaphoïd fractuur

- Opvang multitrauma patiënt

- Follow-up claudicatio intermittens patiënt.

- Appendicitis acuta - Amaurosis fugax - Ileus (postoperatief) - Acute cholecystitis Verloskunde:

- Inleiding partus - Fluxus post partum - HELLP syndroom Huisartsgeneeskunde

- Ontwikkelende pneumonie Interne geneeskunde

- Diabetes mellitus - Maagzweer Urologie

- Torsio testis - Prostaat carcinoom - Urineverlies

(8)

Eerste hulp

- Elektrische schok - Epileptisch insult - Verdrinking - Ingeklapte long - Verslikking - Auto ongeluk - Brommer ongeluk

(9)

Structuur DPS

Begrippen

De DPS is opgebouwd rond een aantal begrippen. Om met het programma om te kunnen gaan is een goede bekendheid met deze begrippen noodzakelijk. De begrippen komen namelijk op verschillende plekken in het programma weer terug. Zo kunt u de begrippen terugvinden in het entiteit-relatie schema of wel de Database, de Menu's van het programma, de Rules en de Initialisatie file.

De begrippen zijn:

Parameter: een Parameter is een continue variabele binnen het menselijk lichaam.

Symptom: een Symptom is de naam van een discrete variabele in het menselijk lichaam.

Discrete: een Discrete is de concrete uitslag van een Symptom.

Operation: een Operation is een therapie die een Effect kan hebben of geen Effect.

Effect: een Effect is een verandering van de parameterwaarde in de loop van de tijd, veroorzaakt door een Operation.

In het onderstaande schema is het globale verband tussen de begrippen weergegeven. De groene vakken geven aan wat door de student ingevoerd en opgevraagd of ingevoerd kan worden (Operation, Continue waarde, Discrete waarde), de rode vakken geven programma eigenschappen weer die niet direct opvraagbaar zijn (Initialisatie, Effect, Parameters,

Symptomen). Alvorens in te gaan op de begrippen wordt uitgelegd hoe deze uit de medische praktijk zijn afgeleid.

Variabelen in de geneeskunde

In de geneeskunde kennen we eigenlijk drie soorten variabelen, te weten continue variabelen, discrete en dichotome variabelen.

Een voorbeeld van een continue variabele is de bepaling van het Hemoglobine gehalte in het bloed. Deze laboratoriumuitslag zal een waarde te zien geven tussen de 7,5 en 10 mmol/l. Het Hb-gehalte kan alle waarden aannemen tussen deze minimale en maximale waarde van 7,5 en 10, d.w.z. alle natuurlijke getallen tussen de 7,5 en 10. Dit soort variabelen noemen we continue omdat de uitkomst een getal is uit een continue reeks getallen.

Initialisatie

Parameters Continue waarde

Discrete waarde

Operation Effect

Symptomen

(10)

Discrete variabelen echter kunnen niet alle waarden tussen minimale en maximale waarde aannemen, maar slechts een beperkt aantal. Een voorbeeld van een discrete variabele in de geneeskunde is de bloedgroep bepaling. Hierbij zijn slechts een beperkt aantal discrete waarden mogelijk.

Speciaal zijn de dichotome variabelen waarbij alleen de waarden "waar" en "onwaar"

mogelijk zijn. Dit is dus een soort booleaanse variabele Een voorbeeld van een dichotome variabele in de geneeskunde is een zwangerschapstest. Een zwangerschapstest kan alleen positief of negatief uitvallen, tussenwaarden zijn daarbij niet mogelijk. In de DPS worden dichotome variabelen opgeslagen als discrete variabelen, we zullen het begrip dichotome variabele dus niet verder behandelen.

Om variabelen tot uitdrukking te laten komen gebruiken we de begrippen Parameters, Symptoms en Discrete. Voor continue variabelen wordt het begrip Parameters gebruikt terwijl voor discrete variabelen de begrippen Symptoms en Discrete worden gebruikt.

Parameter

Binnen DPS is een Parameter de voorstelling van een veranderlijke grootheid in het

menselijk lichaam. De DPS maakt onderscheid tussen meetbare en niet-meetbare Parameters.

Dit onderscheid is zeer belangrijk en vormt de basis voor een goed geprogrammeerde casus.

Meetbare Parameters zijn de continue variabelen die te meten zijn in het menselijk lichaam.

Voorbeelden hiervan zijn bloedbepalingen, plasmaserum bepalingen, urinebepalingen en liquorbepalingen. Al deze bepalingen leiden in een bepaalde tijd tot een uitslag, meestal een getal. Voorbeelden anders dan laboratoriumuitslagen zijn resultaten van directe metingen aan het menselijk lichaam, bijvoorbeeld het gewicht, de lengte, de temperatuur en de bloeddruk.

Niet meetbare Parameters worden gebruikt om Symptomen tot uitdrukking te laten komen. In de meeste casus zullen over het algemeen niet-meetbare Parameters worden gebruikt om de ziekte tot uitdrukking te laten komen, gecombineerd met bijbehorende Symptomen en discrete waarden.

Een voorbeeld van het gebruik van een niet-meetbare Parameter in een casus is de pompfunctie van het hart. Hoewel de pompfunctie van het hart objectief vastgesteld kan worden in liters per minuut, is dit binnen een DPS casus niet van belang. Wel kunnen we hieraan symptomen verbinden. Indien we de normale pompfunctie van het hart stellen op een waarde tussen de 0 en 20 (zonder eenheid), kunnen we aan de Parameter de volgende

Symptomen verbinden; kortademigheid, oedeem, nocturie, orthopneu, percussie thorax en flauwvallen. Let wel, we hebben gesteld dat de pompfunctie van het hart tussen de 0 en 20 normale Symptomen zou moeten opleveren. Voor het antwoord op de vraag of de patiënt kortademig is kunnen nu verschillende antwoorden in de DPS geprogrammeerd worden. Als de waarde van de Parameter zich bevindt tussen de 0 en 9 kan de patiënt antwoorden met: "Ik heb geen last van kortademigheid, ook niet bij traplopen of zware inspanning". Bij waarden tussen de 9 en 20 kan de patiënt antwoorden: "alleen tijdens zware inspanning". Wanneer een casus wordt opgestart in de DPS, worden alle parameterwaarden geïnitialiseerd tussen de minimale en maximale waarden van de normale range. In het geval van de pompfunctie van het hart wordt de exacte waarde van de Parameter tijdens de initialisatie van de casus random

(11)

gecreëerd tussen de 0 en 20. Bij een initialisatie tussen de 0 en 9 zal de patiënt dus het eerste antwoord geven. Wanneer de waarde ligt tussen 9 en 20 dan zal de patiënt het tweede antwoord geven. Dit maakt het mogelijk om de patiënt bij het opnieuw starten van een casus steeds andere, normale, antwoorden te laten geven. Het is dan ook een goed gebruik om alle niet-meetbare Parameters te laten variëren tussen de 0 en 20 als het gaat om normale waarden die passen bij normale Symptomen.

Symptoom

Symptomen zijn de namen van de discrete variabelen binnen het menselijk lichaam.

Symptomen moeten altijd verbonden zijn met een meetbare of niet meetbare Parameter (meestal met een niet meetbare Parameter). Alle vragen die je zou kunnen stellen tijdens de anamnese en al het lichamelijk onderzoek dat je zou kunnen doen zijn voorbeelden van Symptomen. De uitslagen hiervan, ofwel de resultaten van de Symptomen, zijn de discrete waarden die een bepaald symptoom kan aannemen.

Voorbeeld van een symptoom is de kleur van de benen. De discrete waarden zijn wit, rood, blauw en roze. Om een dergelijk symptoom tot uitdrukking te laten komen moet dit

symptoom verbonden zijn met een in dit geval niet meetbare Parameter doorbloeding van het been.

Ook de volledige radiodiagnostiek behoort tot de categorie Symptomen In een standaard patiënt zou elk radiodiagnostisch onderzoek verbonden zijn met de Parameter radiologische foto's en waarschijnlijk maar één discrete waarde hebben, te weten een verslag van de foto met eventueel één of meerdere plaatjes erbij.

Discrete

Een discrete is het resultaat van de verbinding tussen een Parameter en een symptoom en geeft de uitslag van een symptoom op een bepaald tijdstip. Binnen bepaalde grenzen van een Parameter geeft een symptoom slechts één discrete waarde. Deze discrete waarde wordt in de DPS uitgedrukt in een tekst, eventueel kan deze tekst nog voorzien zijn van één of meerdere blobs (afbeelding, geluid e.d. Behalve een tekstveld is er ook plaats voor een waarschuwing.

Deze waarschuwingen komen vooral tot uitdrukking als de student de tijd doorspoelt in een casus. Tijdens het doorspoelen van een casus berekent de DPS of de waarde van een

Parameter de minimale of maximale waarde overschrijdt waaraan een discrete waarde van een symptoom is gekoppeld. Als dit het geval is en er is sprake van een waarschuwing bij dit discrete resultaat, stopt het doorspoelen van de tijd en wordt de waarschuwing op het scherm getoond. Of een waarschuwing ook daadwerkelijk op het scherm verschijnt hangt verder nog af van de locatie van de patiënt.

Parameter keuze

Een goede keuze van de Parameters, zowel meetbaar als niet meetbaar, is van belang voor een goede programmering van een casus in de DPS. Hierbij ontstaat al snel een enigszins vage grens tussen meetbare en nier meetbare Parameters. Om een en ander te verduidelijken volgen hier enkele voorbeelden.

Stel, we willen weten of iemand wel of niet zwanger is. Feitelijk gaat het dan om een laboratoriummeting. Eerder hebben we gezien dat alle laboratoriummetingen zijn onderge-

(12)

bracht in de meetbare Parameters Toch is het niet handig om een zwangerschapstest daar onder te brengen omdat een zwangerschapstest niet resulteert in een getal maar in een positieve of negatieve uitslag. Daarom lijkt het verstandiger om een nieuwe niet meetbare Parameter aan te maken met de naam: ‘Mate van zwangerschap’. Omdat het wel of niet zwanger zijn tot de normaalwaarde behoort stel ik voor de minimale waarde op 0 te zetten en de maximale waarde op 20, zodat we in de DPS de normale range 0-20 handhaven. Nu kunnen we een nieuw symptoom aanmaken met bijvoorbeeld de naam ‘Zwanger’, als de student dan de tekst intikt: "Bent u zwanger?" zal dit symptoom altijd herkend worden. Dit symptoom ‘Zwanger’ is verbonden met de Parameter ‘Mate van zwangerschap' en heeft twee discrete variabelen. De eerste discrete variabele reikt vanaf de waarde 0 t/m 10 en luidt negatief, de tweede discrete variabele reikt vanaf de waarde 10 t/m 20 en luidt natuurlijk positief. Zodra de student nu een nieuwe casus opstart en vraagt of de patiënt zwanger is heeft hij 50% kans dat de patiënt positief antwoordt. Presenteert u echter in de casus een man, dan lijkt het handig om één discrete variabele te programmeren, of de Parameter waarde te beperken tot 10, dus laten genereren tussen de 0 en 10.

Een ander voorbeeld waarbij het niet direct duidelijk is of er gekozen moet worden voor een wel of niet meetbare Parameter, is het meten van de omtrek van het hoofd in uteri. Natuurlijk is het mogelijk om dit als een meetbare Parameter op te nemen, maar vaak wil de student, behalve de omtrek van het hoofd, ook de kop-stuit lengte meten. Aangezien beide Parameters aan elkaar gerelateerd zijn, wordt het al snel lastig deze Parameters goed in de casus te programmeren. Daarom is het makkelijker bijvoorbeeld een Parameter ‘Mate van groei’ in een casus op te nemen als niet meetbare Parameter. Deze Parameter kunnen we dan

verbinden aan de Symptomen hoofdomtrek en kop-stuit lengte. Voor elk van deze

Symptomen zijn dan meerdere discrete waarden te programmeren, direct gekoppeld aan de Parameter ‘Mate van groei’. Als we nu met een bepaalde therapie de mate van groei

beïnvloeden hoeven we niet bang te zijn dat de Symptomen: hoofdomtrek en kop-stuit lengte dissonant worden.

Een laatste voorbeeld van een Parameter is een pathologische Parameter. Ook hier gaat het weer om een niet meetbare Parameter. In dit voorbeeld maken we een Parameter om een patiënt met de klacht claudicatio intermittens te simuleren. Stel dat bij deze patiënt de

claudicatie klachten veroorzaakt worden door een stenose in de arteria iliaca communis links, dan kunnen we een Parameter ‘Flow arteria iliaca communis links’ in de DPS programmeren.

Deze flow is gekoppeld aan verschillende Symptomen, bijvoorbeeld de enkel/arm index, erectieklachten, loopafstand, pijn in been/bil, palpatie vaten benen, sensibiliteit perifeer, auscultatie vaten/benen, Doppler arterie linker been, capillair refill, kleur been.

We stellen dat de niet meetbare Parameter ‘Flow arteria iliaca communis links’ waarden buiten de normaalrange kan aannemen, tussen 0 en 100; 0 wil zeggen geen flow en 100 wil zeggen optimale flow. Wanneer we het symptoom enkel/arm index verbinden aan deze Parameter, kunnen we een zeer groot aantal discrete variabelen verzinnen. Bij een flow van 90-100 is de enkel/arm index bijvoorbeeld 0,9; tussen de 80 en 90: 0,75; tussen de 70 en 80:

0,5; tussen de 60 en 70: 0,45: tussen de 50 en 60: 0,4; tussen de 40 en 50: 0,35; tussen de 30 en 40: 0,3; tussen de 20 en 30: 0,2; tussen de 10 en 20: 0,2 en tussen de 0 en 10: 0,1. Zo kan ook het symptoom 'loopafstand', als het verbonden is met deze Parameter, onderverdeeld

(13)

worden in verschillende discrete waarden. Bij erectieklachten kunnen verschillende teksten opgenomen worden, bijvoorbeeld van 80 tot 100: “ik heb geen erectieklachten” en van 40 tot 80 zegt de patiënt: “ik heb vaak last van impotentie en ervaar dat als een groot probleem”. Bij waarden van 0 tot 40 zegt de patiënt dat hij nagenoeg impotent is. Zo kunnen ook de andere Symptomen van discrete resultaten voorzien worden.

Operation

Uiteindelijk willen we in de DPS de toestand van de patiënt kunnen veranderen. De toestand van de patiënt is vastgelegd in de Parameters We kunnen ingrijpen op deze Parameters door middel van een Operation Operations is een verzamelnaam voor alle soorten therapie die we de patiënt kunnen geven. Zo kunnen we medicijnen voorschrijven of opereren. Beiden zijn voorbeelden van een Operation. Een Operation kan verbonden worden met Parameters.

Als een Operation niet verbonden is met een Parameter betekent dit dat de Operation geen enkel Effect heeft in de casus, bij het selecteren van een dergelijke Operation zal geen enkele Parameters van waarde veranderen. Veel Operations in de standaard patiënt zijn van dit type, dat wil zeggen niet verbonden met Parameters. Zo is er bijvoorbeeld een volledige set van chirurgische ingrepen zonder Effect. Al deze ingrepen hebben een dermate slechte score, de student krijgt een dusdanige slechte score wanneer hij een dergelijke chirurgische ingreep selecteert, dat de uitvoering van deze ingreep nooit door het systeem zal worden toegelaten.

Deze ingrepen zijn het spreekwoordelijke bos waaruit de student de bomen moet zoeken.

Uiteraard kunnen een aantal ingrepen wel door de student geselecteerd worden, dit zijn de juiste of bijna juiste ingrepen. Deze zijn verbonden een Parameter en zullen de waarde van die Parameter in de loop van de tijd veranderen. Deze verandering in de loop van de tijd door middel van een Operation wordt in de DPS Effect genoemd.

Effect

Een Effect is een verandering van de Parameterwaarde in de loop van de tijd, veroorzaakt door een Operation.

De DPS kent twee soorten Effecten, absolute Effecten en relatieve Effecten.

Absolute Effecten doen alle eerdere Effecten op een bepaalde Parameter teniet, alle

veranderingen van een Parameter in de tijd worden overschreven door een nieuwe absolute waarde.

Relatieve Effecten worden opgeteld bij reeds bestaande Effecten op een Parameter. Indien een relatief Effect een negatieve invloed heeft op een Parameter wordt dat Effect afgetrokken van de reeds bestaande Effecten op een Parameter.

Veel chirurgische ingrepen hebben absolute Effecten op Parameters. Als bijvoorbeeld de doorbloeding van een been slecht is en de student kiest ervoor om het been te amputeren, dan zal dat een absoluut Effect hebben van nul op de doorbloeding van dit been.

Relatieve Effecten daarentegen komen voor bij het toedienen van medicijnen. Een ACE- remmer heeft bijvoorbeeld een negatief Effect op de bloeddruk van – 30 mmHg. Dit Effect is relatief. Is de bloeddruk 150 mmHg dan wordt deze gedurende een bepaalde tijd 120 mmHg, was de bloeddruk echter 140 mmHg dan wordt deze 110 mmHg. Er is dus een relatief Effect van -30 mmHg van dit bepaalde medicijn op de Parameter ‘Bloeddruk’.

(14)

Alle Effecten zijn gedefinieerd in een Effecttabel en worden uitgedrukt in een grafiek met op de x-as de tijd in minuten en op de y-as de waarde die een Parameter al dan niet absoluut moet aannemen op een bepaald tijdstip.

Groups

Parameters, Symptoms en Operations zijn in de DPS Editor onderverdeeld in groepen.

Deze onderverdeling wordt niet gebruikt in het afspeel gedeelte van de DPS, maar is alleen bedoeld als hulpmiddel voor de auteur in de Editor. Dit betekent dat elke Parameter,

Symptom of Operation in de Editor gekoppeld moeten worden aan een bepaalde groep. Deze verschillende groepen kunnen niet in de Editor worden veranderd, slechts met het database programma Access is het mogelijk om groepen te veranderen, te verwijderen of toe te voegen. Aangezien er honderden Parameters, Symptoms en Operations in de DPS ingevoerd kunnen worden, is het handig vooraf de verschillende groepen te bestuderen.

Hier volgt een volledig overzicht van alle bestaande groepen.

Groups Parameters

Pathologische Parameters Directe metingen

Algemeen Gynaecologie Psychosociaal Zintuigen Neurologie KNO

Dermatologie Immunologie

Infectieziekten/parasitologie Stofwisselingsziekten Haematologie

Bewegingsapparaat Endocrinologie Tractus urogenitalis Tractus respiratorius Tractus digestivus Tractus circulatorius Laboratorium bloed Laboratorium liquor

Laboratorium plasma / serum Laboratorium urine

Symptoms

Pathologische Symptoms Anamnese algemeen

Anamnese perifeer zenuwstelsel Anamnese voorgeschiedenis

(15)

Anamnese medicatie

Anamnese centraal zenuwstelsel Anamnese respiratorius

Anamnese erfelijk/familiair/sociaal Anamnese bewegingsapparaat Anamnese vasculair

Anamnese Tractus urogenitalis Anamnese cardiaal

Anamnese huid/hoofd/hals Anamnese gastro-intestinaal Lichamelijk onderzoek thorax Lichamelijk onderzoek algemeen Lichamelijk onderzoek huid Lichamelijk onderzoek hoofd/hals

Lichamelijk onderzoek vaatstelsel arterieel Lichamelijk onderzoek rug

Lichamelijk onderzoek abdomen onderbuik

Lichamelijk onderzoek abdomen inwendige genitali Lichamelijk onderzoek vaatstelsel veneus

Lichamelijk onderzoek bewegingsapparaat Lichamelijk onderzoek neurologisch centraal Lichamelijk onderzoek neurologisch perifeer

Lichamelijk onderzoek abdomen uitwendige genital Lichamelijk onderzoek abdomen bovenbuik

Radiodiagnostiek Conventioneel Radiodiagnostiek CT

Radiodiagnostiek Isotopen Radiodiagnostiek MRI Radiodiagnostiek Contrast Radiodiagnostiek Angiografie Radiodiagnostiek Echo

Aanvullend onderzoek (algemeen) Operations

Pathologische Operations Consulten

Medicatie antibiotica

Medicatie tractus urogenitalis Medicatie tractus respiratorius Medicatie tractus digestivus Medicatie tractus circulatorius Medicatie hormonaal-stofwisseling Medicatie bloed

Medicatie analgetica Medicatie zenuwstelsel

Operatie Hart / Vaat/ Lymfklierstelsel Operatie Nier-urinewegen

(16)

Operatie Geslachtsorganen/Mammae Operatie Tractus digestivus

Operatie Huid/Zenuwstelsel/Klieren Operatie KNO / Ogen

Operatie Luchtwegen Operatie Bot-spierstelsel

Locations

Elke casus speelt zich af in een bepaalde omgeving/locatie. De locatie bepaalt of symptomen opgevraagd en operaties uitgevoerd kunnen worden. Verschillende locaties kunnen in de DPS worden opgenomen, veranderd en verwijderd. De locaties waarmee de standaardpatiënt is uitgerust zijn hieronder aangegeven.

Locations

0 Geen 1 Thuis 2 Polikliniek 3 Ziekenhuis 4 Medium Care 5 Intensive Care 6 EHBO

Locaties zijn gekoppeld aan Parameters, Symptoms, Operations en discrete. Locaties zijn hiërarchisch verdeeld. Als een Symptom in een bepaalde Locatie opgevraagd kan worden kan dit ook in alle onderstaande Locaties, maar niet in de bovenstaande. Het cijfer van de locatie is de minimale waarde die de locatie moet hebben om het symptoom op te kunnen vragen.

In de praktijk werkt het als volgt:

Wanneer een patiënt zich thuis bevindt is het wel mogelijk om Symptomen op te vragen die vallen onder de groep Anamnese, immers een patiënt kan vragen over zijn toestand

beantwoorden over de telefoon. Het is echter niet mogelijk om de Symptomen die behoren bij het lichamelijk onderzoek in een thuissituatie te weten te komen. Hiervoor zal de student de situatie van de patiënt eerst moeten veranderen, hij zal de patiënt bijvoorbeeld kunnen vragen een bezoek te brengen aan de polikliniek. Symptomen met de locatie polikliniek kunnen niet opgevraagd worden in een thuissituatie, maar uiteraard wel op de polikliniek, het ziekenhuis, de Intensive Care of de EHBO.

Op dezelfde manier is het ook mogelijk chirurgische ingrepen te beperken tot het ziekenhuis.

Dit betekent dus dat we geen chirurgische ingrepen kunnen doen als de patiënt zich bevindt op de polikliniek of thuis.

Door de koppeling van locaties aan discrete waarden kunnen we de eventuele

waarschuwingen die behoren bij de discrete waarde beïnvloeden. Op deze manier gaat de

(17)

patiënt bijvoorbeeld eerder zeuren over een bepaalde klacht op de EHBO dan hij thuis zou doen.

Blobs

Een BLOB staat voor Binary Large Object. Hieronder verstaan we in de DPS plaatjes, geluiden en animaties. Plaatjes kunnen van het formaat BMP, JPG en GIF zijn. Wat betreft geluiden worden WAV en MP3 ondersteund en wat betreft animaties worden de formaten AVI, MPEG en SWF ondersteund.

Blobs zijn verzameld in series, een serie van Blobs bestaat uit één of meerdere Blobs van eventueel verschillende types. Een blob serie kan in de Editor gekoppeld worden aan

Parameters Symptoms Operations en locations, maar zal voornamelijk gebruikt worden voor de koppeling discrete. Veelal zal de student, wanneer hij en bepaald symptoom opvraagt, bijvoorbeeld een röntgenfoto, een plaatje daarbij willen zien. Dit plaatje wordt dan, gekoppeld aan de discrete waarde van een symptoom getoond in de DPS. Algemene informatie over het uitvoeren van een onderzoek kan worden opgeslagen bij het Symptom zelf (inclusief een plaatje).

Alle Blobs worden opgeslagen in de database. Omdat Blobs vrij groot kunnen zijn, vooral de animaties, zal de grootte van de database hierdoor enorm in omvang toenemen.

Process

Wanneer een student een casus in DPS opstart, wordt hiervoor een nieuw Process gecreëerd.

Dit Process heeft een unieke naam. Wanneer door middel van Commandline Parameter geen Process naam is doorgegeven aan het programma zal de computertijd waarop de casus is opgestart als Process naam dienen.

De DPS koppelt aan elk Process een aantal structuren. Zo worden alle Parameters voor elk nieuw Process opnieuw gecreëerd, waarbij de waarde voor de huidige Parameter random wordt gecreeerd tussen de minimale en maximale waarde van die Parameter. Daarbij wordt een aparte log-file gemaakt voor elk Process waarin alle acties van de student worden gelogd.

Ook worden alle scores die horen bij de Parameters, Symptoms en Operations gekopieerd en van een uniek Process-nummer voorzien. Dit maakt het mogelijk om tijdens de casus de score van bijvoorbeeld een symptoom te veranderen. Is het in een casus gewenst om de bloedgroep aan te vragen, dan is het niet handig om de bloedgroep later nog een keer aan te vragen. De eerste keer mag daar dus een positieve score aanhangen, terwijl er voor de tweede keer juist een negatieve score aan moet hangen. Met Processen heeft u zowel in de Editor als in de student-versie van de DPS eigenlijk weinig te maken. Het is slechts een onderliggende structuur waarvan het handig is te weten dat die bestaat.

Bij het initialiseren van een proces wordt in de windows temp directory een bestand aangemaakt genaamd ‘dps.inf’. Dit bestand bevat essentiële informatie voor eventuele pluggins. Het is een ASCII bestand met de volgende structuur:

Regel 1 DbaseName Pad en naam van de database die bebruikt wordt Regel 2 ProcessID Uniek nummer van het huidige proces

Regel 3 StudentName Naam van de student Regel 4 StudentID Nummer van de student

Regel 5 StartTime Tijd waarop de casus begonnen is

(18)
(19)

DPS Editor

Snelkoppeling naar DPS Editor

Om in de Editor aan een casus te kunnen werken moet DPS worden opgestart met de commandline parameter –E, direct gevolgd door het password. Het werkt makkelijk om hiervoor een snelkoppeling aan te maken.

Door de casus te openen in de DPS Editor kunnen alle afwijkingen ten opzichte van de standaard patiënt worden ingevoerd. Tevens kunt u extra symptomen, parameters en operaties aanmaken die specifiek voor dit ziektebeeld zijn.

De Editor interface is opgebouwd uit de volgende menu’s.

Edit

Onder het Edit-menu vindt u de menu-opties Case Only, Rules,

Synonyms, Initialisation, Blobs en Location. In principe is dit het menu voor alle extra mogelijkheden in en rond de casus. De gegevens van de Symptoms, Parameters en Operations worden respectievelijk

geprogrammeerd onder de menuopties Chart, Research en Therapy.

Case only

Case only is een menu item dat al dan niet geselecteerd kan worden, wanneer het geselecteerd is staat het "vinkje" voor het woord Case only. Selectie van Case only zorgt ervoor dat de formulieren die verschijnen onder de hoofdmenu-opties Chart, Research en Therapy respectievelijk alleen de Symptoms, Parameters of Operations laten zien die behoren tot de casus. Dit vereenvoudigt het editten van een casus aanzienlijk.

(20)

De formulieren voor het invoeren en veranderen van Parameters, Symptoms en Operations hebben een case checkbox. Wanneer deze checkbox aangevinkt staat betekent dit dat het desbetreffende Symptom, Parameter of Operation tot de casus behoort, wat inhoudt dat deze afwijkt van een gezonde patiënt. Het aanvinken van het menu Case Only zorgt ervoor dat we alleen deze Symptoms, Parameters en Operations te zien krijgen.

Rules

Wanneer we Rules selecteren wordt de betreffende rule-file geladen. De rule-file heeft dezelfde naam als de casus met een extensie die eindigt in punt-rule. De rule-editor is een tekst- editor met een aantal bijzondere mogelijkheden.

Het grootste gedeelte van de Rule-editor bestaat uit een tekst-scherm waarin u de rules kunt intikken.

Onderaan in het scherm ziet u op welke regel en positie de cursor zich bevindt. Hiernaast staan de buttons Check, Check-Exact en Save. De button Check controleert de syntax van alle Rules, er wordt dan alleen syntactisch en niet semantisch gecontroleerd. Check-exact doet hetzelfde maar zoekt daarbij ook nog alle Parameters, Symptoms en Operations in de database op. Mocht een Parameter, Symptom of Operation niet in de database voorkomen, dan wordt er een fout-boodschap gegenereerd. Omdat het opzoeken in de database tijd kost is er voor gekozen zowel een check-button als een check-exact button te implementeren. Veelal heeft u er genoeg aan alleen de check-button te gebruiken maar af en toe zult u het nodig vinden een volledige controle van de Rules te doen. De button Save slaat uiteraard de Rules op de harde schijf op.

De Rule-editor is voorzien van een zogenaamde context-sensitive-highlighting, dat wil zeggen dat een aantal termen die gebruikt worden in de Rules voorzien zijn van bepaalde kleuren. In de DPS is er voor gekozen de termen die gebruikt worden voor de Rule-elementen blauw te kleuren, voor de expressie groen, voor de actions paars en voor de vergelijkings- operatoren rood. Context-sensitive-highlighting zorgt er voor dat de gebruiker een beter overzicht krijgt over de verschillende rules.

De Rule-editor is tevens voorzien van zogenaamde "intelli-sense". Intelli-sense wil zeggen dat de programmatuur probeert te ontdekken waar u mee bezig bent. Terwijl u Rules intikt zal de DPS onderzoeken welk element van de Rule u waarschijnlijk wilt gebruiken. De DPS toont dan een combobox vlak bij de plek waar u aan het tikken bent, met daarin de termen die

(21)

u waarschijnlijk wilt gebruiken. U kunt deze combobox altijd weghalen door op de <ESC> te drukken. Wanneer de combobox is geopend hoeft u slechts enkele letters van een term in te tikken, waarna automatisch de bijpassende term wordt opgezocht en geselecteerd. U kunt de term uit de combobox kopiëren naar de rule-editor door op de <TAB> toets te drukken, hiervoor hoeft de term niet afgetikt te worden.

Intelli-sense vergemakkelijkt de invoer van regels en kan veel syntactische fouten

voorkomen. Vooral het foutloos intikken van Parameters, Symptoms en Operation namen gaat door middel van intelli-sense vele malen makkelijker.

De rulefile die bij de casus wordt opgeslagen is eigenlijk een gewone ASCII file. U kunt de Rules in de Rule-editor doorzoeken met de zoekfunctie onder de knop <CTRL-F>. De toets

<F3> zoekt naar de laatst gezochte term.

Synonyms

Het synoniemen-formulier (ook bereikbaar vanuit de Parameter, Symptoms en Operations formulieren) beheert de synoniemen die gebruikt worden voor de tekstherkenning.

Het formulier is verdeeld in twee delen. In het linker deel kunt u in de listbox de woorden terugvinden die uiteindelijk herkend moeten worden in de tabellen Parameters, Symptoms en Operations. Deze woorden staan in alfabetische volgorde en u ziet alleen de woorden die behoren tot een bepaalde groep. In het rechter deel staan de woorden die een student kan intypen en die vervolgens herkend worden.

(22)

U kunt een keuze maken uit vier verschillende groepen, te weten Global Synonyms, Parametergroup, Symptomgroup en Operationgroup. Deze groepering wordt gebruikt om eventueel alleen woorden te herkennen die tot een bepaalde groep behoren.

Een door de student ingetikt woord wordt nooit in de linker lijst gezocht maar altijd in de lijst met synoniemen rechts op het scherm. Dit betekent dat elk woord of woordenreeks uit de linker lijst in ieder geval ook in de rechter lijst moet staan om uiteindelijk herkend te kunnen worden. De door de student ingetikte woorden worden gezocht binnen de synoniemen uit de rechter lijst. Wanneer het ingetypte woord in zijn geheel in de rechtshelft voorkomt kan het synoniem links gevonden worden en is het woord door DPS herkend. Wanneer een student woorden intypt die langer zijn dan die in de synoniemen in de rechter helft, wordt het woord niet herkend.

Globale synoniemen worden gebruikt wanneer een veel voorkomend woord een of meerdere synoniemen heeft. Een voorbeeld daarvan is "cito", als we bij alle laboratorium-Parameters waar cito achter staat de synoniemen "vlug" of "zo spoedig mogelijk" of "spoed" of "snel"

moeten invullen, is dit zeer inefficiënt. Daarom kan het woord "cito" opgenomen worden in de globale synoniemen en eenmalig voorzien worden van de eerder genoemde synoniemen.

De tekstherkenning door middel van de synoniemen werkt als volgt. Een door de student ingetikte string wordt verdeeld in de afzonderlijke woorden. Van elk woord worden zo veel mogelijk synoniemen opgezocht, waarmee de collectie van woorden wordt uitgebreid. Wan- neer het woordje "vlug" ingetikt wordt, dan wordt in de synoniementabel gezocht bij welk woord in de linker helft dit hoort. In dit geval wordt "vlug" herkend en wordt het woord

"cito" gevonden. Het woord "cito" wordt dan toegevoegd aan de collectie met te herkennen woorden. Pas daarna worden de afzonderlijke woorden uit deze collectie gezocht in de tabellen Parameters, Symptoms en Operations. Wanneer een gebruiker het woord "vlug"

intikt, worden alle Parameters, Symptoms en Operations met uiteindelijk het woord "cito"

herkend, maar wanneer de student het woord "vlugger" intikt, past het woord "vlugger" niet binnen het synoniem "vlug" en zal het dus niet herkend worden. Het is belangrijk om in de rechterhelft van het formulier geen afgekorte woorden te gebruiken omdat dan het door de student ingetikte volledige woord niet wordt herkend.

Elke Parameter, Symptom en Operation die wordt ingevoerd in de DPS moet voorzien zijn van synoniemen om deze te kunnen laten herkennen. Dit proces gaat automatisch. Slechts wanneer u extra synoniemen wilt toevoegen aan een bepaalde Parameter Symptom of

Operation zult u dit synoniem-formulier gebruiken. In de praktijk komt dit vaak voor. Het zal u echter opvallen dat, hoe goed u uw best ook doet, u altijd een aantal synoniemen vergeet.

Gelukkig herkent de DPS deze lacunes in de synoniemen en voert ze in een aparte tabel in, die door middel van Access ingezien kan worden.

(23)

Initialisatie

De initialisatie-file is een aparte file die gebruikt wordt om een aantal kenmerken van de casus eenmalig bij de casus vast te leggen. Deze ASCII-file staat in dezelfde directory als de casus database, en heeft dezelfde naam als de casus database op de extensie na. De extensie van de initialisatie-file is .TXT. De initialisatie-file regelt de pretext, de initialisatie, enkele globale kenmerken van de casus en de posttext. De initialisatie-file wordt eenmalig aan het begin van de casus ingelezen en gebruikt. De initialisatie-file editor is dan ook eigenlijk niet meer dan een ASCII-editor. U kunt hiermee de initialisatie-file veranderen en weer bewaren door middel van de buttons onder aan het scherm. De initialisatie-file is tevens voorzien van context-sensitive-highlighting.

(24)

Blobs

Blobs staat voor Binary Large OBject. Dit houdt in dat de DPS het mogelijk maakt grote binaire bestanden in de database op te slaan. Meestal zal het gaan om plaatjes of geluiden, maar er kunnen ook filmpjes of animaties in de DPS worden opgeslagen.

Blobs staan in de DPS nooit op zichzelf, maar zijn door middel van een serie met elkaar verbonden.

Een serie van Blobs bestaat uit 0, 1 of meerdere blobs. Elke blob-serie heeft een beschrijving en een nummer. In het formulier Blob-edit ziet u bovenaan een lijst met beschrijvingen gesorteerd op alfabet en daar achter het unieke nummer van die bepaalde serie. U kunt met de buttons Add, Edit en

Delete series aanmaken en verwijderen. Let op dat als u een serie verwijdert de Blobs die in die serie zijn opgenomen, ook verwijderd worden.

Blobs kunnen in de serie worden opgenomen of verwijderd door in de box beneden aan het scherm met de rechter muis-toets te klikken. U krijgt dan een pop-up menu te zien met de menufuncties Add, Delete en Save. Add voegt een blob toe door via een dialoog box een bestand te selecteren.

Delete is alleen geactiveerd wanneer een blob geselecteerd is en verwijdert de blob geheel uit de database. Met de menu-functie Save, die ook alleen geactiveerd is wanneer een blob is geselecteerd, kunt u een blob uit de database weer opslaan als een bestand op de harde schijf.

Wanneer een blob vanaf een bestand is opgenomen in de database staat die blob geheel los van het originele bestand. Dit betekent dat wanneer u een blob uit de database verwijdert, het originele bestand gewoon blijft bestaan, of als u het originele bestand verwijdert de blob in de database nog steeds aanwezig blijft.

Het blob editformulier krijgt u ook te zien wanneer u blobs selecteert in de formulieren voor het toevoegen of veranderen van Symptoms, Parameters en Operations. In plaats van de Exit button rechts onderaan in het scherm zult u dan een Select button zien. U kunt op die manier een hele blob serie bestaande uit 0, 1 of meerdere blobs eenvoudig selecteren bij een

Parameter, Symptom of Operation.

(25)

Location

Het Location formulier wordt gebruikt om locaties toe te voegen, te veranderen of te

verwijderen aan uw casus. Locaties worden overal in de casus gebruikt, maar komen vooral tot uitdrukking bij de Symptoms en Operations. Let er op dat alle locaties een uniek nummer hebben en dat dit nummer voor de hiërarchie van de locaties ook van belang is. Een

symptoom met de Locatie 2 kan niet worden opgevraagd in Locatie 0 en 1, maar wel in Locaties 2, 3, 4, 5 en 6. De nummers worden dan ook niet automatisch gegenereerd door de database maar zullen door u zelf gegenereerd moeten worden en u moet er dan ook zelf voor zorgen dat deze nummers uniek zijn. Wanneer niet een uniek nummer invult geeft de

database een foutmelding.

(26)

Chart

Onder het kopje Chart van het hoofdmenu vindt u verschillende submenu's die te maken hebben met het invoeren van Symptomen. Hierbij zijn de Symptomen onderverdeeld in verschillende groepen.

De volgende groepen zijn beschikbaar: Anamnese, Physical examination, Other Research, Radiology, Pathology.

All Symptoms bevat de symptomen uit alle groepen.

Deze groepen bieden een niet overlappend overzicht van alle Symptomen. Door een groep uit het hoofdmenu Chart te selecteren wordt een formulier opgestart met alle Symptomen binnen deze groep. Per groep kunt u slechts één formulier opstarten. Wanneer een formulier al is gestart en u selecteert nogmaals hetzelfde formulier uit het hoofdmenu Chart, wordt het reeds geopende formulier dat al op het scherm staat, naar voren gebracht.

Alle formulieren van de groepen van het hoofdmenu Chart hebben eenzelfde indeling. In deze handleiding beperken we ons tot het formulier All Symptoms, waar uiteraard alle Symptomen die we kunnen veranderen binnen de DPS vermeld staan.

Symptomenformulier

Dit formulier bestaat uit 2 gedeelten, het linker gedeelte is bedoeld om Symptomen in te voeren, te veranderen en te verwijderen, terwijl het rechter gedeelte is bedoeld om Symptomen te koppelen aan Parameters en de verschillende discrete waarden bij de Symptomen in te voeren.

(27)

We beperken eerst het linker gedeelte van het formulier. In de listbox bovenaan vindt u alle Symptomen die behoren tot de groep van het type wat in de combobox staat ingevuld. Als het formulier opstart staat in de combobox bovenaan altijd All Groups. In het geval van All Symptoms betekent dit dat u alle Symptomen ziet die in de DPS voorkomen.

Wanneer u bijvoorbeeld vanuit het hoofdmenu onder het menukopje Chart gekozen heeft voor Anamnese, dan betekent dit dat u alle Symptomen ziet die behoren tot de anamnese. In de combobox bij Type, bovenaan in het scherm, kunt u een andere groep selecteren. Wanneer u een andere groep selecteert ziet u direct het resultaat in de listbox daar beneden. U krijgt alleen nog maar de Symptomen te zien die behoren tot de geselecteerde groep.

In de listbox met Symptomen kunt u nu één symptoom selecteren. Wanneer u dit doet zult u merken dat het formulier aangepast wordt aan dit ene symptoom. U krijgt alle gegevens die behoren bij dit symptoom te zien onder de listbox van de Symptomen, terwijl u aan het rechter gedeelte van het formulier de Parameter ziet welke aan dit symptoom verbonden is.

U kunt nu het geselecteerde symptoom wijzigen of verwijderen. Uiteraard kunt u ook een nieuw symptoom toevoegen aan de simulatie.

Symptoom toevoegen

Stel we willen het symp- toom "eetlust" in een simulatie invoeren, allereerst moeten we dan aangeven tot welke groep van Symptomen het symptoom eetlust behoort. Dit selecteren we in de combobox bovenaan in het scherm.

Het symptoom eetlust past goed in de groep:

Anamnese gastro- intestinaal. Wanneer we deze groep selecteren zien we de reeds

ingevoerde Symptomen bij deze groep.

Nu kunnen we een nieuw symptoom toevoegen.

Klik hiervoor op de button: Add.

Het formulier verandert, we kunnen nu niet meer klikken in Listbox en de cursor staat te knipperen

(28)

in het veld Name. Hier vullen we de naam van het symptoom in, in dit geval ’Eetlust’. Let op dat alle namen van Symptomen uniek moeten zijn. Wanneer een naam wordt ingevuld die reeds bestaat in de database, geeft de database een foutmelding.

Met de tabkey gaan we naar het volgende veld, Comment. Nu kunnen we eventueel commentaar invullen. Commentaar wordt, indien het wordt ingevuld, getoond in het commentaarscherm nadat de student dit symptoom heeft geselecteerd.

Vervolgens gaan we met tab naar het volgende veld Location. Bij de locatie kunt u invullen waar de patiënt zich moet bevinden om dit symptoom in de simulatie bekend te maken aan de student. Aangezien het hier om een vraag uit de anamnese gaat, kunt u zich voorstellen dat dit symptoom ook via de telefoon aan de student mag worden doorgegeven. Dit betekent dat de patiënt zich thuis zou mogen bevinden. We kunnen hier dus als locatie de thuissituatie aangeven. Wanneer het symptoom altijd opgevraagd mag worden hoeft er geen locatie te worden ingevuld.

Met tab gaat u naar het volgende veld Reference waar u voor uzelf de referenties betreffende dit symptoom kunt invullen. Dit kan een HTTP adres zijn maar u kunt hier ook een hoofdstuk van een boek invullen.

Vervolgens gaat u naar het veld Score. Hierin vult u het aantal punten in dat de student verdient als hij dit symptoom selecteert. Bij algemene anamnestische vragen is het verstandig de score gewoon op 0 te laten staan, maar vindt u als auteur van een casus dat er absoluut gevraagd moet worden naar dit symptoom, dan kunt u hier een positieve score invullen. Als u vindt dat er absoluut niet naar gevraagd moet worden, dan kan er een negatieve score

ingevuld worden. In dit geval van het symptoom eetlust laten we de score op 0 staan.

De kosten van het opvragen van een symptoom vindt u in het volgende veld Costs. Over het algemeen kosten Symptomen uit de groepen Anamnese en Lichamelijk Onderzoek niets.

Maar bij de groepen Radiologie en Aanvullend Onderzoek kunnen hier de kosten van een betreffend onderzoek worden ingevuld. Wanneer een student dit bepaalde symptoom selecteert zullen de kosten worden meegenomen in een totaal berekening.

In het veld Delay kunnen we de tijdsduur aangeven die het kost om dit symptoom aan te vragen. Wanneer de delay negatief is kan een symptoom niet worden aangevraagd. Indien de delay 0 is wordt het symptoom direct bekend als de student er naar vraagt. Wanneer het delay 1 - 3 minuten is, wordt de tijd vanzelf dit aantal minuten doorgespoeld als de student dit symptoom opvraagt. Is de delay meer dan 3 minuten dan zal het symptoom niet direct bekend worden aan de student, maar zal het symptoom in een wachtlijst geplaatst worden. Dit krijgt de student wel te zien en hij kan dan eventueel zelf de tijd doorspoelen. Symptomen van de groepen Anamnese en Lichamelijk Onderzoek zijn meestal direct bekend. De delay zal hier tussen de 0 en 3 minuten liggen. Wanneer we echter te maken hebben met Symptomen uit de groepen Radiologie en Aanvullend Onderzoek dan is het wel voorstelbaar dat er een delay van meer dan een dag (1440 minuten) wordt ingevoerd bij het veld Delay. Dit betekent dat als de student dit betreffende symptoom selecteert, hij te zien krijgt dat dit symptoom is aangevraagd en ook te zien krijgt wanneer de gegevens van dit symptoom aan hem bekend zullen worden gemaakt.

Het volgende veld Order heeft te maken met de volgorde waarin de Symptomen getoond zullen worden aan de student. Studenten kunnen in plaats van elk symptoom apart, ook een groep Symptomen selecteren. Als ze bijvoorbeeld een volledige tractus uit willen vragen, kunnen ze dit selecteren waarna de DPS alle vragen die behoren bij die specifieke tractus

(29)

opzoekt in de database en de antwoorden toont aan de student. Met het veld Order is het mogelijk deze antwoorden in een bepaalde volgorde aan de student door te geven.

Vervolgens kunt u de checkbox Case selecteren of de-selecteren. Bij het aanmaken van een nieuw symptoom staat deze checkbox altijd geselecteerd. Dit betekent als u een nieuw symptoom toevoegt, dit symptoom tot deze casus behoort. De Symptomen van de standaard patiënt behoren niet tot een specifieke casus. Het is verstandig om alle Symptomen die u toevoegt aan de standaard patiënt of verandert in de standaard patiënt tot de casus te laten behoren. Dat betekent dus dat deze checkbox geselecteerd moet zijn. U kunt dan namelijk in het hoofdmenu Edit, het submenu Case Only selecteren. Hierdoor krijgt u alleen de

Symptomen te zien die behoren tot de casus. In dit geval van het invoeren van het symptoom

‘Eetlust’ gaan we er van uit dat de eetlust behoort tot deze specifieke casus en zal het veld Case geselecteerd zijn.

Als laatste kunnen we een blobserie bij een bepaald symptoom invoeren door op de knop Blob aan de linker kant van het scherm te klikken. Hierdoor is het mogelijk de student te laten zien hoe een bepaald symptoom opgevraagd kan worden. In het geval van ‘Éetlust’ kan ik me niet voorstellen dat er Blobs aan dit symptoom zullen worden toegevoegd, maar het is wel voorstelbaar dat bij het symptoom "lichamelijk onderzoek knie" een filmpje getoond wordt hoe dit onderzoek er in de praktijk uitziet. Deze blobs zullen bij het selecteren van een symptoom in de casus door een student eenmalig getoond worden. Uiteindelijk kan het nieuwe symptoom, in dit geval ‘Eetlust’ ingevoerd worden in de database door op Okay te klikken.

Symptoom wijzigen

Wijzigen van een symptoom gaat op vrijwel dezelfde manier als het invoeren van een nieuw symptoom. Hierbij moet eerst een bepaald symptoom geselecteerd zijn waarna u de knop Edit kunt selecteren. Vervolgens is het weer mogelijk om alle velden van dit betreffende

geselecteerde symptoom naar hartelust te wijzigen. De wijzigingen worden pas bewaard wanneer u op de knop OK klikt.

Het verwijderen van een symptoom wijst zich eigenlijk vanzelf: eerst selecteert u een symptoom waarna u op de knop Delete klikt.

Discrete waarden

Een Symptoom komt pas tot uitdrukking in de discrete waarden die een symptoom kan aannemen. Hiervoor moet een symptoom verbonden zijn met een Parameter. Wanneer we nu ons nieuwe Symptoom ‘Eetlust’ tot uitdrukking willen brengen, zullen we dit symptoom moeten verbinden aan een Parameter. Dit gaat als volgt: selecteer het Symptoom ‘Eetlust’ in de listbox links en klik op de button ‘Link’, midden bovenaan het scherm. Vervolgens krijgt u een lijst met alle Parameters in de DPS. Er bestaat reeds een Parameter genaamd

‘Éetgewoonten’, door deze te selecteren en op Okay te klikken, koppelt u het symptoom

‘Eetlust’ aan de Parameter ‘Eetgewoonten'. Let er hierbij op dat het aantal tekens van de naam van het symptoom plus die van de naam van de parameter waarmee hij is verbonden samen nooit groter mag zijn 50 tekens. Is dit aantal wel groter, dan geeft dit het technische probleem dat het betreffende symptoom niet in de wachtlijst kan worden gezet. De discrete waarden die bij deze koppeling horen moeten ingevuld worden in het rechter deel van het formulier.

(30)

Aangezien de Parameter ‘Eetgewoonten’ behoort tot de standaard patiënt, is nu een minimale waarde van 0 en een maximale waarde van 20 ingevuld. Er zal ook direct een discrete waarde worden aangemaakt tussen de 0 en 20.

Als het goed is, is na het koppelen van de Parameter ‘Eetgewoonten’ aan het symptoom

‘Eetlust’, zowel ‘Eetlust’ in de linker listbox als ‘Eetgewoonten’ in de rechter listbox geselec- teerd. We zien nu bij het label ‘min’ en ‘max’ de waarden van respectieve- lijk 0 en 20.

Min-value en max-value slaan op de minimale en maximale waarde van één bepaald discrete voorkomen van een symptoom. Bij dit discrete voorkomen dat reeds is ingevuld is de textstring leeg. Dit willen we graag veranderen, dat doen we door op de button Edit te klikken onderaan in het

formulier. De cursor staat nu in de min-value, die laten we even

ongewijzigd en met tab gaan we naar de max- value, ook die laten we ongewijzigd. Vervolgens kunnen we de Text string veranderen. Hierin kunnen we eindelijk het antwoord geven wat de patiënt ons vertelt als we naar zijn eetlust vragen. We kunnen hier bijvoorbeeld invullen: "Ik heb niets aan mijn eetlust gemerkt, dokter, ik heb nog net zo veel trek als vroeger en lust ook nog steeds dezelfde dingen".

De volgende velden Location, Delay en Warning text slaan allen op een eventuele waarschuwing die de DPS aan de student moet geven. In dit voorbeeld lijkt het niet handig om dat te gebruiken maar het is wel voorstelbaar dat het systeem de student een bepaald symptoom toch moet doorgeven, ook al vraagt de student niet naar dat symptoom. Als het symptoom ‘pijn’ in een bepaalde casus bijvoorbeeld "heel erg" wordt, kunt u in de Warning text aangeven: "Dokter, ik heb nu zo'n pijn, nu moet u toch iets doen". In het veld Location kunt u aangeven waar de patiënt zich minimaal moet bevinden om de warningtext te laten

(31)

zien. Met Delay geeft u aan of de warning eventueel na een bepaalde tijd (in minuten) herhaald moet worden. Wanneer de delay 0 is zal de warning niet meer herhaald worden.

Ook kunnen we aan elke discrete waarde van een symptoom een of meerdere blobs toevoegen, hoewel dit voor dit anamnestische symptoom niet erg zinnig is, is het goed voorstelbaar dat aan de Symptomen bij radiologisch onderzoek wel degelijk een of meerdere blobs worden toegevoegd. Om deze discrete waarde bij dit symptoom uiteindelijk in te voeren klikt u op de button Okay. U heeft nu één discrete waarde ingevuld bij het symptoom Eetlust.

Om het wat spannender te maken voor de student als hij een casus nogmaals wil doen, is het soms leuk om meerdere discrete waarden bij een bepaald symptoom in te voeren. Aangezien de Parameter ‘Eetgewoonten’ altijd opstart tussen 0 en 20 zal er een discrete waarde tussen 0 en 10 en een andere discrete waarde tussen 10 en 20 gecreëerd moeten worden. Hiervoor kunnen we onze eerste discrete waarde veranderen, klik hiervoor op de button Edit onderaan op het scherm en verander de waarde bij max-value van 20 naar 10, klik vervolgens op Okay.

Nu kunnen we een nieuwe discrete waarde invullen door op de knop Add te klikken,

onderaan in het scherm. Deze vult voor de min-value de waarde 10 in, omdat het systeem ziet dat de maximale waarde ingevuld bij de andere discrete variabele 10 is, en de max-value 30,

20 meer dan de min-value. Verander de max-value 30 in 20 zodat de discrete variabele weer passen in de minimale en maximale waarde van de gelinkte Parameter ‘Eetgewoonten’.

Nu kunnen we een andere tekststring invoeren. Vul hier bijvoorbeeld de tekststring in: "Ik heb inderdaad de laatste tijd wat minder trek in mijn avondeten, dokter" en klik vervolgens op de button Okay. Nu hebben we twee discrete waarden ingevuld bij het symptoom ‘Eetlust’. Dit kunnen we nog eens grafisch zien in de sliderbalk midden in het scherm. Wanneer we de wijzer draggen tussen 10 en 20 krijgen we de laatst ingevuld tekststring te zien,

(32)

wanneer we de wijzer draggen tussen 0 en 10 krijgen we de eerder ingevuld discrete waarde te zien.

Het is belangrijk dat de waarden aansluiten aan elkaar. Wanneer we bijvoorbeeld bij de eerst ingevulde discrete waarde een max-value hadden meegegeven van 9 in plaats van 10, dan was er een zogenaamde gap geweest. Dit kunnen we zien in de sliderbalk. Als we met de muis over de sliderbalk bewegen verandert de muis van vorm in een niet-stoppen teken. Het probleem van gaps is dat als het symptoom door een student wordt aangevraagd er niet altijd antwoord wordt gegeven.

Wanneer de Parameter ‘Eetgewoonten’ namelijk gecreëerd wordt tussen 9 en 10 bestaat er geen discrete waarde bij deze Parameter. Dit betekent dat de student wel het symptoom Eetlust kan opvragen maar vervolgens geen antwoord hierop krijgt. Zorg er dus voor dat er altijd discrete waarden bestaan bij de totale range van de gelinkte Parameters.

Research

Onder het menu Research in het hoofdmenu vinden we een aantal submenu's waarmee we Parameters kunnen invoeren in de DPS. De verschillende soorten Parameters zijn op een gelijksoortige wijze gegroepeerd als bij de Symptomen onder het hoofdmenu Chart.

We vinden onder het menu Research de submenu's Direct measurement, Lab research, Abstract Parameters,

Pathological Parameters, All Parameters.

De menu's onder Research bieden een overzicht van de subgroepering van Parameters.

Wanneer we kiezen voor het menu-item All Parameters, kunnen we alle Parameters overzien.

(33)

Wanneer we All Parameters selecteren krijgen we een formulier te zien dat goed vergelijk- baar is met een formulier voor het invoeren van Symptomen. De linker kant van het formulier biedt de mogelijkheid om Parameters toe te voegen, te veranderen of te verwijderen, terwijl de rechter kant van het formulier de mogelijkheid geeft deze Parameters te verbinden met Symptomen. Na koppeling van Parameters aan Symptomen kunnen we de discrete waarden invullen voor deze koppeling.

Zoals we in de Symptomen-formulieren Symptomen koppelen aan Parameters, kunnen we in dit formulier Parameters koppelen aan Symptomen. Het invoeren, veranderen en verwijderen van discrete variabelen bij de koppeling is functioneel gelijk aan het Symptomen-formulier.

We zullen daarom de rechter kant van het formulier hier niet nogmaals bespreken maar verwijzen naar het

Symptomen-formulier.

De linker kant van het formulier lijkt ook erg op het Symptomen-

formulier, alleen vinden we hier de velden die behoren bij een Parameter. We zullen deze velden nu een voor een langslopen.

Bij Name vullen we de naam van de Parameter in. Deze is uniek in een casus. Er kunnen geen twee dezelfde Parameters in een casus voorkomen met eenzelfde naam.

Bij Pre text kunnen we een tekst invoeren die we willen laten zien wanneer een student de

Parameters selecteert.

Na selectie van de Parameters krijgt de student altijd de waarde van de Parameter in een betreffende casus te zien, dit wordt gevolgd door een eventuele Posttext.

Veelal blijft de pretext bij het invoeren van

(34)

meetbare Parameters leeg, terwijl in de Posttext de eenheid van de te meten Parameter ingevuld kan worden. Bij het opvragen van bijvoorbeeld het gewicht is dit Kg (kilogram) of bij het opvragen van het hemoglobine-gehalte van het bloed mmol/l.

Comment dient voor het commentaar. Indien dit ingevuld wordt, wordt dit commentaar in het commentaarscherm aan de student getoond na het opvragen van de parameter.

Location geeft weer, net als bij Symptom, in welke minimale locaties een patiënt zich moet bevinden om de Parameter op te kunnen vragen. Zo is het handig om bij het aanvragen van diverse laboratorium-bepalingen de Location op minimaal Polikliniek te zetten, terwijl het voorstelbaar is dat bij de Parameter ‘Gewicht’ deze Parameter ook opgevraagd kan worden in een thuissituatie.

Reference is weer bedoeld om een referentie aan te geven waar de student meer terug kan vinden over deze bepaalde Parameter, dit kan tekstueel of in de vorm van een HTTP verwijzing.

Bij elke Parameter wordt in plaats van een vaste waarde een minimum en een maximum aangegeven, de Min/Max. Wanneer een casus start wordt de waarde van de Parameter random gegenereerd tussen de minimale en maximale waarde. Op deze manier is het mogelijk enige variatie in de casus aan te brengen wanneer een casus meer dan eens wordt afgespeeld.

Het veld Error geeft de meetfout aan die altijd plaatsvindt bij het opvragen van de waarde van een Parameter. Het error-veld geldt dus alleen voor direct meetbare Parameters. Als we als voorbeeld de Parameter ‘Gewicht’ nemen, kunnen we het gewicht genereren tussen 85 en 105 kg. We vullen voor het naamveld gewicht in, voor posttext Kg, de locatie kan een

thuissituatie zijn en de minimale waarde is 85 terwijl de maximale waarde 105 is. Een meetfout bij het meten van het gewicht in de thuissituatie kan ongeveer 2 kg zijn, we vullen dus in het veld Error 2 in.

Om de uitvoer nog meer te kunnen preciseren kunnen we bij Decimals het aantal decimalen aangeven. Voor ons voorbeeld kunnen we hier een 1 neerzetten, dit betekent dat de uitslag tot op de 100 gram nauwkeurig aan de student wordt doorgegeven. De student zal dan zelf moeten bedenken dat de standaard meetfout waarschijnlijk groter is dan de nauwkeurigheid waarmee dit resultaat aan hem bekend wordt gemaakt.

Normal Min/Max zijn velden die aangeven binnen welke waarde een Parameter nog als normaal beschouwd mag worden. Voor bijvoorbeeld het gewicht kunnen dit de getallen 60 en 95 zijn. Het goed invullen van deze normal-min en normal-max waarden geeft de DPS de mogelijkheid alle Parameters op te vragen die buiten de Normal-Min en Normal-Max waarden vallen. Hierdoor kan de DPS een collectie opbouwen van Parameters die op een bepaald moment in een casus afwijkend zijn. Door deze collectie te projecteren op de gekoppelde Symptomen, is het mogelijk de collectie om te zetten naar een collectie van Symptomen die op een bepaald moment in een casus afwijkend zijn. Daarna kan de DPS uitzoeken welke Symptomen nog niet door de student zijn opgevraagd.

Deze laatste collectie van Symptomen, dus de Symptomen die afwijkend zijn maar nog niet door de student zijn opgevraagd, kan dienen als een soort dynamisch help tijdens het runnen van een casus. Als de student er echt niet meer uitkomt kan hij de DPS vragen een hint te geven welke onderzoeken de student nog moet doen.

De velden Score, Costs en Order werken weer hetzelfde als bij het invoeren van Symptomen.

(35)

Met het veld Delay is het mogelijk om een Parameter niet meetbaar te maken door de Delay negatief te nemen. Niet meetbare Parameters zoals Abdomen algemeen, Algemeen,

Galblaasfunctie etc. hebben allen een Delay van -1, terwijl Parameters als Gewicht en Lengte een delay hebben van 0 of 1 minuten. Het opvragen van laboratoriumgegevens zal echter een grotere Delay hebben. Gebeurt het cito dan kan hier een Delay van 15 minuten gelden, terwijl voor een gewone laboratoriumaanvraag toch zeker een halve tot hele dag gerekend moet worden. Wordt een cito waarde aangevraagd bij een laboratoriumaanvraag, dan wordt eerst in de database gekeken of er ook een NIET-CITO aanvraag van het gewenste item bestaat. Is dat het geval dan wordt de NIET-CITO parameterwaarde opgevraagd, met de delay die bij de cito parameter hoort. Het invoeren van een Delay gebeurt in minuten, dus als een laboratoriumaanvraag een hele dag in beslag neemt, betekent het dat hier 1440 minuten ingevuld moet worden.

Therapy

Het menu Therapy is onderverdeeld in Medication, Surgery, Consultations, Pathologic state changes en All Operations. Ook de werking van dit menu lijkt weer erg op de vorige twee menu's: Chart en Research.

Wanneer we één van de submenu's onder het menu Therapy selecteren, krijgen we een overzicht van alle Operations uit het submenu.

(36)

Het submenu zelf is weer onderverdeeld in de verschillende groepen operaties. Het formulier dat u krijgt na het selecteren van een therapie is weer onderverdeeld in twee afzonderlijke gedeeltes; aan de linker kant ziet u de controles om operaties toe te voegen, te veranderen of te verwijderen; aan de rechter kant ziet u de controles om Effecten van een operatie op een Parameter toe te voegen, te veranderen of te verwijderen.

We bespreken nu eerst de linker kant van dit formulier. Door op de combobox links bovenaan het formulier te klikken krijgt u alle operaties in de betreffende groep van operaties te zien.

Om een nieuwe operatie toe te voegen selecteert u eerst de groep van operaties waaraan u deze nieuwe operatie wilt toevoegen, bijvoorbeeld ‘Medicatie Analgetica’. U klikt op Add en vult bij Name de nieuwe naam van een operatie in, bijv. Paracetamol 500 mg.

In de Pretext komt de gebruiksaanwijzing te staan die hoort bij deze operatie en in de posttext kunt u

eventueel commentaar van de dokter of de patiënt kwijt.

Het veld Comment is bedoeld voor

commentaar van de auteur; dit veld wordt in een apart scherm aan de student getoond nadat de student deze operatie heeft geselecteerd.

In het veld Location kunnen we kwijt wanneer de operatie geselecteerd mag worden, zo kunnen medicijnen bijvoorbeeld wel voorgeschreven worden op de polikliniek en in het ziekenhuis, maar kunnen chirurgische ingrepen alleen in het ziekenhuis gebeuren.

In het veld Reference kunt u eventuele referenties opnemen voor deze operatie. Dit kan platte tekst zijn

(37)

maar u kunt ook gebruik maken van een HTTP adres.

In het veld Score kunt u de scores kwijt die de student krijgt wanneer hij een operatie selecteert. Wanneer deze score ligt tussen -100 en -200 zal, voordat deze operatie

daadwerkelijk door de DPS geselecteerd wordt, er een waarschuwing op het scherm getoond worden en aan de student gevraagd worden of hij deze therapie echt wil doorzetten. Wanneer de score -200 of lager is, zal de operatie door het systeem geweigerd worden.

In de standaard-patient zijn alle mogelijke chirurgische ingrepen ingevoerd met een score van -200. Deze chirurgische ingrepen functioneren als ruis, maar zullen bij selectie door de student altijd door het systeem geweigerd worden.

Met het veld Delay kunt u een eventuele wachtlijst creëren waarbij de Delay in minuten ingevoerd moet worden. Als er bijvoorbeeld een week gewacht moet worden op een bepaalde chirurgische ingreep dan wordt hier 7 x 1440 minuten = 10080 ingevoerd.

De Checkbox Case is bedoeld om alleen operaties te laten zien die behoren tot de huidige casus. Active geeft aan of een operatie actief is en dus geselecteerd mag worden en de Checkbox Once geeft aan of een operatie slechts éénmaal door de student geselecteerd mag worden. Een aantal chirurgische operaties mag slechts éénmaal geselecteerd worden, bijvoorbeeld amputatie van een onderbeen. Wordt een dergelijke operatie nogmaals door de student geselecteerd, dan reageert de DPS met het antwoord dat de student deze operatie slechts éénmaal mag selecteren zonder daaraan consequenties te verbinden zoals score en kosten.

Effecten

Referenties

GERELATEERDE DOCUMENTEN

In onderstaande tabel staan de parameters die ten grondslag liggen aan

The survey cond ucted also indicated that approximately 70% of the community had general knowledge on env i ronmental contamination while 30% did not but 100%

Zorggebruik van patiënten met klachten vanuit de lage rug in de tweede lijn (Zinnige Zorg)n. Resultaten eerste tussenevaluatie van het gebruik van Trimbow® en Trelegy

(a) Cylinder with internal heat generation, (b) erroneous LP model... of the cylinder, shown in Figure 3.4. The solid line shows the temperature calculated using the exact solution

Als je twijfelt (zoals Maria deed) moet je de vraag durven stellen: ‘Wat is hier het moreel juiste om te doen?’ Dat mogen ouders en kinderen ook van je verwachten. De vraag stellen

[D2] I just can remember the Dublin Cycling Campaign, you know, it is the only I know apart from the car drivers are usually either EEA Roadwash or, really Business Association,

van respondente, ligging van die skool en aantal skole besoek teenoor beroeps- leiding gereeld op die lesrooster en beroepskeuse-onderhoude gevoer met

Een andere aanpak is die van Sorapec, waarbij zink op kleine bolletjes wordt neergeslagen; proefcellen geven meer dan 1000 cycli, de elektrolyt wordt gecirculeerd. Bij