病理蜡块切片归档借阅台账生成器(pathology-archive-log)
一句话结论:给你一张能直接交档案质控督查的蜡块/切片台账——四场景(归档登记/借阅登记/会诊外借跟踪/月度汇总)自动勾稽,借出未还整行标红、逾期黄色预警(归还期限用 --limit-days 参数给定不硬编),【待填】红字清点,缺什么一眼看到。
本页目录(可点击跳转;长章节含子级):
1. 菜单式选路
2. 对话示例
3. 快速上手 — 子级:输出预览|退出码表
4. 字段与判定口径
5. 铁律(医疗合规四关)
6. 能力边界量化表
7. 岗位场景例子
8. 边界提醒
9. 文件索引
菜单式选路
使用者开口后按场景引导,一次一问补要素:
第一步 · 选场景(回复序号或场景名均可):
- ① 归档登记(蜡块/切片/玻片按病理号归档:数量、存放位置、归档人)
- ② 借阅登记(借出与归还逐笔登记:应还日期自动推算,借出未还标红、逾期黄色预警;归还期限用 --limit-days 给定)
- ③ 会诊外借跟踪(外借外院会诊逐笔跟踪:外借单位、用途、回库情况;未回库标红、逾期黄色预警)
- ④ 月度汇总(按实物类型勾稽:借出数=归还数+未还数,未还/逾期行数统计)
第二步 · 给数据(任选一种):
1. 粘贴/口述登记记录(按场景逐行给:日期、病理号、蜡块号、实物类型、数量、工号……缺的项不用编)
2. --preset 场景名 --limit-days 14 --save 骨架.json 生成填写骨架,填好 --input 回来
3. --demo --limit-days 14 先看脱敏样例长什么样
4. 直接要空模板(8 行【待填】占位)
第三步 · 出台账:xlsx 双表 = 登记明细(异常行整行标红/黄色预警 + 【待填】红字 + 冻结表头)+ 统计汇总(异常清单/【待填】清点/时限口径与隐私提示)。
不知道选什么?直接说需求,我给你列选项,回个序号就出表。
对话示例
> 用户:帮我弄个病理蜡块借阅登记表
> 助手:好的,先选场景(回序号或场景名):①归档登记 ②借阅登记 ③会诊外借跟踪 ④月度汇总
> 用户:2,借出去一般要求 14 天内还
> 助手:好的,借阅登记,归还期限按 14 天计(以本院病理管理制度为准)。请按借出逐笔给数据,一次一项,缺的跳过不编:借出日期?病理号+蜡块号?实物类型+数量?借阅科室+借阅人工号?归还日期(未还留空)?
> 用户:10月28日借出 P26-1042-A1 蜡块1个,肿瘤内科 D2011 借的,10月30日还了,经手 P3008;还有一块 P26-1046-A1,10月10日借给妇科 D2022,还没还
> 助手:要素齐全。生成台账:2 行,1 个黄色预警行——P26-1046-A1 借出未还且已过应还日期(10月10日+14天=10月24日),已逾期 8 天(黄色预警),请按本院制度催还。标识只登病理号,不登姓名。
快速上手
# 场景菜单
python scripts/make_pathology_archive_log.py --presets
# 脱敏示例(--date 固定台账日期,--limit-days 给定归还期限,可复现)
python scripts/make_pathology_archive_log.py --demo --out 台账.xlsx --date 2026-11-01 --limit-days 14
# 指定场景(回序号 1/2/3/4 或场景名均可)
python scripts/make_pathology_archive_log.py --preset 会诊外借跟踪 --out 外借台账.xlsx --limit-days 10
# 从填写好的骨架生成(骨架里的 date/dept/limit_days 一并回读)
python scripts/make_pathology_archive_log.py --input 骨架.json --out 台账.xlsx
# 空模板(8 行【待填】占位)
python scripts/make_pathology_archive_log.py --preset 归档登记 --out 空模板.xlsx
输出预览
以下为 --preset 借阅登记 --demo --date 2026-11-01 --limit-days 14 输出的文本摘录(截取自实际生成的 xlsx 关键单元格;完整摘录与逐格复现命令见 assets/preview.md):
| 序号 | 借出日期 | 病理号 | 实物类型 | 数量 | 借阅科室(单位) | 归还期限(天) | 应还日期 | 归还日期 | 备注 |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 2026-10-28 | P26-1042 | 蜡块 | 1 | 本院肿瘤内科 | 14 | 2026-11-11 | 2026-10-30 | |
| 2 | 2026-10-28 | P26-1044 | 切片 | 4 | 本院呼吸内科 | 14 | 2026-11-11 | 【待填】 | ⚠️ 借出未还……(整行标红) |
| 3 | 2026-10-10 | P26-1046 | 蜡块 | 1 | 本院妇科 | 14 | 2026-10-24 | 【待填】 | ⚠️ 借出未还……已逾期 8 天(黄色预警)……(整行黄色) |
统计汇总(截取前几行):登记场景=借阅登记|台账日期=2026-11-01|登记行数=4|异常行数(红)=1|预警行数(黄)=2|【待填】单元格=2|归还期限(天)=14。
退出码表
脚本:scripts/make_pathology_archive_log.py(v1.1.0)
| 退出码 | 含义 | 处理 |
|---|---|---|
| 0 | 台账生成成功 | — |
| 10 | 输入文件不存在(沿用现有体系约定) | 核对 --input 路径 |
| 11 | 输入缺失:缺 items / items 非数组 / --save 未指定 --preset |
按 {"items": [ … ]} 结构补齐 |
| 12 | 格式错误:JSON 无法解析 / items 项非对象 / --date 或 --limit-days 无法识别 |
核对 JSON 语法、日期与期限格式 |
| 13 | 隐私拦截:输入检测到姓名明文(「患者张三」「李某某」「张三」式、借阅人/经手人等人员字段+中文姓名式等常见模式)、身份证号、手机号 | 去除敏感个人信息后重试;标识仅可用病理号/蜡块号/工号(错误提示不回显敏感值;自由文本拦截覆盖常见模式、无法穷举全部写法,故一律脱敏登记) |
| 14 | 校验失败:预设名不存在 | 见 --presets 菜单(回序号/场景名均可) |
| 15 | 运行超时(60 秒看门狗) | 重跑同一条命令 |
| 20 | 解析失败 / 输出失败等未预期异常(兜底) | 把输入 JSON 与提示发给助手排查 |
| 21 | 缺依赖 | pip install openpyxl 后重跑 |
单行日期/数量格式错误不中断整份台账:该格转【待填】红字并在备注注明原因,汇总页计入清点;文件级错误才整体退出。
字段与判定口径
- ① 归档登记(9 列):序号 / 归档日期 / 病理号 / 蜡块号 / 实物类型 / 数量 / 存放位置 / 归档人(工号) / 备注
- ② 借阅登记(13 列):序号 / 借出日期 / 病理号 / 蜡块号 / 实物类型 / 数量 / 借阅科室(单位) / 借阅人(工号) / 归还期限(天) / 应还日期 / 归还日期 / 经手人(工号) / 备注
- ③ 会诊外借跟踪(13 列):序号 / 外借日期 / 病理号 / 蜡块号 / 实物类型 / 数量 / 外借单位 / 用途 / 归还期限(天) / 应还日期 / 回库日期 / 经手人(工号) / 备注
- ④ 月度汇总(10 列):序号 / 月份 / 实物类型 / 归档数 / 借出数 / 归还数 / 未还数 / 逾期数 / 汇总人(工号) / 备注
异常行整行标红(写入备注 ⚠️ 提示,人工核对):
- ① 归档登记:病理号缺失(归档须按病理号可追溯)|实物类型缺失|数量为负
- ②③ 借阅/外借:借出未还(归还/回库日期缺失)|归还日期早于借出日期(方向有误)|病理号缺失|实物类型缺失|借阅科室/外借单位缺失(去向须可追溯)|数量为负
- ④ 月度汇总:归还数+未还数 ≠ 借出数(勾稽不平)|未还数 > 0|逾期数 > 0|实物类型缺失|数量为负
黄色预警(整行黄色填充,区别于标红):
- 未还且已过应还日期(应还日期=借出日期+归还期限)→ 备注「已逾期 N 天(黄色预警)」
- 归还/回库日期晚于应还日期(逾期归还)→ 备注「逾期归还 N 天(黄色预警)」
- 红色优先级最高:同一行黄色预警与红色异常(如关键字段缺失)并存时,整行标红(红色优先于黄色),备注同时列出两类提示
归还期限参数化铁则:
- 归还期限一律由 --limit-days 参数给定,脚本不硬编任何期限数值;未给参数时「归还期限/应还日期」列【待填】、备注提示「请用参数给定,以本院病理管理制度为准」,且不做逾期判定(无法判定就不判定)
- --limit-days 须为正数,否则退出码 12
- 骨架 JSON 顶层的 limit_days 随 --input 回读生效;命令行参数优先级更高,同时给出时覆盖骨架值
软提示(备注 ℹ️ 提示,不标红):日期/月份格式无法识别、数值无法识别(该格转【待填】);归档未填存放位置(提示补录柜-架-盒)。
- 【待填】单元格红字标红,汇总页清点数量并提示「未补齐视为登记未完成」
- 应还日期为纯算术推导(借出日期+归还期限),输入不全则为【待填】,绝不代填
- 数量支持整数/小数;日期支持
2026-03-15/2026.3.15/2026/3/15/2026年3月15日/20260315,月份可直接填2026-10/2026年10月 - 姓名等敏感个人信息一律脱敏,只登病理号/蜡块号/工号;工具默认场景为①归档登记,
--input的 JSON 里也可写"preset": "场景名"自动选路;骨架顶层的date/dept回读时同样生效(命令行--date/--dept优先级更高)
铁律(医疗合规四关)
- 不参与病理诊断、不判实物质量:只做蜡块/切片/玻片的归档与借阅登记台账;实物能不能用于会诊、诊断结论如何,由病理医师判定,台账只做去向留痕
- 隐私硬拦截:脚本检测到姓名明文(含「患者张三」「李某某」「张三」式、借阅人/经手人/登记人/联系人等人员字段+中文姓名式等常见模式)、身份证号、手机号 → 退出码 13 直接拒绝处理(错误提示不回显敏感值);标识仅可用病理号/蜡块号/工号(脱敏登记);「蜡块」「切片」「玻片」「送检」等专业名词在白名单内不误拦;自由文本拦截覆盖常见模式、无法穷举全部姓名写法,故登记规范一律脱敏、只登病理号
- 数据不出机:台账本地生成,无网络请求;实物借阅去向信息按院内数据管理规定流转
- 不编造不代填:归还期限不硬编(一律参数给定)、数量/日期/关键字段缺失一律【待填】标红,汇总页清点;应还日期只做算术推导,绝不代填结论
能力边界量化表
| 能做 | 不做(明确边界) |
|---|---|
| 四场景归档借阅台账生成(xlsx 双表,可打印归档) | 不参与病理诊断:蜡块/切片对应的诊断结论一律不属于本工具 |
| 借出未还整行标红、逾期黄色预警(期限参数化) | 不内置归还期限数值;具体期限以本院病理管理制度为准 |
| 应还日期自动推算与月度勾稽(借出=归还+未还) | 不判实物质量:蜡块/切片是否可复切、是否合格由病理医师判定 |
| 【待填】清点与补填提示(不代填) | 不替代病理档案管理系统:无条码定位、无电子审批流、无监管报送接口 |
| 隐私拦截(退出码 13,脱敏只登病理号) | 不登记病案文书(病历/报告单借阅归病案室管理);输入仅支持 JSON 文本 |
| 本地生成、数据不出机 | 不引用法规具体条款号;实物保存年限口径以本院制度为准 |
岗位场景例子
- 病理科档案管理员:「蜡块切完要归档上架」→ 选 ① → 按病理号登记存放位置,缺位置软提示
- 档案管理员:「临床借切片老不还」→ 选 ② +
--limit-days→ 借出未还的行直接红,超期的黄色预警催还 - 质控员:「外院会诊借走的蜡块要盯回库」→ 选 ③ → 外借单位+用途逐笔跟踪,逾期黄色预警
- 科室月底:「借出归还数要平账」→ 选 ④ → 借出数=归还数+未还数勾稽,不平自动红
边界提醒
- 本工具不替代病理档案管理系统;纸质/电子登记本按院内要求归档
- 与 medical-record-log 的分工:病案文书(病历、报告单)借阅归病案室管理,用 medical-record-log;本技能只管病理实物(蜡块/切片/玻片)的归档与借阅
- 与 consultation-log 的分工:会诊的申请/流转/意见回执用 consultation-log;本技能只跟踪实物外借后的「应还日期与回库」环节
- 台账一律脱敏登记:只登病理号/蜡块号/工号,姓名明文/身份证/手机号是硬拦截(退出码 13)
文件索引
| 文件 | 用途 |
|---|---|
| scripts/make_pathology_archive_log.py | 核心:CLI 成稿 + 四场景判定 + 借出未还标红/逾期黄预警 + 期限参数化 + 隐私拦截 + 错误码兜底 |
| references/archive-log-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。