health-trend-analyzer
Ally-Health is an intelligent healthcare assistant that combines Claude AI technology with medical expertise. Through natural language interaction, it helps users record symptoms, manage medications, track medical records, and access professional multidisciplinary consultation analysis—making health management smarter and more accessible
654 stars71 forksUpdated Jan 22, 2026
npx skills add https://github.com/huifer/wellally-health --skill health-trend-analyzerSKILL.md
健康趋势分析器
分析一段时间内健康数据的趋势和模式,识别变化、相关性,并提供数据驱动的健康洞察。
核心功能
1. 多维度趋势分析
- 体重/BMI 趋势:追踪体重和BMI随时间的变化,评估健康趋势
- 症状模式:识别反复出现的症状、频率变化、潜在诱因
- 药物依从性:分析用药规律,识别漏服模式和改善空间
- 化验结果趋势:追踪生化指标变化(胆固醇、血糖、血压等)
- 情绪与睡眠:关联情绪状态与睡眠质量,识别心理健康趋势
2. 相关性分析引擎
- 药物-症状相关性:识别新药物是否与症状变化相关
- 生活方式影响:关联饮食/睡眠与症状和情绪
- 治疗效果评估:衡量治疗是否导致改善
- 周期-症状相关性:女性健康追踪中的周期相关性
3. 变化检测
- 显著变化:警告快速体重变化、新症状、药物变化
- 恶化模式:早期识别健康状况下降
- 改善识别:强调积极的健康变化
- 阈值警报:接近危险水平时警告(辐射、BMI极值)
4. 预测性洞察
- 风险评估:基于趋势识别风险因素
- 预防建议:基于模式建议预防措施
- 早期预警:在问题变得严重之前预测
使用说明
触发条件
当用户提到以下场景时,使用此技能:
通用询问:
- ✅ "过去一段时间我的健康有什么变化?"
- ✅ "分析我的健康趋势"
- ✅ "我的身体状况有什么变化?"
- ✅ "健康状况总结"
具体维度:
- ✅ "我的体重/BMI有什么趋势?"
- ✅ "分析我的症状模式"
- ✅ "我的用药依从性怎么样?"
- ✅ "我的化验指标有什么变化?"
- ✅ "我的情绪和睡眠趋势"
相关性分析:
- ✅ "我的症状和什么相关?"
- ✅ "我的药物有效吗?"
- ✅ "睡眠和我的情绪有什么关系?"
时间范围:
- 默认分析过去3个月的数据
- 支持:"过去1个月"、"过去6个月"、"过去1年"
- 支持:"2025年1月至今"、"最近90天"
执行步骤
步骤 1:确定分析时间范围
从用户输入中提取时间范围,或使用默认值(3个月)。
步骤 2:读取健康数据
读取以下数据源:
// 1. 个人档案(BMI、体重)
const profile = readFile('data/profile.json');
// 2. 症状记录
const symptomFiles = glob('data/symptoms/**/*.json');
const symptoms = readAllJson(symptomFiles);
// 3. 情绪记录
const moodFiles = glob('data/mood/**/*.json');
const moods = readAllJson(moodFiles);
// 4. 饮食记录
const dietFiles = glob('data/diet/**/*.json');
const diets = readAllJson(dietFiles);
// 5. 用药日志
const medicationLogs = glob('data/medication-logs/**/*.json');
// 6. 女性健康数据(如适用)
const cycleData = readFile('data/cycle-tracker.json');
const pregnancyData = readFile('data/pregnancy-tracker.json');
const menopauseData = readFile('data/menopause-tracker.json');
// 7. 过敏史
const allergies = readFile('data/allergies.json');
// 8. 辐射记录
const radiation = readFile('data/radiation-records.json');
步骤 3:数据过滤
根据时间范围过滤数据:
function filterByDate(data, startDate, endDate) {
return data.filter(item => {
const itemDate = new Date(item.date || item.created_at);
return itemDate >= startDate && itemDate <= endDate;
});
}
步骤 4:趋势分析
对每个数据维度进行趋势分析:
4.1 体重/BMI 趋势
- 提取历史体重数据
- 计算BMI变化
- 识别趋势方向(上升/下降/稳定)
- 评估变化幅度
4.2 症状模式
- 统计症状频率
- 识别高频症状
- 分析症状时间模式
- 检测症状诱因
4.3 药物依从性
- 计算总体依从率
- 分析各药物依从性
- 识别漏服模式
- 评估改善建议
4.4 化验结果
- 追踪多次报告中的生化指标
- 与参考范围对比
- 识别改善/恶化
- 标记异常指标
4.5 情绪与睡眠
- 关联情绪评分与睡眠时长
- 识别情绪波动模式
- 检测压力水平
- 评估心理健康趋势
步骤 5:相关性分析
使用统计方法识别相关性:
// 皮尔逊相关系数
function pearsonCorrelation(x, y) {
// 计算相关系数
// 返回值范围:-1(负相关)到 1(正相关)
}
// 应用场景
- 药物开始日期 vs 症状频率
- 睡眠时长 vs 情绪评分
- 体重变化 vs 饮食记录
- 运动量 vs 情绪状态
步骤 6:变化检测
识别显著变化:
// 变化点检测
function detectChangePoints(timeSeries) {
// 使用统计方法检测显著变化点
// 例如:体重突然下降、症状突然增加
}
// 阈值警报
function checkThresholds(value, thresholds) {
// 检查是否接近或超过危险阈值
// 例如:BMI > 30、辐射剂量 > 安全限
}
步骤 7:生成洞察
基于分析结果生成预测性洞察:
// 风险评估
function assessRisks(trends) {
// 识别高风险趋势
// 例如:快速体重下降、频繁症状
}
// 预防建议
function generateRecommendations(trends, correlations) {
// 基于模式建议预防措施
// 例如:改善睡眠、提高用药依从性
}
// 早期预警
function earlyWarnings(trends) {
// 在问题变得严重之前预测
// 例如:症状频率上升、情绪持续低落
}
步骤 8:生成可视化报告
生成交互式HTML报告:
- 数据汇总:生成JSON格式的分析结果
- HTML模板渲染:将数据注入HTML模板
- ECharts图表配置:配置6种交互式图表
- 保存文件:保存为独立HTML文件
详细输出格式参见:数据源说明
输出格式
文本报告(简洁版)
健康趋势分析报告
━━━━━━━━━━━━━━━━━━━━━━━━━━
生成时间: 2025-12-31
分析周期: 过去3个月 (2025-10-01 至 2025-12-31)
📊 总体评估
━━━━━━━━━━━━━━━━━━━━━━━━━━
改善中: 体重管理、胆固醇水平
稳定: 血糖控制、情绪状态
需关注: 用药依从性、睡眠质量
📊 体重/BMI 趋势
├─ 当前体重: 68.5 kg
├─ 当前 BMI: 23.1(正常范围)
├─ 3个月变化: -2.3 kg(-3.2%)
├─ 趋势: 📉 逐渐减重
└─ 评估: ✅ 积极趋势,在健康范围内
💊 药物依从性
├─ 当前药物: 3种
├─ 总体依从率: 78%
├─ 漏服次数: 8次
├─ 最好: 阿司匹林 (95%)
└─ 需改进: 氨氯地平 (65%)
⚠️ 症状模式
├─ 最频繁: 头痛(过去3个月 12次)
├─ 趋势: 📉 频率下降(较上期减少4次)
├─ 潜在诱因: 与睡眠质量识别出中等相关(r=0.62)
└─ 建议: 继续改善睡眠模式
🧪 化验结果趋势
├─ 胆固醇: 240 → 210 mg/dL(改善 ✅)
├─ 血糖: 5.6 → 5.4 mmol/L(稳定)
├─ 上次检查: 30天前
└─ 建议: 3个月后复查
😊 情绪与睡眠
├─ 平均情绪评分: 6.8/10
├─ 平均睡眠时长: 6.5小时
├─ 趋势: 情绪稳定,睡眠略有改善
└─ 相关性: 睡眠时长与情绪评分强相关(r=0.78)
🔗 相关性分析
━━━━━━━━━━━━━━━━━━━━━━━━━━
• 睡眠时长 ↔ 情绪评分: 强正相关 (r=0.78)
• 体重变化 ↔ 饮食记录: 中等相关 (r=0.55)
• 用药依从性 ↔ 症状频率: 中等负相关 (r=-0.62)
💡 风险评估与建议
━━━━━━━━━━━━━━━━━━━━━━━━━━
🟢 继续保持
• 当前体重管理方法有效
• 胆固醇水平改善明显
🟡 需要关注
• 提高氨氯地平依从性(设置提醒)
• 增加睡眠时长至7-8小时
📅 复查计划
• 3个月后复查血脂四项
• 1个月后评估用药依从性改善
━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ 免责声明
本分析仅供参考,不替代专业医疗诊断。
请咨询医生获取专业建议。
HTML可视化报告(完整版)
生成包含ECharts交互式图表的独立HTML文件,包含:
- 总体评估卡片:关键指标一目了然
- 体重/BMI趋势图:双Y轴折线图(体重 + BMI)
- 症状频率图:颜色编码的柱状图(高频红/中频黄/低频绿)
- 药物依从性仪表盘:总体依从率 + 各药物详情
- 化验结果趋势图:多系列折线图 + 参考线
- 相关性热图:热力图展示变量间相关性
- 情绪与睡眠面积图:双Y轴面积图
HTML文件特点:
- ✅ 完全独立(所有依赖通过CDN)
- ✅ 交互式图表(缩放、导出、图例切换)
- ✅ 响应式设计(移动端适配)
- ✅ 可打印(打印优化样式)
- ✅ 可分享(发送给医生)
数据源
主要数据源
| 数据源 | 文件路径 | 数据内容 |
|---|---|---|
| 个人档案 | data/profile.json | 体重、身高、BMI历史 |
| 症状记录 | data/symptoms/**/*.json | 症状名称、严重程度、持续时间 |
| 情绪记录 | data/mood/**/*.json | 情绪评分、睡眠质量、压力水平 |
| 饮食记录 | data/diet/**/*.json | 餐次、食物、卡路里、营养素 |
...
Repository
huifer/wellally-healthParent repository
Repository Stats
Stars654
Forks71
LicenseMIT License