# 住院模块整合方案 > 版本: 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 菜单调整,不涉及代码改动,可随时回滚。