Encuestas Kolla en Guaraní v3.17.1

Buenos días,
Les comento que estamos trabajando con las encuestas de kolla y vemos que la funcionalidad difiere con respecto a G2.
En los últimos años hemos tenido el requerimiento de encuestar a los estudiantes que hayan aprobado, promocionado, desaprobado o bien hayan quedado ausentes pero con resulttado abandonó.

En G2 la solución que se pensó, fue la de confeccionar las encuestas teniendo en cuenta 3 grupos distintos de alcance/destinatarios:

  1. Aprobados
  2. Promocionados
  3. Desaprobados (desaprobados + ausentes con resultado abandonó, es decir, sin los estudiantes libres)

Al replicar esta solución en las encuestas de Gestión v3.17.1, vemos que no funciona de la manera que deseamos.
En primera instancia, nos repite las encuestas en aquellos casos donde el estudiante promocionó. Analizando estos casos vemos que asigna 1 encuesta para promoción y 1 encuesta para el grupo de regularidad.
En segundo lugar, asigna una encuesta para el grupo de Desaprobados en aquellos casos donde el estudiante estaba en instancia de Promoción, pero la desaprobó.

¿Cómo podemos implementar está solución?
Además, teniendo en cuenta que no tenemos la operación (desde Gestión) de pasar estas encuestas a contestadas, ¿Cómo podemos deshabilitar aquellas encuestas duplicadas?

Desde ya muchas gracias.

Hola Edgardo,

Podrías darnos más detalles de cómo está definido el relevamiento?
Respecto a quitar las encuestas duplicadas, creo que la única solución es borrar la fila de la tabla ‘gde_encuestas_pendientes’.

Saludos, Florencia.

Hola Florencia, se cargó un relevamientos para cada resultado. los relevamientos se cargaron de la siguiente manera

  • Un Relevamiento para el grupo de Personas que tienen resultado Aprobado
  • IUn Relevamiento para el grupo de Personas que tienen resultado Promcionado
  • IUn Relevamiento para el grupo de Personas que tienen resultado Desaprobado… —> a este ultimo relevamiento los tecnicos lo customizaron para que contemple Desaprobados O Ausentes con resultado Desaprobo

Uno de los problemas que encontramos es que genera formularios tanto para un relevamiento, como para otro. Ejemplo si un estudiante promocionó la materia, le genera un formulario en el aprobado y otra en el grupo Promocionado
Gracias

Hola Edgardo, para el caso de cursadas desaprobadas esta considerando el resultado R (Desaprobado) o U b[/b].
Esto lo podes ver en la fucion f_encuestas_generar_items en donde dice:

IF hab.cursada_aprobada = 'S' OR hab.cursada_desaprobada = 'S' THEN
    -- Para los que desaprobaron el resultado puede ser R-Desaprobado o U-Ausente/libre


AND ((sga_actas_detalle.resultado = ‘A’ AND hab.cursada_aprobada = ‘S’) OR
(sga_actas_detalle.resultado <> ‘A’ AND hab.cursada_desaprobada = ‘S’)
);

Estuve verificando y esto se encuentra en la version 3.17.
¿Tienen personalizada esta funcion?

Y al definier dos relevamientos diferentes:
[b]+ Un Relevamiento para el grupo de Personas que tienen resultado Aprobado

  • Un Relevamiento para el grupo de Personas que tienen resultado Promocionado
    [/b]
    Un alumno que promocionó la cursada lo va a considerar en los dos relevamientos, porque en el primero tambien lo va considerar porque la cursada la aprobó.
    Debieran generar un solo relevamiento con las 3 opciones seleccionadas. O hacen diferente encuesta (conjunto de preguntas) según cada resultado posible de la cursada?

Hola Alejandro, hicimos 3 relevamientos por que si genero el de TODOS busca por inscripcion a cursada con lo cual incluye a los libres.

Puntualmente. El requerimiento de la Oficina de Aseguramiento de la Calidad es encuestar a la gente que participó de la cursada. Esto involucra a los que aprobaron hayan promocionado o no, los desaprobados y los ausentes con resutado Abandonó. Quedando excluidos de contestar encuestas aquellos estudiantes con nota Ausente y Resultado Libre.

Esto ultimo está normado internamente en la universidad: el abandonó implica asistencia alguna previo a la primer examinación; el libre se anotó pero no asistió nunca.

En g2 no nos generaba duplicados, por eso supusimos que la solución era identica: la pregunta es ¿como hacemos para dar respuesta a ese requerimiento?

Gracias

Hola Ale, así es nos guiamos con el siguiente hilo del foro https://foro.comunidad.siu.edu.ar/index.php?topic=16315.
La idea fue modificar la condición que resaltaste en negrita:
AND ((sga_actas_detalle.resultado = ‘A’ AND hab.cursada_aprobada = ‘S’) OR
(sga_actas_detalle.resultado <> ‘A’ AND hab.cursada_desaprobada = ‘S’)
);

por la siguiente condición:
AND ((sga_actas_detalle.resultado = ‘A’ AND hab.cursada_aprobada = ‘S’) OR
(sga_actas_detalle.resultado <> ‘A’ AND hab.cursada_desaprobada = ‘S’ AND sga_actas_detalle.cond_regularidad <> 1)
);
De esta manera la idea fue no contemplar aquellos casos donde la condición de regularidad sea Libre.
En cuanto la consulta funcional la estará respondiendo Juan Manuel.
Saludos.

Alejandro o Florencia, mientras analizamos una mejor forma de representar el requerimiento.

necesitamos “eliminar” los formularios extras que se generaron. Entonces teniendo en cuenta que todo promocionado al menos esta cursado (en nuestra institucion) podriamos dejar sin efecto el grupo que promocionó. siendo así cual seria la operacion o proceso equivalente de pasar a respondido ese grupo?

Muchas gracias

Supongamos que el formulario 20 es el que se generó para las promociones y el formulario 21 es el que se generó para las cursadas aprobadas. Para eliminar la encuesta (aun no respondida) de promociones ejecutar lo siguiente.

DELETE FROM gde_encuestas_pendientes
 WHERE formulario = 20
     AND fecha_respuesta IS NULL
     AND EXISTS (SELECT 1 FROM gde_encuestas_pendientes as ep2  WHERE ep2.formulario = 21 AND ep2.persona = gde_encuestas_pendientes.persona)

Gracias Alejandro, ahora hablo con tecnica… me queda nomas consultarte el ultimo esceneario para depurar.

Por lo que vimos, El alcance Desaprobados genera formularios tanto para aquel que desaprobó la cursada (eso seria lo correcto) como para aquel que desaprobo la promoción (y acá depende): El problema es que aquel que aprobo la cursado pero no alcanzo la promoción tambien se lo generó.
Esto se debe a una limitacion de nuestras escalas migradas desde g2??

Mas alla de eso, La pregunta ahora es ¿como podemos hacer para que solo analice actas de cursado y no de promoción?
Por que a este alcance no lo puedo eliminar… pero si corro el el script que me pasaste sacando duplicados pendientes, entonces tendria que ver la forma de dejarlo customizado para que no me los siga generando.

Gracias

Por lo que vimos, El alcance Desaprobados genera formularios tanto para aquel que desaprobó la cursada (eso seria lo correcto) como para aquel que desaprobo la promoción (y acá depende): El problema es que aquel que aprobo la cursado pero no alcanzo la promoción tambien se lo generó. Esto se debe a una limitacion de nuestras escalas migradas desde g2??
No. Es correcto y sucede eso. Que un alumno apruebe la cursada pero no llegue a cumplir los requisitos mínimos necesarios para promocionar (Por ejemplo promedio de notas de parciales mayor o igual a 7, % de asistencia, etc...)

¿No entiendo cual es el problema en esta situación? ¿Que estaría mal al momento de asignarle una encuesta al alumno?
Porque aqui pareciera que asigna encuesta (segun como definieron los alcances de encuesta) para:

  • Un Relevamiento para el grupo de Personas que tienen resultado Aprobado
Mas alla de eso, La pregunta ahora es ¿como podemos hacer para que solo analice actas de cursado y no de promoción? Por que a este alcance no lo puedo eliminar.... pero si corro el el script que me pasaste sacando duplicados pendientes, entonces tendria que ver la forma de dejarlo customizado para que no me los siga generando
Aca te consulto lo siguiente, definiendo que tipos de relevamientos de encuesta? Si generas[b] un solo alcance[/b] seleccionando "Cursada Aprobada" y "Cursada Desaprobada" (que incluye los ausentes/libres) y "Cursada Promocionada" va a asignar una sola encuesta a cada alumno.

Ahora si el tema es que necesitas generar 3 relevamientos porque cada uno tiene su propio conjunto de preguntas, entonces ahi Tenes que generar 3 relevamientos (cada uno con su encuesta correspondiente) como lo hiciste y además modificar el proceso que genera los encuestados para que aquel que promocionó no lo considere en la opción de “Cursada aprobada”.

Hola Alejandro, bueno ahi lo vamos desenmarañando

Aca te consulto lo siguiente, definiendo que tipos de relevamientos de encuesta? Si generas un solo alcance seleccionando "Cursada Aprobada" y "Cursada Desaprobada" (que incluye los ausentes/libres) y "Cursada Promocionada" va a asignar una sola encuesta a cada alumno.
bien, lo que ha sucedido es que arrastramos vicios de G2. nunca me percaté que las posibilidades de definir relevamineto Segun aprobación podían seleccionarse mas de una forma. (hasta donde recuerdo esa selección era mutuamente excluyente). Trabajaremos con los equipos tecnicos de Guarani y Kolla para ver como elimnamos aquellas que se generaron tanto por el relevamiento de cursado, como por promocion Desaprobada. Y para responderte a
¿No entiendo cual es el problema en esta situación? ¿Que estaría mal al momento de asignarle una encuesta al alumno?

El problema, entiendo de tu respuesta, fue que al realizar 3 relevamientos distintos, le generó formulario para el relevamiento Cursada Aprobada y otro formulario para el relevamiento Desaprobado, este ultimo lo toma por que en el acta de promocion no aprobó, y acá esta la duplicidad de la que te contaba

Te mando un saludo

El problema, entiendo de tu respuesta, fue que al realizar 3 relevamientos distintos, le generó formulario para el relevamiento Cursada Aprobada y otro formulario para el relevamiento Desaprobado, este ultimo lo toma por que en el acta de promocion no aprobó, y acá esta la duplicidad de la que te contaba
El caso que comentas para el relevamiento de "Cursada Desaprobada", solo sucede cuando la [b]comisión es solo promocional [/b](solo tiene la instancia de promocion). En este caso como no hay acta de cursada, busca los [b]No Promocionados[/b] (resultado = Desaprobado) en el acta de promoción de la comisión. ¿Tienen cursadas solo promocionales?

Alejandro, te comento que estuvimos analizando este DELETE, pero en nuestro caso no nos sirve debido a que se generaron varios formularios de promoción y aprobación, por lo que el id varia en cada caso.
¿Hay algún script para quitar estas encuestas repetidas de manera masiva?
Desde ya muchas gracias.

¿Hay algún script para quitar estas encuestas repetidas de manera masiva?
No, pero se hace. ¿Te referias a alumnos que tienen asignado mas de una vez el mismo formulario de encuesta? Si es asi lo buscas con esta query (busca en las que no fueron respondidas, porque si el alumno tiene 2 encuestas del mismo formulario y 1 fue contestada, no va a ser devuelva en esta consulta, en tal caso comentá el WHERE... ):
SELECT persona, formulario, count(*)
FROM gde_encuestas_pendientes 
WHERE fecha_respuesta IS NULL 
GROUP BY persona, formulario
HAVING COUNT(*) > 1

¿O te referis que hay dos o mas habilitaciones que hacen referencia a lo mismo (que en ese caso tienen diferentes formularios de encuestas?

Podes darnos un ejemplo de un caso de un alumno?

SELECT ep.respuesta, ep.persona, ep.formulario, ep.fecha_respuesta, f.* 
FROM gde_encuestas_pendientes as ep
JOIN vw_formularios_items as f ON f.formulario = ep.formulario 
WHERE ep.persona = <ID PERSONA> 
ORDER BY ep.respuesta, f.formulario, f.item

3

Hola Ale, te comento que realizamos un caso de prueba para un estudiante, para el cual realizamos la consulta que se ejecuta desde autogestión para retornar las encuestas pendientes.
En tal caso, vemos que hay dos o mas habilitaciones que hacen referencia a lo mismo.
Adjunto la salida de la consulta realizada.


encuestas_pendientes_caso_prueba.rar (8.43 KB)

El conjunto de alumnos no es el mismo en cada una de esatas habilitaciones y comisiones que abarca la habilitación.

  • Habilitacion 73 - Aspectos Legales, Profesionales y Sociales de la Informática (V1235) - Comisión: 10-Aspectos Legales, Profesionales y Sociales de la Informática,
    Es para cursada aprobada.

  • Habilitacion 75 - Aspectos Legales, Profesionales y Sociales de la Informática (V1235) - Comisión: 10-Aspectos Legales, Profesionales y Sociales de la Informática,
    Es para cursada desaprobada.

  • Habilitación 74 - Matemática IV (V1247) - Comisión: 10-Matemática 4.
    Es para cursada promocionada

Por favor decime que encuestas se repiten en un alumno, con el dato de “persona” hace la siugiente consulta:

SELECT ep.respuesta, ep.persona, ep.fecha_respuesta, ep.formulario, f.titulo, f.habilitacion, f.comision, f.estado,
h.cursada_aprobada, h.cursada_desaprobada, h.cursada_promocionada
FROM gde_encuestas_pendientes as ep
JOIN gde_formularios as f ON f.formulario = ep.formulario
JOIN gde_habilitaciones as h ON h.habilitacion = f.habilitacion
WHERE ep.persona = 
-- AND h.habilitacion >= 73
ORDER BY f.habilitacion, f.formulario, ep.respuesta

Si podes indicame cual de las encuestas que debe contestar el alumno se repiten de este listado anterior y de lo que ves desde autogestión.

Buenas tardes Alejandro, pudieron ver el caso de prueba que les pasamos?.
Disculpen las molestias, pero necesitamos cerrar con este inconveniente lo antes posible.
Desde ya se agradece la predisposición que han tenido.
Saludos.

Si, vimos los datos que enviaste, por esto te consulte nuevamente para que corras esa consulta del mensaje anterior (Respuesta #15). Estabamos esperando eso.

En base a lo que enviaste, si la condicion es que quien tenga la cursada promocionada NO debe contestar la cursada aprobada, entonces debes borrar las encuestas siguientes:
Esto significa borrar de encuestas pendientes las encuestas de la habilitacion 73 que corresponde a cursadas aprobadas si el alumno tiene asignada la encuesta de la habilitacion 74 que corresponde a cursadas promocionadas y que sean formularios de encuestas de la misma comision.


DELETE FROM gde_encuestas_pendientes
   WHERE formulario IN (SELECT formulario FROM gde_formularios WHERE habilitacion = 73) -- Borro encuestas de "cursadas aprobadas"
       AND fecha_respuesta IS NULL -- Que no hayan sido aun respondidas
       AND EXISTS ( 
               -- Borra si el alumno tambien tiene la encuesta de promocionados. Si la promocionó no debe responder la de cursada. Para la misma comision 
                    SELECT 1 
                    FROM gde_encuestas_pendientes as ep2
                      JOIN gde_formularios as f_promocionada ON f_promocionada.formulario = ep2.formulario
                    WHERE ep2.persona = gde_encuestas_pendientes.persona 
                           AND f_promocionada.habilitacion = 74   -- Habilitacion de CURSADAS PROMOCIONADAS
                           AND f_promocionada.comision = (SELECT f_cursada_aprobada.comision 
                                                                                     FROM gde_formularios as f_cursada_aprobada
                                                                                   WHERE f_cursada_aprobada.formulario = gde_encuestas_pendientes.formulario
                                                                                  LIMIT 1)
                             );

3