Problem with list question?

Good day,

I am getting a strange problem using the list question as my source for a roster.
In the household members section for the questionnaire I ask for
1 household size
list the household member names from hh size
then use a plain roster on list to get hh members relation to head, age, sex and education attainment
however after adding any name the program stick and the plain roster isn’t seen

this happens on our new TabA 8 and mediapd M3 lite tablets running Oreo 8.10 and 7 respectively however on my Neutab N10 it runs as designed. I sometimes had the problem while using the online tester but attributed it to slow internet, as it sometimes works properly. I tagged it as a hardware problem but I am really unsure where to tag this.

Has anyone encountered this type of problem before ?

I have use the subsection for the roster and it worked but I would like to understand this problem.

Neville

I’ve seen that also in the context of the web-interview/web-tester and reported the issue to the developers ([KP-12965]), but have never seen that on a tablet.

On the tablet do you use Tester or Interviewer App? What are the versions? Perhaps any other differences between the tablets? Language? Rooted?

We are testing questionnaire on Tablet using Interviewer App, version 19.06 (build 25146)

the only language difference might be Us english to Uk English.

None of the tablets are rooted.

After we enter the name we see a blue line with dots moving across the screen, and we even get problems with fields within the flat roster. I restarted the app several times to get the data required in and the app works fine after the roster.

The problem is confirmed with both Web-interviews and Tablet-based interviews.

For tablets it is tentatively fixed and the fix will be released with the next release.
For web interviews this is under investigation now.

Ok thanks,

When should the next release be ??

Neville

Hi Sergiy,
I think I am encountering the same issue. I have a list question triggering the roster with max number of answers =7.
The enabling condition for the first question of the roster is the following:
(key_call_1==1 && (@rowcode.InList(0))) || (key_call_2==1 && (@rowcode.InList(1))) || (key_call_3==1 && (@rowcode.InList(2))) || (key_call_4==1 && (@rowcode.InList(3))) || (key_call_5==1 && (@rowcode.InList(4))) || (key_call_6==1 && (@rowcode.InList(5))) || (key_call_7==1 && (@rowcode.InList(6)))

This code seems to work fine on tablet or web interview mode.
When I test from Designer, however, the roster for at least one of the up to 7 persons listed in the list question does not open any question and appears as completed.
My suspect is that the test on Designer considers the list question as starting from 1, whereas the test on tablet assumes that the list question numbering starts from 0.
As a matter of fact, at first the enabling condition I had specified would start the list question numbering with 1. When testing with this code on Designer I wouldn’t encounter any issue, but once I tried with the Web Mode after uploading the prefilling it wouldn’t open the roster and would give it as completed already.

Any help or suggestions on this would be greatly appreciated!

First

I don’t see any relationship between these two issues.

Second, what is the point of writing @rowcode.InList(5)? Why not @rowcode==5 ?

Third, your questionnaire will be wrong regardless whether the numbering starts from 0 or from 1. You should make no assumptions about @rowcode values assigned to the roster lines besides that they are:

  • integer
  • items with lower values are earlier in the list

While you are making the two assumptions

  • codes start from a particular number
  • codes are sequential

none of which should be relied on.

Perhaps you’ve needed to use @rowindex or something like
PERSONS.Skip(n-1).First().@rowcode
to retrieve the n-th person @rowcode.

All in all it sounds like there is some other problem that has driven you into this situation, which I am guessing from the presence of the key_call_* variables, but there is no other description.

So we cannot know the number assigned to each option of a list question?
The Survey Solutions page on list questions display the following:


I would then expect the first text element to be assigned the value of 1, the second a value of 2, and so forth.
What I am gathering from your answer instead is that the only certainty I can have is that they will be integer and in ascending order.
Then, how can I effectively make sure that a certain question opens up for a certain element of the list only if its key_call_* has a certain value? Is there a way at all?

You can know it by querying that data structure in the runtime, but you should not hardwire it in your Designer code, because the numbers will be different for different interviews.

Dear Sergiy,

fearing the problem was indeed related with my variables key_call_*, I got rid of it creating a trial survey which questions have enabling condition rowcode == n where n could be 0, 1, 2, 3.
To be more clear: in my trial survey I have three people Person1, Person2 and Person3 prefilled in a list question that triggers the roster. Within the roster there are 4 questions: q0 with enabling condition rowcode == 0, q1 with enabling condiction rowcode == 1, etc.
I indeed found a mismatch between designer and web-interviews:

  • in designer for the person1 only q1 opens
  • with the web-interview for person1 only q0 opens
    And similarly for the other people.
    image
    image

Regardless of my specific situation, I believe there is a fundamental mismatch between how the code is interpreted in Designer testing and web mode.