Hintergrund
Audits im Pharmabereich sind ein regulierter und komplexer Prozess. Er ist mit hohem administrativen Aufwand und viel Koordination verbunden. Das liegt hauptsächlich an der Dreiecksbeziehung zwischen Pharmakonzern, Lieferanten und Audit-Dienstleister.
Der Pharmakonzern (Kunde unseres Kunden gempex) stellt sicher, dass die Produktion des Lieferanten allen Qualitätsstandards entspricht. Der Lieferant (Auditee) beliefert den Pharmakonzern und muss jene Qualitätsstandards erfüllen. gempex als Audit-Dienstleister (Auditor) bekommt vom Pharmakonzern den Auftrag, ein Audit durchzuführen. Somit wird sichergestellt, dass der Lieferant die Qualitätsstandards einhält.
Derzeit steckt bei gempex viel Prozesswissen in den Köpfen der Mitarbeitenden. Die Dokumentation verschiedener Prozessschritte bzw. die Ablage der relevanten Dokumente erfolgt an unterschiedlichen Orten:
- E-Mail zur Kommunikation relevanter Informationen
- Excel Files zur Dokumentation von Prozessschritten
- SharePoint zur Dokumentenablage einzelner Schritte
Was gempex benötigte, war ein Tool zur Reduktion des Koordinationsaufwands. Außerdem sollte es für mehr Prozesstransparenz sorgen. In Zusammenarbeit mit SIDESTREAM entstand so das Audit Tool - eine zentrale Anwendung, um den Audit-Prozess end-to-end zu digitalisieren.Das Ziel ist zum einen, intern mit dem Tool zu einer effizienten Prozessgestaltung zu gelangen; zum anderen soll es auch den Pharmakonzern und Lieferanten mehr Transparenz und bessere Koordination bieten.
Der Lösungsansatz
Obwohl der Prozess mit kleinen Variationen immer nach demselben Muster abläuft, haben wir uns explizit dagegen entschieden, ein starres Tool zu entwickeln, welches versucht, den Prozess 1:1 nachzubilden. Warum? Versuchen wir, komplexe Prozesse 1:1 in ein Tool zu gießen, laufen wir Gefahr, dass nicht jede kleine Prozessanpassung oder Besonderheit abgebildet wird und nur über Anpassungen des Tools gelöst werden kann. Stattdessen verfolgten wir einen flexiblen Ansatz über generische Aufgabenblöcke und definierbare Prozessschritte. Bei den Aufgabenblöcken handelt es sich um die folgenden:
- Upload eines Dokuments
- Auswahl eines Datums
- Bestätigung einer fertiggestellten Aufgabe
- Eingabe von Text
Die Zusammenarbeit
Basierend auf dem initialen Input und den ersten Anforderungen von gempex führten wir einen Konzeptsprint durch. In engem Austausch mit gempex erarbeiteten wir uns ein tiefgreifendes Verständnis zum Audit-Prozess. Darauf stützend erstellten wir ein UI Mock für das Tool sowie eine detaillierte Auflistung geplanter Features und Arbeitspakete.
Die Implementierung erfolgte in zweiwöchigen Sprints. Wir entwickelten neue Features und parallel konnten die gempex Mitarbeitenden die aktuellste Version des Tools auf einer Testumgebung testen und Feedback geben.
Das machte es möglich, schnell eine erste nutzbare Version auf die Beine zu stellen. Diese deckte den Audit-Prozess end-to-end ab und stellte bereits eine Verbesserung zur existierenden Lösung aus Excel und Sharepoint dar. Der Roll-Out für unterschiedliche Nutzergruppen erfolgte stufenweise:
- zunächst für den Koordinator (gempex-intern: Hauptverantwortlicher für alle Audit-Prozesse)
- dann für den Auditor (gempex-intern: Ausführende Person des Audits)
- anschließend für den Customer (Kunde von gempex: Pharmakonzern) und den Auditee (Lieferant des Kunden von gempex)
Technologie Deep Dive
Das Audit Tool ist eine Container-basierte Fullstack Typescript Anwendung. Gehostet wird es in einem Kubernetes Cluster von AWS. Das ermöglicht einen Zugriff von überall mit hohen Sicherheitsstandards sowie eine gute Skalierbarkeit.
Das User Management geschieht über GoTrue und mittels selbst entwickelter UI. So bleibt die Nutzer- und Rechteverwaltung aus dem Tool heraus intuitiv. Ein dedizierter IT Support ist nicht notwendig.
Für die Datenbank kamen PostgreSQL sowie Prisma ORM zum Einsatz. So konnten wir eine höhere Entwicklungsgeschwindigkeit und eine niedrigere Fehleranfälligkeit durch Prismas Schema Definition Language (SDL) erreichen.
Das Event Tracking und Aussenden von E-Mail Benachrichtigungen basieren auf Graphile-Worker und Prisma ORM Middlewares.
Für ein modernes User Interface griffen wir auf VueJs und AntDesign zurück.