Hieronder staan een aantal veelgestelde vragen bij berekeningen. Klik een vraag aan om hem uit te klappen en bijbehorende informatie te lezen.

Hoe verzin ik goede namen voor vragen?

Hoe ingewikkelder de computation, hoe belangrijker dat je goede namen verzint voor je vragen. Zo kunnen anderen ook snel begrijpen wat er precies wordt berekend.

Een vuistregel bij de naamgeving van vragen is; kies iets dat herkenbaar is, ergens op slaat en dat zo kort en simpel mogelijk is.


Voorbeelden van goede namen

Denk na over de naamgeving van vragen voordat je je document maakt. Dit bespaart je later veel tijd en frustratie!


Naam

Gebruik de naam van de vragenlijst of , bijv. ‘bdi’ of ‘adhd’ als je werkt met een meerkeuzevraag.

Als je meerdere meerkeuzevragen hebt die bij elkaar horen, gebruik dan ‘q1’, ‘q2’ etc.

Als je meerdere vragenlijsten met meerdere vragen in 1 document hebt, gebruik dan bijvoorbeeld ‘bdi_1’, ‘bdi_2’ etc. om te differentiëren.

Waarde

Voor meerkeuzevragen, gebruik numerieke waarden (integers): 1, 2, 3.
Voor een boolean, gebruik ‘waar’ en ‘niet waar’ of ‘ja’ en ‘nee’.


Bekijk het voorbeeld van een meerkeuzevraag hieronder. De veldnamen zijn 'mood_q1' en 'mood_q2'. De waarde per antwoord is in alle gevallen 1.



 Hoe herschaal ik een vraag? 

Er zijn 2 manieren om een vraag te herschalen. 


1 Draai je waarden om

Als je het aantal vragen in je berekening wilt beperken, is het het handigst om het antwoord van de maximale waarde op de vraag af te trekken. Zie onderstaand voorbeeld.



Als je de antwoordwaarde van de maximumwaarde aftrekt (en de minimumwaarde is 0), herschaal je de vraag. Stel, je maximumwaarde is 4:


4 - 4 = 0

4 - 3 = 1

4 - 2 = 2

4 - 1 = 3

4 - 0 = 4


2 Maak een ‘rescale’ variabele

Je kunt ook een ‘rescale’ variabele maken. Dit is wat ingewikkelder en zal je gebruiken als je wat anders wil dan het simpelweg omdraaien van waarden.


In onderstaand voorbeeld zie je een rescale variabele waarbij iemand die een 0 of 1 invult, een score van 0 krijgt. Als iemand een 2 of 3 invult, krijgt die persoon een score van 1.


Je bouwt dus een variabele ‘rescale’ waarin je beschrijft hoe de waarden veranderd dienen te worden. Hier verwijs je vervolgens naar in de vragen die omgeschaald moeten worden door middel van ‘this.rescale(data.q#)’.


 Hoe bereken je het BMI? 

Lengte wordt uitgedrukt in centimeters, dus moet eerst worden gedeeld door 100 tot ‘length_meters’. Vervolgens start je de BMI berekening met de variabele die zojuist is gedefinieerd. Zie onderstaand voorbeeld.



De code ‘’.toFIxed(2)’’ uitgelegd: Als je je antwoord wilt afronden op 2 decimalen, voeg je dit toe aan de variabele die je bij ‘return’ zet.


 Hoe maak je als-dan-formuleringen? 

Een if-else stelling voegt dus veel mogelijkheden toe om je computation te personaliseren. Wanneer zou je een if-else verklaring gebruiken?


  • Wanneer je wil dat je computation verschillende resultaten oplevert (bijvoorbeeld 'hoog' en 'laag', of 'waar' en 'onwaar') op basis van één, twee of meerdere voorwaarden.

  • Wanneer je wil dat voorwaardelijke inhoud verschijnt op basis van meer dan twee voorwaarden.

  • Wanneer je (gevorderde) rescalers wil maken, waarbij alleen het terugdraaien van waarden niet voldoende is, bijvoorbeeld wanneer je 1 wil teruggeven wanneer iemand 0-3 scoort en 2 wanneer iemand 4-6 scoort.


Er zijn drie verschillende if-else stellingen. 


1 De if-stelling (als)

Hier definieer je 1 voorwaarde en 1 resultaat dat wordt geretourneerd op basis van die voorwaarde. De code die je daarbij gebruikt is als volgt: 


If (condition) {

action to perform ;

}


Bijvoorbeeld: 'if (data.questionnaire.q1 == 1) { return true; }'


2 De if-else stelling (als - dan)

Hier definieer je 1 voorwaarde en 2 resultaten, 1 op basis van de opgegeven voorwaarde en 1 alternatief resultaat dat in ALLE andere gevallen wordt geretourneerd. De code die je daarbij gebruikt is als volgt: 


If (condition) {

action to perform ;

}

else {

alternate action to perform ;

}



3 De if,if-else stelling (als, als-dan)

Hier definieer je 2 voorwaarden en 3 resultaten, 2 op basis van de vermelde voorwaarden en 1 die in ALLE andere gevallen wordt geretourneerd. Dit is handig wanneer je een beslisboom wilt maken, waarbij verschillende antwoorden op 1 vraag in verschillende categorieën worden geretourneerd. De code die je daarbij gebruikt is als volgt: 


If (condition) {

action to perform ;

}

else if (alternate condition) {

alternate action to perform ;

}

else (condition in all other cases) {

action to perform ;

}




Zoals je in de afbeelding kan zien, kan je meerdere if,if-else stellingen achter elkaar plaatsen. 


 Hoe kun je randomiseren? 

Als je cliënten willekeurig wilt toewijzen aan 2 condities (bijvoorbeeld een experimentele groep en een controlegroep), kun je de Math.random() computation gebruiken. Dat ziet er als volgt uit:


experimental_or_control: function(data) {

    data = data;

        if (Math.random() <= 0.5) {

        return "experimental";

                                  } 

    else {

          return "control";

             }

      }


Als je dit eenmaal gebouwd hebt, kun je met een trigger andere content triggeren voor ofwel de experimentele groep ofwel de controlegroep. Gebruik dan ‘computation:experimental_or_control’ bij je trigger.