- Wydrukować
Podstawy tworzenia aplikacji GxP
Ten artykuł dostarczy podstawowej wiedzy na temat tworzenia aplikacji w środowiskach GxP.
Ten artykuł zakłada wcześniejszą znajomość podstawowych pojęć Tulip, takich jak zmienne, tabele i rekordy ukończenia.
Język
Styl i język aplikacji powinien być zgodny z ich przeznaczeniem. Standardowe procedury operacyjne, instrukcje pracy i metody powinny być napisane w imperatywnym, obowiązkowym stylu.
Wersjonowanie
Podczas publikowania aplikacji zaleca się opisanie charakteru zmian, np. odświeżenia interfejsu użytkownika, poprawek błędów lub innych, w stosunku do poprzednio opublikowanej aplikacji w sekcji komentarzy.
Standardowe informacje wyświetlane na każdym kroku
Poniższe elementy powinny być wyświetlane na każdym kroku, aby zapewnić użytkownikowi odpowiedni kontekst:
- Nazwa lub unikalny identyfikator głównego elementu, do przetwarzania którego używana jest aplikacja. "Element", np. partia, zamówienie, sprzęt lub narzędzie, które jest używane lub przetwarzane. W niektórych przypadkach może istnieć wiele elementów. W większości przypadków należy to osiągnąć, tworząc lub ładując rekord tabeli zawierający informacje na początku aplikacji.
- Zalogowany użytkownik
- Wersja aplikacji
- Nazwa kroku aplikacji
Zaleca się również posiadanie przycisku Wyloguj na wszystkich krokach wyzwalających akcję "Wyloguj bieżącego użytkownika".
Znaczniki czasu i format daty
Znaczniki czasu w rekordzie ukończenia są przechwytywane w UTC z przesunięciem dla strefy czasowej. Formatowanie daty i czasu można ustawić na poziomie instancji dla wszystkich aplikacji. Odbywa się to w sekcji "Data i godzina" w menu "Ustawienia" instancji i musi zostać skonfigurowane przez właściciela konta.
Przechwytywanie podpisu elektronicznego za pomocą widżetu podpisu elektronicznego
Aby zachować zgodność z przepisami ER/ES (Electronic Records / Electronic Signatures), podpis powinien nadawać kontekst podpisującym:
- "Co"
Kontekst podpisu, np. partia, zamówienie, sprzęt itp.
- "Dlaczego"
Powód złożenia podpisu, np. zwolnienie zlecenia procesowego.
Dla podpisów zalecana jest następująca struktura:
- pogrupuj kroki wymagające podpisu elektronicznego i umieść widżet podpisu elektronicznego na ostatnim kroku w grupie
- Utwórz krok podsumowujący, jeśli ma to zastosowanie, przed widżetem pokazującym wszystkie istotne dane, aby zapewnić podpisującemu kontekst podpisu ("Co").
- Użyj tytułu formularza, np. "Podpis do ponownego wydruku etykiety", i etykiety nazwy użytkownika, np. "Przełożony", aby określić powód złożenia podpisu ("Dlaczego").
Po złożeniu podpisu Tulip automatycznie rejestruje dodatkowe informacje:
- "Kto" podpisał formularz
- "Kiedy" podpis został złożony
- Wszelkie dodane komentarze
Obowiązkowe jest zapisanie aktualnych danych aplikacji w niezmiennym rekordzie ukończenia. Można to osiągnąć na dwa sposoby:
- Za pomocą akcji "Zapisz wszystkie dane aplikacji" w wyzwalaczu "Akcja niestandardowa" na przycisku przesyłania widżetu podpisu.
- Poprzez ukończenie aplikacji za pomocą standardowego ustawienia "Complete App" dla przycisku przesyłania lub za pomocą akcji "Complete App" w wyzwalaczu "Custom Action".
Akcja Zapisz wszystkie dane aplikacji
Akcja "Save All App Data" przechowuje bieżące wartości wszystkich zmiennych aplikacji, a także bieżące wartości pól wszystkich załadowanych rekordów tabeli w rekordzie ukończenia aplikacji. Rekordy Completion są niezmienne i nie można ich usunąć.
App Completion
App Completion przechowuje dane w taki sam sposób jak akcja "Save All App Data". Ponadto, App Completion resetuje wszystkie zmienne do ich wartości domyślnej, ale te, które mają wyłączoną opcję "wyczyść po zakończeniu". Dodatkowo, wszystkie symbole zastępcze rekordów tabeli są usuwane. Po zakończeniu aplikacji możliwe jest ponowne uruchomienie tej samej aplikacji od początku lub przejście do określonego kroku w tej samej lub innej aplikacji. Można to skonfigurować w "przejściu" używanym do ukończenia.
Anulowanie aplikacji
Anulowanie aplikacji jest identyczne z zakończeniem aplikacji, jednak wszystkie zmienne zostaną zresetowane do wartości domyślnych.
Automatyczna inicjalizacja aplikacji
W przypadku aplikacji, która musi zostać ukończona wiele razy podczas wykonywania, np. z powodu wielu podpisów, zaleca się przechowywanie jej kontekstu przed każdym ukończeniem, dlatego aplikację można skonfigurować tak, aby automatycznie przywracała swój kontekst po ponownym uruchomieniu. Kontekst może być identyfikatorem rekordów tabeli, np. bieżącej partii i/lub zmiennych, np. licznika. Zaleca się przechowywanie kontekstu aplikacji w tabeli przy użyciu "App Info: Station Name" jako identyfikatora rekordu. Rekord ten można załadować przy (ponownym) uruchomieniu aplikacji za pomocą wyzwalacza "App Started". To samo podejście można zastosować w celu uzyskania płynnego przejścia do innej aplikacji.
Podobne zasady można zastosować do wznowienia wykonywania aplikacji po jej anulowaniu, np. z powodu automatycznego wylogowania lub wybrania opcji "Restart" w menu odtwarzacza. W takich przypadkach zaleca się przechowywanie nazwy kroku jako dodatkowej informacji kontekstowej dla aplikacji, która zostanie otwarta po ponownym uruchomieniu. Może to być nazwa ostatniego wyświetlanego kroku lub określony krok, który powinien zostać otwarty w celu odzyskania.
Wyjątki i włączanie przeglądu według wyjątków
Zaleca się korzystanie z jednej tabeli Tulip do zestawiania wszystkich wyjątków występujących podczas wykonywania aplikacji. Każdy wyjątek (usterka, obserwacja itp.) powinien być przechowywany jako pojedynczy rekord w tej tabeli Tulip Table, zawierający wszystkie istotne informacje na temat wyjątku, tj. typ, opis, datę/godzinę, aplikację, operatora itp. Ponadto rekord ten powinien być połączony za pomocą funkcji "Połączone rekordy" z rekordami wszystkich artefaktów związanych z wyjątkiem, tj. partią, zamówieniem, materiałem, sprzętem, pomieszczeniem itp.
Zapisy, korekta zapisów, historia zapisów
Zaleca się przechowywanie istotnych danych GxP jako rekordów w tabelach Tulip w odniesieniu do odpowiednich artefaktów, tj. partii, zamówienia, materiału, sprzętu, pomieszczenia itp.
Zaleca się poprawienie istotnych danych GxP w oryginalnym rekordzie, ponieważ wszelkie zmiany zostaną odzwierciedlone w historii rekordu. Korekta powinna zostać złożona na formularzu z podpisem.
Aby ułatwić wyszukiwanie rekordów, zaleca się przypisanie jednoznacznego i systematycznego identyfikatora dla wszystkich wpisów, tj. "-".
Historia rekordów
Jak opisano powyżej, wartości zmiennych są zapisywane w rekordzie ukończenia w momencie ukończenia lub anulowania aplikacji. Natomiast manipulowanie danymi w tabeli odbywa się w czasie rzeczywistym. Każda zmiana w dowolnym polu rekordu tabeli zostanie automatycznie zarejestrowana przez Tulip wraz z informacjami kontekstowymi (użytkownik, aplikacja, wersja aplikacji, stacja, znacznik czasu).
Każdy rekord Tulip Table ma historię rekordów. Ta historia rekordów pokaże wszystkie zarejestrowane zmiany, w tym informacje kontekstowe (użytkownik, aplikacja, wersja aplikacji, stacja, znacznik czasu).
Ponadto historia rekordu pokaże dane każdego ukończenia lub anulowania aplikacji, w której rekord jest zawarty, tj. został załadowany po ukończeniu/anulowaniu. Obejmuje to wszelkie podpisy elektroniczne zarejestrowane w tych zakończeniach/anulacjach. Podpisy będą wyświetlane na osi czasu historii rekordów zgodnie ze znacznikiem czasu ich wykonania. Wszystkie inne dane ukończenia będą wyświetlane ze znacznikiem czasu ukończenia/anulowania.