系统停机演练记录台账生成器(system-drill-log)
一句话结论:给你一张能直接交应急管理的演练记录台账——四场景(演练记录/步骤完成情况/改进项跟踪/月度汇总)逐项留痕,未完成步骤整行标红、未闭环改进项黄色预警(非异常定性),完成率/闭环率自动推算,缺什么一眼看到。
本页导航:菜单式选路 → 对话示例 → 快速上手与输出预览 → 退出码表 → 字段与判定口径 → 铁律(医疗合规四关)→ 能力边界量化表 → 岗位场景例子 → 边界提醒 → 文件索引。
菜单式选路
使用者开口后按场景引导,一次一问补要素:
第一步 · 选场景(回复序号或场景名均可):
- ① 演练记录(演练名称/日期/类型/影响系统/范围/参与科室;诊疗连续性影响只抄录上报表述)
- ② 步骤完成情况(逐步骤登记计划/实际完成时间与完成情况,未完成项整行标红)
- ③ 改进项跟踪(责任科室/责任人/计划完成日期/闭环状态,未闭环黄色预警)
- ④ 月度汇总(按演练归集步骤完成率、改进项闭环率——比率由已填计数纯算术推算)
第二步 · 给数据(任选一种):
1. 粘贴/口述演练记录(按场景逐行给:演练名称、步骤、责任科室、日期……缺的项不用编)
2. --preset 场景名 --save 骨架.json 生成填写骨架,填好 --input 回来
3. --demo 先看脱敏样例长什么样
4. 直接要空模板(8 行【待填】占位)
第三步 · 出台账:xlsx 双表 = 演练明细(标红行 + 黄色预警行 + 【待填】红字 + 冻结表头)+ 统计汇总(异常清单/黄色预警清单/【待填】清点/合规提示)。
不知道选什么?直接说需求,我给你列选项,回个序号就出表。
对话示例
> 用户:这周做了次 HIS 停机演练,帮我记个台账
> 助手:好的,先选场景(回序号或场景名):①演练记录 ②步骤完成情况 ③改进项跟踪 ④月度汇总
> 用户:2
> 助手:好的,步骤完成情况。请按步骤给数据,一次一项,缺的跳过不编:
> 1. 演练名称?
> 用户:HIS 机房级停机应急演练,第 3 步「病区启动纸质医嘱与本登记」计划 09:00 完成,实际没完成,护理部 N3005
> 助手:要素齐全。该步骤「未完成」将整行标红(登记口径提示,是否影响演练结论由应急领导小组评定)。生成台账:1 行,1 个标红行。
快速上手
# 场景菜单
python scripts/make_system_drill_log.py --presets
# 脱敏示例(--date 固定台账日期,可复现)
python scripts/make_system_drill_log.py --demo --out 台账.xlsx --date 2026-11-01
# 指定场景(回序号 1/2/3/4 或场景名均可)
python scripts/make_system_drill_log.py --preset 改进项跟踪 --out 10月改进项.xlsx
# 从填写好的骨架生成
python scripts/make_system_drill_log.py --input 骨架.json --out 台账.xlsx
# 空模板(8 行【待填】占位)
python scripts/make_system_drill_log.py --preset 步骤完成情况 --out 空模板.xlsx
输出预览
以下为 --demo --date 2026-11-01(场景③ 改进项跟踪)输出的文本摘录(截取自实际生成的 xlsx 关键单元格;完整摘录见 assets/preview.md):
| 序号 | 演练名称 | 改进项 | 责任科室 | 计划完成日期 | 当前状态 | 备注 |
|---|---|---|---|---|---|---|
| 1 | HIS 机房级停机应急演练 | 应急收费程序操作手册下发 | 财务处 | 2026-11-10 | 整改中 | 🟡 改进项未闭环(当前状态=整改中)…(整行黄底) |
| 2 | HIS 机房级停机应急演练 | 病区纸质医嘱本登记模板补配 | 护理部 | 2026-10-25 | 未启动 | 🟡 改进项未闭环…;计划完成日期(2026-10-25)已过仍未闭环…(整行黄底) |
| 3 | HIS 机房级停机应急演练 | 停机公告模板双渠道发布 | 信息科 | 2026-10-20 | 已闭环 | |
| 4 | LIS 故障应急演练 | 标本手工登记与 LIS 补录对照表 | 检验科 | 【待填】 | 已闭环 | ⚠️ 已闭环但闭环日期缺失…(整行标红) |
统计汇总(截取前几行):登记场景=改进项跟踪|台账日期=2026-11-01|登记行数=5|异常行数(红)=2|黄色预警行数(未闭环)=2|【待填】单元格=3。
退出码表(脚本 scripts/make_system_drill_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 后重跑 |
单行日期/数量格式错误不中断整份台账:该格转【待填】红字并在备注注明原因,汇总页计入清点;文件级错误才整体退出。
字段与判定口径
- ① 演练记录(11 列):序号 / 演练名称 / 演练日期 / 演练类型 / 影响系统 / 演练范围 / 参与科室 / 诊疗连续性影响(抄录) / 组织人(工号) / 记录人(工号) / 备注
- ② 步骤完成情况(10 列):序号 / 演练名称 / 步骤序号 / 演练步骤(照抄预案) / 执行科室 / 计划完成时间 / 实际完成时间 / 完成情况 / 执行人(工号) / 备注
- ③ 改进项跟踪(10 列):序号 / 演练名称 / 改进项 / 来源(抄录) / 责任科室 / 责任人(工号) / 计划完成日期 / 当前状态 / 闭环日期 / 备注
- ④ 月度汇总(11 列):序号 / 月份 / 演练名称 / 步骤总数 / 完成数 / 未完成数 / 步骤完成率(%) / 改进项总数 / 已闭环数 / 闭环率(%) / 备注
异常行整行标红(写入备注 ⚠️ 提示,人工核对):
- 演练记录:演练名称缺失(演练须可追溯)|演练日期缺失
- 步骤完成情况:演练名称缺失|演练步骤缺失(须照抄预案文本)|完成情况未填|完成情况=「未完成」(登记口径提示,是否影响演练结论由应急领导小组评定)
- 改进项跟踪:演练名称缺失|改进项缺失|已闭环但闭环日期缺失(闭环须留痕)
- 月度汇总:完成数+未完成数 ≠ 步骤总数|完成数/已闭环数 > 对应总数|步骤总数或改进项总数 ≤ 0|计数为负|演练名称缺失
- 各场景通用:数值为负数
黄色预警(🟡 整行黄底,非异常定性):
- 改进项跟踪:当前状态 ≠ 已闭环(未启动/整改中)→ 黄色预警跟踪;计划完成日期已过仍未闭环 → 预警加注「请优先跟进」
软提示(备注 ℹ️ 提示,不标红):日期/月份/数值格式无法识别(该格转【待填】);完成情况填了「完成/未完成」以外写法。
- 【待填】单元格红字标红,汇总页清点数量并提示「未补齐视为登记未完成」
- 步骤完成率/闭环率为纯算术推导(完成数÷步骤总数、已闭环数÷改进项总数),输入不全则为【待填】,绝不代填
- 数值支持整数/小数;日期支持
2026-03-15/2026年3月15日/20260315,时间支持2026-10-28 08:30式,月份可直接填2026-10/2026年10月 - 人员一律写工号;
--input的 JSON 里可写"preset": "场景名"自动选路;骨架顶层的date/dept回读时同样生效(命令行--date/--dept优先级更高,同时给出时覆盖骨架值)
铁律(医疗合规四关)
- 不评估演练成败结论:只做演练记录、步骤完成情况与改进项的登记留痕;演练是否达标由应急领导小组评定,本工具不给出成败/合格判定;不替代应急预案文本(步骤列照抄预案,不改写)
- 敏感个人信息硬拦截:脚本检测到姓名明文(含「姓名:X」「X某某」式结构)、身份证号、手机号 → 退出码 13 直接拒绝处理(错误提示不回显敏感值);人员一律写工号,科室/系统名允许;「演练/报修/服务器/工单」等词白名单防误拦
- 数据不出机:台账本地生成,无网络请求;演练记录按院内数据管理规定流转
- 不编造不代填:数值/日期/关键要素缺失一律【待填】标红,汇总页清点;完成率/闭环率只由已填计数推算,诊疗连续性影响只抄录上报表述,绝不代写评价
能力边界量化表
| 能做 | 不做(明确边界) |
|---|---|
| 四场景演练台账生成(xlsx 双表,可打印归档) | 不替代应急预案文本:不改写预案步骤、不生成预案 |
| 未完成步骤整行标红(登记口径,非成败评价) | 不评估演练成败结论:达标与否由应急领导小组评定 |
| 未闭环改进项黄色预警(非异常定性) | 不做改进项合理性判断:是否采纳整改方案由领导小组定 |
| 完成率/闭环率推算(纯算术推导,标注来源) | 不做诊疗连续性影响评价:该列只抄录上报表述 |
| 【待填】清点与补填提示(不代填) | 不校验完成情况真伪(是否属实须人工核对) |
| 敏感个人信息隐私拦截(退出码 13) | 不识别或处理照片/扫描件;输入仅支持 JSON 文本 |
| 本地生成、数据不出机 | 不引用应急管理条例具体条款号;口径以本院应急管理制度为准 |
岗位场景例子
- 信息科应急专管员:「这季度三次演练要归档留痕」→ 选 ① → 每次演练一行,名称/日期缺失自动标红
- 演练记录员:「预案十几步,哪步没走到要一眼看到」→ 选 ② → 未完成步骤整行红,汇报时直接截图
- 应急专管员:「上次演练提的改进项还没改完」→ 选 ③ → 未闭环黄底预警,逾期加注优先跟进
- 信息科负责人:「月度安全例会要报完成率、闭环率」→ 选 ④ → 按演练归集,比率自动推算
边界提醒
- 本工具不替代应急预案文本:步骤列照抄预案原文,预案修订走院内应急流程
- 不评估演练成败结论:标红=登记口径提示(步骤未完成/要素缺失),不是「演练失败」定性;结论由应急领导小组评定
- 诊疗连续性影响列只抄录不评价:填上报表述原文,工具不判断影响程度
- 涉及诊务连续性的真实停机事件记录请走院内不良事件/故障上报流程,本工具只针对演练场景
文件索引
| 文件 | 用途 |
|---|---|
| scripts/make_system_drill_log.py | 核心:CLI 成稿 + 四场景判定 + 标红/黄预警 + 隐私拦截 + 错误码兜底 |
| references/system-drill-guide.md | 登记实践参考:演练记录/步骤留痕/改进项跟踪/月度归集台账口径 |
| assets/faq.md | 常见问题 12 条(隐私拦截/黄预警含义/待填卡点/系统边界等) |
| assets/anti-patterns.md | 反模式集中清单(错误操作+后果+替代) |
| assets/preview.md | 成稿预览(真实输出摘录+逐格复现命令) |
| assets/input-example.json | 输入示例(脱敏,可直接 --input 试跑) |
| beta-test/run_tests.py | 内测回归脚本(隐私拦截/退出码/未完成标红/未闭环黄预警/待填不编造等) |
FAQ 快捷导航:帮我评演练成败→Q1|没数据能生成吗→Q2|为什么被拒绝(13)→Q3|黄预警是不是异常→Q4|日期格式→Q5|标红含义→Q6|和应急预案→Q7|数据外传→Q8|【待填】算完成吗→Q9|真实停机能用吗→Q10|闭环要什么留痕→Q11|月度计数不平→Q12。