-
Impression
Meilleures pratiques pour la création d'applications GxP
Les environnements GxP ont des exigences uniques qui peuvent être satisfaites par la construction et la configuration de Tulip App. Tulip dispose d'un ensemble standardisé de bonnes pratiques pour assurer la conformité, qui sont décrites ici.
Dans cet article, vous trouverez :
- Une liste des meilleures pratiques et recommandations pour la création d'Apps dans un environnement GxP.
- Des informations sur la façon de mettre en œuvre les meilleures pratiques dans Tulip Apps pour assurer la conformité GXP, y compris la traçabilité des pistes 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 :
- Capturer la généalogie et l'EDHR :
1.1 Utiliser les données d'achèvement pour créer un enregistrement d'historique non modifiable.
1.2 Utiliser les données d'achèvement pour créer une traçabilité complète lors de la modification de tableaux
1.3 Utiliser les données de complétion pour créer une traçabilité complète des modifications apportées aux entrées historiques
2. Meilleures pratiques pour la gestion des paramètres de processus (par exemple, unité de mesure, précision décimale et convention de dénomination des variables)
3. Pratique minimale pour l'affichage d'informations standard sur chaque étape
4. Capturer les signatures électroniques avec des widgets de signature
5. Gérer les exceptions et permettre la révision par exception
6. Utilisation et gestion des horodatages
1. Capturer la généalogie et l'enregistrement de l'historique : Utilisez les données d'achèvement pour créer un enregistrement historique immuable.
- Les historiques sont compilés en reliant un enregistrement de la table Tulip (c'est-à-dire une ligne dans une table) à des données d'achèvement (entrées/lignes). 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'historique sera chargé dans l'application en même temps qu'un achèvement d'application. Assurez-vous d'inclure les achèvements d'applications dans votre logique de déclenchement lorsque vous manipulez des données d'enregistrement.
- Les enregistrements d'historique sont compilés à partir de plusieurs achèvements, par conséquent, les applications doivent s'achever 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 le fait de terminer une application efface les variables non persistantes, ce qui doit être pris en compte lors de la conception de l'application.
Capture de la généalogie et de l'historique : Utilisez les données de complétion pour créer une traçabilité complète lorsque vous modifiez des tables.
- Lorsque vous travaillez avec des enregistrements de tableaux, assurez la traçabilité avec les complétions : Rappel : La manipulation des données dans les enregistrements de tables pendant l'exécution de l'App se fait en temps réel et n'est pas liée aux complétions de l'App. Pour que les données restent contemporaines, incluez la manipulation des données des tables dans la même séquence de déclenchement que l'achèvement de l'App.
Capturez les enregistrements de généalogie et d'historique : Utilisez les données de complétion pour gérer la traçabilité complète des modifications apportées aux entrées historiques.
- La correction des entrées {{glossary.Digital Record History}} ne peut se faire qu'en ajoutant de nouvelles données de complétion. Il n'y a aucun moyen de modifier intentionnellement les valeurs d'un enregistrement d'achèvement. Ceci est intentionnel pour assurer que les données originales sont maintenues.
- Une façon simple d'y penser est qu'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 implémentée dans les applicationsComment effectuer la correction : Exécutez à nouveau l'application ou les étapes de l'application, avec une variable facultative 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 entrées de correction, car il s'agit d'un ordre chronologique, l'entrée la plus récente étant la valeur valide.
2. Meilleures pratiques pour la gestion des paramètres du processus (par exemple, unité de mesure, précision décimale et pratiques de dénomination des variables)
- Utilisez 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.
- Faites-le avec une variable supplémentaire (variable d'aide) qui peut être sélectionnée ou qui a une valeur statique.
- Les variables d'aide seront enregistrées dans l'enregistrement de l'achèvement.
- Utilisez la logique et les expressions de l'application Trigger pour gérer la précision décimale. Certains paramètres de processus peuvent exiger une précision spécifique, c'est-à-dire le nombre de décimales. Cela doit être géré dans l'application par le biais de la logique de déclenchement et des expressions.
- Utilisez des noms de variables clairs pour mettre en évidence les variables clés, par ex. Paramètres de processus critiques (CPP) ou Attributs de qualité critiques (CQA).
- Certains paramètres de processus doivent être définis comme des paramètres de processus critiques (CPP) ou des attributs de qualité critiques (CQA).
- Il n'existe actuellement aucun moyen de marquer les variables dans Tulip. La façon la plus simple de le faire est d'ajouter un préfixe ou un suffixe aux noms de 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 sur chaque étape afin de fournir à l'utilisateur le contexte approprié :
- Le nom ou l'identifiant unique de l'élément principal que l'App est utilisée pour traiter. "L'élément", par exemple le lot, la commande, l'équipement, l'outil qui est utilisé ou traité. Dans certains cas, il y aura plusieurs éléments.
- L'utilisateur connecté
- La version de l'application
- Le nom de l'étape de l'application
4. Capture des signatures électroniques avec les widgets de signature
Utilisez le titre de la signature ou la saisie de variables supplémentaires à l'étape pour donner un contexte aux signatures. N'oubliez pas que les exigences en matière de signature électronique stipulent qu'une signature doit comprendre les éléments suivants
- Pour quoi signez-vous ? Le contexte de la signature peut être décrit dans le nom de l'étape de signature, par exemple : lot, commande, équipement, etc.
- Pourquoi signez-vous ? Utilisez des variables pour placer la raison de la signature au-dessus du widget de signature.
- Quand a-t-elle été signée ? La date et l'heure correspondent au moment où la signature a été apposée. L'application capture automatiquement ces informations 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.
- Utilisez le nom de l'étape pour définir la raison d'une signature électronique.
- Placez en groupe les étapes qui nécessitent une signature électronique et incluez le widget de signature comme dernière étape du groupe.
- Utilisez une étiquette de saisie de texte ou une liste déroulante à sélection unique qui décrit 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 permettre la révision par exception
Les éléments suivants sont importants pour permettre la révision des exceptions liées à un enregistrement de l'historique.
- Utilisez une variable d'application pour définir le type d'enregistrement (par exemple, normal, correction, exception - voir section 1.3) afin de pouvoir identifier facilement les exceptions.
- Utilisez un tableau pour rassembler les exceptions en vue de leur examen. Chaque exception (défaut, observation, etc.) doit être stockée sous 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 relie ou référence l'artefact pour lequel l'exception est faite. Par exemple, lot, matériel, équipement, commande
6. Travailler avec et gérer les horodateurs
- Les horodatages dans l'enregistrement d'achèvement sont capturés en UTC avec un décalage pour le fuseau horaire.
- 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".
- Les formats de date et d'heure peuvent être mis en forme dans l'éditeur d'expressions. Lors de l'affichage ou de la saisie de la date et de l'heure, veillez à afficher la date et l'heure selon un format cohérent.
- Les formats d'heure GxP exigent un format non ambigu, par exemple "04-Jul-2020".
- Utilisez une expression pour formater l'affichage de la date et de l'heure dans les applications et les analyses.
- Les dates peuvent être formatées au format spécifié en utilisant la fonction DATETIMETOTEXT dans l'éditeur d'expression.