Ruijin消化药历批改
技能版本:v3.1.4(v3.1.0 新增批改同时同步输出官方《教学药历质量评估表》打分表;v3.0.0 起批注写入统一走融合引擎 scripts/comment_engine.py——全文档遍历 + 对象模型写回 + 精确锚点三合一,弃用旧 zipfile 手拼 XML 路线;基于98份消化专业药历真实批注数据 + 24份最新消化科临床指南(2020-2026);药历模板含「带教老师评语」栏,write_summary=True。批改规则、评分标准未变。上一版 v2.3.0 同步 2026 最新消化指南)
瑞金医院消化内科临床药师培训药历作业批改。基于通用药历评分标准,融入消化专业
特色(24份最新临床指南 2020-2026)和98份真实批改数据训练的带教老师风格。
批改工作流
按以下8步顺序执行。带 🔔 标记的步骤为用户确认检查点,完成后暂停等待用户确认。
🔔 Step 0: 前期确认
在开始批改前,确认以下事项:
- 药历文件:请用户提供待批改药历的 docx 文件路径
- 学员信息:确认学员姓名、培训年级(第一年/第二年)
- 批改重点:是否有特别关注的方面(如抗感染方案、监护计划等)
- 确认后继续:展示以上信息,等待用户确认
Step 1: 药历读取与病种识别
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)
from docx import Document
doc = Document('药历文件路径')
# 全文遍历取证:正文段落 + 所有表格(含嵌套表格)
for para, text in CE.iter_doc_paragraphs(doc):
...
# 段落可见文本用 CE.para_text(paragraph) 完整还原(补齐连字符/符号/制表/换行)
# 识别主要诊断,匹配消化科病种分类
> ⚠️ 嵌套表格(必读):部分药历采用"主表格+嵌套表格"结构(既往用药史、治疗方案、
> 日志用药记录表等内容放在嵌套表格 w:tbl in w:tc 内)。python-docx 的 cell.paragraphs/cell.text
> 只返回单元格直接段落,不含嵌套表格内内容。v3.0.0 起统一用融合引擎
> CE.iter_doc_paragraphs(doc) 全文档遍历(正文 + 所有表格含递归嵌套表格,天然兼容嵌套表格),
> 不再需要手工 zipfile 按 <w:p> 分割。批注锚定与评语定位详见"批注实现技术细节"章节。
> ⚠️ 文本抽取陷阱(必读,防误批学员):Word/WPS 的可见字符不只存在于 <w:t>,朴素抽取会静默丢弃 run 级字符,导致读错原文并误批:
>
> | 元素 | 显示为 | 丢弃后果(真实案例) |
> |---|---|---|
> | <w:noBreakHyphen/> | - | 每2-3日→每23日、LDL-C→LDLC、D-二聚体→D二聚体、文献页码 241-256→241256 |
> | <w:sym w:char="XXXX"/> | 对应符号 | 字符消失 |
> | <w:tab/>/<w:ptab/> | 空白 | 文本粘连 |
> | <w:br/>/<w:cr/> | 换行 | 两行并作一行 |
>
> 判定纪律:抽取文本出现「每 N 天/月/周」N 为多位数、纯数字日期、术语缺连字符(LDLC/DPP4/β内酰胺类)、文献页码连写时,先怀疑丢字,回查原文确认后再下结论;学员用 2-3日/3-5天 表示范围是规范写法,不得批注。
病种自动匹配(按优先级):
肝硬化 → 急性胰腺炎 → 炎症性肠病(UC/CD) → 消化道出血 → 胆道感染 →
肝脓肿 → 药物性肝损伤 → Hp感染 → GERD → 慢性胰腺炎 → 其他
非消化病种识别:若主要诊断不匹配消化科常见病种,提示用户确认是否为消化专业药历,
建议转用对应专业技能(心内药历批改/神内药历批改)。
Step 2: 基本要求检查(首页前全局检查)
对照 references/评分标准.md 维度一(基本要求,30分):
- 字迹是否清晰可通读(否则→重度缺陷)
- 是否存在抄袭/拷贝痕迹(特别注意:入院诊断与首页不符、前后内容完全重复)
- 带教老师是否有评语(无评语→重度缺陷)
- 表格药历是否有漏项
- 药物名称是否使用通用名(≥5处单独商品名→重度缺陷)
- ⚠️ "通用名(商品名)"形式合规,不视为违规
- 每日记录是否签名并标注时间(标准格式:"学员 姓名 记录时间 YYYY-MM-DD")
Step 3: 首页检查
对照 references/评分标准.md 维度二(教学药历首页,30分):
| 检查项 | 扣分 | 消化专业特别关注 |
|---|---|---|
| 入院/出院诊断规范性 | 2分 | 诊断用语统一、病因分型完整 |
| 过敏史/ADR史记述 | 5分 | 消化科常用药过敏史(抗生素、PPI) |
| 诊断要点分析 | 2分 | 需结合消化专科检查(内镜/影像/病理) |
| 治疗原则分析 | 2分 | 需体现消化病种治疗路径 |
| 初始治疗方案记录 | 2分 | 药物、剂量、溶媒、用法完整 |
| 监护计划(监测指标+周期) | 5分 | 消化专科监测指标(见下文监护计划标准) |
| 既往病史/用药史 | 5分 | 外院用药记录完整性 |
Step 4: 消化专业重点检查
> 以下要点基于24份最新消化科临床指南(2020-2026)系统学习。各病种详细方案见 references/指南学习_*.md。
根据 Step 1 识别的病种,选择对应检查清单:
肝硬化(腹水/肝性脑病/EVB)
- 肝功能分级:Child-Pugh评分(A/B/C级)、MELD评分
- 肝硬化分期:代偿期/失代偿期/再代偿期
- 腹水:分级(1/2/3级)→方案匹配;利尿剂螺内酯:呋塞米=100:40比例;白蛋白指征(大量放液6-8g/L)
- 肝性脑病:West-Haven分级;诱因排查(感染/出血/电解质/便秘/过度利尿);乳果糖目标每日2-3次软便+利福昔明
- EVB:急性期特利加压素+PPI+头孢曲松预防(3-5天);二级预防卡维地洛目标心率50-60次/分
- 药物剂量按肝功能调整(PPI品种选择)
肝炎/肝损伤
- HBV自然史分期(免疫耐受/清除/非活动/再活动期)
- 抗病毒选药:ETV/TDF/TAF/TMF(强效低耐药);肾功能不全时调整
- Peg-IFN禁忌证排除(失代偿期肝硬化、妊娠、严重抑郁症)
- HCC筛查:每6月AFP+超声(肝硬化每3月)
- DILI:RUCAM因果关系评分;停药指征(ALT≥5×ULN或Hy's法则);保肝药按分型选择
急性胰腺炎
- 严重程度评估:Ranson/APACHE-II(≥8重症)/SIRS(≥2)/BISAP(≥3)+时间节点
- 病因明确:胆源性/酒精性/高脂血症性/药物性/ERCP术后
- 液体复苏:乳酸林格液250-500mL/h×12-24h,目标尿量≥0.5mL/kg/h
- 抗感染指征:仅感染性坏死时使用,不推荐常规预防
- 营养时机(ESPEN 2023):所有AP均视为中-高营养风险;轻中度临床可耐受即经口进食低脂软食,不依赖血清脂肪酶水平;EN应入院24~72h内启动、优先于PN、经鼻胃管(消化不耐受改鼻空肠);重度AP不推荐益生菌、无PEI不常规补胰酶;PN时补充谷氨酰胺0.20 g/(kg·d)
- 腹内压导向营养(ESPEN 2023):IAP<15mmHg尽早EN;IAP>15mmHg经鼻空肠20mL/h起始并按耐受加量;IAP>20mmHg或ACS停EN改PN;开放腹腔至少给小剂量EN;微创坏死清除术后24h内即可经口进食
- 生长抑素限于SAP(250μg/h);镇痛阶梯原则(避免吗啡);高脂血症性AP TG>11.3→降脂
炎症性肠病(UC/CD)
- 分型标准:UC采用蒙特利尔E分型(E1/E2/E3),CD采用蒙特利尔A-L-B分型
- 活动度评分:UC Mayo评分(0-12);CD HBI评分
- 5-ASA剂量充分(轻中度UC 2.4-4.8g/d)
- 激素减量规范:泼尼松每周减5mg至20mg→每1-2周减2.5-5mg,总疗程<12周
- AZA/6-MP前TPMT检测(TPMT缺乏者禁用);S1P受体调节剂前查基线ECG
- 生物制剂前感染筛查(IGRA/TB、HBV、VZV);谷浓度/抗药抗体监测
- 妊娠期药物选择(禁用MTX/沙利度胺/托法替布;JAK抑制剂与S1P调节剂育龄期有近期妊娠计划者亦应避免)
- 中重度UC/CD分层选药(AGA 2025 UC / 2026 CD):初治者优先高效药(IFX、VDZ、乌司奴单抗、瑞莎珠单抗、古塞奇尤单抗、乌帕替尼等),次选中效药,避免低效药;已用过生物制剂(尤其TNF拮抗剂)者按高效药或中效药选择;JAK抑制剂(托法替布/乌帕替尼)在初治患者中属限制使用(FDA建议保留于TNF拮抗剂失败或不耐受者)
- 达标监测时间窗(AGA):启动后3个月评估症状应答、3~6个月症状+生化缓解、6~12个月内镜改善/缓解
- 联合治疗与降阶梯(AGA):IFX+硫唑嘌呤联合优于单药;TNF拮抗剂+免疫抑制剂联合且激素-free缓解≥6个月者建议撤除免疫抑制剂、不建议撤除TNF拮抗剂;已升级至免疫抑制剂/生物制剂者建议停用5-ASA(残留直肠炎可加局部5-ASA)
消化道出血
- 出血原因:静脉曲张 vs 非静脉曲张
- 上消化道出血PPI:高危80mg iv→8mg/h泵入72h
- EVB血管活性药物(特利加压素/生长抑素)+抗生素预防(头孢曲松1-2g/d 3-5天)
- 合用氯吡格雷→泮托拉唑/雷贝拉唑(避免奥美拉唑/艾司奥美拉唑)
胆道感染
- TG18严重程度分级;抗生素选择与分级匹配
- 胆管炎必须联合甲硝唑(覆盖厌氧菌);重度24h内胆道引流
- 血培养+胆汁培养留取
Hp感染/GERD
- Hp(2026版指南,已替代2022版):只要没有抗衡因素,无论有无症状均应根除(不再按适应证清单判断,也不能以有无症状决定是否根除)
- 方案:铋剂四联方案 或 含阿莫西林双联方案(非铋剂四联方案、三联方案已不再推荐);疗程统一14 d,每个方案仅使用1次,失败即换其他合适方案
- 剂量:铋剂四联抗生素餐后口服(阿莫西林1g tid;克拉霉素0.5g bid;左氧氟沙星0.5g qd;甲硝唑0.4g tid~qid——不建议每天2次常规剂量;四环素0.5g tid~qid;呋喃唑酮0.1g bid);双联方案阿莫西林3 g/d必须配合强效抑酸
- 抑酸:铋剂四联用标准剂量PPI bid;P-CAB(伏诺拉生20mg bid)不受CYP2C19影响、为优选;CYP2C19快代谢型可用双倍剂量PPI;双联方案需强效PPI加倍或加频
- 复查(高频扣分):治疗后至少4周(最好12周内)复查,首选UBT;复查前停抗生素/铋剂4周、停PPI/P-CAB 2周;血清学检测不能判断根除是否成功
- 患者教育:治疗期间及停药后5 d内禁酒(双硫仑样反应);戒烟、避免刺激性食物;不良反应率四联20%~40%、双联10%~20%
- 青霉素过敏:优先甄别皮试假阳性、保留阿莫西林;确不能用时选头孢呋辛替代阿莫西林、米诺环素替代四环素或经典铋剂四联(四环素+甲硝唑)
- GERD:PPI疗程(RE标准8周);长期PPI监测血镁/骨密度/维生素B12
肝脓肿
- 经验性抗感染方案;PCT指导疗程;肺炎克雷伯菌(KP)特殊临床表现
慢性胰腺炎
- 胰酶替代治疗(PERT):pH敏感肠溶包衣微球制剂,随正餐与零食分次服用;正餐脂肪酶20,000~50,000 PhU(RCT支持40,000~80,000 PhU/正餐),零食减半;成人无剂量上限(儿童高剂量有结肠狭窄风险)
- PERT应答不满意时:增加剂量或加用PPI;仍无效需排查小肠细菌过度生长(SIBO)
- 营养评估不可仅用BMI(会漏诊肥胖者肌少症);至少每12个月筛查微量/宏量营养素(脂溶性维生素、B12、叶酸、镁、铁、硒、锌)
- 骨病:约1/4骨质疏松、约2/3骨病,应用DXA筛查;补充维生素D 800IU+钙500~1000mg/d,戒烟戒酒、规律负重运动
- 无需限制膳食脂肪(除非脂肪泻无法控制)、避免极高纤维饮食;营养不良者高蛋白高能量、每日5~6餐少量多餐
- 多模式镇痛;脂溶性维生素按检测结果补充(不建议盲目补充全部脂溶性维生素,有19%患者血清维生素A过高)
Step 5: 药物治疗日记检查
对照 references/评分标准.md 维度三(治疗日志部分,30分),重点:
- 主诉与现病史紧密结合
- 疾病发展变化描述清晰;主要阳性体征完整(尤其腹部体征)
- 病情变化时有分析、判断、处理及结果记录(5分)
- 检查结果异常有分析及处理意见(5分)
- 药学监护计划有执行情况与结果(5分)
- 治疗方案变更时是否分析了换药理由(从原方案疗效/安全性/新方案覆盖/剂量用法角度)
- 现病史/用药史存疑时进行分析(外院用药与诊断匹配性、激素使用指征等)
监护计划具体化标准(★最高频问题,84.7%药历被指出)
| 要素 | 要求 | 消化科示例 |
|---|---|---|
| 监测指标 | 列出具体检验/检查项目 | 腹痛NRS评分、CRP、血淀粉酶/脂肪酶、血糖 |
| 监测频率 | 明确时间间隔 | "每3天复查"、"每日监测" |
| 阈值/目标 | 给出干预标准 | "NRS≥3分需报告"、"Hb<70g/L需输血" |
消化科病种特有监护要点:
- 急性胰腺炎:每日腹痛NRS、定期血淀粉酶/脂肪酶、血糖
- UC:激素不良反应(血糖/血压/精神状态)、血常规(WBC<3×10⁹需停免疫抑制剂)
- 肝硬化出血:黑便/呕血/头晕、心率/血压、Hb动态变化
- 慢性胰腺炎:营养评估(体重/白蛋白/前白蛋白)、脂肪泻评估
Step 6: 总结部分检查
对照 references/评分标准.md 维度四(总结,10分):
- 出院继续治疗方案完整性(5分)
- 治疗过程总结(5分)
- 药物治疗主要问题评价(5分)
- 临床药师作用总结(5分)
- 随访计划具体化(2分)— 需含复查项目和时间节点
- 患者自行监测指标指导(2分)
> 出院带药:不再单独批注。如有明显问题可在评语中顺带提及。
🔔 Step 7: 评分与评语生成
评分计算:按四维度ABCD等级评分框架,根据 Step 2-6 发现的缺陷确定各维度等级(A/B/C/D)及得分,4维度得分相加=总分(满分100分),按评分规则定级。
评语生成:按带教老师风格(见"带教老师评语规范"章节)撰写评语,展示给用户确认。
确认内容:
1. 四维度评分明细表(各维度等级、得分及依据)
2. 总分及等级
3. 带教老师评语全文
Step 8: 批注插入与文件输出
用户确认评分和评语后,执行:
- 将每条批注以Word原生批注气泡形式插入药历docx
- 将带教老师评语填入"药学带教老师评语"标签下一行(红色粗体)
- 输出文件:
原文件名-批改.docx(不覆盖原文件)
技术实现详见"批注实现技术细节"章节。
同步输出质量评估表(打分表)
批改完成、输出批改 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;在最终确认步骤中一并展示打分表路径、各维度得分与总分
🔔 Step 9: 最终确认
输出文件后展示:
- 输出文件路径
- 批注总数
- 四维度评分汇总(各维度等级+得分)
- 评语全文
等待用户确认是否需要调整。
评分规则(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分 | 需大幅改进 |
评分方法
- 逐维度评估:对照各维度评估要点,结合
references/评分标准.md中的详细扣分项和references/消化专业评分要点.md中的消化专业高频扣分点,确定每个维度的ABCD等级及对应得分 - 汇总得分:4维度得分相加=总分(满分100分)
- 确定等级:根据总分对应优秀/合格/不合格
- 重度缺陷检查:若存在重度缺陷,直接判定不合格,不再逐维度评分
重度缺陷(出现任一直接不合格)
- 字迹潦草难以辨认、不能通读
- 有证据证明系拷贝行为导致的原则性错误
- 带教老师无评语
- 药物名称未使用通用名出现≥5处("通用名(商品名)"形式合规,不计入)
完整评分标准见 references/评分标准.md,消化专业评分要点见 references/消化专业评分要点.md。
批注实现技术细节
核心要求
- 批注形式:Word原生"审阅→插入批注"气泡,禁止将批注文字插入正文
- 批注作者:
w:author="消化带教老师",w:initials="消化带教老师" - 批注语言:中文
- 输出文件:原文件名后加
-批改后缀,不覆盖原文件
实现方式(融合引擎 comment_engine.py)
v3.0.0 起弃用旧 zipfile 手拼 XML 路线(解包 → document.xml 正则切分 → 手拼 comments.xml / commentsExtended.xml → 手改 rels / Content_Types → 重新打包),统一走融合引擎 scripts/comment_engine.py——全文档遍历 + 对象模型写回 + 精确锚点三合一:
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_text, # 四段式带教评语(见"带教老师评语规范"章节)
summary_label='药学带教老师评语',
write_summary=True, # 药历模板含评语栏,写评语
)
# report: {"total","inserted","missed","ambiguous","degraded","summary_written"}
融合引擎三要点:
- 全文档遍历:
iter_doc_paragraphs()遍历正文段落 + 所有表格(递归嵌套表格),天然兼容"主表格 + 嵌套表格"结构,不再需要手工按<w:p>分割 - 对象模型写回:python-docx 官方
Comments.add_comment()+ OPC 自动维护部件关系(comments.xml / commentsExtended.xml / people.xml 自动创建、rels 自动 relate),弃用手拼 PackURI / _blob - 精确锚点:
find_anchor()支持 contains/exact/startswith + 全文档命中计数,missed/ambiguous/degraded 显式上报,不再静默丢失批注
> Fallback:锚定文本找不到时,引擎记录为 missed 并在结果中标注;评语标签行找不到时 summary_written 为 False(此时需在文档末尾药历表格后新建一行插入评语,并在批注中提示"需补充评语栏")。
带教老师评语规范
位置与格式
- 位置:docx 中"药学带教老师评语"标签所在行的下一行表格单元格内
- 格式:红色粗体(
<w:color w:val="FF0000"/><w:b/>) - 写入方式:统一由融合引擎
CE.write_summary_to_label(doc, summary_text, label='药学带教老师评语')完成(lxml 按<w:tbl>/<w:tr>层级定位标签行,取同一<w:tbl>下同级下一行写入,嵌套表格行天然隔离);grade(write_summary=True)已自动调用,无需手工定位
> Fallback:找不到"药学带教老师评语"标签行时 summary_written 为 False——需在文档末尾药历表格后新建一行插入评语,并在批注中提示"需补充评语栏"。
评语结构(4段式)
- 病例特点(1-2句):年龄、性别、主要诊断、入院核心问题
- 优点肯定(1-2句):书写认真程度、结构完整性、分析思路
- 主要问题(2-4点):结合具体批注,针对性指出改进方向
- 延伸学习建议(1-2点):推荐知识点引导深入学习
常用句式:"可进一步了解……"、"建议关注……"、"可对比学习……"
风格特征
- 语气客观专业,不用笼统表扬或否定,重在指导
- 具体针对药历细节(指标、时间、药物名称)
- 建设性强,每条问题暗示改进方向
- 篇幅150-300字,分段清晰
评语参考样例
> 该患者为55岁女性,因发热伴腹痛入院,诊断细菌性肝脓肿(右肝,胆源性可能)。药历书写较认真,对治疗过程有记录,治疗总结中对三联抗菌及四联保肝药的分析有思考。主要问题:①D1入院诊断与首页不符,疑为复制其他药历所致,请注意核实修正;②初始治疗方案栏空白,需补充具体用药;③监护计划需进一步具体化,建议明确感染指标复查频率、体温监测阈值等。可进一步了解肺炎克雷伯菌肝脓肿的临床特点、序贯治疗时机及保肝药合理联用原则。
> 该患者为一老年女性,PBC合并腹水,胃底食管静脉曲张(套扎术后),本次因近期腹水加重入院。药历书写非常认真,内容完整,对临床信息进行了归纳,且有自己分析,并对制定的监护计划有跟踪执行。因腹水治疗为此次入院的主要治疗目的,可针对此进一步完善,例如:B超报告腹水量的评估等。此外,在归纳临床信息时,需要监护的指标即使正常也需列出,如查体的体温心率呼吸,检验指标中的血钾、钠等。
批改问题模板库
批改时优先从以下模板中选择匹配项,根据具体药历内容填充。
首页模板
| 编号 | 批注前缀 | 模板内容 |
|---|---|---|
| F1 | 【患者信息】 | 患者信息不完整,请补充年龄、体重等重要信息。 |
| F2 | 【诊断规范】 | 入院/出院诊断填写有缺陷,诊断用语需统一、包含病因分型。 |
| F3 | 【过敏史】 | 过敏史、药物不良反应史记述有缺陷,需补充完整。 |
| F4 | 【初始治疗】 | 初始治疗方案栏空白/有漏项,需补充具体用药、剂量、溶媒、用法。 |
日记模板(★高优先级)
| 编号 | 批注前缀 | 模板内容 |
|---|---|---|
| D1 | 【监护计划】 | 监护计划需具体化,建议补充:①具体监测指标;②监测频率;③阈值/目标值;④特殊关注点。 |
| D2 | 【分析深度】 | 此处仅列出实际用药清单,未就其与理论用药的异同展开分析。请从以下角度补充:①原方案疗效与安全性评估;②换药/加药理由;③新方案覆盖病原菌;④剂量/用法/疗程。 |
| D3 | 【现病史疑问】 | [药物]使用是否合理存疑。建议从以下角度分析:①该药的药理作用;②患者是否存在对应指征;③是否存在禁忌或加重病情风险。 |
| D4 | 【病情分析】 | 病情变化时缺乏分析、判断和处理记录。请补充对检查结果变化的解读及相应处理意见。 |
格式模板
| 编号 | 批注前缀 | 模板内容 |
|---|---|---|
| G1 | 【格式】 | 每日记录后应记录记录者姓名及记录时间,如:学员 [姓名] 记录时间 [日期] |
| G2 | 【药名】 | "[商品名]"为商品名,应使用通用名"[通用名]([商品名])"。 |
| G3 | 【指南引用】 | 引用指南时,建议补充所属学协会名称及发表年份,如"[指南名称],[学协会],[年份]年"。 |
总结模板
| 编号 | 批注前缀 | 模板内容 |
|---|---|---|
| S1 | 【随访计划】 | 随访计划过于笼统,建议具体到复查项目和时间节点。 |
| S2 | 【药师作用】 | 对临床药师在本次治疗中的作用总结不足,请结合具体干预点展开。 |
边界条件与异常处理
docx文件异常
| 场景 | 处理方式 |
|---|---|
| 文件不是docx格式 | 提示用户提供正确格式,终止批改 |
| docx解包失败(损坏文件) | 提示文件可能损坏,建议用户检查文件完整性 |
| document.xml 缺失 | 提示文件结构异常,无法批改 |
| comments.xml 已存在 | 读取现有批注供参考;合并而非覆盖;comment id从最大现有id+1开始 |
| commentsExtended.xml 已存在 | 同comments.xml处理 |
| 文档使用非标准XML命名空间 | 提取现有命名空间,保持一致性 |
内容异常
| 场景 | 处理方式 |
|---|---|
| 缺少"药学带教老师评语"标签 | 在文档末尾药历表格后新建一行插入评语;批注中提示"需补充评语栏" |
| 主要诊断非消化科病种 | 提示用户确认是否为消化专业药历,建议转对应专业技能 |
目标批注文本在docx中被拆分为多个<w:t> |
融合引擎 para_text() 按段落 run 级完整还原后匹配(见"批注实现技术细节"),支持跨<w:r>组合匹配 |
药历为嵌套表格结构(内容在w:tbl in w:tc内) |
融合引擎 iter_doc_paragraphs() 全文档遍历(含嵌套表格内段落),锚点匹配天然兼容;评语行定位由 write_summary_to_label() lxml 结构化解析完成(见"带教老师评语规范"),禁止正则<w:tr>行块匹配 |
| 目标文本未找到(可能已被修改) | 记录未匹配项,在评语中手动提及,不阻塞流程 |
| 无法识别主要诊断 | 跳过病种特定检查清单,仅执行通用检查+基本要求 |
输出处理
| 场景 | 处理方式 |
|---|---|
| 输出目录无写入权限 | 输出到系统临时目录,提示用户 |
| 输出文件名冲突 | 自动追加序号后缀(-批改-2, -批改-3...) |
评分异常
| 场景 | 处理方式 |
|---|---|
| 重度缺陷触发 | 不再逐维度评分,直接判定不合格,评语中说明原因 |
| 总分≥85(优秀药历) | 正常输出"优秀",评语重点在肯定和延伸学习建议 |
参考资料
references/评分标准.md— 通用教学药历质量评分标准(30项缺陷+评分等级)references/消化专业评分要点.md— 消化专业高频扣分点统计与常见病种评分要点references/消化科常见疾病用药共识.md— 消化科常用药物指南摘要(基础版)references/指南学习_肝硬化系列.md— 肝硬化腹水(2023)/肝性脑病(2024)/临床诊治管理(2025)/EVB/血小板减少症指南学习笔记references/指南学习_胰腺胆道PPI.md— 急性胰腺炎(2021中国 + 2025 IAP)/慢性胰腺炎中西医结合(2025)/胆道感染(2021)/PPI指导原则(2020)/ESPEN胰腺炎临床营养(2023)指南学习笔记references/指南学习_IBD_HP_GERD.md— UC(2023西安)/CD(2023广州)/GERD诊疗规范/中国成年人Hp感染诊断治疗与预防临床实践指南(2026),并增补 AGA 中重度UC(2025) 与 AGA 中重度CD(2026) 国际指南要点references/指南学习_乙肝DILI_BSG.md— 乙肝防治(2022)/DILI(2023)/2025 BSG IBD/自身免疫性胰腺炎指南学习笔记references/指南学习_肝脓肿IBS功能病.md— 细菌性肝脓肿急诊专家共识/肠易激综合征中西医结合共识(2025)指南学习笔记scripts/comment_engine.py— 融合批注写入引擎(全文档遍历 + 对象模型写回 + 精确锚点)scripts/validate.py— 输出完整性验证 + 批注署名规范校验(python scripts/validate.py <输出文件> 消化带教老师)scripts/scoring_sheet.py— 打分表输出引擎(同步生成教学药历质量评估表)scripts/template_data.py— 内嵌官方打分表模板(附件1-3原表 base64,逐字节一致)
依赖: python-docx, lxml, openpyxl(安装:pip install python-docx lxml openpyxl)
版本记录
| 版本 | 日期 | 核心改进 |
|---|---|---|
| v3.1.4 | 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.3 | 2026-10-08 | 发布勘误(可直接替换,批改规则与评分标准未变):①修复段落遍历在无 w14:paraId 的 docx(如 .doc 转出)上可能静默丢段的问题——改为按 XML 元素树遍历,实测旧实现最多丢 52% 段落、致批注大面积遗漏;②教学带教评语改为真正的红色粗体(补 w:b/w:bCs,此前只有红色、无加粗);③批注署名规范校验改为默认执行并始终显示结果;④统一 scripts/validate.py 并补全 SKILL.md 调用示例(第 2 个位置参数=期望署名)(本 skill 原缺 validate.py,本次补装);⑤frontmatter 补齐 author/tags/category,统一触发词字段、移除 agent_created |
| v3.1.2 | 2026-10-08 | 发布勘误(可直接替换,批改规则未变):清理 references/指南学习_乙肝DILI_BSG.md 末尾的本地绝对路径脚注(发布卫生,不影响批改逻辑) |
| v3.1.1 | 2026-10-06 | 批注署名规范化 + 校验增强(兼容性修复,可直接替换):批注署名统一为「XX带教老师」——运行时 author 与 initials 均写「XX带教老师」,不再使用老师真名或字母缩写(原 XB / XH / ZL / ICU / FJ / XNDJ 等缩写已全部废止);scripts/comment_engine.py 的 author/initials 参数说明同步更新为强制一致;批改规则、评分标准未变 |
| 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 | 批注写入技术路线重做(融合架构):zipfile 手拼 XML 路线收敛为统一引擎 scripts/comment_engine.py——全文档遍历 iter_doc_paragraphs()(正文+所有表格含递归嵌套,弃用手工 zipfile 按 <w:p> 分割)、对象模型写回 insert_comment()(python-docx 官方 Comments.add_comment() + OPC 自动维护,弃用手拼 comments.xml/commentsExtended.xml/rels/Content_Types)、精确锚点 find_anchor()(contains/exact/startswith + 全文档命中计数,missed/ambiguous/degraded 显式上报);评语写入改走 write_summary_to_label()(lxml 按 <w:tbl>/<w:tr> 层级定位标签行同级下一行)。批改规则、评分标准未变 |
| v2.3.0 | 2026-09-24 | 同步 2026 最新消化指南(新增3部 + 替换1部):①新增 2023 ESPEN 急慢性胰腺炎临床营养指南(AP营养风险筛查、经口低脂软食不依赖脂肪酶、EN 24~72h内启动、腹内压导向营养、谷氨酰胺0.20 g/(kg·d)、不推荐益生菌、CP胰酶20,000~50,000 PhU/正餐随餐分次、约1/4骨质疏松+BMD筛查、无需限脂);②新增 2025 AGA 中重度UC 与 2026 AGA 中重度CD 药物管理(疗效分层高效/中等/低效、初治-经治分层定位、JAK抑制剂限制使用、达标监测3/3-6/6-12个月、联合治疗与降阶梯);③Hp 章节整体替换为《中国成年人幽门螺杆菌感染诊断、治疗与预防临床实践指南(2026,中华内科杂志)》——根除指征升级为"无抗衡因素即积极根除"、方案收敛为铋剂四联+双联(非铋剂四联/三联不再推荐)、统一14 d、P-CAB优选、抗生素餐后口服、复查前停抗生素/铋剂4周与PPI/P-CAB 2周、禁酒至停药后5 d。四维度ABCD 100分制评分与批改规则未变 |
| v2.2.2 | 2026-09-16 | 修复文本抽取丢字缺陷(勘误):段落可见字符不只存在于 <w:t>,朴素 re.findall(r'<w:t[^>]*>...') 或 cell.text 会静默丢弃 <w:noBreakHyphen/>(显示 -)、<w:sym>、<w:tab/>、<w:br/> 等 run 级字符,导致 每2-3日→每23日、LDL-C→LDLC、D-二聚体→D二聚体 等误读误批。修复:find_anchor_para 的 <w:t> 正则替换为 run_text()(run 级完整还原);评语定位的 tr.iter('{%s}t') 替换为 el_text();Step 1、锚定文本匹配、评语定位三处新增「⚠️ 文本抽取陷阱」提示。四维度ABCD 100分制评分与批改规则未变 |
| v2.2.1 | 2026-09-16 | 移除评语写入相关问题同步修复;本技能无脚本,SKILL.md 工作流与批注实现细节完整保留 |
| v2.2 及更早 | — | 本技能早期版本记录未留存 |