doubao-medical-report

必须在用户需要医学报告解读时使用。包括:用户上传体检报告、检验报告、检查单、化验单、血常规/尿常规/生化/肝肾功能/血脂血糖等检验检查图片、照片、截图、PDF、文档、表格或文件;用户只发报告图片/附件且没有文字说明;用户说“帮我看看”“看下这个报告”“这个结果正常吗”“有什么问题”“报告怎么解读”;用户表达体检报告解读、医院报告解读、影像/超声/CT/MRI/内镜/病理报告解读等需求。用于梳理报告

SKILL.md

GitHub

医学检验检查报告解读

适用场景

当用户上传、提供或提到体检报告、检验报告、检查单、化验单、影像报告、内镜报告、病理结果、专科报告或历年健康数据,并希望理解报告内容、异常含义和下一步该怎么观察或就医沟通时使用本 skill。只要识别到用户表达的是“医学检验检查报告解读”或“体检报告解读”需求,或上传了疑似医疗报告的图片、照片、截图、PDF、文档、表格、压缩包/文件,即使没有明确说“解读”,甚至只发附件没有正文,也应调用本 skill。典型需求包括:

  • 解读体检、检验、影像、胃肠镜、病理和专科报告。
  • 处理用户上传的报告图片、照片、截图、PDF、文档或文件,并判断其中是否包含体检、检验、检查、影像、内镜、病理或医院报告内容。
  • 处理用户只发图片/附件、只说“帮我看看”“正常吗”“有什么问题”“怎么解读”的报告解读场景。
  • 解读单张检查单或单次检验报告;即使没有历年趋势,也必须生成异常总览、分组表、逐项详细解读和单次指标可视化。
  • 将健康问题分为:建议限期就医、建议复查随访、建议长期管理。
  • 识别内部紧急风险或急症风险时,单独生成“情况紧急”提示,并用视觉上更强的警示呈现。不要向用户展示“危急值”这个内部术语。
  • 健康问题分类必须先用普通用户能看懂的一句话表达,再列医学指标和证据;不要把专业术语直接作为主要问题标题。
  • 分模块详细解读异常指标,并说明当前结果、参考范围、临床意义、相关风险和行动建议。
  • 分析历年指标趋势和异常变化,作为异常解读和长期管理的辅助证据。
  • 在数据合适时生成飞书图表助手图表,例如趋势折线图、异常分布条形图、风险分层图和复查计划时间轴。
  • 评估疾病风险和相关风险因素。
  • 生成医疗复查、营养饮食、运动健身、睡眠压力和生活方式管理建议。
  • 生成适合飞书阅读、分享、协作和后续编辑的个人健康管理文档。

不要用本 skill 做急诊判断、疾病诊断、疾病确诊、具体治疗方案、处方建议、用药调整、检查替代决策或替代医生治疗决策。若用户要求“诊断是什么”“怎么治疗”“吃什么药/剂量/疗程”“是否需要手术”等,应改为建议携带报告咨询医生,并仅提供报告证据整理、风险提示、复查沟通要点和生活方式管理建议。若用户描述急性胸痛、严重呼吸困难、意识障碍、肢体无力、消化道出血等急症风险,应先建议立即就医。

工具使用规则

  • 数值确认硬门槛:只使用用户资料中清晰、可定位、可复核的数值进入证据表。若项目名、结果、单位、参考范围、异常箭头或日期看不清/对不上,不调用识别工具强行补齐,不猜测数值。若不确定数值会影响异常解读、图表、趋势、高风险提示或就医优先级,必须先暂停生成报告,列出待确认数值请用户确认;用户确认或补充清晰原件后再生成报告。
  • 趋势模块硬门槛:只有证据表中存在同一数值指标 2 个及以上可靠时间点,才允许生成“重点指标趋势”模块。若所有内容都只有一个时间点,必须省略“重点指标趋势”,改为在“单次异常指标可视化”或“风险与异常分布可视化”中呈现异常分布、偏离程度和风险分层。
  • 图表硬门槛:只要证据表中存在同一数值指标 2 个及以上可靠时间点,必须先运行 scripts/prepare-health-chart-blocks.js evidence.json > chart-blocks.json。若 chart-blocks.json 中有 blocks,必须把这些飞书图表助手卡片插入报告;不得只输出趋势表或文字趋势分析。
  • 单张检查单硬门槛:如果只有单次报告或单张检查单,仍必须按系统/指标类别做详细解读。只要存在 1 个及以上异常数值指标,必须运行 scripts/prepare-health-chart-blocks.js evidence.json > chart-blocks.json 生成异常分布或偏离程度图表;不得因为“没有趋势”而不生成图表或不解读。
  • 创建飞书文档时,必须按 lark-doc skill 的创建文档流程执行;创建前读取其要求的共享认证和文档 XML 规则。
  • 默认使用飞书文档 XML 内容创建文档;只有用户明确要求 Markdown 时才改用 Markdown。
  • 输出内容只能定位为“健康信息整理与管理建议”。不得输出诊断结论、疾病确诊、具体治疗方案、药物剂量/疗程、手术/侵入性处置建议,或替代医生判断的治疗路径。
  • 内部紧急风险识别必须谨慎但不能只依赖报告是否标注。若报告标注内部紧急风险、用户/报告提供的检验机构紧急阈值被命中,或结果呈极端异常且经 general_search/MedicalSearch 核验符合权威立即处理标准,应触发用户可见的“情况紧急/请立即联系医生”。报告正文不得出现“危急值”“critical value”“panic value”等内部术语;无触发时不要写任何“未发现紧急风险”的默认说明。
  • 只要回复中涉及药品、医生、医院,或需要给出相关建议,必须调用 MedicalSearch;多个实体分多次调用,每次只查一个 query。
  • 需要查当前指南、权威标准、疾病科普或医学来源验证时,使用 general_search。
  • 参考来源硬门槛:报告中的外部参考文档必须做成可点击链接,且输出前必须检查链接可访问、可打开、与引用内容相关。来源优先级见 references/source-quality-and-links.md:优先国家级/权威指南/教材/权威期刊,其次专业学会和医院官网;不要用无法访问、内容不匹配、营销软文、问答社区或无署名转载页作为依据。
  • 需要计算日期窗口、BMI、eGFR、百分比变化、均值、标准差、趋势统计或风险评分时,使用 calculator。
  • 需要在飞书文档中呈现结构化图表时,优先使用飞书图表助手卡片;参考 references/visualization-and-charts.md。若图表助手插入失败,保留对应数据表和图表生成说明,不要谎称已生成图表。
  • image_generation 和 image_edit 只用于非诊断性插图素材;不得生成伪造医学影像。若建议中涉及动作讲解、家庭监测方法、运动动作、饮食搭配或复查流程,必须调用 image_generation 生成示意图并插入飞书文档;其他场景优先用飞书文档内的表格、callout、分栏和文字结构表达。
  • operate_saved_memory 只在用户明确要求“记住/更新/删除”个人信息时使用。不要主动记忆健康信息。

文件导航

按需读取,不要一次性加载整个目录:

核心工作流

  1. 识别资料来源:报告日期、医院/科室、检查类型、患者基本信息、是否有历年数据,以及数值是否清晰可读。
  2. 先抽取结构化证据并完成数值复核,再写报告:项目、数值、单位、参考范围、日期、来源页、异常标记、原文描述和复核状态。
  3. 若有不确定数值会影响异常解读、图表、趋势、高风险提示或就医优先级,先向用户发出“数值确认清单”,等待用户确认或补充清晰原件;不要先生成飞书报告。
  4. 统一指标名称和单位,同时保留原始值与标准化值。资料不清、无法复核或低置信度数值在确认前不能进入图表、趋势、紧急风险提示或强医学结论。
  5. 建立健康问题清单:本次异常、持续异常、恶化趋势、改善项目和无法确认项目。
  6. 将问题分为四类:
    • suggest_emergency_or_urgent_review:情况紧急或需要立即急诊处理。
    • suggest_timely_medical_review:建议限期就医。
    • suggest_follow_up_testing:建议复查随访。
    • suggest_long_term_management:建议长期管理。
  7. 对每条任务给出明确时间窗口:
    • 情况紧急:现在,立即联系报告出具机构/主管医生,必要时急诊或拨打 120。
    • 建议限期就医:非急诊但需尽快,通常 24-72 小时内或 1 周内,必须写清楚具体窗口。
    • 建议复查随访:通常 1-4 周、1-3 个月或按原报告建议。
    • 建议长期管理:通常 1-3 个月建立计划,3-6 个月复盘。
  8. 生成健康问题分类表:优先级 | 主要问题(一句话) | 这意味着什么 | 对应指标/证据 | 建议动作。主要问题必须通俗,医学术语只放证据列。不要在报告正文或标题中输出“普通用户版”。
  9. 医学解释必须基于已抽取证据和已验证来源。不得编造诊断、病因、风险结论或具体治疗方案。
  10. 对所有优先级异常生成“异常指标详细解读”模块:当前结果与参考范围、异常程度、医学解释、相关风险、与其他指标的关系、复查/就医/管理建议。单张检查单必须逐项解读每个异常指标,不得只输出总览。
  11. 对重复指标做趋势分析:新发异常、持续异常、恶化、改善、波动、稳定或数据不足。仅当存在同一指标 2 个及以上时间点时生成“重点指标趋势”;若全是单时间点,不生成该模块。
  12. 将证据表保存为 evidence.json,运行 scripts/prepare-health-chart-blocks.js evidence.json > chart-blocks.json 自动触发趋势图或单次异常分布图。若输出存在 blocks,报告必须插入飞书图表助手卡片;如果插入失败,必须写明“图表助手卡片未能插入”并保留图表数据表。
  13. 生成可视化计划并在合适时插入飞书图表助手卡片:趋势折线图、异常项目条形图、风险分层图、复查计划时间轴。图表只能基于结构化证据表,不得用影像/病理文字伪造数值图。
  14. 生成长期管理建议:就医沟通、复查安排、营养、运动、睡眠、生活方式和家庭监测。不得生成个体化治疗方案、药物方案或处置方案。
  15. 按 references/report-structure.md 的固定结构生成飞书文档 XML 草稿,使用清新的蓝绿色语义表达、严肃 emoji、任务卡、异常解读表、趋势图表、风险分层和管理清单。
  16. 创建飞书云文档。推荐命令形式:lark-cli docs +create --api-version v2 --content '<title>...</title>...'。
  17. 创建后如有可视化数据,按飞书图表助手卡片规则插入图表;如果无法插入,保留图表数据表和失败说明。
  18. 信息来源必须按 references/source-quality-and-links.md 筛选,并在飞书文档中使用可点击链接;引用外部资料前检查每个链接可访问。
  19. 交付前执行 QA,并运行 scripts/validate-feishu-doc-draft.js 校验文档草稿;若草稿含外部链接,运行 scripts/check-reference-links.js draft.xml 检查链接。
  20. 最终回复必须给出飞书文档 URL,格式为:飞书文档:[个人健康管理报告](https://.../docx/...)。

默认输出

默认输出为飞书云文档链接。除非用户明确说“只要口头分析/不要创建飞书文档”,否则不要停留在对话摘要。

不要生成本地 HTML 文件,不要交付 .html 路径。若飞书文档创建失败,应说明失败原因,并保留可重试的文档草稿内容或草稿文件位置。

最终回复不能只说“已生成报告”。必须同时给出飞书文档链接。示例:

飞书文档已生成: [个人健康管理报告](https://example.feishu.cn/docx/xxxx)

医疗安全要求

每份报告必须包含:

  • 明确免责声明:报告用于健康信息整理和管理建议,不构成诊断、治疗方案、处方、用药建议或替代医生面诊。
  • 对异常或高风险发现,建议咨询合格医生或对应专科。
  • 涉及指南阈值、药品、医生、医院或重要医学解释时,要保留来源。
  • 原始报告不完整、文字不清、时间过旧或互相矛盾时,要写明不确定性。

禁止写“你确诊了某病”“诊断为...”“治疗方案是...”“完全没问题”“必须服药”“停掉某药”“建议手术/不用手术”“无需就医”等确定性或治疗指令。应使用“提示”“可能与...相关”“建议与医生讨论”“需要结合症状和医生判断”等表达。