# 术前讨论记录模块设计文档 > **文档类型**: 深度业务设计 > **版本**: v1.0 > **编制日期**: 2026-06-06 > **三甲依据**: 《三级医院评审标准(2022版)》手术分级管理制度 — 三级/四级手术必须有术前讨论记录 > **评审条款**: 现场检查必查项,缺失则一票否决 --- ## 一、业务背景 ### 1.1 为什么要术前讨论? 术前讨论是手术安全管理的核心制度。依据《医疗质量安全核心制度要点》(2018版): - **三级手术**:必须有术前讨论,由副主任医师及以上主持 - **四级手术**:必须有科内讨论+全科讨论,由科主任主持 - 术前讨论记录是病历的必要组成部分,评审专家现场必查 ### 1.2 当前系统差距 当前系统已有手术管理模块(申请→审批→安排→执行),但缺少**术前讨论记录**这一关键环节。评审时如果手术病历中没有术前讨论记录,将被判定为不合格。 ### 1.3 参考标准 - 《医疗质量安全核心制度要点》(2018版)第5条:术前讨论制度 - 《病历书写基本规范》(2010版):手术记录要求 - 《三级医院评审标准(2022版)》:手术质量安全核心指标 - 《手术分级管理办法》:手术分级与讨论要求对应关系 --- ## 二、完整业务流程 ### 2.1 术前讨论全流程 ``` 医生提交手术申请 │ ▼ 系统判断手术级别 │ ├── 一级/二级手术 → 无需术前讨论(可选) │ └── 三级/四级手术 → 强制要求术前讨论 │ ▼ 创建术前讨论记录 │ ▼ 邀请讨论参与者(至少2人) │ ▼ 讨论内容录入 ├── 患者基本信息(自动带入) ├── 术前诊断(关联诊断模块) ├── 手术名称和指征 ├── 手术方案(主方案+备选方案) ├── 麻醉方式 ├── 术中可能风险及对策 ├── 术后注意事项 └── 讨论结论(同意手术/需进一步检查/暂不手术) │ ▼ 参与者签名(电子签名) │ ▼ 主持人审核确认 │ ▼ 绑定到手术申请 │ ▼ 手术申请可继续流转(审批→安排→执行) ``` ### 2.2 异常流程 | 场景 | 处理方式 | |------|---------| | 讨论结论为"暂不手术" | 手术申请状态变为"讨论后暂停",需修改后重新讨论 | | 讨论结论为"需进一步检查" | 手术申请状态变为"待补充检查",检查完成后重新讨论 | | 参与者不足(三级手术<2人) | 拦截提交,提示"三级手术术前讨论至少需要2名医师参与" | | 四级手术主持人非科主任 | 拦截提交,提示"四级手术必须由科主任主持讨论" | | 术前讨论记录缺失时尝试安排手术 | 系统拦截,提示"请先完成术前讨论" | --- ## 三、状态流转 ### 3.1 术前讨论记录状态 ``` 草稿(0) → 待签名(1) → 待审核(2) → 已完成(3) → 已归档(4) ↓ 已驳回(5) → 草稿(0) ``` | 状态 | 值 | 触发条件 | 允许操作 | |------|-----|---------|---------| | 草稿 | 0 | 创建讨论记录 | 编辑/删除/提交签名 | | 待签名 | 1 | 提交参与者签名 | 参与者签名 | | 待审核 | 2 | 所有参与者已签名 | 主持人审核 | | 已完成 | 3 | 主持人审核通过 | 绑定手术/查看 | | 已归档 | 4 | 手术完成自动归档 | 查看 | | 已驳回 | 5 | 主持人驳回 | 编辑后重新提交 | --- ## 四、业务规则 | 规则编号 | 规则名称 | 规则描述 | 触发时机 | 处理方式 | |---------|---------|---------|---------|---------| | PD-001 | 三级手术讨论 | 三级手术必须有术前讨论记录 | 手术审批时 | 缺失则拦截 | | PD-002 | 四级手术讨论 | 四级手术必须有科内讨论记录 | 手术审批时 | 缺失则拦截 | | PD-003 | 主持人资质 | 三级手术:副主任医师以上主持 | 创建讨论时 | 自动校验 | | PD-004 | 四级手术主持人 | 四级手术必须由科主任主持 | 创建讨论时 | 自动校验 | | PD-005 | 参与者人数 | 三级手术≥2人,四级手术≥3人 | 提交时 | 不足则拦截 | | PD-006 | 讨论时效 | 术前讨论必须在手术前24小时内完成 | 创建讨论时 | 超时则提醒 | | PD-007 | 电子签名 | 所有参与者必须电子签名 | 审核前 | 未签则拦截 | | PD-008 | 绑定手术 | 讨论完成后自动绑定到对应手术申请 | 审核通过时 | 自动关联 | | PD-009 | 术前诊断一致性 | 讨论中的术前诊断必须与手术申请一致 | 提交审核时 | 不一致则警告 | | PD-010 | 手术方案完整性 | 必须包含主方案+至少一个备选方案 | 提交时 | 缺失则拦截 | --- ## 五、数据模型 ### 5.1 术前讨论记录表 `sys_preop_discussion` | 字段 | 类型 | 说明 | 必填 | |------|------|------|------| | id | BIGSERIAL | 主键 | ✅ | | encounter_id | BIGINT | 就诊ID | ✅ | | surgery_id | BIGINT | 关联手术申请ID | ✅ | | patient_id | BIGINT | 患者ID | ✅ | | patient_name | VARCHAR(50) | 患者姓名 | ✅ | | discussion_type | INT | 讨论类型(1科内讨论 2全科讨论 3全院讨论) | ✅ | | surgery_level | INT | 手术级别(1/2/3/4) | ✅ | | preop_diagnosis | TEXT | 术前诊断 | ✅ | | surgery_name | VARCHAR(200) | 手术名称 | ✅ | | surgery_indication | TEXT | 手术指征 | ✅ | | main_plan | TEXT | 主手术方案 | ✅ | | backup_plan | TEXT | 备选手术方案 | ✅ | | anesthesia_type | VARCHAR(50) | 麻醉方式 | ✅ | | risks_and_countermeasures | TEXT | 术中可能风险及对策 | ✅ | | postop_notes | TEXT | 术后注意事项 | ✅ | | discussion_conclusion | INT | 讨论结论(1同意手术 2需进一步检查 3暂不手术) | ✅ | | discussion_result | TEXT | 讨论详细结果 | ✅ | | host_user_id | BIGINT | 主持人用户ID | ✅ | | host_user_name | VARCHAR(50) | 主持人姓名 | ✅ | | status | INT | 状态(0草稿 1待签名 2待审核 3已完成 4已归档 5已驳回) | ✅ | | discussion_time | TIMESTAMP | 讨论时间 | ✅ | | discussion_location | VARCHAR(200) | 讨论地点 | ✅ | ### 5.2 术前讨论参与者表 `sys_preop_discussion_participant` | 字段 | 类型 | 说明 | 必填 | |------|------|------|------| | id | BIGSERIAL | 主键 | ✅ | | discussion_id | BIGINT | 关联讨论记录ID | ✅ | | user_id | BIGINT | 参与者用户ID | ✅ | | user_name | VARCHAR(50) | 参与者姓名 | ✅ | | role | VARCHAR(20) | 角色(主持人/参与者/记录人) | ✅ | | title | VARCHAR(50) | 职称(主任医师/副主任医师/主治医师) | ✅ | | sign_status | INT | 签名状态(0未签 1已签) | ✅ | | sign_time | TIMESTAMP | 签名时间 | ✅ | | sign_image | TEXT | 签名图片(base64) | ✅ | | opinion | TEXT | 个人意见 | ❌ | --- ## 六、接口设计 ### 6.1 API列表 | 方法 | 路径 | 说明 | |------|------|------| | POST | /preop-discussion/add | 创建讨论记录 | | PUT | /preop-discussion/update | 修改讨论记录 | | GET | /preop-discussion/detail | 查看讨论详情 | | GET | /preop-discussion/list | 查询讨论列表 | | DELETE | /preop-discussion/delete | 删除讨论记录(仅草稿) | | PUT | /preop-discussion/submit | 提交讨论(草稿→待签名) | | PUT | /preop-discussion/sign | 参与者签名 | | PUT | /preop-discussion/review | 主持人审核(通过/驳回) | | GET | /preop-discussion/check-required | 检查手术是否需要术前讨论 | | GET | /preop-discussion/statistics | 讨论统计 | ### 6.2 核心接口时序 #### 创建术前讨论 ``` 前端: 弹出讨论表单 → 自动带入患者/手术信息 API: POST /preop-discussion/add 后端: 1. 校验手术级别(PD-001/PD-002) 2. 校验主持人资质(PD-003/PD-004) 3. 校验讨论时效(PD-006) 4. 保存讨论记录+参与者 5. 设置状态=草稿(0) 返回: {code:200, data:{discussionId}} ``` #### 主持人审核 ``` 前端: 主持人查看讨论内容 → 点击"审核通过" API: PUT /preop-discussion/review 后端: 1. 校验当前用户是否为主持人 2. 校验所有参与者已签名(PD-007) 3. 校验参与者人数(PD-005) 4. 校验手术方案完整性(PD-010) 5. 更新状态=已完成(3) 6. 自动绑定到手术申请(PD-008) 返回: {code:200, msg:"审核通过"} ``` --- ## 七、前端页面设计 ### 7.1 页面布局 ``` ┌─────────────────────────────────────────────┐ │ 术前讨论管理 [新建讨论] │ ├─────────────────────────────────────────────┤ │ 搜索区: [患者] [手术级别] [状态] [日期] [搜索] │ ├─────────────────────────────────────────────┤ │ 表格: 序号|患者|手术名称|级别|主持人|状态|操作 │ │ 1 张三 阑尾切除 三级 李主任 已完成 │ ├─────────────────────────────────────────────┤ │ 分页: < 1 2 3 > │ └─────────────────────────────────────────────┘ ``` ### 7.2 新建讨论弹窗(左右布局) ``` ┌──────────────────────────┬────────────────────┐ │ 患者信息(自动带入) │ 讨论内容 │ │ 姓名: 张三 │ 术前诊断: [____] │ │ 住院号: 2026060001 │ 手术指征: [____] │ │ 科室: 普外科 │ 主方案: [____] │ │ 床号: 12床 │ 备选方案: [____] │ │ │ 麻醉方式: [____] │ │ 手术信息(自动带入) │ 风险及对策: [____] │ │ 手术名称: 阑尾切除术 │ 术后注意: [____] │ │ 手术级别: 三级 │ 讨论结论: [单选] │ │ 申请医生: 王医生 │ │ │ │ 讨论参与者: │ │ 讨论信息 │ □ 李主任(主持) │ │ 讨论时间: [____] │ □ 赵副主任 │ │ 讨论地点: [____] │ □ 孙主治 │ │ 讨论类型: [科内讨论] │ │ └──────────────────────────┴────────────────────┘ ``` --- ## 八、与手术管理模块的集成 ### 8.1 数据关联 ``` 手术申请(Surgery) ──1:N──→ 术前讨论记录(PreopDiscussion) 术前讨论记录 ──1:N──→ 参与者(Participant) ``` ### 8.2 流程集成 - **手术申请提交时**:检查三级/四级手术是否有术前讨论 - **手术审批时**:强制校验术前讨论完成状态 - **手术安排时**:显示术前讨论结论 - **手术完成时**:自动归档术前讨论记录 ### 8.3 手术管理页面改造 在手术管理页面的"操作"列增加"术前讨论"按钮: - 三级/四级手术:显示"查看讨论"或"新建讨论" - 一级/二级手术:显示"可选讨论" --- ## 九、测试用例 | 用例编号 | 场景 | 操作步骤 | 预期结果 | |---------|------|---------|---------| | TC-PD001 | 正常创建讨论 | 填写完整信息→保存 | 状态=草稿,可编辑 | | TC-PD002 | 三级手术强制讨论 | 三级手术不创建讨论直接审批 | 拦截,提示"请先完成术前讨论" | | TC-PD003 | 参与者不足 | 三级手术只邀请1人 | 拦截,提示"至少需要2名医师" | | TC-PD004 | 四级手术非科主任主持 | 主治医师主持四级手术讨论 | 拦截,提示"必须由科主任主持" | | TC-PD005 | 签名流程 | 所有参与者签名→主持人审核 | 状态变为已完成 | | TC-PD006 | 驳回后修改 | 主持人驳回→修改→重新提交 | 状态从驳回回到草稿 | | TC-PD007 | 绑定手术 | 讨论完成→关联手术申请 | 手术申请可继续流转 | | TC-PD008 | 讨论时效校验 | 手术前48小时创建讨论 | 警告"请在手术前24小时内完成讨论" |