docs(project): 添加三甲达标实施计划并更新图标资源

- 添加 HealthLink-HIS 三甲达标完整实施计划文档 (2026-06-17)
- 移除旧版 drug.svg 图标文件
- 新增 analysis.svg 统计分析图标
- 新增 bell.svg 通知提醒图标
- 新增 connection.svg 连接配置图标
- 计划涵盖 4 个阶段 17 个 Sprint 的详细实施方案
- 包含 142 项必备能力现状分析及完成度统计
- 提供代码审计关键发现及修复策略指导
This commit is contained in:
2026-06-18 12:30:54 +08:00
parent f990726def
commit 98385e6553
11 changed files with 730 additions and 4 deletions

View File

@@ -0,0 +1,676 @@
# HealthLink-HIS 三甲达标完整实施计划
> **For agentic workers:** REQUIRED SUB-SKILL: Use compose:subagent (recommended) or compose:execute to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** 将 HealthLink-HIS 从当前 53% 完成率提升至 100%,满足三甲医院评审全部 142 项必备能力
**Architecture:** 4 Phase 递进式实施 — P0核心达标 → P1评审保障 → P2空壳补全 → P3地方特色。每个 Phase 独立可交付Phase 间有依赖关系。
**Tech Stack:** Spring Boot 4.0.6 + JDK 25 + MyBatis-Plus 3.5.16 + Vue 3 + Vite + Element Plus + PostgreSQL 15+ + Flyway
---
## 0. 项目概况
### 0.1 当前状态(代码审计 2026-06-17
| 维度 | 数值 | 说明 |
|------|:----:|------|
| 后端模块 | 74个 | 12个完整 + 13个部分 + 9个骨架 + 25个最小 + 15个微小 |
| 前端模块 | 89个 | 653个.vue文件~130个空壳 |
| 数据库表 | 293个实体 | 149个Flyway迁移 + 144个基线表 |
| Java代码 | ~160,000行 | 核心业务流程6条已贯通 |
| Vue代码 | ~342,000行 | 大型模块已实现 |
### 0.2 142项能力完成度
| 模块 | 必备能力 | ✅已实现 | ⚠️基础 | ❌缺失 | 完成率 |
|------|:-------:|:-------:|:------:|:------:|:-----:|
| 门诊医生站 | 10 | 7 | 2 | 1 | 80% |
| 住院医生站 | 10 | 4 | 2 | 4 | 50% |
| 护士站 | 10 | 5 | 2 | 3 | 60% |
| 合理用药 | 12 | 10 | 1 | 1 | 83% |
| 手术麻醉 | 12 | 6 | 2 | 4 | 58% |
| 检验(LIS) | 10 | 5 | 2 | 3 | 60% |
| 检查(PACS) | 10 | 3 | 3 | 4 | 45% |
| 电子病历 | 10 | 4 | 2 | 4 | 50% |
| 病案管理 | 10 | 2 | 3 | 5 | 35% |
| 院感管理 | 10 | 3 | 1 | 6 | 35% |
| 护理评估 | 10 | 4 | 3 | 3 | 55% |
| ESB集成 | 10 | 0 | 4 | 6 | 20% |
| EMPI | 8 | 2 | 3 | 3 | 38% |
| 统计报表 | 10 | 4 | 1 | 5 | 45% |
| **合计** | **142** | **59** | **31** | **52** | **53%** |
### 0.3 代码审计关键发现
| 发现 | 严重度 | 影响 | 修复策略 |
|------|:------:|------|---------|
| YbController 1065行God Controller | 🔴 | 维护困难,内联硬编码 | 拆分为3个Controller |
| 207+端点无@PreAuthorize | 🔴 | 无RBAC权限控制 | 全局添加权限注解 |
| inspection/ 10个vue全无script | 🟡 | PACS前端空壳 | 需实现全部页面 |
| medicationmanagement/ 57个空壳 | 🟡 | 药品管理前端缺逻辑 | 需补全业务逻辑 |
| NursingVitalSignsChartController 违反分层 | 🟡 | Controller直接查数据库 | 迁移到AppService |
| ScheduleSlotController 死代码 | 🟡 | 占用路由无功能 | 删除或实现 |
| 3个orphan Flyway表无entity | 🟡 | 数据库有表无Java映射 | 创建entity或删除表 |
---
## 1. Phase 1: P0核心达标Sprint 1-55周
> **目标**: 补齐三甲硬性缺失能力电子病历4级核心就绪
> **详细设计**: `MD/design/PHASE1_CORE_DESIGN.md`78KB
### Sprint 1: 住院医生站闭环Week 1
**依赖**: 无
**交付物**: 医嘱执行闭环 + 输血管理 + 临床路径 + 危急值处理
- [ ] **T1.1: 医嘱执行闭环追踪**
- Files: `regdoctorstation/` 新增 `OrderClosedLoopController.java`
- DB: V38已建 `order_execute_record`/`order_execute_step`补AppService逻辑
- Frontend: `inpatientDoctor/` 新增 `OrderClosedLoop.vue`
- Test: 医嘱开立→执行→完成全链路状态流转
- Commit: `feat(order): 医嘱执行闭环追踪`
- [ ] **T1.2: 输血管理**
- Files: 新建 `bloodtransfusion/` 模块Controller/AppService/Service/Mapper/Entity
- DB: 新建 `blood_transfusion_record`/`blood_transfusion_observation`
- Frontend: `inpatientDoctor/` 新增 `BloodTransfusion.vue`
- Test: 输血申请→审批→配血→输注→观察全流程
- Commit: `feat(blood): 输血管理全流程`
- [ ] **T1.3: 临床路径执行**
- Files: `clinical/` 已有 `ClinicalPathwayController.java`
- DB: V30已建 `clinical_pathway`/`clinical_pathway_execution`,补执行逻辑
- Frontend: `inpatientDoctor/` 新增 `ClinicalPathway.vue`
- Test: 入径评估→路径执行→变异记录→出径
- Commit: `feat(pathway): 临床路径执行管理`
- [ ] **T1.4: 危急值处理记录**
- Files: `criticalvalue/` 已有 `CriticalValueController.java`133行需扩展
- DB: V8已建 `critical_value` 表,补住院端处理入口
- Frontend: `inpatientDoctor/` 新增 `CriticalValueHandle.vue`
- Test: 危急值通知→确认→处理→复查闭环
- Commit: `feat(critical): 危急值住院端处理`
- [ ] **T1.5: Sprint 1 验证**
- Run: `mvn clean compile -DskipTests`
- Run: `mvn test -pl healthlink-his-application`
- 验证: 4个新接口返回 `{code:200, data:...}`
- Commit: `test: Sprint 1 验证通过`
### Sprint 2: 手术麻醉系统Week 2
**依赖**: Sprint 1
**交付物**: 麻醉评估 + 术中记录 + 麻醉小结 + 术后随访
- [ ] **T2.1: 麻醉评估(ASA分级)**
- Files: `anesthesia/` 扩展 `AnesthesiaController.java`
- DB: V3已建 `anes_record`,新增 `anes_assessment`
- Frontend: `anesthesia/` 新增 `AnesthesiaAssessment.vue`
- Test: ASA分级评估→气道评估→禁食确认→知情同意
- Commit: `feat(anesthesia): ASA麻醉评估`
- [ ] **T2.2: 术中生命体征(5min间隔)**
- Files: `anesthesia/` 新增 `AnesthesiaVitalSignController.java`
- DB: V3已建 `anes_vital_sign`,补自动采集逻辑
- Frontend: `anesthesiaenhanced/` 新增 `IntraopVitalSign.vue`
- Test: 5分钟间隔生命体征记录+实时曲线
- Commit: `feat(anesthesia): 术中生命体征监测`
- [ ] **T2.3: 麻醉小结**
- Files: `anesthesia/` 新增 `AnesthesiaSummaryController.java`
- DB: 新建 `anes_summary` 表(麻醉总结+并发症)
- Frontend: `anesthesia/` 新增 `AnesthesiaSummary.vue`
- Test: 麻醉总结→并发症记录→归档
- Commit: `feat(anesthesia): 麻醉小结`
- [ ] **T2.4: 术后随访记录**
- Files: `anesthesia/` 扩展已有 `anes_postoperative_followup`
- DB: V19已建 `anes_postoperative_followup`补24h/48h/72h随访
- Frontend: `anesthesiaenhanced/` 新增 `PostopFollowup.vue`
- Test: 术后24h/48h/72h随访+疼痛评估
- Commit: `feat(anesthesia): 术后随访记录`
- [ ] **T2.5: Sprint 2 验证**
- Run: `mvn clean compile -DskipTests`
- Run: `mvn test -pl healthlink-his-application`
- 验证: 麻醉全流程4个新接口正常
- Commit: `test: Sprint 2 验证通过`
### Sprint 3: 电子病历增强Week 3
**依赖**: Sprint 1
**交付物**: 修改留痕 + 版本管理 + 完整性检查 + 时效监控
- [ ] **T3.1: 病历修改留痕**
- Files: `emr/` 扩展 `EmrController.java`
- DB: V5已建 `emr_revision`补diff追踪逻辑
- Frontend: `emr/` 新增 `EmrRevisionTrack.vue`
- Test: 修改病历→自动记录原文+修改人+时间+差异
- Commit: `feat(emr): 病历修改留痕`
- [ ] **T3.2: 病历版本管理**
- Files: `emr/` 扩展已有逻辑
- DB: 扩展 `doc_emr` 增加 `version` 字段V27已建 `emr_archive_record`
- Frontend: `emr/` 新增 `EmrVersionCompare.vue`
- Test: 历史版本保存+版本对比
- Commit: `feat(emr): 病历版本管理`
- [ ] **T3.3: 病历完整性检查**
- Files: `emr/` 扩展 `EmrController.java`
- DB: V5已建 `emr_completeness_check`,补自动校验逻辑
- Frontend: `emr/` 新增 `EmrCompletenessCheck.vue`
- Test: 必填项+逻辑一致性自动检查
- Commit: `feat(emr): 病历完整性检查`
- [ ] **T3.4: 病历时效监控**
- Files: 新建 `emrtimeliness/` 模块
- DB: V5已建 `emr_timeliness`,补超时提醒逻辑
- Frontend: `emr/` 新增 `EmrTimelinessMonitor.vue`
- Test: 入院记录24h/首次病程8h/日常病程超时提醒
- Commit: `feat(emr): 病历时效监控`
- [ ] **T3.5: Sprint 3 验证**
- Run: `mvn clean compile -DskipTests`
- Run: `mvn test -pl healthlink-his-application`
- 验证: 电子病历4个增强功能正常
- Commit: `test: Sprint 3 验证通过`
### Sprint 4: 病案管理Week 4
**依赖**: Sprint 3
**交付物**: 首页质控 + HQMS上报 + 终末质控 + 病案示踪 + 死亡讨论
- [ ] **T4.1: 病案首页数据质量校验**
- Files: `mrhomepage/` 扩展 `MrHomepageController.java`
- DB: V4已建 `mr_homepage`/`mr_homepage_quality_check`,补校验规则
- Frontend: `mrhomepage/` 新增 `MrHomepageQualityCheck.vue`
- Test: 首页必填项+逻辑校验+ICD编码验证
- Commit: `feat(mr): 病案首页质量校验`
- [ ] **T4.2: 病案首页HQMS上报**
- Files: `mrhomepage/` 新增 `MrHomepageReportController.java`
- DB: 新建 `mr_hqms_report`
- Frontend: `mrhomepage/` 新增 `MrHomepageReport.vue`
- Test: 首页数据→HQMS格式→上报→状态追踪
- Commit: `feat(mr): HQMS首页上报`
- [ ] **T4.3: 病案终末质控**
- Files: `quality/` 扩展 `EmrQualityController.java`
- DB: V11已建 `emr_defect`/`emr_quality_score`,补终末质控逻辑
- Frontend: `quality/` 新增 `TerminalQualityCheck.vue`
- Test: 出院后质控评分→缺陷记录→整改跟踪
- Commit: `feat(quality): 病案终末质控`
- [ ] **T4.4: 病案示踪管理**
- Files: `mrhomepage/` 扩展已有逻辑
- DB: V18已建 `mr_tracking`/`mr_borrowing`/`mr_sealing`,补状态追踪
- Frontend: `hospitalRecord/` 新增 `MrTracking.vue`
- Test: 在架/借出/归档状态追踪+借阅审批
- Commit: `feat(mr): 病案示踪管理`
- [ ] **T4.5: 死亡病例讨论记录**
- Files: `mrhomepage/` 扩展已有逻辑
- DB: V18已建 `mr_death_discussion`补7日内完成提醒
- Frontend: `hospitalRecord/` 新增 `DeathDiscussion.vue`
- Test: 死亡讨论记录→7日内完成提醒→归档
- Commit: `feat(mr): 死亡病例讨论`
- [ ] **T4.6: Sprint 4 验证**
- Run: `mvn clean compile -DskipTests`
- Run: `mvn test -pl healthlink-his-application`
- 验证: 病案管理5个功能正常
- Commit: `test: Sprint 4 验证通过`
### Sprint 5: P0收尾 + Phase 1集成测试Week 5
**依赖**: Sprint 1-4
**交付物**: 合理用药增强 + 传染病报告 + 全链路集成测试
- [ ] **T5.1: 合理用药-肝肾功能自动调量**
- Files: `rationaldrug/` 扩展已有逻辑
- DB: V2已建 `drug_dosage_range`,补肝肾功能调量规则
- Frontend: `rationaldrug/` 实现已有空壳页面
- Test: 肝肾功能化验结果→自动建议调量
- Commit: `feat(rationaldrug): 肝肾功能自动调量`
- [ ] **T5.2: 门诊传染病报告卡**
- Files: `epidemic/` 扩展已有逻辑
- DB: 扩展已有表,补填报+审核流程
- Frontend: `diseaseReportManagement/` 实现已有页面
- Test: 传染病诊断→自动匹配→报卡填报→审核→上报
- Commit: `feat(epidemic): 传染病报告卡`
- [ ] **T5.3: Phase 1 全链路集成测试**
- Test: 住院全流程(入院→医嘱→执行→护理→出院→病案)
- Test: 门诊全流程(挂号→就诊→收费→发药)
- Test: 手术全流程(申请→排程→麻醉→手术→记录)
- 验证: 所有新接口返回正确状态
- Commit: `test: Phase 1 全链路集成测试通过`
- [ ] **T5.4: Phase 1 里程碑评审**
- 输出: 电子病历4级自评报告
- 输出: Phase 1 完成度报告17项→完成率评估
- Commit: `docs: Phase 1 里程碑评审报告`
---
## 2. Phase 2: P1评审保障Sprint 6-105周
> **目标**: 补齐P1模块三甲评审17项必测项全覆盖
> **详细设计**: `MD/design/PHASE2_REVIEW_DESIGN.md`40.5KB
### Sprint 6: 院感管理Week 6
**依赖**: Phase 1完成
**交付物**: 院感6项缺失能力
- [ ] **T6.1: 院感病例自动筛查**
- Files: `infection/` 扩展 `InfectionController.java`
- DB: V9已建 `hir_infection_case`,补规则引擎筛查逻辑
- Frontend: `infection/` 实现筛查工作台
- Test: 诊断+检验结果→自动匹配疑似病例
- Commit: `feat(infection): 院感病例自动筛查`
- [ ] **T6.2: 暴发预警**
- Files: `infection/` 扩展已有逻辑
- DB: V17已建 `hir_outbreak_warning`,补预警算法
- Frontend: `infection/` 新增预警仪表盘
- Test: 同科室短时间多例感染→预警触发
- Commit: `feat(infection): 暴发预警`
- [ ] **T6.3: 目标性监测(ICU/手术部位)**
- Files: `infection/` 扩展已有逻辑
- DB: V17已建 `hir_targeted_surveillance`补ICU导管/手术部位监测
- Frontend: `infection/` 新增目标监测页面
- Test: ICU导管感染率/手术部位感染率统计
- Commit: `feat(infection): 目标性监测`
- [ ] **T6.4: 手卫生+环境+耐药菌**
- Files: `infection/` 扩展已有逻辑
- DB: V17已建 `hir_hand_hygiene`/`hir_environmental_monitor`/`hir_multi_drug_resistant`
- Frontend: `infection/` 实现3个监测页面
- Test: 手卫生依从性/环境监测/耐药菌跟踪
- Commit: `feat(infection): 手卫生+环境+耐药菌监测`
- [ ] **T6.5: Sprint 6 验证**
- Run: `mvn clean compile -DskipTests`
- Run: `mvn test -pl healthlink-his-application`
- Commit: `test: Sprint 6 验证通过`
### Sprint 7: 护理评估+护士站Week 7
**依赖**: Sprint 6
**交付物**: 护理3项缺失 + 护士站3项缺失
- [ ] **T7.1: 管道滑脱风险评估**
- Files: `nursing/` 扩展已有逻辑
- DB: V26已建 `nursing_assessment_intervention`,补管道评估
- Frontend: `nursingenhanced/` 新增管道评估页面
- Test: 导管类型/位置/状态评估→风险分级
- Commit: `feat(nursing): 管道滑脱风险评估`
- [ ] **T7.2: 营养风险筛查NRS2002**
- Files: `nursing/` 扩展已有逻辑
- DB: 扩展 `nursing_assessment`补NRS2002量表
- Frontend: `nursingenhanced/` 新增营养筛查页面
- Test: NRS2002量表→自动评分→营养干预
- Commit: `feat(nursing): 营养风险筛查`
- [ ] **T7.3: 疼痛评估NRS/VAS**
- Files: `nursing/` 扩展已有逻辑
- DB: 扩展 `nursing_assessment`补NRS/VAS评分
- Frontend: `nursingenhanced/` 新增疼痛评估页面
- Test: NRS/VAS评分→干预→再评估
- Commit: `feat(nursing): 疼痛评估`
- [ ] **T7.4: 护理文书+质量指标+交接班**
- Files: `inhospitalnursestation/` 扩展已有逻辑
- DB: V21已建 `nursing_execution_scan`/`nursing_handoff_record`/`nursing_infusion_patrol`
- Frontend: `inpatientNurse/` 新增3个页面
- Test: 护理记录单/质量指标采集/交接班重点患者
- Commit: `feat(nursing): 护理文书+质量指标+交接班`
- [ ] **T7.5: Sprint 7 验证**
- Run: `mvn clean compile -DskipTests`
- Run: `mvn test -pl healthlink-his-application`
- Commit: `test: Sprint 7 验证通过`
### Sprint 8: LIS+PACSWeek 8
**依赖**: Sprint 7
**交付物**: 检验3项 + 检查4项
- [ ] **T8.1: 室内质控Westgard规则**
- Files: `lab/` 扩展已有逻辑
- DB: V19已建 `lab_internal_qc`补Westgard规则引擎
- Frontend: `labenhanced/` 新增质控图页面
- Test: 质控数据→Westgard规则判断→失控处理
- Commit: `feat(lab): 室内质控Westgard规则`
- [ ] **T8.2: 室间质评+报告打印**
- Files: `lab/` 扩展已有逻辑
- DB: V19已建 `lab_external_eqa`
- Frontend: `labenhanced/` 新增室间质评+报告打印页面
- Test: 室间质评结果录入+标准报告单打印
- Commit: `feat(lab): 室间质评+报告打印`
- [ ] **T8.3: DICOM图像采集+结构化报告**
- Files: `check/` 扩展已有逻辑
- DB: V30已建 `radiology_image`/`radiology_image_report`/`dicom_print_record`
- Frontend: `inspection/` 实现全部10个空壳页面
- Test: DICOM图像接收→存储→结构化报告
- Commit: `feat(check): DICOM图像+结构化报告`
- [ ] **T8.4: 影像对比+DICOM打印**
- Files: `check/` 扩展已有逻辑
- DB: V22已建 `radiology_image_comparison`
- Frontend: `radiologycomparison/` 实现影像对比页面
- Test: 历史影像对比+胶片打印接口
- Commit: `feat(check): 影像对比+DICOM打印`
- [ ] **T8.5: Sprint 8 验证**
- Run: `mvn clean compile -DskipTests`
- Run: `mvn test -pl healthlink-his-application`
- Commit: `test: Sprint 8 验证通过`
### Sprint 9: ESB集成平台Week 9-10
**依赖**: Sprint 8
**交付物**: ESB 6项缺失能力
- [ ] **T9.1: HL7 FHIR R4消息转换**
- Files: `esbmanage/` 扩展已有逻辑
- DB: V18已建 `esb_fhir_resource`补FHIR资源映射
- Frontend: `esbmanage/` 实现FHIR管理页面
- Test: HIS内部格式↔FHIR R4格式转换
- Commit: `feat(esb): HL7 FHIR R4消息转换`
- [ ] **T9.2: CDA临床文档**
- Files: `esbmanage/` 扩展已有逻辑
- DB: V18已建 `esb_cda_document`补CDA生成
- Frontend: `fhircda/` 实现CDA管理页面
- Test: 入院/出院/检验/处方CDA文档生成
- Commit: `feat(esb): CDA临床文档`
- [ ] **T9.3: 编码映射+监控+可靠性**
- Files: `esbmanage/` 扩展已有逻辑
- DB: V18已建 `esb_code_mapping`V29已建 `esb_dead_letter`/`esb_monitor_stats`
- Frontend: `esbmanage/` 实现监控仪表盘
- Test: ICD-10/LOINC映射+消息监控+死信处理
- Commit: `feat(esb): 编码映射+监控+可靠性`
- [ ] **T9.4: Sprint 9-10 验证**
- Run: `mvn clean compile -DskipTests`
- Run: `mvn test -pl healthlink-his-application`
- 验证: ESB消息路由+FHIR转换+CDA生成
- Commit: `test: ESB集成平台验证通过`
- [ ] **T9.5: Phase 2 里程碑评审**
- 输出: 三甲评审17项必测项覆盖报告
- 输出: Phase 2 完成度报告
- Commit: `docs: Phase 2 里程碑评审报告`
---
## 3. Phase 3: 空壳补全+其他Sprint 11-144周
> **目标**: 补全31项空壳 + 统计报表 + EMPI + 其他
> **详细设计**: `MD/design/PHASE3_FILL_DESIGN.md`46.4KB
### Sprint 10: EMPI+质量+随访Week 11
- [ ] **T10.1: EMPI患者身份合并/拆分**
- Files: `empi/` 扩展已有逻辑
- DB: V2026_0616_1已建 `empi_person`/`empi_person_id_mapping`
- Frontend: `empienhanced/` 实现合并/拆分页面
- Test: 多来源患者信息合并+拆分+日志
- Commit: `feat(empi): 患者身份合并拆分`
- [ ] **T10.2: EMPI重复检测+跨系统同步**
- Files: `empi/` 扩展已有逻辑
- DB: V20已建 `empi_merge_log`/`empi_family_member`/`empi_patient_photo`
- Frontend: `empienhanced/` 实现重复检测页面
- Test: 身份证+姓名+手机号模糊匹配+跨系统同步
- Commit: `feat(empi): 重复检测+跨系统同步`
- [ ] **T10.3: 质控指标自动采集**
- Files: `quality/` 扩展已有逻辑
- DB: V20已建 `quality_core_indicator`,补采集逻辑
- Frontend: `qualityenhanced/` 实现指标采集页面
- Test: 十八项核心制度执行指标自动采集
- Commit: `feat(quality): 质控指标自动采集`
- [ ] **T10.4: 随访管理**
- Files: `followup/` 扩展已有逻辑
- DB: V32已建 `followup_plan`/`followup_record`/`followup_task`
- Frontend: `followup/` 实现已有5个vue页面
- Test: 随访计划生成→任务分配→执行→满意度调查
- Commit: `feat(followup): 随访管理`
- [ ] **T10.5: Sprint 10 验证**
- Run: `mvn clean compile -DskipTests`
- Commit: `test: Sprint 10 验证通过`
### Sprint 11: 药品追溯+CSSD+术前管理Week 12
- [ ] **T11.1: 药品追溯码扫描**
- Files: `drugtrace/` 扩展已有逻辑
- DB: V36已建 `drug_trace_*` 4张表补扫描+追踪逻辑
- Frontend: `drugtrace/` 实现已有4个vue页面
- Test: 药品入库扫描→全链追踪→追溯预警
- Commit: `feat(drugtrace): 药品追溯码扫描`
- [ ] **T11.2: CSSD消毒供应**
- Files: `cssd/` 扩展已有逻辑
- DB: V31已建 `cssd_*` 5张表补器械包追溯逻辑
- Frontend: `cssd/` 实现CSSD管理页面
- Test: 器械包→灭菌批次→效期预警→追溯
- Commit: `feat(cssd): CSSD消毒供应追溯`
- [ ] **T11.3: 术前讨论记录**
- Files: `preopmanage/` 扩展已有逻辑
- DB: V14已建 `sys_preop_discussion`/`sys_preop_participant`
- Frontend: `preopmanage/` 实现术前讨论页面
- Test: 三级/四级手术强制讨论→记录→签名审核
- Commit: `feat(preop): 术前讨论记录`
- [ ] **T11.4: 3D影像重建**
- Files: `reconstruction/` 扩展已有逻辑
- DB: V31已建 `reconstruction_*` 3张表
- Frontend: `reconstruction/` 实现已有2个vue页面
- Test: DICOM三维重建+MPR+体积渲染
- Commit: `feat(reconstruction): 3D影像重建`
- [ ] **T11.5: Sprint 11 验证**
- Run: `mvn clean compile -DskipTests`
- Commit: `test: Sprint 11 验证通过`
### Sprint 12: 统计报表+合理用药增强Week 13
- [ ] **T12.1: DRG/DIP分析**
- Files: `reportmanage/` 扩展已有逻辑
- DB: V28已建 `mr_drg_grouping`/`drg_analysis_stats`V33已建 `drg_performance`
- Frontend: `crossmodule/` 新增DRG分析页面
- Test: 病组分布/费用结构/时间消耗分析
- Commit: `feat(report): DRG/DIP分析`
- [ ] **T12.2: 经营分析+数据导出**
- Files: `reportmanage/` 扩展已有逻辑
- DB: V23已建 `business_analytics`
- Frontend: `crossmodule/` 新增经营分析页面
- Test: 科室成本/收益/绩效+Excel/PDF导出
- Commit: `feat(report): 经营分析+数据导出`
- [ ] **T12.3: 可视化仪表盘**
- Files: `system/` 扩展 `DashboardController.java`
- DB: V20已建 `sys_dashboard_config`
- Frontend: `dashboard/` 新增数据大屏
- Test: 数据大屏+图表展示
- Commit: `feat(dashboard): 可视化仪表盘`
- [ ] **T12.4: Sprint 12 验证**
- Run: `mvn clean compile -DskipTests`
- Commit: `test: Sprint 12 验证通过`
### Sprint 13: Phase 3集成测试Week 14
- [ ] **T13.1: Phase 3 全链路集成测试**
- Test: EMPI→HIS/LIS/PACS/EMR跨系统数据流
- Test: 统计报表全量数据验证
- Test: 药品追溯全链路
- Commit: `test: Phase 3 集成测试通过`
- [ ] **T13.2: Phase 3 里程碑评审**
- 输出: 142项能力完成率报告
- 输出: Phase 3 完成度报告
- Commit: `docs: Phase 3 里程碑评审报告`
---
## 4. Phase 4: 广西地方特色Sprint 14-163周
> **目标**: 满足广西地方要求
> **详细设计**: `MD/design/PHASE4_LOCAL_DESIGN.md`42.6KB
### Sprint 14: 壮医/中医+传染病Week 15
- [ ] **T14.1: 壮医/中医特色模块**
- Files: `tcm/` 扩展已有逻辑
- DB: V39已建 `tcm_prescription`/`tcm_constitution_assessment`补5张新表
- Frontend: `tcm/` 实现2个空壳页面+新增页面
- Test: 壮医望诊/脉诊/目诊+中医处方+体质辨识+民族药编码
- Commit: `feat(tcm): 壮医/中医特色模块`
- [ ] **T14.2: 传染病直报增强**
- Files: `epidemic/` 扩展已有逻辑
- DB: 补4张新表筛查/命中/直报/病种)
- Frontend: `diseaseReportManagement/` 增强已有页面
- Test: 传染病自动筛查+广西疾控直报对接+统计分析
- Commit: `feat(epidemic): 传染病直报增强`
- [ ] **T14.3: Sprint 14 验证**
- Run: `mvn clean compile -DskipTests`
- Commit: `test: Sprint 14 验证通过`
### Sprint 15: 电子健康卡+电子票据Week 16
- [ ] **T15.1: 电子健康卡模块**
- Files: 新建 `ehcard/` 模块Controller/AppService/Service/Mapper/Entity
- DB: 新建 `ehcard_card`/`ehcard_usage_log` 2张表
- Frontend: 新建 `ehcard/` 前端模块
- Test: 健康卡申领+就诊使用+挂失/补办/注销
- Commit: `feat(ehcard): 电子健康卡`
- [ ] **T15.2: 电子票据模块**
- Files: 新建 `invoice/` 模块
- DB: 新建 `invoice_header`/`invoice_detail`/`invoice_segment`/`invoice_reconciliation` 4张表
- Frontend: 新建 `invoice/` 前端模块
- Test: 电子发票生成+核销+退票+查询
- Commit: `feat(invoice): 电子票据`
- [ ] **T15.3: Sprint 15 验证**
- Run: `mvn clean compile -DskipTests`
- Commit: `test: Sprint 15 验证通过`
### Sprint 16: DRG/DIP深化+最终验收Week 17
- [ ] **T16.1: DRG/DIP深化**
- Files: `ybmanage/` 扩展已有逻辑
- DB: 补5张新表广西方案/DIP分值/优化/质控/对账)
- Frontend: `ybmanagement/` 增强已有页面
- Test: 广西DRG/DIP分组+费用预警+优化建议+医保对账
- Commit: `feat(yb): DRG/DIP深化`
- [ ] **T16.2: Phase 4 验证**
- Run: `mvn clean compile -DskipTests`
- Run: `mvn test`
- Commit: `test: Phase 4 验证通过`
- [ ] **T16.3: 全项目最终验收**
- Test: 142项必备能力全部验证
- Test: 电子病历4级自评
- Test: 互联互通四级甲等自评
- 输出: 三甲评审达标报告
- Commit: `docs: 三甲评审最终验收报告`
---
## 5. 工时汇总
| Phase | Sprint数 | 周数 | 模块数 | 人天 |
|-------|:--------:|:----:|:------:|:----:|
| Phase 1 P0核心 | 5 | 5 | 17项 | 51天 |
| Phase 2 P1评审 | 5 | 5 | 25项 | 67天 |
| Phase 3 空壳补全 | 4 | 4 | 37项 | 67天 |
| Phase 4 地方特色 | 3 | 3 | 5项 | 35天 |
| **合计** | **17** | **17** | **84项** | **220天** |
> 并行开发: 2人≈17周3人≈12周4人≈9周
---
## 6. 关键里程碑
| 里程碑 | Sprint | 日期 | 验收标准 | 评审支撑 |
|--------|:------:|------|---------|---------|
| **M1** | Sprint 5 | Week 5 | 电子病历4级核心能力就绪 | 电子病历评级申请 |
| **M2** | Sprint 9 | Week 10 | 三甲评审17项必测项全覆盖 | 三甲评审自查 |
| **M3** | Sprint 13 | Week 14 | 142项能力完成率≥90% | 评审材料准备 |
| **M4** | Sprint 16 | Week 17 | 142项能力100%覆盖 | 地方评审加分 |
---
## 7. 风险管理
| 风险 | 概率 | 影响 | 缓解措施 |
|------|:----:|:----:|---------|
| ESB集成复杂度高 | 高 | Phase 2延期 | 使用开源集成引擎(Kafka) |
| PACS设备对接不确定 | 中 | Sprint 8延期 | 先做框架,设备延后 |
| 医保接口联调周期长 | 中 | Sprint 16延期 | 预留联调缓冲期 |
| God Controller重构风险 | 高 | 引入新BUG | 小步拆分+测试覆盖 |
| 前端空壳数量超预期 | 低 | Sprint 11-12延期 | 优先核心页面 |
---
## 8. 验证命令速查
```bash
# 后端编译
mvn clean compile -DskipTests
# 后端测试
mvn test -pl healthlink-his-application
# 前端编译
cd healthlink-his-ui && npm run build:dev
# 前端lint
cd healthlink-his-ui && npm run lint
# 全量验证每个Sprint结束
mvn clean compile -DskipTests && mvn test -pl healthlink-his-application
```
---
## 9. 设计文档索引
| 文档 | 路径 | 内容 |
|------|------|------|
| 代码审计 | `MD/design/CODEBASE_REALITY_CHECK.md` | 74个后端+89个前端模块真实状态 |
| Phase 1 设计 | `MD/design/PHASE1_CORE_DESIGN.md` | 17项P0核心模块详细设计78KB |
| Phase 2 设计 | `MD/design/PHASE2_REVIEW_DESIGN.md` | 25项P1评审保障详细设计40.5KB |
| Phase 3 设计 | `MD/design/PHASE3_FILL_DESIGN.md` | 37项空壳补全详细设计46.4KB |
| Phase 4 设计 | `MD/design/PHASE4_LOCAL_DESIGN.md` | 5项广西地方特色详细设计42.6KB |
| 三甲标准 | `MD/standards/GRADE3A_HIS_STANDARD.md` | 国家标准汇编 |
| 能力清单 | `MD/standards/MODULE_CAPABILITY_REQUIREMENTS.md` | 142项必备能力清单 |
| 差距分析 | `MD/architecture/GRADE3A_GAP_ANALYSIS_AND_DESIGN.md` | 差距分析+初步设计 |
---
> **文档版本**: v1.0
> **最后更新**: 2026-06-17
> **下一步**: 确认后从 Sprint 1 Task 1.1 开始执行

View File

@@ -1,4 +0,0 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<path d="M704 192H320c-35.2 0-64 28.8-64 64v576c0 35.2 28.8 64 64 64h384c35.2 0 64-28.8 64-64V256c0-35.2-28.8-64-64-64z m-64 576H384V320h256v448z" fill="currentColor"/>
<path d="M416 384h192v128H416z m0 192h128v64H416z" fill="currentColor"/>
</svg>

Before

Width:  |  Height:  |  Size: 331 B

View File

@@ -0,0 +1,6 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<path d="M768 128H256c-35.2 0-64 28.8-64 64v640c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64V192c0-35.2-28.8-64-64-64z m0 64v64H256V192h512z" fill="currentColor"/>
<path d="M320 320h384v64H320z" fill="currentColor"/>
<path d="M320 448h384v64H320z" fill="currentColor"/>
<path d="M320 576h384v64H320z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 416 B

View File

@@ -0,0 +1,7 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<path d="M512 128c-211.2 0-384 172.8-384 384 0 106.24 43.52 202.24 113.92 271.36L256 896h512l-85.33-112.64C769.28 714.24 812.8 618.24 812.8 512c0-211.2-172.8-384-384-384z m0 576c-106.24 0-192-85.76-192-192s85.76-192 192-192 192 85.76 192 192-85.76 192-192 192z" fill="currentColor"/>
<path d="M384 320h64v384h-64z" fill="currentColor"/>
<path d="M576 320h64v384h-64z" fill="currentColor"/>
<path d="M384 384h256v64h-256z" fill="currentColor"/>
<path d="M384 512h256v64h-256z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 592 B

View File

@@ -0,0 +1,5 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<path d="M832 128H192c-35.2 0-64 28.8-64 64v576c0 35.2 28.8 64 64 64h288v-128H256V256h512v128h-128v128h128c35.2 0 64-28.8 64-64V192c0-35.2-28.8-64-64-64z" fill="currentColor"/>
<path d="M320 384h384v64H320z" fill="currentColor"/>
<path d="M320 512h384v64H320z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 373 B

View File

@@ -0,0 +1,6 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<path d="M768 128H256c-35.2 0-64 28.8-64 64v640c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64V192c0-35.2-28.8-64-64-64z m0 64v64H256V192h512z" fill="currentColor"/>
<path d="M320 320h384v64H320z" fill="currentColor"/>
<path d="M320 448h384v64H320z" fill="currentColor"/>
<path d="M320 576h384v64H320z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 416 B

View File

@@ -0,0 +1,6 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<path d="M768 128H256c-35.2 0-64 28.8-64 64v640c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64V192c0-35.2-28.8-64-64-64z m0 64v64H256V192h512z" fill="currentColor"/>
<path d="M320 320h384v64H320z" fill="currentColor"/>
<path d="M320 448h384v64H320z" fill="currentColor"/>
<path d="M320 576h384v64H320z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 416 B

View File

@@ -0,0 +1,6 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<path d="M768 128H256c-35.2 0-64 28.8-64 64v640c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64V192c0-35.2-28.8-64-64-64z m0 64v64H256V192h512z" fill="currentColor"/>
<path d="M320 320h384v64H320z" fill="currentColor"/>
<path d="M320 448h384v64H320z" fill="currentColor"/>
<path d="M320 576h384v64H320z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 416 B

View File

@@ -0,0 +1,6 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<path d="M768 128H256c-35.2 0-64 28.8-64 64v640c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64V192c0-35.2-28.8-64-64-64z m0 64v64H256V192h512z" fill="currentColor"/>
<path d="M320 320h384v64H320z" fill="currentColor"/>
<path d="M320 448h384v64H320z" fill="currentColor"/>
<path d="M320 576h384v64H320z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 416 B

View File

@@ -0,0 +1,6 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<path d="M768 128H256c-35.2 0-64 28.8-64 64v640c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64V192c0-35.2-28.8-64-64-64z m0 64v64H256V192h512z" fill="currentColor"/>
<path d="M320 320h384v64H320z" fill="currentColor"/>
<path d="M320 448h384v64H320z" fill="currentColor"/>
<path d="M320 576h384v64H320z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 416 B

View File

@@ -0,0 +1,6 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<path d="M512 128c-211.2 0-384 172.8-384 384 0 106.24 43.52 202.24 113.92 271.36L256 896h512l-85.33-112.64C769.28 714.24 812.8 618.24 812.8 512c0-211.2-172.8-384-384-384z m0 576c-106.24 0-192-85.76-192-192s85.76-192 192-192 192 85.76 192 192-85.76 192-192 192z" fill="currentColor"/>
<path d="M384 320h256v64h-256z" fill="currentColor"/>
<path d="M384 448h256v64h-256z" fill="currentColor"/>
<path d="M384 576h256v64h-256z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 538 B