药历批改技能
技能版本:v3.1.3(v3.1.0 新增批改同时同步输出官方《教学药历质量评估表》打分表;基于96份+10份验证药历 + 23份神内指南 + 2026最新版教学药历质量评估表四维度评分;v3.0.0 起批注写入统一走融合引擎 scripts/comment_engine.py——全文档遍历 + 对象模型写回 + 精确锚点三合一,详见「批注实现」章节)
触发关键词:批改药历、药历批注、神内药历、帕金森药历、重症肌无力药历、脑梗死药历、药历评语、药历分析、药物治疗日志批改、临床药师带教
技能作者
神内带教老师(上海交通大学医学院附属瑞金医院 神经内科临床药师)
工作流程(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日;2026-08-23→20260823;LDL-C→LDLC;HLA-B*15:02→HLAB*15:02;241-256→241256 |
<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日、每35天、近23月、每12月复查、入院后35天、出院后46周
- 纯数字日期:20260823、20251027、202408
- 术语/药名/量表缺连字符:LDLC、DPP4、D二聚体、HMGCoA、β内酰胺类、HLA-B*15:02、CHA₂DS₂-VASc、10羟卡马西平、头孢哌酮-舒巴坦
- 文献年卷期页码连写:241256、14891496、445452
- 治疗时长连写:4872h - 核对方法:回查该段
document.xml是否含<w:noBreakHyphen/>、<w:sym等元素,或用para_text()重新抽取比对。 - 在确认原文之前,严禁写出「缺连接符 / 漏字 / 笔误 / 日期格式不规范」类批注。
—— 学员用2-3日、3-5天、4-6周表示范围是规范写法,不得因此批注
(曾实际发生:袁婧 14 / 15 / 19 三份药历被误批)。 - 发现旧文本与
para_text()结果不一致时,一律以后者为准重新判断。
Step 2:逐项核查(按下方检查清单)
按序逐一核查,记录:
- 问题位置(段落索引或区域名称)
- 问题描述(简洁、针对性)
- 批注文本(用神内带教老师老师口吻)
⚠️ 批注位置锚定规则:
- 每条批注必须锚定到药历原文中的具体文字(commentRangeStart 需插入到对应段落),不可锚定到空白处
- 锚定文字应选取问题所在的关键句子或短语,使批注和原文的对应关系一目了然
⚠️ 正面评价规则:
- 当学员某部分书写良好时(如宣教内容详细、分析正确),应适当给予正面肯定
- 批注口吻参考:「这部分宣教内容做的很详细,很棒」「分析正确」
- 不可只批问题,不写优点
🛑 批注依据规则:
- 每一条批注 / 评语条目都必须能明确映射到下方「药历批改检查清单」中的某一项(或评分标准中的扣分项)
- 严禁在清单之外自行发明判定标准;若确实发现清单未覆盖的问题,先作为待确认项单列,
由带教老师确认后再纳入清单,不直接写入评语
- 引用具体例子时必须核对同一份药历的原文,禁止跨文件搬运示例
🛑 质量检查点 #1(Step 2完成后必检):
- 确认批注总数 ≥ 2 条且 ≤ 30 条;若为 0 条,提示「未检测到需批注的问题,请人工复核」;若 > 50 条,提示「批注数量偏多,请确认是否有误批或过度批注」
- 确认批注覆盖了至少 3 个检查大类(如药品名称 + 用法用量 + 药学监护),避免只集中在单一维度
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 级完整还原(<w:noBreakHyphen/>→-、<w:sym/>→符号、<w:tab/>→\t、<w:br/>→\n)后匹配,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. 清空内容行 <w:tc> 内直接 <w:p> 段落(保留 <w:tcPr> 与嵌套表格),写入红色(FF0000)粗体评语段落
4. 评语结构见下方《评语模板》
> ⚠️ 嵌套表格兼容(必读):禁止用正则 <w:tr[^>]*>.*?</w:tr> 匹配表格行——
> 嵌套表格(w:tbl in w:tc)存在时非贪婪正则会把主表格行与嵌套表格行截断/粘连(实测
> 80 个行块中 49 个异常),评语会写错位置甚至破坏文档。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 药品名称均以通用名表示(重点!)
- [ ] 药历全文(包括正文分析、方案表、日志、既往用药史)中,所有药品名称是否以通用名表示?
- 规则:药品名称均以通用名表示,未出现通用名的,判定为违规,无论是否出现商品名。核心要求是通用名必须出现。
- 违规示例(无通用名):单独写"立普妥 20mg"、"使用德巴金抗癫痫"、"口服泰舒达"
- 合规示例(有通用名):"立普妥(阿托伐他汀钙片) 20mg"、"阿托伐他汀钙片(立普妥)"、"注射用丙戊酸钠(德巴金)"、"多巴丝肼片(美多芭)"
- 批注口吻:「禁止单独出现药品商品名,需以通用名表示为主」「文中禁止单独出现药品商品名,需以通用名表示为主」「药历全文禁止单独出现商品名,请全文替换为通用名,下同」
- ⚠️ 特别注意:药名格式应为"通用名(商品名)",商品名可作为补充但不能替代通用名
1.2 用法用量表示规范(重点!高频错误)
- [ ] 住院方案表/正文分析中,非复方制剂的用法用量是否以具体剂量描述?
- 规则:必须写明具体剂量(如 60mg qd、0.5g bid),不可仅写"1片""半片""2粒"
- ⚠️ 复方制剂例外:复方制剂(如多巴丝肼片、卡左双多巴缓释片等)可以以"片"表示用量
- 批注口吻:「具体剂量,所有药品用法用量标注为具体剂量,下同」「全部用剂量表示」「用剂量描述用法用量」「该药物为复方制剂,可以以"片"表示用量」「复方制剂,可以不用具体用量表述」
- [ ] 出院带药表格中,用量可以以"片"表示,但药名处须标注规格
- 正确示例:溴吡斯的明片(60mg/片)1片 tid
- 错误示例:溴吡斯的明片 1片 tid(缺规格)
- 批注口吻:「出院带药以片数表示用量时,须在药名处注明规格,如(60mg/片)」「这里可以用片」
1.3 注射剂溶媒规范(高频错误)
- [ ] 注射剂是否标注所用溶媒(溶媒种类+体积)?
- ⚠️ 自带溶媒的注射剂无需另加溶媒标注:
- 丁苯酞氯化钠注射液:已含氯化钠,不写"+NS"
- 甘露醇注射液:原液直接滴注,不写"+NS",但需注明"直接静脉滴注"及滴注速度(如"30分钟内")
- 批注口吻:「注射液需标明所用溶媒」「溶媒?」「分析溶媒选用、用量是否合适」
1.4 通用名拼写一致性
- [ ] 通用名拼写是否正确、全文是否一致?
- 常见错误:"溴吡斯的明"写成"溴比斯的明"(吡 vs 比)
- 批注口吻:「药品通用名需准确」「药名需使用准确的通用名」
二、治疗方案分析规范
2.1 避免大段复制指南(极高频错误)
- [ ] 初始治疗方案分析是否大段复制指南内容?
- 规则:应结合患者个体特点,提炼总结,不可大段复制指南;须按模板包含患者病情分析
- 批注口吻:「初始治疗方案无需大段复制指南,可结合本例患者特点,详细描述相关部分,略写无关部分」「删减,与本病例不涉及部分略写」「筛减,重点描述药物治疗史」「提炼总结,不再过多引用」「结合患者,提炼筛减」「前后不必重复大段引用指南,注意结合患者表述」「初始治疗方案分析须按模板,含患者病情分析」
2.2 方案完整性
- [ ] 初始方案表中列出的所有药物,是否在分析中均有论述?(不可遗漏)
- 批注口吻:「他克莫司胶囊列入初始方案但分析部分未涉及,需补充」「列入方案的药物必须在分析中有相应论述」
- [ ] 缓释/控释制剂是否被碾碎或经胃管给药?
- 批注口吻:「缓释制剂不可经胃管给药,应建议更换为普通制剂」「阿司匹林肠溶片碾碎鼻饲,是消化道出血危险因素之一」「缓释片不可掰开服用」
- [ ] 出院带药指征是否清晰?用药调整原因是否记录?
- [ ] 药品描述是否包含剂型?
- 批注口吻:「药品描述需包含剂型」「注明剂型」
2.2b 治疗方案分析需标注引用指南
- [ ] 学员在治疗方案分析中引用指南时,是否标注了指南名称和版本?
- 批注口吻:「可在这里的治疗方案分析中,注明所引用的指南」
- 注意:仅当引用了指南内容但未标注来源时批注
2.3 病例特点提炼
- [ ] 病例特点是否复制现病史?
- 规则:病例特点应提炼小结,不可直接复制现病史
- 批注口吻:「病例特点不要复制现病史,需进行提炼小结」「不再重复现病史,需要提炼总结」「现病史不复制,该处提炼总结分析」
2.4 患者基本信息完整性
- [ ] 患者基本信息是否完整(年龄、体重等)?
- 批注口吻:「患者基本信息需完整」「年龄/体重?」
三、信息采集(药学问诊)
3.1 职业史(神经系统疾病必须)
- [ ] 职业史是否通过药学问诊补全?
- 规则:必须排除有机磷、重金属等神经毒物接触史
- 批注口吻:「患者职业背景需通过问诊完善,排除毒物接触史」「通过药学问诊完善既往职业」「通过问诊了解详细过敏史」「工作史可通过药学问诊完善」
3.2 过敏史
- [ ] 过敏史是否明确:过敏原、反应类型、症状表现、处理结果?
- 注意:皮试阳性 ≠ 过敏史,不可混用
- 批注口吻:「需详细了解过敏类型及处理方法,如果只是皮试+不属于过敏史」「对于药物过敏史需明确具体情况及处理方式和结果」
3.3 既往史与用药史
- [ ] 既往用药史与疾病史是否混写?
- 规则:用药史与疾病史不相干时,分开表述
- 批注口吻:「用药史与疾病史不相干,分开表述」
3.4 药品缩写/类别表述需展开
- [ ] 既往用药中是否出现药品缩写或类别表述(如"ARB+CCB降压"、"PPI护胃")?
- 规则:应通过药学问诊明确具体药物名称,缩写类别需展开
- 批注口吻:「可通过问诊明确具体的ARB和CCB是哪几个药物,如何服用」「药品缩写需展开为具体药名」
四、药学监护计划(高频错误区域)
4.1 监护频率必须明确
- [ ] 每项监护计划是否有明确频率(次/日、或具体时间点)?
- 批注口吻:「药学监护需注明频率」「明确疗效监护、不良反应监护的频率」「监护频率?」「频率?」「频率过于频繁,每周即可」
4.2 监护内容区分
- [ ] 是否区分疗效监护与不良反应监护?
- 批注口吻:「药学监护分为疗效监护与不良反应监护,需注明频率」「药学监护:1疗效监护(缺)2不良反应监护」「疗效监护?」
- [ ] 疗效监护是否从药物治疗角度描述(非临床角度)?
- 批注口吻:「疗效监护应从药物治疗角度描述,而非临床角度」「从药物治疗角度描述疗效监护」
4.3 监护结果跟踪
- [ ] 制定的药学监护计划,是否在后续日志中记录跟踪结果?
- 批注口吻:「制定的药学监护计划,在后续监护结果中应有体现」「用药监护应在后续给予对应的监护结果」
4.4 监护与宣教区分
- [ ] 是否混淆药学监护与用药宣教?
- 批注口吻:「用药监护、用药教育表述要有所区分,一个是药师监护的角度出发关注哪些点,一个是患者角度出发出现了什么症状,该怎么处理」「表述要有所区分,一个是药师监护的角度,一个是患者发了出现了什么症状」「注意区分药学监护与药学宣教内容」
4.5 依从性评估
- [ ] 是否使用MORISKY-8量表评估患者依从性?
- 批注口吻:「依从性可用MORISKY-8量表评估」「使用MORISKY-8评估依从性」
五、药物治疗日志规范
5.1 避免重复复制(极高频错误)
- [ ] 日志是否仅记录变化与异常?
- 规则:禁止大段复制前日内容,仅描述有变化、有意义的结果,其余写"余无殊"
- 批注口吻:「每日病情避免复制重复,仅表述有变化、有意义的结果,'余无殊'」「仅描述变化的部分、异常的部分」「简述,描述异常情况」「如果一样就写同前」「仅保留阳性,其余写XXX无殊」
5.2 日志连续性
- [ ] 是否有明显日志缺失(如连续多天无记录)?
- [ ] 药物治疗日志是否包含治疗分析与药学监护?
- 批注口吻:「日程记录缺失治疗分析与药学监护」「药历结构有欠缺,日程记录缺失治疗分析与药学监护」
5.3 医嘱记录规范
- [ ] 医嘱是否按时间顺序记录?
- 批注口吻:「医嘱记录需规范,按照时间顺序,修改用法用量表述」「同时段、同一个药,合并在一条写」「同时段医嘱用法用量合并在一起写」
5.4 分析与实际用药对应
- [ ] 日志中治疗方案分析是否与当日实际用药对应?
- 规则:不可混入未使用的药物分析
- 批注口吻:「本日加用的是XX,此处引用XX与实际处理不符,分析应围绕当日实际用药展开」「治疗方案变化中未提到XX,如果监护应放到初始治疗方案监护中」
5.5 治疗方案调整记录
- [ ] 所有治疗方案调整(停药/加药/剂量调整)是否均有记录?
- 规则:任何治疗方案的变更都应在日志中体现
- 批注口吻:「治疗方案调整需记录」「停药/加药/调整剂量均需记录」
六、ADR / 超说明书 / 相互作用
6.1 ADR 因果判断(重点!)
- [ ] 出现疑似 ADR 时,是否进行时序性、去激发、再激发、转归分析?
- 规则:ADR 描述需完整,包括时序性、去激发、再激发、转归;需按国家ADR判断标准/诺氏标准逐条分析
- 批注口吻:「出现ADR的药物,需进行时序、去激发、再激发等因果判断」「药物ADR需要深入分析,结合时序性、去激发、再激发判断因果关系」「根据ADR判断标准,进行时序性、去激发、再激发、转归完整描述」「因使用...出现...停用...后...」「ADR需按国家ADR判断标准逐条分析」
6.2 超说明书用药
- [ ] 超说明书用药是否被识别并提供循证分析?
- 规则:需分析合理性,提供文献依据/指南推荐;不建议给予超说明书使用的建议
- 批注口吻:「部分超说明书适应症的用药,需要详细分析其合理性」「超说明书适应症,可深入分析」「若超说明书适应症使用,需进行循证,分析其合理性」「不推荐给予超说明书使用的建议」
6.3 药物相互作用
- [ ] 潜在药物相互作用是否分析其临床意义?
- 批注口吻:「潜在相互作用,可深入分析」「相互作用的程度以及是否需要干预」「相互作用的等级是?是否需要干预?」
6.4 用药依据
- [ ] 药物治疗方案分析是否过于简单?
- 批注口吻:「药物治疗方案分析过于简单,未根据相关指南深入分析」「治疗方案分析需更深入,补充依据」「用药理由需更准确」
七、检查检验与特殊人群
7.1 检查检验指标筛选
- [ ] 检查检验指标是否经过筛选,仅保留重要/阳性指标?
- 规则:避免罗列所有检查数据,应筛选保留与药物治疗相关的阳性或重要指标
- 批注口吻:「检查检验指标需筛选,保留重要/阳性指标」「仅保留阳性,其余写XXX无殊」
7.2 肾功能不全患者
- [ ] 肾功能不全患者是否计算CrCl(肌酐清除率)?
- 规则:Scr/eGFR不足以指导用药剂量调整,需计算CrCl
- 批注口吻:「肾功能不全需计算CrCl,Scr/eGFR不足以指导用药」「计算肌酐清除率」
7.3 既往史控制情况
- [ ] 既往史是否明确控制情况?
- 规则:既往疾病需明确当前控制情况(如高血压、糖尿病控制是否良好)
- 批注口吻:「既往史需明确控制情况」「既往疾病控制情况?」
✅ 不予批注的内容(明确豁免)
| 内容 | 说明 |
|---|---|
| 鉴别诊断相关内容 | 不在临床药师学习重点范围,不批注 |
| 指南引用中提及的其他药物治疗方案 | 属于治疗背景知识,可以接受,不批注 |
| 商品名前后有通用名伴同时 | 有通用名即可,不违规(如"立普妥(阿托伐他汀钙片)"、"多巴丝肼片(美多芭)") |
| 剂量在说明书/指南推荐范围内时 | 即使为较大剂量,无明确质疑理由时不轻率批注 |
⚠️ 避免多余批注: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条,优先选最重要的
- 语气:直接、专业、带教风格,不苛刻
- 字体颜色:红色(Word RGB: FF0000)
- 签名固定为"神内带教老师"
批注措辞模板库(按场景)
> 完整模板详见 references/批注措辞模板.md(9 个场景,含具体措辞和豁免规则)
> 批改时根据检测到的问题类型查表获取标准批注措辞
快速索引
| 场景 | 核心规则 | 详细 |
|---|---|---|
| 1. 商品名/通用名 | 禁止单独出现商品名;通用名+商品名格式合规 | → ref |
| 2. 用法用量 | 非复方制剂须标注具体剂量(mg/g);复方制剂可用"片";出院带药须注规格 | → ref |
| 3. 指南引用 | 禁止大段复制指南;须结合患者特点提炼 | → ref |
| 4. 信息采集 | 职业史须排除神经毒物;过敏史与皮试阳性区分;病史分开表述 | → ref |
| 5. 药学监护 | 必须标注频率;区分疗效监护 vs 不良反应监护;区分监护 vs 宣教 | → ref |
| 6. 日志书写 | 禁止复制前日内容;仅记录变化与异常;医嘱按时间合并 | → ref |
| 7. ADR | 须进行时序/去激发/再激发/转归完整分析 | → ref |
| 8. 超说明书 | 须提供循证依据分析合理性 | → ref |
| 9. 检查检验/特殊人群 | 筛选阳性指标;肾功能不全须计算CrCl | → ref |
常见病种批改要点
> 完整病种知识详见 references/神经内科病种批改要点.md(14 个病种,含指南 DOI/链接)
> 批改时根据患者诊断加载对应病种的批改要点:references/神经内科病种批改要点.md
病种索引
| 病种 | 核心核查点 | 指南 DOI |
|---|---|---|
| 帕金森病(PD) | 左旋多巴餐前服用、滴定原则、运动并发症、禁用氟哌啶醇;第五版不刻意推迟左旋多巴 | 第五版(2026) 59(6):539-566 |
| 重症肌无力(MG) | 溴吡的斯的明拼写、激素一过性加重、他克莫司超说明书+TDM | 10.3760/cma.j.cn113694-20250120-00041 |
| 脑梗死(AIS) | 溶栓时间窗<4.5h、双抗21天、他汀强度、甘露醇原液滴注 | 10.3760/cma.j.cn113694-20240410-00221 |
| 心源性卒中(CES) | CHA₂DS₂-VASc指导抗凝、十类病因、感染性心内膜炎急性期不抗凝 | 10.3760/cma.j.issn.0254-9026.2020.12.001 |
| 轻型卒中 | NIHSS≤5、72h内氯吡格雷+阿司匹林双抗(INSPIRES) | → ref |
| 癫痫 | 不可突然停药、SJS-TEN风险(LTG/CBZ)、育龄女性慎用VPA;含初始ASM选择+持续状态 | → ref |
| 自身免疫性脑炎(AE) | 一线:MP+IVIG; NMDAR查畸胎瘤; LGI1/FBDS特征 | 10.3760/cma.j.cn113694-20220219-00118 |
| 脑出血(ICH) | SBP目标160-180、甘露醇原液、抗凝逆转(PCC+VK) | 10.3760/cma.j.issn.1006-7876.2019.12.003 |
| 吉兰-巴雷(GBS) | IVIG 0.4g/kg×5d、激素单用无效、自主神经监护 | → ref |
| CIDP | 激素/IVIG/PE一线、纯运动型首选IVIG、结旁抗体型首选PE | 10.3760/cma.j.issn.1006-7876.2019.11.003 |
| NMOSD | 缓慢递减≥6-8月、绝对避免那他珠单抗 | → ref |
| MS | DMT分层(高/中效)、芬戈莫德首剂心血管监测 | → ref |
| 认知障碍/AD | 不同时用两种ChEI、DLB禁用抗精神病药、新药ARIA风险 | 10.3969/j.issn.2096-5516.2025.01.002 |
| MSA | 左旋多巴效果有限、坦索罗辛加重OH | → ref |
| 偏头痛 | 曲普坦早期用、MOH识别(≥10天/月×>3月)、五羟色胺综合征 | → ref |
| 紧张型/丛集性头痛 | TTH首选对乙酰氨基酚/阿米替林;CH纯氧+舒马曲普坦、维拉帕米 | → ref |
| 失眠症 | BZD老年人跌倒风险、Z-drug复杂睡眠行为、逐渐减量停药 | → ref |
| 肝豆状核变性(WD) | 青霉胺皮试+VitB6联用、低铜饮食 | → ref |
| 遗传性共济失调 | 对症支持为主 | → ref |
| 糖尿病神经病变(DPN) | 一线普瑞巴林/度洛西汀、阿片类不推荐一线、甲钴胺/硫辛酸/依帕司他 | → ref |
| 三叉神经痛(TN) | 卡马西平一线(监测血药浓度)、奥卡西平二线、药物无效转MVD | → ref |
学员常见错误类型
> 详见 references/常见错误类型.md(12 种错误,含表现+改进建议+AI注意事项)
| # | 错误类型 | 频率 |
|---|---|---|
| 1 | 大段复制指南 | 极高 |
| 2 | 用法用量不规范 | 高 |
| 3 | 商品名单独出现 | 高 |
| 4 | 药学监护频率缺失 | 高 |
| 5 | 日志重复复制 | 高 |
| 6 | ADR未因果判断 | 中 |
| 7 | 职业史/过敏史缺失 | 中 |
| 8 | 医嘱记录不规范 | 中 |
| 9 | 检查检验未筛选 | 中 |
| 10 | 疗效监护角度错误 | 中 |
| 11 | 既往史控制情况不明 | 低 |
| 12 | 患者基本信息缺失 | 低 |
文件操作规范
- 批改文件默认与输入文件同目录保存(不写死绝对路径,便于任意环境即装即用)
- 命名规范:
{原文件名}-批改.docx - 批注作者统一填写:
神内带教老师 - 核心脚本:
scripts/comment_engine.py(融合批注写入引擎:全文档遍历 + 对象模型写回 + 精确锚点)、scripts/validate.py(输出完整性验证)、scripts/scoring_sheet.py(打分表输出引擎) - 打分表模板:内嵌于
scripts/template_data.py(官方附件1-3原表 base64,逐字节一致;技能包内不再携带 .xlsx) - 评分标准:
references/评分标准.md(四维度ABCD等级评分+详细扣分项) - 批量批改后必须运行
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-09-26 | 新增打分表输出(升次版本):批改完成、输出批改 Word 的同时,同步生成对应的官方《质量评估表》打分表(xlsx)——新增统一脚本 scripts/scoring_sheet.py(6 skill 各持一份 MD5 一致)+ 自带官方模板(药历版 references/教学药历质量评估表.xlsx / 病例分析版 references/病例分析质量评估表.xlsx);做法为复制模板后仅写入四维度「得分」列(G4:G7),总分列保留模板求和公式自动计算,格式 100% 保留、不新增/删除模板文字。批改规则、评分标准未变 |
| v3.0.0 | 2026-09-24 | 批注写入技术路线重做(融合架构):三套独立实现收敛为统一引擎 scripts/comment_engine.py——①全文档遍历 iter_doc_paragraphs()(正文+所有表格含递归嵌套,修复旧「只搜 tables[0]」局限);②对象模型写回 insert_comment()(python-docx 官方 Comments.add_comment() + OPC 自动维护部件关系,弃用 zipfile 手拼);③精确锚点 find_anchor()(contains/exact/startswith + 全文档命中计数,missed/ambiguous/degraded 显式上报 + 前 N 字符降级兜底)。batch_review_v4.py 降级为薄封装(仅存批注数据 + main)。批改规则、评分标准未变 |
| v2.3.0 | 2026-09-16 | 病种要点更新:PD升至第五版(2026)、MG沿用2025;新增癫痫持续状态、新诊断癫痫初始ASM、CIDP、心源性卒中、轻型卒中、糖尿病神经病变、三叉神经痛、紧张型头痛、丛集性头痛要点,同步更新病种索引表 |
| v0.1 | 2026-03-27 | 初始版本,基于重症肌无力药历批改经验建立 |
| v0.2 | 2026-03-27 | 细化"药品名称规范性"检查项:明确商品名禁止单独出现;区分住院方案(剂量mg)与出院带药(片数+规格)的用量表示规则 |
| v0.3 | 2026-03-27 | 基于15份历史药历学习,大幅扩展:新增批注措辞模板库、完善6大类检查项、补充7个病种专项要点 |
| v1.0 | 2026-03-27 | 完成全部96份药历学习,全面升级:新增第7类检查项(检查检验与特殊人群)、扩展至12类常见错误、补充4个新病种(MSA/NMOSD/糖尿病周围神经病/肝豆状核变性)、完善批注措辞模板库(9大场景)、细化疗效监护角度要求、新增依从性评估、ADR诺氏标准、CrCl计算等要点 |
| v1.1 | 2026-04-15 | 基于5份验证药历(甘露01-05)老师重批结果迭代:P0修正商品名判定规则(前后有通用名不算违规,解决10条误批);P0新增自带溶媒注射剂识别(丁苯酞氯化钠、甘露醇原液);新增批注锚定位置要求(不可锚定到空白处);新增正面评价规则;新增治疗方案分析标注指南要求;新增避免多余批注规则;更新脑梗死病种要点(溶栓后抗凝评估、他汀剂量依据) |
| v1.2 | 2026-04-16 | 基于5份验证药历(甘露06/07/12/13/14)老师重批结果迭代(90条批注对比):P0修改药品名称规则为"均以通用名表示为主,未出现通用名即违规";P1新增复方制剂用法用量豁免规则(可用片数表示);P1新增药品缩写/类别表述需展开为具体药名(如ARB+CCB);P1强化注射剂溶媒检查执行;更新批注措辞模板(商品名措辞与老师对齐);新增"缩写/类别未展开"批注场景 |
| v1.3 | 2026-04-22 | 基于23份神内临床指南系统学习,大幅扩充专业评估能力:完整学习PD第四版(2020)、MG指南(2025)、急性缺血性卒中(2023)、脑出血(2019)、AE共识(2022版)、成人局灶性癫痫(2022)、AD药物治疗(2023)、偏头痛(2023)、GBS(2024)、脑血管病防治(2024)、MSA(2022)、NMOSD(2025)、MS(2023)、失眠症(2025)、DLB(2021)、VaD(2024)等;病种批改要点从简明列表全面升级为结构化深度知识表——含药物选择分层/剂量范围/TDM目标/监护重点/相互作用/超说明书循证依据/指南引用等 |
| v1.4 | 2026-04-23 | 批注输出格式规范化:①批注统一使用Word原生批注气泡(commentRangeStart/End/Reference + comments.xml + Content_Types + rels四件套),禁用内嵌红色文字;②带教评语精确写入"药 学 带 教 老 师 评 语"表头行的下一个表格单元格内(非关键词模糊搜索);③补充关键技术要点(锚点段落级模糊匹配、从后往前处理避免偏移、zipfile遍历files字典确保新文件写入、XML声明和根标签保护) |
| v1.5 | 2026-06-26 | Darwin 8维度评估优化(81→预估88+,B+→A-级):①结构化 YAML frontmatter(name/description/version/author/tags/category);②瘦身架构:3大内容外置至 references/(批注措辞模板、常见错误类型、神经内科病种批改要点),SKILL.md 从~700行精简至~350行;③补齐 scripts/batch_review_v4.py 和 scripts/validate.py;④新增6条边界异常处理规则(文件不存在/损坏/表头缺失/批注异常/同名冲突);⑤新增2个显式质量检查点(Step 2后、Step 5后);⑥6份关键指南补充 DOI;⑦修复文件操作规范(脚本路径引用+验证步骤) |
| v1.6 | 2026-07-22 | 评分标准升级:①新增2026最新版《教学药历质量评估表》四维度ABCD等级评分框架(基本要求30+首页30+治疗日志30+总结10=100分);②新增 references/评分标准.md,将原有7大类检查清单映射到4个评分维度;③评分等级从扣分制改为得分制(优秀≥85/合格70-84/不合格<70);④新增检查清单与四维度对应关系表 |
| v2.1 | 2026-07-24 | 版本同步:与Ruijin心内/消化药历批改skill版本统一为v2.1 |
| v2.2 | 2026-08-20 | 嵌套表格兼容修复:①batch_review_v4.py 评语定位从正则<w:tr>行块匹配改为lxml结构化解析(按<w:tbl>/<w:tr>层级取同级下一行),兼容"主表格+嵌套表格"药历结构——旧正则方案在嵌套表格存在时行块截断/粘连(实测80块中49块异常),评语会写错位置;②批注锚点确认不受嵌套表格影响(扁平XML按段落提取文本,含嵌套表格内段落);③SKILL.md Step 4 更新为lxml方案说明并补充嵌套表格必读提示 |
| v2.2.1 | 2026-08-20 | 版本号规范修订:统一三位语义化版本(X.Y.Z)——本次为bug/兼容修复,严格按SemVer应为patch级,故标记v2.2.1(批改规则与标准未变,仅修复/兼容,直接替换即可) |
| v2.2.2 | 2026-09-16 | 修复文本抽取丢字导致的误批(勘误+兼容性修复):新增 run_text() 完整还原 <w:noBreakHyphen/>→-、<w:sym/>→Unicode、<w:tab/>/<w:ptab/>→\t、<w:br/>/<w:cr/>→\n;para_full_text 与内联抽取统一改用它(药历版另含 _tr_full_text,并加宽「药学带教老师评语」表头匹配);修正 <w:t[^>]*> 会误匹配 <w:tab/> 的隐患(应为 <w:t(?:\s[^>]*)?>);顺带修复评语定位失败分支中重复 zout.writestr 的 bug。动因:WPS/Word 的范围连字符、日期分隔符、术语连字符常存为 <w:noBreakHyphen/>,朴素抽取会静默丢弃,把学员写的「每2-3日」读成「每23日」、「2026-08-23」读成「20260823」,进而被误判为「缺连接符/笔误」。SKILL.md 新增「文本抽取陷阱」与「批注依据规则」。批改规则、评分标准未变 |