个人健康档案与趋势分析
把历年体检 / 住院的 PDF 报告,整理成一份结构化健康档案,并跨多个时间点做指标趋势对比。
⚠️ 隐私原则(本 skill 的核心约束)
- 本 skill 不含任何个人健康数据,仅提供工作流、通用模板(占位符)和公开参考区间。
- 实际建档时,所有真实报告、数值、姓名、病史都应存放在用户自己的本地 / 私有同步盘中, 绝不上传第三方、不随 skill 发布、不进入任何公开来源。
- 发布 / 分享本 skill 时只能分享「方法论 + 空模板」,不可打包真实个人档案。
触发场景
- 用户说「把我的体检 / 住院报告整理成档案」
- 用户把若干 PDF 报告放进某个目录并要求「建档 / 做趋势分析」
- 用户要求「对比这几年的指标变化」
工作流(6 步)
1. 收集原始报告
让用户把从医院小程序 / 官网导出的 PDF 放进一个固定目录(如 原始报告/)。
约定:用户丢入新报告并说一声,AI 自动识别、去重、录入、更新趋势。
2. 识别与提取(PDFKit)
加载 @skill:"腾讯文档 PDFKit",对每份 PDF:
detect_type判断页面类型(text / scanned / mixed)extract_text提取文字层to_images(dpi 300)把页面渲染成图,用于读图补全中文
关键坑:中文 CID 字体乱码 医院 PDF 常见 TrueType CID 子集字体,文字层中文会成乱码方块,但数值 / 英文代码可读。 处理顺序:
extract_text提取 ASCII 部分(数值、英文指标名往往可读)to_images渲染后 Read 读图,人工/视觉补全中文项名与单位- 不要依赖
schema_extract对乱码 PDF 的结构化(会返回 null)
3. 去重
用 md5 比对文件内容,剔除重复上传(同一报告多次导出常见)。
4. 结构化录入
按 assets/健康档案_模板.md 的结构,为每次就诊/体检建立一份档案:
- 基本信息、就诊摘要、各系统指标表(结果 + 参考范围 + 备注)
- 异常项用 ⚠️ 标注,写明超出参考范围的幅度
- 年度体检单独成文件(
健康档案_2022.md等),最新一次记为「主档」
5. 趋势分析
把所有时间点的关键指标汇总成一张横向对比表(时间点作列、指标作行):
- 连续异常项(如 LDL-C 多年偏高)高亮
- 新发异常(如某年新发现结节 / 斑块)单独提示
- 给出简明解读(不必替代医生,但要点出需重点复查的项)
- 见
references/workflow.md的趋势分析框架
6. 渲染交付(Markdown → PDF)
用 scripts/render_md_to_pdf.py 把 Markdown 档案渲染为 PDF / PNG:
python render_md_to_pdf.py <input.md> <output.pdf>
依赖 pymupdf(fitz)。系统 CJK 字体(PingFang SC / Heiti SC)保证中文正常显示。
工具依赖
| 工具 | 用途 |
|------|------|
| @skill:"腾讯文档 PDFKit" | PDF 识别 / 提取 / 渲染图片 |
| pymupdf(fitz) | Markdown → PDF/PNG 渲染 |
| 系统 CJK 字体 | 中文显示 |
文件结构(被本 skill 管理的档案项目示例)
健康档案/
├── 健康档案_主档.md # 最新一次就诊完整档案
├── 健康档案_2022.md # 2022 年度体检
├── 健康档案_趋势分析.md # 跨年度对比
├── 健康档案_趋势分析.pdf # 渲染版
└── 健康档案_模板.md # 空白模板(来自 assets/)
参考资料
assets/健康档案_模板.md— 脱敏空白模板(占位符)references/reference_ranges.md— 通用成人体检参考区间references/workflow.md— 详细工作流与趋势分析框架scripts/render_md_to_pdf.py— Markdown → PDF/PNG 通用渲染器
微信扫一扫