Files
his/MD/specs/SURGERY_MANAGEMENT_DESIGN.md
华佗 76f090d2af docs(iron-rules): 新增铁律15+16 + 业务逻辑设计文档 + 后端增强
铁律15: 模块设计必须分析业务逻辑,不能只做CRUD
- 必须查阅标准规范、梳理业务流程、设计状态流转、定义业务规则
- 附设计文档模板和医疗HIS参考标准清单

铁律16: 模块优化必须分析现有业务流并说明促进作用
- 必须回答5个问题:位置/关联/促进/兼容/冲突
- 附业务逻辑分析文档模板

业务逻辑设计文档:
- MD/specs/SURGERY_MANAGEMENT_DESIGN.md (139行)
  - 状态机: 待申请→待审批→已审批→待手术→手术中→已完成
  - 7条业务规则: 分级权限/术前讨论/术前评估/手术室冲突/禁食/随访/安全核查
- MD/specs/ORDER_MANAGEMENT_DESIGN.md
  - 状态机: 新开→签发→执行中→已完成/已停止/已签退
  - 6条业务规则: 停止时限/用药审核/查对/紧急标识/修改限制/皮试联动
- MD/specs/BED_MANAGEMENT_DESIGN.md
  - 状态机: 空闲↔占用↔清洁中↔维修中
  - 5条业务规则: 分配校验/科室匹配/自动清洁/使用率统计/预约

后端业务逻辑增强:
- SurgeryAppService: +手术室冲突校验 +手术统计
- BedController: +床位使用率统计 +分配校验 +出院自动清洁
- EsbMessageController: +消息路由校验 +消息轨迹 +死信队列处理
2026-06-06 14:11:50 +08:00

5.5 KiB
Raw Blame History

手术管理模块设计文档

文档类型: 业务设计 版本: v1.0 编制日期: 2026-06-06 依据标准: 《三级医院评审标准(2022版)》手术质量安全核心制度


一、业务背景

手术管理是三甲医院评审的核心检查项。依据《医疗质量安全核心制度》中的"手术分级管理制度"和"术前讨论制度",手术必须经过完整的术前评估→审批→执行→术后跟踪流程。

参考标准

  • 三级医院评审标准(2022版) — 手术质量安全核心指标
  • 电子病历应用水平分级评价 — 4级要求手术信息全院共享
  • 《手术分级管理办法》— 手术分级授权管理
  • 《病案管理与质量控制标准》— 手术记录规范

二、状态流转

2.1 手术状态机

待申请(0) → 待审批(1) → 已审批(2) → 待手术(3) → 手术中(4) → 已完成(5)
                                    ↓              ↓
                                 已驳回(6)      已取消(7)
状态 触发条件 允许操作
待申请 0 医生提交手术申请 编辑/删除/提交审批
待审批 1 提交审批 审批/驳回
已审批 2 科主任审批通过 安排手术室/取消
待手术 3 安排手术室和时间 开始手术/取消
手术中 4 主刀医生确认开始 记录术中事件/完成
已完成 5 主刀医生确认完成 查看/打印记录
已驳回 6 科主任驳回 编辑后重新提交
已取消 7 任意阶段取消 查看

2.2 手术分级

级别 名称 审批权限 示例
一级 一级手术 住院医师可独立完成 阑尾切除术
二级 二级手术 主治医师以上 胃大部切除术
三级 三级手术 副主任医师以上 心脏搭桥术
四级 四级手术 科主任审批+医务部备案 器官移植术

三、业务规则

规则编号 规则名称 规则描述 触发时机
SR-001 手术分级权限校验 医生只能申请其权限范围内的手术级别 提交申请时
SR-002 术前讨论记录 三级/四级手术必须有术前讨论记录 提交审批时
SR-003 术前评估 必须完成麻醉评估和手术风险评估 安排手术时
SR-004 手术室冲突检查 同一手术室同一时间不能安排两台手术 安排手术室时
SR-005 术前禁食提醒 手术前8小时禁止进食4小时禁止饮水 手术前1天
SR-006 术后随访 手术后24h/48h/72h必须有随访记录 完成手术后
SR-007 手术安全核查 术前/术中/术后三次安全核查(WS/T 313) 手术各阶段

四、前后端交互时序

4.1 提交手术申请

用户操作: 医生点击"提交手术申请"
  → 前端: 校验表单(必填项+业务规则前端预检)
  → API: POST /clinical-manage/surgery/surgery
  → 后端: SurgeryController.addSurgery()
    → SurgeryAppService.addSurgery()
      → 校验手术分级权限(SR-001)
      → 校验三级/四级手术术前讨论(SR-002)
      → 设置状态=待申请(0)
      → 保存到数据库
  → 返回: {code:200, msg:"申请已提交"}
  → 前端: ElMessage.success → 刷新列表

4.2 安排手术室

用户操作: 护士长点击"安排手术"
  → 前端: 弹出安排弹窗(选择手术室/时间/麻醉医生)
  → API: PUT /clinical-manage/surgery/surgery (携带手术室+时间信息)
  → 后端: 校验手术室冲突(SR-004)
    → 校验术前评估完成(SR-003)
    → 更新状态=待手术(3)
  → 返回: {code:200, msg:"安排成功"}

4.3 开始/完成手术

用户操作: 主刀医生点击"开始手术"
  → API: PUT /clinical-manage/surgery/surgery-status?id=&statusEnum=4
  → 后端: 更新状态=手术中(4), 记录开始时间

用户操作: 主刀医生点击"完成手术"
  → API: PUT /clinical-manage/surgery/surgery-status?id=&statusEnum=5
  → 后端: 更新状态=已完成(5), 记录结束时间
    → 触发术后随访提醒(SR-006)

五、数据模型扩展

现有 SurgeryDto 需增加以下字段:

字段 类型 说明
surgeryLevel String 手术级别(1/2/3/4)
surgeryRoom String 手术室
anesthesiaType String 麻醉方式(全麻/局麻/脊麻/硬膜外)
preopDiagnosis String 术前诊断
postopDiagnosis String 术后诊断
startTime DateTime 实际开始时间
endTime DateTime 实际结束时间
complications String 并发症记录
bloodLoss Integer 术中出血量(ml)
specimenSent Boolean 是否送检标本

六、测试用例

用例编号 场景 操作步骤 预期结果
TC-S001 正常申请流程 医生提交→科主任审批→护士安排→手术完成 状态正确流转
TC-S002 越级申请拒绝 住院医师申请四级手术 返回权限不足错误
TC-S003 手术室冲突 同一时间安排两台手术到同一手术室 返回冲突提示
TC-S004 驳回后重新提交 科主任驳回→医生修改→重新提交 状态从驳回回到待审批
TC-S005 取消手术 已审批的手术点击取消 状态变为已取消
TC-S006 缺少术前讨论 三级手术无术前讨论记录直接提交 拦截并提示