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 einerBlutzucker
-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.