can I screen out participants


Author
Message
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K
Hmm, I think this may be a side effect of using the abort() function under certain circumstances. Okay, different approach without using abort(). Use /stop and /skip attributes in your <block>s to prevent them from running in case the participant responds "No" on the consent question. I.e.

<expt>
/ blocks = [1=screen1; 2=taskblock]
</expt>

<block screen1>
/ stop = [radiobuttons.consent.response=="No"]
/ trials = [1=screenoutpage; 2=checktrial]
</block>

<block taskblock>
/ skip = [radiobuttons.consent.response=="No"]
/ trials = [1=tasktrial]
</block>

<surveypage screenoutpage>
/ ontrialend = [if(radiobuttons.consent.response=="No") {defaults.finishpage=text.screenouturl.item.1;}]
/ questions = [1=consent]
/ showpagenumbers = false
/ showquestionnumbers = false
/ finishlabel = "Next"
</surveypage>

<text screenouturl>
/ items = ("http://www.myopinions.com.au/Surveys/RewardSurvey.aspx?codes=spsqiogaap&id=<%script.subjectid%>")
</text>

<radiobuttons consent>
/caption = "I have read and understood the information sheet and agree to participate in the study"
/ options = ("No","Yes")
/required = true
/orientation = vertical
</radiobuttons>

<trial checktrial>
/ stimulusframes = [1=checktext]
/ validresponse = (57)
</trial>

<trial tasktrial>
/ stimulusframes = [1=tasktext]
/ validresponse = (57)
</trial>

<text checktext>
/ items = ("The consent response was <%radiobuttons.consent.response%>. If you selected 'No' on the previous page, you should not be seeing this.")
</text>

<text tasktext>
/ items = ("This is the actual task.")
</text>

You can test the above code directly here: http://research.millisecond.com/david.nitz/experiment.web?id=12345

BG_CQU
BG_CQU
Esteemed Member (2.1K reputation)Esteemed Member (2.1K reputation)Esteemed Member (2.1K reputation)Esteemed Member (2.1K reputation)Esteemed Member (2.1K reputation)Esteemed Member (2.1K reputation)Esteemed Member (2.1K reputation)Esteemed Member (2.1K reputation)Esteemed Member (2.1K reputation)
Group: Forum Members
Posts: 12, Visits: 81
Unfortunately still no luck with this :(

The test worked fine, both online and my stand alone version. However, when I launched the new script onto the website (removing all the check text etc) the survey continues even when the respondent selects "no". Any other suggestions or did I mess up editing the syntax for the web? (see below)

Here is the experiment specified below (note the participants see a picture of the consent form first, then are asked 2 screen out question 1) consent (as discussed) and 2) over 18 (which I will cut, paste and edit the consent screen out syntax for), then they go onto the survey.

<expt>
/ blocks = [1=consentpic; 2=screen1; 3=screen2; 4= Survey; 5=block1; 6=block2; 7=block3; 8=block4; 9=block5; 10=block6; 11=block7; 12=block8; 13=block9; 14=block10; 15=block11; 16=block12; 17=block13; 18=block14; 19=block15; 20=block16; 21=block17]
</expt>

And here is the screen out syntax I used for the consent screen out.

<block screen1>
/ stop = [radiobuttons.consent.response=="No"]
/ trials = [1=screenoutpage]
</block>

<surveypage screenoutpage>
/ ontrialend = [if(radiobuttons.consent.response=="No") {defaults.finishpage=text.screenouturl.item.1;}]
/ questions = [1=consent]
/ showpagenumbers = false
/ showquestionnumbers = false
/ finishlabel = "Next"
</surveypage>

<text screenouturl>
/ items = ("http://www.myopinions.com.au/Surveys/RewardSurvey.aspx?codes=spsqiogaap&id=<%script.subjectid%>")
</text>

<radiobuttons consent>
/caption = "I have read and understood the information sheet and agree to participate in the study"
/ options = ("No","Yes")
/required = true
/orientation = vertical
</radiobuttons>

Thanks again for all your help...and your patience!

Bel.
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K
I can't tell you where the mistake/s is/are based on that snippet. It is too incomplete.

If I were to hazard a guess, I'd say that you missed including or misspecified the /skip attributes in all the subsequent blocks:

<block screen1>
/ stop = [radiobuttons.consent.response=="No"]
/ trials = [1=screenoutpage; 2=checktrial]
</block>

<block taskblock>
/ skip = [radiobuttons.consent.response=="No"]
/ trials = [1=tasktrial]
</block>

Every <block> or <survey> in your script that follows <block screen1> needs to have that specified in order to *not* be run in case of a participant declining to give consent.

BG_CQU
BG_CQU
Esteemed Member (2.1K reputation)Esteemed Member (2.1K reputation)Esteemed Member (2.1K reputation)Esteemed Member (2.1K reputation)Esteemed Member (2.1K reputation)Esteemed Member (2.1K reputation)Esteemed Member (2.1K reputation)Esteemed Member (2.1K reputation)Esteemed Member (2.1K reputation)
Group: Forum Members
Posts: 12, Visits: 81
Thanks!!

You were right, I had not included the skip function to all other blocks.

It's all up and running now. Thanks again for your help and patience.

Belinda.
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search