First, I would to thanks the Epidata team for the great job done so far.
Recently, in a database with a main form and several child forms (single or repeated), we observed at the end of the study several duplicate forms for several patients.
This can happen on a 1 to 1 relationship or on a 1 to many relationships.
We checked the properties of all datasets. They have been properly established to ensure that each record is unique.
We have performed some tests to reproduce the issue and found that the issue occurs when a key field is exited with the mouse, or when a form is exited using the mouse to choose a new form to fill in the left panel of the screen instead of leaving the form with the last filled field.
When this happens, the user can browse the forms and enter a duplicate visits without warning.
Under these circumstances, the "Save Form" dialog box appeared twice.
These bugs can be reproduced with the child-bug.epx (joined file) database using the following procedure:
Add a new patient
Fill out the main form with a new patient:
Patient n ° 45
Age: 2 years
Height: 90 (do not use Enter key)
After typing 90 on the keyboard, use the mouse to select the inclusion data form.
After this action, the "Save Record" dialog box appears twice instead of once when the Height field is exited with the Enter key.
Once the focus is on the inclusion form, enter today's date and weight e.g. 12 kg (do not use the enter key).
After typing 12 on the keyboard, use the mouse to select the Visits form.
Once the visit form is displayed, select the inclusion form again. Instead of displaying the data entered previously, the form is empty and the completed forms counter is zero, add the current date and a weight.
If you repeat this operation several times, you can complete more than one form.
The number of child forms filled is only "correctly" displayed when the patient is exited and selected again.
I hope these information will help to solve the problem.
CHU Angers - DRCi – Responsable de la Cellule Gestion des Données et Evaluation
CIL adjoint pour la recherche