Rewrite der klinischen Studiendatenbank ProDB
ProDB verwaltet und rechnet die klinischen Studien und Forschungsprojekte des Asklepios-Konzerns ab, von Prüfärzten und Teilprojekten über die Leistungskalkulation bis zu Rechnungen, Buchungen und Reporting. mindtwo hat das über rund zwei Jahrzehnte gewachsene System vollständig auf Laravel 11 und PHP 8.4 neu gebaut, ohne den laufenden Betrieb zu unterbrechen und ohne einen einzigen Datensatz zu verlieren.
- Kunde
- Asklepios
- Branche
- Gesundheit & Wissenschaft
- Projektdauer
- über ein Jahr
- Leistung
- Laravel-Rewrite
Projekt-Loop — Einblicke in die neue Anwendung
Einer der größten privaten Klinikbetreiber Deutschlands.
Asklepios ist einer der größten privaten Klinikbetreiber Deutschlands. Für einen Konzern dieser Größe ist die zentrale Verwaltung klinischer Studien ein sensibler Prozess: Sie berührt Patientenzahlen, Ethikvoten, EudraCT-Nummern, Vergütungsstufen und die Abrechnung gegenüber Sponsoren und Forschungsfonds.
Fehler oder Ausfälle in diesem System haben unmittelbar Controlling- und Compliance-Folgen. Genau deshalb war ein Rewrite auf ein wartbares Laravel-Fundament die Grundlage für die weitere Entwicklung.
Contexts
200 Skripten
im Frontend
Ein 20 Jahre gewachsenes, geschäftskritisches System.
ProDB entstand im Kern 2004 und wurde über rund 20 Jahre von wechselnden Einzelentwicklern erweitert. Es hat den Studienbetrieb zwei Jahrzehnte lang zuverlässig getragen. Mit den heutigen Anforderungen an Sicherheit, Wartbarkeit und Weiterentwicklung stieß die gewachsene Architektur an klare Grenzen, ein typischer Fall für eine Legacy-Software-Modernisierung.
Der Datenbankzugriff erfolgte per String-Konkatenation ohne Prepared Statements, Passwörter lagen als ungesalzenes MD5 vor, und das Auth-Cookie wirkte faktisch als dauerhaftes Token. Für Studien- und Abrechnungsdaten eines Klinikkonzerns war das der dringlichste Handlungspunkt.
Der Code war auf PHP 7.4 und MySQL 5.7 fixiert, beide End-of-Life. Datenbankzugriff, Business-Logik und HTML lagen in jeder der rund 200 Dateien vermischt vor. Ohne Tests, ohne CI und ohne Migrationen war jede Änderung mit hohem Risiko verbunden.
Zwanzig Jahre Historie, wechselnde Autoren und keine fachliche Dokumentation banden das Wissen über das System an einzelne Personen. Die Weiterentwicklung hing an wenigen Köpfen statt an einem austauschbaren Team.
Schritt für Schritt von der gewachsenen Codebasis zur wartbaren Plattform.
-
Fachlogik erschließen und dokumentieren
Aus rund 48.000 Zeilen ungetrenntem PHP und 274 Template-Fragmenten haben wir die fachlichen Regeln der Studienverwaltung und Abrechnung rekonstruiert und in 26 fachliche Bounded Contexts überführt.
-
Sicheres Fundament in Laravel 11
Der Rewrite auf Laravel 11 und PHP 8.4 bringt Prepared Statements, CSRF-Schutz und bcrypt out of the box. Ein Rechtesystem mit 4 Rollen, 105 Berechtigungen und 24 Policies ersetzt zwei einfache Flags.
-
Zwei Altsysteme, eine Plattform
Über Subdomain-Routing und mandantenspezifische Tabellen-Präfixe wurden die zuvor getrennten Systeme proresearch und science and research zu einer Multi-Mandanten-Plattform zusammengeführt, mit einem Codebestand und einer Wartung.
-
Datenmigration ohne Verlust
Der komplette 20-Jahre-Datenbestand beider Altsysteme wurde per automatisiertem Import übernommen. Composite Keys, historische Feldnamen und dokumentierte Inkonsistenzen wurden kontrolliert bereinigt statt ignoriert.
Ein zukunftssicheres Fundament statt konzentriertem Personenwissen.
Die Weiterentwicklung ist nicht mehr an einzelne Personen gebunden. ProDB läuft auf einem Stack aus Laravel 11 und PHP 8.4, den jedes Laravel-Team übernehmen kann, abgesichert durch Tests, statische Analyse und Migrationen.
Study-Coordinatoren und Controlling arbeiten in einer reaktiven Oberfläche aus 154 Livewire-Komponenten. Reporting läuft über 26 Reporter mit Excel-Export, stündlich vorberechnete Temp-Tables halten Auswertungen auch bei großen Datenmengen schnell.
SQL-Injection-Risiken, MD5-Passwörter und fehlender CSRF-Schutz sind beseitigt. Ein revisionssicheres Audit-Log protokolliert jede Attributänderung mandantenfähig und hält sie 365 Tage vor.
Sie wollen ein gewachsenes System modernisieren, ohne den Betrieb zu unterbrechen?
Kostenloses ErstgesprächEingesetzte Technologien
Das Fundament bildet Laravel 11 auf PHP 8.4, strukturiert nach Domain-Driven Design mit 26 Bounded Contexts, 48 Action-Klassen und 42 Eloquent-Models. Das Frontend baut auf Livewire 3, Alpine.js, Tailwind CSS und Vite. MySQL dient als Datenbank, Laravel Scout deckt die Volltextsuche über 23 Entitäten ab, Queue und Scheduler berechnen Reporting-Temp-Tables vor. Qualität sichern rund 272 Pest-Tests, PHPStan auf Level 8, Pint und ein GrumPHP-Pre-Commit-Gate, den Betrieb überwacht Sentry.
Unsere Leistungen
Was wir für Asklepios konzipiert, entwickelt und abgesichert haben, vom Rewrite der Fachanwendung bis zur verlustfreien Migration von 20 Jahren Studiendaten.
Für alle, die tiefer einsteigen wollen.
Von MD5-Hashes zu einem abgesicherten Auth-System
Das Legacy-System speicherte Passwörter als ungesalzenes MD5 und nutzte ein Auth-Cookie aus Hash und User-ID, das faktisch als dauerhaftes Token wirkte. Der Rewrite setzt auf bcrypt, Account-Locking, erzwungenen Passwortwechsel und CSRF-Schutz.
Der Datenbankzugriff im Altsystem lief durchgängig über String-Konkatenation ohne ein einziges Prepared Statement, und extract($_REQUEST) machte jeden Request-Parameter zu einer globalen Variable. Mit dem Wechsel auf Laravels Query Builder und Eloquent sind parametrisierte Queries der Standard, nicht die Ausnahme.
Hinzu kommen granulare Zugriffskontrolle über 4 Rollen, 105 Berechtigungen und 24 Policies sowie ein revisionssicheres Audit-Logging, das jede Attributänderung mandantenfähig protokolliert und 365 Tage vorhält. Für einen Gesundheitskonzern ist damit nachvollziehbar, wer wann welchen Datensatz geändert hat.
Zwei Altsysteme unter einem Codebestand
proresearch und science and research liefen zuvor als zwei getrennte Installationen. Über Subdomain-Routing und mandantenspezifische Tabellen-Präfixe teilen sie sich heute eine Codebasis bei getrennter Datenhaltung.
Die Konsolidierung reduziert den Wartungsaufwand auf ein System statt zwei parallel gepflegte Installationen. Neue Funktionen und Sicherheitsupdates entstehen einmal und stehen beiden Mandanten zur Verfügung.
Die Datentrennung bleibt über die Präfix-Logik gewahrt, sodass die fachliche und rechtliche Trennung der beiden Forschungsbereiche erhalten bleibt.
Von 21 Hardcode-Skripten zu einer Reporting-Engine
Das Altsystem enthielt 21 nahezu identische, fest codierte Report-Skripte. An ihre Stelle tritt eine generische Reporting-Engine mit Interfaces, 26 Reportern und 26 Excel-Exporten.
Neue Auswertungen entstehen jetzt gegen ein gemeinsames Interface, statt ein bestehendes Skript zu kopieren und anzupassen. Damit die Auswertungen auch bei großen Datenmengen schnell bleiben, berechnet ein stündlicher Queue-Job Temp-Tables vor, statt bei jedem Aufruf live zu aggregieren.
Das Controlling erhält die gewohnten Excel-Exporte für Studienabrechnungen, Buchungslisten und Fördermittelanträge.
Wir sind stolz auf das, was wir schaffen.
Ihr Projekt als nächste Erfolgsgeschichte
Sie wollen ein gewachsenes, geschäftskritisches System auf ein wartbares Fundament stellen, ohne den Betrieb zu unterbrechen? Lassen Sie uns in einem kostenfreien Erstgespräch darüber sprechen.
Kostenloses Erstgespräch