Unser Projekt möchte den Aufnahmeprozess im Krankenhaus vereinfachen und digitalisieren. Hierbei sollen unter anderem digitale Dokumente zwischen Patient und Krankenhaus ausgetauscht werden. Diese Dokumente sind von sensibler Natur. Daher entwickeln wir ein Autorisierungsverfahren, mit dem der Patient einem Krankenhaus zeitlich begrenzten Zugriff auf seine elektronische Gesundheitsakte gewähren kann.
Um dessen Anwendung zu demonstrieren, haben wir außerdem zwei
Android-Apps implementiert:
Mit der ersten App kann das
Krankenhaus Zugriffsrechte auf die elektronische Gesundheitsakte
eines Patienten erfragen und danach Dokumente hochladen.
Die
zweite App wird vom Patienten genutzt, um dem Krankenhaus diese
Zugriffsrechte zu gewähren.
IBM (International Business Machines Corporation)
IBM ist eines der weltweit führenden Unternehmen für Hardware,
Software und Dienstleistungen im IT-Bereich sowie eines der größten
IT-Beratungsunternehmen der Welt.
Mit 9.043 Patenten im Jahr
2017 ist IBM seit nun 25 Jahren Patentweltmeister. Gemessen am
Umsatz ist IBM der zweitgrößte Softwarehersteller der Welt. Außerdem
ist IBM gemessen and er Mitarbeiteranzahl auf Rang 15 der weltweit
größten Unternehmen.
Momentan arbeitet IBM gemeinsam mit der Techniker Krankenkasse und mehreren Gruppen in der Gesundheitsbranche an der sogenannten elektronischen Gesundheitsakte (eGA). Diese soll es dem Nutzer unter anderem ermöglichen, medizinischen Daten und Dokumente in einer Cloud zu sichern. Hiermit soll verhindert werden, dass medizinische Dokumente im Laufe der Zeit verloren gehen.
Im Fokus steht hierbei, dass der Nutzer der Souverän über seine
Daten ist. Weder IBM, noch seiner Krankenkasse oder weiteren
Dritten, wie z.B. einem Krankenhaus, darf es möglich sein, Dokumente
ohne dessen explizite Zustimmung einzusehen, hinzuzufügen, oder zu
verändern. Ziel ist es, die elektronische Gesundheitsakte in Zukunft
auch für Patienten anderer Krankenkassen zur Verfügung zu stellen.
Mithilfe
der eGA möchte IBM den Check-in-Prozess in Krankenhäusern
digitalisieren. Im Moment muss der Patient benötigte Dokumente von
zu Hause mitbringen und vor Ort Forumulare ausfüllen, welche
wiederum von Hand in einen Computer abgetippt werden. Die
Digitalisierung soll es dem Nutzer ermöglichen, existierende
Dokumente aus seiner eGA für das Krankenhaus freizugeben und
Formulare online von zu Hause auszufüllen. Dies soll sowohl dem
Patienten, als auch dem Krankenhaus zeit sparen, und Fehler
verhindern.
Ein Feature der elektronischen Gesundheitsakte soll darin bestehen,
dass der Nutzer einen Leistungserbringer dazu autorisieren kann,
Dokumente für ihn in seine Akte hochzuladen. Dadurch kann ein Arzt
beispielsweise Röntgenbilder direkt in die Gesundheitsakte seiner
Patienten laden, ohne dass der Nutzer die erhaltenen Röntgenbilder
erst einscannen und dann selbst manuell hochladen muss.
Dies
soll über ein Autorisierungsverfahren realisiert werden, bei dem der
Arzt auf seinem Gerät einen QR-Code anzeigt, welcher vom Nutzer in
seiner eGA-App gescannt wird, womit die benötigten Rechte dem Arzt
temporär gewährt werden.
Realisiert wird dies von uns mit dem Session Connect Authenticator. Dieser ist eine generische Implementation des Authentifizierungsverfahren für Keycloak, einen Identity Management Server. Der Session Connect Authenticator kann parallel zu beliebigen, bereits bestehenden Authentifizierungsmechanismen, wie beispielsweise dem klassischen Nutzername-Passwort-Login, genutzt werden, um zusätzlich eine Authentifizierung per QR-Code zu ermöglichen.
Beim Login mit unserem Authenticator kommt man auf eine Login-Website mit einem QR-Code. Ein eingeloggter Nutzer kann den QR-Code dann einscannen und den enthaltenen Wert an einen Webservice schicken, damit man sich der Erzeuger des QR-Codes auf der Login-Seite als dieser Nutzer einloggen kann. Dieser Prozess wird generisch und unabhängig von der elektronischen Gesundheitsakte implementiert werden. Dies ermöglicht die Veröffentlichung der Implementierung als Open Source Projekt.
Außerdem werden zwei Android-Apps implementiert: eine für Patienten und eine für Leistungserbringer. Diese Apps sollen den Ablauf des Hochladens von Dokumenten mithilfe der QR-Code authentifizierung im Zusammenspiel mit der elektronischen Gesundheitsakte demonstrieren.
         
Während der Arbeit an diesem Projekt haben wir einige wichtige Erfahrungen gesammelt:
Werden viele neue Technologien genutzt, ist eine gewisse Einarbeitungszeit nötig. Hierbei sollte sich jedes Teammitglied in seinem eigenen Tempo im Rahmen eines kleinen Beispielprojekt mit den Technologien vertraut machen, und die gewonnenen Erkenntnisse mit den anderen Teammitgliedern teilen.
Die Aufgabenverteilung gestaltet sich bei einem Projekt in dieser
Größenordnung deutlich von gewöhnlichen Projekten während des
Studiums:
Wenige, aber dafür große Aufgaben müssen in
Unteraufgaben aufgeteilt werden, die die Teammitglieder unabhängig
von einander bearbeiten können. Zum Verteilen der Aufgaben ist es
auch notwenig, einen Überblick über den aktuellen stand des Projekts
und den Fortschritt bei den aktuellen Aufgaben zu behalten.
Hierbei
hat es sich als besonders nützlich erweisen, dass jedes Teammitglied
zu Beginn eines Treffens berichet hat, welche Aufgaben abgeschlossen
wurden, und welche in Bearbeitung oder noch ausstehend sind.
Zeitpläne helfen, sich zu Organisieren und Aufgaben zu priorisieren. Es bietet sich an, einen langfristigen Zeitplan für die komplette Projektlaufzeit zu erstellen, der regelmäßig aktuelisiert wird. Aus ihm lässt sich dann ein kurzfristiger Zeitplan für die nächsten 1-2 Wochen erarbeiten.
Eine umfangreiche Kommunikation, sowohl im Team, als auch mit dem Auftraggeber, ist der Schlüssel zum Erfolg. Insbesondere bei räumlich verteilter Arbeit ist ein gemeinsamer Instant Messenger, wie z.B. Slack, von Vorteil. Dieser sollte auch vom Auftraggeber aktiv verwendet werden, damit dieser genauso unkompliziert angesprohen werden kann, wie der Rest des Teams. Probleme und Unklarheiten können so innerhalb weniger Minuten aus der Welt geschafft werden.
Eine Rollenverteilung im Team zu Beginn eines Projekts ist sinnvoll, um das Projekt in einer strukturierten Art und Weise zu beginnen. Allerdings sollten die Rollen während der Projektlaufzeit so angepasst werden, dass die Stärtken der einzelnen Teammitglieder optimal ausgenutzt werden.
Auch wenn von vielen Seiten aus Scrum als Entwicklungsprozess empfohlen wird, ist dieser Prozess nicht immer die beste wahl. Zu beginn haben wir uns zwar an die Scrum-Regeln gehalten, sie haben uns in unserer Arbeit aber mehr behindert, als gefördert.