Kundenportal für medizinisches Labor

Kundenwunsch

Es soll ein digitales Kundenportal entwickelt werden, in dem Laborkundinnen und Laborkunden möglichst viele Geschäftsprozesse mit dem Labor digital abwickeln können. Dazu gehören Laboranforderungen, Abfragen von Befundresultaten, Kurieranforderung, Materialbestellungen oder das verwalten der internen Qualitätskontrollen. Durch die Digitalisierung der Geschäftsprozesse soll ein Marktvorteil durch effizientere Prozesse und eine grössere Kundenakzeptanz entstehen. Obwohl bereits ein Webportal für das Order Entry und den Befundrückweg vorhanden ist, wird dieses selten genutzt. In vielen Arztpraxen werden Laboraufträge weiterhin analog über Bestellformulare eingereicht. Es wird vermutet, dass die Applikation nicht mehr den Kundenerwartungen an eine moderne und einfach zu bedienende Webapplikation entspricht. Aufgrund der proprietären Lizenz der bisherigen Lösung ist eine selbständige Weiterentwicklung nicht möglich. Die neu zu entwickelnde Applikation muss einfach zu bedienen sein. Darüber hinaus muss die Applikation mit zahlreichen spezialisierten Systemen, wie z.B. den Labor- und Patienteninformationssystemen, den Fremdlaboren oder dem CRM interagieren können.

Herausforderungen

Das Labor besteht aus mehreren Abteilungen, wie der klinischen Chemie, der Mikrobiologie oder der Pathologie. Diese Abteilungen verfügen über individuelle Anforderungen an die Materialien, die Analysen, die Bestellabläufe und die laborinternen Prozesse. Im bisherigen Bestellprozess sind Medienbrüche vorhanden und machen manuelle Interventionen notwendig. Diese manuellen Interventionen sind fehleranfällig und zeitintensiv. Mit dem neuen Kundenportal sollen Medienbrüche reduziert und die Kundinnen und Kunden dazu animiert werden, Geschäftsprozesse möglichst digital abzuwickeln. Ausserdem sollen Laboranforderungen in einem einheitlichen Prozess über die Laborgrenzen hinweg bestellt werden können.

Die vorhandene Labor-Infrastruktur ist komplex. Sie besteht aus einer Vielzahl von Systemkomponenten und Schnittstellen. Auch externe Systeme wie Patienteninformationssysteme und Fremdlabore sind angebunden. Mit der Zeit wurden viele spezifische Prozesse abgebildet. Diese Prozesse gilt es zu analysieren und wo möglich zu vereinheitlichen. Die eingesetzten Technologien und Schnittstellen sind teilweise veraltet. Das fehlen moderner und offener Schnittstellen erschwert die Anbindung des neuen Kundenportals.

Aufgrund der proprietären Lizenzen ist eine Weiterentwicklung der bestehenden Komponenten nicht möglich. Die Abhängigkeit von den bereits bestehenden Systemen und den Systemherstellern, die an einer Kooperation mit anderen Anbietern wenig Interesse haben, ist ein erhebliches Projektrisiko.

Aufgrund der sensiblen Patientendaten spielt der Datenschutz eine wichtige Rolle. Einerseits muss die Interaktion zwischen allen Systemkomponenten und auch die Speicherung der Daten sicher sein. Die Daten müssen vor fremdem Zugriff und auch vor Verlust geschützt werden. Insbesondere bei einigen Patienteninformationssystemen, die angeschlossen werden sollen, wurden Sicherheitsrisiken erkannt. Damit diese Systeme dennoch sicher an die neue Webapplikation angeschlossen werden können, müssen spezifische Sicherheitsmechanismen entwickelt werden.

Vorgehensweise

Die Anforderungen des Kunden wurden analysiert und in Form von User-Stories erfasst. Gemeinsam mit dem Kunden wurden die Stories priorisiert. Zur Analyse der Anforderungen war die Kooperation mit zahlreichen Stakeholdern erforderlich. Die bereits bestehenden Systemkomponenten und die IT-Infrastruktur mit ihren Prozessen wurden analysiert und die Interaktion der neuen Webapplikation mit den bereits bestehenden Systemen skizziert. Ein wesentlicher Teil der Arbeit bestand darin, die zahlreichen Prozesse zu analysieren und zu verstehen. Darüber hinaus mussten die Stammdaten aufbereitet werden um sie für die Applikation verfügbar zu machen und um die gewünschte Logik im Bestellprozess abbilden zu können. Ein Fokus lag auf der User Experience, um den KundInnen, trotzt der technisch hohen Komplexität, einen möglichst selbsterklärenden Zugang zur Applikation zu ermöglichen.

Der Entwicklungsprozess wurde agil nach Scrum strukturiert und die Entwicklungsarbeiten in Sprints organisiert. Somit wurde vom Produkt Owner entschieden, welche User Story in einem Sprint umgesetzt werden sollten. Aufgrund der businesskritischen Prozesse, die mit der Webapplikation abgedeckt werde sollten, wurde eine hohe Testabdeckung angestrebt. Für jede neue Funktionalität wurden Unit-, Integrationstests und bei Bedarf E2E-Tests geschrieben. Jede User-Story durchlief ein Peer-Review und wurde dann auf dem Test-System installiert (Continuous Deployment). Am Ende jedes Sprints wurden die umgesetzten User-Stories zu einem Release zusammengefasst, auf einem PRE-PROD System installiert und dem Kunden zur Abnahme zur Verfügung gestellt. Nach der Abnahme des Kunden, wurden die Stories produktiv installiert.

Lösung

Entstanden ist ein modernes Kundenportal, in dem Laboranforderungen effizient erfasst und Befundresultate in Echtzeit dargestellt werden können. Das Portal wurde darauf ausgelegt, dass es mit weiteren Module, wie z.B. der Kurieranforderung, dem Qualitätsmanagement oder der Materialbestellung erweitert werden kann.

Mit dem Kundenportal können Laboranforderungen in einem einheitlichen Prozess über Laborabteilungen hinweg bestellt werden. Die Analysen werden einerseits über das Suchfeld oder aus den vordefinierten Favoriten hinzugefügt. Je nach Analyse werden noch weitere Angaben wie z.B. Lokalisation oder Entnahmezeitpunkt abgefragt. Wurden alle notwendigen Angaben erfasst, werden dem User alle notwendigen Informationen zur Probenentnahme angezeigt, wie z.B. das Material, das Abnahmesystem oder weitere Angaben zur Aufbereitung oder Aufbewahrung.

Die Analyseergebnisse werden in Echtzeit an das Portal übermittelt, aufbereitet und dargestellt. Die Resultate können über eine Zeitachse hinweg miteinander verglichen werden (sogenannte Kumulativbefunde). Werte, die unter oder über einem Referenzwert liegen, werden grafisch hervorgehoben. Fällt ein Analysewert in den pathologischen Bereich, werden die Praxis, bzw. die User darüber informiert.

Im Kundenportal werden auch die Arztpraxen, die Mitarbeiterzugänge und die Praxiseinstellungen verwaltet. Zu den Praxiseinstellungen gehören unter anderem die Favoriten, die Serothek oder das Abnahmesystem und auch die Anbindungen von Patienten- und Ärzteinformationssystemen (PIS/AIS) oder den Ettikettendruckern.

Technisch umfasst die Webapplikation ein Frontend, ein Backend sowie zwei Connector-Applikationen zur Anbindung von älteren Umsystemen. Das Frontend basiert auf Angular und TypeScript. Für das Backend wurde Scala und Akka verwendet. Zur Speicherung der Daten wird ein MariaDB Galera Cluster sowie ein Minio Cluster als S3-Object-Storage verwendet. Die Applikationen werden als Docker-Container bereitgestellt und in einem dedizierten Kubernetes-Cluster in der Schweiz betrieben. Durch die Containerisierung und die Kubernetes-Infrastruktur wirdein moderner Betrieb, die Skalierung der Applikation und die Möglichkeit zur Erweiterung mit neuen Komponenten gewährleistet.

Zur Anbindung der Webapplikation an bereits bestehende Umsysteme wurden aufgrund fehlender moderner Schnittstellen wie REST zwei Connector-Applikationen entwickelt. Ein Connector ist zuständig für die Anbindung der Webapplikation an die internen Laborsysteme. Der zweite Connector (Praxisconnector) bindet die unterschiedlichen Patienteninformationssysteme an die Webapplikation an und stellt die Verbindung zu den Labeldruckern über LAN oder USB sicher. Der Praxisconnector steht für Windows, OSX und Linux zur Verfügung. Neue Versionen werden vom Praxisconnector über die Update-Funktion automatisch bezogen.

Die Connectoren kommunizieren über verschlüsselte REST-Schnittstelle mit der Webapplikation. Die Umsysteme kommunizieren, aufgrund fehlender moderner Alternativen, über filebasierte Schnittstellen (hl7 oder gdt). Die Connectoren transformieren die angelieferten hl7 oder gdt Dateien in die gewünschten Formate und deren Dialekte und stellen diese wiederum dem Webportal, aber auch anderen Umsystemen zur Verfügung.

Um den sensiblen Daten Rechnung zu tragen wurde der Sicherheit und der Zuverlässigkeit ein grosser Stellenwert beigemessen. So findet die Kommunikation mit der Webapplikation ausschliesslich verschlüsselt über moderne TLS und Cipher Protokolle statt. Die Datenbank wird at rest und die Befunde mit einem zufälligen, pro Praxis verschlüsselten Schlüssel verschlüsselt. Damit Patienteninformationssysteme mit schwachen Sicherheitsmechanismen an das neue Kundenportal angebunden werden können, wurde eine spezifische Einmal-Token-Schnittstelle entwickelt, mit der auch Patienteninformationssysteme, die über ein geteiltes Login verfügen, sicher auf einzelne Order Entries und Befunde zugreifen können.

Nebst Sicherheitsmassnahmen wie der zweifaktor Authentisierung, OWASP Headern, dem Einsatz einer Webfirewall und Massnahmen zur Bekämpfung von Brute-Force und DDOS-Attacken verfügt die Applikation über eine sehr hohe Testabdeckung durch Unit-, Integrations- und E2E Tests.

Technologien

Scala
Loading...
© 2023 Tegonal GenossenschaftImpressum & Datenschutz