铁律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: +消息路由校验 +消息轨迹 +死信队列处理
92 lines
3.1 KiB
Markdown
92 lines
3.1 KiB
Markdown
# 医嘱管理模块设计文档
|
|
|
|
> **文档类型**: 业务设计
|
|
> **版本**: v1.0
|
|
> **编制日期**: 2026-06-06
|
|
> **依据标准**: 《三级医院评审标准(2022版)》医嘱管理制度
|
|
|
|
---
|
|
|
|
## 一、业务背景
|
|
|
|
医嘱管理是住院诊疗的核心环节。依据《病历书写基本规范》和《处方管理办法》,医嘱必须经过开具→审核→执行→完成的完整闭环。
|
|
|
|
---
|
|
|
|
## 二、状态流转
|
|
|
|
### 2.1 医嘱状态机
|
|
|
|
```
|
|
新开(0) → 已签发(1) → 执行中(2) → 已完成(3)
|
|
↓
|
|
已停止(4) → 已取消停嘱(恢复)(2)
|
|
↓
|
|
已签退(5)
|
|
```
|
|
|
|
| 状态 | 值 | 触发条件 | 允许操作 |
|
|
|------|-----|---------|---------|
|
|
| 新开 | 0 | 医生新开医嘱 | 签发/删除 |
|
|
| 已签发 | 1 | 医生签发 | 护士执行/签退 |
|
|
| 执行中 | 2 | 护士开始执行 | 停止/完成 |
|
|
| 已完成 | 3 | 执行完毕 | 查看 |
|
|
| 已停止 | 4 | 医生停止医嘱 | 恢复(取消停嘱) |
|
|
| 已签退 | 5 | 护士签退 | 查看 |
|
|
|
|
---
|
|
|
|
## 三、业务规则
|
|
|
|
| 规则编号 | 规则名称 | 规则描述 | 触发时机 |
|
|
|---------|---------|---------|---------|
|
|
| OR-001 | 长期医嘱停止时限 | 长期医嘱停止必须在执行时间之前2小时 | 停止医嘱时 |
|
|
| OR-002 | 用药医嘱审核 | 用药医嘱必须经过合理用药系统审核 | 签发用药医嘱时 |
|
|
| OR-003 | 医嘱查对 | 执行医嘱前必须双人查对 | 护士执行时 |
|
|
| OR-004 | 紧急医嘱标识 | 紧急医嘱需要特殊标识和优先执行 | 开具医嘱时 |
|
|
| OR-005 | 医嘱修改限制 | 已签发的医嘱不能修改,只能停止后新开 | 修改医嘱时 |
|
|
| OR-006 | 皮试医嘱联动 | 需要皮试的药物必须关联皮试医嘱 | 开具需皮试药物时 |
|
|
|
|
---
|
|
|
|
## 四、前后端交互时序
|
|
|
|
### 4.1 签发医嘱
|
|
```
|
|
用户操作: 医生点击"签发医嘱"
|
|
→ 前端: 收集选中医嘱列表
|
|
→ API: POST /reg-doctorstation/advice-manage/sign-reg-advice
|
|
→ 后端: AdviceManageController.signRegAdvice()
|
|
→ 校验医嘱状态必须为"新开"(OR-005)
|
|
→ 用药医嘱调用合理用药系统审核(OR-002)
|
|
→ 设置签发时间+签发人
|
|
→ 更新状态=已签发(1)
|
|
→ 返回: {code:200, msg:"签发成功"}
|
|
→ 前端: 刷新医嘱列表
|
|
```
|
|
|
|
### 4.2 停止医嘱
|
|
```
|
|
用户操作: 医生点击"停止医嘱"
|
|
→ 前端: 弹出确认框+填写停嘱原因
|
|
→ API: POST /reg-doctorstation/advice-manage/stop-reg-advice
|
|
→ 后端: 校验医嘱状态必须为"执行中"
|
|
→ 长期医嘱校验停止时限(OR-001)
|
|
→ 设置停嘱时间+停嘱原因
|
|
→ 更新状态=已停止(4)
|
|
→ 返回: {code:200, msg:"停嘱成功"}
|
|
```
|
|
|
|
---
|
|
|
|
## 五、测试用例
|
|
|
|
| 用例编号 | 场景 | 预期结果 |
|
|
|---------|------|---------|
|
|
| TC-O001 | 正常签发流程 | 新开→签发→执行→完成 |
|
|
| TC-O002 | 签发后修改 | 返回"已签发医嘱不能修改" |
|
|
| TC-O003 | 停止后恢复 | 已停止→恢复→执行中 |
|
|
| TC-O004 | 用药审核拦截 | 有相互作用的药物签发时被拦截 |
|
|
| TC-O005 | 紧急医嘱优先 | 紧急医嘱在列表中高亮显示 |
|
|
|