← zurück zu Projekten
Kunde Dentsply Sirona
Zeitraum Jan 2020 — Jun 2020
Bereich Desktop
Technologien C#WPFMSSQLREST

Desktop App für Röntgengeräte bei Zahnärzten

Höchste Sicherheit für sensible Patientendaten – durch Code Protection, granulare Zugriffskontrolle und Echtzeit-Synchronisation im Mehrplatzbetrieb.

Ausgangslage

Sidexis 4 ist eine vernetzte Röntgengeräte-Software für den Einsatz in zahnärztlichen Praxen und Kliniken. Die Anwendung ermöglicht es, Patientendaten und deren vollständige Behandlungshistorie standortübergreifend von verschiedenen Arbeitsplätzen aus einzusehen und zu bearbeiten.

Der Funktionsumfang reicht von der klassischen Patientendatenerfassung über die zentrale Verwaltung von Behandlungsdaten bis hin zu komplexen 2D- und 3D-Visualisierungen von Röntgenaufnahmen. Über ein flexibles Plugin-System lassen sich darüber hinaus Röntgen- und Diagnosegeräte unterschiedlichster Hersteller nahtlos in die Software einbinden – ein zentrales Merkmal für den praxisübergreifenden Einsatz.

Anforderung

Im Mittelpunkt des Projekts stand die Absicherung des ausgelieferten Softwarestands gegen Reverse Engineering. Da Sidexis 4 in einem hochsensiblen medizinischen Umfeld betrieben wird, sollte der bestehende Code durch geeignete Code-Protection-Maßnahmen wirksam vor Manipulation und unautorisierter Analyse geschützt werden.

Ergänzend dazu galt es, sämtliche internen und externen Schnittstellen durch ein durchgängiges Konzept aus Authentifizierung und Autorisierung abzusichern. Ziel war eine fein granulare Zugriffskontrolle, die exakt steuert, welcher Anwender oder welches angeschlossene System welche Funktionen nutzen darf.

Als dritte zentrale Anforderung wurde ein eventbasierter Notification Service spezifiziert. Dieser sollte:

  • angeschlossenen Geräten und Arbeitsstationen aktive Datensperrungen anzeigen, sobald Datensätze an anderer Stelle bearbeitet werden,
  • Änderungen an Patientendaten in Echtzeit an alle angebundenen Systeme und Plugins weiterleiten,
  • ein Abonnement-Modell unterstützen, bei dem sich Clients gezielt für die für sie relevanten Ereignisse registrieren können.

Lösung

Aus Gründen der Vertraulichkeit verzichten wir an dieser Stelle auf eine detaillierte Beschreibung der eingesetzten Mechanismen. Im Kern wurde eine spezialisierte Drittanbieter-Bibliothek tief in den Build-Prozess integriert, die wirksamen Schutz vor Reverse Engineering bietet. Ergänzend wurden sämtliche Binaries und Libraries digital signiert. Fremd-Plugins werden ausschließlich dann geladen, wenn sie über eine gültige Signatur verfügen und explizit freigegeben sind.

Alle relevanten Schnittstellen – darunter WCF- und REST-basierte Services – wurden auf ein einheitliches Sicherheitskonzept mit Authentifizierung und Autorisierung umgestellt. Auf diese Weise lässt sich präzise definieren, welche Benutzer, Rollen oder Systeme welche Funktionen in welchem Umfang ausführen dürfen.

Für die Echtzeit-Kommunikation zwischen Arbeitsstationen, Plugins und angeschlossenen Geräten wurde eine Message-Queuing-Architektur auf Basis von RabbitMQ implementiert. Datensperrungen und Datenänderungen werden seitdem zuverlässig an alle interessierten Abonnenten verteilt – entkoppelt, skalierbar und mit klar definierten Topics.

Ergebnis

Sämtliche Anforderungen wurden planmäßig umgesetzt und erfolgreich in den Produktivbetrieb überführt. Die ausgelieferte Software bietet ein deutlich höheres Sicherheitsniveau für sensible Patientendaten und erfüllt damit die strengen Anforderungen an moderne Medizinsoftware.

Durch den neu eingeführten Notification Service ist zudem ein störungsfreier Mehrplatzbetrieb gewährleistet: Auch in Umgebungen mit zahlreichen Arbeitsstationen und angebundenen Geräten arbeiten alle Komponenten konsistent auf demselben Datenstand – eine wesentliche Voraussetzung für effiziente Abläufe in der modernen Zahnarztpraxis.