Method Park goes #WirVsVirusHack-Hackathon

Vom 20. bis 22. März 2020 gab es ein bisher einzigartiges Phänomen in Deutschland: ein Hackathon mit mehr als 40.000 Teilnehmern. Ein Orgateam stellte innerhalb von nur fünf Tagen den #WirVsVirusHack-Hackathon auf die Beine, dessen Ausmaß unglaubliche Größe erreichen sollte.

„48 Stunden. Herausforderungen der Bundesregierung und aus der Gesellschaft. Du und theoretisch 80 Millionen andere. Die Covid-19 Krise. Vielfältige Lösungen.”

Ein Event rund ums Hacken gegen das Coronavirus – das kam natürlich auch bei uns super an.

Nerds aus Deutschland vereinigt euch gegen den Virus #WirVsVirusHack

„Ich hab’ am Wochenende keine immensen Freizeitpläne und durch den Hackathon die Möglichkeit, was sinnvolles beizutragen.“ – das war in etwa die erste Reaktion auf den Ankündigungs-Tweet des #WirVsVirusHack-Orgateams.

Gesagt, getan. Aus der vielfältigen Aufgabenliste waren schnell die Favoriten des Teams identifiziert. Nachdem die organisatorische Hürde der Veranstalter gemeistert war, 40.000 Leute gleichzeitig in einen Slack zu bekommen, lagte Slack gewaltig. Unsere Gruppen-Absprachen verlegten wir also in unser MS Teams. Ran an die Herausforderung.

Im Bereich „Lebensnotwendige Dienstleistungen“ wurden wir fündig: das Thema „Kein Aufenthalt im Wartezimmer von medizinischen Einrichtungen“.

Das GitHub-Projekt war schnell angelegt, und die DevPost-Projektseite wurde mit der Problemstellung und unserer geplanten Lösungsidee befüllt. Dass wir das Ganze als Web-App umsetzen werden, war eigentlich sofort klar, schließlich sollte die Anwendung ohne jeglichen Installationsaufwand als Plattform verfügbar sein und natürlich sowohl am Desktop als auch auf Mobilgeräten funktionieren.

Wesentlich schwieriger war es dann schon, zu verstehen, welche konkreten Anforderungen und Bedürfnisse unsere primär anvisierten Benutzergruppen haben. Diese sind auf der einen Seite die Patienten, denen wir einen langwierigen und vor allem riskanten Aufenthalt in überfüllten Wartezimmern ersparen möchten. Auf der anderen Seite das Personal in den Arztpraxen, die ohnehin genug unter Stress stehen und daher so wenig zusätzlichen Aufwand wie möglich akzeptieren werden.

Die Idee zu unserem digitalen Wartezimmer entsteht

#WirVsVirusHack
Ansicht der Adminseite unseres #WirVsVirusHack Hackathon-Projektes WarteFrei beim ersten Betreten

Nach ausgiebigen Diskussionen kamen wir schlussendlich zu dem Konsens, ein System zu bauen, das aus Sicht des Dienstleisters (also zum Beispiel einer Arztpraxis) das Definieren von Warteschlagen erlaubt, in die Kunden (Patienten) eingetragen und in beliebiger Reihenfolge aufgerufen werden können.

Aus Kunden- respektive Patienten-Sicht sollte das System sowohl visualisieren, wie viele Personen sich noch vor einem in der Schlange befinden, und – besonders wichtig – notifizieren, wann man an der Reihe ist.

Wir wollten das System bewusst sehr flexibel halten und keinen festen Workflow vorgeben. Das hat zwei gute Gründe: zum einen kennen wir die konkreten Abläufe in den Praxen zu wenig, und zum anderen wollten wir auch den Einsatz in anderen Szenarien ermöglichen. Denkbar ist das Projekt auch in einem Supermarkt, der nur einer bestimmten Anzahl von Personen gleichzeitig den Zutritt gestattet. In letzterem Fall will man für die Wartenden sicherlich eine Warteschlange, die sequentiell abgearbeitet wird – wer schon am längsten wartet, darf als nächstes rein. In einer Arztpraxis sieht das anders aus: hier muss neben den “normalen” Patienten auch an Notfälle gedacht werden, die beispielsweise über eine eigene Warteschlange verwaltet und bevorzugt aufgerufen werden.

Ein weiterer Diskussionspunkt, der zu diesem domänen-unabhängigen Ansatz führte, war unser Bedürfnis die heiklen Patientendaten zu schützen. Diese sollten erst gar nicht in unserem System gespeichert werden.

Unser #WirVsVirusHack-Projekt “WarteFrei”

Nach Abschluss der Konzeptdiskussionen teilten wir uns grob in zwei Projektteams: Frontend und Backend. Die Frontend-Crew entschied sich für React als Framework, das Backend sollte mit Python und Flask entstehen. Eine REST-API sollte beide Teile möglichst einfach miteinander verbinden.

Innerhalb von 48 Stunden erschufen wir so die App “WarteFrei” aus dem Nichts. Besonders spannend hieran war nicht nur wie sich die technologischen Puzzleteile zusammensetzten, sondern vor allem wie die Kollaboration innerhalb der Teams und zwischen den Teams erfolgte. Viele der Projektmitglieder hatten zu diesem Zeitpunkt noch nie in dieser Konstellation zusammengearbeitet. Ebenso waren die verwendeten Technologien für einige vollkommen neu. Nichts desto trotz schafften wir es, durch eine Kombination von MS-Teams Calls und Meeting, GitHub Pull Requests und Issues sowie der gemeinsamen Motivation, das Problem der vollen Wartezimmer zu lösen, sehr produktiv zusammenzuarbeiten.

Ergebnis nach 48 Stunden #WirVsVirusHack-Hackathon

Das Ergebnis: Ein Flask-Backend mit exponierter REST-API, um die Anfragen des Frontends entgegen zu nehmen und zu verarbeiten. Hierzu zählten das Anlegen und Verwalten von Unternehmen, deren Warteschlangen und natürlich der darin Wartenden. Hier sollte die Privatssphäre der Wartenden geschützt bleiben: So wenig persönliche Informationen wie möglich werden im Backend gespeichert.

Das Endergebnis lässt sich sehen: auf wartefrei.de können Unternehmen jetzt Warteschlangen anlegen um ihre Wartenden zu verwalten. Wartende auf der anderen Seite können mit Hilfe einer Nummer, hinter der sich der digitale Warteraum verbirgt, ihre Position in der Warteschlange sehen und auch erkennen, ob sie aufgerufen wurden. Unser Pitch-Video findest du hier.

Doch nach dem Hackathon ist vor dem nächsten Hacken. In der Zukunft soll unser System Patienten auch per SMS darüber informieren, sobald sie aus der Warteschlange aufgerufen werden.

 

Abschließend einfach vielen Dank an unser großartiges Team für 48 gemeinsame – natürlich remote – Hack-Stunden: Tilman, Frank, Michael, Tobias, Felix, Richard, Florian, Jens, Florian, Tobias, Maxi, Gisa, Norman, Claudi, Patrick, Anna!

Autoren dieses Beitrags: Felix Bräunling, Frank Blendinger, Anna Zeidler