- 删除手术状态下拉框的重复字典数据,保留每组中dict_code最小的记录 - 修复HisBaseEntity列缺失问题,为多个表添加create_by、update_by、update_time等基础字段 - 为adm_patient表添加邮政编码、户籍地址、监护人信息、患者来源等缺失字段 - 添加文化程度字典类型和相关字典数据,补充3919到3914等10个学历级别选项 - 为adm_patient_identifier表创建tenant_id和patient_id的联合索引以提升查询性能 - 修复prescription_intercept_log和clinical_pathway_execution表的基础实体字段缺失 - 为wor_device_request表增加医嘱退回相关的back_reason、performer_check_id等字段 - 创建EMPI核心表empi_person和empi_person_id_mapping用于全局患者主索引管理 - 为empi_merge_log表添加create_time字段以完善审计信息 - 更新院感管理和评审保障模块的设计文档,明确各模块实现状态和缺失功能
182 lines
7.6 KiB
Markdown
182 lines
7.6 KiB
Markdown
# 住院模块整合方案
|
||
|
||
> 版本: 1.0 | 日期: 2026-06-14 | 状态: 待确认
|
||
|
||
---
|
||
|
||
## 一、现状诊断
|
||
|
||
### 1.1 三个入口的实际内容
|
||
|
||
| 入口 | 菜单ID | 实际内容 | 代码量 | 后端 |
|
||
|------|--------|---------|--------|------|
|
||
| **住院医生工作站** | 288 | 8个tab集成:EMR + 诊断 + 医嘱 + 检验/检查/手术/输血申请 + 报告 | 诊断1072行 + 医嘱2971行 + EMR1139行 | `doctor-station/*` `reg-doctorstation/*` `document/*` |
|
||
| **住院医生增强** | 20171 | 只有1个子菜单:住院病历(EMR) | 和工作站共用同一个emr/index.vue | `document/*` |
|
||
| **住院增强** | 20221 | 6个独立子模块(1个已禁用) | 各模块独立代码 | 混用多套后端 |
|
||
|
||
### 1.2 住院增强子模块完成度
|
||
|
||
| 子模块 | 状态 | 实际功能 | 后端接口 | 与工作站重叠度 |
|
||
|--------|------|---------|---------|--------------|
|
||
| 住院结算 | 可用 | 完整结算流程(中途/出院/取消) | `/in-hospital-charge/*` | **无重叠**(工作站没有) |
|
||
| 费用类型转换 | 可用 | 费用性质转换 | `/in-hospital-charge/*` | **无重叠**(工作站没有) |
|
||
| 住院诊断 | 可用 | 简易CRUD(手输就诊ID,无诊断树) | `/inpatient-manage/diagnosis/*` | **高重叠**(工作站有完整版) |
|
||
| ~~住院病历~~ | 已禁用 | 静态假数据原型 | 无 | 已禁用 |
|
||
| 医嘱管理 | 可用 | 只读 + 停嘱/恢复/签退 | `/reg-doctorstation/*` | **高重叠**(工作站有完整版) |
|
||
| 住院手术 | 可用 | 完整CRUD + 状态流转 | `/clinical-manage/surgery/*` | **无重叠**(工作站只有手术申请) |
|
||
|
||
### 1.3 核心问题
|
||
|
||
1. **命名误导**:"增强"暗示是原版的升级,实际是**并行的独立模块**
|
||
2. **功能重复**:诊断、医嘱在两个入口都有,但实现和后端完全不同
|
||
3. **体验割裂**:住院增强的子模块没有统一患者选择器,每个模块手动输就诊ID
|
||
4. **代码冗余**:住院增强的诊断/医嘱是工作站的**降级复制品**
|
||
|
||
---
|
||
|
||
## 二、整合方案
|
||
|
||
### 2.1 设计原则
|
||
|
||
- **一个医生入口**:医生的所有住院操作在一个页面完成
|
||
- **按角色分离**:护士/收费员/管理员有独立入口
|
||
- **共享后端**:同一业务逻辑只有一套后端接口
|
||
- **保留独立模块**:手术管理、结算等独有功能保留为独立入口
|
||
|
||
### 2.2 目标架构
|
||
|
||
```
|
||
住院管理 (235)
|
||
├── 住院医生工作站 (288) ← 唯一的医生入口,保持现状
|
||
│ ├── 住院病历 (EMR)
|
||
│ ├── 诊断录入
|
||
│ ├── 临床医嘱
|
||
│ ├── 检验/检查/手术/输血申请
|
||
│ └── 报告查询
|
||
│
|
||
├── 住院护士工作站 (新建) ← 护士独立入口
|
||
│ ├── 护理记录
|
||
│ ├── 生命体征
|
||
│ └── 医嘱执行
|
||
│
|
||
├── 住院手术管理 (20228) ← 保留独立入口(独有功能)
|
||
│
|
||
├── 住院结算 (20222) ← 保留独立入口(独有功能)
|
||
├── 费用类型转换 (20223) ← 保留独立入口(独有功能)
|
||
│
|
||
└── 住院医生增强 (20171) ← 废弃,删除菜单
|
||
```
|
||
|
||
### 2.3 具体操作
|
||
|
||
#### 第一步:废弃「住院医生增强」(0代码改动)
|
||
|
||
`住院医生增强` 只是 EMR 的快捷方式,医生工作站已有完整 EMR tab。
|
||
|
||
```sql
|
||
-- 停用菜单 20171(住院医生增强)及其子菜单 20172(住院病历)
|
||
UPDATE sys_menu SET status = 1, visible = 1 WHERE menu_id IN (20171, 20172);
|
||
```
|
||
|
||
**影响**:无。医生工作站的 EMR tab 不受影响。
|
||
|
||
#### 第二步:废弃「住院增强」中的重复模块
|
||
|
||
| 子模块 | 操作 | 原因 |
|
||
|--------|------|------|
|
||
| 住院诊断 (20224) | 停用 | 医生工作站诊断录入已完整覆盖(含诊断树、中医、食源性疾病) |
|
||
| 医嘱管理 (20226) | 停用 | 医生工作站临床医嘱已完整覆盖(含新增、签发、组套) |
|
||
| 住院病历 (20225) | 已停用 | 静态原型 |
|
||
|
||
```sql
|
||
-- 停用重复模块
|
||
UPDATE sys_menu SET status = 1, visible = 1 WHERE menu_id IN (20224, 20226);
|
||
```
|
||
|
||
#### 第三步:保留「住院增强」中的独有模块
|
||
|
||
| 子模块 | 操作 | 原因 |
|
||
|--------|------|------|
|
||
| 住院结算 (20222) | 保留 | 医生工作站没有结算功能 |
|
||
| 费用类型转换 (20223) | 保留 | 医生工作站没有此功能 |
|
||
| 住院手术 (20228) | 保留 | 医生工作站只有手术申请,没有手术管理(状态流转) |
|
||
|
||
#### 第四步:清理「住院增强」目录结构
|
||
|
||
停用重复模块后,`住院增强` 目录下只剩 3 个有效子模块。考虑重命名目录为更准确的名称:
|
||
|
||
```sql
|
||
-- 重命名目录为更准确的名称
|
||
UPDATE sys_menu SET menu_name = '住院辅助功能', path = 'inHospitalAuxiliary'
|
||
WHERE menu_id = 20221;
|
||
```
|
||
|
||
---
|
||
|
||
## 三、对比详情
|
||
|
||
### 3.1 诊断模块对比
|
||
|
||
| 能力 | 医生工作站诊断 | 住院增强诊断 |
|
||
|------|--------------|------------|
|
||
| 诊断树(ICD编码) | ✅ 树形选择 | ❌ 手动输入 |
|
||
| 中医诊断 | ✅ 完整支持 | ❌ 不支持 |
|
||
| 西医诊断 | ✅ 完整支持 | ✅ 基本支持 |
|
||
| 诊断排序 | ✅ 可调整 | ❌ 不支持 |
|
||
| 主诊断标记 | ✅ | ✅ |
|
||
| 食源性疾病上报 | ✅ 自动触发 | ❌ 不支持 |
|
||
| 历史/常用诊断 | ✅ 分类展示 | ❌ 不支持 |
|
||
| 患者选择 | ✅ 左侧患者列表 | ❌ 手动输就诊ID |
|
||
|
||
**结论**:住院增强诊断是医生工作站诊断的**降级版**,没有保留价值。
|
||
|
||
### 3.2 医嘱模块对比
|
||
|
||
| 能力 | 医生工作站医嘱 | 住院增强医嘱 |
|
||
|------|--------------|------------|
|
||
| 新增医嘱 | ✅ 完整表单(药品/项目/用法/频次) | ❌ 不支持 |
|
||
| 签发处方 | ✅ | ❌ 不支持 |
|
||
| 组套管理 | ✅ | ❌ 不支持 |
|
||
| 历史医嘱 | ✅ | ✅ |
|
||
| 停嘱/恢复 | ✅ | ✅ |
|
||
| 签退 | ✅ | ✅ |
|
||
| 组合/拆组 | ✅ | ❌ 不支持 |
|
||
| 转科/出院 | ✅ | ❌ 不支持 |
|
||
| 费用性质选择 | ✅ | ❌ 不支持 |
|
||
| 患者选择 | ✅ 左侧患者列表 | ✅ 左侧患者列表 |
|
||
|
||
**结论**:住院增强医嘱只能看和停,不能开。是医生工作站的**只读子集**。
|
||
|
||
### 3.3 手术模块对比
|
||
|
||
| 能力 | 医生工作站 | 住院增强手术 |
|
||
|------|-----------|------------|
|
||
| 手术申请 | ✅(作为申请单) | ❌ 不支持申请 |
|
||
| 手术管理 | ❌ 无 | ✅ 完整CRUD + 状态流转 |
|
||
| 手术排期 | ❌ 无 | ✅ 计划时间 |
|
||
| 状态流转 | ❌ 无 | ✅ 待手术→手术中→已完成 |
|
||
|
||
**结论**:两者是**互补关系**,不是重复。手术管理是独有功能,应保留。
|
||
|
||
---
|
||
|
||
## 四、后续优化建议(不在本次范围)
|
||
|
||
1. **统一患者选择器**:将 `PatientList` 组件抽为全局共享,所有住院模块复用
|
||
2. **护士工作站独立化**:目前护理功能散落在医生工作站的 tab 中,应独立为护士入口
|
||
3. **手术申请→手术管理联动**:医生工作站的手术申请完成后,自动同步到手术管理模块
|
||
4. **结算与医嘱联动**:医嘱签发后自动计入费用,减少人工操作
|
||
|
||
---
|
||
|
||
## 五、执行清单
|
||
|
||
| 序号 | 操作 | 风险 | 验证 |
|
||
|------|------|------|------|
|
||
| 1 | 停用菜单 20171, 20172(住院医生增强) | 无 | 刷新侧边栏确认不显示 |
|
||
| 2 | 停用菜单 20224(住院诊断) | 低 | 确认无其他模块引用 |
|
||
| 3 | 停用菜单 20226(医嘱管理) | 低 | 确认无其他模块引用 |
|
||
| 4 | 重命名菜单 20221(住院增强→住院辅助功能) | 无 | 刷新侧边栏确认名称更新 |
|
||
| 5 | 清理已禁用模块的前端代码(可选) | 低 | 编译通过 |
|
||
|
||
> ⚠️ 所有操作通过 SQL 菜单调整,不涉及代码改动,可随时回滚。 |