Consulta por concepto de materia optativa

Hola
Estamos haciendo pruebas para de G2 migrar a G3.20.
Revisando el plan de estudios de las carreras en relación a lo migrado, no encontramos donde se define la obligatoriedad u opcionalidad de una materia (actividad).
Antes existía un atributo de obligatoriedad de la material en el plan (la material podía ser tipo ‘N’) y con no tener ese tilde ya era optativa. Cómo se refleja ese tilde que antes estaba en sga_atrib_mat_plan?
Gracias,

Revisando el plan de estudios de las carreras en relación a lo migrado, no encontramos donde se define la obligatoriedad u opcionalidad de una materia (actividad).
Ese dato de la activiad no existe mas para definierlo en los planes en Guarani 3. Esto se debe a que hay planes donde segun el ámbito donde se encuentre la actividad puede ser optativa o puede ser obligatoria. Ejemplo: Actividades que son optativas en una orientación y obligagotorias en otra orientación.

Para saber que actividades son optativas para una actividad genérica pueden consultar la vista vw_optativas_plan
Ejemplo:

SELECT * FROM vw_opativas_plan 
WHERE plan_version = <ID plan VERSION> 
ORDER BY nombre_generica, elemento_generica, nombre

Hola
Gracias por la respuesta.
El tema es que esa vista está vacía. Y es debido a que los planes de estudios en G2 tienen definidas materias del tipo NORMAL, NO OBLIGATORIA. Es decir, no están dentro de una genérica.
El alumno las puede hacer o no, queda a su criterio, y no le afectan para recibirse. Algunas salen en el analítico y otras no, algunas son promediables y otras no, según como estén los atributos en sga_atrib_mat_plan.
Cómo deberíamos hacer en G3 para reflejar dicha realidad?
Agradeceré mucho la orientación que puedan darnos.
Saludos.

Iris

El tema es que esa vista está vacía. Y es debido a que los planes de estudios en G2 tienen definidas materias del tipo NORMAL, NO OBLIGATORIA. Es decir, no están dentro de una genérica.
En Guarani 2, las actividades se agrupan en "ciclos" y luego los planes de estudio se construyen con estos ciclos. En la migración a Guarani 3, estos ciclos pasan a ser módulos dentro del plan de estudios. Estos módulos se crean con la forma de cumplimiento "Todas las actividades aprobadas" (regla 101); esto hace que todas las actividades del módulo sean "[b]obligatorias[/b]" de aprobar para obtener el título.

Ejemplo:
Supongamos que en Guarani 2 esta el ciclo 1 que contiene las materias A, B, C, D, y E, donde A, B y C son obligatorias y E y D son optativas.
Esto cuando se migra a Guarani 3 se crea un módulo en el plan con las actividades A, B, C, D y E y la regla 101, es decir que pasan a ser todas “obligatorias”.
Para resolver esto pos-migración debes cambiar la regla de cumplimiento del módulo.
Cambiar la regla 101 por la regla 100 = Por Puntaje (aprobadas); definir que se cumple con 3 puntos, definiendo 1 punto a las actividades A, B y C ; y 0 punto a las actividades D y E. Esto hace que el alumno deba aprobar las actividades A, B y C para llegar a los 3 puntos y asi cumplir el módulo.
(Similar a como se cumplen las actividades genéricas)

Algunas salen en el analítico y otras no
Para esto esta el atributo "[b]Sale en listado[/b]".
algunas son promediables y otras no
Para esto esta el atributo "[b]promediable[/b]"

Estos dos ultimos atributos de la actividad en el plan se migran, asi que no deben hacer ajustes pos-migración.

Si necesitan ayuda para el caso de cambiar la regla de cumplimiento a los módulos y el puntaje a las actividades del módulo carguen una solicitud y los guiaremos.
La regla 101 por 100 y el puntaje en el módulo se debe cambiar en la tabla sga_elementos_revision (regla y parametros)
El puntaje en cada actividad dentro del módulo se debe cambiar en la tabla [b]sga_elementos_comp /b
Se debe identificar la revisión del módulo que corresponde a cada versión de plan de estudios.

Hola
Cargué la solicitud en el GDS: #54947
Gracias!
Saludos.

Iris

Hola
Detecté un ciclo perteneciente a un plan-versión de una carrera, en donde todas sus materias son NORMALES, NO Obligatorias.
En este caso correspondería que la regla de cumplimiento del módulo fuera la 110, Todas las actividades son optativas, correcto?
Lleva parámetros dicha regla?
Muchas gracias
Saludos.

Iris

Detecté un ciclo perteneciente a un plan-versión de una carrera, en donde todas sus materias son NORMALES, NO Obligatorias. En este caso correspondería que la regla de cumplimiento del módulo fuera la 110, Todas las actividades son optativas, correcto?
Si todas las actividades no son obligatorias, entonces corresponde definir la forma de aprobación "[b]Todas las actividades son optativas[/b]". Significa que el módulo se cumple siempre aun cuando el alumno no realice ninguna de esas actividades.
Lleva parámetros dicha regla?
No.

Bien.
Muchas gracias por la confirmación Alejandro!
Saludos.

Iris

Hola

Pudimos configurar correctamente para que materias “Normales” y “No obligatorias” de G2 migraran correctamente a G3.
Aplicamos conversión a las reglas de cumplimiento del módulo, según el caso:

  • 110 (Todas las actividades son optativas)
  • 100 (Por Puntaje - Aprobadas)

El inconveniente que se nos presenta ahora, es que el porcentaje de avance de la propuesta lo está calculando mal: get_porcentaje_avance_propuesta.
Hasta donde lo pude seguir, contabiliza bien la cantidad de materias aprobadas por el alumno (siguiendo y respetando la regla de cumplimiento del módulo)
Pero no calcula correctamente la cantidad de actividades totales de la propuesta, ya que las “No obligatorias” también las está contabilizando en el denominador del coeficiente para el cálculo final., lo cual no es correcto, ya que no son obligatorias, y no contabilizan en el % de avance.

Por otro lado, estaría necesitando poder identificar a través de consulta SQL el listado de las actividades que si son obligatorias, ya sea porque la regla de cumplimiento es todas aprobadas, o porque tienen asignado puntaje. Lo necesito para poder programar unas correlativas especiales.

Muchas gracias

Iris

Por otro lado, estaría necesitando poder identificar a través de consulta SQL el listado de las actividades que si son obligatorias, ya sea porque la regla de cumplimiento es todas aprobadas, o porque tienen asignado puntaje. Lo necesito para poder programar unas correlativas especiales.
Esta consulta recupera actividades de una versión de plan de estudios que no son actividades optativas que forman parte de alguna generica del plan:
SELECT * 
FROM vw_actividades_plan
WHERE plan_version = <PLAN_VERSION>
AND elemento NOT IN (SELECT elemento FROM vw_optativas_plan WHERE plan_version = <PLAN_VERSION>)

Si existe algun módulo en el plan que no corresponde a una generica y tiene optativas, es decir que se cumple con un subconjunto de sus actividades entonces la query anterior no cumple con lo que necesitas.

Hola Alejandro
Es que el punto es justamente ese, en nuestro caso vw_optativas_plan está vacía.
Tenemos materias “Normales”, “No obligatorias” en G2, que al migrar pasan como obligatorias. Me indicaron que cambiara la regla de cumplimiento a los módulos, y eso fue lo que hice.
Pero ahora el porcentaje de avance no es correcto, ya que en el denominador incluye a esta materias “No obligatorias”. Situación que no debiera suceder.
Cómo debemos resolverlo?
Gracias por la orientación.
Saludos

Iris

Iris, la mayoría estamos de vacaciones en estos días, en cuanto te podamos te responderemos. Espero sepas disculpar la tardanza en responderte.

Tenes razon, la idea era que uses la query que tiene la vista vw_optativas_plan, para que puedas recuperar los modulos del plan con las actividades que contiene. De esta query debes quitar el filtro de materia generica para que recupere todos los modulos del plan de estudio
Filtro:

e_generica.entidad_subtipo = 2 -- Materia Generica

Hola Alejandro
Gracias por la respuesta, entiendo la época del año en que estamos.

No termino de comprender tu planteo.
Veo que la query de la vista vw_optativas_plan si le saco el filtro, me retorna todos los módulos y actividades del plan. Aunque me estaría faltando filtrar por las actividades obligatorias, es decir, todas las que corresponden al módulo cuya aprobación es la regla 100, o es 101 y su puntaje > 0, descartando las de la regla 110. Esto ya me orientaron como hacerlo.

Pero mi planteo es que la función get_porcentaje_avance_propuesta no nos estaría calculando el porcentaje adecuado ni real. Y estimo se debe usar en varias operaciones del sistema.
Corresponde que la personalice? O hay manera de adecuarla para el tema de las actividades que sean obligatorias de acuerdo a la regla de cumplimiento del módulo?
Cómo sería el tema para que no afecte a otras Responsables Académicas?
Gracias!!

Iris

Pero mi planteo es que la función get_porcentaje_avance_propuesta no nos estaría calculando el porcentaje adecuado ni real. Y estimo se debe usar en varias operaciones del sistema. Corresponde que la personalice? O hay manera de adecuarla para el tema de las actividades que sean obligatorias de acuerdo a la regla de cumplimiento del módulo?
Iris, si tenemos que revisar esa funcion en base al planteo que hiciste en el caso de módulos donde todas sus actividades son optativas, caso donde esas actividades no deberían considerarse. Cuando vuelva lo revisaremos y ajustaremos en caso de ser necesario, sino otra opción es que la personalicen. Si podes esperar a que volvamos y veamos este caso con un ejemplo concreto. Esta función solo se usa en los reportes de "% de Avance en la Propuesta" (Gestion y Autogestión). Los planes de estudios pueden ser tan complejos como se quiera y no muchas veces esta funcion va a poder resolver el 100% de los planes de estudio. Se probó con planes estructurados normales donde todas son obligatorias, con genéricas, con orientaciones, con orientaciones donde hay materias que son optativas en una orientacion (estan dentro de una generica) y obligatorias en otra orientacion y algunos casos mas. Faltó este caso que comentas de un módulo de actividades todas optativas y seguramente algunos otros casos (por ejemplo un modulo donde el mismo se aprueba con una cantidad x de créditos y este tiene actividades que otorgan diferente cantidad de creditos; entonces dependiendo de como haga el recorrido el alumno las posibilidades podrian ser varias segun la combinación de materias). Estimo que este reporte se utilizará en planes mas estructurados y para ello debería contemplar la mayor variedad posible de planes.

Hola Alejandro
Bien, espero a que lo revisen cuando vuelvan, sino agradeceré me orienten como hacerlo.

En nuestro caso son planes estructurados, en donde los módulos se cumplen con alguna de las siguientes condiciones:

  • REGLA 100 - Por Puntaje (Aprobadas)
  • REGLA 101 - Todas las Actividades Aprobadas (este no traería inconvenientes)
  • REGLA 110 - Todas las actividades son optativas

Es decir, que para calcular bien el porcentaje de avance con la función get_porcentaje_avance_propuesta deberían considerarse bien las reglas 100 y 110.
Muchas gracias por la colaboración!!
Saludos

Iris

OK.
La regla de cumplimiento de modulo 110 - Todas las actividades son optativas, no sería problema porque no se considerarian esas actividades para el calculo total de actividades a cumplir ni para considerar las actividades aprobadas. Y en el caso que estas actividades no formen parte de otro módulo donde alli si sean obligatorias.

El problema estaría con la regla 100 - Por Puntaje (Aprobadas) en el caso que las actividades que componen el módulo otorguen diferente cantidad de puntaje, lo mismo con la regla 105 = Obtener n cantidad de créditos si las actividades otorgan diferente cantidad de créditos o reglas como la nro 107 = Obtener n cantidad de créditos o tener m cantidad de actividades aprobadas donde la cantidad de actividades puede ser diferente para cumplir el modulo; y otras reglas similares a estas donde la cantidad de actividades obligatorias podría no ser un número exacto.

Hola Alejandro
Claro, tenés razón, los casos del estilo de la regla 100 - Por Puntaje (Aprobadas) son mucho más complejos…
No se sirva, pero en nuestro caso las actividades o valen 1 o valen 0. Es más simple.
Pero entiendo que debería pensarse de una manera más genércia la solución, porque esto es una particularidad.
Tal vez cada actividad aporta = ( puntaje asignado / puntaje total requerido del módulo ) * promedio de los puntajes asignados a cada actividad del módulo.
Quedo a la espera que lo revisen cuando vuelvan.
Muchas gracias!

Iris

Hola Alejandro
Seguimos con inconsistencias en el valor calculado para el porcentaje de avance. La función get_porcentaje_avance_propuesta no nos estaría calculando el porcentaje adecuado ni real debido a que considera actividades no obligatorias en el denominador.

Habías mencionado lo siguiente:

Iris, si tenemos que revisar esa funcion en base al planteo que hiciste en el caso de módulos donde todas sus actividades son optativas, caso donde esas actividades no deberían considerarse. Cuando vuelva lo revisaremos y ajustaremos en caso de ser necesario, sino otra opción es que la personalicen.

Alguna novedad?
Muchas gracias!!

Iris

No, aun no pudimos avanzar con la modificación de esa funcionalidad.
En este caso de modulos donde “Todas son optativas” la solución sería no considerar ese modulo y sus actividades/submódulos, no?

Hola Alejandro
Claro.

  • REGLA 100 - Por Puntaje (Aprobadas)
  • REGLA 101 - Todas las Actividades Aprobadas (este no traería inconvenientes)
  • REGLA 110 - Todas las actividades son optativas

La regla 110 se puede obviar, es decir directamente no considerar el módulo entero.
Mientras que para la regla 100, sólo se deberían considerar las actividades que tuvieran algún puntaje otorgado (no así las que tienen 0 de puntaje)

Gracias!!!
Iris