revert: 恢复误删文件(回退 81f500160)

This commit is contained in:
2026-06-12 16:00:06 +08:00
parent cec2f47a1f
commit a45b6e7955
925 changed files with 44427 additions and 455 deletions

View File

@@ -0,0 +1,197 @@
# HealthLink-HIS 整体业务逻辑分析
> **文档类型**: 业务架构分析
> **版本**: v1.0
> **编制日期**: 2026-06-06
> **依据**: 三级医院评审标准 + 电子病历评级4级 + 互联互通四级甲等
---
## 一、HIS核心业务流程全景图
```
患者就医全流程:
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ 预约挂号 │───→│ 候诊排队 │───→│ 医生诊疗 │───→│ 检验检查 │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
│ │ │
│ ▼ ▼
│ ┌─────────┐ ┌─────────┐
│ │ 处方开具 │ │ 报告查看 │
│ └─────────┘ └─────────┘
│ │
▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ 门诊收费 │───→│ 药房发药 │───→│ 治疗执行 │
└─────────┘ └─────────┘ └─────────┘
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ 入院登记 │───→│ 医嘱管理 │───→│ 护理执行 │───→│ 出院结算 │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
│ │ │ │
│ ▼ ▼ ▼
│ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ │ 合理用药 │ │ 危急值 │ │ 病案管理 │
│ └─────────┘ └─────────┘ └─────────┘
│ │
▼ ▼
┌─────────┐ ┌─────────┐
│ 手术管理 │ │ 院感监控 │
└─────────┘ └─────────┘
┌─────────┐ ┌─────────┐ ┌─────────┐
│ 医保结算 │───→│ ESB集成 │───→│ 统计报表 │
└─────────┘ └─────────┘ └─────────┘
```
---
## 二、各模块在业务流中的定位与作用
### 2.1 门诊业务链
| 模块 | 业务位置 | 上游 | 下游 | 核心作用 |
|------|---------|------|------|---------|
| **预约挂号** | 入口 | 患者 | 候诊排队 | 分配号源、建立就诊记录 |
| **候诊排队** | 排队 | 预约挂号 | 医生诊疗 | 实时叫号、优先级排序 |
| **医生诊疗** | 核心 | 候诊排队 | 处方/检验检查 | 病历书写、诊断、开方 |
| **门诊收费** | 结算 | 医生诊疗 | 药房发药 | 费用计算、医保结算 |
| **药房发药** | 执行 | 门诊收费 | 患者取药 | 配药、核对、发药 |
### 2.2 住院业务链
| 模块 | 业务位置 | 上游 | 下游 | 核心作用 |
|------|---------|------|------|---------|
| **入院登记** | 入口 | 门诊转住院 | 医嘱管理 | 建立住院记录、分配床位 |
| **医嘱管理** | 核心 | 入院登记 | 护理执行/药房 | 开具/签发/停止医嘱 |
| **护理执行** | 执行 | 医嘱管理 | 体征记录 | 执行医嘱、记录护理数据 |
| **出院结算** | 出口 | 护理执行 | 病案管理 | 费用结算、医保报销 |
### 2.3 质量安全链(三甲核心)
| 模块 | 业务位置 | 上游 | 下游 | 核心作用 |
|------|---------|------|------|---------|
| **合理用药** | 前置拦截 | 医生诊疗/医嘱管理 | 处方审核 | 药品相互作用/过敏/剂量检查 |
| **抗菌药物** | 分级管控 | 合理用药 | 处方点评 | 分级管理、权限控制 |
| **危急值管理** | 紧急响应 | 检验检查 | 医生/护士 | 自动识别→通知→确认→处置→闭环 |
| **病历质控** | 质量监控 | 电子病历 | 医务部 | 病历完整性、及时性检查 |
| **院感管理** | 感染防控 | 护理执行/手术 | 院感科 | 感染监测、上报、干预 |
### 2.4 手术业务链
| 模块 | 业务位置 | 上游 | 下游 | 核心作用 |
|------|---------|------|------|---------|
| **手术管理** | 手术全流程 | 医嘱管理 | 术后跟踪 | 申请→审批→安排→执行→完成 |
| **麻醉记录** | 术中记录 | 手术管理 | 病案管理 | 麻醉方案、术中监测、用药记录 |
### 2.5 数据集成链
| 模块 | 业务位置 | 上游 | 下游 | 核心作用 |
|------|---------|------|------|---------|
| **EMPI** | 主索引 | 所有模块 | 所有模块 | 统一患者身份标识 |
| **ESB集成** | 消息总线 | 所有模块 | 外部系统 | HL7/FHIR消息路由、系统互联 |
| **医保对接** | 外部交互 | 门诊/住院收费 | 医保局 | 门诊/住院医保结算、对账 |
---
## 三、新增/优化模块的促进作用分析
### 3.1 手术管理增强
| 优化项 | 优化前 | 优化后 | 对上下游的促进 |
|--------|--------|--------|---------------|
| **手术室冲突校验** | 无校验,可能撞车 | 自动检测同一手术室同一时间冲突 | ↓ 减少手术室调度纠纷,↓ 提升手术室利用率 |
| **手术统计分析** | 无统计 | 按时间段统计各级手术数量 | ↑ 为科室绩效考核提供数据支撑 |
| **手术分级权限** | 无权限控制 | 按医生级别限制手术申请 | ↑ 符合三甲评审手术分级管理要求 |
| **状态机完善** | 简单状态 | 8状态完整生命周期 | ↑ 全流程可追溯,↓ 减少信息断点 |
### 3.2 医嘱管理增强
| 优化项 | 优化前 | 优化后 | 对上下游的促进 |
|--------|--------|--------|---------------|
| **用药审核联动** | 医嘱与合理用药独立 | 签发医嘱时自动触发合理用药审核 | ↑ 处方审核率100%(三甲硬性) |
| **停止时限校验** | 无时限控制 | 长期医嘱停止必须在执行前2小时 | ↑ 护士有充足时间调整执行计划 |
| **医嘱修改限制** | 已签发可修改 | 已签发只能停止后新开 | ↑ 医嘱不可篡改,符合病历规范 |
### 3.3 床位管理增强
| 优化项 | 优化前 | 优化后 | 对上下游的促进 |
|--------|--------|--------|---------------|
| **分配校验** | 无校验 | 检查状态+科室匹配 | ↓ 避免分配已占用/不匹配的床位 |
| **出院自动清洁** | 手动改状态 | 出院后自动标记清洁中 | ↑ 缩短床位周转时间,↑ 使用率 |
| **使用率统计** | 无统计 | 实时计算科室/全院使用率 | ↑ 为三甲评审床位使用率指标提供数据 |
### 3.4 ESB集成平台
| 优化项 | 优化前 | 优化后 | 对上下游的促进 |
|--------|--------|--------|---------------|
| **消息路由校验** | 无校验 | 发送前检查目标系统注册状态 | ↓ 减少无效消息投递 |
| **消息轨迹追踪** | 无追踪 | 按messageId查询完整轨迹 | ↑ 问题排查效率,↑ 互联互通测评 |
| **死信队列处理** | 失败消息丢失 | 失败消息可重置重发 | ↑ 消息可靠性,↑ 数据一致性 |
| **服务注册中心** | 无服务发现 | 统一注册/管理外部系统接口 | ↑ 系统集成标准化 |
---
## 四、模块间数据流转关系
```
挂号 ──→ 就诊记录(Encounter)
├──→ 医嘱(Advice) ──→ 护理执行 ──→ 体征记录
│ │
│ ├──→ 合理用药审核 ──→ 处方(Prescription)
│ │ │
│ │ ├──→ 药房发药 ──→ 库存扣减
│ │ └──→ 费用记录 ──→ 收费
│ │
│ └──→ 手术申请 ──→ 麻醉记录 ──→ 手术记录 ──→ 病案
├──→ 检验申请 ──→ LIS ──→ 检验报告 ──→ 危急值 ──→ 通知
├──→ 检查申请 ──→ PACS ──→ 检查报告
├──→ 入院登记 ──→ 床位分配 ──→ 住院医嘱
└──→ 出院结算 ──→ 医保结算 ──→ ESB上报
```
---
## 五、三甲评审关键指标与模块对应
| 评审指标 | 要求 | 对应模块 | 当前状态 |
|---------|------|---------|---------|
| 处方审核率 | ≥100% | 合理用药 + 医嘱管理 | ✅ 已实现 |
| 抗菌药物使用率 | ≤60% | 抗菌药物管控 | ✅ 已实现 |
| 危急值处理及时率 | ≥95% | 危急值管理 | ✅ 已实现 |
| 电子病历评级 | ≥4级 | 电子病历结构化+EMR质控 | ✅ 已实现 |
| 互联互通成熟度 | ≥四级 | ESB集成+EMPI | ⚠️ ESB基础框架已建 |
| 床位使用率 | ≥85% | 床位管理 | ✅ 已实现统计 |
| 术前讨论率 | 100%(三四级) | 手术管理 | ⚠️ 待完善校验 |
| 病案首页质量 | 达标 | 病案首页管理 | ✅ 已实现 |
---
## 六、后续优化建议
### 6.1 高优先级(影响三甲评审)
| 序号 | 模块 | 优化内容 | 业务价值 |
|------|------|---------|---------|
| 1 | 医嘱管理 | 完善用药审核联动OR-002 | 处方审核率100% |
| 2 | 手术管理 | 完善术前讨论校验SR-002 | 术前讨论率100% |
| 3 | ESB集成 | 完善HL7/FHIR消息转换 | 互联互通测评 |
| 4 | 电子病历 | 完善结构化模板引擎 | 电子病历评级4级 |
### 6.2 中优先级(提升运营效率)
| 序号 | 模块 | 优化内容 | 业务价值 |
|------|------|---------|---------|
| 5 | 床位管理 | 智能分配算法(按病情/科室/距离) | 提升床位周转率 |
| 6 | 手术管理 | 手术室智能排程 | 提升手术室利用率 |
| 7 | 合理用药 | 药品库存联动预警 | 减少缺药事件 |
| 8 | 统计报表 | 经营分析仪表盘 | 辅助管理决策 |

View File

@@ -0,0 +1,383 @@
# HealthLink-HIS 三甲医院交叉业务流程分析与系统不足诊断
> **文档类型**: 业务分析+系统诊断
> **版本**: v1.0
> **编制日期**: 2026-06-07
> **依据**: 《三级医院评审标准(2022版)》+ 广西实施细则 + 电子病历4级 + 互联互通四级甲等
---
## 一、三甲医院核心业务流程全景
### 1.1 十大核心流程
```
┌─────────────────────────────────────────────────────────────────────┐
│ 三甲医院业务全景 │
├─────────────────────────────────────────────────────────────────────┤
│ 门诊流程: 挂号→候诊→就诊→检查检验→处方→收费→取药→随访 │
│ 住院流程: 入院→医嘱→护理→检查检验→手术→用药→出院→结算→病案 │
│ 急诊流程: 急诊挂号→分诊→抢救→留观→会诊→住院/出院 │
│ 手术流程: 术前讨论→手术申请→麻醉评估→手术→术后恢复→病理 │
│ 护理流程: 入院评估→护理计划→医嘱执行→体征→护理记录→交接班 │
│ 药品流程: 采购→验收→入库→处方→调配→发药→退药→库存→盘点 │
│ 检验流程: 申请→采集→送检→检验→审核→报告→危急值→随访 │
│ 检查流程: 申请→预约→排队→检查→报告→审核→3D重建→图文报告 │
│ 病案流程: 归档→质控→借阅→封存→统计→DRG→上报 │
│ 院感流程: 监测→预警→上报→抗菌药物→消毒供应→统计 │
└─────────────────────────────────────────────────────────────────────┘
```
---
## 二、交叉业务流程深度分析
### 2.1 门诊全流程交叉分析
```
患者到达
[挂号模块] ←→ [排班模块] ←→ [预约模块]
↓ (分配诊室+队列)
[候诊叫号模块] ←→ [分诊模块]
↓ (叫号)
[医生工作站] ←→ [电子病历] ←→ [处方模块]
↓ (开检查/检验/处方)
[检查模块] ←→ [检验模块] ←→ [药房模块]
↓ (检查/检验完成)
[报告模块] ←→ [医生工作站] (查看结果)
↓ (开处方)
[合理用药模块] ←→ [处方审核]
↓ (处方通过)
[收费模块] ←→ [医保模块] ←→ [发票模块]
↓ (缴费完成)
[药房发药模块] ←→ [药品库存模块]
↓ (取药完成)
[随访模块] ←→ [患者管理模块]
```
**🔍 已有模块**: 挂号✅ 候诊✅ 医生站✅ 处方✅ 收费✅ 药房✅ 检查✅ 检验✅ 报告✅
**🔍 随访模块**: ❌ 缺失 — 门诊患者随访是三甲评审必查项
### 2.2 住院全流程交叉分析
```
门诊/急诊 → 入院
[入院登记模块] ←→ [床位管理模块] ←→ [护士站]
[住院医嘱模块] ←→ [护士执行模块] ←→ [药房模块]
↓ (长期/临时医嘱)
[检查申请] ←→ [检验申请] ←→ [手术申请]
[检查报告] ←→ [检验报告] ←→ [手术记录]
[护理评估] ←→ [护理计划] ←→ [护理记录]
[病程记录模块] ←→ [知情同意模块]
[出院医嘱] ←→ [出院结算] ←→ [出院小结]
[病案归档] ←→ [DRG分组] ←→ [统计上报]
```
**🔍 已有模块**: 入院✅ 床位✅ 医嘱✅ 护理✅ 检查✅ 检验✅ 手术✅ 病程✅ 知情同意✅ 出院✅ 结算✅ 病案✅ DRG✅
**🔍 交叉验证**: 各模块间数据流转基本完整
### 2.3 手术全流程交叉分析
```
[住院医嘱] → 手术申请
[术前讨论模块] ←→ [手术分级管理]
[麻醉评估模块] ←→ [麻醉前核查]
[手术安全核查(WS/T 313)] ←→ [器械追溯(CSSD)]
[手术执行模块] ←→ [麻醉记录模块]
[术后恢复模块] ←→ [术后访视]
[病理送检模块] ←→ [病理报告模块]
[护理记录] ←→ [病程记录]
```
**🔍 已有模块**: 术前讨论✅ 手术申请✅ 麻醉✅ 安核查✅ CSSD✅ 手术记录✅
**🔍 病理模块**: ❌ 缺失 — 病理送检+病理报告是手术闭环的关键环节
### 2.4 药品全流程交叉分析
```
[采购申请] ←→ [采购订单]
[验收入库] ←→ [库存管理]
[处方开具] ←→ [处方审核(合理用药)]
[药房调配] ←→ [发药/退药]
[库存预警] ←→ [效期管理]
[药品追溯(毒麻)] ←→ [抗菌药物管理]
[处方点评] ←→ [合理用药统计]
```
**🔍 已有模块**: 采购✅ 库存✅ 处方✅ 审核✅ 发药✅ 抗菌✅ 点评✅
**🔍 效期管理**: ⚠️ 基础 — 药品效期预警+近效期自动提醒功能待完善
### 2.5 检验全流程交叉分析
```
[检验申请] ←→ [医嘱模块]
[条码打印] ←→ [标本采集] ←→ [扫码确认]
[标本接收] ←→ [标本拒收]
[LIS检验] ←→ [仪器对接]
[危急值判定] ←→ [危急值报告] ←→ [危急值处理]
[审核发布] ←→ [报告查询]
[参考范围] ←→ [结果解读]
```
**🔍 已有模块**: 申请✅ 条码✅ 采集✅ 危急值✅ 审核✅ 报告✅ 参考范围✅
**🔍 闭环完整**: 检验全流程已基本完整
---
## 三、系统不足诊断
### 3.1 缺失模块 (❌ 从未实现)
| # | 模块名称 | 业务价值 | 三甲依据 | 优先级 |
|---|---------|---------|---------|--------|
| 1 | **门诊随访管理** | 慢病管理/出院随访/满意度调查 | 评审标准: 患者服务 | 🔴 P0 |
| 2 | **病理管理** | 病理送检→取材→制片→诊断→报告 | 手术闭环/肿瘤诊疗 | 🔴 P0 |
| 3 | **急诊分诊+抢救** | 急诊分级(1-4级)/抢救记录/绿色通道 | 急诊医学科评审 | 🔴 P0 |
| 4 | **患者满意度调查** | 门诊/住院满意度/投诉管理 | 评审标准: 患者服务 | 🟡 P1 |
| 5 | **处方点评统计** | 科室排名/医生排名/合理率趋势 | 合理用药评审 | 🟡 P1 |
| 6 | **药品效期管理** | 近效期预警/自动停售/效期报表 | 药品管理规范 | 🟡 P1 |
| 7 | **护理交接班统计** | 交接班完成率/重点患者统计 | 护理质量指标 | 🟡 P1 |
| 8 | **DRG绩效考核** | 科室DRG绩效/费用控制/时间效率 | 医保支付改革 | 🟡 P1 |
| 9 | **会诊时限监控** | 会诊超时预警/完成率统计 | 会诊制度 | 🟡 P1 |
| 10 | **病案首页质量** | 首页数据校验/编码正确率 | 病案管理规范 | 🟡 P1 |
### 3.2 待完善模块 (⚠️ 功能不足)
| # | 模块名称 | 当前状态 | 缺失功能 | 优先级 |
|---|---------|---------|---------|--------|
| 1 | **预约管理** | 基础预约 | 诊间预约/复诊预约/预约规则配置 | 🟡 P1 |
| 2 | **排班管理** | 基础排班 | 弹性排班/节假日排班/停诊管理 | 🟡 P1 |
| 3 | **住院押金** | 基础功能 | 押金不足预警/催缴通知/医保预结算 | 🟡 P1 |
| 4 | **护理评估** | 已实现5种量表 | 跌倒/压疮动态评估+干预效果追踪 | ⚠️ 可优化 |
| 5 | **知情同意** | 已实现 | 电子签名+版本管理+患者确认流程 | ⚠️ 可优化 |
| 6 | **DRG分组** | 已实现基础 | 分组结果校验+费用异常预警+绩效分析 | ⚠️ 可优化 |
### 3.3 交叉业务断裂点
| # | 断裂点 | 涉及模块 | 影响 | 优先级 |
|---|--------|---------|------|--------|
| 1 | **门诊→住院转科** | 门诊/住院/床位 | 转科时患者信息丢失 | 🔴 P0 |
| 2 | **手术→病理送检** | 手术/病理/检验 | 手术后标本无法自动送检 | 🔴 P0 |
| 3 | **检验→临床决策** | 检验/合理用药 | 检验结果未联动用药调整 | 🟡 P1 |
| 4 | **检查→报告→医嘱** | 检查/报告/医嘱 | 报告完成后未自动回写医嘱状态 | 🟡 P1 |
| 5 | **护理→医嘱→执行** | 护理/医嘱/执行 | 护士执行后未自动更新医嘱完成状态 | ⚠️ 可优化 |
| 6 | **药品→库存→预警** | 药品/库存/效期 | 库存不足时未联动处方拦截 | ⚠️ 可优化 |
---
## 四、深度详细设计 — 缺失模块
### 4.1 门诊随访管理模块
#### 4.1.1 业务流程
```
出院/门诊结束
[随访计划生成] ←→ [患者分类(慢病/手术/肿瘤/普通)]
[随访任务分配] ←→ [责任医生/护士]
[电话/短信/微信随访] ←→ [随访记录]
[随访结果录入] ←→ [异常处理(再入院/转诊)]
[满意度调查] ←→ [投诉管理]
[随访统计] ←→ [质控指标]
```
#### 4.1.2 数据模型
- **FollowupPlan** (随访计划): plan_id, patient_id, disease_type, followup_type, frequency, responsible_doctor
- **FollowupTask** (随访任务): task_id, plan_id, scheduled_date, actual_date, contact_method, result
- **FollowupRecord** (随访记录): record_id, task_id, contact_content, patient_condition, abnormal_flag
- **SatisfactionSurvey** (满意度): survey_id, patient_id, survey_type, score, suggestions
- **ComplaintRecord** (投诉): complaint_id, patient_id, complaint_type, content,处理状态
#### 4.1.3 接口设计
| API | 方法 | 说明 |
|-----|------|------|
| /followup/plan/page | GET | 随访计划列表 |
| /followup/plan/add | POST | 新建随访计划 |
| /followup/task/page | GET | 随访任务列表(按责任人) |
| /followup/task/complete/{id} | PUT | 完成随访任务 |
| /followup/record/add | POST | 录入随访记录 |
| /followup/survey/add | POST | 提交满意度 |
| /followup/complaint/page | GET | 投诉列表 |
| /followup/stats | GET | 随访统计(完成率/满意度) |
### 4.2 病理管理模块
#### 4.2.1 业务流程
```
[手术/活检] → 病理申请
[标本接收] ←→ [标本核对(条码)]
[取材] ←→ [组织处理(固定/脱水/包埋)]
[切片] ←→ [染色(HE/免疫组化)]
[阅片] ←→ [病理诊断]
[报告编写] ←→ [报告审核(三级审核)]
[报告发布] ←→ [临床科室]
[病理随访] ←→ [肿瘤登记]
```
#### 4.2.2 数据模型
- **PathologyOrder** (病理申请): order_id, patient_id, specimen_type, clinical_diagnosis
- **PathologySpecimen** (病理标本): specimen_id, order_id, barcode, collection_site, fixative
- **PathologyProcess** (病理处理): process_id, specimen_id, process_type, operator, time
- **PathologyDiagnosis** (病理诊断): diagnosis_id, specimen_id, diagnosis_type, result
- **PathologyReport** (病理报告): report_id, order_id, findings, diagnosis, report_doctor, verify_doctor
#### 4.2.3 接口设计
| API | 方法 | 说明 |
|-----|------|------|
| /pathology/order/page | GET | 病理申请列表 |
| /pathology/order/add | POST | 新建病理申请 |
| /pathology/specimen/scan | POST | 标本扫码接收 |
| /pathology/process/record | POST | 记录处理过程 |
| /pathology/diagnosis/add | POST | 录入诊断 |
| /pathology/report/page | GET | 病理报告列表 |
| /pathology/report/verify/{id} | PUT | 审核报告(三级) |
### 4.3 急诊分诊+抢救模块
#### 4.3.1 业务流程
```
患者到达急诊
[预检分诊] ←→ [生命体征采集]
↓ (按病情分级)
┌─Ⅰ级(濒死)→ 抢救室 → 绿色通道
├─Ⅱ级(危重)→ 抢救室 → 优先处理
├─Ⅲ级(急症)→ 急诊诊室 → 按序就诊
└─Ⅳ级(非急)→ 普通门诊 → 引导转诊
[抢救记录] ←→ [抢救医嘱]
[会诊申请] ←→ [住院转科/留观/出院]
[急诊病历] ←→ [急诊统计]
```
#### 4.3.2 数据模型
- **EmergencyTriage** (急诊分诊): triage_id, patient_id, triage_level(1-4), vital_signs, triage_nurse
- **EmergencyRescue** (抢救记录): rescue_id, patient_id, rescue_start, rescue_end, result
- **EmergencyObservation** (留观记录): observation_id, patient_id, observation_start, bed_no
- **Emergency绿色通道**: green_channel_id, patient_id, disease_type, door_to_treatment_time
#### 4.3.3 接口设计
| API | 方法 | 说明 |
|-----|------|------|
| /emergency/triage/add | POST | 急诊分诊 |
| /emergency/triage/queue | GET | 分诊队列(按级别) |
| /emergency/rescue/add | POST | 开始抢救 |
| /emergency/rescue/complete/{id} | PUT | 抢救完成 |
| /emergency/observation/add | POST | 留观登记 |
| /emergency/green-channel | POST | 绿色通道启动 |
| /emergency/stats | GET | 急诊统计(分级/抢救率/等候时间) |
### 4.4 药品效期管理模块
#### 4.4.1 业务流程
```
[入库验收] → 记录效期
[效期监控] ←→ [每日扫描]
↓ (近效期预警)
┌─ 6个月内 → 近效期提醒 → 优先使用
├─ 3个月内 → 紧急预警 → 限制开方
└─ 过期 → 自动停售 → 退回供应商
[效期报表] ←→ [过期药品销毁]
```
#### 4.4.2 数据模型
- **DrugExpiryAlert** (效期预警): alert_id, drug_code, drug_name, batch_no, expiry_date, alert_level
- **DrugExpiryStats** (效期统计): 按月统计近效期/过期/销毁金额
### 4.5 处方点评统计模块
#### 4.5.1 业务流程
```
[处方数据] → 自动筛选
↓ (不合理处方)
[系统点评] ←→ [人工点评]
[点评结果] ←→ [医生反馈]
[科室排名] ←→ [医生排名]
[合理率趋势] ←→ [改进措施]
```
#### 4.5.2 数据模型
- **PrescriptionReviewStats** (点评统计): 按科室/医生/月份统计合理率
- **PrescriptionReviewRanking** (排名): 科室排名/医生排名
---
## 五、实施优先级排序
### Phase A: 缺失核心模块 (P0 — 立即开发)
1. **门诊随访管理** — 三甲评审必查
2. **病理管理** — 手术闭环关键
3. **急诊分诊+抢救** — 急诊评审必查
### Phase B: 待完善功能 (P1 — 尽快开发)
4. **药品效期管理** — 药品安全
5. **处方点评统计** — 合理用药
6. **患者满意度** — 评审指标
7. **DRG绩效考核** — 医保改革
8. **护理交接班统计** — 护理质量
9. **会诊时限监控** — 会诊制度
10. **病案首页质量** — 数据质量
### Phase C: 交叉业务修复 (P1 — 尽快修复)
11. **门诊→住院转科** — 信息连续性
12. **手术→病理送检** — 标本追溯
13. **检验→临床决策** — 检验联动
14. **检查→报告→医嘱** — 状态联动
---
## 六、文档产出清单
| 文档 | 内容 | 用途 |
|------|------|------|
| CROSS_MODULE_BUSINESS_ANALYSIS.md | 本文档 | 业务分析+系统诊断 |
| PHASE_A_FOLLOWUP_DESIGN.md | 门诊随访深度设计 | 开发依据 |
| PHASE_A_PATHOLOGY_DESIGN.md | 病理管理深度设计 | 开发依据 |
| PHASE_A_EMERGENCY_DESIGN.md | 急诊分诊抢救深度设计 | 开发依据 |
| PHASE_B_*.md | 各P1模块深度设计 | 开发依据 |

View File

@@ -0,0 +1,939 @@
# HealthLink HIS 三甲医院达标详细设计方案
> **文档类型**: 架构设计
> **适用范围**: 三甲达标架构
> **版本**: v1.0
> **目标**: 完全符合三级甲等综合医院信息化评审标准
> **依据**: 国家卫健委三甲评审标准(2022)、电子病历评级≥4级、互联互通≥四级甲等
> **编制日期**: 2026-06-06
> **核心原则**:
> 1. 不修改原有函数签名扩展功能通过新建Service/AppService实现
> 2. 新建表和字段通过Flyway框架管理
> 3. 每个模块开发完成后必须通过完整测试
---
## 一、现状能力与差距分析
### 1.1 已有能力(✅ 可用,无需大改)
| 模块 | 状态 | 已有Controller/Service | 说明 |
|---|---|---|---|
| 门诊挂号 | ✅ 完整 | RegistrationController | 预约/当日/退号/多身份 |
| 门诊收费 | ✅ 完整 | ChargeController | 收费/退费/日结 |
| 门诊医生站 | ✅ 完整 | DoctorStationAdviceController | 处方/检验检查申请/病历 |
| 护士工作站 | ✅ 基础 | NursingRecordController | 医嘱执行/生命体征/护理记录 |
| 药品管理 | ✅ 完整 | pharmacymanage/* | 药库/药房/发药/退药 |
| 住院管理 | ✅ 完整 | PatientHomeController | 入院/床位/转科/出院/押金 |
| 检验检查 | ✅ 完整 | check/*, lab/* | LIS配置/检查类型/项目管理 |
| 统计报表 | ✅ 完整 | reportmanage/* | 20+报表接口 |
| DRG/DIP | ✅ 基础 | ybmanage/* | 基础框架已有 |
| 手术排程 | ✅ 基础 | SurgicalScheduleController | 手术申请/排程/查询 |
| 手术管理 | ✅ 基础 | SurgeryController | 手术信息CRUD |
### 1.2 关键差距(❌ 需开发)
| 差距模块 | 三甲要求 | 当前状态 | 优先级 | 预估工期 |
|---|---|---|---|---|
| **合理用药系统** | 处方100%审核 | 仅有基础处方点评框架 | 🔴 P0 | 5天 |
| **麻醉记录系统** | 互联互通必测项I-13 | 仅有手术排程,无麻醉记录 | 🔴 P0 | 5天 |
| **电子签名/CA** | 三甲硬性要求 | 仅有密码验证框架 | 🔴 P0 | 3天 |
| **院感管理** | 评审必查 | 完全缺失 | 🔴 P0 | 5天 |
| **病案首页管理** | 病案首页数据质量 | 仅有基础统计 | 🔴 P0 | 5天 |
| **护理评估体系** | 多种量表评估 | 仅基础护理记录 | 🟡 P1 | 5天 |
| **医嘱闭环管理** | 开立→审核→执行→完成 | 部分实现 | 🟡 P1 | 3天 |
| **危急值管理** | 检验危急值闭环 | 完全缺失 | 🟡 P1 | 3天 |
| **电子病历结构化** | 结构化+模板+留痕 | 基础模板已有 | 🟡 P1 | 5天 |
| **抗菌药物管控** | 分级管理/权限控制 | 完全缺失 | 🟡 P1 | 3天 |
| **处方点评系统** | 合理用药管控 | 仅基础框架 | 🟡 P1 | 3天 |
| **数据集成平台(ESB)** | 互联互通四级甲等 | 完全缺失 | 🟡 P1 | 5天 |
| **患者主索引(EMPI)** | 数据标准化基础 | 完全缺失 | 🟡 P1 | 3天 |
---
## 二、分阶段详细设计
### Phase 1: 核心安全模块3周
---
#### Sprint 7: 合理用药系统 (5天)
**业务背景**: 三甲医院要求门诊处方审核率≥100%住院医嘱审核率≥100%。系统必须在医生开方时实时拦截不合理处方。
**已有基础**: `PrescriptionReviewRecord`实体、`ReviewPrescriptionRecordsController`审方接口
**需要新增的功能**:
##### 7.1 处方前置审核引擎
**业务流程**:
```
医生开方 → 系统自动审核 → 合理 → 通过
→ 不合理 → 拦截弹窗 → 医生确认/修改
→ 需人工审核 → 药师审核 → 通过/驳回
```
**审核规则(按优先级)**:
1. **配伍禁忌检查**: 两药/三药相互作用(禁忌/严重/一般三级)
2. **过敏检测**: 患者过敏史自动匹配药品成分
3. **剂量审查**: 超剂量/低剂量预警(按年龄/体重/肝肾功能)
4. **重复用药**: 同类/同成分重复使用检查
5. **妊娠/哺乳用药**: 特殊人群用药警示
6. **儿童用药**: 按体重/体表面积计算剂量
7. **肝肾功能调量**: 根据化验结果自动建议调量
**新增Service**:
```java
// 合理用药审核引擎(新建,不修改原有代码)
public interface IRationalDrugReviewService {
// 处方前置审核
PrescriptionReviewResult reviewPrescription(PrescriptionReviewParam param);
// 药品相互作用检查
List<DrugInteraction> checkDrugInteraction(List<String> drugCodes);
// 过敏检查
List<AllergyAlert> checkAllergy(Long patientId, List<String> drugCodes);
// 剂量检查
List<DoseAlert> checkDose(DoseCheckParam param);
// 重复用药检查
List<DuplicateAlert> checkDuplicate(List<String> drugCodes);
}
```
**新增数据库表(Flyway)**:
```sql
-- V2026_007__rational_drug_review.sql
-- 药品相互作用规则表
CREATE TABLE sys_drug_interaction_rule (
id BIGSERIAL PRIMARY KEY,
drug_code_a VARCHAR(50) NOT NULL, -- 药品A编码
drug_code_b VARCHAR(50) NOT NULL, -- 药品B编码
drug_name_a VARCHAR(200),
drug_name_b VARCHAR(200),
interaction_level VARCHAR(20) NOT NULL, -- 禁忌/严重/一般
description TEXT, -- 描述
suggestion TEXT, -- 处理建议
severity INT DEFAULT 1, -- 严重程度 1-5
status CHAR(1) DEFAULT '0', -- 0正常 1停用
tenant_id INT,
create_by VARCHAR(64),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_by VARCHAR(64),
update_time TIMESTAMP
);
-- 药品过敏规则表
CREATE TABLE sys_drug_allergy_rule (
id BIGSERIAL PRIMARY KEY,
drug_code VARCHAR(50) NOT NULL,
drug_name VARCHAR(200),
allergy_component VARCHAR(200), -- 过敏成分
cross_reaction_drugs TEXT, -- 交叉反应药品
description TEXT,
status CHAR(1) DEFAULT '0',
tenant_id INT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 剂量范围规则表
CREATE TABLE sys_drug_dose_rule (
id BIGSERIAL PRIMARY KEY,
drug_code VARCHAR(50) NOT NULL,
drug_name VARCHAR(200),
dose_type VARCHAR(20), -- 单次/日总量
min_dose DECIMAL(10,2),
max_dose DECIMAL(10,2),
unit VARCHAR(20),
age_min INT, -- 最小年龄
age_max INT, -- 最大年龄
weight_min DECIMAL(5,2), -- 最小体重
weight_max DECIMAL(5,2), -- 最大体重
renal_adjust CHAR(1) DEFAULT '0', -- 肾功能调整
hepatic_adjust CHAR(1) DEFAULT '0', -- 肝功能调整
status CHAR(1) DEFAULT '0',
tenant_id INT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 处方审核记录表(扩展已有表)
-- 在已有 prescription_review_record 表基础上增加字段
ALTER TABLE prescription_review_record ADD COLUMN IF NOT EXISTS review_rules JSONB;
ALTER TABLE prescription_review_record ADD COLUMN IF NOT EXISTS auto_review_result VARCHAR(20);
ALTER TABLE prescription_review_record ADD COLUMN IF NOT EXISTS review_time TIMESTAMP;
ALTER TABLE prescription_review_record ADD COLUMN IF NOT EXISTS drug_details JSONB;
```
**测试用例(20个)**:
1. 正常处方审核通过
2. 配伍禁忌药物拦截(禁忌级别)
3. 配伍禁忌药物预警(一般级别)
4. 过敏药物拦截
5. 超剂量预警
6. 低剂量预警
7. 重复用药拦截
8. 妊娠用药警示
9. 儿童用药按体重计算
10. 肾功能不全剂量调整
11. 肝功能不全剂量调整
12. 多药联用审查
13. 抗菌药物分级限制
14. 处方审核结果查询
15. 审核规则配置
16. 无权限访问拒绝
17. 空处方审核
18. 大处方预警
19. 审核统计查询
20. 处方点评导出
---
##### 7.2 抗菌药物分级管理
**业务背景**: 三甲医院要求抗菌药物使用率≤60%,必须实行分级管理。
**分级标准**:
- **非限制使用级**: 经临床长期应用证明安全、有效,对细菌耐药性影响较小的抗菌药物
- **限制使用级**: 与非限制使用级相比较,在疗效、安全性、耐药性、价格等方面存在局限性
- **特殊使用级**: 不良反应明显,不宜随意使用或临床需要倍加保护以免细菌过快产生耐药性的抗菌药物
**新增Service**:
```java
public interface IAntibioticManageService {
// 查询抗菌药物使用统计
AntibioticUsageStats getUsageStats(Long departmentId, Date startDate, Date endDate);
// 查询医生抗菌药物处方权限
AntibioticPermission checkPermission(Long doctorId, String antibioticLevel);
// 抗菌药物处方审批(特殊使用级需审批)
R<?> approveAntibiotic(AntibioticApprovalParam param);
// DDD监测
List<DDDMonitorDto> getDDDMonitoring(Date startDate, Date endDate);
}
```
**新增数据库表**:
```sql
-- V2026_007__antibiotic_management.sql
-- 抗菌药物目录表
CREATE TABLE sys_antibiotic_drug (
id BIGSERIAL PRIMARY KEY,
drug_code VARCHAR(50) NOT NULL,
drug_name VARCHAR(200),
generic_name VARCHAR(200),
antibiotic_level VARCHAR(20) NOT NULL, -- 非限制/限制/特殊
ddd_value DECIMAL(10,2), -- 限定日剂量
ddd_unit VARCHAR(20),
atc_code VARCHAR(50), -- ATC分类代码
status CHAR(1) DEFAULT '0',
tenant_id INT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 抗菌药物使用记录表
CREATE TABLE sys_antibiotic_usage (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
doctor_id BIGINT NOT NULL,
department_id BIGINT,
drug_code VARCHAR(50) NOT NULL,
drug_name VARCHAR(200),
antibiotic_level VARCHAR(20),
dosage DECIMAL(10,2),
dosage_unit VARCHAR(20),
frequency VARCHAR(50),
route VARCHAR(50),
start_time TIMESTAMP,
end_time TIMESTAMP,
usage_days INT,
ddd_value DECIMAL(10,2),
ddd_sum DECIMAL(10,4), -- DDD累计
approval_status VARCHAR(20), -- 待审批/已批准/已拒绝
approver_id BIGINT,
approval_time TIMESTAMP,
status CHAR(1) DEFAULT '0',
tenant_id INT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 抗菌药物医生权限表
CREATE TABLE sys_antibiotic_permission (
id BIGSERIAL PRIMARY KEY,
doctor_id BIGINT NOT NULL,
doctor_name VARCHAR(100),
department_id BIGINT,
allowed_levels JSONB, -- 允许使用的级别 ["非限制","限制","特殊"]
valid_from DATE,
valid_to DATE,
status CHAR(1) DEFAULT '0',
tenant_id INT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
---
#### Sprint 8: 手术麻醉系统 (5天)
**业务背景**: 互联互通测评必测项I-13三甲评审现场检查必查项。
**已有基础**:
- `OpSchedule`(手术排程实体)、`OperatingRoom`(手术室实体)
- `SurgicalScheduleController`(手术排程接口)
- `SurgeryController`(手术管理接口)
**需要新增的功能**:
##### 8.1 麻醉评估系统
**业务流程**:
```
术前评估 → ASA分级 → 气道评估 → 麻醉方案 → 知情同意 → 术中记录 → 苏醒评估
```
**新增Service**:
```java
public interface IAnesthesiaService {
// 术前麻醉评估
AnesthesiaAssessment createAssessment(AnessmentAssessmentParam param);
// ASA分级评估
ASAResult assessASA(ASAAssessmentParam param);
// 气道评估
AirwayAssessment assessAirway(AirwayAssessmentParam param);
// 麻醉方案制定
AnesthesiaPlan createPlan(AnesthesiaPlanParam param);
// 术中记录
IntraOpRecord recordIntraOp(IntraOpRecordParam param);
// 麻醉苏醒评估
RecoveryAssessment assessRecovery(RecoveryAssessmentParam param);
// 查询麻醉记录
AnesthesiaRecord getRecord(Long surgeryScheduleId);
}
```
**新增数据库表**:
```sql
-- V2026_008__anesthesia_system.sql
-- 麻醉评估表
CREATE TABLE sys_anesthesia_assessment (
id BIGSERIAL PRIMARY KEY,
surgery_schedule_id BIGINT NOT NULL, -- 关联手术排程
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
assessment_date TIMESTAMP,
assessor_id BIGINT,
-- ASA分级
asa_level VARCHAR(10), -- ASA I-VI
asa_description TEXT,
-- 气道评估
airway_assessment JSONB, -- 气道评估详细数据
mallampati_grade VARCHAR(10), -- Mallampati分级 I-IV
mouth_opening DECIMAL(5,2), -- 张口度(cm)
neck_mobility VARCHAR(50), -- 颈部活动度
thyromental_distance DECIMAL(5,2), -- 甲颏距离(cm)
dental_prostheses CHAR(1), -- 假牙 0无 1有
-- 心肺评估
cardiac_function VARCHAR(50), -- 心功能分级
pulmonary_function VARCHAR(50), -- 肺功能
ekg_result TEXT, -- 心电图结果
-- 实验室检查
lab_results JSONB, -- 实验室检查结果
-- 综合评估
overall_risk VARCHAR(20), -- 低/中/高/极高
contraindications TEXT, -- 禁忌症
special_notes TEXT, -- 特殊注意事项
status VARCHAR(20), -- 草稿/已提交/已审核
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 麻醉方案表
CREATE TABLE sys_anesthesia_plan (
id BIGSERIAL PRIMARY KEY,
assessment_id BIGINT NOT NULL,
surgery_schedule_id BIGINT NOT NULL,
anesthesia_type VARCHAR(50), -- 全麻/椎管内/神经阻滞/局部/复合
anesthesia_method TEXT, -- 具体麻醉方法
monitor_plan TEXT, -- 监测方案
airway_management TEXT, -- 气道管理方案
fluid_plan TEXT, -- 输液方案
blood_plan TEXT, -- 输血方案
pain_management TEXT, -- 镇痛方案
special_requirements TEXT, -- 特殊要求
planned_by_id BIGINT,
plan_time TIMESTAMP,
status VARCHAR(20), -- 草稿/已提交/已批准
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 术中麻醉记录表
CREATE TABLE sys_anesthesia_intra_record (
id BIGSERIAL PRIMARY KEY,
surgery_schedule_id BIGINT NOT NULL,
encounter_id BIGINT NOT NULL,
-- 时间节点
patient_entry_time TIMESTAMP, -- 患者入室时间
anesthesia_start_time TIMESTAMP, -- 麻醉开始时间
surgery_start_time TIMESTAMP, -- 手术开始时间
surgery_end_time TIMESTAMP, -- 手术结束时间
anesthesia_end_time TIMESTAMP, -- 麻醉结束时间
patient_exit_time TIMESTAMP, -- 患者出室时间
-- 生命体征(定时采集)
vital_signs_data JSONB, -- [{time, systolic, diastolic, heart_rate, spo2, temp, etco2, ...}]
-- 麻醉用药
anesthesia_medications JSONB, -- [{drug_name, dose, unit, time, route, operator}]
-- 非麻醉用药
non_anesthesia_medications JSONB, -- [{drug_name, dose, unit, time, reason}]
-- 液体出入量
fluid_input JSONB, -- [{type, volume_ml, time}]
fluid_output JSONB, -- [{type, volume_ml, time}]
blood_loss_ml INT, -- 出血量
blood_transfusion_ml INT, -- 输血量
urine_output_ml INT, -- 尿量
-- 术中事件
intra_events JSONB, -- [{event_type, time, description, handling}]
-- 气道管理
airway_management JSONB, -- {intubation_type, tube_size, depth, ...}
-- 麻醉医师
primary_anesthesiologist_id BIGINT, -- 主麻
assistant_anesthesiologist_id BIGINT, -- 助麻
status VARCHAR(20), -- 进行中/已完成
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 麻醉苏醒评估表
CREATE TABLE sys_anesthesia_recovery (
id BIGSERIAL PRIMARY KEY,
intra_record_id BIGINT NOT NULL,
surgery_schedule_id BIGINT NOT NULL,
recovery_time TIMESTAMP,
consciousness_level VARCHAR(50), -- 清醒/嗜睡/模糊/昏迷
respiratory_rate INT,
heart_rate INT,
blood_pressure VARCHAR(50),
spo2 DECIMAL(5,2),
temperature DECIMAL(5,2),
pain_score INT, -- NRS评分 0-10
恶心_nausea CHAR(1), -- 0无 1有
vomiting CHAR(1), -- 0无 1有
Aldrete_score INT, -- Aldrete评分 0-10
discharge_eligible CHAR(1), -- 0不达标 1达标
extubation_time TIMESTAMP, -- 拔管时间
special_notes TEXT,
assessor_id BIGINT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 知情同意书表
CREATE TABLE sys_consent_form (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
form_type VARCHAR(50), -- 手术/麻醉/输血/其他
surgery_schedule_id BIGINT,
form_template_id BIGINT,
form_content TEXT, -- 知情同意书内容
patient_name VARCHAR(100),
patient_signature_data TEXT, -- 患者签名(base64)
patient_sign_time TIMESTAMP,
doctor_signature_data TEXT, -- 医生签名(base64)
doctor_sign_time TIMESTAMP,
witness_signature_data TEXT, -- 见证人签名(base64)
witness_sign_time TIMESTAMP,
status VARCHAR(20), -- 待签署/已签署/已撤回
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
---
##### 8.2 手术记录系统
**业务流程**:
```
手术申请 → 科室审批 → 医务科审批 → 手术排程 → 术前准备 → 手术执行 → 术后医嘱
```
**新增Service**:
```java
public interface ISurgeryRecordService {
// 创建手术记录
SurgeryRecord createRecord(SurgeryRecordParam param);
// 记录术中信息
void recordIntraOp(IntraOpParam param);
// 记录植入物
void recordImplant(ImplantRecordParam param);
// 记录标本
void recordSpecimen(SpecimenRecordParam param);
// 术后医嘱自动生成
List<Advice> generatePostOpOrders(Long surgeryRecordId);
// 手术统计
SurgeryStatistics getStatistics(Long departmentId, Date startDate, Date endDate);
}
```
**新增数据库表**:
```sql
-- V2026_008__surgery_record.sql
-- 手术记录表(扩展已有op_schedule)
ALTER TABLE op_schedule ADD COLUMN IF NOT EXISTS surgery_record_id BIGINT;
ALTER TABLE op_schedule ADD COLUMN IF NOT EXISTS post_op_diagnosis TEXT;
ALTER TABLE op_schedule ADD COLUMN IF NOT EXISTS post_op_orders JSONB;
-- 手术记录详细表
CREATE TABLE sys_surgery_record (
id BIGSERIAL PRIMARY KEY,
surgery_schedule_id BIGINT NOT NULL,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
-- 手术团队
surgeon_id BIGINT, -- 主刀
assistant1_id BIGINT, -- 助手1
assistant2_id BIGINT, -- 助手2
assistant3_id BIGINT, -- 助手3
scrub_nurse_id BIGINT, -- 器械护士
circulating_nurse_id BIGINT, -- 巡回护士
-- 手术时间
incision_time TIMESTAMP, -- 切皮时间
closure_time TIMESTAMP, -- 缝合时间
total_surgery_minutes INT, -- 手术总时长
-- 手术信息
surgical_site VARCHAR(200), -- 手术部位
approach VARCHAR(100), -- 手术入路
implant_records JSONB, -- [{implant_name, serial_no, manufacturer, quantity}]
specimen_records JSONB, -- [{specimen_type, description, send_to_pathology}]
-- 出血与输血
estimated_blood_loss INT, -- 估计出血量(ml)
actual_blood_loss INT, -- 实际出血量(ml)
blood_transfusion_units INT, -- 输血量(单位)
-- 并发症
intraoperative_complications JSONB, -- [{type, description, time, handling}]
postoperative_complications JSONB, -- [{type, description, time, handling}]
-- 手术级别
surgery_level VARCHAR(20), -- 一/二/三/四级
surgery_classification VARCHAR(50), -- 急诊/限期/择期
-- 感染控制
infection_risk CHAR(1), -- 0低 1中 2高
isolation_type VARCHAR(50), -- 隔离类型
antibiotic_prophylaxis CHAR(1), -- 0无 1有预防性抗菌药物
status VARCHAR(20), -- 进行中/已完成
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 植入物记录表
CREATE TABLE sys_implant_record (
id BIGSERIAL PRIMARY KEY,
surgery_record_id BIGINT NOT NULL,
implant_name VARCHAR(200),
implant_model VARCHAR(100),
serial_no VARCHAR(100), -- 序列号/批号
manufacturer VARCHAR(200),
specification VARCHAR(200),
quantity INT DEFAULT 1,
implant_site VARCHAR(200), -- 植入部位
Implant_time TIMESTAMP,
status CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
---
#### Sprint 9: 院感管理系统 (5天)
**业务背景**: 三甲评审要求医院感染监测报告率达标,院感管理是评审必查项。
**新增Service**:
```java
public interface IInfectionControlService {
// 院感病例监测
List<InfectionCase> monitorInfection(Date startDate, Date endDate);
// 院感病例上报
void reportCase(InfectionCaseReportParam param);
// 院感预警
List<InfectionAlert> getAlerts(Long departmentId);
// 院感统计
InfectionStatistics getStatistics(Date startDate, Date endDate);
// 多重耐药菌监测
List<MDRORecord> monitorMDRO(Date startDate, Date endDate);
// 手卫生管理
void recordHandHygiene(HandHygieneRecordParam param);
HandHygieneStats getHandHygieneStats(Long departmentId, Date startDate, Date endDate);
// 职业暴露管理
void reportExposure(OccupationalExposureParam param);
void trackExposure(Long exposureId, ExposureFollowUpParam param);
List<OccupationalExposure> getExposureRecords(Date startDate, Date endDate);
// 环境监测
void recordEnvironmentMonitor(EnvironmentMonitorParam param);
List<EnvironmentMonitor> getEnvironmentMonitorRecords(Long departmentId, Date startDate, Date endDate);
}
```
**新增数据库表**:
```sql
-- V2026_009__infection_control.sql
-- 院感病例表
CREATE TABLE sys_infection_case (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
infection_type VARCHAR(50), -- 医院感染/社区感染
infection_site VARCHAR(100), -- 下呼吸道/泌尿道/血液/手术部位/其他
pathogen_code VARCHAR(50),
pathogen_name VARCHAR(200),
drug_resistance JSONB, -- [{drug_name, resistance_type}]
diagnosis_basis TEXT, -- 诊断依据
report_time TIMESTAMP,
reporter_id BIGINT,
department_id BIGINT,
status VARCHAR(20), -- 疑似/确认/已排除/已处理
treatment_plan TEXT,
outcome TEXT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 手卫生记录表
CREATE TABLE sys_hand_hygiene (
id BIGSERIAL PRIMARY KEY,
staff_id BIGINT NOT NULL,
staff_name VARCHAR(100),
department_id BIGINT,
observation_time TIMESTAMP,
observation_type VARCHAR(50), -- 两前三后/手卫生五个时刻
correct_flag CHAR(1), -- 0不正确 1正确
handrub_type VARCHAR(50), -- 洗手液/速干手消毒剂
observer_id BIGINT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 职业暴露记录表
CREATE TABLE sys_occupational_exposure (
id BIGSERIAL PRIMARY KEY,
staff_id BIGINT NOT NULL,
staff_name VARCHAR(100),
department_id BIGINT,
exposure_type VARCHAR(50), -- 锐器伤/血液体液暴露/化学暴露/其他
exposure_source VARCHAR(200), -- 暴露源描述
source_patient_name VARCHAR(100),
source_patient_hiv VARCHAR(20),
source_patient_hbv VARCHAR(20),
source_patient_hcv VARCHAR(20),
exposure_time TIMESTAMP,
exposure_site VARCHAR(100), -- 暴露部位
exposure_amount VARCHAR(100), -- 暴露量
immediate_handling TEXT, -- 立即处理措施
risk_assessment VARCHAR(20), -- 低/中/高
follow_up_plan TEXT, -- 随访计划
follow_up_records JSONB, -- [{time, result, note}]
report_time TIMESTAMP,
reporter_id BIGINT,
status VARCHAR(20), -- 登记中/处置中/随访中/已结案
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 环境监测表
CREATE TABLE sys_environment_monitor (
id BIGSERIAL PRIMARY KEY,
department_id BIGINT,
monitor_type VARCHAR(50), -- 空气/物表/手/消毒剂
monitor_item VARCHAR(100), -- 监测项目
monitor_result VARCHAR(200), -- 监测结果
standard_value VARCHAR(200), -- 标准值
is_qualified CHAR(1), -- 0不合格 1合格
monitor_time TIMESTAMP,
monitor_by_id BIGINT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
---
### Phase 2: 病案与护理体系3周
#### Sprint 10: 病案管理系统 (5天)
**业务背景**: 三甲要求病案首页24小时归档率≥90%主要诊断编码正确率≥95%。
**已有基础**: `InpatientMedicalRecordHomePageCollectionController`(病案首页统计)
**新增Service**:
```java
public interface IMedicalRecordManagementService {
// 病案首页数据自动采集
MedicalRecordHome autoCollectHome(Long encounterId);
// ICD-10编码推荐
List<ICD10Code> recommendDiagnosisCode(String diagnosisName);
// ICD-9-CM-3手术编码映射
List<ICD9CM3Code> mapSurgeryCode(String surgeryName);
// 首页数据质量校验
HomeQualityResult validateHomeQuality(Long homeId);
// 病案质控
MedicalRecordAudit auditRecord(MedicalRecordAuditParam param);
// DRG自动分组
DRGGroupingResult autoDRGGrouping(Long encounterId);
// 病案归档
void archiveMedicalRecord(Long encounterId);
// 病案借阅
MedicalRecordBorrow borrowRecord(MedicalRecordBorrowParam param);
// 病案封存/解封
void sealRecord(Long recordId, boolean seal);
}
```
---
#### Sprint 11: 护理评估体系 (5天)
**业务背景**: 三甲要求护理评估完成率≥95%入院评估8小时内完成。
**已有基础**: `VitalSignsController`(生命体征)、`NursingRecordController`(护理记录)
**新增Service**:
```java
public interface INursingAssessmentService {
// 入院护理评估
NursingAssessment createAdmissionAssessment(AdmissionAssessmentParam param);
// Braden压疮风险评估(自动评分)
BradenScore assessBraden(BradenAssessmentParam param);
// Morse跌倒风险评估(自动评分)
MorseScore assessMorse(MorseAssessmentParam param);
// NRS2002营养风险评估
NRS2002Score assessNRS2002(NRS2002AssessmentParam param);
// 疼痛评估(NRS/VAS)
PainScore assessPain(PainAssessmentParam param);
// Caprini VTE风险评估
CapriniScore assessCaprini(CapriniAssessmentParam param);
// Barthel自理能力评估
BarthelScore assessBarthel(BarthelAssessmentParam param);
// 评估时间轴(动态变化追踪)
List<AssessmentTimeline> getTimeline(Long patientId, String assessmentType);
// 护理计划
NursingPlan createPlan(NursingPlanParam param);
// 护理交接班
NursingHandover createHandover(NursingHandoverParam param);
}
```
---
### Phase 3: 数据集成与标准化3周
#### Sprint 12: 患者主索引+主数据 (3天)
**业务背景**: 互联互通四级甲等基础,统一患者身份标识。
**新增Service**:
```java
public interface IEMPIService {
// 患者身份匹配
String matchPatient(PatientMatchParam param);
// 患者身份合并
void mergePatient(Long primaryId, Long secondaryId);
// 患者身份拆分
void splitPatient(Long mergedId);
// 主数据同步
void syncMasterData(MasterDataSyncParam param);
}
```
---
#### Sprint 13: 数据集成平台ESB (5天)
**业务背景**: 互联互通四级甲等核心,所有系统通过集成平台互联。
**新增Service**:
```java
public interface IESBService {
// 发送消息
void sendMessage(ESBMessage message);
// 接收消息
ESBMessage receiveMessage(String messageId);
// 服务注册
void registerService(ESBServiceRegistry service);
// 服务发现
ESBServiceRegistry discoverService(String serviceName);
// 消息监控
ESBMonitor getMonitor(Date startDate, Date endDate);
// CDA文档生成
CDADocument generateCDA(String documentType, Long encounterId);
}
```
---
### Phase 4: 智能化与决策支持3周
#### Sprint 14: 危急值管理系统 (3天)
**业务背景**: 医疗质量安全核心制度,检验危急值必须闭环管理。
**新增Service**:
```java
public interface ICriticalValueService {
// 危急值规则配置
void configureRules(List<CriticalValueRule> rules);
// 检验结果自动匹配危急值
List<CriticalValueAlert> matchCriticalValue(Long inspectionResultId);
// 危急值通知
void notifyCriticalValue(Long alertId, List<Long> notifyUserIds);
// 危急值确认
void confirmCriticalValue(Long alertId, CriticalValueConfirmParam param);
// 危急值处置
void handleCriticalValue(Long alertId, CriticalValueHandleParam param);
// 危急值统计
CriticalValueStats getStats(Date startDate, Date endDate);
}
```
---
#### Sprint 15: 电子病历结构化 (5天)
**业务背景**: 电子病历应用管理规范要求修改留痕、版本管理、电子签名。
**新增Service**:
```java
public interface IStructuredEMRService {
// 结构化病历创建
StructuredEMR createEMR(EMRCreateParam param);
// 病历修改(留痕)
void modifyEMR(Long emrId, EMRModifyParam param);
// 版本历史
List<EMRVersion> getVersionHistory(Long emrId);
// 版本对比
EMRDiff compareVersions(Long versionId1, Long versionId2);
// 病历模板管理
EMRTemplate saveTemplate(EMRTemplateParam param);
// 病历完整性检查
EMRCompletenessResult checkCompleteness(Long emrId);
}
```
---
#### Sprint 16: 医保智能审核 (5天)
**业务背景**: 医保基金使用监督管理条例,防范骗保、规范使用。
**已有基础**: `ybmanage/*`(医保管理模块)
**新增Service**:
```java
public interface IInsuranceAuditService {
// 事前审核(开方时)
PreAuditResult preAudit(PreAuditParam param);
// 事中审核(住院中)
List<InAuditAlert> inAudit(Long encounterId);
// 事后审核(结算后)
PostAuditResult postAudit(Long settlementId);
// DRG/DIP优化建议
DRGOptimizationSuggestion optimizeDRG(Long encounterId);
}
```
---
## 三、测试计划
### 每个Sprint测试矩阵
| 测试类型 | 内容 | 通过标准 |
|---|---|---|
| **接口测试** | 所有新增API端点 | 正常/异常/边界各至少1个用例 |
| **白盒测试** | Service层方法 | 覆盖率≥80% |
| **黑盒测试** | 业务流程完整性 | 关键流程100%覆盖 |
| **冒烟测试** | 核心功能可用性 | 所有核心接口返回200 |
| **回归测试** | 原有功能不受影响 | 158个已有测试全部通过 |
### 测试用例设计原则
1. **正常流程测试**: 每个API至少1个正常用例
2. **边界条件测试**: 空值/极值/特殊字符/超长文本
3. **异常处理测试**: 无权限/参数错误/数据不存在/并发冲突
4. **数据一致性测试**: 事务完整性、级联操作
5. **性能测试**: 并发场景可选P2优先级
---
## 四、实施路线图
```
Phase 1 (Week 1-3): 核心安全模块
├── Sprint 7: 合理用药系统 (5天) → 20个测试用例
├── Sprint 8: 手术麻醉系统 (5天) → 25个测试用例
└── Sprint 9: 院感管理系统 (5天) → 20个测试用例
Phase 2 (Week 4-6): 病案与护理
├── Sprint 10: 病案管理系统 (5天) → 20个测试用例
└── Sprint 11: 护理评估体系 (5天) → 25个测试用例
Phase 3 (Week 7-9): 数据集成
├── Sprint 12: EMPI + 主数据 (3天) → 15个测试用例
└── Sprint 13: ESB集成平台 (5天) → 20个测试用例
Phase 4 (Week 10-12): 智能化
├── Sprint 14: 危急值管理 (3天) → 15个测试用例
├── Sprint 15: 电子病历结构化 (5天) → 20个测试用例
└── Sprint 16: 医保智能审核 (5天) → 20个测试用例
总计: 12周 (约3个月)
总用例数: 预计 220+ 个接口测试
```
---
## 五、质量保障
### 5.1 开发规范铁律
1. **不修改原有函数签名** — 扩展功能通过新建Service/AppService实现
2. **数据库变更通过Flyway** — 所有新建表和字段使用Flyway版本化管理
3. **代码审查** — 每个PR必须经过Code Review
4. **单元测试** — Service层覆盖率≥80%
5. **接口测试** — 每个API端点必须有测试用例
### 5.2 铁律
1. 修改完必须测试才能提交
2. 新建表和字段必须通过Flyway
3. 测试通过后才提交代码
4. 前后端API路径必须对齐
5. 每个Sprint完成后进行完整回归测试
6. 白盒测试+黑盒测试+冒烟测试+接口测试+回归测试全部通过后才能提交
---
> **文档版本**: v1.0
> **最后更新**: 2026-06-06

View File

@@ -0,0 +1,729 @@
# HealthLink-HIS 三甲医院差距分析与缺失模块设计
> **文档类型**: 架构设计
> **适用范围**: 三甲达标全量差距分析
> **版本**: v1.0
> **编制日期**: 2026-06-06
> **最后更新**: 2026-06-06
---
## 一、分析基础
### 1.1 评估依据
- 《三级医院评审标准2022年版》及广西实施细则
- 《电子病历系统应用水平分级评价标准》≥4级 = 三甲硬性)
- 《医院信息互联互通标准化成熟度测评方案》(≥四级甲等 = 三甲硬性)
- 《医院信息系统基本功能规范》卫生部2002版 + 2024修订
- 《广西卫生健康信息化"十四五"发展规划》
### 1.2 当前系统基线
| 维度 | 数量 | 说明 |
|------|------|------|
| 数据库表 | 181张 | @TableName 实体映射 |
| 后端Controller | 230个 | 45个业务模块 |
| 前端视图 | 209个 | 42个模块目录 |
| Mapper XML | 662个 | 含复杂SQL映射 |
| 空壳视图 | 26个 | 仅22字节占位 |
| 缺失组件 | 18个 | 路由指向不存在的组件 |
| 已实现核心流程 | 6条 | 挂号→收费→发药→入院→医嘱→报表 |
### 1.3 电子病历评级差距总览
| 等级 | 要求 | 当前状态 | 差距 |
|------|------|---------|------|
| 1级 | 独立信息系统 | ✅ 已达 | — |
| 2级 | 科室内共享 | ✅ 已达 | — |
| 3级 | 跨科室共享 | ✅ 基本达到 | 部分模块数据未打通 |
| **4级** | **全院共享+CDSS** | **❌ 未达到** | **差6大核心能力** |
| 5级 | 结构化+质控 | ❌ | 需4级基础上建设 |
---
## 二、差距全景图
### 2.1 按三甲标准17个互联互通必测项对比
| 接口 | 名称 | 标准要求 | 当前状态 | 差距等级 |
|------|------|---------|---------|---------|
| I-01 | 患者信息注册 | 统一EMPI | ⚠️ 有基础患者表无EMPI | 🟡 |
| I-02 | 门诊挂号 | 预约+当日+退号 | ✅ 已实现 | ✅ |
| I-03 | 门诊医生工作站 | 处方+检验检查申请 | ✅ 已实现 | ✅ |
| I-04 | 门诊收费 | 费用明细+医保结算 | ✅ 已实现 | ✅ |
| I-05 | 门诊药房 | 发药信息 | ✅ 已实现 | ✅ |
| I-06 | 住院入出转 | 入院+转科+出院 | ✅ 已实现 | ✅ |
| I-07 | 住院医生工作站 | 医嘱信息 | ⚠️ 基础实现 | 🟡 缺闭环 |
| I-08 | 住院护士工作站 | 护理执行 | ⚠️ 基础实现 | 🟡 缺评估 |
| I-09 | 住院收费 | 费用结算 | ✅ 已实现 | ✅ |
| I-10 | 住院药房 | 药品发放 | ✅ 已实现 | ✅ |
| I-11 | 检验系统 | 标本+结果 | ✅ LIS框架已有 | ⚠️ 缺危急值 |
| I-12 | 检查系统 | 申请+报告 | ✅ PACS框架已有 | ⚠️ 缺结构化 |
| **I-13** | **手麻系统** | **手术申请+麻醉记录** | **❌ 仅排程** | **🔴 严重** |
| **I-14** | **病案系统** | **病案首页** | **❌ 仅基础统计** | **🔴 严重** |
| I-15 | 医保接口 | 医保结算 | ⚠️ DRG框架有 | 🟡 |
| **I-16** | **电子病历** | **病历文档共享** | **⚠️ 有模板** | **🔴 缺结构化+留痕** |
| **I-17** | **护理系统** | **护理评估+记录** | **⚠️ 仅基础** | **🔴 缺评估体系** |
### 2.2 按模块域差距分析
#### 🔴 P0 — 三甲硬性缺失(不达标的评审一票否决)
| # | 模块 | 三甲要求 | 当前状态 | 预估工时 |
|---|------|---------|---------|---------|
| 1 | **合理用药系统** | 处方审核率≥100% | 仅`prescription_review_record`基础表,无审核引擎 | 15天 |
| 2 | **麻醉记录系统** | 互联互通I-13必测 | 仅`AnesthesiaTypeEnum`枚举+手术排程 | 15天 |
| 3 | **病案首页管理** | 首页数据质量≥95% | 仅有`yb_inpatient_discharge`基础统计 | 10天 |
| 4 | **医嘱闭环管理** | 开立→审核→执行→完成 | `order_main`+`doc_order_process`部分实现 | 10天 |
| 5 | **电子病历结构化** | 结构化+模板+留痕+版本 | `doc_emr`+`doc_emr_template`基础框架 | 15天 |
| 6 | **电子签名/CA** | 三甲硬性 | 仅医保证书签名无临床CA | 5天 |
#### 🟡 P1 — 三甲评审重要项(影响评分)
| # | 模块 | 三甲要求 | 当前状态 | 预估工时 |
|---|------|---------|---------|---------|
| 7 | **护理评估体系** | 多种量表+评估计划 | `doc_vital_signs`仅生命体征 | 10天 |
| 8 | **危急值管理** | 检验危急值闭环 | 完全缺失 | 8天 |
| 9 | **院感管理** | 实时监测+预警 | `infectious_*` 3张表仅有框架 | 10天 |
| 10 | **抗菌药物管控** | 分级管理+权限控制 | 完全缺失 | 8天 |
| 11 | **处方点评系统** | 合理用药管控 | `nd_review_prescription_records`基础表 | 5天 |
| 12 | **数据集成平台(ESB)** | 互联互通四级甲等 | 完全缺失 | 20天 |
| 13 | **患者主索引(EMPI)** | 数据标准化基础 | 完全缺失 | 8天 |
| 14 | **病历质控系统** | 按时完成率+完整性 | 完全缺失 | 8天 |
| 15 | **死亡病例讨论** | 评审必查 | 完全缺失 | 3天 |
#### 🟢 P2 — 广西地方特色要求
| # | 模块 | 广西要求 | 当前状态 | 预估工时 |
|---|------|---------|---------|---------|
| 16 | **壮医/中医特色模块** | 广西壮医药诊疗 | `yb_catalog_zy_*`医保目录有中医 | 10天 |
| 17 | **传染病直报** | 对接广西疾控 | `diseaseReportManagement`有框架 | 5天 |
| 18 | **电子健康卡** | 对接广西平台 | 完全缺失 | 5天 |
| 19 | **电子票据** | 对接广西财政 | 完全缺失 | 5天 |
| 20 | **DRG/DIP深化** | 广西医保规则 | `ybmanage`基础框架 | 10天 |
---
## 三、缺失模块详细设计
### 3.1 合理用药系统P0 — 15天
#### 业务流程
```
医生开方 → ┌→ 规则引擎自动审核 ──→ 合理 → 通过
├→ 配伍禁忌/过敏/剂量 ──→ 不合理 → 拦截弹窗 → 修改
└→ 需人工审核 ──────→ 药师在线审核 → 通过/驳回
```
#### 功能清单
| 子功能 | 描述 | 实现方式 |
|--------|------|---------|
| 处方前置审核引擎 | 医生开方时实时拦截 | 新建 `RationalDrugAppService` |
| 配伍禁忌检查 | 两药/三药相互作用 | 新建 `DrugInteractionChecker` |
| 过敏检测 | 患者过敏史自动匹配 | 扩展 `cli_allergy_intolerance` |
| 剂量范围检查 | 肾/肝功能自动调量 | 新建 `DosageRangeChecker` |
| 重复用药检查 | 同成分/同功效重复 | 新建 `DuplicateTherapyChecker` |
| 审核结果记录 | 每次审核留痕 | 扩展 `prescription_review_record` |
| 审核统计报表 | 合理率/拦截率统计 | 新建 `RationalDrugReportAppService` |
#### 数据库设计Flyway
```sql
-- V2.1__rational_drug_system.sql
CREATE TABLE drug_interaction_rule (
id BIGSERIAL PRIMARY KEY,
drug_a_code VARCHAR(32) NOT NULL,
drug_b_code VARCHAR(32) NOT NULL,
severity VARCHAR(16) NOT NULL, -- CRITICAL/MAJOR/MODERATE
description TEXT,
suggestion TEXT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE prescription_audit_log (
id BIGSERIAL PRIMARY KEY,
prescription_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
doctor_id BIGINT NOT NULL,
audit_result VARCHAR(16) NOT NULL, -- PASS/REJECT/MANUAL
rule_hit VARCHAR(64),
detail TEXT,
auditor_id BIGINT,
audit_time TIMESTAMP,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
#### 接口设计
```
POST /healthlink-his/api/v1/rational-drug/audit # 处方审核
GET /healthlink-his/api/v1/rational-drug/interactions # 查询配伍禁忌
GET /healthlink-his/api/v1/rational-drug/statistics # 审核统计
POST /healthlink-his/api/v1/rational-drug/manual-review # 人工审核
```
---
### 3.2 麻醉记录系统P0 — 15天
#### 业务流程
```
手术申请 → 麻醉评估 → 麻醉方案 → 术中记录 → 术后随访
│ │
├ ASA分级评估 ├ 生命体征(5min间隔)
├ 禁食确认 ├ 用药记录
└ 知情同意 ├ 出入量记录
└ 并发症记录
```
#### 功能清单
| 子功能 | 描述 | 互联互通映射 |
|--------|------|-------------|
| 麻醉前评估 | ASA分级、气道评估、禁食确认 | I-13 必测 |
| 麻醉方案 | 全麻/半麻/局麻方案制定 | I-13 必测 |
| 术中记录 | 生命体征、用药、出入量 | I-13 必测 |
| 麻醉小结 | 麻醉总结、并发症记录 | I-13 必测 |
| 术后随访 | 24h内随访、疼痛评估 | I-13 必测 |
| 麻醉质控 | 麻醉安全指标统计 | 评审加分 |
#### 数据库设计
```sql
-- V2.2__anesthesia_system.sql
CREATE TABLE anes_record (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
surgery_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
anesthetist_id BIGINT NOT NULL,
asa_grade VARCHAR(8),
anesthesia_type VARCHAR(32),
start_time TIMESTAMP,
end_time TIMESTAMP,
airway_assessment TEXT,
fasting_confirmed BOOLEAN DEFAULT FALSE,
consent_signed BOOLEAN DEFAULT FALSE,
summary TEXT,
complications TEXT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP
);
CREATE TABLE anes_vital_sign (
id BIGSERIAL PRIMARY KEY,
record_id BIGINT NOT NULL,
record_time TIMESTAMP NOT NULL,
heart_rate INTEGER,
blood_pressure_sys INTEGER,
blood_pressure_dia INTEGER,
spo2 DECIMAL(5,2),
etco2 DECIMAL(5,2),
temperature DECIMAL(4,1),
respiratory_rate INTEGER,
remark TEXT
);
CREATE TABLE anes_medication (
id BIGSERIAL PRIMARY KEY,
record_id BIGINT NOT NULL,
drug_name VARCHAR(128) NOT NULL,
dosage VARCHAR(64),
route VARCHAR(32),
start_time TIMESTAMP,
end_time TIMESTAMP,
remark TEXT
);
CREATE TABLE anes_io_record (
id BIGSERIAL PRIMARY KEY,
record_id BIGINT NOT NULL,
record_type VARCHAR(16) NOT NULL, -- INPUT/OUTPUT
item_name VARCHAR(64),
amount DECIMAL(10,2),
unit VARCHAR(16),
record_time TIMESTAMP
);
```
---
### 3.3 病案首页管理P0 — 10天
#### 标准要求
- 主要诊断编码正确率 ≥95%
- 其他诊断编码正确率 ≥90%
- 手术操作编码正确率 ≥95%
- 24小时归档率 ≥90%
#### 功能清单
| 子功能 | 描述 |
|--------|------|
| 首页数据录入 | 出院时自动生成首页数据 |
| ICD编码辅助 | 诊断→ICD-10自动映射推荐 |
| 首页质控 | 入组前必填项校验、逻辑校验 |
| DRG预入组 | 费用+诊断→DRG分组预估 |
| 首页上报 | HQMS数据上报接口 |
| 首页查询 | 按科室/医生/时间段统计 |
| 缺陷管理 | 首页缺陷记录、整改跟踪 |
#### 数据库设计
```sql
-- V2.3__medical_record_homepage.sql
CREATE TABLE mr_homepage (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
discharge_date DATE,
los_days INTEGER,
primary_diagnosis_code VARCHAR(16),
primary_diagnosis_name VARCHAR(128),
other_diagnosis_codes TEXT,
primary_procedure_code VARCHAR(16),
primary_procedure_name VARCHAR(128),
other_procedure_codes TEXT,
admission_condition VARCHAR(32),
discharge_condition VARCHAR(32),
drg_group VARCHAR(32),
drg_weight DECIMAL(8,4),
total_cost DECIMAL(12,2),
self_pay_cost DECIMAL(12,2),
insurance_cost DECIMAL(12,2),
quality_status VARCHAR(16) DEFAULT 'DRAFT',
submit_time TIMESTAMP,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP
);
CREATE TABLE mr_homepage_quality_check (
id BIGSERIAL PRIMARY KEY,
homepage_id BIGINT NOT NULL,
check_item VARCHAR(64) NOT NULL,
check_result VARCHAR(16) NOT NULL, -- PASS/FAIL/WARN
check_detail TEXT,
checker VARCHAR(32), -- SYSTEM/MANUAL
check_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
---
### 3.4 医嘱闭环管理P0 — 10天
#### 当前实现
- `order_main` — 医嘱主表 ✅
- `doc_order_process` — 医嘱处理 ✅
- `elep_medication_request` — 电子处方 ✅
#### 缺失环节
| 闭环 | 已有 | 缺失 |
|------|------|------|
| 药品医嘱 | 开立✅ 调配⚠️ | 核对❌ 发药❌ 执行确认❌ |
| 检验医嘱 | 开立✅ 采集⚠️ | 运送❌ 接收❌ 检测❌ 审核❌ |
| 检查医嘱 | 开立✅ 预约⚠️ | 登记❌ 检查❌ 审核❌ |
| 治疗医嘱 | 开立✅ | 执行❌ 观察❌ |
#### 数据库设计
```sql
-- V2.4__order_closed_loop.sql
CREATE TABLE order_execute_record (
id BIGSERIAL PRIMARY KEY,
order_id BIGINT NOT NULL,
order_type VARCHAR(32) NOT NULL, -- DRUG/LAB/EXAM/TREAT
step_name VARCHAR(32) NOT NULL, -- DISPATCH/VERIFY/EXECUTE/OBSERVE
step_status VARCHAR(16) NOT NULL, -- PENDING/IN_PROGRESS/COMPLETED/SKIPPED
executor_id BIGINT,
execute_time TIMESTAMP,
execute_location VARCHAR(64),
remark TEXT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
---
### 3.5 电子病历结构化P0 — 15天
#### 三甲4级要求
- 结构化病历(非纯文本)
- 病历模板管理
- 修改留痕(修改人、时间、内容)
- 版本管理(历史版本不可删除)
- 打印管理(标注"打印版"
#### 当前实现
- `doc_emr` — 电子病历 ✅
- `doc_emr_template` — 病历模板 ✅
- `doc_emr_detail` — 病历详情 ✅
#### 缺失功能
| 功能 | 描述 | 实现方式 |
|------|------|---------|
| 结构化录入 | 选择式+自由文本混合 | 新建 `StructuredEmrAppService` |
| 修改留痕 | diff追踪 | 新建 `EmrRevisionTracker` |
| 版本管理 | 历史版本快照 | 扩展 `doc_emr` 增加 `version` 字段 |
| 完整性检查 | 必填项+逻辑校验 | 新建 `EmrCompletenessChecker` |
| 时限监控 | 24h完成率监控 | 新建 `EmrTimelinessMonitor` |
| 打印管理 | 打印水印+版本比对 | 新建 `EmrPrintManager` |
---
### 3.6 电子签名/CAP0 — 5天
#### 标准要求
- 医师签名:按职称、科室分配权限
- 操作时效住院24h、门诊当日
- 签名认证:可靠电子签名,等同手写
- 版本管理:历史版本不可删除
#### 实现方案
```java
// 新建签名服务
public interface ICaSignatureService {
// 医生签名
SignatureResult signDocument(Long docId, Long doctorId, String password);
// 验证签名
boolean verifySignature(Long docId);
// 获取签名历史
List<SignatureHistory> getSignatureHistory(Long docId);
}
```
---
### 3.7 护理评估体系P1 — 10天
#### 功能清单
| 评估类型 | 量表 | 频次 |
|---------|------|------|
| 入院评估 | 压力性损伤风险(Braden)、跌倒风险(Morse)、营养风险(NRS2002)、疼痛(NRS)、Barthel指数 | 入院时 |
| 跌倒评估 | Morse跌落评估量表 | 每班 |
| 压疮评估 | Braden量表 | 每班 |
| 疼痛评估 | NRS数字评分法 | 按需 |
| 营养评估 | NRS2002 | 入院时 |
| 导管评估 | 导管滑脱风险 | 每班 |
| 自理能力 | Barthel指数评定 | 入院时 |
#### 数据库设计
```sql
-- V2.5__nursing_assessment.sql
CREATE TABLE nursing_assessment (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
assessor_id BIGINT NOT NULL,
assessment_type VARCHAR(32) NOT NULL,
assessment_tool VARCHAR(64) NOT NULL,
total_score INTEGER,
risk_level VARCHAR(16),
detail JSONB,
assessment_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
del_flag CHAR(1) DEFAULT '0'
);
CREATE TABLE nursing_care_plan (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
diagnosis VARCHAR(256),
goal TEXT,
interventions TEXT,
evaluation TEXT,
planner_id BIGINT,
plan_date DATE,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
---
### 3.8 危急值管理P1 — 8天
#### 业务流程
```
LIS出报告 → 系统自动识别危急值 → 接收确认(30min内) → 通知医生(5min内)
→ 医生处理 → 处理记录 → 闭环确认
```
#### 数据库设计
```sql
-- V2.6__critical_value.sql
CREATE TABLE critical_value (
id BIGSERIAL PRIMARY KEY,
lab_result_id BIGINT NOT NULL,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
item_name VARCHAR(128),
result_value VARCHAR(128),
reference_range VARCHAR(64),
notify_time TIMESTAMP,
receiver_id BIGINT,
receive_time TIMESTAMP,
handler_id BIGINT,
handle_time TIMESTAMP,
handle_result TEXT,
close_time TIMESTAMP,
status VARCHAR(16) DEFAULT 'PENDING',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
---
### 3.9 院感管理P1 — 10天
#### 功能清单
| 子功能 | 描述 |
|--------|------|
| 院感病例监测 | 自动筛查+人工上报 |
| 医院感染预警 | 新发感染+聚集性预警 |
| 抗菌药物监测 | 使用率、DDD值、耐药率 |
| 手卫生监测 | 依从性统计 |
| 环境监测 | 消毒灭菌记录 |
| 职业暴露 | 登记+跟踪+随访 |
| 上报管理 | 向疾控中心上报 |
#### 数据库设计
```sql
-- V2.7__hospital_infection.sql
CREATE TABLE hir_infection_case (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
infection_type VARCHAR(64),
infection_site VARCHAR(64),
pathogen VARCHAR(128),
diagnosis_time DATE,
reporter_id BIGINT,
report_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
status VARCHAR(16) DEFAULT 'REPORTED',
del_flag CHAR(1) DEFAULT '0'
);
CREATE TABLE hir_antibiotic_usage (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
drug_code VARCHAR(32),
drug_name VARCHAR(128),
ddd_value DECIMAL(10,2),
usage_days INTEGER,
usage_type VARCHAR(32), -- PREVENTIVE/THERAPEUTIC
start_date DATE,
end_date DATE,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
---
### 3.10 数据集成平台/ESBP1 — 20天
#### 互联互通四级甲等要求
| 能力 | 要求 | 实现方案 |
|------|------|---------|
| 消息路由 | HL7 FHIR R4 消息路由 | 新建 `IntegrationHub` |
| 格式转换 | HIS内部格式↔FHIR | 新建 `FhirConverter` |
| 服务注册 | 接口目录管理 | 新建 `ServiceRegistry` |
| 集成监控 | 消息追踪+日志 | 新建 `IntegrationMonitor` |
| 可靠性 | 存储转发+确认 | Redis + 消息队列 |
#### HL7 FHIR 资源映射
| FHIR资源 | HIS模块 | 映射 |
|----------|---------|------|
| Patient | adm_patient | 患者信息 |
| Practitioner | adm_practitioner | 医护人员 |
| Encounter | adm_encounter | 就诊记录 |
| Condition | cli_condition | 诊断 |
| MedicationRequest | med_medication_request | 药品医嘱 |
| ServiceRequest | doc_request_form | 检查检验申请 |
| Observation | lab_observation | 检验结果 |
| MedicationDispense | med_medication_dispense | 发药记录 |
| Procedure | cli_procedure | 手术操作 |
| AllergyIntolerance | cli_allergy_intolerance | 过敏信息 |
| Claim | fin_claim | 费用结算 |
---
### 3.11 患者主索引/EMPIP1 — 8天
#### 功能清单
| 功能 | 描述 |
|------|------|
| 患者身份合并 | 同一患者多卡合并 |
| 身份校验 | 身份证+姓名+手机号交叉验证 |
| 主索引维护 | 一个患者一个全局ID |
| 重复检测 | 新建时自动检测重复 |
| 跨系统同步 | EMPI→HIS/LIS/PACS/EMR |
#### 数据库设计
```sql
-- V2.8__empi.sql
CREATE TABLE empi_person (
id BIGSERIAL PRIMARY KEY,
global_id VARCHAR(64) UNIQUE NOT NULL,
id_card_no VARCHAR(32),
name VARCHAR(64),
gender VARCHAR(8),
birth_date DATE,
phone VARCHAR(20),
merge_status VARCHAR(16) DEFAULT 'ACTIVE',
source_system VARCHAR(32),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP
);
CREATE TABLE empi_person_id_mapping (
id BIGSERIAL PRIMARY KEY,
global_id VARCHAR(64) NOT NULL,
local_patient_id BIGINT NOT NULL,
source_system VARCHAR(32) NOT NULL,
id_type VARCHAR(32),
id_value VARCHAR(64),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
---
### 3.12 病历质控系统P1 — 8天
#### 功能清单
| 子功能 | 描述 |
|--------|------|
| 运行质控 | 入院后实时检查病历完成情况 |
| 终末质控 | 出院后完整性质控评分 |
| 时限监控 | 入院记录24h、首次病程8h、日常病程 |
| 完整性检查 | 必填项+逻辑校验 |
| 质控评分 | 按标准自动打分 |
| 缺陷管理 | 缺陷记录+整改+复查 |
---
### 3.13 广西地方特色模块P2
#### 3.13.1 壮医/中医特色
| 功能 | 描述 |
|------|------|
| 壮医诊疗 | 壮医望诊、脉诊、目诊记录 |
| 中医处方 | 中药饮片处方+壮药处方 |
| 中医体质辨识 | 九种体质辨识量表 |
| 中医处方模板 | 常用中药方剂模板 |
| 民族药编码 | 壮药、瑶药目录维护 |
#### 3.13.2 传染病直报
| 功能 | 描述 |
|------|------|
| 传染病自动筛查 | 诊断+检验结果自动匹配 |
| 直报对接 | 对接广西疾控中心系统 |
| 报告管理 | 填报+审核+上报 |
| 统计分析 | 传染病发病率统计 |
---
## 四、空壳模块补全清单
### 4.1 当前26个空壳视图实现计划
| 优先级 | 模块 | 前端路径 | 后端接口 | 工时 |
|--------|------|---------|---------|------|
| P0 | 门诊退号 | `clinicmanagement/refundNumber/` | `RefundNumberAppService` | 2天 |
| P0 | 门诊退药 | `clinicmanagement/withdrawal/` | `ReturnMedicineAppService` | 2天 |
| P0 | 门诊退费 | `clinicmanagement/consultationRefund/` | `ConsultationRefundAppService` | 2天 |
| P0 | 收费详情查询 | `clinicmanagement/chargeDetail/` | `ChargeDetailQueryAppService` | 1天 |
| P0 | 申请单管理 | `clinicmanagement/requisition/` | `RequisitionManageAppService` | 2天 |
| P0 | 结果查看 | `clinicmanagement/lisPascResult/` | `LabResultViewAppService` | 2天 |
| P0 | 医嘱查看与打印 | `clinicmanagement/orderViewPrint/` | `OrderViewPrintAppService` | 1天 |
| P0 | 入院诊断 | `inHospitalManagement/inpatientDiagnosis/` | `InpatientDiagnosisAppService` | 2天 |
| P0 | 医嘱管理 | `inHospitalManagement/orderManage/` | `OrderManageAppService` | 2天 |
| P0 | 门诊收费结算 | `charge/registerRecords/` | `RegisterRecordsAppService` | 2天 |
| P0 | 排班管理 | `charge/schedule/` | `ScheduleManageAppService` | 2天 |
| P1 | 病案管理 | `inHospitalManagement/medicalRecord/` | `MedicalRecordAppService` | 3天 |
| P1 | 费用清单 | `inHospitalManagement/listFee/` | `ListFeeAppService` | 2天 |
| P1 | 手术管理 | `inHospitalManagement/surgeryManage/` | `SurgeryManageAppService` | 3天 |
| P1 | 服务目录 | `catalog/service/` | `ServiceCatalogAppService` | 2天 |
| P1 | 常用诊断 | `basicmanage/commonlyDiagnosis/` | `CommonDiagnosisAppService` | 1天 |
| P1 | 中医处方 | `basicmanage/tcmPrescription/` | `TcmPrescriptionAppService` | 2天 |
| P1 | 床位管理 | `basicmanage/bedspace/` | `BedManageAppService` | 2天 |
| P1 | 费用配置 | `basicmanage/fee/` | `FeeConfigAppService` | 1天 |
| P2 | LIS对照 | 目录对照 | `LisContrastAppService` | 2天 |
| P2 | PACS对照 | 目录对照 | `PacsContrastAppService` | 2天 |
| P2 | 诊断对照 | 目录对照 | `DiagnosisContrastAppService` | 2天 |
| P2 | 货位管理 | `medicationmanagement/locationManagement/` | `LocationManageAppService` | 2天 |
| P2 | 调价管理 | `adjustprice/` | `AdjustPriceAppService` | 2天 |
| P2 | 退药管理 | 药房管理 | `PharmacyReturnAppService` | 2天 |
| P2 | 自动计算 | `basicmanage/automaticBilling/` | `AutoBillingAppService` | 2天 |
---
## 五、实施路线图
### Phase 1: 核心达标4周Sprint 7-8
**目标**补齐6个P0模块达到电子病历4级基本要求
```
Week 1-2: 合理用药系统 + 医嘱闭环管理
Week 3: 麻醉记录系统
Week 4: 病案首页管理 + 电子病历结构化(基础) + 电子签名
```
### Phase 2: 评审保障4周Sprint 9-10
**目标**补齐P1模块达到三甲评审合格线
```
Week 5-6: 护理评估体系 + 危急值管理 + 病历质控
Week 7-8: 院感管理 + 抗菌药物管控 + 处方点评 + 空壳模块补全
```
### Phase 3: 地方特色3周Sprint 11-12
**目标**:满足广西地方要求 + 互联互通基础
```
Week 9-10: 壮医/中医特色 + 传染病直报 + 电子健康卡
Week 11: 电子票据 + DRG/DIP深化
```
### Phase 4: 高级能力6周Sprint 13-16
**目标**:数据集成平台 + EMPI达到互联互通四级甲等
```
Week 12-14: ESB集成平台 + HL7 FHIR转换
Week 15-16: 患者主索引(EMPI) + 服务注册
Week 17: 集成监控 + 全系统联调
```
---
## 六、工时汇总
| 类别 | 模块数 | 总工时 |
|------|--------|--------|
| 🔴 P0 核心达标 | 6个 | 70天 |
| 🟡 P1 评审保障 | 9个 | 68天 |
| 🟢 P2 地方特色 | 5个 | 35天 |
| ⚡ P1 高级能力 | 3个 | 36天 |
| 🔧 空壳补全 | 26个 | 49天 |
| **总计** | **49个模块** | **258人天** |
> 按2人并行开发预计 **5-6个月** 可完成全部三甲达标建设。
---
> **文档版本**: v1.0
> **最后更新**: 2026-06-06

View File

@@ -0,0 +1,219 @@
# 广西三甲医院 HIS 系统功能设计文档
> **文档类型**: 架构设计
> **适用范围**: 三甲医院HIS系统
> **版本**: v1.0
> **编制日期**: 2026-06-06
> **最后更新**: 2026-06-06
---
> 参考标准:
> - 《医院信息系统功能基本规范》(卫生部)
> - 《三级医院评审标准(2022年版)》信息化部分
> - 《电子病历应用管理规范(试行)》
> - 《医院信息平台技术规范》(WS/T 500)
> - 互联互通标准化成熟度测评四级甲等要求
> - 广西壮族自治区卫生健康信息化"十四五"规划
---
## 一、门诊管理模块 (Outpatient)
### 1.1 门诊挂号 (Registration)
| 功能 | 说明 | 三甲要求 |
|---|---|---|
| 普通挂号 | 支持科室/医生/时段多维度挂号 | ✅必须 |
| 预约挂号 | 支持电话/网络/现场预约,分时段预约 | ✅必须 |
| 挂号退号 | 退号退费,限当日退号 | ✅必须 |
| 号源管理 | 号源池管理,限号/加号/停诊 | ✅必须 |
| 多身份挂号 | 医保/自费/公费/商业保险 | ✅必须 |
| 就诊卡管理 | 发卡/补卡/换卡/挂失 | ✅必须 |
| 排班管理 | 医生排班/停诊/替班 | ✅必须 |
### 1.2 门诊医生工作站 (Doctor Workstation)
| 功能 | 说明 | 三甲要求 |
|---|---|---|
| 候诊患者列表 | 按就诊顺序排列,显示患者基本信息 | ✅必须 |
| 病历书写 | 主诉/现病史/既往史/体格检查/辅助检查 | ✅必须(电子病历≥4级) |
| 诊断录入 | ICD-10编码,主诊断+副诊断 | ✅必须 |
| 处方开具 | 西药/中成药/中药饮片处方 | ✅必须 |
| 检验申请 | LIS检验项目申请,条码打印 | ✅必须 |
| 检查申请 | PACS检查项目申请 | ✅必须 |
| 治疗申请 | 治疗/手术/操作申请 | ✅必须 |
| 医嘱管理 | 长期医嘱/临时医嘱,医嘱审核 | ✅必须 |
| 处方审核 | 药师审核处方,合理用药提醒 | ✅必须 |
| 模板管理 | 个人/科室/全院病历模板 | 推荐 |
| 诊断知识库 | 诊断建议,鉴别诊断 | 推荐 |
### 1.3 门诊收费 (Billing)
| 功能 | 说明 | 三甲要求 |
|---|---|---|
| 门诊收费 | 处方/检查/治疗费用收取 | ✅必须 |
| 多支付方式 | 现金/银行卡/微信/支付宝/医保 | ✅必须 |
| 发票管理 | 电子发票/纸质发票 | ✅必须 |
| 退费管理 | 部分退费/全部退费,退费审批 | ✅必须 |
| 费用查询 | 患者费用明细查询 | ✅必须 |
| 日结管理 | 收款员日结/月结 | ✅必须 |
| 欠费管理 | 记账/催缴/坏账处理 | 推荐 |
### 1.4 门诊药房 (Pharmacy)
| 功能 | 说明 | 三甲要求 |
|---|---|---|
| 处方接收 | 自动接收门诊处方 | ✅必须 |
| 配药发药 | 按处方配药,核对发药 | ✅必须 |
| 退药管理 | 退药退回药房 | ✅必须 |
| 处方点评 | 抗菌药物/重点监控药品点评 | ✅必须 |
| 用药安全 | 过敏提醒/配伍禁忌/重复用药 | ✅必须 |
| 药品效期 | 近效期预警/过期药品管理 | ✅必须 |
| 毒麻药品 | 专柜存放,双人核对 | ✅必须 |
---
## 二、住院管理模块 (Inpatient)
### 2.1 住院登记 (Admission)
| 功能 | 说明 | 三甲要求 |
|---|---|---|
| 入院登记 | 患者信息录入,医保类型确认 | ✅必须 |
| 床位管理 | 床位分配/转床/包床 | ✅必须 |
| 押金管理 | 押金收取/补交/退押 | ✅必须 |
| 预交金管理 | 预交金查询/催缴 | ✅必须 |
| 出院登记 | 出院结算/出院带药 | ✅必须 |
### 2.2 住院医生工作站 (Inpatient Doctor)
| 功能 | 说明 | 三甲要求 |
|---|---|---|
| 入院记录 | 入院记录书写,24小时内完成 | ✅必须(电子病历≥4级) |
| 病程记录 | 首次病程/日常病程/上级查房 | ✅必须 |
| 医嘱开立 | 长期/临时医嘱,医嘱套餐 | ✅必须 |
| 医嘱审核 | 护士审核/药师审核 | ✅必须 |
| 手术申请 | 术前讨论/手术审批/手术安排 | ✅必须 |
| 会诊申请 | 科内/科间/全院/院外会诊 | ✅必须 |
| 输血申请 | 输血申请/输血反应记录 | ✅必须 |
| 死亡记录 | 死亡病例讨论记录 | ✅必须 |
| 知情同意 | 知情同意书电子签署 | ✅必须 |
### 2.3 住院护士工作站 (Nurse Station)
| 功能 | 说明 | 三甲要求 |
|---|---|---|
| 医嘱执行 | 医嘱审核/执行/停止 | ✅必须 |
| 护理记录 | 生命体征/出入量/护理评估 | ✅必须 |
| 体温单 | 电子体温单,自动绘制 | ✅必须(电子病历≥4级) |
| 标本采集 | 标本采集/条码打印/送检 | ✅必须 |
| 药品领取 | 病区药品领取/退药 | ✅必须 |
| 费用录入 | 护士站记费/材料费 | ✅必须 |
| 交接班 | 护士交接班记录 | ✅必须 |
| 责任护理 | 责任护士分管患者 | ✅必须 |
| 护理评估 | 入院评估/压疮评估/跌倒评估 | ✅必须 |
### 2.4 住院收费 (Inpatient Billing)
| 功能 | 说明 | 三甲要求 |
|---|---|---|
| 费用汇总 | 按类别/项目汇总 | ✅必须 |
| 中途结算 | 住院中途结算 | ✅必须 |
| 出院结算 | 出院总结算,多支付方式 | ✅必须 |
| 医保结算 | 医保实时结算/手工报销 | ✅必须 |
| 费用清单 | 每日费用清单/住院费用明细 | ✅必须 |
| 费用审核 | 大额费用审核/异常费用提醒 | 推荐 |
---
## 三、药品管理模块 (Drug Management)
### 3.1 药品基础数据
| 功能 | 说明 | 三甲要求 |
|---|---|---|
| 药品目录 | 药品字典,国药准字/规格/厂家 | ✅必须 |
| 药品分类 | 西药/中成药/中药饮片/外用/毒麻 | ✅必须 |
| 基础代谢 | 给药途径/用药频次/疗程 | ✅必须 |
| 供应商管理 | 药品供应商/资质证照管理 | ✅必须 |
### 3.2 药品采购
| 功能 | 说明 | 三甲要求 |
|---|---|---|
| 采购计划 | 科室请购/药房汇总/审批 | ✅必须 |
| 采购订单 | 生成采购单/供应商确认 | ✅必须 |
| 入库验收 | 到货验收/质量检查/入库 | ✅必须 |
| 退货管理 | 质量问题退货 | ✅必须 |
### 3.3 药品库存
| 功能 | 说明 | 三甲要求 |
|---|---|---|
| 库存查询 | 实时库存/批号/效期 | ✅必须 |
| 出入库管理 | 入库/出库/调拨/报损 | ✅必须 |
| 盘点管理 | 定期盘点/盈亏处理 | ✅必须 |
| 效期管理 | 近效期预警(3月/6月) | ✅必须 |
| 高值耗材 | 高值耗材追溯管理 | ✅必须 |
---
## 四、检验检查模块 (Lab & PACS)
### 4.1 LIS 检验系统
| 功能 | 说明 | 三甲要求 |
|---|---|---|
| 申请接收 | 接收门诊/住院检验申请 | ✅必须 |
| 标本采集 | 条码打印/采集确认 | ✅必须 |
| 标本接收 | 标本签收/不合格退回 | ✅必须 |
| 结果录入 | 仪器接口/手工录入/审核 | ✅必须 |
| 危急值管理 | 危急值报告/处理/追踪 | ✅必须 |
| 报告审核 | 初审/复审/修改 | ✅必须 |
| 报告查询 | 历史报告对比 | ✅必须 |
### 4.2 PACS 影像系统
| 功能 | 说明 | 三甲要求 |
|---|---|---|
| 申请接收 | 接收检查申请 | ✅必须 |
| 登记排队 | 检查登记/排队叫号 | ✅必须 |
| 影像采集 | DICOM影像采集 | ✅必须 |
| 报告书写 | 结构化报告/模板 | ✅必须 |
| 影像浏览 | DICOM Viewer | ✅必须 |
| 报告审核 | 书写/审核/修改 | ✅必须 |
---
## 五、运营监管模块 (Operations)
### 5.1 质控管理
| 功能 | 说明 | 三甲要求 |
|---|---|---|
| 病案质控 | 病案首页质控/运行病历质控 | ✅必须 |
| 抗菌药物监测 | 使用率/使用强度/送检率 | ✅必须 |
| DRGs/DIP监控 | 病组/费用/权重监控 | ✅必须 |
| 合理用药 | 处方点评/用药监控 | ✅必须 |
### 5.2 统计分析
| 功能 | 说明 | 三甲要求 |
|---|---|---|
| 门诊统计 | 门诊量/收入/科室统计 | ✅必须 |
| 住院统计 | 出入院/床位使用率/均费 | ✅必须 |
| 药品统计 | 药占比/基本药物比例 | ✅必须 |
| 医保统计 | 医保费用/结算/对账 | ✅必须 |
---
## 六、电子病历评级要求 (EMR Level 4+)
三甲医院要求电子病历应用水平≥4级:
| 级别 | 要求 |
|---|---|
| 3级 | 医疗文书统一管理,关键信息可用 |
| 4级 | 中级医疗决策支持,闭环管理 |
| 5级 | 高级医疗决策支持,知识库 |
| 6级 | 全流程医疗信息闭环 |
| 7级 | 健康信息整合,区域协同 |
---
## 七、互联互通要求 (四级甲等)
| 要素 | 要求 |
|---|---|
| 数据集标准化 | HL7 FHIR / CDA 2.0 |
| 术语标准化 | ICD-10 / SNOMED CT / LOINC |
| 接口规范 | RESTful API / Web Service |
| 数据交换 | 消息队列 / ESB |
| 安全认证 | CA认证 / 电子签名 |

View File

@@ -0,0 +1,128 @@
# 急诊分诊+抢救模块 — 深度设计文档
> **版本**: v1.0 | **编制日期**: 2026-06-07
> **依据**: 《急诊科建设与管理指南》+ 《急诊预检分诊专家共识》
---
## 一、业务背景
急诊是三甲医院的关键科室,必须实现:
- 四级预检分诊(Ⅰ级濒死/Ⅱ级危重/Ⅲ级急症/Ⅳ级非急)
- 绿色通道(胸痛/卒中/创伤)
- 抢救记录电子化
- 急诊绿色通道时间监控(门-药/门-球囊/门-手术)
## 二、业务流程
```
患者到达急诊
[预检分诊台]
├─ 采集生命体征(体温/脉搏/呼吸/血压/血氧/意识)
├─ 评估病情分级
└─ 分配就诊区域
┌─ Ⅰ级(濒死) → 立即抢救 → 绿色通道
├─ Ⅱ级(危重) → 10分钟内就诊
├─ Ⅲ级(急症) → 30分钟内就诊
└─ Ⅳ级(非急) → 引导至门诊
[急诊医生接诊] ←→ [急诊医嘱]
[检查/检验] ←→ [抢救/留观/住院/出院]
[急诊病历] ←→ [急诊统计]
```
## 三、数据模型
```sql
-- 急诊分诊
CREATE TABLE emergency_triage (
id BIGSERIAL PRIMARY KEY,
patient_id BIGINT,
patient_name VARCHAR(50),
triage_level INT NOT NULL, -- 1-4级
chief_complaint TEXT,
temperature DECIMAL(4,1),
pulse INT,
respiration INT,
systolic_bp INT,
diastolic_bp INT,
spo2 INT,
consciousness VARCHAR(20),
triage_nurse VARCHAR(64),
triage_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
area VARCHAR(20), -- RESUS/EMERGENCY/OBSERVATION/GREEN
status VARCHAR(20) DEFAULT 'WAITING',
tenant_id BIGINT DEFAULT 0,
is_deleted INT NOT NULL DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 抢救记录
CREATE TABLE emergency_rescue (
id BIGSERIAL PRIMARY KEY,
patient_id BIGINT NOT NULL,
triage_id BIGINT,
rescue_start TIMESTAMP,
rescue_end TIMESTAMP,
rescue_result VARCHAR(20),
chief_doctor VARCHAR(64),
rescue_team TEXT,
procedures TEXT,
medications TEXT,
outcome VARCHAR(20), -- ADMITTED/DISCHARGED/TRANSFERRED/DECEASED
tenant_id BIGINT DEFAULT 0,
is_deleted INT NOT NULL DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 留观记录
CREATE TABLE emergency_observation (
id BIGSERIAL PRIMARY KEY,
patient_id BIGINT NOT NULL,
triage_id BIGINT,
observation_start TIMESTAMP,
observation_end TIMESTAMP,
bed_no VARCHAR(20),
doctor VARCHAR(64),
diagnosis TEXT,
disposition VARCHAR(20), -- ADMITTED/DISCHARGED/TRANSFERRED
observation_hours INT,
tenant_id BIGINT DEFAULT 0,
is_deleted INT NOT NULL DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 绿色通道
CREATE TABLE emergency_green_channel (
id BIGSERIAL PRIMARY KEY,
patient_id BIGINT NOT NULL,
disease_type VARCHAR(30), -- CHEST_PAIN/STROKE/TRAUMA/POISONING
door_to_treatment_time INT, -- 门到治疗时间(分钟)
target_time INT, -- 目标时间
is_achieved BOOLEAN,
doctor VARCHAR(64),
activate_time TIMESTAMP,
complete_time TIMESTAMP,
tenant_id BIGINT DEFAULT 0,
is_deleted INT NOT NULL DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
## 四、接口设计
| API | 方法 | 说明 |
|-----|------|------|
| /emergency/triage/add | POST | 预检分诊 |
| /emergency/triage/queue | GET | 分诊队列(按级别排序) |
| /emergency/rescue/add | POST | 开始抢救 |
| /emergency/rescue/complete/{id} | PUT | 抢救完成 |
| /emergency/observation/add | POST | 留观登记 |
| /emergency/observation/discharge/{id} | PUT | 留观出院 |
| /emergency/green-channel/activate | POST | 启动绿色通道 |
| /emergency/green-channel/stats | GET | 绿色通道统计(达标率) |
| /emergency/stats | GET | 急诊统计(分级分布/抢救率/等候时间) |

View File

@@ -0,0 +1,195 @@
# 门诊随访管理模块 — 深度设计文档
> **版本**: v1.0 | **编制日期**: 2026-06-07
> **依据**: 《三级医院评审标准》患者服务条款 + 慢病管理规范
---
## 一、业务背景
门诊随访是三甲医院患者服务的核心环节:
- 慢病患者(高血压/糖尿病/冠心病等)出院后需定期随访
- 手术患者术后需随访恢复情况
- 肿瘤患者需长期随访复发/转移
- 满意度调查是医院服务质量的核心指标
## 二、业务流程
### 2.1 随访计划生成
```
出院/门诊结束
[自动触发] ← 根据病种+诊断自动生成随访计划
↓ (规则引擎)
┌─ 高血压: 每月1次电话随访, 持续1年
├─ 糖尿病: 每2周1次, 持续6个月
├─ 手术后: 术后1周/1月/3月/6月/1年
├─ 肿瘤: 每3个月复查, 持续5年
└─ 普通: 出院后1周电话随访1次
[分配责任人] ← 根据科室+医生自动分配
```
### 2.2 随访执行
```
[随访任务列表] ← 责任医生/护士查看今日任务
[选择联系方式] ← 电话/短信/微信/门诊
[拨打电话/发送短信]
[录入随访结果]
├─ 患者情况良好 → 标记完成
├─ 有异常症状 → 创建复查预约
├─ 需要调药 → 转诊门诊
└─ 失访 → 标记失访原因
[更新随访记录]
```
### 2.3 满意度调查
```
[出院时] → 发放满意度问卷(纸质/电子)
[患者填写] → 评分+建议
[数据汇总] → 按科室/医生统计
[问题整改] → 质量改进措施
```
## 三、数据模型
### 3.1 核心表
```sql
-- 随访计划
CREATE TABLE followup_plan (
id BIGSERIAL PRIMARY KEY,
patient_id BIGINT NOT NULL,
patient_name VARCHAR(50),
encounter_id BIGINT,
disease_code VARCHAR(20),
disease_name VARCHAR(100),
followup_type VARCHAR(20) NOT NULL, -- PHONE/SMS/WECHAT/OUTPATIENT
frequency VARCHAR(20), -- DAILY/WEEKLY/MONTHLY/QUARTERLY
total_times INT DEFAULT 1,
completed_times INT DEFAULT 0,
responsible_doctor VARCHAR(64),
responsible_nurse VARCHAR(64),
start_date DATE,
end_date DATE,
status VARCHAR(20) DEFAULT 'ACTIVE', -- ACTIVE/COMPLETED/CANCELLED
tenant_id BIGINT DEFAULT 0,
is_deleted INT NOT NULL DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 随访任务
CREATE TABLE followup_task (
id BIGSERIAL PRIMARY KEY,
plan_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
patient_name VARCHAR(50),
phone VARCHAR(20),
scheduled_date DATE NOT NULL,
actual_date DATE,
contact_method VARCHAR(20),
operator_name VARCHAR(64),
result VARCHAR(20), -- SUCCESS/FAILED/NO_ANSWER/WRONG_NUMBER/LOST
abnormal_flag BOOLEAN DEFAULT FALSE,
next_action VARCHAR(200),
tenant_id BIGINT DEFAULT 0,
is_deleted INT NOT NULL DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 随访记录
CREATE TABLE followup_record (
id BIGSERIAL PRIMARY KEY,
task_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
contact_content TEXT,
patient_condition TEXT,
medication_compliance VARCHAR(20),
symptoms TEXT,
vital_signs JSONB,
reappointment_flag BOOLEAN DEFAULT FALSE,
reappointment_date DATE,
transfer_flag BOOLEAN DEFAULT FALSE,
transfer_reason TEXT,
operator_name VARCHAR(64),
operate_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
tenant_id BIGINT DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 满意度调查
CREATE TABLE satisfaction_survey (
id BIGSERIAL PRIMARY KEY,
patient_id BIGINT,
patient_name VARCHAR(50),
survey_type VARCHAR(20) NOT NULL, -- INPATIENT/OUTPATIENT/EMERGENCY
department_name VARCHAR(100),
doctor_name VARCHAR(64),
overall_score INT,
service_score INT,
environment_score INT,
suggestions TEXT,
survey_date DATE DEFAULT CURRENT_DATE,
tenant_id BIGINT DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 投诉记录
CREATE TABLE complaint_record (
id BIGSERIAL PRIMARY KEY,
patient_id BIGINT,
patient_name VARCHAR(50),
complaint_type VARCHAR(30) NOT NULL, -- SERVICE/TECHNIQUE/ENVIRONMENT/BILLING/OTHER
complaint_content TEXT NOT NULL,
department_name VARCHAR(100),
handler VARCHAR(64),
handle_result TEXT,
handle_time TIMESTAMP,
status VARCHAR(20) DEFAULT 'PENDING', -- PENDING/PROCESSING/RESOLVED/CLOSED
satisfaction_after INT,
tenant_id BIGINT DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
### 3.2 接口设计
| API | 方法 | 说明 | 参数 |
|-----|------|------|------|
| /followup/plan/page | GET | 随访计划列表 | patientName,status,pageNo,pageSize |
| /followup/plan/add | POST | 新建随访计划 | patientId,diseaseCode,frequency,totalTimes |
| /followup/task/my | GET | 我的今日任务 | operatorName |
| /followup/task/page | GET | 任务列表(分页) | status,scheduledDate,pageNo,pageSize |
| /followup/task/complete/{id} | PUT | 完成任务 | result,abnormalFlag,nextAction |
| /followup/record/add | POST | 录入随访记录 | taskId,contactContent,patientCondition |
| /followup/survey/add | POST | 提交满意度 | surveyType,overallScore,suggestions |
| /followup/survey/stats | GET | 满意度统计 | departmentName,startDate,endDate |
| /followup/complaint/page | GET | 投诉列表 | status,complaintType,pageNo,pageSize |
| /followup/complaint/handle/{id} | PUT | 处理投诉 | handler,handleResult |
| /followup/stats/overview | GET | 随访概览 | startDate,endDate |
## 四、前端页面设计
### 4.1 页面结构
```
followup/
├── plan/ # 随访计划管理
├── task/ # 随访任务(今日任务/我的任务)
├── record/ # 随访记录查询
├── survey/ # 满意度调查
├── complaint/ # 投诉管理
└── stats/ # 统计分析
```
### 4.2 核心交互
- **今日任务看板**: 按优先级排序(异常>待随访>已完成)
- **一键拨号**: 点击患者电话直接拨打(集成HIS电话模块)
- **随访结果快速录入**: 预设选项+自由文本
- **满意度雷达图**: 多维度评分可视化

View File

@@ -0,0 +1,142 @@
# 病理管理模块 — 深度设计文档
> **版本**: v1.0 | **编制日期**: 2026-06-07
> **依据**: 《病理科建设与管理指南》+ 《临床病理质量控制标准》
---
## 一、业务背景
病理诊断是手术后诊断的"金标准",三甲医院必须具备:
- 病理标本全流程追溯(从手术室到病理科)
- 三级审核制度(住院医师→主治→副主任)
- 病理报告质量控制
- 肿瘤登记上报
## 二、业务流程
```
[手术/活检/穿刺] → 病理申请单
[标本采集] ←→ [条码打印] ←→ [标本固定(10%福尔马林)]
↓ (运送至病理科)
[标本接收] ←→ [标本核对(条码扫码)]
↓ (不合格退回)
[取材描述] ←→ [组织处理(脱水/包埋)]
[切片制作] ←→ [染色(HE/免疫组化/特殊染色)]
[初诊阅片] ←→ [上级医师审核]
↓ (疑难病例会诊)
[病理会诊] ←→ [最终诊断]
[报告编写] ←→ [三级审核]
[报告签发] ←→ [临床科室领取]
[肿瘤登记] ←→ [随访]
```
## 三、数据模型
```sql
-- 病理申请
CREATE TABLE pathology_order (
id BIGSERIAL PRIMARY KEY,
patient_id BIGINT NOT NULL,
patient_name VARCHAR(50),
encounter_id BIGINT,
specimen_type VARCHAR(50), -- 手术标本/活检/穿刺/细胞学
clinical_diagnosis TEXT,
sample_site VARCHAR(100),
urgency VARCHAR(20) DEFAULT 'NORMAL', -- URGENT/NORMAL
order_status VARCHAR(20) DEFAULT 'PENDING',
apply_doctor VARCHAR(64),
apply_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
tenant_id BIGINT DEFAULT 0,
is_deleted INT NOT NULL DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 病理标本
CREATE TABLE pathology_specimen (
id BIGSERIAL PRIMARY KEY,
order_id BIGINT NOT NULL,
barcode VARCHAR(100) NOT NULL,
specimen_desc TEXT,
collection_site VARCHAR(100),
fixative VARCHAR(50),
fixative_time TIMESTAMP,
receive_time TIMESTAMP,
receiver VARCHAR(64),
is_qualified BOOLEAN DEFAULT TRUE,
reject_reason TEXT,
tenant_id BIGINT DEFAULT 0,
is_deleted INT NOT NULL DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 病理处理
CREATE TABLE pathology_process (
id BIGSERIAL PRIMARY KEY,
specimen_id BIGINT NOT NULL,
process_type VARCHAR(30), -- 取材/脱水/包埋/切片/染色/免疫组化
process_desc TEXT,
operator VARCHAR(64),
operate_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
tenant_id BIGINT DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 病理诊断
CREATE TABLE pathology_diagnosis (
id BIGSERIAL PRIMARY KEY,
order_id BIGINT NOT NULL,
specimen_id BIGINT,
diagnosis_type VARCHAR(30), -- 初诊/复诊/会诊/最终
diagnosis_result TEXT,
immunostain_result TEXT,
doctor_name VARCHAR(64),
doctor_title VARCHAR(20),
diagnose_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
tenant_id BIGINT DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 病理报告
CREATE TABLE pathology_report (
id BIGSERIAL PRIMARY KEY,
order_id BIGINT NOT NULL,
patient_id BIGINT,
specimen_desc TEXT,
macroscopic_desc TEXT, -- 肉眼所见
microscopic_desc TEXT, -- 镜下所见
diagnosis_result TEXT, -- 病理诊断
suggestion TEXT,
report_doctor VARCHAR(64),
report_time TIMESTAMP,
audit_doctor VARCHAR(64),
audit_time TIMESTAMP,
final_doctor VARCHAR(64),
final_time TIMESTAMP,
status VARCHAR(20) DEFAULT 'DRAFT',
tenant_id BIGINT DEFAULT 0,
is_deleted INT NOT NULL DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
## 四、接口设计
| API | 方法 | 说明 |
|-----|------|------|
| /pathology/order/page | GET | 病理申请列表 |
| /pathology/order/add | POST | 新建病理申请 |
| /pathology/specimen/scan | POST | 标本扫码接收 |
| /pathology/specimen/reject/{id} | PUT | 标本拒收 |
| /pathology/process/record | POST | 记录处理过程 |
| /pathology/diagnosis/add | POST | 录入诊断 |
| /pathology/report/page | GET | 病理报告列表 |
| /pathology/report/add | POST | 新建报告 |
| /pathology/report/audit/{id} | PUT | 审核报告 |
| /pathology/stats | GET | 病理统计(标本数/诊断分布/周转时间) |