Select_multi filter


(gonzalo correa) #1

Hola, soy de Chile y normalmente uso ODK para el diseño de encuestas. Necesito ayuda para programar un filtro de una pregunta de opción múltiple. En otras palabras, estoy haciendo un cuestionario de salud y pregunto sobre las enfermedades y para aquellos que tienen una, dos, tres o más enfermedades, les pregunto sobre los medicamentos que se consumen en general, no para cada enfermedad por separado. ¿Cómo puedo hacer ese filtro múltiple? Ideal si me puedes ayudar. Saludos y Gracias.


Introduce yourself here!
(danbjoseph) #2

Welcome to the ODK forum @gonzalo! We're glad you're here. When you get a chance, please introduce yourself here. I'd also encourage you to add a real picture as your avatar because it helps build community!

Can you provide the text version of your survey here? Can you give some more details on the two questions and how they are linked? It is not clear to me the survey logic you want to implement. Are the choices shown for the medication question filtered based on what diseases are selected?

[Google Translate]
Bienvenido al foro ODK @gonzalo! Estamos contentos de que estén aquí. Cuando tengas la oportunidad, preséntate aquí. ¡También te animo a agregar una imagen real como tu avatar porque ayuda a construir comunidad!

¿Puede proporcionar la versión de texto de su encuesta aquí? ¿Puede dar más detalles sobre las dos preguntas y cómo se vinculan? No está claro para mí la lógica de la encuesta que desea implementar. ¿Se filtran las opciones que se muestran para la pregunta del medicamento según las enfermedades seleccionadas?


(gonzalo correa) #3

Estimado Danbjoseph, muchísimas gracias por tu interés, estoy empezando a conocer el foro y encuentro genial esta iniciativa.
No estoy seguro si entiendo tu consulta, el cuestionario está diseñado en Excel y la versión de odk que utilizo es V1.17.2.
La pregunta es "En el último año, ¿ha padecido alguna o algunas de estas enfermedades?" y en type utilizo la opción "select_multiple" con el nombre de la etiqueta de "choices", en este caso "select_multiple otrasenfermedades" y en choices estan numeradas del 1 al 7, donde del 1 a 6 se numeran enfermedades y 7 es la opción "Ninguna". Luego, la siguiente pregunta es "¿Qué medicamentos toma para esta enfermedad o enfermedades?" indiferente si nombró 1 o más enfermedades, el interés es recolectar los medicamentos consumidos en general para este grupo de enfermedades. Ambas preguntas tienen "required" el texto "true ()" y la segunda pregunta tiene en "relevant" la condición "${otrasenf_M4}<7" donde "otrasenf_M4" es el nombre de la variable de la pregunta anterior y "<7" se refiere a que si nombra alguna o algunas de las alternativas 1 a 6 debe aplicarse la segunda pregunta.
El problema que se presenta es que la segunda pregunta se aplica sólo si responde una alternativa de respuesta, cuando selecciona 2 enfermedades se desaparece la segunda pregunta.
Espero que se esté entendiendo, otra vez muy agradecido de tu atención.
Saludos,
Gonzalo Correa


(danbjoseph) #4

what if you try this for the second question?
[Google Translate] ¿Y si intentas esto para la segunda pregunta?

selected(${othersenf_M4},'1') or selected(${othersenf_M4},'2') or selected(${othersenf_M4},'3') or selected(${othersenf_M4},'4') or selected(${othersenf_M4},'5') or selected(${othersenf_M4},'6') or selected(${othersenf_M4},'7')


or you could try count-selected()
[Google Translate] o puedes probar count-selected()

count-selected(${othersenf_M4}) >= 1