Noções básicas de criação de aplicativos GxP
  • 24 Jan 2024
  • 6 Minutos para Ler
  • Contribuintes

Noções básicas de criação de aplicativos GxP


Resumo do artigo

Este artigo fornecerá a você conhecimentos básicos para abordar a criação de aplicativos em ambientes GxP.

Este artigo pressupõe conhecimento prévio dos conceitos básicos do Tulip, como variáveis, tabelas e registros de conclusão.


Linguagem

O estilo e a linguagem dos aplicativos devem se adequar ao uso pretendido. Procedimentos operacionais padrão, instruções de trabalho e métodos devem ser escritos em um estilo imperativo obrigatório.


Controle de versão

Ao publicar um aplicativo, recomenda-se descrever a natureza das alterações, por exemplo, atualização da interface do usuário, correções de erros ou outras, em relação ao aplicativo publicado anteriormente na seção de comentários.


Informações padrão a serem exibidas em cada etapa

Os seguintes elementos devem ser exibidos em cada etapa para fornecer ao usuário o contexto apropriado:

  • O nome ou a ID exclusiva do item principal que o aplicativo é usado para processar. "Item", por exemplo, lote, pedido, equipamento ou ferramenta que está sendo usado ou processado. Em alguns casos, pode haver vários itens. Na maioria dos casos, isso deve ser feito criando ou carregando um registro de tabela contendo as informações no início do aplicativo.
  • O usuário conectado
  • A versão do aplicativo
  • O nome da etapa do aplicativo

Também é recomendável ter um botão de Log-Off em todas as etapas que acionam uma ação de "Log-off do usuário atual".


Carimbos de data e hora e formato de data

Os registros de data e hora no registro de conclusão são capturados em UTC com um deslocamento para o fuso horário. A formatação de data e hora pode ser definida no nível da instância para todos os aplicativos. Isso é feito na seção "Data e hora" do menu "Configurações" da instância e precisa ser configurado por um proprietário da conta.


Captura de assinatura eletrônica com o widget E-Signature

Para estar em conformidade com os regulamentos ER/ES (Electronic Records / Electronic Signatures), uma assinatura deve fornecer contexto aos signatários:

  • "O quê"

Contexto da assinatura, por exemplo, lote, pedido, equipamento etc.

  • "Por que"

O motivo da assinatura, por exemplo, liberação de ordem de processo

A estrutura a seguir é recomendada para assinaturas:

  • Agrupe as etapas que exigem uma assinatura eletrônica e inclua o widget de assinatura eletrônica na última etapa do grupo
  • Crie uma etapa de resumo, se aplicável, antes do widget, mostrando todos os dados relevantes para fornecer ao signatário o contexto da assinatura ("O quê")
  • Use o título do formulário, por exemplo, "Signature for label reprint" (Assinatura para reimpressão de etiqueta), e o rótulo do nome de usuário, por exemplo, "Supervisor", para definir o motivo da assinatura ("Why").

Quando a assinatura é enviada, a Tulip registra automaticamente informações adicionais:

  • "Quem" assinou o formulário
  • "Quando" a assinatura foi enviada
  • Quaisquer comentários adicionados

É obrigatório confirmar os dados atuais do aplicativo em um registro de conclusão imutável. Isso pode ser feito de duas maneiras:

  • Usando a ação "Save All App Data" (Salvar todos os dados do aplicativo) em um acionador de "Custom Action" (Ação personalizada) no botão de envio do widget de assinatura.
  • Ao concluir o aplicativo, usando a configuração padrão "Complete App" para o botão de envio ou usando uma ação "Complete App" em um acionador "Custom Action".

Ação Salvar todos os dados do aplicativo

A ação "Save All App Data" (Salvar todos os dados do aplicativo) armazena os valores atuais de todas as variáveis do aplicativo, bem como os valores de campo atuais de todos os registros de tabela carregados em um registro de conclusão do aplicativo. Os registros de conclusão são imutáveis e não podem ser excluídos.

Conclusão do aplicativo

Uma conclusão de aplicativo armazena os dados da mesma forma que a ação "Save All App Data". Além disso, uma conclusão de aplicativo redefine todas as variáveis para o valor padrão, mas as que têm a opção "limpar na conclusão" estão desativadas. Além disso, todos os espaços reservados de registros de tabela são apagados. Após a conclusão de um aplicativo, é possível reiniciar o mesmo aplicativo desde o início ou prosseguir para uma etapa específica dentro do mesmo aplicativo ou de outro aplicativo. Isso pode ser configurado na "transição" usada para fazer a conclusão.

Cancelamento de aplicativos

O cancelamento de um aplicativo é idêntico à conclusão de um aplicativo, mas todas as variáveis serão redefinidas para o valor padrão.

Inicialização automática do aplicativo

Para um aplicativo que precisa ser concluído várias vezes durante a execução, ou seja, devido a várias assinaturas, é recomendável armazenar o contexto antes de cada conclusão, portanto, o aplicativo pode ser configurado para restaurar automaticamente o contexto após a reinicialização. O contexto pode ser a ID dos registros da tabela, por exemplo, o lote atual, e/ou variáveis, por exemplo, um contador. Recomenda-se armazenar o contexto do aplicativo em uma tabela usando o "App Info: Nome da estação" como ID do registro. Esse registro pode ser carregado no (re)início do aplicativo usando um acionador "App Started". A mesma abordagem pode ser usada para obter uma transição perfeita para outro aplicativo.

Princípios semelhantes podem ser aplicados para retomar a execução do aplicativo após o cancelamento de um aplicativo, ou seja, devido a um logout automático ou à seleção de "Restart" (Reiniciar) no menu Player. Para esses casos de uso, recomenda-se armazenar um nome de etapa como informação de contexto adicional para que o aplicativo seja aberto após a reinicialização. Esse nome pode ser o nome da última etapa exibida ou uma etapa específica que deve ser aberta para recuperação.


Exceções e habilitação da revisão por exceção

Recomenda-se o uso de uma tabela Tulip para agrupar todas as exceções que ocorrem durante a execução do aplicativo. Cada exceção (defeito, observação, etc.) deve ser armazenada como um único registro nessa tabela Tulip, incluindo todas as informações relevantes sobre a exceção, ou seja, tipo, descrição, data/hora, aplicativo, operador, etc. Além disso, esse registro deve ser vinculado aos registros de todos os artefatos relacionados à exceção, ou seja, lote, pedido, material, equipamento, sala etc., usando o recurso "Linked Records".


Registros, correção de registros, histórico de registros

Recomenda-se armazenar dados relevantes de GxP como registros em tabelas Tulip com referência a seus artefatos relevantes, ou seja, lote, pedido, material, equipamento, sala etc.

Recomenda-se corrigir os dados relevantes de GxP no registro original, pois qualquer alteração será refletida no histórico do registro. A correção deve ser enviada por meio de um formulário assinado.

Para facilitar a recuperação de registros, recomenda-se atribuir uma identificação sistemática e inequívoca a todas as entradas, ou seja, "-".

Histórico de registros

Conforme descrito acima, os valores das variáveis são armazenados em um registro de conclusão no momento da conclusão ou do cancelamento do aplicativo. Por outro lado, a manipulação de dados em uma tabela ocorre em tempo real. Qualquer alteração em qualquer campo de um registro de tabela será automaticamente registrada com informações contextuais (usuário, aplicativo, versão do aplicativo, estação, registro de data e hora) pela Tulip.

Cada registro da tabela Tulip tem um histórico de registros. Esse histórico de registro mostrará todas as alterações registradas, incluindo as informações contextuais (usuário, aplicativo, versão do aplicativo, estação, registro de data e hora).

Além disso, o histórico de registros mostrará os dados de qualquer conclusão ou cancelamento de aplicativo no qual o registro esteja incluído, ou seja, foi carregado após a conclusão/cancelamento. Isso inclui todas as assinaturas eletrônicas registradas nessas conclusões/cancelamentos. As assinaturas serão mostradas na linha do tempo do histórico do registro de acordo com o carimbo de data e hora em que foram realizadas. Todos os outros dados de conclusão serão mostrados com o registro de data e hora da conclusão/cancelamento.

Leitura adicional


Este artigo foi útil?