Fundamentos de la creación de aplicaciones GxP
  • 24 Jan 2024
  • 6 Minutos para leer
  • Colaboradores

Fundamentos de la creación de aplicaciones GxP


Article Summary

Este artículo le proporcionará los conocimientos básicos para abordar la creación de aplicaciones en entornos GxP.

Este artículo asume un conocimiento previo de los conceptos básicos de Tulip como Variables, Tablas y Registros de finalización.


Lenguaje

El estilo y el lenguaje de las aplicaciones deben ajustarse a su uso previsto. Los procedimientos operativos estándar, las instrucciones de trabajo y los métodos deben estar escritos en un estilo imperativo obligatorio.


Versionado

Al publicar una aplicación, se recomienda describir en la sección de comentarios la naturaleza de los cambios, por ejemplo, actualización de la interfaz de usuario, corrección de errores, etc., con respecto a la aplicación publicada anteriormente.


Información estándar que debe mostrarse en cada paso

Los siguientes elementos deben mostrarse en cada paso para proporcionar al usuario el contexto adecuado:

  • El nombre o ID único del elemento principal que la App se utiliza para procesar. "Elemento", por ejemplo, lote, pedido, equipo o herramienta que se está utilizando o procesando. En algunos casos puede haber varios elementos. En la mayoría de los casos, esto debería lograrse creando o cargando un registro de tabla que contenga la información al principio de la aplicación.
  • El usuario conectado
  • La versión de la aplicación
  • El nombre del paso de la aplicación

También se recomienda tener un botón de cierre de sesión en todos los pasos que desencadene una acción de "Cierre de sesión del usuario actual".


Marcas de tiempo y formato de fecha

Las marcas de tiempo en el registro de finalización se capturan en UTC con un desfase por zona horaria. El formato de fecha y hora puede establecerse a nivel de Instancia para todas las Aplicaciones. Esto se hace en la sección "Fecha y Hora" del menú "Configuración" de la instancia y debe ser configurado por un Propietario de Cuenta.


Captura de la firma electrónica con el widget de firma electrónica

Para cumplir con la normativa ER/ES (Registros Electrónicos / Firmas Electrónicas), una Firma debe dar contexto a los firmantes:

  • "Qué"

Contexto de la firma, por ejemplo, lote, pedido, equipo, etc.

  • "Por qué

Motivo de la firma, por ejemplo, liberación de una orden de proceso.

Se recomienda la siguiente estructura para las firmas:

  • Agrupe los pasos que requieran una firma electrónica e incluya el widget de firma electrónica en el último paso del grupo
  • Cree un paso de resumen, si procede, antes del widget que muestre todos los datos relevantes para proporcionar al firmante el contexto de la firma ("Qué")
  • Utilice el título del formulario, por ejemplo "Firma para reimpresión de etiqueta", y la etiqueta del nombre de usuario, por ejemplo "Supervisor", para definir el motivo de la firma ("Por qué").

Cuando se envía la firma, Tulip registra automáticamente información adicional:

  • "Quién" ha firmado el formulario
  • "Cuándo" se ha enviado la firma
  • Cualquier comentario añadido

Es obligatorio consignar los datos actuales de la aplicación en un registro de finalización inmutable. Esto se puede conseguir de dos maneras:

  • Utilizando la acción "Guardar todos los datos de la aplicación" en un activador de "Acción personalizada" en el botón de envío del widget de firma.
  • Completando la aplicación, ya sea utilizando la configuración estándar "Completar aplicación" para el botón de envío o utilizando una acción "Completar aplicación" en un activador "Acción personalizada".

Acción Guardar todos los datos de la aplicación

La acción "Guardar todos los datos de la aplicación" almacena los valores actuales de todas las variables de la aplicación, así como los valores de campo actuales de todos los registros de tabla cargados en un registro de finalización de la aplicación. Los registros de finalización son inmutables y no se pueden eliminar.

Finalización de la aplicación

Una App Completion almacena los datos del mismo modo que la acción "Guardar todos los datos de la aplicación". Además, una finalización de aplicación restablece todas las variables a su valor predeterminado, pero las que tienen la opción "borrar al finalizar" desactivada. Además, se borran todos los Marcadores de Posición de Registro de Tabla. Tras la finalización de una aplicación, es posible reiniciar la misma aplicación desde el principio o continuar con un paso específico dentro de la misma aplicación o de otra. Esto puede configurarse en la "transición" utilizada para realizar la finalización.

Cancelación de aplicaciones

La cancelación de una aplicación es idéntica a la finalización de una aplicación, pero todas las variables se restablecen a su valor predeterminado.

Inicialización automática de aplicaciones

Para una aplicación que debe completarse varias veces durante la ejecución, por ejemplo, debido a varias firmas, se recomienda almacenar su contexto antes de cada finalización, por lo que la aplicación puede configurarse para restaurar automáticamente su contexto después de reiniciarse. El contexto puede ser el ID de los registros de la tabla, por ejemplo, el lote actual, y/o variables, por ejemplo, un contador. Se recomienda almacenar el contexto de la aplicación en una tabla utilizando "App Info: Nombre de la estación" como ID del registro. Este registro puede cargarse en el (re)inicio de la aplicación utilizando un activador "Aplicación iniciada". El mismo enfoque puede utilizarse para lograr una transición fluida a otra aplicación.

Se pueden aplicar principios similares para reanudar la ejecución de una aplicación tras su cancelación, por ejemplo, debido a un cierre de sesión automático o a la selección de "Reiniciar" en el menú del reproductor. Para estos casos de uso, se recomienda almacenar un nombre de paso como información de contexto adicional para que la aplicación se abra después de reiniciarse. Puede ser el nombre del último paso mostrado o un paso específico que debería abrirse para la recuperación.


Excepciones y habilitación de la revisión por excepción

Se recomienda utilizar una tabla Tulip para recopilar todas las excepciones que se produzcan durante la ejecución de la aplicación. Cada excepción (defecto, observación, etc.) debe almacenarse como un único registro en esa tabla Tulip, incluyendo toda la información pertinente sobre la excepción, es decir, tipo, descripción, fecha/hora, aplicación, operador, etc. Además, este registro debe vincularse mediante la función "Registros vinculados" a los registros de todos los artefactos relacionados con la excepción, es decir, lote, pedido, material, equipo, sala, etc.


Registros, corrección de registros, historial de registros

Se recomienda almacenar los datos GxP relevantes como registros en Tulip Tables con referencia a sus artefactos relevantes, es decir, lote, pedido, material, equipo, sala, etc.

Se recomienda corregir los datos GxP relevantes dentro del registro original, ya que cualquier cambio se reflejará en el historial del registro. La corrección debe presentarse mediante un formulario firmado.

Para facilitar la recuperación de los registros, se recomienda asignar un identificador inequívoco y sistemático a todas las entradas, es decir, "-".

Historial de registros

Como se ha descrito anteriormente, los valores de las variables se almacenan en un registro de finalización en el momento de finalizar o cancelar la aplicación. En cambio, la manipulación de datos en una Tabla ocurre en tiempo real. Cualquier cambio en cualquier campo de un registro de tabla se registrará automáticamente con información contextual (usuario, aplicación, versión de la aplicación, estación, fecha y hora) por Tulip.

Cada registro de Tulip Table tiene un historial de registros. Este historial mostrará todos los cambios registrados, incluida la información contextual (usuario, aplicación, versión de la aplicación, estación, fecha y hora).

Además, el historial de registros mostrará los datos de cualquier finalización o cancelación de aplicación en la que se incluya el registro, es decir, que se haya cargado en el momento de la finalización/cancelación. Esto incluye cualquier firma electrónica registrada en esas finalizaciones/cancelaciones. Las firmas se mostrarán en la línea de tiempo del historial de registros según la fecha y hora en que se realizaron. Todos los demás datos de finalización se mostrarán con la marca de tiempo de la finalización/cancelación.

Más información


¿Te ha sido útil este artículo?