- 删除手术状态下拉框的重复字典数据,保留每组中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字段以完善审计信息 - 更新院感管理和评审保障模块的设计文档,明确各模块实现状态和缺失功能
7.6 KiB
7.6 KiB
住院模块整合方案
版本: 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 核心问题
- 命名误导:"增强"暗示是原版的升级,实际是并行的独立模块
- 功能重复:诊断、医嘱在两个入口都有,但实现和后端完全不同
- 体验割裂:住院增强的子模块没有统一患者选择器,每个模块手动输就诊ID
- 代码冗余:住院增强的诊断/医嘱是工作站的降级复制品
二、整合方案
2.1 设计原则
- 一个医生入口:医生的所有住院操作在一个页面完成
- 按角色分离:护士/收费员/管理员有独立入口
- 共享后端:同一业务逻辑只有一套后端接口
- 保留独立模块:手术管理、结算等独有功能保留为独立入口
2.2 目标架构
住院管理 (235)
├── 住院医生工作站 (288) ← 唯一的医生入口,保持现状
│ ├── 住院病历 (EMR)
│ ├── 诊断录入
│ ├── 临床医嘱
│ ├── 检验/检查/手术/输血申请
│ └── 报告查询
│
├── 住院护士工作站 (新建) ← 护士独立入口
│ ├── 护理记录
│ ├── 生命体征
│ └── 医嘱执行
│
├── 住院手术管理 (20228) ← 保留独立入口(独有功能)
│
├── 住院结算 (20222) ← 保留独立入口(独有功能)
├── 费用类型转换 (20223) ← 保留独立入口(独有功能)
│
└── 住院医生增强 (20171) ← 废弃,删除菜单
2.3 具体操作
第一步:废弃「住院医生增强」(0代码改动)
住院医生增强 只是 EMR 的快捷方式,医生工作站已有完整 EMR tab。
-- 停用菜单 20171(住院医生增强)及其子菜单 20172(住院病历)
UPDATE sys_menu SET status = 1, visible = 1 WHERE menu_id IN (20171, 20172);
影响:无。医生工作站的 EMR tab 不受影响。
第二步:废弃「住院增强」中的重复模块
| 子模块 | 操作 | 原因 |
|---|---|---|
| 住院诊断 (20224) | 停用 | 医生工作站诊断录入已完整覆盖(含诊断树、中医、食源性疾病) |
| 医嘱管理 (20226) | 停用 | 医生工作站临床医嘱已完整覆盖(含新增、签发、组套) |
| 住院病历 (20225) | 已停用 | 静态原型 |
-- 停用重复模块
UPDATE sys_menu SET status = 1, visible = 1 WHERE menu_id IN (20224, 20226);
第三步:保留「住院增强」中的独有模块
| 子模块 | 操作 | 原因 |
|---|---|---|
| 住院结算 (20222) | 保留 | 医生工作站没有结算功能 |
| 费用类型转换 (20223) | 保留 | 医生工作站没有此功能 |
| 住院手术 (20228) | 保留 | 医生工作站只有手术申请,没有手术管理(状态流转) |
第四步:清理「住院增强」目录结构
停用重复模块后,住院增强 目录下只剩 3 个有效子模块。考虑重命名目录为更准确的名称:
-- 重命名目录为更准确的名称
UPDATE sys_menu SET menu_name = '住院辅助功能', path = 'inHospitalAuxiliary'
WHERE menu_id = 20221;
三、对比详情
3.1 诊断模块对比
| 能力 | 医生工作站诊断 | 住院增强诊断 |
|---|---|---|
| 诊断树(ICD编码) | ✅ 树形选择 | ❌ 手动输入 |
| 中医诊断 | ✅ 完整支持 | ❌ 不支持 |
| 西医诊断 | ✅ 完整支持 | ✅ 基本支持 |
| 诊断排序 | ✅ 可调整 | ❌ 不支持 |
| 主诊断标记 | ✅ | ✅ |
| 食源性疾病上报 | ✅ 自动触发 | ❌ 不支持 |
| 历史/常用诊断 | ✅ 分类展示 | ❌ 不支持 |
| 患者选择 | ✅ 左侧患者列表 | ❌ 手动输就诊ID |
结论:住院增强诊断是医生工作站诊断的降级版,没有保留价值。
3.2 医嘱模块对比
| 能力 | 医生工作站医嘱 | 住院增强医嘱 |
|---|---|---|
| 新增医嘱 | ✅ 完整表单(药品/项目/用法/频次) | ❌ 不支持 |
| 签发处方 | ✅ | ❌ 不支持 |
| 组套管理 | ✅ | ❌ 不支持 |
| 历史医嘱 | ✅ | ✅ |
| 停嘱/恢复 | ✅ | ✅ |
| 签退 | ✅ | ✅ |
| 组合/拆组 | ✅ | ❌ 不支持 |
| 转科/出院 | ✅ | ❌ 不支持 |
| 费用性质选择 | ✅ | ❌ 不支持 |
| 患者选择 | ✅ 左侧患者列表 | ✅ 左侧患者列表 |
结论:住院增强医嘱只能看和停,不能开。是医生工作站的只读子集。
3.3 手术模块对比
| 能力 | 医生工作站 | 住院增强手术 |
|---|---|---|
| 手术申请 | ✅(作为申请单) | ❌ 不支持申请 |
| 手术管理 | ❌ 无 | ✅ 完整CRUD + 状态流转 |
| 手术排期 | ❌ 无 | ✅ 计划时间 |
| 状态流转 | ❌ 无 | ✅ 待手术→手术中→已完成 |
结论:两者是互补关系,不是重复。手术管理是独有功能,应保留。
四、后续优化建议(不在本次范围)
- 统一患者选择器:将
PatientList组件抽为全局共享,所有住院模块复用 - 护士工作站独立化:目前护理功能散落在医生工作站的 tab 中,应独立为护士入口
- 手术申请→手术管理联动:医生工作站的手术申请完成后,自动同步到手术管理模块
- 结算与医嘱联动:医嘱签发后自动计入费用,减少人工操作
五、执行清单
| 序号 | 操作 | 风险 | 验证 |
|---|---|---|---|
| 1 | 停用菜单 20171, 20172(住院医生增强) | 无 | 刷新侧边栏确认不显示 |
| 2 | 停用菜单 20224(住院诊断) | 低 | 确认无其他模块引用 |
| 3 | 停用菜单 20226(医嘱管理) | 低 | 确认无其他模块引用 |
| 4 | 重命名菜单 20221(住院增强→住院辅助功能) | 无 | 刷新侧边栏确认名称更新 |
| 5 | 清理已禁用模块的前端代码(可选) | 低 | 编译通过 |
⚠️ 所有操作通过 SQL 菜单调整,不涉及代码改动,可随时回滚。