Questionnaire/study to be chosen by operator

Asked by Christian Loeper on 2015-09-09

Hi Adam,
first things first: thanks so much for your work, we really appreciate it. Actually we're testing quexs to see if it fits to our needs and it works fine generally.

Please imagine the following scenario: There are two active questionnaires and one operator assigned to both.
Which internal logic defines which questionnaire the operator works in?
There are no shifts, quotas or other priorities set.

Is there any possibility, that operators can choose and switch studys (questionnaires) they're assigned for during their shifts?
If not, that would be a very helpful feature for 1.14.

Best regards,

Question information

English Edit question
queXS Edit question
No assignee Edit question
Last query:
Last reply:
Adam Zammit (adamzammit) said : #1

Hi Cristian,

Glad to hear queXS appears to fit your needs.

The internal logic when an operator is assigned to multiple questionnaires is to to find the next call (regardless of the questionnaire) that is most appropriate. If there is an appointment from any questionnaire - this will come first, otherwise it will call the next case from any questionnaire that has less calls than the max calls, and that the current case outcome allows for a call at that time. For example, where the current case outcome is "no answer", queXS will not call that case again for 3 hours by default. If there are 10 cases that have less calls than the maximum calls / attempts set for that sample, with a current case outcome of "no answer" and more than 3 hours has past since they were last called, then the case called the greatest time ago will be assigned to the interviewer.

At the moment there isn't an option for the operator to choose the questionnaire/study. This allows the system to assign the next most appropriate case and avoid missing appointments / important calls. If, after this explanation, it is very necessary for operators to choose questionnaires - a feature would not be too difficult to implement - please report a bug here: and I will work on it when time permits. Otherwise of course you are free to make the modification and I will be happy to review it for inclusion in the mainline code.


Adam Zammit (adamzammit) said : #2

Please note where I say "regardless of the questionnaire" I mean: "regardless of the questionnaire (of the questionnaires assigned to that operator)"

Hi Adam,

thank you for your quick answer and the conceivable explanation.

For us, it is still necessary that operators are able to choose questionnaires owed to the compexity of the different studies subjects.
Usually they stay in one study during a shift, so they can immerse themselves in an issue.

I'm going to talk this through with my workmate, to see if he can make the modification (I have no php experience, but I'm planning to do some german translation).
It might be reasonable to think about the modification as an "operator skill" or at least one, that can be de-/activated, right?


Adam Zammit (adamzammit) said : #4

My suggested implementation would be:

- add a new column to the operator table something like "allow_questionnaire_choice" boolean
- add this as a checkbox in the operator editing page for enabling / disabling

- add a new table something like "operator_questionnaire_choice" with columns "operator_id","questionnaire_id"
- if the option "allow_questionnaire_choice" is enabled, when the operator starts work, check if there are records in the operator_questionnaire_choice table for that operator, if not, give them the choice to select all questionnaires assigned to them in the operator_questionnaire table - and when set - add these records to the operator_questionnaire_choice table
- when work finishes, ("end work" selected) delete records from the operator_questionnaire_choice table for that operator

-update the functions.operator.php file get_case_id statement to take into account records in the operator_questionnaire_choice table when set
- update the admin/systemsortprocess.php file to do the same

Can you help with this problem?

Provide an answer of your own, or ask Christian Loeper for more information if necessary.

To post a message you must log in.