Porcentaje de avance - regla 106

Hola
Estamos en la versión G3.20.0
Estaba analizando el porcentaje de avance.
Tenemos varios planes de estudios, en donde las genéricas se sumplen por cantidad de créditos. El tema es que considera la genérica de igual manera ya sea que el alumno no tenga nada hecho o tenga n-1 cŕeditos… lo cual es medio lejano a la realidad…
Tenemos la particularidad que la mayoría de las optativas se cumplen con la misma cantidad de créditos. Una pocas aportan menos créditos.
Por este motivo es que NO podemos usar la regla 103, ya que algunos casos daría como la genérica cumplida cuando en realidad no es así, le faltarían unos pocos créditos al alumno.
Si nos serviría la regla 106: Obtener n cantidad de créditos y tener m cantidad de actividades aprobadas. Ya que tendríamos una cantidad de materias muy próximas a las reales en esos pocos casos, asegurándonos que el alumno llegue a los créditos necesarios. Y en la mayoría de los casos el % de avance sería el real.
La consulta es, se podría tener en consideración dicha regla dentro de la función get_porcentaje_avance_propuesta para que considere la cantidad de optativas a aprobar?
Por lo que estuve viendo, creo que si en la línea 506 se contempla dicha regla, podríamos tener % de avance mucho más cercanos a la realidad.

IF NOT _GENERICA_UNA_ACTIVIDAD AND (cur_gen.regla = 103 OR cur_gen.regla = 106) THEN 

Es decir, necesitaríamos que en el caso de regla 106, en vez de considerar la genérica como una actividad, también se consideren las n optativas que se deben cumplir como aprobadas.
Muchas gracias!!
Saludos
Iris

Hola Iris, si aun tenemos pendiente de resolver este tema. Existe este otro mensaje por este mismo tema: https://foro.comunidad.siu.edu.ar/index.php?topic=25146.0;topicseen
Podemos agregar esta regla en este calculo para que considere la cantidad de optativas a aprobar para cumplir con la generica.
Como te comente en algun otro mensaje del foro, para el caso de cumplimiento por créditos podría tomarse una media de creditos de las optativas y en base a eso tener una cantidad mas aproximada de optativas que le falta aprobar al alumno para cumplir la generica.

Ejemplo:
La generica se cumple con 30 creditos.
Esta generica está compuesta por las siguientes optativas: A 10 creditos, B 12 creditos, C 15 creditos, D 10 creditos, F 14 creditos, G 9 creditos

Podriamos considerar 12 creditos por optativa. Es decir que debería cumplir 3 optativas para llegar a los 30 creditos. Podria ser que no llegue con 3 (si hace A, D, G), En ese caso la generica no esta cumplida entonces lo que le falta son 1 creditos que equivale a 1 actividad (menos de 12 creditos de promedio) podriamos contar las 4 actividades para el total de actividades a aprobar.
En el caso que haya aprobado B y C, sumaria 27 creditos, le faltan 3 es decir que le falta una optativa, en este caso se contarian 3 optativas.
No va a ser exacto, pero si mas aproximado para el calculo final del % de avance.

Hola Alejandro
Si, había visto el otro mensaje, y ya estuve hablando con Pilar. Ella fue quien me puso al tanto de la consideración del regla 103 dentro de la función.
El planteo surge porque tenemos algunos planes de estudio que, por ejemplo, se cumplen con 32 créditos, siendo el 90-95% de las optativas que otorgan 4 créditos. Unas pocas otorgan 2-3 créditos. Con lo cual la regla 106: Obtener n cantidad de créditos y tener m cantidad de actividades aprobadas se ajustaría en la mayoría de los casos, ya que con 8 materias se obtendría el % correcto en la amplia mayoría de los casos, y en el resto estaría muy cerca de lo ideal, sin el riesgo de egresar a alguien que no cumpla con los créditos necesarios.
Es por eso que solicito si es posible incorporar dicha regla en la función get_porcentaje_avance_propuesta para que considere la cantidad de optativas a aprobar.
Necesitamos poder emitir porcentajes lo más cercanos a la realidad a la brevedad. Ya que alumnos dependen de becas o ciertos beneficios con el certificado de avance.
Será posible?
Además, considero que cualquiera que elija esta regla combinada, es porque los valores por alguna de las dos opciones se aproxima mucho a la otra, pero es necesario se cumplan ambas. Y el % en estos casos siempre seria mucho más cercano al real que el simple hecho de considerar o no la genérica cumplida en su totalidad. Como mencionás, esto tampoco sería del todo exacto en algunos casos, pero si se aproximaría mucho más a la realidad.
Desde ya, muchas gracias!!
Saludos
Iris

Hola
Perdón que insista… qué posibilidades hay de contemplar la regla 106 como la 103? Estamos necesitando poder emitir certificados que incluyan el % de avance lo más cercano a la realidad. Eso nos serviría mucho ya que contempla también la cantidad de materias, y la verdad es que nos ayudaría muchísimo!!
Gracias!
Iris

Si lo incluimos, no se si habia quedado claro en respuesta anterior.

Podemos agregar esta regla en este calculo para que considere la cantidad de optativas a aprobar para cumplir con la generica.

Por favor sigamos por el gds respecto de este tema. Solicitud 59924
¿Tenes la ultima version de esa funcion?
¿Probaste la funcion agregando esa regla de cumplimiento?

Hola Alejandro
Dejé la solicitud en GDS (59924) para que se pueda contemplar la regla 106 de igual manera a la 103.
Estaba mirando la función get_porcentaje_avance_propuesta y noto que con respecto a la regla 110 - Todas las actividades son optativas, sólo funciona si está aplicada a un módulo. Pero no así a una genérica. Es por algún motivo en particular?
Por otro lado, creamos otra regla de cumplimiento, pero lógicamente no está contemplada en esta función. Con lo cual nunca detecta que el alumno tiene las actividades cumplidas. Cómo correspondería proceder para que aplique en el porcentaje de avance?
Gracias!
Saludos.
Iris

Estaba mirando la función get_porcentaje_avance_propuesta y noto que con respecto a la regla 110 - Todas las actividades son optativas, sólo funciona si está aplicada a un módulo. Pero no así a una genérica. Es por algún motivo en particular?
Quizas porque suponía que no habria genericas que se cumplan siempre, es decir que no tenga restricción en cantidad de actividades optativas a realizar. Tienen de estos casos? Lo implementaron con genericas para que se puedan agregar sin tener que versionar el plan? Agrega este comentario en la solicitud asi se tiene en cuenta.

Hola Alejandro
Es una genérica que incluye actividades que el alumno puede hacer, pero no son obligatorias para su certificación. Y como son actividades que se van generando a demanda, es que hicimos la genérica para poder ir incorporándolas sin necesidad de versionar. Esa es la pregunta?
Agrego el comentario en la solicitud.
Y cómo sería el procedimiento para que se puedan contemplar reglas nuevas en la función?
Gracias!
Saludos
Iris

Y cómo sería el procedimiento para que se puedan contemplar reglas nuevas en la función?
Creo que lo que hay que hacer es no considerar esa genérica del total de materias a evaluar del plan, al igual que se hacen con los modulos con esa regla de cumplimiento. Lo agregaremos en la funcion.

Hola Alejandro
Eran dos consultas.
En la segunda, a lo que me refería, es que generamos una nueva regla de cumplimiento (en esta caso sería la 1022). La pregunta es cómo hacemos para que la función get_porcentaje_avance_propuesta la tome en cuenta? La forma de cumplimento es muy similar a la 103, tener una determinada cantidad de materias aprobadas, pero con ciertas particularidades que necesitamos. Y la función de porcentaje no recupera las actividades aprobadas por el alumno dentro de los módulos o genéricas que tienen asociada esa regla… con lo cual el alumno nunca llega al 100%. Me explico?
Gracias!!
Saludos
Iris

La lógica de calculo de la regla 103 esta allí en la funcion, asi que vas a tener que personalizar la funcion.

Y la función de porcentaje no recupera las actividades aprobadas por el alumno dentro de los módulos o genéricas que tienen asociada esa regla.. con lo cual el alumno nunca llega al 100%. Me explico?
Aca hay dos temas, uno revisar el proceso de la regla para que ademas de ver si existen actividades aprobdas consultando la vista de historia academica, tambien busque en los modulos reconocidos por resolucion que incluyan la actividad.

Respeto a las genericas, no lo entiendo, porque consultando la vista de historia academica se recupran las optativas aprobadas.
Si la generica tiene 10 optativas (Optativa 1 a 10), la generica se cumple con 1 optativa, y el alumno aprobo la optativa 1, signifia cumple con la Generica, pero eso no implica que las otra 9 optativas este aprobadas por estar cumplida la Generica. Es un caso diferente al reconocimiento de modulos. O Uds reconocieron como cumplida un genérica?
Podes detallar mas el caso que tienen?

Hola Alejandro
Si, el reconocimiento del módulo / genérica cumplido funciona correctamente.
Lo que no está funcionando correctamente es la función get_porcentaje_avance_propuesta ya que no entra por ninguno de los if definidos, ya que la nueva regla creada por nosotros no la tiene en cuenta.

Al seguir el código de la función, si una genérica se cumple por esta nueva regla definida (ej: 1022), se evalúa esta parte del código

ELSE 
	-- No esta programada la regla. Salgo como que no la tiene cumplida..
	_gen_aprobada := false;
END IF;

Con lo cual, por más que el alumno la tenga cumplida, nunca le llega a sumar para el porcentaje de avance.

La pregunta está referida a cómo hacer para que ante un cambio de versión, se puedan obtener las mejoras o ajustes que uds le hagan a dicha función, pero que también contemple reglas nuevas. Si modificamos la función, ante un cambio de versión perdemos los ajustes que podamos hacerle.
Por eso es mi pregunta, de cómo corresponde proceder para hacer los ajustes necesarios para que calcule bien el porcentaje de avance del alumno ante la creación de nuevas reglas de cumplimiento. Se entiende?

Muchas gracias!!
Saludos
Iris

Es correcto lo que indicas, por eso te decia que deben personalizar la funcion y agregar el codigo que corresponde a la evaluacion de esa regla.
Una opcion, seria que en esa parte del codigo se llame a otra funcion que reciba la regla, alumno, generica y algun dato mas y que devuelva si esta cumplida o no, y lo unico que deberian hacer es personalizar esa otra funcion con las nuevas reglas que implementen.
Por defecto se puede haer lo mismo que hoy, que devuelva que no esta cumplida.
Entonces no tendrian problemas en el futuro con sucesivos cambios en la funcion get_porcentaje_avance_propuesta

Hola Alejandro
Pregunta… pensando en voz alta…
No tendría más sentido que la función analizara por criterios más generales? (y no por los códigos específicos de las reglas). Pensando en rasgos generales, porque me parece lógico en pensar desarrollar alguna regla de cumplimiento nueva. Podría servir para cualquier institución que desee personalizar estas cosas.
A lo que me refiero, por ejemplo, determinar si la regla a evaluar, cae dentro de determinado criterio, como por ejemplo en caso que la genérica no sea considera una sola actividad, (NOT _GENERICA_UNA_ACTIVIDAD) setear algún flag o parámetro (algo) que determine si analiza el puntaje, los créditos o la cantidad de materias. Y dar la funcionalidad de acuerdo a eso.
Otro camino también podría ser el que mencionás, el de personalizar una subfunción, pero sería necesario que la original enviada por uds contemplara el llamado a la misma.
Así con los cambios de versiones no perderíamos nuestras personalizaciones, pero tampoco dejaríamos de incluir las mejoras que envíen. Originalmente podría ser una función vacía, y de las personalizaciones se encargaría cada institución. No?
No se si logro explicarme lo suficiente…
Son ideas hablando en vos alta. Porque no me termina de convencer modificar una función que es propia del sistema.
Gracias por la ayuda!!
Saludos
Iris

Otro camino también podría ser el que mencionás, el de personalizar una subfunción, pero sería necesario que la original enviada por uds contemplara el llamado a la misma.
Si, esa es la idea. De que lo personalizado sea esa subfuncion.

Hola Alejandro
Bien, pero entonces cada vez que cambiemos de versión tenemos que tener en cuenta de modificar la función get_porcentaje_avance_propuesta para que llame a esa subfunción?
Cómo sería?
Gracias por la orientación!
Saludos
Iris

Bien, pero entonces cada vez que cambiemos de versión tenemos que tener en cuenta de modificar la función get_porcentaje_avance_propuesta para que llame a esa subfunción?
No, porque se va a llamar siempre. Te envio la funcion por la solicitud que creaste por este tema.

Hola
Retomo este tema.
Tenemos algunos planes de estudios en donde alguna genérica se cumple con la regla 106 Obtener n cantidad de créditos y tener m cantidad de actividades aprobadas.

Ahora observamos que al consultar la cantidad de materias aprobadas en la sección promedio de la ficha del alumno, le cuenta correctamente las materias: 7 normales + 3 optativas dentro de la genérica.

Pero si consultamos la sección de porcentaje de avance, la materias las contabiliza mal: 8 = 7 normales + 1 genérica.

Se podrá corregir esto para que tanto en la sección de porcentaje de avance, como los certificados emitidos, la cantidad de materias sea la correcta? (x normales + m optativas).

Este inconveniente lo notamos tanto en la versión 3.20.0 como la 3.21.3.

Muchas gracias!
Saludos
Iris

Buenas tardes,

Me sumo a la última consulta de Iris.
En la Universidad de Tres de Febrero, en la versión 3.20.0 y la versión 3.21.3 tenemos el mismo problema. por ejemplo:

Un plan de estudio tiene una genérica cuyo modo de aprobación es aprobando dos de las actividades dentro del módulo.
Cuando un alumno aprueba una de las actividades, no la contabiliza en “Porcentaje de Avance” dentro de la ficha, pero si la cuenta en “Promedios”.
También sucede que cuando el alumno aprobó ambas actividades del módulo, toma a este como una sola actividad, por lo tanto sigue habiendo diferencias entre la cantidad de actividades aprobadas en “Porcentaje de Avance” y en “Promedios”

¿ya existe una solución para este tema?

Aguardo su respuesta.

Saludos!

Tenemos un ajuste en la funcion de calculo de avance en la propuesta para que se pueda considerar la generica como una sola actividad (la cumple suma como 1, no la cumple suma 0) a la cantidad de actividades aprobadas, o como bien decis que sume en este caso 0.5 actividades si aprobo una de las dos optativas requeridas para cumplirla,
Lo mismo si se cumple con 3 optativas y el alumno solo aprobò una, que para el porcentjae de avance considere 0.33 % de avance y no 0% .

Asi es porque esta calculando con la opcion por default que es que considere a la actividad generica como una sola actividad y la considere para sumar cantidad de actividades aprobadas cuando esta cumplida en su totalidad.

Igualmente vamos a quitar la informacion de cantidad de actividades aprobadas del reporte de % de avance en la propuesta porque este dato confunde por lo que se estaba informando.

Si, tenemos unos ajustes en la funcion get_porcentaje_avance_propuesta por esto que reportas y otros casos.