Duplicate assignments received on tablets

Context:
We have an active survey in the field. All assignments are of size 1.
We discovered that some questions in the interviews were not enabled through an error in the questionnaire.
We then imported a corrected version of the questionnaire, selecting “Upgrade assignments”,
and then rejected the interviews already received on the server to allow enumerators to supply the answers to the disabled questions for the old version interviews through comments.

What happened:
All assignments from version 1 were archived and new (upgraded) assignments created,
including those which had already been consumed (i.e. an interview was already synched to the server).
The new assignments for the already consumed cases are again of size 1, no interview collected yet!
After synchronizing tablets, enumerators now received a rejected interview plus a new assignment for another interview!

What we expected:
During upgrading the assignments, already consumed assignments should not be converted to new virgin assignments (because they were already converted to an interview).

We now have the problem of identifying and removing assignments from the tablets for households which were already interviewed.

This happened on a server with version 25.04.4
When I try to reproduce the process on a PDS with version 25.04.8 it does not happen.
What this a known problem on the 25.04.4 version?

Thank you,
Klaus

Dear @klaus ,

I tried to reproduce your issue in version 25.04.4. But in my case, there are no problems or duplicate assignments. Also there is no known issues with assignments upgrades in 25.04.4.

Could you please add more details: exact steps one-by-one (sequence of actions is particularly important here), questionnaire details, assignments details, etc. ?

Dear @klaus ,

I don’t think your problem is related to the type or the version of the server you use. There is actually no problem, you just have to get a better understanding of how things work with the assignments and the interviews.

When an interview is conducted with a version of a questionnaire, you cannot change this even if you create new assignments and chose to upgrade existing assignments while importing the questionnaire. In other words, your idea of modifying the interviews already conducted with a newer version of the questionnaire is unfeasible. The two following options were to be considered:

  • You are not satisfied with the interviews already conducted given all the missing variables that were not collected (because of the wrong activation conditions) and you create new assignments (not upgrading existing ones) and ask your fieldworkers to reconduct those interviews. The initial conducted interviews will therefore be deleted from your data.

  • You consider that the extent of the problem is minor since you’ve identified it and corrected the issue in a newer version of the questionnaire. You may choose not to reconduct the interviews, but at least, all the interviews that will be conducted with this new version of the questionnaire (i.e. with the upgraded assignments) will not have that problem.

I hope this helps! Good luck for your survey!

Dear @vfedoseev ,

Thank you for looking into this.

The sequence of events is simple:

  • new version of questionnaire imported (Upgrade assignments selected) at 15:49:49
  • during the following hours interviews from the old version were rejected by the supervisors
  • tablets were synched (I can’t guarantee that a couple of tablets were not synched before the rejections)

The 550 old assignments were automatically archived and new ones created during the 21 seconds following the qx. import (until 15:50:10).

All assignments are single interview assignments.

The questionnaire is a standard ~700 questions HBS. Do you want the ID?

Example: assignment 448 (archived) was replaced by assignment 1044 (created):

image

image

You can see that the old assignments was already converted to an interview, yet the new assignment allows another interview.

Do you want access to the server?

Dear @klaus ,

It is really strange. 448th has not to be archived during assignments upgrading. We will continue our investigation.

What kind of installation do you have? Docker or Win server? Farm mode?

Dear @vfedoseev ,

Windows server in a VM. Single server.

I don’t know what a consumed assignment is.

If an interview was created on a tablet, but not yet synchronized to the server, the server knows nothing about it and will treat that assignment as eligible for upgrade during an upgrade process, and if successfully upgraded, archive the original assignment. It will still receive an interview for the archived assignment increasing the counter from zero to one on the original assignment (despite being in the archived state by then). The tablet will receive the new assignment at the same synchronization.

Now this is completely reproducible chain of events:

1. Original assignment archived after upgrade:

2. New assignment created as a result of the upgrade:

3. Original assignment after the interview was synchronized

If you still see any mystery in this process, please elaborate.

Best, Sergiy

@sergiy ,

By consumed assignment I mean that it has been used to generate an interview.

I am aware that assignments for (started) interviews not yet synchronized to the server would be upgraded.

However, we received new upgraded assignments also for interviews which were already on the server. Of course, for this I have to rely on what the client tells me. I explained to them exactly what you are saying here, that the server would send new assignments if the interviews from the old assignments were not received yet.

If you don’t find any problem with the upgrading process on the server, I guess I have to assume that I received wrong information from the client (although the enumerators emphatically insisted that these interviews were already synchronized).

@vfedoseev , I suppose you didn’t find any problems with the upgrading in your investigation?

You are right, I have not found a way to be an assignment upgraded if an interview (from the assignment) is on the server.

??? directly to the server?? or to a supervisor app??

Collect evidence from the server as to when the interviews were synchronized and when they were rejected. You shouldn’t be in need to rely on the interviewers’ opinion for this.

Let’s cut out the middle man: You can pass the address of this forum to the client and invite them to describe the situation in more details and in their own words, because based on your description the situation is not reproducible.