用药时间安排清单生成
把"患者这次开了哪些药"变成"每天早中晚分别吃什么、怎么吃"的一张清晰清单。
触发条件
- 用户发来处方/用药清单的照片或截图,或逐条列用药(药名+剂量+频次),并希望得到"早中晚服药安排"。
- 用户说:"帮这位患者排一下服药时间""按早中晚给我个清单""把这些药分一下餐次"。
- 查询型触发:用户直接问某药的服用时间/餐次/能否同服,例如"XX 饭前还是饭后吃""左甲状腺素能和钙片一起吃吗""莫西沙星什么时间吃"。此时只查不生成——直接查
references/timing_db.json与用药时间知识库.md回答,无需准备 JSON。
输入格式(任一)
- 照片/截图:处方、门诊清单、药盒照片 → 用 Read 工具视觉读取,提取「药名、剂量、频次(如每日2次/每晚1次)、处方注明的餐次要求」。
- 自由文本:用户按「药名 剂量 频次」逐条发。
- 结构化 JSON:
{"patients":[{"name":"张三","meds":[{"name":"二甲双胍","dose":"0.5g","freq":"每日2次"}]}]}
工作流
- 提取:若是图片,用 Read 工具读取并提取每位患者的药名/剂量/频次;多人则分别整理。
- 结构化:把提取结果整理成上面的 JSON(多患者放入
patients数组)。
- 频次用语统一为:每日1次(QD)/每日2次(BID)/每日3次(TID)/每日4次(QID)/每晚1次(QN)/每周1次/必要时(PRN)。
- 若处方已注明"餐前/餐后/空腹",在 med 里加"meal":"餐前"覆盖默认。 - 排程:运行脚本(知识库
references/timing_db.json由《用药咨询标准话术》维度一提炼):
bash PY="C:/Users/86138/.workbuddy/binaries/python/envs/default/Scripts/python.exe" "$PY" "C:/Users/86138/.workbuddy/skills/用药时间安排清单生成/scripts/generate_schedule.py" \ --input 患者清单.json --docx-dir 输出目录
- 默认打印 Markdown 时间表;加--docx-dir额外给每位患者导出可打印的 docx。 - 呈现:把生成的时间表回给用户;清单「其他注意」列已含保存/服法/饮食/监测/漏服要点,窄治疗窗药在「备注/提醒」列已标注需遵医嘱/监测。
- 导出:若用户要纸质版,交付
--docx-dir产出的 docx。
排程规则(梗概)
- 推荐时段:晨服(糖皮质激素/左甲状腺素/利尿/多数降压药/SSRI)、睡前(他汀短效/α阻滞剂/镇静催眠/钙剂/孟鲁司特)、空腹(左甲状腺素/双膦酸盐/喹诺酮/部分靶向药)、餐中(阿卡波糖/非诺贝特/胰酶/伊马替尼等)、每日固定(多数)。
- 频次→餐次:QD 放推荐时段;BID 早+晚(糖皮质激素早+午模拟生理);TID 早+中+晚;QN 睡前;每周1次 固定周一晨服;PRN 按需。
- 完整药物→时段映射见
references/timing_db.json(可执行)与references/用药时间知识库.md(可读)。
其他维度信息(清单「其他注意」列)
除服药时间外,清单每条药可附「其他注意」列,合并展示 4 类要点:保存(贮存)、服法(剂型用法)、饮食(饮食/生活方式禁忌,如忌酒、避西柚、避矿物质、避日光)、漏服(忘记服药的处理)。不含药-药相互作用与监测维度:药-药相互作用及不良反应监测(如利福平诱导 CYP450、乙胺丁醇视力监测等机制性/需观察内容)不放入患者清单(避免过于复杂),若临床确需由药师口头交代。数据来自 timing_db.json 每药的可选 extra 字段(由主库对应话术提炼,如「示例-抗结核药服用.md」)。未配置 extra 的药显示「按说明书/药师确认」。
- 维护:新增/更新某药的其他维度要点,只需在
timing_db.json该药条目下补extra(键:storage保存 /form服法 /diet饮食 /missed漏服,按需填写,不要写interaction/adverse),脚本自动渲染,无需改动。
安全边界(必须遵守)
- 本工具是用药交代辅助,不是处方;最终服药时段与剂量以开具处方医师/调剂药师的医嘱为准。
- 窄治疗窗/需监测药(华法林、胰岛素、环孢素、他克莫司、碳酸锂、甲氨蝶呤、茶碱、丙戊酸钠等):输出必须标注"请遵医嘱/药师确认具体时段",不得自行主张。
- 知识库未命中的药物:默认按"每日固定、不限餐次"并明确提示"按说明书/药师确认"。
- 不处理注射剂配伍、输液顺序、婴幼儿精确体重剂量等需专业判断的内容,遇此类直接提示转交药师。
与「用药咨询标准话术」skill 的关系
本 skill 复用其 examples/话术库索引.md 维度一(药品用药时间)作为时段知识的权威来源;timing_db.json 是该维度加上维度七「饮食」中禁忌/餐次信息的结构化提炼(不含维度五药-药相互作用)。若主库话术更新,应同步更新 timing_db.json。
快速查询(只查单药,不生成清单)
适合"我就想确认一种药怎么吃"的场景,省去写 JSON 的步骤:
- 怎么查:直接把药名(可带"饭前/饭后/空腹/睡前"等疑问)发给我即可,例如"利福平饭前还是饭后""阿托伐他汀什么时间吃"。
- 查询依据:agent 会检索 references/timing_db.json(可执行真相源,约 150 个药名及商品名/别名)与 references/用药时间知识库.md(可读摘要)。
- 查得到:返回推荐时段 + 与餐关系 + 关键提醒(如避矿物质、忌西柚、窄治疗窗标注)。
- 查不到:按"每日固定、不限餐次"给默认,并明确提示"按说明书/药师确认"。
- 饮食禁忌已并入单药:西柚、矿物质间隔、左甲状腺素与钙/铁/PPI 间隔等患者友好提醒,已作为「饮食」维度写入对应药的 extra.diet(或经「备注/提醒」列展示),不单独弹出"跨药注意事项"模块,清单保持简洁。
包内文件导航
| 文件 | 用途 | 何时看 |
|---|---|---|
SKILL.md |
触发条件、工作流、排程规则、安全边界 | 想知道怎么用、有什么限制 |
references/用药时间知识库.md |
人类可读的时段/频次/冲突摘要 | 快速翻看规则、不跑脚本 |
references/timing_db.json |
可执行药物→时段映射(含别名/窄治疗窗/冲突标记) | 查具体某药、改/扩知识库 |
references/示例输入.json |
标准输入 JSON 模板 | 照着写批量患者清单 |
scripts/generate_schedule.py |
读 JSON → 排程 → Markdown/docx | 批量生成时由 agent 调用 |