Kunde
Eine Firme aus Frankreich, die branchenspezifische Software für Anbieter von Herz-Kreislauf-Behandlungen auf der ganzen Welt liefert, beauftragte Elinext, ihre Webanwendung von Grund auf neu zu erstellen.
Herausforderung
Das Unternehmen ließ vor 15 Jahren eine Delphi-Anwendung erstellen. Kardiovaskuläre Pflegedienstleister nutzten es, um ihre Bestände, Termine und elektronischen Gesundheitsakten (EHR) zu verwalten. Irgendwann stellte sich heraus, dass die Anwendung den Funktionsumfang moderner Technik nicht mehr unterstützte. Auf Innovation getrimmt, machte sich das Unternehmen daran, seine Software neu zu entwickeln. Aber es gab ein Problem: Es fehlten Entwicklerhänden, während die Einstellungsmöglichkeiten auf dem lokalen Markt nicht in das Budget passten. Erstmals suchte das Unternehmen Offshore-Hilfe und stieß auf Elinext. Wir boten praktisches Know-How und Entwickler zu einem günstigen Preis.
Lösung
Als wir an dem Projekt teilnahmen, hatte der Kunde ein kleines Team, das daran arbeitete. Sie verfügten bereits über Entwicklungsprozesse, an die unser ursprüngliches Zweierteam seinen agilen Ansatz angepasst hat. Der Arbeitsumfang wuchs schnell und wir mussten das Team entsprechend verstärken. Im Laufe der Zeit ist es auf zehn Personen angewachsen, die eng mit dem Team des Kunden zusammenarbeiten. Als Basis für die neue App haben wir die Logik der veralteten Delphi-Anwendung verwendet. Die Änderungen, die wir an der Logik vornehmen mussten, waren jedoch so umfangreich, dass wir die App komplett neu gestaltet haben.
Die von uns entwickelte Anwendungsarchitektur basiert auf Microservices entsprechend den jeweiligen Modulen. Um die Dateispeicherung zu ermöglichen, haben wir .NET und relevante Mongo-Datenbanken verwendet. Das als Angular-Anwendung ausgeführte Frontend kommuniziert mit dem Backend über ein REST-basiertes Gateway. Benutzer werden über einen Identitätsserver autorisiert. Die Software umfasst drei Hauptanwendungen: Lagerverwaltung, Terminverwaltung und Admin-Panel. Kliniken können wählen, welche Anwendung sie abonnieren und sogar welche Module sie verwenden möchten. Zudem können sie je nach Datenschutzbestimmungen entscheiden, ob sie die Cloud oder die Vor-Ort-Version nutzen.
Die Hauptfunktionen sind Lagerverwaltung und Terminverwaltung. Erstere ermöglicht es Klinikadministratoren, Artikel im System zu organisieren, fehlende Artikel zu bestellen und die Artikel im Lager zu kontrollieren. Das Terminverwaltungssystem unterstützt die Mitarbeiter bei der effizienten Abwicklung von Terminen und stellt sicher, dass die für jeden Eingriff benötigten Artikel vorrätig sind.
Lagerverwaltung
Die Lagerverwaltung funktioniert als dynamischer Katalog von Artikeln, die eine Klinik bei ihrer Arbeit verwendet, wie Spritzen, Medizinprodukte und Medikamente. Nach der Einführung des Systems gibt eine Klinik Artikel-Barcodes ein. Dies geschieht, indem die Codes mit einem Barcode-Scanner oder Telefon gescannt oder einfach manuell eingegeben werden.
Alle Artikel erscheinen im System zusammen mit Daten wie Lieferant, Verfallsdatum und technischen Parametern. Anschließend können die Mitarbeiter weitere Daten hinzufügen, wie z. B. Mindest- und Höchstmengen der benötigten Artikel des gleichen Typs, Datum der letzten Verwendung, Preis und mehr.
Einige Kliniken verwenden Smartboxen, die mit Scannern ausgestattet sind, die Tags auf Artikeln lesen. Um ihnen die Arbeit zu erleichtern, haben wir das RFID-Modul entwickelt. Ein Mitarbeiter schnappt sich einen neu gelieferten Artikel, öffnet die Box mit seinem Badge und eine Anzeige leuchtet in der Benutzeroberfläche des Systems auf, die anzeigt, dass die Box geöffnet ist.
Sobald sich der Artikel in der Box befindet, wird sie von der Box gescannt und ein Eintrag für den Artikel erstellt. Die Person schließt die Box und validiert die Artikel. Die Box scannt sie erneut und schließlich sind sie im System als „erledigt“ markiert.
Beim Erstellen dieser Funktion hatten wir keine Smartbox zum Spielen. Wie haben wir das Problem gelöst? Wir haben gerade einen digitalen Smart-Box-Simulator zusammengestellt, der fantastisch funktioniert hat.
Insgesamt gibt es eine enorme Vielfalt an Möglichkeiten, die Einträge zu verwalten: Benutzer können sie nach Parametern filtern, die Tabelle anpassen, bis zu 1000 Einträge im Batch bearbeiten (zB den Lieferanten wechseln), Duplikate zusammenführen, Bilder hochladen, Änderungen verfolgen und sichern, und mehr. Darüber hinaus werden Artikeleinträge mit den Katalogen der Lieferanten synchronisiert, um eine einfache Bestellung zu ermöglichen. Mehrere Benutzer können chatten, Aufgaben erstellen, diese einander zuweisen und verfolgen. Als zusätzlichen Vorteil können Benutzer ihr Farbthema ändern.
Wir haben auch Statistiken für die Verwendung von Elementen im Laufe der Zeit aktiviert, die als Diagramme visualisiert werden. Eine besondere Herausforderung war die Visualisierung für ein internationales Publikum. Die Anwendung ist in mehreren Sprachen verfügbar, daher mussten wir sicherstellen, dass die Grafiken in der rechts-nach-links-arabischen Version richtig angezeigt wurden.
Bestellungen
Als Teil des Lagerverwaltungssystems haben wir ein umfassendes Auftragsverwaltungssystem entwickelt. Ein Lagermanager kann Bestellungen erstellen, ihren Status ändern, Lagerräume zuweisen, sie verfolgen und ihre Liste basierend auf mehreren Parametern filtern. Wenn sich der Lagerbestand eines Artikels dem Minimum nähert, benachrichtigt das System den Lagermanager. Sie erstellen eine Bestellung mit voreingestellten Vorlagen und senden sie mit wenigen Klicks per E-Mail an den Lieferanten, alles in derselben Benutzeroberfläche. Bei Bedarf können sie eine Bestellung auch als XLX- oder PDF-Datei exportieren. Wir arbeiten jetzt daran, html und doc zur Liste der Exportformate hinzuzufügen.
Bestandskontrollsystem
Um Kliniken bei der Kontrolle ihrer Bestände zu helfen, haben wir ein Bestandskontrollsystem aufgebaut. Im Mittelpunkt steht das Cycle-Count-Prinzip, und so funktioniert es. Genau wie bei der ersten Verwendung der Software scannen Kliniken Barcodes von Artikeln in den Regalen und geben die Artikeldaten ein. Das System gleicht diese Daten dann mit den Daten ab, die es zuvor hatte, um Disparitäten hervorzuheben. Dies hilft den Mitarbeitern zu sehen, welche Gegenstände verloren gegangen sind und welche nicht in das System eingegeben wurden.
Terminverwaltung
Die Anwendung ermöglicht es Klinikadministratoren auch, die Patientenfluktuation zu verfolgen. Als Teil des Systems der elektronischen Gesundheitsakte (EHR) haben wir Entitäten wie Patienten- und Arztprofile, Terminkalender und Prozedurenkarten hinzugefügt. Wenn ein Patient die Klinik anruft, findet der Administrator einen Platz im Terminplan des Arztes und legt einen Termin an. Dieser Termin enthält alle notwendigen Informationen, beispielsweise wer der Arzt und der Patient sind und welche Art von Verfahren der Arzt durchführen wird. Jedem Patienten wird eine ID zugewiesen, und nur bestimmte Personen, die vom Management festgelegt wurden, können ihren Namen sehen.
Einige Verfahren erfordern bestimmte Elemente, die auf der Verfahrenskarte aufgeführt sind. Wenn ein Vorgang einen Artikel erfordert, der noch nicht auf Lager ist, kann der Administrator überprüfen, wann der Artikel auf Lager sein wird, und den Termin entsprechend festlegen. Sobald der Vorgang abgeschlossen ist, wird das System die verwendeten Artikel aus dem Bestand entfernen. Das ist nur eine Vorstellung davon, wie Kliniken die Prozedurenfunktion nutzen können. In Wirklichkeit können sie den Prozess bei Bedarf optimieren.
Ergebnis
Die von uns entwickelte Anwendung wird von Kliniken in 15 Ländern verwendet, darunter Frankreich, Schweiz, Marokko, Ägypten und Kuwait. Kliniken schätzen die Stabilität, Sicherheit und Nützlichkeit der App. Und selbst wenn es nicht genau in ihren Workflow passt, können sie es anpassen, ohne eine Codezeile zu schreiben. Heute entwickeln wir die Software weiter. Ein kommendes Modul, Report, wird es Kliniken ermöglichen, Pflegeprotokolle als Checklisten für das medizinische Personal hinzuzufügen, eine erweiterte Verwaltung von Papieren und Bildern zu ermöglichen und vieles mehr.