Der Child Growth Monitor (CGM)

Hilfe für unterernährte Kinder

Der Child Growth Monitor (CGM)

Gofore unterstützt bei der Entwicklung einer Scanner-App, die mittels KI und Augmented Reality die Mangelernährung von Kindern frühzeitig erkennt. Mit der, im Vergleich zu bestehenden Lösungen, relativ leicht zu bedienenden Anwendung kann deutlich mehr Kindern als bisher gezielt geholfen werden.

Die aktuellen Herausforderungen: Unterernährung unverändert ein großes Problem

Nach wie vor leiden mehr als 821 Millionen Menschen weltweit an chronischem Hunger, darunter 200 Millionen Kinder. Jeden Tag sterben 15.000 Kinder an den Folgen von Unterernährung. Zudem sind 22 Prozent aller Kinder unter fünf Jahren, insgesamt 151 Millionen, von ernährungsbedingten Wachstumsverzögerungen betroffen.

Mit herkömmlichen Mitteln ist es schwer zu erkennen, ob ein Kind unter Mangelernährung leidet. Die Messungen sind nicht einfach und der gesamte Prozess ist fehleranfällig. Die Diagnose und das Monitoring erfolgen häufig händisch und es besteht die Gefahr, dass Daten manipuliert werden. Die Folge: Nach Angaben der Welthungerhilfe (WHH) werden nur 35 Prozent aller Kinder richtig gemessen und behandelt.

Die Lösung: Effiziente Hilfe durch künstliche Intelligenz

Die WHH entwickelt gemeinsam mit Partnern aus der Entwicklungshilfe und der Wirtschaft den Child Growth Monitor (CGM). Die App-basierte Lösung nutzt Kamera und Infrarotsensor von Smartphones und erstellt 3D-Scans der Kinder aus Millionen von millimetergenauen Messungen. Ernährungswissenschaftler und IT-Spezialisten werten die Daten mithilfe von Deep-Learning-Modellen aus den KI-Diensten von Microsoft Azure aus und speisen diese wieder in die App zurück. Auf diese Weise verbessern sich kontinuierlich die Datenmodelle und damit die Vorhersagen über den Gesundheits- und Ernährungszustand der Kinder.

Auswahl von Gofore als Entwicklungspartner

Das internationale Entwicklerteam besteht aus rund 15 Personen, darunter IT-Experten, Datenwissenschaftler, Intrastruktur-Spezialisten und Supportpersonal.

Da das Projekt sehr gut zur technischen Kompetenz sowie zur nachhaltigen Firmenphilosophie passt, beteiligte sich Gofore an der offenen Ausschreibung. „Ein wichtiger Faktor für unsere Auswahl war unsere Erfahrung und Flexibilität bei der vorgesehenen technischen Umsetzung. Wir waren in der Lage, sowohl eine Lösung zu finden, die zur bestehenden technischen Landschaft von CGM passte, als auch Fachleute zu finden, deren Fähigkeiten, den Anforderungen des Kunden entsprachen“, sagt Pasi Järvilehto, der bei Gofore für das Projekt verantwortlich ist.

Die ursprüngliche Ausschreibung hatte 4 Hauptziele:

  1. Entwicklung einer modernen REST (REpresentational State Transfer)-basierten API(Application Programming Interface) für die Scanner-App.
  2. Entwicklung eines webbasierten Tools zur Visualisierung der gesammelten Daten und deren Anreicherung mit zusätzlichen Metadaten (Tagging Tool).
  3. Weiterentwicklung und Integration von Microsoft Azure basierten Authentifizierungsmechanismen sowie der cloudbasierten Microsoft-Azure-Infrastruktur.
  4. Verbesserung der bestehenden DevOps(Development und Operations)-Prozesse.

Die Ausgangslage: Vom End-of-Life Prototypen zu einem tragfähigen Fundament

Beim Projekteintritt waren zur Datenverarbeitung ein funktionierender Prototyp einer Proof-of-Concept-Implementierung mit Scanner-App und Backend-Services vorhanden. Die Lösung hatte jedoch einige Probleme hinsichtlich Wartbarkeit und Benutzerverwaltung. „Wir machten uns daran, eine moderne REST-basierte API zu bauen, die den Datenzugriff konsolidiert und neue Methoden für die Benutzerauthentifizierung und -autorisierung bereitstellt“, erläutert Järvilehto.

Die Lösung: Umfassende Weiterentwicklung des API-Dienstes

Die Lösung bestand darin, einen API-Dienst auf Flask aufzubauen, einem Python-basierten Framework für die Erstellung von Webanwendungen. Das Framework und die Programmiersprache wurden so gewählt, dass sie zu den Erfahrungen des CGM-Teams passen. Für die Entwicklung der API wählte man den API-First-Ansatz und für die Formalisierung die OpenAPI-Spezifikation.

Die containerbasierte Lösung wird auf Azure App Service ausgeführt. Die automatisierte Bereitstellung erfolgt mittels Azure DevOps-Pipelines.

Der neue Dienst bietet Abstraktionen über die Datenspeicher, einschließlich relationaler SQL-Datenbanken und Cloud-basierter Speicherkonten. Die Lösung bedient zudem mehrere Clients und bietet verschiedene Authentifizierungsmechanismen (OAuth2, API-Schlüssel) sowie getrennte APIs pro Client-Anwendung.

Die Lösungsarchitektur der App wurde als Teil der Entwicklung der API-Dienste über neue Zugriffsmuster der Daten sowie die Art der Bereitstellung der Dienste umfassend weiterentwickelt.

Entwicklung eines Tagging-Tools zur Klassifizierung

Die Überprüfung und Auswertung der in den Pilotprojekten gesammelten Daten erfolgte zunächst weitgehend manuell und damit langsam. Um die Geschwindigkeit der Datenverarbeitung zu verbessern und die gesammelten Daten mit Metadaten anzureichern, entschied sich das CGM-Team dazu, ein Tagging Tool zur Inspektion und Klassifizierung der gesammelten Daten zu entwickeln. Für diese neuen Anwendungsfälle erweiterte das CGM-Team die neuen API-Dienste. Die Webanwendung basiert auf Vue.js und wird in der Azure-Cloud gehostet.

Heute nutzen das Tagging Tools sowohl die Experten des CGM-Teams als auch externe Personen in den Pilotprojekten auf der ganzen Welt. Um eine dynamische und sichere Benutzerverwaltung und -autorisierung zu ermöglichen, wurde eine OAuth2-basierte Azure B2C-Lösung entwickelt.

Im Fokus stand zudem die Optimierung von Modellierung und Speicherung der verarbeiteten Daten. Die gefundene Lösung ermöglicht es, diese mit beliebigen Metadaten zu erweitern und neue Datenverarbeitungspipelines dynamisch hinzuzufügen – und das ohne größere Modifikationen am Tagging

Agile Projektmanagement-Prozesse etabliert

Während des Projekts entwickelte das CGM-Team agile Projektmanagement-Prozesse iterativ auf Basis des gesammelten Team-Feedbacks. „Um den Bedürfnissen der einzelnen, wachsenden Teams besser gerecht zu werden, haben wir sowohl die Abläufe im Zusammenhang mit Scrum-Methoden verfeinert als auch die Sprint-Längen angepasst“, berichtet Pasi Järvilehto.

Neue DevOps-Praktiken sorgten für mehr Kontrolle über den Entwicklungszyklus in den Teams. Auch die Automatisierung von Aufgaben wie Tests und Deployments sowie ein neuer Release-Prozess mit mehreren Umgebungen und einem Versionierungsschema wirkten sich positiv auf die Abläufe aus.

Highlights

Entwicklung einer App mit Potential

Der aktuell sich in der Testphase befindliche Child Growth Monitor bietet als ein möglicher neuer Brachenstandard große Chancen.

Effiziente Hilfe ermöglichen

Der CGM ermöglicht es, deutlich mehr Kinder als bisher nicht nur zu erfassen, sondern vor allem korrekt zu messen.

Schnelle Entwicklungsprozesse

Verbesserungen in der Softwareentwicklung sorgen für schnellere Iterationszeiten und eine bessere Sichtbarkeit des Projekts.

Effizientes Projektmanagement

Agile Methoden wie SCRUM sorgten dafür, den komplexen Anforderungen in einem wachsenden Team gerecht zu werden.

Neugierig geworden? Dann nehmen Sie Kontakt auf.

Fabian Schiller

Digitale Gesellschaft

fabian.schiller@gofore.com

+49 151 585 11853

Zum Seitenanfang