Découvrez quand utiliser le widget d’historique des enregistrements et comment le configurer en fonction de vos besoins.
Qui peut utiliser cette fonctionnalité ?
Les utilisateurs disposant d’un forfait « Regulated ».
Le widget d’historique des enregistrements (RHW) affiche les données enregistrées relatives à un enregistrement de table spécifique. Celles-ci peuvent inclure :
- les modifications apportées à l’enregistrement de table
- Les données issues des enregistrements de finalisation
- Les signatures électroniques, si l'enregistrement est considéré comme une donnée signée

Il est important de bien comprendre le fonctionnement de la collecte de données GxP dans Tulip pour savoir quand utiliser le widget d’historique des enregistrements.
Ce widget peut être utilisé dans les cas où vous souhaitez consigner l’historique d’un article fabriqué donné, par exemple
- les registres
- Conformité et traçabilité
- les registres historiques numériques
Comment fonctionne le widget « Historique des enregistrements » ?
Le widget « Historique des enregistrements » offre une visibilité sur un identifiant d’enregistrement spécifique en collectant et en affichant les données provenant des sources suivantes :
- Applications
- API Table
- Interface utilisateur des tables (interface d'administration)
- Automations

Le diagramme ci-dessus présente des exemples de mises à jour provenant de différentes sources.
Le widget d'historique des enregistrements affiche les données suivantes relatives à un identifiant d'enregistrement.
- Toute modification apportée aux champs de cet enregistrement via une application, l’interface utilisateur du tableau, l’API du tableau ou les automatisations
- Toute donnée de finalisation pointée par un espace réservé d’enregistrement au moment de la finalisation pour les applications
- Toute signature incluant l’enregistrement en tant que données signées
Le widget affiche l’historique chronologique de l’enregistrement dans une vue défilable et se met à jour lorsqu’il est rafraîchi (par exemple, en cas de changement d’étape). Cette vue permet à l’utilisateur de voir ce qui s’est passé sur cet enregistrement ou en lien avec celui-ci depuis sa création.
Par exemple, si un enregistrement est mis à jour via une application, une automatisation ou l’interface utilisateur de Table, les modifications sont consignées de manière séquentielle par le widget.

Le diagramme de workflow ci-dessus illustre la manière dont les différentes sources d’informations sur les enregistrements sont capturées par le widget d’historique des enregistrements. Chaque étape enregistre une nouvelle itération de la variable d’origine. Le widget d’historique des enregistrements détaille chaque mise à jour effectuée tout au long de la durée de vie de l’application.
Comment les données sont-elles affichées dans le widget « Historique de l’enregistrement » ?
Sections
Les données collectées à partir de chaque source sont visualisées à l’aide de sections et d’entrées. Toutes les données sont affichées par ordre chronologique et les sections regroupent les données appartenant à une même session. La session est définie par différents éléments en fonction de la source de données :
- Application: Utilisateur + Application (version) + Station
- API: API (jeton)
- Interface utilisateur du tableau: Utilisateur + Interface d'administration
- Automatisations: nom de l'automatisation
Une nouvelle section s'affiche lorsqu'une entrée n'a pas été créée à partir de la même session que la précédente. Par exemple :
- L'utilisateur exécutant une application a changé
- Un enregistrement est d'abord mis à jour depuis une application, puis depuis l'interface d'administration

Entrées
Chaque section contient une ou plusieurs entrées. Les entrées peuvent contenir des informations sur les modifications apportées aux enregistrements, les signatures ou les enregistrements d'achèvement. Toutes les entrées sont accompagnées d'un horodatage.
Entrées liées aux modifications d'enregistrements
Les entrées liées à la modification d’un enregistrement présentent l’historique complet de celui-ci, y compris les modifications apportées. Elles comprennent :
- La création d’un enregistrement
- Mise à jour d’un enregistrement
- La suppression d’un enregistrement
- Tous les enregistrements supprimés
- Modifications apportées à l'étape / à l'application (ces entrées apparaissent si des données ont été collectées au cours de cette étape)

L'exemple ci-dessus illustre un en-tête de section comprenant un utilisateur (John Smith), une application (Assemble History Tester) et une station (sans nom), ainsi que deux entrées. La première indique l'étape de l'application et la seconde présente les enregistrements mis à jour avec les anciennes et les nouvelles valeurs.
En option, les exécutions d’application annulées ou ayant entraîné une déconnexion automatique peuvent apparaître en gris avec un badge « Annulé » afin de les distinguer des exécutions normales. Contactez votre CSM ou l’administrateur Tulip pour activer ce comportement de l’interface utilisateur.

Collecter différents types de données
Enregistrements d’exécution
Les enregistrements de fin de processus capturent les données de traitement d’une application, telles que les valeurs des variables, les espaces réservés des enregistrements chargés et les métadonnées comme l’utilisateur, la station, etc. Un nouvel enregistrement de fin de processus est créé pour l’application chaque fois qu’une application est terminée, annulée ou lorsque l’action déclencheuse « Enregistrer toutes les données de l’application » est exécutée. Les données collectées sont identifiées comme « Données de traitement enregistrées » dans le widget d’historique des enregistrements.

Conditions requises pour l’inclusion des données d’achèvement dans le widget « Historique des enregistrements » :
- L'enregistrement doit être chargé dans n'importe quel espace réservé d'enregistrement de tableau lors de la création de l'enregistrement d'achèvement
- L’espace réservé d’enregistrement de table est défini sur « Enregistrer pour analyse »
Données affichées dans l’historique des enregistrements :
- Valeurs des variables: toutes les variables définies sur « Enregistrer pour analyse » sont incluses.
- ID de l'enregistrement: l'ID de tout enregistrement chargé dans un espace réservé d'enregistrement défini sur « Enregistrer pour analyse ». Cela exclut l'enregistrement pour lequel l'historique des enregistrements est affiché.
Modifications apportées aux données d’enregistrement de table
Les modifications apportées aux données des enregistrements de table peuvent provenir de trois sources :
- Dans une application, via les espaces réservés aux enregistrements (exécution de l’application X depuis la station Y)
- Interface utilisateur des tables (interface d’administration)
- API des tables
- Les automatisations
Le widget « Historique des enregistrements » affiche des informations concernant les modifications apportées à un enregistrement de table, telles que :
- Quelle a été la modification ?
- Qui l'a mis à jour ?
- Depuis quel canal la mise à jour a-t-elle eu lieu ? (Applications, interface utilisateur des tableaux, API des tableaux)
- Dans quelle interface la mise à jour a-t-elle été effectuée ?
- Quand la modification a-t-elle eu lieu ?
Modifications apportées à l’enregistrement via les espaces réservés d’enregistrement
« John Smith a exécuté l’application X à la station Y » Toutesles modifications apportées à l’affichage d’un enregistrement individuel dans le widget apparaissent dans une section comportant des aperçus avant/après de l’enregistrement du tableau. Ces modifications s’affichent quelle que soit l’application que vous utilisez.
Exemple
Modifications apportées à un enregistrement via l’interface utilisateur des tableaux (interface d’administration)
« Mise à jour de l’enregistrement via l’interface d’administration » Les modificationseffectuées via l’interface d’administration des tableaux sont affichées dans une nouvelle section. Chaque modification apparaît dans une entrée distincte, notamment :
- Utilisateur connecté
- Type de modification
- Anciennes valeurs vs nouvelles valeurs
- Horodatage
Exemple

Modifications apportées à un enregistrement via l’API Table
*« Enregistrement mis à jour via l’API » :*les requêtes API qui modifient l’affichage de l’enregistrement spécifié dans la table apparaissent dans une nouvelle section, notamment :
- Jeton API
- Type de modification
- Anciennes valeurs vs nouvelles valeurs
- Horodatage
Exemple

Modifications apportées à un enregistrement via des automatisations
*« L’automatisation X a mis à jour l’enregistrement »*Les modifications apportées aux enregistrements d’une table peuvent être effectuées à l’aide d’automatisations. Celles-ci sont affichées dans une nouvelle section, comprenant :
- Nom de l’automatisation
- Type de modification
- Anciennes valeurs vs nouvelles valeurs
- Horodatage
Exemple

Configuration
Ajouter le widget « Historique des enregistrements » à une étape de l'application
- Dans l'éditeur d'application, cliquez sur « Intégrer » dans la barre d'outils.
- Sélectionnez « Historique des enregistrements ».

Options de configuration
Configurez le widget « Historique des enregistrements » dans le volet de contexte.

Espace réservé lié
Sélectionnez l'espace réservé aux enregistrements qui chargera les enregistrements et l'historique des enregistrements.
Activer l'impression
Option permettant d'imprimer l'historique des enregistrements depuis Tulip Player. Lorsqu'elle est activée, un bouton d'impression s'affiche dans l'en-tête du widget.
Tri par défaut
Choisissez de trier les données du widget selon l'un des critères suivants :
- Du plus récent au plus ancien
- Du plus ancien au plus récent
Filtres
Vous pouvez filtrer l'historique de vos enregistrements soit de manière dynamique (via une variable, un enregistrement de table ou les informations de l'application), soit via une valeur statique déterminée par votre type de filtre. Les types de filtres disponibles sont les suivants :
- Date et heure
- Nom de l’application
- Nom de l'étape
- Nom du champ de la table (champs de la table à laquelle l'espace réservé de l'enregistrement était lié)
- Utilisateur (utilisateur utilisant l’application)
Tulip recommande d’utiliser au minimum les filtres suivants, car ils permettent de segmenter les données de manière à offrir une vue plus claire aux utilisateurs :
- Date et heure
- Nom de l’application
- Nom de l'étape
Masquer les « anciennes » valeurs lors des mises à jour des enregistrements
Lorsque cette option est activée, l'utilisateur ne peut voir que les mises à jour et les « nouvelles » valeurs des enregistrements.
Masquer les données de processus
Lorsque cette option est activée, les données des variables enregistrées provenant des applications sont masquées dans le widget. Le widget affiche les mises à jour du tableau, les données de signature, les noms d’applications, les noms d’étapes et les horodatages. Cela est utile pour obtenir une vue d’ensemble (sans les données de processus), comme dans le cas d’une application dédiée uniquement à la révision.
Uniquement les enregistrements signés
Lorsque cette option est activée, l’utilisateur ne peut voir que les enregistrements comportant une signature électronique.
FAQ
Comment éviter d’avoir des données granulaires de type journal ?
Lorsqu’un enregistrement de tableau est chargé dans un champ de saisie et que l’utilisateur effectue une saisie dans ce champ, des données de type journal très granulaires sont générées au sein de la même entrée. Cela peut entraîner la création de nombreuses « entrées » dans l’historique des enregistrements et pourrait potentiellement compliquer le processus de révision. L'utilisation d'enregistrements de table comme source de données pour les champs de saisie n'est pas recommandée, en particulier pour les clients GxP. Une alternative consiste à lier le champ de saisie à une variable qui est ensuite enregistrée dans l'enregistrement de finalisation par l'étape « Enregistrer toutes les données de l'application ».
Pourquoi faut-il faire attention au filtre « Nom du champ de table » lors de l’utilisation d’une valeur statique ?
Le widget d’historique des enregistrements utilise le nom actuel du champ pour filtrer les données. Si l’utilisateur modifie le nom du champ de la table et que le filtre continue d’utiliser l’ancien nom, cela peut entraîner des incohérences lors de la révision des données. Une alternative consiste à utiliser l’enregistrement de la table comme filtre.
Comment résoudre le problème « Données de finalisation manquantes lors de l’étape X » ?
Cela peut se produire lorsque les utilisateurs ne finalisent pas l’application à chaque fois qu’ils effectuent une action sur un enregistrement de la table, ce qui signifie qu’ils traitent plusieurs enregistrements en une seule finalisation, ou que l’option « Ne pas enregistrer pour l’analyse » est cochée dans l’espace réservé à l’enregistrement de la table.


