药学门诊工作记录表自动生成
Overview
将用户提供的任意形式病例资料(照片、文本、Word/PDF)解析为结构化字段,填入《药学门诊工作记录表》模板,生成符合培训命名规范的 .docx 文件。核心原则:只填有证据的信息,缺失一律留空,严禁编造。
工作流程
Step 1 收集病例资料
- 接收用户上传的病例信息(照片 / 文本 / 文档)。
- 多张照片按页合并理解:通常第 1 页为病史与诊断(主诉、现病史、既往史、体检、化验、初步诊断、治疗意见),第 2 页为医嘱与用药(用药清单、建议注意事项)。
- 若资料不足(如只有化验单没有病史),照常处理能提取的部分,其余留空,并在交付时告知用户哪些字段未填及原因。
Step 2 解析并结构化(阅读 references/字段映射表.md)
按映射表将资料内容提取为 JSON 数据模型(字段定义见 references/填写规范.md 第五节)。
要点:
- 化验值必须保留单位(U/L、mmol/L、μmol/L 等)。
- 诊断、病史、医嘱长文本原文优先,仅做标点与格式整理。
- 患者亟待解决的问题依据主诉+现病史+化验+用药调整归纳,最多 2 条核心 + 其余入"其它"。
- 复选框只勾选有明确证据的项(如既往史含"HBP病史"→勾"高血压";诊断含"血脂异常"→勾"高脂血症")。
- 就诊时间取本次就诊日期;化验日期 ≠ 就诊日期。
- 照片中缺失的条目不补、不猜(如"治疗意见 1. 2. 3. 6."只录可见部分)。
- 重点检查项目:化验项目较多(≥10 项,如全套生化+尿常规)时,优先用竖表模式
labs_items(每项一行,3 列:检查日期/检查项目/检查结果),避免横表"其他"列塞入一长串文本
影响排版;项目少时可用横表 labs_rows。详见 references/填写规范.md 第五节。
Step 3 生成记录表
- 将结构化数据写入 JSON 临时文件。
- 调用填表脚本(脚本内置空白模板,无需手动复制):
python scripts/fill_record.py --data case.json --output "输出路径.docx"
- 脚本自动处理:文本框写、复选框勾选(☑ 替换空框)、三张表格填充、签名日期填写。
Step 4 命名
输出文件名遵循培训规范:药学门诊工作记录表NN-专业-学员姓名.docx
- NN:序号(01、02…,询问用户当前份数)
- 专业:如"临床药学"(询问用户)
- 学员姓名:用户真实姓名(询问,不猜测)
输出到用户指定目录;未指定时与病例资料同目录。
Step 5 校验与交付
- 用 python-docx 回读输出,核对各表单元格、复选框、留空项(自检清单见 references/填写规范.md 第七节)。
- 向用户说明:哪些字段已填、哪些留空及原因、待用户手填项(签名/医疗机构名称/姓名等)。
- 通过 present_files 打开生成的 .docx 供用户预览。
注意事项
- 用户可能一次提交多份病历 → 每份生成一张独立记录表,序号递增。
- 若模板与技能内置模板不同(用户提供新模板),用新模板路径覆盖 --template 参数,并提醒维护技能内模板。
- 绝不将推断内容伪装成病历原文;归纳性内容(如"患者亟待解决的问题")仅在有证据时写入。
- 运行脚本需要 python-docx;缺失时先安装(pip install python-docx)。
Resources
scripts/fill_record.py— 通用填表脚本(v2):JSON 结构化数据 → 已填写的记录表 docx。
v2 新增:①「患者亟待解决的问题」段落自动整段重写并左对齐(规避模板制表位/负字距导致的文字堆叠);
②重点检查项目支持竖表模式labs_items(每个检查项目一行)。references/字段映射表.md— 病历字段 → 记录表字段的完整映射与提取规则(含重点检查项目横表/竖表两种布局)references/填写规范.md— 命名规范、模板结构速查、JSON 数据模型(含 labs_items)、自检清单references/example_case.json— 完整示例(2 型糖尿病 + 血脂异常病例,竖表 labs_items + 4 种用药),可直接作为结构参考assets/药学门诊工作记录表模板.docx— 空白模板(脚本默认使用)