
cgm-analyzer
Analyzes continuous glucose monitor CSV data, calculates TIR/TAR/TBR metrics, generates AGP charts,
提供方 zinojeng|开源
CGM 血糖數據分析技能
這是一個專為 Claude Code 設計的 CGM (連續血糖監測) 數據分析技能,能夠自動處理和分析血糖數據,生成專業的分析報告。
🚀 快速開始
1. 安裝技能
將整個 cgm_skill 資料夾複製到 Claude Code 技能目錄:
# 個人技能
cp -r cgm_skill ~/.claude/skills/
# 或專案技能
cp -r cgm_skill .claude/skills/
2. 安裝依賴
cd cgm_skill/scripts
pip install -r requirements.txt
3. 執行分析
# 步驟 1: 分割原始 CSV
python scripts/split_csv.py your_cgm_data.csv ./output
# 步驟 2: 分析血糖數據
python scripts/analyze_cgm.py output/*_glucose.csv output/*_events.csv
# 步驟 3: 生成 AI 報告(需要 OpenAI API Key)
python scripts/llm_analysis.py report/metrics.json YOUR_API_KEY
📁 檔案結構
cgm_skill/
├── skill.md # 技能主文檔
├── README.md # 本說明檔案
├── knowledge/ # 專業知識庫
│ ├── cgm_metrics.md # CGM 指標參考
│ └── diabetes_guidelines.md # 糖尿病管理指南
└── scripts/ # 可執行腳本
├── split_csv.py # CSV 分割工具
├── analyze_cgm.py # 數據分析工具
├── llm_analysis.py # AI 報告生成器
└── requirements.txt # Python 依賴
📊 功能特色
核心分析功能
- ✅ Time in Range (TIR) 計算
- ✅ 血糖變異性分析 (CV, SD, MAGE)
- ✅ GMI 和 GRI 風險評估
- ✅ AGP 動態血糖曲線生成
- ✅ 每日血糖模式識別
AI 智能分析
- 🤖 個人化血糖管理建議
- 🤖 胰島素劑量優化建議
- 🤖 飲食和運動建議
- 🤖 風險預警和趨勢預測
視覺化報告
- 📈 AGP 百分位數圖表
- 📈 每日血糖疊加圖
- 📈 Time in Range 圓餅圖
- 📈 趨勢分析圖表
🔧 進階使用
自訂目標範圍
在 analyze_cgm.py 中修改目標範圍:
# 預設目標範圍
metrics = analyzer.calculate_metrics(target_range=(70, 180))
# 嚴格控制目標
metrics = analyzer.calculate_metrics(target_range=(70, 140))
# 妊娠期目標
metrics = analyzer.calculate_metrics(target_range=(63, 140))
選擇 AI 模型
支援多種 OpenAI 模型:
# 使用 GPT-4o (預設)
python llm_analysis.py metrics.json API_KEY gpt-4o
# 使用 GPT-4o-mini (較經濟)
python llm_analysis.py metrics.json API_KEY gpt-4o-mini
# 使用 GPT-5 (如有權限)
python llm_analysis.py metrics.json API_KEY gpt-5
批次處理
處理多個檔案:
#!/bin/bash
for file in data/*.csv; do
python scripts/split_csv.py "$file" "./output/$(basename $file .csv)"
python scripts/analyze_cgm.py "./output/$(basename $file .csv)"/*_glucose.csv
done
📝 數據格式要求
CGM 數據格式
Date,Time,Sensor Glucose (mg/dL)
2024-01-01,00:00,120
2024-01-01,00:05,118
2024-01-01,00:10,115
...
事件數據格式(選擇性)
Date,Time,Event Type,Event Subtype,Insulin Value (u),Carb Value (g)
2024-01-01,07:30,Meal,Breakfast,,45
2024-01-01,07:25,Insulin,Rapid,8,
...
🎯 使用案例
案例 1: 基本分析
# 只分析血糖數據,不含事件
python scripts/analyze_cgm.py glucose_only.csv
案例 2: 完整分析
# 包含胰島素和餐食事件
python scripts/analyze_cgm.py glucose.csv events.csv
案例 3: 自動化每日報告
# daily_report.py
import schedule
import time
from analyze_cgm import CGMAnalyzer
from llm_analysis import CGMLLMAnalyzer
def daily_analysis():
analyzer = CGMAnalyzer("today_glucose.csv")
metrics = analyzer.calculate_metrics()
analyzer.generate_report("./daily_reports/")
llm = CGMLLMAnalyzer(api_key="YOUR_KEY")
llm.generate_comprehensive_report(metrics)
schedule.every().day.at("20:00").do(daily_analysis)
while True:
schedule.run_pending()
time.sleep(60)
🛠️ 故障排除
常見問題
-
找不到模組錯誤
pip install --upgrade -r scripts/requirements.txt -
中文顯示問題
# 在腳本開頭加入 plt.rcParams['font.sans-serif'] = ['Arial Unicode MS'] plt.rcParams['axes.unicode_minus'] = False -
API 額度不足
- 使用 gpt-4o-mini 代替 gpt-4o
- 減少分析頻率
- 檢查 OpenAI 帳戶餘額
-
數據格式錯誤
- 確認 CSV 包含必要欄位
- 檢查日期時間格式
- 移除空白行和無效數據
📖 參考資源
🤝 貢獻指南
歡迎提交 Issue 和 Pull Request!
開發環境設置
git clone https://github.com/zinojeng/CGM.git
cd CGM
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
測試
python -m pytest tests/
📄 授權
MIT License - 詳見 LICENSE 檔案
⚠️ 免責聲明
本工具僅供教育和研究用途。所有醫療決策應諮詢專業醫療人員。作者不對使用本工具造成的任何後果負責。
版本: 1.0.0 更新日期: 2024-12 作者: CGM Analysis Team 聯絡: GitHub Issues