铁律17: 禁止浅层糊弄,必须深度分析+深度设计 1. MD/specs/PREOP_DISCUSSION_DESIGN.md (290行) - 三甲硬性: 三级/四级手术必须有术前讨论记录 - 完整业务流程: 创建→签名→审核→绑定手术 - 10条业务规则(PD-001~PD-010) - 数据模型: 讨论记录表+参与者表 - 10个API接口 - 前端页面设计(左右布局弹窗) - 8个测试用例 2. MD/specs/INFORMED_CONSENT_DESIGN.md (161行) - 三甲硬性: 手术/麻醉/输血必须签署知情同意 - 7种知情同意类型 - 完整签署流程: 发起→编辑→医生签→患者签→归档 - 数据模型: 知情同意书表 - 8条业务规则(IC-001~IC-008) - 6个测试用例 3. MD/specs/PROGRESS_NOTES_DESIGN.md (210行) - 三甲硬性: 病程记录时限监控(首次8h/日常3天/上级查房72h) - 12种病程记录类型及时限要求 - 时限监控流程: 定时扫描→预警→通知→上报 - 数据模型: 病程记录表+提醒表 - 12条业务规则(PN-001~PN-012) - 前端设计: 时限监控面板 - 6个测试用例
291 lines
12 KiB
Markdown
291 lines
12 KiB
Markdown
# 术前讨论记录模块设计文档
|
||
|
||
> **文档类型**: 深度业务设计
|
||
> **版本**: 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小时内完成讨论" |
|
||
|