always asking a bit more

always asking a bit more

by Daniele Cordella -
Number of replies: 5
Picture of Core developers Picture of Plugin developers
I am building a questionnaire that foreseens the following three questions.

1) Had the user never been tested with the HIV test?
yes
no

2) If yes, please enter the date of the test

3) Which was the outcome of the test?
positive
negative
The user has never had an HIV test
------------------------------------------------------------
Well IMHO this not so nice because the person making the data entry can enter
1) yes
2) a date
3) The user has never had an HIV test

or

1) no
2) a date
3) positive

In this case my questionnaire works but is not reliable!!!

So I reduced the questionnaire to only one radio button question with these three option
1) Had the user ever been tested with the HIV test?
answer1)No
answer2)!other=Yes, negatively, on date:
answer3)!other=Yes, positively, on date:

but... in the questionnaire

if I select the radio button of the answer2 and I fill the edit field of the answer3, during the submit the radio button selection changes to the radio button of the answer3

if I select the radio button of the answer3 and I fill the edit field of the answer2, during the submit I get the correct error message.

Can you help me in facing this problem, please?
Thank you in advance.
Average of ratings: -
In reply to Daniele Cordella

Re: always asking a bit more

by Joseph Rézeau -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators

Hi Daniele,

The problem you describe arises from the fact that the Questionnaire module is missing a "conditional branching" facility. If we had that facility, which exists in many other survey software, it would be possible to do the following:

  • Question #1. Has the user ever been tested with the HIV test?
  • yes
  • no

If answer to Question #1 is yes, then display questions #2 and #3

If answer to Question #2 is no, then skip to question #4

  • Question #2. Date of the test?
  • Question # 3. Which was the outcome of the test?
    • positive
    • negative
  • Question #4. blabla

Your solution is ingenious, but it cannot work because of the way the radio-button (single choice) question type functions in Questionnaire (and in all similar survey software). This type of question presents the respondent with a list of closed choices from which he must select one (and only one). Optionally, this type of question can offer an "other" choice (and only one). By offering more than one choice to your radio button question you destroy the normal functioning of the question.

What is really needed is a "branching" facility such as described at the beginning of this post. I have not idea how easy/difficult it would be to implement.

All the best,

Joseph

In reply to Joseph Rézeau

Re: always asking a bit more

by Daniele Cordella -
Picture of Core developers Picture of Plugin developers
Thank you Joseph.
I wouldn't go to a different survey software, I love Moodle and its environment.

I made a lot of modification (waiting for your and Mike's time) and... maybe I'll try to implement some more hacks!! Thank you.
In reply to Daniele Cordella

Re: always asking a bit more

by Just H -
Hi Daniele

As Joseph replied, conditional branching would definitely be the way to go.

If you've got the time and skills to look into this might be worth having a look to see if there's any code in Lime Survey that would be of use (unfortunately, I have neither although branching interests me).

Regards
H
In reply to Just H

Re: always asking a bit more

by Daniele Cordella -
Picture of Core developers Picture of Plugin developers
Thank you Harry.
I would try... but my software is, usually, less reliable then a not well compiled questionnaire!!! ammiccante
In reply to Daniele Cordella

Re: always asking a bit more

by Just H -
I would try... but my software is, usually, less reliable then a not well compiled questionnaire!!!

Thanks for making me laugh Danielle, needed that while trying to fix a problem and getting nowhere smile