疫苗冷链温度监测台账生成器(vaccine-coldchain-log)
一句话结论:给你一张能直接交公卫督查的疫苗冷链温度台账——四场景(冰箱/冷藏箱记录、温度计校准、月度汇总)自动判定,超温行整行标红只提醒人工确认(不下「疫苗报废/可用」结论),合格限 --limits 参数化不硬编码,【待填】红字清点。
本页导航:菜单式选路 → 对话示例 → 快速上手与输出预览 → 退出码表 → 字段与判定口径 → 铁律(医疗合规四关)→ 能力边界量化表 → 岗位场景例子 → 边界提醒 → 文件索引。
菜单式选路
使用者开口后按场景引导,一次一问补要素:
第一步 · 选场景(回复序号或场景名均可):
- ① 冰箱温度记录(疫苗冰箱/冷库/冰柜按设备编号区分:日期、时间点、读数、记录人)
- ② 冷藏箱温度记录(疫苗运输冷藏箱:运输任务起讫、箱编号、读数、记录人)
- ③ 温度计校准登记(温度探头校准:结果按校准报告抄录、机构、有效期至)
- ④ 月度汇总(按设备汇总:记录天数、超温次数、超温日期、处置情况)
第二步 · 给数据(任选一种):
1. 粘贴/口述温度读数记录(按场景逐行给:日期、设备编号、读数、工号……缺的项不用编)
2. --preset 场景名 --save 骨架.json 生成填写骨架(含 limits 字段),填好 --input 回来
3. --demo 先看脱敏样例长什么样(自带 2~8℃ 示例合格限)
4. 直接要空模板(8 行【待填】占位)
第三步 · 出台账:xlsx 双表 = 登记明细(超温行整行标红 + 【待填】红字 + 冻结表头)+ 统计汇总(异常清单/【待填】清点/隐私与合规提示)。
不知道选什么?直接说需求,我给你列选项,回个序号就出表。
对话示例
> 用户:帮我做疫苗冰箱温度记录表
> 助手:好的,先选场景(回序号或场景名):①冰箱温度记录 ②冷藏箱温度记录 ③温度计校准登记 ④月度汇总
> 用户:1
> 助手:收到。合格限是多少?(如 2-8℃,用 --limits 2-8 给定——本工具不硬编码合格限)
> 用户:2-8
> 助手:好的。请按时段给数据,一次一项,缺的跳过不编:
> 1. 日期+时间点+设备编号?(示例:2026-10-31 08:00 疫苗冰箱-01)
> 用户:2026-10-31 14:00 疫苗冰箱-01 读数9.5 记录人Y1001
> 助手:注意:读数 9.5℃ 超出合格限 2~8℃→整行标红提醒人工确认(工具只标红,处置结论由疾控/药事判定,不下「疫苗报废/可用」结论)。
快速上手
# 场景菜单
python scripts/make_vaccine_coldchain_log.py --presets
# 脱敏示例(自带 2~8℃ 示例合格限;--date 固定台账日期,可复现)
python scripts/make_vaccine_coldchain_log.py --demo --out 台账.xlsx --date 2026-11-01
# 真实数据:合格限用 --limits 给定(不硬编码),场景①②必需
python scripts/make_vaccine_coldchain_log.py --input 记录.json --out 台账.xlsx --limits 2-8
# 冷冻设备同样支持负数区间
python scripts/make_vaccine_coldchain_log.py --preset 冷藏箱温度记录 --limits -20~-15 --out 冷冻箱.xlsx
# 空模板(8 行【待填】占位)
python scripts/make_vaccine_coldchain_log.py --preset 温度计校准登记 --out 空模板.xlsx
输出预览
以下为 --demo --date 2026-11-01(场景① 冰箱温度记录,示例合格限 2~8)输出的文本摘录(截取自实际生成的 xlsx 关键单元格):
| 序号 | 日期 | 时间点 | 设备编号 | 温度读数(℃) | 合格限(℃) | 记录人(工号) | 备注 |
|---|---|---|---|---|---|---|---|
| 1 | 2026-10-31 | 08:00 | 疫苗冰箱-01 | 5.2 | 2~8 | Y1001 | |
| 2 | 2026-10-31 | 14:00 | 疫苗冰箱-01 | 9.5 | 2~8 | Y1001 | ⚠️ 超温:读数9.5℃超出合格限2~8℃——请人工确认设备与温度记录,处置由疾控/药事判定(本工具不判定疫苗可用性)…(整行标红) |
| 5 | 2026-10-31 | 08:00 | 【待填】 | 6.0 | 2~8 | Y1001 | ⚠️ 设备编号缺失——温度记录须可对应到具体设备,请补齐后复核…(整行标红) |
| 7 | 2026-11-01 | 08:00 | 疫苗冰箱-02 | 【待填】 | 2~8 | Y1001 | ℹ️ 温度读数(℃)列数值无法识别…(【待填】红字不编造) |
统计汇总(截取前几行):登记场景=冰箱温度记录|台账日期=2026-11-01|合格限(℃)=2~8|登记行数=7|异常行数(红)=3|【待填】单元格=3。
退出码表(脚本 scripts/make_vaccine_coldchain_log.py,v1.0.0)
| 退出码 | 含义 | 处理 |
|---|---|---|
| 0 | 台账生成成功 | — |
| 10 | 输入文件不存在(沿用现有体系约定) | 核对 --input 路径 |
| 11 | 输入缺失:缺 items / items 非数组 / --save 未指定 --preset / 场景①②未给合格限 |
用 --limits 2-8 或骨架 JSON 的 limits 字段给定 |
| 12 | 格式错误:JSON 无法解析 / items 项非对象 / --date 无法识别 / --limits 无法解析或下限>上限 |
核对 JSON 语法、日期与合格限格式 |
| 13 | 隐私拦截:输入检测到姓名明文(患者张三/张某某式)、身份证号、手机号 | 去除敏感个人信息后重试;人员标识仅可用设备编号/工号(错误提示不回显敏感值) |
| 14 | 校验失败:预设名不存在 | 见 --presets 菜单(回序号/场景名均可) |
| 15 | 运行超时(60 秒看门狗) | 重跑同一条命令 |
| 20 | 解析失败 / 输出失败等未预期异常(兜底) | 把输入 JSON 与提示发给助手排查 |
| 21 | 缺依赖 | pip install openpyxl 后重跑 |
单行日期/读数格式错误不中断整份台账:该格转【待填】红字并在备注注明原因,汇总页计入清点;文件级错误才整体退出。
字段与判定口径
- ① 冰箱温度记录(8 列):序号 / 日期 / 时间点 / 设备编号 / 温度读数(℃) / 合格限(℃) / 记录人(工号) / 备注
- ② 冷藏箱温度记录(8 列):序号 / 日期 / 运输任务(起讫) / 冷藏箱编号 / 温度读数(℃) / 合格限(℃) / 记录人(工号) / 备注
- ③ 温度计校准登记(8 列):序号 / 日期 / 温度计编号 / 校准结果(抄录) / 校准机构或依据 / 有效期至 / 校准人(工号) / 备注
- ④ 月度汇总(9 列):序号 / 月份 / 设备编号 / 记录天数 / 超温次数 / 超温日期 / 处置情况 / 复核人(工号) / 备注
异常行整行标红(写入备注 ⚠️ 提示,人工核对):
- 冰箱/冷藏箱温度记录:超温(读数 < 下限或 > 上限)——备注写「请人工确认设备与温度记录,处置由疾控/药事判定(本工具不判定疫苗可用性)」,不下结论|设备编号/冷藏箱编号缺失|读数无法识别转【待填】
- 月度汇总:超温次数>0 且未登记处置情况|记录天数/超温次数为负|设备编号缺失;超温次数=0 时超温日期/处置情况留空不计【待填】
- 温度计校准登记:无标红规则(校准结论按报告抄录);软提示两类——校准有效期已过(ℹ️ 请安排校准)、结论为不合格(ℹ️ 请按流程停用并更换,工具只抄录结论)
合格限口径:--limits 2-8 / 2~8 / 2至8 / -20~-15(支持负数,下限≤上限);也可骨架 JSON 顶层 limits 字段给定(命令行 --limits 优先级更高);行内「合格限(℃)」列填了值则按设备标识抄录覆盖全局;场景①②未给合格限 → 退出码 11(工具不硬编码);行内值无法解析时该行不做超温判定并备注说明。
软提示(备注 ℹ️ 提示,不标红):日期/月份格式无法识别、数值无法识别(该格转【待填】);读数与温度支持负数小数(如 -18.5,冰柜/冷冻冷藏箱合法),负数温度不按异常标红,只按合格限判定超温。
- 【待填】单元格红字标红,汇总页清点数量并提示「未补齐视为登记未完成」
- 日期支持
2026-03-15/2026.3.15/2026/3/15/2026年3月15日/20260315,月份可直接填2026-10/2026年10月 - 工具默认场景为①冰箱温度记录,
--input的 JSON 里也可写"preset": "场景名"自动选路;骨架顶层的date/dept/limits回读时同样生效(命令行--date/--dept/--limits优先级更高,同时给出时覆盖骨架值)
铁律(医疗合规四关)
- 只做温度记录登记:读数全部抄录;超温只标红提醒人工确认,不下「疫苗报废/可用」结论——处置由疾控/药事判定;不做接种建议
- 敏感个人信息硬拦截:脚本检测到姓名明文(含「患者张三」「张某某」式结构)、身份证号、手机号 → 退出码 13 直接拒绝处理(错误提示不回显敏感值);人员标识仅可用设备编号/工号,单位名称可正常登记
- 数据不出机:台账本地生成,无网络请求;冷链监测信息按院内数据管理规定流转
- 不编造不代填:读数、日期等关键字段缺失一律【待填】标红,汇总页清点;合格限不硬编码,必须由使用方给定
能力边界量化表
| 能做 | 不做(明确边界) |
|---|---|
| 四场景台账生成(xlsx 双表,可打印归档) | 不替代冷链监控系统/温湿度自动监测设备:无实时报警、无自动采集、无远程上传 |
| 超温整行标红(只提醒人工确认) | 不下「疫苗报废/可用」结论:超温后疫苗处置由疾控/药事判定 |
| 合格限 --limits 参数化(支持负数区间) | 不硬编码合格限:不同设备/疫苗的限值以本院与疫苗说明书要求为准 |
| 温度计校准登记与到期软提示 | 不校验读数真伪(是否漏测/补测须人工核对原始记录) |
| 月度超温处置汇总(超温未记处置标红) | 不做接种建议;不分析温度曲线趋势 |
| 敏感个人信息隐私拦截(退出码 13);本地生成、数据不出机 | 不识别或处理温度曲线照片/扫描件;输入仅支持 JSON 文本 |
岗位场景例子
- 接种门诊护士:「冰箱早中晚要测温,本子抄三遍」→ 选 ① →
--limits 2-8出台账,超温行标红提醒人工确认 - 冷藏运输:「送苗下分门诊,箱温要记」→ 选 ② → 按运输任务逐箱记录,超温标红
- 器械/后勤:「温度计一年一校准,台账要留」→ 选 ③ → 校准有效期已过软提示
- 预防保健科月底:「每月冷链监测表要交」→ 选 ④ → 超温次数与处置情况勾稽,超温未记处置标红
边界提醒
- 与相邻技能划界:
lab-fridge-temp-log管检验科冰箱试剂温度——本技能只管疫苗冷链设备(冰箱/冷藏箱/冷库);疫苗出入库与效期请用vaccine-inout-log - 本工具不替代冷链自动监测系统;超温后的疫苗隔离、报废、退回按疾控/药事流程执行,台账只留痕
- 记录人与复核人只填工号——脚本对姓名明文/身份证/手机号是硬拦截(退出码 13)
文件索引
| 文件 | 用途 |
|---|---|
| scripts/make_vaccine_coldchain_log.py | 核心:CLI 成稿 + 四场景判定 + 超温标红 + --limits 参数化 + 隐私拦截 + 错误码兜底 |
| references/coldchain-log-guide.md | 登记实践参考:测温口径/合格限给定/超温处置留痕/校准台账口径 |
| assets/faq.md | 常见问题 12 条(--limits 给法/超温标红含义/负数温度/校准结论/系统边界等) |
| assets/anti-patterns.md | 反模式集中清单(错误操作+后果+替代) |
| assets/input-example.json | 输入示例(脱敏,可直接 --input 试跑) |
| beta-test/run_tests.py | 内测回归脚本(超温标红参数化/隐私拦截/退出码/骨架回读等) |
| avatars/avatar-512.png | 技能头像 |
FAQ 快捷导航:能判疫苗能不能用吗→Q1|没数据能生成吗→Q2|为什么被拒绝(13)→Q3|--limits 怎么给→Q4|超温标红=报废吗→Q5|负数温度→Q6|读数抄错了→Q7|数据外传→Q8|【待填】算完成吗→Q9|场景怎么选→Q10|为什么必须给合格限→Q11|和出入库台账关系→Q12。