Meilleures pratiques pour la création d'applications GxP
  • 31 Jan 2024
  • 8 Minutes à lire
  • Contributeurs

Meilleures pratiques pour la création d'applications GxP


Article Summary

Les environnements GxP ont des exigences uniques qui peuvent être prises en compte par la création et la configuration de Tulip App. Tulip a un ensemble standardisé de meilleures pratiques pour assurer la conformité qui sont décrites ici.

Dans cet article, vous trouverez :

  • Une liste des meilleures pratiques et des recommandations pour la création d'applications dans un environnement GxP
  • Des informations sur la manière de mettre en œuvre les meilleures pratiques au sein de Tulip Apps pour assurer la conformité GXP, y compris la traçabilité de la piste d'audit et l'intégrité des données.

:::(Info) (NOTE)Cet article suppose une connaissance préalable des concepts de base de Tulip tels que les variables, les tables et les enregistrements d'achèvement. Veuillez vous référer aux articles applicables si nécessaire.:: :

Meilleures pratiques couvertes dans cet article :

  1. Capturer la généalogie et EDHR/eBR :

1.1 Utiliser les données d'achèvement pour créer un enregistrement historique non modifiable

1.2 Utiliser les données d'achèvement pour créer une traçabilité complète lors de la modification des tableaux

1.3 Utiliser les données d'achèvement pour assurer une traçabilité complète des modifications apportées aux entrées historiques.
2. Bonnes pratiques pour la gestion des paramètres de processus (par exemple, unité de mesure, précision décimale et convention d'appellation des variables)
3. Pratique minimale pour l'affichage d'informations standard à chaque étape
4. Capture des signatures électroniques à l'aide de widgets de signature
5. Gestion des exceptions et activation de l'examen par exception
6. Utilisation et gestion des horodatages
7. Activer la fonctionnalité "Pause & Reprise" pour les process Apps.


1. Capturer la généalogie et l'historique : Utiliser les données relatives aux achèvements pour créer un enregistrement historique immuable.

  • Les enregistrements historiques sont compilés en reliant un enregistrement de la table Tulip (c'est-à-dire une ligne dans une table) avec des données d'achèvement (entrées/rangées). Tout enregistrement de table Tulip inclus dans les données d'achèvement peut être utilisé pour cette liaison, par conséquent l'enregistrement de table nécessaire pour l'enregistrement historique sera chargé dans l'application au moment où l'achèvement de l'application se produit. Veillez à inclure les achèvements d'application dans votre logique de déclenchement lorsque vous manipulez des données d'enregistrement.
  • Lesenregistrements de l'historique sont compilés à partir de plusieurs achèvements, c'est pourquoi les applications doivent être "achevées" aux points du processus où les données doivent être enregistrées. Il peut donc être nécessaire qu'une application se termine plusieurs fois au cours de son exécution. Notez que l'achèvement d'une application efface les variables non persistantes, ce qui doit être pris en compte lors de la conception de l'application.

Saisir la généalogie et l'historique : Utiliser les données d'achèvement pour créer une traçabilité complète lors de la modification des tableaux.

  • Lorsque vous travaillez avec des enregistrements de tableaux, assurez la traçabilité avec les compléments : Rappel : La manipulation des données dans les enregistrements de table pendant l'exécution de l'application se produit en temps réel et n'est pas liée à l'achèvement de l'application. Pour que les données soient contemporaines, il faut inclure la manipulation des données de la table dans la même séquence de déclenchement que l'achèvement de l'application.

Saisir la généalogie et l'historique : Utilisez les données d'achèvement pour gérer la traçabilité complète des modifications apportées aux entrées historiques.

  • La correction des entrées Digital Record History ne peut se faire qu'en ajoutant de nouvelles données de complétion. Il n'existe aucun moyen de modifier intentionnellement les valeurs d'un enregistrement d'achèvement. Ceci est intentionnel afin de s'assurer que les données originales sont maintenues.
  • Pour simplifier, un enregistrement d'achèvement est une piste d'audit de l'exécution d'une application. Les données qui ont déjà été enregistrées dans l'enregistrement d'achèvement sont corrigées par une entrée supplémentaire dans l'enregistrement d'achèvement.

Exemple de correction mise en œuvre dans les applicationsComment effectuer la correction : Exécuter à nouveau l'application ou les étapes de l'application, avec une variable optionnelle qui définit l'enregistrement comme une "correction".

  • Créez une variable "Type d'enregistrement" à laquelle sont attribuées des valeurs standard telles que "Normal", "Correction", etc. qui peuvent être utilisées pour trier/filtrer l'enregistrement d'achèvement.
  • Dans la plupart des cas, il suffit d'utiliser les dates saisies pour trier les enregistrements de correction, car il s'agit d'un ordre chronologique, l'enregistrement le plus récent étant la valeur valide.

2. Bonnes pratiques pour la gestion des paramètres de processus (par exemple, l'unité de mesure, la précision décimale et les pratiques de dénomination des variables)

  • Utiliser des variables d'aide supplémentaires pour enregistrer l'unité de mesure des données de processus. Pour les données de processus et de production, il est toujours important de spécifier l'unité de mesure (UOM), par exemple °C, Kg, Litres, Ph., etc.
  • Pour ce faire, il convient d'utiliser une variable supplémentaire (variable d'aide) qui peut être sélectionnée ou qui a une valeur statique.
  • Les variables d'aide seront sauvegardées dans l'enregistrement d'achèvement.
  • Utiliser la logique et l'expression de l'app Trigger pour gérer la précision décimale. Certains paramètres de processus peuvent nécessiter une précision spécifique, c'est-à-dire un nombre de décimales. Cette précision doit être gérée dans l'application au moyen d'une logique de déclenchement et d'expressions.
  • Utiliser des noms de variables clairs pour mettre en évidence les variables clés. Paramètres critiques de processus (CPP) ou Attributs critiques de qualité (CQA)
  • Certains paramètres de processus doivent être définis comme des paramètres critiques de processus (CPP) ou des attributs critiques de qualité (CQA).
  • Il n'y a pas actuellement de moyen de marquer les variables dans Tulip, donc la façon la plus simple de le faire est d'ajouter un préfixe ou un suffixe aux noms des variables. Par exemple, des noms de variables tels que "temperature_CPP", "CQA_Assay B", etc.

3. Informations standard minimales à afficher sur chaque étape

Les éléments suivants doivent être affichés à chaque étape afin de fournir à l'utilisateur le contexte approprié :

  1. Le nom ou l'identifiant unique de l'élément principal traité dans l'application, par exemple : lot, commande, équipement, outil. Dans certains cas, il y aura plusieurs éléments.
  2. Les éléments suivants doivent être présents dans la présentation de base de l'application.
    1. Les "Informations sur l'application / Nom de l'application".
    2. Les "Informations sur l'application / Version de l'application
    3. Les "Informations sur l'application / Utilisateur connecté".
    4. Info App / Nom de l'étape (dans une taille de police proéminente, car le nom de l'étape fournit généralement un contexte de processus utile à l'opérateur).

4. Capture des signatures électroniques à l'aide des widgets de signature

Utilisez le titre de la signature ou la saisie de variables supplémentaires sur l'étape pour donner un contexte aux signatures. N'oubliez pas que les exigences en matière de signature électronique imposent qu'une signature comprenne les éléments suivants

  1. Quel est l'objet de la signature ? Le contexte de la signature peut être décrit dans le nom de l'étape de signature, par exemple lot, commande, équipement, etc.
  2. Pourquoi signez-vous ? Utilisez des variables pour placer la raison de la signature au-dessus du widget de signature.
  3. Quand la signature a-t-elle été apposée ? La date et l'heure correspondent au moment où la signature a été apposée. L'application capture automatiquement cette information en tant que données d'achèvement lorsque le widget de signature est complété.

Voici quelques méthodes recommandées pour capturer le contexte de la signature.

  • Utiliser le nom de l'étape pour définir la raison de la signature électronique.
  • Placez des étapes de groupe qui nécessitent une signature électronique et incluez le widget de signature en tant que dernière étape du groupe.
  • Utilisez une étiquette de saisie de texte ou une liste déroulante à sélection unique décrivant l'intention de la signature.
  • Créez une étape de résumé avant la signature pour fournir à l'utilisateur le contexte de ce qu'il signe.

5. Gérer les exceptions et activer l'examen par exception

Les points suivants sont importants pour permettre l'examen des exceptions liées à un enregistrement historique.

  • Utiliser une variable d'application pour définir le type d'enregistrement (par exemple, normal, correction, exception - voir section 1.3) afin de permettre aux exceptions d'être facilement identifiées.
  • Utilisez un tableau pour rassembler les exceptions en vue de leur examen. Chaque exception (défaut, observation, etc.) doit être stockée sous la forme d'un enregistrement unique dans un tableau Tulip comprenant toutes les informations pertinentes (informations sur l'exception, date/heure, application, commande/lot, opérateur, etc.) En plus d'être stockés dans les données d'achèvement, ces enregistrements peuvent être liés au lot ou à la commande.
  • Dans le tableau des exceptions, incluez une colonne qui lie ou référence l'artefact sur lequel porte l'exception. Par exemple : lot, matériel, équipement, commande.

6. Utilisation et gestion des horodatages

  1. Les horodatages dans l'enregistrement d'achèvement sont capturés en UTC avec un décalage pour le fuseau horaire.
  2. Le formatage de la date et de l'heure peut être défini au niveau de l'instance pour toutes les applications. Cela se fait dans l'option "Paramètres/Date et heure".

  1. Les formats de date et d'heure peuvent être formatés dans l'éditeur d'expression. Lors de l'affichage ou de la saisie de la date et de l'heure, veillez à ce que la date et l'heure soient affichées dans un format cohérent.
  2. Les formats d'heure GxP exigent un format sans ambiguïté, par exemple "04-Jul-2020"
  3. Utilisez l'expression pour formater l'affichage de la date et de l'heure dans les applications et les analyses.
  4. Les dates peuvent être formatées au format spécifié en utilisant la fonction DATETIMETOTEXT dans l'éditeur d'expressions.

7. Rendre les processus Apps résistants aux annulations / Activer la fonctionnalité Pause & Reprise

Les processus par lots peuvent durer plusieurs heures ou plusieurs jours. Pour permettre à un opérateur d'interrompre le travail sur un lot et de le reprendre là où il s'est arrêté à un moment ultérieur, il convient d'envisager les recommandations de la solution présentée dans la section "Fonctionnalité de pause et de reprise".


Cet article vous a-t-il été utile ?