🔬 Blutzuckeranalyse-Dashboard mit GPT & MySQL-Backend

Dieses Streamlit-basierte Dashboard dient der Analyse kontinuierlicher Glukosemessungen (Dexcom), die via CGI-Script automatisiert in eine MySQL-Datenbank übertragen werden.

Technische Merkmale:

  • Backend-Anbindung:
    • SQL-Datenbank (MySQL), befüllt durch ein externes CGI-Uploadscript
    • Dynamisches Query-Building per GPT-3.5 (OpenAI API) zur SQL-Erzeugung aus Spracheingaben oder Freitext
  • Frontend / Dashboard (Streamlit):
    • Datumsbasierte Filterung (von/bis)
    • SQL-Editor mit automatisierter Ausführung
    • Visualisierung der Blutzuckerwerte inkl. Zielbereich-Highlighting (Zone: Unterzuckerung <70, Normal 70–180, Überzuckerung >180 mg/dl)
    • KPI-Anzeige: Minimum, Maximum, Durchschnitt
    • Interaktives Charting mit Altair
    • GPT-basierte Analysefunktion für natürliche Nutzerfragen zu Schwankungen, Hypoglykämien etc. (z. B. „Erkläre die nächtlichen Schwankungen“)
  • Error Handling:
    • Robuste Verarbeitung der CGI-Rohantwort (inkl. JSON-Parsing, Logging)
    • Benutzerfeedback bei API-Fehlern, leeren Ergebnissen oder ungültigen Zeiträumen

Anwendungsbereich:
Selbstmonitoring von Glukosewerten, Patient:innen-Feedback, datenbasierte Diabetesbetreuung, Integration in medizinische Analysepipelines oder Prototypen für Health-Apps.

Ein intelligentes Analyse-Tool zur Auswertung kontinuierlicher Glukosewerte – mit GPT-gestützter SQL-Generierung, Dashboard-Funktionalität und medizinischer Interpretation.

🔗 Live-Demo: dexcom-gpt-sql.streamlit.app
💻 Code auf GitHub: https://github.com/bira-at/dexcom-gpt-sql


⚙️ Technischer Überblick

Backend:

  • Datenimport via CGI-Script in eine MySQL-Datenbank
  • Speicherung der Werte (Uhrzeit, Wert) in einer Blutzucker-Tabelle
  • REST-Zugriff via get_dexcom.py-API mit dynamischen SQL-Parametern

Frontend (Streamlit):

  • Datumsfilter: Benutzerdefinierte Auswahl von Zeitraum „von – bis“
  • Freitext-Eingabe: Automatische SQL-Generierung via GPT (gpt-3.5-turbo-instruct) – z. B. bei Fragen wie „Wie viele Hypoglykämien gab es?“
  • Fallback: Standard-SQL-Abfrage bei leerem/nicht verstandenen Prompt

Visualisierung:

  • Line Chart: Zeitverlauf der Werte
  • KPI-Cards: Minimum, Maximum, Durchschnitt
  • Altair-Chart: Zielbereichsbasierte Einfärbung (Unterzuckerung <70, Normal 70–180, Überzuckerung >180 mg/dl)
  • CSV-basierte GPT-Analyse: Erklärungen zu Blutzuckerschwankungen in natürlicher Sprache

Fehlerbehandlung:

  • Validierung von JSON-Rohdaten aus der API
  • Catch von Parsingfehlern, leeren Ergebnissen und Benutzerfehlern

Dieses Projekt demonstriert die Integration von LLMs (Large Language Models) in klassische Datenanalyse-Workflows mit medizinischem Kontext – ideal zur Weiterentwicklung für HealthTech-Prototypen, individuelle Patientenbetreuung oder Coaching-Plattformen.