Skip to content

Commit

Permalink
NL tm level 12
Browse files Browse the repository at this point in the history
  • Loading branch information
MarleenGilsing committed Sep 27, 2024
1 parent 6af35a9 commit 5136133
Showing 1 changed file with 266 additions and 0 deletions.
266 changes: 266 additions & 0 deletions content/adventures/nl.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5193,3 +5193,269 @@ adventures:
{sleep}
{print} 'Gelukkig Nieuwjaar!'
```
hospital:
name: Ziekenhuis
default_save_name: Hospital
description: Hospital
levels:
1:
story_text: |
Er staat een vreselijk lange rij bij onze balie en de medewerker is erg druk. Kun je deze medewerker helpen door een aanmeldzuil te programmeren?
### Oefening
De aanmeldzuil moet:
* De patiënt begroeten
* Vragen naar hun naam en deze herhalen
* Vragen naar hun geboortedatum en deze herhalen
* Vragen bij welke afdeling ze een afspraak hebben
* Vragen bij welke dokter ze een afspraak hebben
* De patiënt bedanken voor de succesvolle registratie
* De patiënt vertellen dat ze in de wachtkamer kunnen plaatsnemen
2:
story_text: |
Ons ziekenhuis heeft niet alleen veel patiënten, maar ook veel personeel. Elk personeelslid heeft een badge nodig waarop hun informatie staat.
Kun je een programma maken zodat nieuwe werknemers hun informatie kunnen invullen en een badge kunnen laten printen?
### Oefening
Het programma moet:
* De nieuwe werknemer verwelkomen
* Vragen naar hun titel, voornaam, achternaam, geboortedatum, geboorteplaats, functie, afdeling en personeelsnummer.
* De nieuwe werknemer bedanken en vertellen dat hun badge binnenkort zal worden geprint.
* Het programma 2 seconden pauzeren.
* De titel, voornaam en achternaam printen.
* De geboortedatum en de geboorteplaats printen.
* De functie en afdeling printen.
* Het personeelsnummer printen.
3:
story_text: |
Er is een probleem op de verpleegkundigenafdeling. Alle verpleegkundigen klagen dat het rooster voor de nachtdiensten oneerlijk is. Sommige verpleegkundigen moeten twee nachtdiensten per week werken, terwijl anderen helemaal geen nachtdiensten werken.
Kun je onze verpleegkundigen helpen door een programma te maken dat een eerlijk rooster voor de nachtdiensten opstelt?
### Oefening
Het programma moet:
* Tonen welke verpleegkundige op welke dag van de week de nachtdienst heeft.
* Zorgen dat elke verpleegkundige slechts één nachtdienst per week moet werken.
De namen van de verpleegkundigen zijn: Meredith, Miranda, Alex, Derek, Christina, Izzy, George.
4:
story_text: |
Onze verpleegkundigen hebben elke dag veel taken te vervullen. Een van deze taken is 's ochtends langs alle patiënten gaan en vragen wat ze voor ontbijt willen.
Kun je de werklast van onze verpleegkundigen verlichten door een programma te maken waarin de patiënten hun ontbijt kiezen en hun bestelling rechtstreeks naar de keuken kunnen sturen?
### Oefening
Het programma moet:
* De patiënt vragen om hun naam en kamernummer in te voeren
* De patiënt begroeten met hun naam
* Al het eten (broodjes, ontbijtgranen, fruit, enz.) en drinken op het menu tonen
* De patiënt vragen wat ze willen eten
* Hen vragen wat ze willen drinken
* De bestelling herhalen voor de patiënt
* De patiënt bedanken voor hun bestelling
* Vertellen dat hun bestelling over 15 minuten naar hun kamernummer zal worden gebracht.
5:
story_text: |
Onze verloskundigen krijgen veel vragen van zwangere vrouwen over wat ze wel en niet mogen eten tijdens de zwangerschap. Kun je hun patiënten helpen door een app te maken die aangeeft of voedsel veilig is of niet?
### Oefening
Het programma moet:
* De patiënt vragen wat ze willen eten.
* Controleren of het op de lijst met 'onveilig voedsel' staat.
* Als het op de lijst staat, de patiënt vertellen dat het onveilig is om te eten.
* Als het niet op de lijst staat, de patiënt vertellen dat het waarschijnlijk veilig is om te eten.
* Vervolgens moet de app de persoon ook waarschuwen om altijd gezond verstand te gebruiken, omdat de lijst mogelijk niet 100% compleet is. En het adviseert de persoon om altijd rauw vlees, vis, eieren en alcohol te vermijden.
Wanneer je zwanger bent, is het onveilig om te eten: sushi, garnalen, tonijn, blauwe kaas, tiramisu, zachtgekookte eieren, carpaccio, ondoorbakken biefstuk, tartaar.
6:
story_text: |
Onze verpleegkundigen houden de vochtbalans van onze patiënten bij. De vochtbalans is de hoeveelheid vocht die de patiënt die dag heeft binnengekregen (door drinken, eten of via een infuus) min de hoeveelheid vocht die de persoon die dag heeft verloren (door plassen of braken).
De vochtbalans moet positief blijven. Als de vochtbalans negatief is, moet de verpleegkundige meer infuusvloeistof toedienen.
Kun je onze verpleegkundigen helpen door een programma te maken dat ze kunnen gebruiken om de vochtbalans van hun patiënten te berekenen?
### Oefening
Het programma moet:
* Vragen hoeveel vocht de patiënt die dag heeft binnengekregen door te drinken.
* Vragen hoeveel vocht de patiënt die dag heeft binnengekregen door te eten.
* Vragen hoeveel vocht de patiënt die dag via het infuus heeft gekregen.
* Vragen hoeveel vocht de patiënt die dag heeft verloren door te plassen.
* Vragen hoeveel vocht de patiënt die dag heeft verloren door te braken.
* De vochtbalans van de patiënt berekenen en aan de verpleegkundige tonen.
* De verpleegkundige vertellen om te controleren of de balans positief of negatief is, om te beslissen of de patiënt vandaag meer infuusvloeistof nodig heeft of niet.
7:
story_text: |
Ons heliplatform van de traumahelikopter kan wel een likje verf gebruiken. Kun jij een programma voor de tekenturtle schrijven om de markeringen opnieuw te tekenen?
### Oefening
Teken de markeringen van het heliplatform.
<img src="https://github.com/user-attachments/assets/96deeb9e-b155-4a3d-91f3-3c447df7ce2b" width="200">
8:
story_text: |
Onze ambulance is aan onderhoud toe. Het geschilderde rode kruis aan de zijkant is vervaagd en de sirene werkt niet meer.
Kun je het repareren?
### Oefening
Het programma moet:
* Een rood kruis schilderen met de teken-turtle.
* Een sirene geluid produceren als het rode kruis klaar is.
HINT: gebruik het {repeat} commando.
9:
story_text: |
Het personeel van onze spoedeisende hulp heeft een probleem. Ze zeggen dat er veel patiënten binnenkomen die eigenlijk niet in een noodsituatie verkeren en gewoon naar hun huisarts zouden moeten gaan.
Deze mensen vullen de wachtkamer en geven onze medewerkers werkdruk. Kun je het personeel van de spoedeisende hulp helpen door een triage-app te maken die de patiënt vertelt of ze naar de spoedeisende hulp moeten of niet?
### Oefening
Je programma moet :
* De patiënt vertellen of ze 'zo snel mogelijk naar de spoedeisende hulp moeten gaan', 'hun zorgverlener moeten bellen om de situatie te bespreken' of 'binnenkort naar hun eigen huisarts moeten gaan'.
Het programma zal deze vragen stellen:
* Is je situatie levensbedreigend?
* Heb je moeite met ademhalen?
* Ben je plotseling niet meer in staat om te spreken, zien, lopen of bewegen?
* Heb je gif binnengekregen of ingeademd?
* Heb je een bot gebroken?
* Heb je een ernstige allergische reactie?
* Heb je hevige pijn?
Als de patiënt op een van deze vragen 'ja' antwoordt, moet het programma hen vertellen om zo snel mogelijk naar de spoedeisende hulp te gaan. Het moet geen andere vragen stellen, omdat de patient zo snel mogelijk behandeld moet worden.
Als de patiënt op alle vragen 'nee' antwoordt, moet het programma vragen:
* Kan het ook tot morgen wachten?
Als het antwoord 'ja' is, zal het programma de patiënt vertellen om binnenkort naar de huisarts te gaan. Als het antwoord 'nee' is, zal het programma adviseren om hun zorgverlener te bellen om de situatie te bespreken.
10:
story_text: |
We hebben een probleem in de vaccinatiekliniek. Het scherm dat de volgende patiënt oproept om naar de vaccinatieruimte te gaan, is kapot. Kun je het repareren?
### Oefening
Het programma moet:
* Een lijst hebben van namen van patiënten met een afspraak.
* De verpleegkundige vragen of er vandaag nieuwe patiënten zijn en zo ja, hoeveel.
* De namen van de nieuwe patiënten aan de lijst toevoegen.
* Vervolgens moet het programma een patiënt oproepen om naar de vaccinatieruimte te gaan.
* Het programma moet 10 seconden wachten, het scherm wissen en de volgende patiënt oproepen, totdat elke patiënt op de lijst is opgeroepen.
11:
story_text: |
De kinderafdeling van ons ziekenhuis wil graag wat muziek voor de baby’s om in slaap te vallen. Kun je een slaapliedje programmeren?
### Oefening
Kies een liedje om te spelen:
* Mieke heeft een lammetje (makkelijk)
* Hansje Pansje Kevertje (gemiddeld)
* Brahms' wiegelied (moeilijk)
HINT: Je kunt proberen de juiste muzieknoten zelf te bedenken, maar je kunt de liedjes ook op internet opzoeken.
12:
story_text: |
We zijn een nieuwe zaal van het ziekenhuis aan het ontwerpen en willen een plattegrond voor deze nieuwe afdeling tekenen.
We willen ruimte voor 5 patiënten op de zaal. Alle patiënten moeten een bed en een nachtkastje krijgen.
De plattegrond moet er ongeveer zo uitzien:
![Plattegrond voorbeeld](https://github.com/user-attachments/assets/078929cb-c9af-4bcf-87a2-0398ad91d3f0)
### Oefening
Het programma moet:
* De plattegrond voor de nieuwe afdeling tekenen!
* Functies gebruiken om de bedden en nachtkastjes te tekenen.
13:
story_text: |
Our janitors have a big list of tasks. Some tasks are done everyday, others on a certain day, season or date. This is very confusing and leads to situations where some tasks are forgotten.
Can you help by writing a program that'll print the correct tasklist for that day?
### Exercise
The program should:
* Wish the janitor a goodmorning.
* Ask the janitor what day of the week it is, which month and which day of the month.
* Print the correct tasklist for that day.
The tasks that should be done:
* Everyday tasks: mop the floor, clean the toilets, open the curtains
* On mondays and thursdays: water the plants
* On tuesday and fridays: mop the floors
* On saturdays: wash the coffeemachine
* On the first of each month: wash the windows
* On the 7th of each month: refill the vending machines
* On the 14th of each month: check the batteries for the fire alarms
* Everyday in wintermonths: turn on the heaters
* Everyday in summermonths: turn on the airconditioning
example_code: |
The program should end like this:
```
{call} make_tasklist {with} day, month, date
```
14:
story_text: |
Our anesthesiologist has to calculate how much anesthetics to give our patients who'll undergo an operation. This depends on a couple of factors: weight, age, length of surgery and drug tolerance.
Can you help our anesthesiologist by making a program that'll calculate the amount for them?
### Exercise
The program should:
* Contain a function that calculates how much anesthetics should be given to the patient and returns the value.
* The amount of anethetics in ml = weight of the patient in kilograms devided by 600.
* If the patient is older than 80 this amount should be muliplied by 0.8.
* If the patient is younger than 20 this amount should be multiplied by 1.2.
* Then the amount is multiplied by the amount of minutes that the surgery takes.
* If the drug tolerance from this patient is 'high', add 10 more ml.
* If the drug tolerance is 'low', subtract 10 ml.
* If the drug tolerance is 'normal', don't add or subtract anything.
* When the program has calculated the amount of anestehics it returns the value, and tells the anesthesiologist how much anesthetics to administer.
15:
story_text: |
After surgery our patients can sometimes experience a lot of pain. In those cases our patients can be given a morphine pump. They can administer some morphine themselves if they are in pain.
These pumps need to be programmed very carefully, so that the patients don't give themselves too much morphine. Can you program a morphine pump for us?
### Exercise
The program should:
* Ask the nurse how many milliliters of morphine the patient has already had today.
* Tell the nurse to give the program to the patient
* Ask the patient how much pain they are experiencing on a scale of to 10.
* Tell the patient to press the x button if they would like some more morphine.
* Call the function start_pump with arguments pain_level and morphine_level if x is pressed.
* The function should print 'You will be administered 20 more ml of morphine' while the patients pain level is higher than or equal to 6 and the morphine level is lower than 120.
* After administering new morphine the program should sleep for 2 minutes (while testing your program you can use 2 seconds).
* After those 2 minutes, the morphine level should be updated (+20ml) and the pain level should be updated by asking the patient how they are feeling now.
* If the morphine level is too high or the patient is no longer in pain, the program should tell the patients that they won't be getting more morphine. If they are in a lot of pain, tell them to call the nurse.
* Tell the patient that the pump will be shut down now, and to press x if they need the pump to start again.
16:
story_text: |
Our medical students have to learn the medical terms for all the bodyparts. They seem to be struggling to remind all the anatomical names and they seem to find the studying very boring.
Can you help them by creating a game that allows them to practise the medical terms?
These are the terms that the students need to know: corpus = body, caput = head, ocolus = eye, nasus = nose, auris = ear, os = mouth, collum = neck, manus = hand, pectus = chest, humerus = shoulder, venter = stomach, tergum = back
### Exercise
The program should:
* Be a game that allows the students to practise the medical terms.
* Give the students a point and a compliment when they have got the right answer.
* Take away a point and tell them the answer is incorrect when they have got the answer wrong.
* Also show the students the correct answer for a couple of seconds if they have given the wrong answer, wipe the answer off the screen again and keep asking the question until they have got it right.
* Keep playing until the student has answered all the questions correctly.
* Show the final score to the student.
* Give the student feedback based on their score: 12 points: Amazing!, 8 - 11 points: Good job, keep practising!, 7 or less: You should study more!
17:
story_text: |
Our centre for burnwounds would like to lessen the workload by using an online triage tool. This way the patients can not only register their name and date of birth, but also what kind of burnwound they have (first, second or third degree) and advise on what to do next.
Can you help them?
### Exercise
The program should:
* Start with a greeting and simple registration of the patients name and date of birth
* Preform a triage. Is the skin only red: first degree burn. Are there blisters: second degree burn. Is the skin gone/blackened/whitened from the burn: third degree burn.
* Give the patient the appropriate advise. First degree: Cool the burn with water and apply some cream on it. You do not need to see a doctor. Second degree: The doctor will see you and prescribe a special cream. Please wait in the waiting area. Third degree: Please go the the service desk now. You will need urgent care a.s.a.p.
Hint: please use the {elif} command and functions to create this code.
example_code: |
The end of your code should look like this
```
{call} registration
degree = {call} triage
{call} advise {with} degree
```

0 comments on commit 5136133

Please sign in to comment.