术后随访登记台账生成器(operation-followup-log)
一句话结论:给你一张能直接交随访质控的术后随访执行登记台账——四场景(随访登记/需复诊跟踪/失访登记/月度汇总)自动勾稽,失访行整行标红、未复诊超期整行黄预警(阈值 --limit-days 参数化),【待填】红字清点,缺什么一眼看到。
本页导航:菜单式选路 → 对话示例 → 快速上手与输出预览 → 退出码表 → 字段与判定口径 → 铁律(医疗合规四关)→ 能力边界量化表 → 岗位场景例子 → 边界提醒 → 文件索引。
菜单式选路
使用者开口后按场景引导,一次一问补要素:
第一步 · 选场景(回复序号或场景名均可):
- ① 术后随访登记(逐条登记:随访编号、手术名称与级别(由医师登记抄录)、随访时点、随访方式(电话/复诊)、随访人工号、随访结果——失访标红)
- ② 需复诊跟踪(随访结果为「需复诊」的人员:计划复诊日期 vs 实际复诊日期,未复诊超期整行黄预警,阈值 --limit-days 参数化)
- ③ 失访登记(失访专项:失访登记日期、补访安排,单独成册便于追访)
- ④ 月度随访汇总(按月勾稽:随访完成率/失访率自动算 + 需复诊清单)
第二步 · 给数据(任选一种):
1. 粘贴/口述随访记录(逐行给:随访编号、手术名称、随访时点、随访方式、随访人工号、随访结果……缺的项不用编)
2. --preset 场景名 --save 骨架.json 生成填写骨架(含 plan/limit_days 全局字段),填好 --input 回来
3. --demo 先看脱敏样例长什么样
4. 直接要空模板(8 行【待填】占位)
第三步 · 出台账:xlsx 双表 = 登记明细(异常行整行标红/黄预警 + 【待填】红字 + 冻结表头)+ 统计汇总(异常清单/【待填】清点/隐私与合规提示)。
不知道选什么?直接说需求,我给你列选项,回个序号就出表。
对话示例
> 用户:帮我弄个术后随访登记表
> 助手:好的,先选场景(回序号或场景名):①术后随访登记 ②需复诊跟踪 ③失访登记 ④月度随访汇总
> 用户:1
> 助手:好的,术后随访登记。随访时点方案以贵科为准(--plan 给定,如「术后24h,术后72h,出院后」)。请逐条给数据,一次一项,缺的跳过不编:
> 1. 随访编号?(示例:SF-20261031-001)
> 用户:SF-20261031-001,腹腔镜胆囊切除 三级,术后24h 电话随访,F2001,恢复顺利
> 助手:要素齐全(随访日期未提供→【待填】)。生成台账:1 行,无异常,1 个【待填】。提示:随访结果只做登记抄录,病情问题请转主管医师。
快速上手
# 场景菜单
python scripts/make_operation_followup_log.py --presets
# 脱敏示例(--date 固定台账日期,可复现)
python scripts/make_operation_followup_log.py --demo --out 台账.xlsx --date 2026-11-05
# 指定场景 + 时点方案 + 超期阈值(回序号 1/2/3/4 或场景名均可)
python scripts/make_operation_followup_log.py --preset 需复诊跟踪 --plan 术后24h,术后72h,出院后 --limit-days 7 --out 复诊跟踪.xlsx
# 从填写好的骨架生成
python scripts/make_operation_followup_log.py --input 骨架.json --out 台账.xlsx
# 空模板(8 行【待填】占位)
python scripts/make_operation_followup_log.py --preset 失访登记 --out 空模板.xlsx
输出预览
以下为 --demo --date 2026-11-05(场景① 术后随访登记)输出的文本摘录(截取自实际生成的 xlsx 关键单元格):
| 序号 | 随访编号 | 手术名称 | 手术级别 | 随访时点 | 随访方式 | 随访日期 | 随访人工号 | 随访结果 | 备注 |
|---|---|---|---|---|---|---|---|---|---|
| 1 | SF-20261031-001 | 腹腔镜胆囊切除术 | 三级 | 术后24h | 电话 | 2026-10-28 | F2001 | 恢复顺利 | |
| 3 | SF-20261031-003 | 腹股沟疝修补术 | 二级 | 出院后 | 电话 | 2026-11-02 | F2002 | 失访 | ⚠️ 随访结果为失访——请登记补访安排或转入失访登记台账,及时追访(整行标红) |
| 4 | SF-20261031-004 | 甲状腺叶切除术 | 三级 | 术后2周 | 复诊 | 2026-11-03 | F2001 | 恢复顺利 | ℹ️ 随访时点不在给定方案内,请核对登记或更新时点方案(--plan / plan 字段,工具不硬编) |
| 5 | SF-20261031-005 | 急性阑尾切除术 | 二级 | 术后24h | 电话 | 2026-11-03 | F2002 | 【待填】 | ⚠️ 随访结果缺失(恢复顺利/需复诊/失访),请补齐后复核(整行标红) |
统计汇总(截取前几行):登记场景=术后随访登记|台账日期=2026-11-05|随访时点方案=术后24h,术后72h,出院后(示例方案)|未复诊超期阈值=7 天(--limit-days 参数化,黄色预警)|登记行数=5|异常行数(红)=2|【待填】单元格=1。
退出码表(脚本 scripts/make_operation_followup_log.py,v1.0.0)
| 退出码 | 含义 | 处理 |
|---|---|---|
| 0 | 台账生成成功 | — |
| 10 | 输入文件不存在(沿用现有体系约定) | 核对 --input 路径 |
| 11 | 输入缺失:缺 items / items 非数组 / --save 未指定 --preset |
按 {"items": [ … ]} 结构补齐 |
| 12 | 格式错误:JSON 无法解析 / items 项非对象 / --date 无法识别 |
核对 JSON 语法与日期格式 |
| 13 | 隐私拦截:输入检测到姓名明文(受随访者称呼直跟姓氏/「某某」式/常见占位名)、身份证号、手机号 | 去除敏感信息后重试;人员标识仅可用随访编号/工号(错误提示不回显敏感值) |
| 14 | 校验失败:预设名不存在 | 见 --presets 菜单(回序号/场景名均可) |
| 15 | 运行超时(60 秒看门狗) | 重跑同一条命令 |
| 20 | 解析失败 / 输出失败等未预期异常(兜底) | 把输入 JSON 与提示发给助手排查 |
| 21 | 缺依赖 | pip install openpyxl 后重跑 |
单行日期/数量格式错误不中断整份台账:该格转【待填】红字并在备注注明原因,汇总页计入清点;文件级错误才整体退出。
字段与判定口径
- ① 术后随访登记(10 列):序号 / 随访编号 / 手术名称 / 手术级别 / 随访时点 / 随访方式 / 随访日期 / 随访人工号 / 随访结果 / 备注
- ② 需复诊跟踪(10 列):序号 / 随访编号 / 手术名称 / 随访时点 / 随访方式 / 计划复诊日期 / 实际复诊日期 / 复诊状态 / 随访人工号 / 备注
- ③ 失访登记(9 列):序号 / 随访编号 / 手术名称 / 随访时点 / 随访方式 / 失访登记日期 / 补访安排 / 随访人工号 / 备注
- ④ 月度随访汇总(11 列):序号 / 月份 / 应访人次 / 已完成人次 / 失访人次 / 需复诊人次 / 随访完成率 / 失访率 / 需复诊清单(随访编号) / 登记人工号 / 备注
异常行整行标红(⚠️ 写入备注,人工核对):
- 术后随访登记:随访结果=失访|随访结果缺失|随访编号缺失(登记须逐笔可追溯)
- 需复诊跟踪:随访编号缺失
- 失访登记:随访编号缺失
- 月度随访汇总:已完成+失访 > 应访(勾稽不平)|人次为负
黄色预警行整行黄(⚠️ 写入备注,提示时限、不判定责任):
- 需复诊跟踪:未复诊且(台账日期−计划复诊日期)> --limit-days(默认 7 天,参数化不硬编);未超阈值只给 ℹ️ 提示
软提示(ℹ️ 备注提示,不标红):随访时点不在给定方案内(方案由 --plan / plan 字段给定,工具不硬编);日期/数值无法识别(该格转【待填】);补访安排未登记;已完成+失访 < 应访(差额部分请在院内口径内说明)。
- 【待填】单元格红字标红,汇总页清点数量并提示「未补齐视为登记未完成」
- 完成率=已完成人次/应访人次、失访率=失访人次/应访人次(纯算术推导,源自已填数量),应访缺失则为【待填】,绝不代填
- 手术名称与手术级别由医师登记抄录,工具不判断级别合理性
- 随访方式:电话/复诊(登记抄录);随访结果:恢复顺利/需复诊/失访(受访者反馈抄录)
- 日期支持
2026-03-15/2026.3.15/2026/3/15/2026年3月15日/20260315,月份可直接填2026-10/2026年10月 - 人员标识只能填随访编号/工号;
--input的 JSON 里也可写"preset": "场景名"自动选路;骨架顶层的date/dept/plan/limit_days回读时同样生效(命令行--date/--dept/--plan/--limit-days优先级更高,同时给出时覆盖骨架值)
铁律(医疗合规四关)
- 不做医疗建议、不随访病情本身:只做术后随访执行登记台账;随访结果(恢复顺利/需复诊/失访)全部登记抄录,病情问题转主管医师,处置以本院随访制度为准
- 敏感个人信息硬拦截:脚本检测到姓名明文(受随访者称呼直跟姓氏/「某某」式/常见占位名)、身份证号、手机号 → 退出码 13 直接拒绝处理(错误提示不回显敏感值);全程只收随访编号/工号,不收任何姓名
- 数据不出机:台账本地生成,无网络请求;随访登记信息按院内数据管理规定流转
- 不编造不代填:数值/日期等关键字段缺失一律【待填】标红,汇总页清点;完成率/失访率只做已填数据的算术推导,绝不代填数值
能力边界量化表
| 能做 | 不做(明确边界) |
|---|---|
| 四场景随访执行登记台账生成(xlsx 双表,可打印归档) | 不替代院内随访系统:无自动外呼、无随访任务派发、无 HIS 数据对接 |
| 失访标红、未复诊超期黄预警(--limit-days 参数化) | 不随访病情本身:不问诊、不判断恢复情况、不解读检查结果 |
| 完成率/失访率勾稽(纯算术推导,标注来源) | 不做医疗建议:复诊与否、处置方案由主管医师决定,台账只抄录 |
| 随访时点方案对照(方案由 --plan 给定,不硬编) | 不生成随访方案/计划:出院随访方案生成请用 discharge-followup-plan |
| 敏感个人信息隐私拦截(退出码 13,只收随访编号/工号) | 不识别或处理影像/录音;输入仅支持 JSON 文本 |
| 本地生成、数据不出机 | 不引用法规具体条款号;随访频次口径以本院制度为准 |
岗位场景例子
- 临床科室随访护士:「术后病人出院后要按方案电话随访,结果要留痕」→ 选 ① → 逐条登记,失访行直接红
- 随访问诊质控员:「需复诊的人拖太久没人管」→ 选 ② → 未复诊超过阈值(--limit-days)整行黄预警
- 随访组长:「失访的要单独登记追访」→ 选 ③ → 失访专项台账 + 补访安排留痕
- 科室月底:「随访质控要完成率和失访率」→ 选 ④ → 完成率/失访率自动勾稽 + 需复诊清单
边界提醒
- 与相邻技能划界:
discharge-followup-plan=出院随访方案生成(节点/红旗/提醒话术);surgery-safety-checklist=手术安全核查单——本技能只做术后随访执行登记台账(随访编号/时点/方式/结果抄录)。方案生成、手术核查、病情判断一律不用本工具 - 本工具不替代院内随访系统与随访制度;随访台账按院内要求归档
- 随访时点方案、超期阈值均为使用方输入(--plan / --limit-days),工具不硬编、不建议方案;黄预警只提示时限,不判定责任
- 随访编号/随访人工号列只填编号,不得填写受随访者或随访人姓名明文——脚本对姓名明文/身份证/手机号是硬拦截(退出码 13);「术后随访」「复诊」等业务词已列入白名单防误拦
文件索引
| 文件 | 用途 |
|---|---|
| scripts/make_operation_followup_log.py | 核心:CLI 成稿 + 四场景判定 + 异常标红/黄预警 + 隐私拦截 + 错误码兜底 |
| references/operation-followup-guide.md | 随访执行登记实践参考:时点方案/复诊跟踪/失访追访/月度勾稽台账口径 |
| assets/faq.md | 常见问题 12 条(隐私拦截/时点方案/超期阈值/失访标红/待填卡点/系统边界等) |
| assets/anti-patterns.md | 反模式集中清单(错误操作+后果+替代) |
| beta-test/run_tests.py | 内测回归脚本(隐私拦截/退出码/标红与黄预警/参数化/待填不编造等) |
| avatars/avatar-512.png | 技能头像 |
FAQ 快捷导航:会判断恢复情况吗→Q1|没数据能生成吗→Q2|为什么被拒绝(13)→Q3|时点方案怎么给→Q4|超期阈值怎么调→Q5|失访了怎么办→Q6|和出院随访方案→Q7|数据外传→Q8|【待填】算完成吗→Q9|场景怎么选→Q10|完成率怎么算→Q11|和随访系统→Q12。