药历批改技能(抗感染专业)
技能版本:v3.1.3(v3.1.0 新增批改同时同步输出官方《教学药历质量评估表》打分表;v3.0.0 起批注写入统一走融合引擎 scripts/comment_engine.py——全文档遍历 + 对象模型写回 + 精确锚点三合一;基于抗感染专业药历语料 + 24 份抗感染/重症指南(与 ICU 专业共享参考指南库)+ 2026 最新版教学药历质量评估表四维度评分。批改规则与评分标准同源)
触发关键词:批改药历、药历批注、抗感染药历、抗菌药物药历、诺卡菌药历、感染药历、药历评语、药历分析、药物治疗日志批改、临床药师带教
技能作者
抗感染带教老师(上海交通大学医学院附属瑞金医院 抗感染专业临床药师)
工作流程(SOP)
Step 1:读取药历原文
- 用
scripts/comment_engine.py的iter_doc_paragraphs()全文档遍历(正文段落 + 所有表格含嵌套表格),提取所有段落文本 - 保留段落对象引用(Paragraph),以便后续定位批注插入位置
🛑 文本抽取陷阱(必读)——抽取丢字会直接导致误批!
Word/WPS 的可见字符不只存在于 <w:t>。若只用 re.findall(r'<w:t[^>]*>([^<]*)</w:t>') 抽取,
下列 run 级元素会被静默丢弃,原文随之变形:
| 元素 | 含义 | 显示为 | 丢弃后的后果(真实案例) |
|---|---|---|---|
<w:noBreakHyphen/> |
不换行连字符(Ctrl+Shift+-;WPS 中直接打 - 也常存为此元素) |
- |
每2-3日→每23日;2-8mg/L→28mg/L;2026-08-23→20260823 |
<w:softHyphen/> |
可选连字符 | 不显示 | 一般无影响,忽略即可 |
<w:sym w:char="XXXX"/> |
符号字符(十六进制码位) | 对应符号 | 字符消失 |
<w:tab/>、<w:ptab/> |
制表符 | 空白 | 文本粘连 |
<w:br/>、<w:cr/> |
换行 | 换行 | 两行并作一行 |
⚠️ 另有一个隐蔽 bug:<w:t[^>]*> 会把 <w:tab/> 误认为 <w:t …> 的开标签,
一路吞到下一个 </w:t>,造成文本重复/错位。正确写法是 <w:t(?:\s[^>]*)?>。
做法:统一用 scripts/comment_engine.py 的 para_text() 取证
import importlib.util
spec = importlib.util.spec_from_file_location('ce', r'<技能目录>\scripts\comment_engine.py')
CE = importlib.util.module_from_spec(spec); spec.loader.exec_module(CE)
text = CE.para_text(paragraph) # 按文档顺序还原 <w:t> + 连字符/符号/制表/换行
强制核对规则(防止误批)
- 抽取文本出现下列任一情形时,先怀疑丢字,不得直接下结论:
- 「每 N 天 / 月 / 周」的 N 为多位数:每23日、每21天
- 纯数字日期:20260823、20251027、202408
- 术语/药名/剂量缺连字符:2-8mg/L→28mg/L、mgkg、SMZ-TMP、5FU
- 文献年卷期页码连写:241256、14891496 - 核对方法:回查该段
document.xml是否含<w:noBreakHyphen/>、<w:sym等元素,或用para_text()重新抽取比对。 - 在确认原文之前,严禁写出「缺连接符 / 漏字 / 笔误 / 日期格式不规范」类批注。
—— 学员用q12h、d1-d3、2-8mg/L、SMZ-TMP表示给药方案是常规写法,不得因此批注 - 发现旧文本与
para_text()结果不一致时,一律以后者为准重新判断。
Step 2:逐项核查(按下方检查清单)
按序逐一核查,记录:
- 问题位置(段落索引或区域名称)
- 问题描述(简洁、针对性)
- 批注文本(用抗感染带教老师口吻)
⚠️ 批注位置锚定规则:
- 每条批注必须锚定到药历原文中的具体文字(commentRangeStart 需插入到对应段落),不可锚定到空白处
- 锚定文字应选取问题所在的关键句子或短语,使批注和原文的对应关系一目了然
⚠️ 正面评价规则:
- 当学员某部分书写良好时(如抗感染方案分析到位、TDM 监测完善、监护计划完整),应适当给予正面肯定
- 批注口吻参考:「这部分分析很到位,很棒」「分析正确」
- 不可只批问题,不写优点
🛑 批注依据规则:
- 每一条批注 / 评语条目都必须能明确映射到下方「药历批改检查清单」中的某一项(或评分标准中的扣分项)
- 严禁在清单之外自行发明判定标准;若确实发现清单未覆盖的问题,先作为待确认项单列,
由带教老师确认后再纳入清单,不直接写入评语
- 引用具体例子时必须核对同一份药历的原文,禁止跨文件搬运示例
🛑 质量检查点 #1(Step 2完成后必检):
- 确认批注总数 ≥ 2 条且 ≤ 30 条;若为 0 条,提示「未检测到需批注的问题,请人工复核」;若 > 50 条,提示「批注数量偏多,请确认是否有误批或过度批注」
- 确认批注覆盖了至少 3 个检查大类(如药品名称/剂量 + 抗感染方案 + TDM/监护),避免只集中在单一维度
Step 3:插入批注(Word 原生批注气泡)
⚠️ 批注必须使用 Word 原生批注气泡形式(Comment Bubble),不可使用内嵌红色文字。
统一调用融合引擎 scripts/comment_engine.py(v3.0.0 起),三家长处合一:
import importlib.util
spec = importlib.util.spec_from_file_location('ce', r'<技能目录>\scripts\comment_engine.py')
CE = importlib.util.module_from_spec(spec); spec.loader.exec_module(CE)
report = CE.grade(
source_path, output_path,
comments_data, # [(anchor, comment_text)] 或 [(anchor, comment_text, mode)]
author='抗感染带教老师', initials='抗感染带教老师',
summary_text=评语文本, summary_label='药学带教老师评语', write_summary=True,
)
# report: {"total","inserted","missed","ambiguous","degraded","summary_written"}
融合架构三要点(替代旧 zipfile 手拼方案):
1. 全文档遍历:iter_doc_paragraphs() 遍历正文段落 + 所有表格(递归嵌套表格)单元格段落,按 paraId 去重——修复旧版「只搜 tables[0]」的结构脆弱性与嵌套表格漏检
2. 对象模型写回:insert_comment() 通过 python-docx 官方 Comments.add_comment() 添加批注内容 + OPC 自动维护部件关系(comments.xml 自动创建/relate),不再手拼 zip / [Content_Types].xml / document.xml.rels
3. 精确锚点:find_anchor() 支持 contains/exact/startswith 三种模式 + 全文档命中计数;命中 0 → missed、命中 >1 → ambiguous、精确失败降级为前 N 字符匹配 → degraded,全部显式上报(不再静默丢批注)
技术要点:
- 锚点匹配:docx 中文字可能分散在多个 <w:r><w:t> 标签中(每字一个 run),必须用 para_text() 做 run 级完整还原后匹配,str.find() 无法跨标签匹配
- 同段落去重:同一段落只保留第一条批注,避免批注范围重叠
- 歧义策略:on_ambiguous='first' 取文档中第一个匹配段落(兼容药历「初始方案/治疗总结」重复引用同一抗感染方案的固有歧义),歧义逐条上报供追溯
Step 4:撰写带教评语(精确写入表格)
⚠️ 评语必须精确写入"药 学 带 教 老 师 评 语"表头行的下一个表格单元格内。
实现方式(v3.0.0 起由 scripts/comment_engine.py 的 write_summary_to_label() 完成,lxml 结构化解析):
1. 遍历所有 <w:tbl>(含嵌套),拼接行内文本(run 级完整还原,去空格)精确匹配"药学带教老师评语"表头行
2. 取该行在同一 <w:tbl> 下的同级下一行(parent.index + 1)作为评语内容行
3. 只替换占位段(「对完整教学药历的评语」)之下的第一个空段落,既有非空段落一律保留,写入红色(FF0000)粗体评语段落
4. 评语结构见下方《评语模板》
> ⚠️ 嵌套表格兼容(必读):禁止用正则 <w:tr[^>]*>.*?</w:tr> 匹配表格行——
> 嵌套表格(w:tbl in w:tc)存在时非贪婪正则会把主表格行与嵌套表格行截断/粘连。
> lxml 按父级取同级下一行,嵌套表格的行位于不同父级下,天然隔离。
⚠️ 不可仅通过搜索"评语"关键词定位,必须匹配完整的"药 学 带 教 老 师 评 语"表头行后取下一行。
Step 5:保存输出
- 输出路径:默认与输入文件同目录,命名
{原文件名}-批改.docx;用户指定输出目录时从其指定 - 用
scripts/validate.py <输出文件> 抗感染带教老师验证文件完整性与批注署名合规性 - 若同名文件已存在,追加序号(如
-批改(2).docx)而非覆盖
🛑 质量检查点 #2(Step 5完成后必检):
- 运行 python scripts/validate.py <输出文件路径> 抗感染带教老师,确认 commentRangeStart/End/Reference 三元素数量一致
- 署名规范校验已默认执行:不传第 2 个参数也会校验「批注 author 须以『带教老师』结尾」且「initials 与 author 一致」;传入第 2 个参数(期望署名,如 XX带教老师)可额外核对是否与本 skill 应署名一致
- 确认输出文件可在 Word 中正常打开,批注气泡可见
同步输出质量评估表(打分表)
批改完成、输出批改 Word 后,同步生成对应的官方《教学药历质量评估表》打分表(附件1-3,xlsx)。
- 模板:内嵌于
scripts/template_data.py(官方评估表原文件 base64,与官方 .xlsx 逐字节一致)——因上传平台(SkillHub 等)的文件类型白名单不含 .xlsx,技能包内不再携带 .xlsx;调用时template_path=None即自动使用内嵌模板(若显式传入一个存在的 .xlsx 路径,则优先用该文件) - 做法:以模板为底,复制后仅写入四个评分维度的「得分」列(G4:G7);总分列 G8 保留模板求和公式,由 Excel/WPS 打开时自动计算;标题、评估要点原文、分值区间、边框、列宽、行高、合并单元格等格式 100% 保留,不新增、不删除模板任何文字
- 四个维度及满分:
| 维度 | 满分 |
|------|------|
| 基本要求 | 30 |
| 教学药历首页 | 30 |
| 治疗日志部分 | 30 |
| 总结 | 10 | - 调用:
python
from scoring_sheet import write_score_sheet
write_score_sheet(
template_path=None, # 自动使用 scripts/template_data.py 内嵌的官方模板(包内无需 .xlsx)
output_path=r'<输出目录>\{原文件名}-打分表.xlsx',
scores={'基本要求': N1, '教学药历首页': N2, '治疗日志部分': N3, '总结': N4},
)
- 输出文件:与批改 docx 同名同目录,后缀
-打分表.xlsx;在最终确认步骤中一并展示打分表路径、各维度得分与总分
边界条件与异常处理
| 异常场景 | 处理策略 |
|---|---|
| docx 文件不存在 | 终止批改,提示「文件不存在:[路径],请检查路径是否正确」 |
| docx 文件损坏(非有效 ZIP) | 终止批改,提示「文件损坏无法打开:[路径]」 |
| "药 学 带 教 老 师 评 语"表头行未找到 | 降级策略:在文档末段追加红色评语文字(格式:\n--- 带教评语 ---\n[评语内容]\n抗感染带教老师\n接收时间:...\n批改时间:...) |
| 批注数量 = 0 | 输出"未检测到需批注的问题.docx"(不含批注但含评语),提示人工复核 |
| 批注数量 > 50 | 输出批改文件但附带警告「批注数量偏多(N条),建议人工审核是否有误批」 |
| 输出文件同名已存在 | 不覆盖,追加序号:-批改(2).docx、-批改(3).docx... |
药历批改检查清单
❌ 必须批注的问题
一、药品名称与书写规范(抗感染专业核心,极高频)
1.1 药品通用名 + 中文全称(极高频)
- [ ] 全文药品名称是否以通用名表示?
- 规则:通用名必须出现,单独出现商品名判定违规
- 批注口吻:「改成通用名」「使用通用名」「删除商品名」「需改成通用名」
- [ ] 药品名称第一次出现是否为中文全称 + 通用名?
- 批注口吻:「第一次出现的药品名称应为中文全称,且需为通用名」
- [ ] 英文缩写/简写首次出现是否标注中文全称?
- 批注口吻:「简写首次出现需中文说明」「中英文,简写及全称混乱」
1.2 抗菌药物谱系/归类准确
- [ ] 抗菌药物归类是否准确(革兰阳性/阴性、覆盖谱系)?
- 批注口吻:「治疗革兰氏阴性菌」「治疗革兰氏阳性菌,也可治疗奴卡菌」「抗菌药物」
二、用法用量准确性(抗感染专业核心,极高频)
2.1 准确给药剂量(mg/g)(极高频)
- [ ] 抗菌药物是否写明准确给药剂量(mg 或 g)+ 频次 + 给药途径?
- 批注口吻:「需写明准确给药剂量,mg或g」「请写明准确剂量」「请写明准确给药剂量」「准确给药剂量」
- [ ] 剂量单位是否规范?
- 批注口吻:「单位?」
- [ ] SMZ-TMP 是否按 SMZ 计算剂量(诺卡菌/肺孢子菌)?
2.2 注射剂溶媒规范
- [ ] 注射剂是否标注溶媒(种类+体积)?
- 批注口吻:「溶媒」「溶媒?」
2.3 剂型完整性
- [ ] 药品描述是否含剂型?
- 批注口吻:「剂型未交待」「需补充药品剂型」
三、抗感染方案分析规范
3.1 结合病原菌 + 药敏 + 指南 + 患者(极高频)
- [ ] 抗感染方案分析是否结合病原菌、药敏结果、指南、患者具体情况深入分析?
- 批注口吻:「结合患者具体情况分析」「应结合患者的具体情况进行分析」「需结合患者具体情况分析」
- [ ] 是否明确病原菌与感染部位?
- 批注口吻:「考虑什么菌感染呢」「药敏」
- [ ] 是否大段抄写说明书/指南?
- 批注口吻:「不是单纯抄写说明书内容,结合患者的病情,有自己的分析和思考」
3.2 方案调整的具体建议(抗感染特有)
- [ ] 方案调整是否给出明确具体的修改建议?
- 批注口吻:「停用利奈唑胺,改为米诺环素」「故建议临床」
- [ ] 药敏结果与选药是否对应?
- 批注口吻:「敏感」
3.3 肾功能剂量调整
- [ ] 经肾排泄药物是否按 CrCl 调整剂量?
- 批注口吻:「需要根据肾功能调整么?」
3.4 TDM 监测(抗感染核心)
- [ ] 利奈唑胺/万古霉素/替考拉宁/伏立康唑等是否提及血药浓度监测?
- 批注口吻:「需完善血药谷浓度监测」「建议血药谷浓度监测」
- [ ] 是否说明目标浓度范围?
- 批注口吻:「利奈唑胺理想血药谷浓度范围2-8mg/L」
四、药学监护计划
4.1 区分疗效监护与不良反应监护
- [ ] 是否区分疗效监护与不良反应监护?
- 批注口吻:「应分成疗效监护和ADR监护」
4.2 抗感染不良反应监护(抗感染核心,高频)
- [ ] 是否监护血液系统(血小板-利奈唑胺、中性粒细胞)、肝肾功能、电解质?
- 批注口吻:「不良反应需进一步完善,血液系统不良反应,肝肾功能、电解质等,并建议血药谷浓度监测」
- [ ] 是否标注具体监测指标与频率?
- 批注口吻:「药学监护需注明频率」「突出异常值」
4.3 监护结果跟踪
- [ ] 制定的监护计划是否在后续日志中跟踪结果?
- 批注口吻:「制定的药学监护计划,在后续监护结果中应有体现」
五、药物治疗日志规范
5.1 避免重复复制(抗感染高频)
- [ ] 日志是否仅记录变化与异常?
- 批注口吻:「重复,应删去」「删去」「建议删去」
- [ ] 冗余内容是否删除?
- 批注口吻:「重复应删去」
5.2 分析与实际用药对应
- [ ] 日志分析与当日实际用药是否对应?
- 批注口吻:「分析应围绕当日实际用药展开」
5.3 病情变化时的分析
- [ ] 病情变化/用药变更时是否有详尽分析、判断、处理及结果记录?
六、ADR / 相互作用 / 特殊人群
6.1 ADR 因果判断 + 具体数值
- [ ] 出现疑似 ADR 时,是否做因果判断并标注具体数值?
- 批注口吻:「且血常规示血小板计数150×10⁹/L,较用药前明显下降」「超过安全范围,且」
- [ ] 抗菌药物常见 ADR(利奈唑胺血小板减少、万古霉素肾毒性、碳青霉烯神经毒性)是否识别?
6.2 药物相互作用
- [ ] 潜在相互作用(利奈唑胺 MAO 抑制、伏立康唑 CYP 抑制)是否分析?
6.3 特殊人群
- [ ] 老年、肝肾功能不全患者是否个体化剂量调整?
七、检查检验与书写规范
7.1 检查检验筛选
- [ ] 检查检验是否筛选保留重要/阳性指标、突出异常值?
- 批注口吻:「实验室检查结果」「突出异常值」
- [ ] 检查项目是否标注日期与具体数值、单位?
7.2 书写规范
- [ ] 表述是否专业?结构是否清晰?
- [ ] 年月日格式是否完整?
✅ 不予批注的内容(明确豁免)
| 内容 | 说明 |
|---|---|
| 鉴别诊断相关内容 | 不在临床药师学习重点范围,不批注 |
| 指南引用中提及的其他抗菌方案 | 属于治疗背景知识,可以接受,不批注 |
| 商品名前后有通用名伴同时 | 有通用名即可,不违规(如"利奈唑胺(斯沃)") |
| 剂量在指南/说明书推荐范围内时 | 无明确质疑理由时不轻率批注 |
给药频次用 q12h、日期用 d1-d3 等缩写 |
常规写法,不批注 |
⚠️ 避免多余批注:AI仅对药历中实际存在的问题进行批注,不应对老师未关注的细节额外添加批注。
评分规则(2026最新版教学药历质量评估表)
四维度ABCD等级评分(总分100分)
| 维度 | 分值 | A | B | C | D |
|---|---|---|---|---|---|
| 基本要求 | 30分 | 30-26 | 25-22 | 21-18 | 17-0 |
| 教学药历首页 | 30分 | 30-26 | 26-22 | 21-18 | 17-0 |
| 治疗日志部分 | 30分 | 30-26 | 26-22 | 21-18 | 17-0 |
| 总结 | 10分 | 10-9 | 8-7 | 6-5 | 4-0 |
各维度评估要点(官方评估表原文)
基本要求(30分):①药历书写应字迹工整、客观、真实、准确、及时、完整;②应当使用医药学术语,使用药品通用名称;③应当表述准确,语句通顺,标点正确;④教学药历应有一年期师资的修改和评语。
教学药历首页(30分):①药历首页表格中不应有缺漏项;②主诉、现病史完整清晰,阳性体征及实验室、影像、特殊检查结果简洁明了,既往史与用药史详尽描述,如有院前抢救史应清楚记录;③对患者既往出现过的药品(食品)过敏反应,及发生过的药物不良反应详细具体描述;④对药物治疗方案的分析应逻辑顺畅,依据充分;⑤药学监护计划部分应有明确的监护内容、监测指标和监测周期。
治疗日志部分(30分):①应按规定日期书写日志,首次药物治疗记录应于患者入院48小时内完成,日志通常3天写一次,危重症患者应每日记录,治疗方案有重大调整或病情危重有抢救时应随时记录;②日志写作应完整通顺,疾病发展变化描述清晰准确,不应遗漏主要的阳性体征和阳性结果;③应对初始药学监护计划的执行记录与监护结果进行记录,如有用药变更,应制订新的药学监护方案;④如有病情变化与用药变更时应有详尽的分析、判断、处理及结果记录;⑤应对异常的实验室等辅助检查结果进行分析,提出药学处理建议;⑥记录临床药师参与药物治疗情况;⑦应有出院药物治疗方案。
总结(10分):①应对本次入院药物治疗过程进行总结;②对患者药物治疗过程中的主要问题和处理过程进行分析评价;③对临床药师在本次治疗过程中的作用进行总结;④应有对患者出院后继续服药的用药指导,同时有对患者自行监测的辅导;⑤对需要的患者制订随访计划,制定明确的随访要求,包括门诊随诊时间及随诊项目。
评分等级
| 等级 | 总分范围 | 说明 |
|---|---|---|
| 优秀 | ≥85分 | 可作为优秀范例 |
| 合格 | 70-84分 | 需小幅改进 |
| 不合格 | <70分 | 需大幅改进 |
评分方法
- 逐维度评估:对照各维度评估要点,结合检查清单中发现的缺陷数量和严重程度,确定每个维度的ABCD等级及对应得分
- 汇总得分:4维度得分相加=总分(满分100分)
- 确定等级:根据总分对应优秀/合格/不合格
- 重度缺陷检查:若存在重度缺陷,直接判定不合格
重度缺陷(出现任一直接不合格)
①字迹潦草难以辨认、不能通读 ②有证据证明系拷贝行为导致的原则性错误 ③带教老师无评语 ④药物名称未使用通用名出现≥5处
检查清单与四维度对应关系
| 检查清单大类 | 对应维度 |
|---|---|
| 一、药品名称与书写规范 | 基本要求 + 教学药历首页 |
| 二、用法用量准确性 | 基本要求 + 教学药历首页 |
| 三、抗感染方案分析规范 | 教学药历首页 |
| 四、药学监护计划 | 教学药历首页 |
| 五、药物治疗日志规范 | 治疗日志部分 |
| 六、ADR/相互作用/特殊人群 | 治疗日志部分 |
| 七、检查检验与书写规范 | 治疗日志部分 + 教学药历首页 |
评语模板
药历书写认真,体现了一定的临床思维和药学分析能力。
存在以下问题,请修改完善:
1. [问题1]
2. [问题2]
(视情况写2-4条,每条简明扼要)
接收时间:XXXX年X月X日
批改时间:XXXX年X月X日
抗感染带教老师
评语要求:
- 开头先肯定(真实、不夸大)
- 问题条目聚焦,不超过4条,优先选最重要的(抗感染药历通常优先:通用名/中文全称 → 准确剂量 mg/g → TDM 监测 → 不良反应监护完善)
- 语气:直接、专业、带教风格,不苛刻
- 字体颜色:红色(Word RGB: FF0000)
- 签名固定为"抗感染带教老师"
批注措辞模板库(按场景)
> 完整模板详见 references/批注措辞模板.md(抗感染专业场景,含具体措辞和豁免规则)
> 批改时根据检测到的问题类型查表获取标准批注措辞
快速索引
| 场景 | 核心规则 | 详细 |
|---|---|---|
| 1. 通用名/中文全称 | 首次出现中文全称+通用名;禁止单独商品名 | → ref |
| 2. 准确剂量 | 写明 mg/g + 频次 + 途径 | → ref |
| 3. 抗感染方案分析 | 结合病原菌+药敏+指南+患者 | → ref |
| 4. TDM | 利奈唑胺 2-8、万古霉素、伏立康唑监测 | → ref |
| 5. 不良反应监护 | 血液系统/肝肾/电解质 + 具体指标 | → ref |
| 6. 删除冗余 | 重复/冗余应删去 | → ref |
| 7. 抗菌药物谱系 | 归类准确(G+/G-/奴卡菌等) | → ref |
常见病种/病原菌批改要点
> 完整知识详见 references/抗感染病种批改要点.md(覆盖诺卡菌病、肺孢子菌肺炎、MRSA/耐药菌感染、真菌感染、腹腔/尿路/呼吸道感染等常见病原菌与抗感染策略)
> 批改时根据患者病原菌/诊断加载对应要点
病种/病原菌索引
| 病种/病原菌 | 核心核查点 |
|---|---|
| 诺卡菌病 | SMZ-TMP 首选(按 SMZ 算剂量)、疗程长、利奈唑胺替代、TDM |
| 卡氏肺孢子菌肺炎 | SMZ-TMP、中重度加糖皮质激素、免疫抑制背景 |
| MRSA 感染 | 万古霉素/利奈唑胺/达托霉素、TDM |
| 多重耐药菌(CRE/ESBL/AB) | 酶型分层、联合、新 β-内酰胺酶抑制剂 |
| 侵袭性真菌病 | 念珠菌/曲霉/毛霉/肺孢子菌分层选药 |
| 腹腔/胆道感染 | 覆盖 GNB+厌氧菌、引流 |
| 尿路感染 | 上下尿路区分、肾功能调整 |
| 呼吸道感染(HAP/VAP) | 覆盖 GNB/MRSA、降阶梯 |
学员常见错误类型
> 详见 references/常见错误类型.md
| # | 错误类型 | 频率 |
|---|---|---|
| 1 | 剂量不准确(缺 mg/g) | 极高 |
| 2 | 药品名称未用通用名/缺中文全称 | 极高 |
| 3 | 缺 TDM 血药浓度监测 | 高 |
| 4 | 不良反应监护不完整(血液/肝肾/电解质) | 高 |
| 5 | 冗余/重复内容未删除 | 高 |
| 6 | 抗感染方案未结合患者具体情况 | 高 |
| 7 | 缺药敏/病原菌分析 | 高 |
| 8 | 抗菌药物谱系归类错误 | 中 |
文件操作规范
- 批改文件默认与输入文件同目录保存(不写死绝对路径,便于任意环境即装即用)
- 命名规范:
{原文件名}-批改.docx - 批注作者统一填写:
抗感染带教老师 - 核心脚本:
scripts/comment_engine.py(融合批注写入引擎:全文档遍历 + 对象模型写回 + 精确锚点)、scripts/validate.py(输出完整性验证)、scripts/scoring_sheet.py(打分表输出引擎) - 打分表模板:内嵌于
scripts/template_data.py(官方附件1-3原表 base64,逐字节一致;技能包内不再携带 .xlsx) - 评分标准:
references/评分标准.md(四维度ABCD等级评分+抗感染专用详细扣分项) - 指南要点:
references/抗感染与ICU指南要点.md(与 ICU 专业共享的参考指南库) - 批量批改后必须运行
scripts/validate.py <输出文件> 抗感染带教老师验证每个输出文件的完整性与署名合规性 - (可选)若当前工作区存在
.workbuddy/memory/目录则追加批改日志,否则跳过 - 环境依赖:python-docx, lxml, openpyxl(安装:
pip install python-docx lxml openpyxl)
版本记录
| 版本 | 日期 | 说明 |
|---|---|---|
| v3.1.3 | 2026-10-08 | 上传平台兼容性修复(可直接替换,批改规则与评分标准未变):官方打分表模板改为 base64 内嵌——新增 scripts/template_data.py(内嵌官方评估表原文件,解码后与官方 .xlsx 逐字节一致),scripts/scoring_sheet.py 支持 template_path=None 时自动回退内嵌模板;因 SkillHub 等平台文件类型白名单不含 .xlsx,打包时排除全部二进制表格(.xlsx/.xls/.xlsm),技能包内不再携带 .xlsx;内嵌模板与文件模板两条通道产物已用「逐单元格 + 样式 + 结构」快照实测完全等价。另修复写入得分列(G4:G7)时覆盖模板「自动换行」属性的问题 |
| v3.1.2 | 2026-10-08 | 发布勘误(可直接替换,批改规则与评分标准未变):①修复段落遍历在无 w14:paraId 的 docx(如 .doc 转出)上可能静默丢段的问题——改为按 XML 元素树遍历,实测旧实现最多丢 52% 段落、致批注大面积遗漏;②教学带教评语改为真正的红色粗体(补 w:b/w:bCs,此前只有红色、无加粗);③批注署名规范校验改为默认执行并始终显示结果;④统一 scripts/validate.py 并补全 SKILL.md 调用示例(第 2 个位置参数=期望署名);⑤frontmatter 补齐 author/tags/category,统一触发词字段、移除 agent_created |
| v3.1.1 | 2026-10-06 | 批注署名规范化 + 校验增强(兼容性修复,可直接替换):批注署名统一为「XX带教老师」——运行时 author 与 initials 均写「XX带教老师」,不再使用老师真名或字母缩写(原 XB / XH / ZL / ICU / FJ / XNDJ 等缩写已全部废止);scripts/comment_engine.py 的 author/initials 参数说明同步更新为强制一致;scripts/validate.py 新增批注署名校验(作者须以「带教老师」结尾、initials 必须与 author 一致),可直接捕获署名不合规产物;批改规则、评分标准未变 |
| v3.1.0 | 2026-10-06 | 首次构建(对齐 v3.1.0 融合架构):基于抗感染专业药历语料 + 24 份抗感染/重症指南构建。批注写入统一走融合引擎 scripts/comment_engine.py(全文档遍历+对象模型写回+精确锚点,与其余 Ruijin skill MD5 一致);同步输出官方《教学药历质量评估表》打分表(scripts/scoring_sheet.py MD5 一致 + 自带官方模板);检查清单融入抗感染专业核心项(通用名/中文全称、准确剂量 mg/g、TDM、血液系统/肝肾/电解质不良反应监护、删除冗余、抗菌药物谱系);与 ICU 专业共享参考指南库 抗感染与ICU指南要点.md。批注署名统一为「抗感染带教老师」(不含老师真名或缩写) |