domingo, 5 de noviembre de 2023

Procedimientos. Docap.

DOCAP combinado Calc + Writer

También es posible crear docap complejos empleando dos archivos del mismo servicio: dos hojas de cálculo o dos documentos de texto). Pero tampoco tenemos por qué limitarnos a utilizar dos documentos.


Eso es precisamente lo que he hecho en esta ocasión: utilizar dos hojas de cálculo como componentes básicos del docap y opcionalmente un documento Writer; este último de cumplirse una condición. La imagen anterior representa la composición del modelo de docap complejo que expondré en esta entrada.

En ella me voy a limitar a explicar el funcionamiento de este modelo de docap y mostrar las instrucciones fundamentales de su código, pero si deseas saber qué objetivo se persigue con el docap concreto que utilizo de ejemplo, deberás leer [esta entrada]. También dispones de un vídeo en [YouTu.be] para visualizar su funcionamiento.

Veamos ahora la estructura de componentes del docap, empezando por visualizar su esquema general.



En este docap se pueden diferenciar tres fases:

Primera: Fase input mediante formulario sobre documento Calc Gestor. Como ya sebes de otros docap anteriores, los controles del formulario se asocian celdas directamente desde la configuración de los controles que lo componen.



... y mediante script accedo al contenido de estas celdas para asignarlos a una matriz. 

oHojaDatos = ThisComponent.getSheets().getByName("Datos")

For i = 1 To 3
oCelda = oHojaDatos.getCellRangeByName("B" & i)
sDatosPer(i-1) = oCelda.getString()
Next

Tomando parte de estos datos creo un listado a modo de base de datos. Esta base de datos es muy simple y se limita a unos pocos campos, pero el procedimiento que implica es de gran importancia, ya que nos puede servir de base para crear docap entrados en los procesos de evaluación grupal. De hecho, sin esta funcionalidad que ahora es complementaria, el docap puede considerarse referente básico para crear soportes para la aplicación de test estandarizados, pero el hecho de crear este listado-BD permite avanzar en la creación de soportes de evaluación que toman como referencia el grupo-clase y permiten crear baremos locales (1).

For i= 1 To 500
oCeldaInicio = oHojaLista.getCellByPosition(0,i)
sContenido = oCeldaInicio.getString()
If sContenido = "" Then
For a =0 To 4
oCeldaInicio = oHojaLista.getCellByPosition(a,i)
oCeldaInicio.setString(mListado(a))
Next
Exit For
End If
Next

El paso siguiente y con el que finaliza esta primera fase consiste en el acceso al documento Calc Ficha como plantilla y activando el uso de macros.

mOpciones(0).Name="AsTemplate"
mOpciones(0).Value=True
mOpciones(0).Name="MacroExecutionMode"
mOpciones(0).Value=4

sRuta = ConvertToUrl("D:\ModeloExpediente.ods")
oDoc = StarDesktop.loadComponentFromURL( sRuta, "_blank", 0, mOpciones() )

Segunda: La plantilla Ficha genera automáticamente el documento que concreta la ficha del alumno y que se archiva dentro de la carpeta Expedientes. Dentro de este archivo se concreta el doble proceso de traslado de datos al listado de campos y su asociación a un conjunto de celdas que muestras dichos datos en formato ficha (de ahí el nombre del documento.


Posteriormente se accede al contenidos de determinados campos...


For i=0 To 10
    oCelda(i) = oHojaDatos.getCellRangeByName( "A" & i+1 )
     sDatos(i) = oCelda(i).getString
Next

... para posteriormente analizar los datos que contienen y que se consideran relevantes (2).

If iTotalDif = 0 Then
sValorDif = " no existe diferencia en cuanto al númer de documentos, lo que indica que el expediente se ha mantenido actualizado hasta el momento."
ElseIf iTotalDif > 0 Then
sValorDif = "una reducción del número de archivos (" & ABS(iTotalDif) & " documentos)"
ElseIf iTotalDif < 0 Then
sValorDif = "un incremento del número de archivos (" & ABS(iTotalDif) & " documentos)"
End If

En función de este análisis se plantean diferentes opciones de documentación, incluyendo la creación de un tercer soporte (Writer) que denomino Informe.

If dPorcentajeDif > 25 Then
CrearInfo (sIdentificador,sNumDoc,sAnalisisTotal,sValoraPorcentaje)
Else
MsgBox ("ANÁLISIS DE RESULTADOS: " & Chr(13) & sIdentificador & Chr(13) & sNumDoc & " " & sAnalisisTotal & " " & sValoraPorcentaje)
End If

Tercera: Esta fase se desarrolla bien dentro de Ficha, cuando no se considera necesario crear un informe (3) o, y de forma más específica y compleja, a partir del propio documento Writer Informe. En este caso se puede (también es opcional) aplicar una macro de formato. Esta macro es universal, pero podría estar específicamente creada para formatear dicho documento, aunque necesariamente deberá ser ubicada en Mis macros (4)

dim args4(4) as new com.sun.star.beans.PropertyValue
args4(0).Name = "CharFontName.StyleName"
args4(0).Value = ""
args4(1).Name = "CharFontName.Pitch"
args4(1).Value = 2
args4(2).Name = "CharFontName.CharSet"
args4(2).Value = -1
args4(3).Name = "CharFontName.Family"
args4(3).Value = 5
args4(4).Name = "CharFontName.FamilyName"
args4(4).Value = "Verdana"
dispatcher.executeDispatch(document, ".uno:CharFontName", "", 0, args4())

NOTAS

(1) La relevancia de esta cuestión sobrepasa el objetico de esta entrada, por lo que ahora no seguiré tratando este tema, pero sí quiero señalar su gran importancia para la definición de un modelo de intervención de los SEO, diferenciado del modelo clínico aun predominante en la práctica profesional real.

(2) El análisis que se realizar en este docap en concreto está limitado conscientemente por la función que se pretende que cumpla, evitando entrar en procesos de mayor complejidad. En caso de ser empleado para desarrollar el uso de en test en concreto, sería necesario profundizar en el modelo de análisis.

(3) En este caso (cuando se incumple el criterio de una diferencia superior al 25%) se emite un breve informe soportado en MsgBox desde la propia ficha.

(4) Esto está relacionado obviamente por ser un documento creado desde el propio código del documento Ficha.

Documentos. Expediente

Mantenimiento del expediente SEO digitalizado.

En una entrada anterior hablaba yo de las carencias del proceso de informatización de los "expedientes" SEO del alumnado con NEAE y reclamaba la necesidad de profundizar en ella, así como de disponer de recursos para facilitar dicha informatización. Considero ahora también necesario contar con recursos que ayuden al mantenimiento de estos "expedientes", ya que se observa que con el tiempo tienden a degradarse a consecuencia de la falta de sistematización y de continuidad en su gestión. 


Propongo para ello elaborar un recurso que ayude al análisis de esta documentación que llamo impropiamente "expediente SEO" por facilitar la comprensión de su naturaleza, a sabiendas que sólo existe un expediente escolar y es el que se encuentra custodiado en los colegios. 

Salvando rigores de denominación, es necesario añadir a las deficiencias observadas en la entrada citada al inicio de la actual, la tendencia a la desorganización de estos expedientes derivada del paso del tiempo, la pluralidad de gestores y usuarios, pero también de la propia ausencia de sistematización de los expedientes.

Este recurso (docap) no evita dicho desorden pero ayuda a sistematizar y reorganizar el expediente, además de contribuir al análisis de los datos que derivan de dicha sistematización. Si satisface suficientemente estos objetivos ya contribuye sobradamente al fin último que se persigue en este blog: colaborar en el proceso de informatización de la documentación SEO, como medio de favorecer sus sistematización, mantenimiento y análisis.

La sistematización se concreta en el modelo de recogida de datos que se propone y que reflejan los formularios que se emplean. Cualquier modificación de los criterios subyacentes implica necesariamente una modificación de dichos formularios.


En mi propuesta opto por analizar la documentación inicial y final en función del soporte o tipo de documento, categorizar su tipología en función de tres variables de contenido: Actuaciones, Informes y MAD y, en paralelo y/o como subdivisión de las anteriores en categorías más cercanas al contenido real de los documentos (entrevistas, observaciones, informes, PTI...) Pero únicamente se trata de una propuesta y, además, provisional (1)

El cuanto al mantenimiento de los expedientes, la mayor contribución de este docap lo es en la creación de una ficha individual por alumno. Precisamente nació como herramienta para facilitar esta tarea, después de desarrollarla manualmente sobre un número suficiente de expedientes. Aunque los resultados son modestos, he comprobado que son satisfactorios en términos de ahorro de tiempo.

Finalmente, y también como último desarrollo del docap (es lo último que he implementado en él), he añadido un  procedimiento, sencillo y limitado, para facilitar la recogida sistemática de información que se concreta en la creación de una base de datos, como fuente para un posterior análisis de datos. Únicamente me quedo en esto (en la práctica), aunque apunto hacia ciertas posibilidades de concreción de dicho análisis. Para mis fines esto es más que suficiente, pero es posible que no si se desea utilizar como recurso con esta finalidad como principal objetivo (2)

Este docap va dirigido a facilitar el registro sistemático y actualizado del conjunto de documentos informatizados que conforman dicho expediente. De hecho nada impide que también se incluyan los documentos en soporte papel, aunque sería necesario, para ello, realizar las modificaciones que correspondan, tanto en el soporte de gestión (Gestor) como en el de almacenamiento (Ficha).

También es posible (y yo diría aquí que necesario) ampliar y mejorar los procedimientos de análisis que se ubican en el código del documento Ficha, a fin de mejorar la elaboración del documento Informe (Writer), ya que su redacción es actualmente muy básica. Mejorar este aspecto puede implicar desarrollar procesos de análisis y recogida de datos que no se plantean en estos momentos, aunque la mera formulación del informe ya permite un primer acercamiento a dicho análisis.

En cuanto al funcionamiento, aunque no me voy a detener en aquello que ya ha sido explicado en la entrada o en el vídeo complementario, sí quiero insistir  en algunas cuestiones:

  • El soporte de gestión (Gestor) utiliza el ya conocido recurso de asociar control-celda. Esto simplifica el funcionamiento del docap y justifica que se utilice Calc en la fase input.
  • Lo mismo puede aplicarse al segundo componente (Ficha) aunque aquí en sentido inverso: las celdas de Ficha a las que se trasladan los valores desde Gestor se asocian mediante procedimientos elementales Calc con otras celdas (vg. A1=B5), permitiendo así simular la visualización del contenido en formato "ficha".
  • El código OOoBasic no resulta novedoso, ya que es el mismo que se ha empleado en docap anteriores para acceder al contenido de las celdas (previo acceso al documento y a la hoja). La forma en que se concreta este código ha sido expuesta en una entrada que complementa a ésta  y está a disposición del interesado desde el IDE de los propios documentos originales (3)
  • Tanto en la creación de la base datos como en la ficha individual he reducido conscientemente la complejidad del análisis de los datos para eludir complicaciones que son de poca utilidad en estos momentos. No obstante una propuesta de trabajo real implica acordar a nivel de SEO la gestión y el tratamiento a dar a la información y, una vez acordado, proceder en consecuencia desarrollando procedimientos de análisis más complejos y ajustados a los objetivos que se establezcan.
  • Algo similar se puede decir respecto al texto del documento Informe, como cabe esperar en función de la relación que existe entre éste y el resultado del análisis de los datos individuales. De hecho, el con el uso (opcional) de este tercer componente en el docap  pretendo únicamente mostrar que es posible crear un proceso complejo de interacción entres diferentes componentes y servicios de LO, utilizando cada uno de ellos en la forma y para el fin en que resulte más conveniente y útil.

NOTA 1. Animo a plantear colectivamente una propuesta de estructuración de los contenidos del expediente SEO. Aunque únicamente sea provisional (como lo es mi propuesta) aplicarlo de forma sistemática, prolongada en el tiempo y suficiente en frecuencia permitirá apreciar las ventajas que aporta esta sistematicidad y aportará datos para formular propuestas más sólidas en futuro.

NOTA 2. En ese caso es necesario definir a priori el tipo de análisis que interesa, a fin de identificar los datos necesarios y proceso de análisis a llevar a desarrollar. En esta línea estoy trabajando sobre un proyecto de análisis, pero no lo vinculo a este docap para hacerlo más sencillo y poder ofrecerlo desde ahora como recurso, sin esperar a la conclusión del proceso de revisión y sobre todo de análisis de resultados. Entendiendo las limitaciones que esto conlleva, prefiero que pueda ser de inmediata utilidad aunque provisional. Tiempo habrá, si es que resulta pertinente, de ofrecer una herramienta más potente en términos de análisis de datos; por ahora es suficiente que lo sea para la creación de documentos de expediente.

NOTA 3Ver a continuación en Descarga.

Descarga. Documentos necesarios para el funcionamiento del docap.

  • Estos archivos se deberán descargar y copiar en la unidad D, directorio raíz. Cualquier cambio en esta ubicación implica modificar el código correspondiente.
  • En esa ubicación deberá crearse una carpeta llamada Expedientes. En ella se guardan automáticamente las fichas individuales y se recomienda guardar manualmente los informes. Ambos se crean de forma automática según el funcionamiento del docap.
  • En Gestor se deben cumplimentar TODOS los campos, no dando por cumplimentado ninguno, bien sea que aparezcan con un valor por defecto (0) o vacíos. No hacerlo provoca error en el funcionamiento del docap y su suspensión.
  • La macro de formato para informe deberá ser copiada dentro del directorio IDE Mis macros, librería Standard y activada desde la misma de forma directa ((Herramientas/Macros/Ejecutar macro)
Documentos: