How to associate an answer from a select_one to a group of questions?


I'm encountering difficulties with a form I'm trying to design.
Here is my problem :
I try to base a part of my form on the model of an existing application. In a first, time the aim is to allow to select on a main page various answers (that are butterfly species precisely) wich are diplayed next as a list of answers in an other question. I succeed in this goal. My problem comes after. When I select an answer (a species) I would like that open a page with details to be filled in and then saved. the aim here is to associate to each answer (species) a details page on wich it's possible then to return to by reselcting the answer (the same species) later without the previous registred details being reset to be able to update them. Also, when these details are filled in, you should be able to easily return to the main page.
I don't know if it's possible to making such an interface with ODK. Do you have any ideas for me that come to mind?

I think it's possible to do that with conditionnally showing questions but it's implies to create a group of questions for each species but for 208 species, it will be very long to make. Also, that implies to have many colums in the results table. I would like if possible to regroup results in a single table with differents lines.

Thank you for your answers.

This is the interface of the application I'm trying to reproduce :

There, an idea of what i've done :
formulaire_atlas_papillons_test.xlsx (10.2 KB)
taxon_autocomplete.csv (12.2 KB)

Hi @Alexis and welcome on the ODK community forum, please take some time to introduce yourself here and enforce the Occitan ODK user group :slight_smile:
I guess you work at CEN Ariège ? Do you ?

Great form to share !

A short answer : it is not possible to achieve what you want with ODK (clicking an option and opening a page). Even if you manage to create 208 groups of questions (one per species), you'll still need a repeat to choose the species and if it has already be observed, you will not reopen the previous answers...

Generally we want to add one or more individuals to a given species. This can be done after the field, one the database side. For the moment the solution we offer to our colleagues is to loop into the species select_one list and add a new observation for each contact. In the end we compute the data to get the total in the database. Looking at your form, I think it is the only field you want to update if a species is sax several times on the field.
We can also print a summary at the end of the form/loop to help user to see if he forgot a species.

But, if you want to get only one repeat instance per species (and update values manually) and you create your form that way, you can name your repeats to help users to navigate into the form.
ODK Collect offers allow to navigate into the repeat groups :

Here is a little video of your form adapted to what I suggested

formulaire_atlas_papillons_test.xlsx (10,2 Ko)
taxon_autocomplete.csv (12,0 Ko)

Some discussions relative to your question :

1 Like

Thank you for your answer.

Indeed I currently work at CEN Ariège, on a form suitable for the general public so it's for this reason I try to make a form as simple and intuitive as possible.

The solution you propose is very close to what I had make initially. And as we try to make a quick form to complete on the field, that was the reason why I wanted to create a form with such an interface.
I'll test with your proposition wich is already a good one. Thank you again.

Have a good day

We are now quite a lot ODK users in the region !
I'm looking forward to the implementation of our form exchange platform (oct 2021) !
And maybe in the future some sprint to develop common forms and routines :star_struck:

Thanks but as for yours, you'll have to manage already selected species :

  • hiding it from the choice list
  • or prompt an note

to encourage users to navigate to the previous obs of the wanted species... It is easily feasible but not so intuitive for general public.

For me, the more intuitive is to add an entry for every observation and compute a summary but it must be tested with real users.
Your feedback and final form will be interesting !

I'm doing an internship at CEN Ariège, so I'm not acurately aware about this exchange platform project but it seems a good mean to create forms commons to all structures. It will allow to have uniform protocols.

I think I'll choose the option to navigate between differents reapeat instances. With good explanations, users should be able to handle it easier and data validation should be more efficient to do.

I'll come back with the final form.

It is an old shared idea in the Cen network and we made a proposal to inaugurate it during the Congress in Corsica (sadly remotely for me :frowning: ) with focuses this year on scientific protocols !
You have understood the purpose of the platform. I would just add the will to make ODK tools and forms more visible in our domain.

You will be welcome !

1 Like

Hi @mathieubossaert ,

As we agreed, after several tests and changes, I share with you the final version of this form. Finally for taxa management, I decided to make something very similar of what you proposed me. Thank you very much for your help.

However, in use, it isn't very convenient on the field. An interface like I tried to make would be more useful. Or at least, a way to browse through repeat instances easier than it is curently provided, by clicking on elements of a created list would be more intuitive for users.

There are probably some things to change in that form and about the protocol behind this form, but it is all the difficulty with participatory science, so we settle on this version. (1,4 Mo)

Have a good day.

1 Like

Thanks @Alexis
but I think you forgot the xlsform :wink:

It would be interesting to fill and document a feature request or to complete an existing one with your use case.


1 Like

Oh, yes sorry ! :sweat_smile: It's better now :
atlas_papillons_altitude_formulaire_benevole.xlsx (18,0 Ko)

I'll try to make a feature request when I'll have less work.

1 Like