chevron_left Zurück
Technik
Technische Dokumentation

Architektur der FeverMap-Shiny-App

FeverMap verbindet eine schlanke Website mit einer gehosteten R/Shiny-Anwendung. Dokumentiert werden Architektur, Datenfluss, Visualisierung und die unmittelbar im App-Code verwendeten R-Pakete.

2komprimierte RDS-Datenobjekte 17direkt referenzierte R-Pakete 105aufgelöste Deployment-Abhängigkeiten 2öffentlich auswählbare Kartenmodi
Architektur Datenfluss Kompression Ausgaben R-Pakete Externe Dienste
01

Systemarchitektur

Vier klar getrennte Ebenen bilden den öffentlichen Anwendungsweg.

  1. FeverMap.de Die Landingpage erklärt das Projekt, zeigt Vorschauen und führt in die Anwendung.
  2. Lokaler App-Rahmen /app/ stellt die Einbettung und den Ladeübergang zur eigentlichen App bereit.
  3. R/Shiny auf shinyapps.io Eine serverseitige Shiny-Sitzung verarbeitet Filter, Aggregationen und Ausgaben reaktiv.
  4. Browserdarstellung Leaflet-Karten, Datentabelle, Kennzahlen und Diagramme werden interaktiv aktualisiert.
arrow_branch

Die Website und die Shiny-Laufzeit sind getrennt deployt. Beim Öffnen der Karte lädt der lokale Rahmen die Anwendung von neuropsy17.shinyapps.io/FeverMap in einem eingebetteten Frame.

02

Datenfluss und reaktive Verarbeitung

Die Rohobjekte bleiben auf der Serverseite; die Oberfläche erhält daraus abgeleitete Darstellungen.

  1. 1
    Laden

    Beim Start liest R die bereinigten Fieberdaten und die vereinfachten PLZ-Geometrien aus zwei RDS-Dateien ein.

  2. 2
    Räumliche Vorbereitung

    sf ermittelt für die PLZ-Flächen Mittelpunkte und Koordinaten, die anschließend mit den Fieberdaten verbunden werden.

  3. 3
    Filtern

    Geschlecht und Alter in Lebensmonaten begrenzen reaktiv die Datensätze der aktuellen Sitzung.

  4. 4
    Aggregieren

    Die App gruppiert nach Postleitzahl und berechnet Fallzahl sowie mittlere Durchschnitts-, Minimal- und Maximaltemperatur.

  5. 5
    Visualisieren

    Nur die für die aktuelle Ansicht benötigten aggregierten Ergebnisse fließen in Karte, Tabelle, Kennzahlen und Diagramme.

03

Datenkompression und Geometrieoptimierung

Beide Laufzeitobjekte sind als gzip-komprimierte RDS-Dateien abgelegt.

Datenobjekt Verwendung Komprimiert Entpackt Reduktion
feverapp_cleaned.rds Bereinigte Fieberbeobachtungen 146.623 Bytes 1.136.913 Bytes 87,1 %
zip_filtered_simplified.rds Vereinfachte PLZ-Flächen 1.844.053 Bytes 2.873.983 Bytes 35,8 %

Die Reduktionswerte ergeben sich aus den komprimierten Dateien und den in ihren gzip-Headern ausgewiesenen Originalgrößen. Die App lädt bereits räumlich vereinfachte PLZ-Geometrien; dadurch müssen zur Laufzeit weniger Geometriedaten verarbeitet werden.

04

Interaktive Eingaben und Ausgaben

Die Oberfläche kombiniert räumliche Exploration mit tabellarischen und statistischen Ansichten.

slider_horizontal_3

Filter und Darstellung

Geschlecht, Altersbereich, Temperaturkennwert, Deckkraft, Kartenmodus und Grundkarte steuern die aktuelle Ansicht.

map

Karten

Leaflet rendert eine Bubble- oder Choroplethenkarte mit Legende, Miniaturkarte, Standort-, Reset- und Messwerkzeugen.

table

Tabelle und Export

DT stellt die PLZ-Aggregate durchsuchbar, responsiv und mit Exportoptionen für Kopie, CSV, Excel, PDF und Druck bereit.

chart_bar

Statistische Ansichten

Fallzahlen, Temperaturverteilungen, Altersverteilung und eine Korrelationsmatrix ergänzen die räumliche Darstellung.

05

Direkt verwendete R-Pakete

Die Versionsstände stammen aus dem Deployment-Manifest; jeder Paketname führt zur offiziellen CRAN-Dokumentation.

Anwendung und Benutzeroberfläche

  • shiny1.10.0

    Reaktives Webframework und Sitzungslogik

  • shinydashboard0.7.2

    Dashboard-Grundlayout

  • shinydashboardPlus2.0.4

    Erweiterte Dashboard-Komponenten

  • shinyWidgets0.8.6

    Zusätzliche Eingabeelemente

  • shinyjs2.1.0

    Dynamische UI-Zustände und JavaScript-Brücke

  • shinycssloaders1.1.0

    Ladeanzeigen für reaktive Ausgaben

  • waiter0.2.5

    Lade- und Wartezustände

  • htmltools0.5.8.1

    Erzeugung eingebetteter HTML-Inhalte

Daten, Geodaten und Hilfslogik

  • dplyr1.1.4

    Filtern, Gruppieren, Aggregieren und Verknüpfen

  • stringr1.5.1

    Einheitliche Zeichenkettenverarbeitung

  • sf1.0-19

    PLZ-Geometrien, Mittelpunkte und Koordinaten

  • scales1.3.0

    Skalierung von Markierungsgrößen und Werten

  • memoise2.0.1

    Memoisierter Hilfsbaustein für Aggregationen

Karten, Tabellen und Statistik

  • leaflet2.2.2

    Interaktive Karten und Ebenen

  • leaflet.extras2.0.1

    Miniaturkarte, Messung und Kartenwerkzeuge

  • DT0.33

    Interaktive Datentabelle und Exporte

  • corrplot0.92

    Visualisierung der Korrelationsmatrix

cube_box

Das Deployment-Manifest löst insgesamt 105 R-Pakete auf. Diese Zahl enthält die 17 oben aufgeführten, im App-Code direkt referenzierten Pakete sowie deren transitive Laufzeitabhängigkeiten.

06

Hosting- und Dienstgrenzen

Für eine vollständige technische Einordnung gehören auch die externen Laufzeitdienste zum Systembild.

  • FeverMap.deliefert Landingpage, App-Rahmen, lokale Medien und diese Dokumentation.
  • shinyapps.iohostet die reaktive R/Shiny-Laufzeit und verarbeitet die Sitzungseingaben.
  • Kartenanbieterliefern je nach Auswahl Grundkarten von OpenStreetMap.DE, CartoDB oder Esri.
  • Fachliche Datenwerden als vorbereitete, anonymisierte Laufzeitobjekte in der Shiny-Anwendung bereitgestellt.

Hinweise zur Verarbeitung beim Websitebesuch stehen in der Datenschutzerklärung.

FeverMap ist ein Projekt an der

Universität Witten/Herdecke Logo

Fakultät für Gesundheit
Gerhard Kienle Lehrstuhl für Medizintheorie,
Integrative und Anthroposophische Medizin
Universität Witten/Herdecke

Ergänzend dazu bietet das FeverQuiz wissenschaftlich geprüfte Fragen und Antworten rund um Fieber, Symptome und Kindergesundheit, basierend auf der AWMF-S3-Leitlinie „Fiebermanagement bei Kindern und Jugendlichen“.

Datenschutz Impressum