Najlepsze praktyki tworzenia aplikacji GxP
  • 31 Jan 2024
  • 6 Minuty do przeczytania
  • Współtwórcy

Najlepsze praktyki tworzenia aplikacji GxP


Article Summary

Środowiska GxP mają unikalne wymagania, które można spełnić poprzez tworzenie i konfigurację aplikacji Tulip. Tulip ma ustandaryzowany zestaw najlepszych praktyk w celu zapewnienia zgodności, które są opisane tutaj.

W tym artykule znajdziesz:

  • listę najlepszych praktyk i zaleceń dotyczących budowania aplikacji w środowisku GxP
  • Informacje o tym, jak wdrożyć najlepsze praktyki w aplikacjach Tulip Apps, aby zapewnić zgodność z GXP, w tym identyfikowalność ścieżki audytu i integralność danych.

:::(Info) (UWAGA)Ten artykuł zakłada wcześniejszą znajomość podstawowych pojęć Tulip, takich jak zmienne, tabele i rekordy ukończenia. Wrazie potrzeby należy zapoznać się z odpowiednimi artykułami:::

Najlepsze praktyki omówione w tym artykule:

  1. Przechwytywanie genealogii i EDHR/eBR:

1.1 Użyj danych ukończenia, aby utworzyć niezmienny rekord historii

1.2 Użyj danych uzupełnień, aby utworzyć pełną identyfikowalność podczas modyfikowania tabel

1.3 Użyj danych uzupełnień, aby pokazać pełną identyfikowalność zmian we wpisach historycznych.
2. Najlepsze praktyki w zakresie zarządzania parametrami procesu (np. jednostka miary, precyzja dziesiętna i konwencja nazewnictwa zmiennych)
3. Minimalna praktyka wyświetlania standardowych informacji na każdym etapie
4. Przechwytywanie podpisów elektronicznych za pomocą widżetów podpisów
5. Zarządzanie wyjątkami i włączanie przeglądu według wyjątków
6. Praca ze znacznikami czasu Datetime i zarządzanie nimi
7. Włączenie funkcji "Wstrzymaj i wznów" dla aplikacji procesowych.


1. Przechwytywanie genealogii i rekordów historii: Użyj danych Completions, aby utworzyć niezmienny rekord historii

  • Rekordy historii są kompilowane poprzez połączenie rekordu tabeli Tulip (tj. wiersza w tabeli) z danymi uzupełnień (wpisami/wierszami). Każdy rekord tabeli Tulip, który jest zawarty w danych ukończenia, może być użyty do tego połączenia, dlatego rekord tabeli potrzebny do rekordu historii zostanie załadowany do aplikacji w tym samym czasie, gdy nastąpi ukończenie aplikacji. Pamiętaj, aby uwzględnić ukończenia aplikacji w logice wyzwalacza podczas manipulowania danymi rekordu.
  • Rekordy historii są kompilowane z wielu zakończeń, dlatego aplikacje powinny "zakończyć się" w punktach procesu, w których dane muszą zostać zarejestrowane. W związku z tym może być wymagane wielokrotne ukończenie aplikacji podczas jej wykonywania. Należy pamiętać, że ukończenie aplikacji powoduje wyczyszczenie zmiennych nietrwałych i należy to uwzględnić podczas projektowania aplikacji.

Rejestrowanie genealogii i historii: Użyj danych ukończenia, aby utworzyć pełną identyfikowalność podczas modyfikowania tabel

  • Podczas pracy z rekordami tabel należy zapewnić identyfikowalność z ukończeniami: Przypomnienie: Manipulacja danymi w rekordach tabel podczas wykonywania aplikacji odbywa się w czasie rzeczywistym i nie jest powiązana z ukończeniem aplikacji. Aby zachować równoczesność danych, należy uwzględnić manipulację danymi tabeli w tej samej sekwencji wyzwalania, co ukończenie aplikacji.

Przechwytywanie genealogii i rekordów historii: Użyj danych ukończenia, aby obsłużyć pełną identyfikowalność zmian w historycznych wpisach

  • Korekta wpisów Digital Record History może być wykonana tylko poprzez dodanie nowych danych uzupełnienia. Nie ma możliwości celowej zmiany wartości w rekordzie uzupełnienia. Jest to celowe, aby zapewnić zachowanie oryginalnych danych.
  • Prostym sposobem myślenia o tym jest to, że rekord ukończenia jest ścieżką audytu wykonywanej aplikacji. Dane, które zostały już zatwierdzone w rekordzie ukończenia, są korygowane przez dodatkowy wpis w rekordzie ukończenia.

Przykład korekty zaimplementowanej waplikacjach Jak dokonać korekty? Wykonaj aplikację lub kroki aplikacji ponownie, z opcjonalną zmienną, która definiuje rekord jako "korektę".

  • Utwórz zmienną "Record Type", która ma przypisane standardowe wartości, takie jak "Normal", "Correction" itp., które można wykorzystać do sortowania/filtrowania rekordu uzupełnienia.
  • W większości przypadków wystarczy użyć przechwyconych dat, aby posortować wpisy korekty, ponieważ jest to porządek chronologiczny, a najnowszy wpis jest prawidłową wartością.

2. Najlepsze praktyki zarządzania parametrami procesu (np. jednostka miary, precyzja dziesiętna i praktyki nazewnictwa zmiennych)

  • Użyj dodatkowych zmiennych pomocniczych, aby zapisać jednostkę miary dla danych procesowych. W przypadku danych procesowych i produkcyjnych zawsze ważne jest określenie jednostki miary (UOM), np. °C, kg, litry, ph itp.
  • Można to zrobić za pomocą dodatkowej zmiennej (zmiennej pomocniczej), którą można wybrać lub która ma wartość statyczną.
  • Zmienne pomocnicze zostaną zapisane w rekordzie ukończenia.
  • Użyj logiki wyzwalania aplikacji i wyrażenia, aby zarządzać precyzją dziesiętną. Niektóre parametry procesu mogą wymagać określonej precyzji, tj. liczby miejsc po przecinku. Należy tym zarządzać w aplikacji za pomocą logiki wyzwalania i wyrażeń.
  • Używaj jasnego nazewnictwa zmiennych, aby wyróżnić kluczowe zmienne, np. Krytyczneparametry procesu (CPP) lub krytyczne atrybuty jakości (CQA).
  • Niektóre parametry procesu muszą być zdefiniowane jako krytyczne parametry procesu (CPP) lub krytyczne atrybuty jakości (CQA).
  • Nie ma obecnie sposobu na oznaczanie zmiennych w Tulip, więc najprostszym sposobem na to jest dodanie przedrostka lub przyrostka do nazw zmiennych. Np. nazwy zmiennych takie jak "temperature_CPP", "CQA_Assay B" itp.

3. Minimalne standardowe informacje wyświetlane w każdym kroku

Następujące elementy powinny być wyświetlane na każdym kroku w celu zapewnienia użytkownikowi odpowiedniego kontekstu:

  1. Nazwa lub unikalny identyfikator głównego elementu, który jest przetwarzany w aplikacji, Np. partia, zlecenie, sprzęt, narzędzie. W niektórych przypadkach będzie wiele elementów.
  2. Następujące elementy powinny być obecne w układzie podstawowym aplikacji.
    1. Informacje o aplikacji / nazwa aplikacji.
    2. Informacje o aplikacji / wersja aplikacji
    3. "Informacje o aplikacji / zalogowany użytkownik
    4. "App Info / Step Name" (w widocznym rozmiarze czcionki, ponieważ zwykle nazwa kroku zapewnia operatorowi użyteczny kontekst procesu).

4. Przechwytywanie podpisów elektronicznych za pomocą widżetów podpisów

Użyj tytułu podpisu lub dodatkowego zmiennego przechwytywania / wprowadzania na etapie, aby nadać kontekst podpisom. Należy pamiętać, że wymagania dotyczące podpisu elektronicznego nakazują, aby podpis obejmował

  1. Co podpisujesz? Kontekst podpisu można opisać w nazwie kroku podpisu, np. partia, zamówienie, sprzęt itp.
  2. Dlaczego składasz podpis? Użyj zmiennych, aby umieścić powód złożenia podpisu nad widżetem podpisu.
  3. Kiedy podpisano? Data/godzina to data złożenia podpisu. Aplikacja automatycznie przechwytuje to jako dane ukończenia, gdy widżet podpisu jest wypełniony.

Poniżej przedstawiono kilka zalecanych sposobów przechwytywania kontekstu podpisu.

  • Użyj nazwy kroku, aby zdefiniować powód złożenia podpisu elektronicznego.
  • Umieść grupę kroków, które wymagają podpisu elektronicznego i dołącz widżet podpisu jako ostatni krok w grupie.
  • Użyj etykiety wprowadzania tekstu lub listy rozwijanej pojedynczego wyboru, która opisuje zamiar podpisu.
  • Utwórz krok podsumowujący przed podpisem, aby zapewnić użytkownikowi kontekst tego, co podpisuje.

5. Zarządzanie wyjątkami i włączanie przeglądu według wyjątków

Aby umożliwić przegląd wyjątków związanych z rekordem historii, należy wykonać następujące czynności.

  • Użyj zmiennej aplikacji, aby zdefiniować typ rekordu (np. normalny, korekta, wyjątek - patrz sekcja 1.3), aby umożliwić łatwą identyfikację wyjątków.
  • Użyj Tabeli, aby zestawić wyjątki do przeglądu. Każdy wyjątek (usterka, obserwacja itp.) powinien być przechowywany jako pojedynczy rekord w tabeli Tulip, zawierającej wszystkie istotne informacje (informacje o wyjątku, dacie/godzinie, aplikacji, zleceniu/ partii, operatorze itp.) Oprócz przechowywania w danych ukończenia, rekordy te mogą być powiązane z partią lub zleceniem.
  • W tabeli wyjątków należy uwzględnić kolumnę, która łączy lub odwołuje się do artefaktu, którego dotyczy wyjątek. Na przykład: partia, materiał, sprzęt, zamówienie.

6. Praca ze znacznikami czasu i zarządzanie nimi

  1. Znacznikiczasu w rekordzie ukończenia są przechwytywane w UTC z przesunięciem strefy czasowej.
  2. Formatowanie daty i czasu można ustawić na poziomie instancji dla wszystkich aplikacji. Odbywa się to w opcji "Ustawienia/Data i godzina".

  1. Formaty daty i godziny można formatować w edytorze wyrażeń. Podczas wyświetlania lub wprowadzania daty i godziny należy upewnić się, że data i godzina są wyświetlane w spójnym formacie.
  2. Formaty czasu GxP wymagają jednoznacznego formatu, np. "04-Jul-2020".
  3. Użyj wyrażenia, aby sformatować wyświetlanie daty/godziny w aplikacjach i Analytics.
  4. Daty można sformatować do określonego formatu za pomocą funkcji DATETIMETOTEXT w edytorze wyrażeń.

7. Spraw, by proces Apps był odporny na anulowanie / Włącz funkcję wstrzymywania i wznawiania

Procesy wsadowe mogą trwać wiele godzin lub dni. Aby umożliwić operatorowi wstrzymanie pracy nad partią i wznowienie jej w miejscu, w którym została przerwana w późniejszym czasie, należy rozważyć zalecenia dotyczące rozwiązania omówione w sekcji "Funkcjonalność wstrzymywania i wznawiania".


Czy ten artykuł był pomocny?