Millisecond Forums

Implementing a consent page

https://forums.millisecond.com/Topic35347.aspx

By kam23 - 5/1/2023

Hi. I have a question about if it was possible to control what pages participants go to based off their responses to certain questions? So for instance, I am currently trying to implement a "consent page", where if participants say they consent/agree, they move onto one script that contains the study, but if they hit they don't consent, than instead of immediately aborting the script (which I have now), I want to take them to a new page/script that just has text notifying them that they can't participate in the study, before then terminating. 

Right now I am using the batch element to run all these scripts together, but was wondering if it was possible to lead to different scripts based off what the user responds?  

Thanks!
By Dave - 5/1/2023

kam23 - 5/1/2023
Hi. I have a question about if it was possible to control what pages participants go to based off their responses to certain questions? So for instance, I am currently trying to implement a "consent page", where if participants say they consent/agree, they move onto one script that contains the study, but if they hit they don't consent, than instead of immediately aborting the script (which I have now), I want to take them to a new page/script that just has text notifying them that they can't participate in the study, before then terminating. 

Right now I am using the batch element to run all these scripts together, but was wondering if it was possible to lead to different scripts based off what the user responds?  

Thanks!

> I want to take them to a new page/script that just has text notifying them that they can't participate in the study, before then terminating.

You don't need yet another script for that. Simply have your consent script do that. I.e. /branch to a trial that displays the "Sorry, you can't participate" message and only then terminate. Everybody else just moves on to the actual task script.
By Dave - 5/1/2023

Dave - 5/1/2023
kam23 - 5/1/2023
Hi. I have a question about if it was possible to control what pages participants go to based off their responses to certain questions? So for instance, I am currently trying to implement a "consent page", where if participants say they consent/agree, they move onto one script that contains the study, but if they hit they don't consent, than instead of immediately aborting the script (which I have now), I want to take them to a new page/script that just has text notifying them that they can't participate in the study, before then terminating. 

Right now I am using the batch element to run all these scripts together, but was wondering if it was possible to lead to different scripts based off what the user responds?  

Thanks!

> I want to take them to a new page/script that just has text notifying them that they can't participate in the study, before then terminating.

You don't need yet another script for that. Simply have your consent script do that. I.e. /branch to a trial that displays the "Sorry, you can't participate" message and only then terminate. Everybody else just moves on to the actual task script.

On the basis of the Consent Form example available at https://www.millisecond.com/download/library/tutorials

***************************************************************************************
***************************************************************************************
                                            CONSENT FORM
***************************************************************************************
***************************************************************************************
Script Info

Author: Millisecond Software LLC
last updated: 08-14-2012

Copyright © 08-14-2012 Millisecond Software
***************************************************************************************
***************************************************************************************
                                            OVERVIEW
***************************************************************************************
***************************************************************************************
Script provides code to add a consent form (The Millisecond Consent Form is used
as an example).
This script can be used as the starting script in a batch file.

If participants do not want to participate in the experiment, the entire batch file
gets aborted via function script.abort()
***************************************************************************************
***************************************************************************************
                                            CONSENT FORM
***************************************************************************************
***************************************************************************************

**************************************
The consentform as htm file
* does not take up the entire screen
space to leave room for response
buttons
**************************************
<html Consent>
/items = ("Consent.htm")
/position = (50%, 40%)
/ size = (70%, 70%)
</html>

**************************************
Response Buttons
**************************************
<text agree>
/items = ("I agree to participate")
/position = (75%, 80%)
/ fontstyle = ("Arial", 1.50%, false, false, false, false, 5, 1)
/ txcolor = (white)
/txbgcolor = (black)
/size = (10%, 5%)
/ vjustify = center
</text>

<text disagree>
/items = ("I do NOT agree to participate")
/position = (25%, 80%)
/ fontstyle = ("Arial", 1.50%, false, false, false, false, 5, 1)
/ txcolor = (white)
/txbgcolor = (black)
/size = (10%, 5%)
/vjustify = center
</text>

**************************************
Consent Trial
if no consent the script as well as\
all other scripts in batch file
get abortet via script.abort
**************************************
<trial Consent>
/inputdevice = mouse
/stimulusframes = [1 = Consent, agree, disagree]
/validresponse = (agree, disagree)
/monkeyresponse = ("agree")
/ branch = [
    if (trial.Consent.response == "disagree") {
        trial.Goodbye;
    }
]
</trial>

<trial Goodbye>
/ ontrialend = [
    script.abort(true);
]
/ stimulusframes = [1=GoodbyeMessage]
/ validresponse = (0)
/ trialduration = 4000
</trial>

<text GoodbyeMessage>
/ items = ("Thank you. The study will automatically exit in a few seconds.")
</text>

**************************************
Consent Block
**************************************
<block Consent>
/trials = [1 = Consent]
</block>
***************************************************************************************
***************************************************************************************
                                            END
***************************************************************************************
***************************************************************************************
By kam23 - 5/2/2023

Thank you so much!