docs: 统一文档管理规范,合并docs/到MD/目录

- 创建MD/目录结构(architecture/development/standards/specs/bugs/guides/upgrade)
- 制定文档命名规范(大写英文+下划线)
- 制定文档格式规范(元数据块、结构模板)
- 合并27个文档到MD/目录,按类别分类
- 删除旧的docs/目录
- 更新AGENTS.md铁律#5: 文档统一管理

命名规范:
- 架构设计: ARCH_<模块>_<描述>.md
- 开发计划: PLAN_<类型>_<版本>.md
- 国家标准: STD_<标准名称>.md
- 技术规范: SPEC_<类型>_<描述>.md
- Bug修复: BUG_<编号>_<描述>.md
- 使用指南: GUIDE_<主题>.md
- 升级记录: UPGRADE_<组件>_<类型>.md
This commit is contained in:
2026-06-06 09:06:21 +08:00
parent 86c82286c6
commit d8427f788e
28 changed files with 224 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
# 三甲医院 HIS 系统 V2 开发计划
> 开发模式: TDD (Test-Driven Development)
> 每个功能: 先写接口测试 → 开发后端 → 开发前端 → 集成测试
## 开发顺序
### Sprint 1: 门诊挂号+收费 (5天)
1. 挂号管理 - 号源/预约/退号/多身份
2. 门诊收费 - 收费/退费/发票/日结
3. 接口测试: 20个API测试用例
4. 前端: 挂号窗口+收费窗口完整界面
### Sprint 2: 门诊医生工作站 (5天)
1. 候诊队列管理
2. 病历书写(结构化)
3. 处方开具(西药/中成药/中药)
4. 检验检查申请
5. 接口测试: 25个API测试用例
6. 前端: 医生工作站完整界面
### Sprint 3: 住院管理 (5天)
1. 入院登记+床位管理
2. 住院医嘱(长期/临时)
3. 护士执行+体温单
4. 出院结算
5. 接口测试: 30个API测试用例
6. 前端: 护士站+医生站完整界面
### Sprint 4: 药品管理 (5天)
1. 药品目录+库存
2. 采购入库+验收
3. 调拨+盘点+报损
4. 毒麻药品管理
5. 接口测试: 25个API测试用例
6. 前端: 药房管理完整界面
### Sprint 5: 检验检查 (3天)
1. LIS检验流程
2. 危急值管理
3. 接口测试: 15个API测试用例
4. 前端: 检验工作站
### Sprint 6: 统计报表+质控 (2天)
1. 门诊/住院统计
2. 药品统计
3. 质控指标
4. 接口测试: 10个API测试用例
5. 前端: 报表中心
## 测试用例设计原则
每个API必须有:
1. 正常流程测试
2. 边界条件测试
3. 异常处理测试
4. 权限控制测试
5. 数据一致性测试

View File

@@ -0,0 +1,772 @@
# HealthLink HIS 三甲医院达标开发计划
> **目标**: 完全符合三级甲等综合医院信息化评审标准
> **依据**: 《三级医院评审标准2022年版》、电子病历评级≥4级、互联互通≥四级甲等
> **编制日期**: 2026-06-06
> **开发原则**:
> 1. 不修改原有函数签名扩展功能通过新建Service/AppService实现
> 2. 新建表和字段通过Flyway框架管理
> 3. 每个模块开发完成后必须通过完整测试
---
## 一、现状差距分析
### 1.1 已有能力(✅ 可用)
| 模块 | 状态 | 说明 |
|---|---|---|
| 门诊挂号 | ✅ | 预约/当日/退号/多身份 |
| 门诊收费 | ✅ | 收费/退费/日结 |
| 门诊医生站 | ✅ | 处方/检验检查申请/病历 |
| 护士工作站 | ✅ | 医嘱执行/生命体征/护理记录 |
| 药品管理 | ✅ | 药库/药房/发药/退药 |
| 住院管理 | ✅ | 入院/床位/转科/出院/押金 |
| 检验检查 | ✅ | LIS配置/检查类型/项目管理 |
| 统计报表 | ✅ | 20+报表接口 |
| DRG/DIP | ✅ | 基础框架已有 |
### 1.2 关键差距(❌ 需开发)
| 差距模块 | 三甲要求 | 当前状态 | 优先级 |
|---|---|---|---|
| **手术麻醉系统** | 评审必查 | 仅有1个Controller功能不完整 | 🔴 P0 |
| **合理用药系统** | 处方100%审核 | 完全缺失 | 🔴 P0 |
| **电子签名/CA** | 三甲硬性要求 | 仅有基础框架 | 🔴 P0 |
| **院感管理** | 评审必查 | 完全缺失 | 🔴 P0 |
| **病案管理** | 病案首页数据质量 | 仅有1个Controller | 🔴 P0 |
| **护理评估体系** | 多种量表评估 | 仅基础护理记录 | 🟡 P1 |
| **医嘱闭环管理** | 开立→审核→执行→完成 | 部分实现 | 🟡 P1 |
| **处方点评** | 合理用药管控 | 完全缺失 | 🟡 P1 |
| **抗菌药物管控** | 分级管理/权限控制 | 完全缺失 | 🟡 P1 |
| **危急值管理** | 检验危急值闭环 | 完全缺失 | 🟡 P1 |
| **电子病历结构化** | 结构化+模板 | 基础模板已有 | 🟡 P1 |
| **数据集成平台(ESB)** | 互联互通四级甲等 | 完全缺失 | 🟡 P1 |
| **患者主索引(EMPI)** | 数据标准化基础 | 完全缺失 | 🟡 P1 |
| **药品追溯码** | 2026年新规 | 完全缺失 | 🟡 P1 |
---
## 二、分阶段开发计划
### Phase 1: 核心安全模块3周
> 目标:补齐三甲硬性要求的缺失模块
#### Sprint 7: 合理用药系统 (5天)
**业务描述**: 处方前置审核、药品相互作用检查、过敏检测、剂量审查、抗菌药物管控
**三甲依据**: 处方审核率≥100%、抗菌药物分级管理
**后端开发**:
1. `PrescriptionReviewService` — 处方前置审核引擎
- 药品相互作用检查(两药/三药配伍禁忌)
- 过敏史自动匹配
- 剂量范围检查(超剂量/低剂量预警)
- 重复用药检查(同类/同成分)
- 配伍禁忌(输液配伍审查)
- 妊娠/哺乳用药警示
- 儿童用药按体重计算
2. `AntibioticManageService` — 抗菌药物分级管理
- 非限制使用级/限制使用级/特殊使用级
- 医生抗菌药物处方权限管理
- 抗菌药物使用率实时监控
- DDD限定日剂量监测
3. `PrescriptionCommentService` — 处方点评
- 可配置点评规则库
- 系统自动筛查不合理处方
- 人工点评工作台
- 合理率统计、科室/医生排名
**前端开发**:
1. 处方审核弹窗(开方时实时拦截)
2. 抗菌药物管理界面
3. 处方点评工作台
**数据库设计**:
```sql
-- Flyway: V2026_007__rational_drug_use.sql
CREATE TABLE sys_drug_interaction (
id BIGSERIAL PRIMARY KEY,
drug_code_a VARCHAR(50) NOT NULL,
drug_code_b VARCHAR(50) NOT NULL,
interaction_level VARCHAR(20) NOT NULL, -- 禁忌/严重/一般
description TEXT,
suggestion TEXT,
status CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE sys_drug_allergy (
id BIGSERIAL PRIMARY KEY,
patient_id BIGINT NOT NULL,
allergy_type VARCHAR(50), -- 药物/食物/其他
allergen_code VARCHAR(50),
allergen_name VARCHAR(200),
reaction VARCHAR(200),
severity VARCHAR(20), -- 轻度/中度/重度
status CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE sys_prescription_review (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
doctor_id BIGINT NOT NULL,
prescription_type VARCHAR(20), -- 西药/中成药/中药
review_result VARCHAR(20), -- 合理/不合理/需人工审核
review_detail JSONB, -- 审查明细
reviewer_id BIGINT,
review_time TIMESTAMP,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE sys_antibiotic_record (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
doctor_id BIGINT NOT NULL,
drug_code VARCHAR(50) NOT NULL,
drug_name VARCHAR(200),
usage_days INT,
ddd_value DECIMAL(10,2),
level VARCHAR(20), -- 非限制/限制/特殊
approval_status VARCHAR(20), -- 审批中/已批准/已拒绝
approver_id BIGINT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE sys_prescription_comment (
id BIGSERIAL PRIMARY KEY,
prescription_id BIGINT,
encounter_id BIGINT,
doctor_id BIGINT,
department_id BIGINT,
comment_type VARCHAR(20), -- 自动/人工
comment_result VARCHAR(20), -- 合理/不合理
comment_detail TEXT,
commentator_id BIGINT,
comment_time TIMESTAMP,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
**测试用例** (20个):
1. 处方审核正常通过
2. 药品相互作用拦截
3. 过敏药物拦截
4. 超剂量预警
5. 重复用药拦截
6. 抗菌药物权限校验
7. 抗菌药物分级限制
8. 处方点评自动筛查
9. 人工点评提交
10. 合理率统计查询
...
---
#### Sprint 8: 手术麻醉系统 (5天)
**业务描述**: 手术预约→审批→排程→麻醉评估→麻醉记录→手术记录→术后管理
**三甲依据**: 互联互通测评必测项(I-13)
**后端开发**:
1. `SurgeryScheduleService` — 手术预约排程
- 手术申请→科室审批→医务科审批→排程→通知
- 手术间/手术台管理
- 手术医生/麻醉医生/器械护士排班
- 急诊手术绿色通道
2. `AnesthesiaAssessmentService` — 麻醉评估
- 术前评估ASA分级、气道评估
- 麻醉方案制定
- 知情同意书电子签署
3. `AnesthesiaRecordService` — 麻醉记录
- 术中监测数据记录(生命体征、用药、事件)
- 麻醉用药记录
- 麻醉苏醒评估
4. `SurgeryRecordService` — 手术记录
- 术者/助手/器械/巡回护士记录
- 植入物记录
- 手术出血/并发症记录
- 术后医嘱自动生成
5. `SurgeryStatisticsService` — 手术统计
- 手术量统计
- 手术并发症率
- 手术死亡率
**前端开发**:
1. 手术预约申请界面
2. 手术排程甘特图
3. 麻醉记录工作站
4. 手术记录表单
5. 手术统计仪表盘
**数据库设计**:
```sql
-- Flyway: V2026_008__surgery_anesthesia.sql
CREATE TABLE sys_surgery_schedule (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
surgery_code VARCHAR(50),
surgery_name VARCHAR(200),
surgery_level VARCHAR(20), -- 一/二/三/四级
surgeon_id BIGINT,
anesthesiologist_id BIGINT,
手术_room VARCHAR(50),
surgery_table VARCHAR(50),
planned_start_time TIMESTAMP,
planned_end_time TIMESTAMP,
actual_start_time TIMESTAMP,
actual_end_time TIMESTAMP,
status VARCHAR(20), -- 申请/审批中/已排程/进行中/已完成/已取消
approval_status VARCHAR(20),
emergency_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE sys_anesthesia_record (
id BIGSERIAL PRIMARY KEY,
surgery_schedule_id BIGINT NOT NULL,
encounter_id BIGINT NOT NULL,
anesthesia_type VARCHAR(50), -- 全麻/椎管内/神经阻滞/局部
asa_level VARCHAR(10),
airway_assessment VARCHAR(20),
pre_op_assessment TEXT,
anesthesia_plan TEXT,
intra_vital_signs JSONB, -- 术中生命体征
anesthesia_medications JSONB, -- 麻醉用药
intra_events JSONB, -- 术中事件
blood_loss_ml INT,
urine_output_ml INT,
fluid_input_ml INT,
extubation_time TIMESTAMP,
recovery_assessment TEXT,
status VARCHAR(20), -- 评估中/进行中/已结束
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE sys_surgery_record (
id BIGSERIAL PRIMARY KEY,
surgery_schedule_id BIGINT NOT NULL,
encounter_id BIGINT NOT NULL,
surgeon_id BIGINT,
assistants JSONB,
scrub_nurse_id BIGINT,
circulating_nurse_id BIGINT,
incision_time TIMESTAMP,
closure_time TIMESTAMP,
implant_records JSONB,
specimen_records JSONB,
blood_loss_ml INT,
complications JSONB,
post_op_diagnosis TEXT,
post_op_orders TEXT,
status VARCHAR(20), -- 进行中/已完成
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE sys_surgery_room (
id BIGSERIAL PRIMARY KEY,
room_code VARCHAR(50) NOT NULL,
room_name VARCHAR(100),
department_id BIGINT,
room_level VARCHAR(20), -- 洁净/普通/急诊
equipment_list JSONB,
status VARCHAR(20), -- 空闲/使用中/维护中
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
---
#### Sprint 9: 院感管理系统 (5天)
**业务描述**: 院感病例监测、抗菌药物使用监测、手卫生监测、职业暴露管理
**三甲依据**: 医院感染监测报告率达标
**后端开发**:
1. `InfectionMonitorService` — 院感监测
- 院感病例实时监测(自动预警)
- 院感发病率统计
- 部位感染分类
- 多重耐药菌监测
2. `HandHygieneService` — 手卫生管理
- 手卫生依从性监测
- 手卫生正确率统计
- 手卫生培训记录
3. `OccupationalExposureService` — 职业暴露
- 职业暴露登记
- 暴露后处置流程
- 跟踪随访管理
4. `EnvironmentMonitorService` — 环境监测
- 消毒灭菌监测记录
- 空气/物表/手培养监测
**前端开发**:
1. 院感监测仪表盘
2. 院感病例上报表单
3. 手卫生监测界面
4. 职业暴露登记界面
**数据库设计**:
```sql
-- Flyway: 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 VARCHAR(200), -- 耐药类型
report_time TIMESTAMP,
reporter_id BIGINT,
status VARCHAR(20), -- 疑似/确认/已处理
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE sys_hand_hygiene_record (
id BIGSERIAL PRIMARY KEY,
staff_id BIGINT NOT NULL,
department_id BIGINT,
observation_time TIMESTAMP,
observation_type VARCHAR(50), -- 两前三后/手卫生时机
correct_flag CHAR(1),
observer_id BIGINT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE sys_occupational_exposure (
id BIGSERIAL PRIMARY KEY,
staff_id BIGINT NOT NULL,
exposure_type VARCHAR(50), -- 锐器伤/血液暴露/其他
exposure_source VARCHAR(200),
exposure_time TIMESTAMP,
exposure_site VARCHAR(100),
immediate_handling TEXT,
follow_up_plan TEXT,
follow_up_result TEXT,
status VARCHAR(20), -- 登记中/处置中/已结案
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
---
### Phase 2: 病案与护理体系3周
> 目标:补齐病案管理和护理评估体系
#### Sprint 10: 病案管理系统 (5天)
**业务描述**: 病案首页数据质量、编码审核、DRG入组、病案归档
**三甲依据**: 病案首页24小时归档率≥90%
**后端开发**:
1. `MedicalRecordHomeService` — 病案首页管理
- 首页数据自动采集(诊断/手术/费用/护理)
- ICD-10编码自动推荐
- ICD-9-CM-3手术编码映射
- 首页数据质量校验(完整性/逻辑性/编码正确率)
2. `MedicalRecordAuditService` — 病案质控
- 运行质控(病历完成时限监控)
- 终末质控(出院后病历质量审核)
- 质控评分标准
3. `DRGGroupingService` — DRG入组
- 广西DRG分组方案对接
- 自动DRG分组
- 费用预警(超标提醒)
- CMI值计算
4. `MedicalRecordArchiveService` — 病案归档
- 电子病历归档
- 病案借阅管理
- 病案封存/解封
**前端开发**:
1. 病案首页填写界面(智能填充)
2. 病案质控工作台
3. DRG入组结果展示
4. 病案借阅管理界面
**数据库设计**:
```sql
-- Flyway: V2026_010__medical_record_management.sql
CREATE TABLE sys_medical_record_home (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
admission_date TIMESTAMP,
discharge_date TIMESTAMP,
admission_diagnosis VARCHAR(200),
discharge_diagnosis VARCHAR(200),
primary_diagnosis_code VARCHAR(50),
other_diagnosis_codes JSONB,
surgery_codes JSONB,
drg_group VARCHAR(50),
drg_weight DECIMAL(10,4),
total_cost DECIMAL(12,2),
self_pay_cost DECIMAL(12,2),
medical_insurance_cost DECIMAL(12,2),
los INT, -- 住院天数
outcome VARCHAR(20), -- 治愈/好转/未愈/死亡/其他
quality_score INT,
quality_level VARCHAR(20), -- 甲级/乙级/丙级
archive_status VARCHAR(20), -- 未归档/已归档/已封存
archive_time TIMESTAMP,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE sys_medical_record_audit (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
audit_type VARCHAR(20), -- 运行/终末
audit_item VARCHAR(100),
audit_result VARCHAR(20), -- 合格/不合格
audit_detail TEXT,
auditor_id BIGINT,
audit_time TIMESTAMP,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE sys_drg_grouping (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
drg_code VARCHAR(50),
drg_name VARCHAR(200),
drg_weight DECIMAL(10,4),
drg_cost DECIMAL(12,2),
actual_cost DECIMAL(12,2),
profit_loss DECIMAL(12,2),
grouping_time TIMESTAMP,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
---
#### Sprint 11: 护理评估体系 (5天)
**业务描述**: 多种护理评估量表、护理计划、护理交接班
**三甲依据**: 《护理分级》WS/T 431-2013
**后端开发**:
1. `NursingAssessmentService` — 护理评估
- 入院护理评估入院8小时内完成
- Braden压疮风险评估自动评分
- Morse跌倒风险评估自动评分
- NRS2002营养风险评估
- NRS/VAS疼痛评估
- Caprini VTE风险评估
- Barthel自理能力评估
- 评估时间轴(动态变化追踪)
2. `NursingPlanService` — 护理计划
- 护理诊断(基于评估结果推荐)
- 护理目标设定
- 标准护理措施库
- 病种标准护理计划模板
3. `NursingHandoverService` — 护理交接班
- 交接班记录
- 患者信息汇总
- 重点患者交接
**前端开发**:
1. 护理评估量表工作台(自动评分)
2. 护理计划制定界面
3. 护理交接班界面
4. 评估趋势图
**数据库设计**:
```sql
-- Flyway: V2026_011__nursing_assessment.sql
CREATE TABLE sys_nursing_assessment (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
assessment_type VARCHAR(50), -- 入院/Braden/Morse/NRS2002/NRS/Caprini/Barthel
assessment_score INT,
risk_level VARCHAR(20), -- 低危/中危/高危/极高危
assessment_data JSONB, -- 评估详细数据
assessor_id BIGINT,
assessment_time TIMESTAMP,
next_assessment_time TIMESTAMP,
status VARCHAR(20), -- 有效/已更新/已过期
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE sys_nursing_plan (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
nursing_diagnosis VARCHAR(200),
nursing_goal TEXT,
nursing_interventions JSONB,
plan_template_id BIGINT,
planner_id BIGINT,
plan_time TIMESTAMP,
review_status VARCHAR(20), -- 待审核/已审核/已驳回
reviewer_id BIGINT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE sys_nursing_handover (
id BIGSERIAL PRIMARY KEY,
department_id BIGINT NOT NULL,
shift_type VARCHAR(20), -- 白班/小夜/大夜
handover_time TIMESTAMP,
handover_nurse_id BIGINT,
receiver_nurse_id BIGINT,
patient_summary JSONB, -- 患者交接信息
key_patients JSONB, -- 重点患者
pending_items JSONB, -- 待办事项
status VARCHAR(20), -- 进行中/已完成
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
---
### Phase 3: 数据集成与标准化3周
> 目标:满足互联互通四级甲等要求
#### Sprint 12: 患者主索引(EMPI) (3天)
**业务描述**: 统一患者身份标识、跨系统患者信息匹配
**三甲依据**: 互联互通四级甲等基础
**后端开发**:
1. `EMPIPatientService` — 患者主索引
- 患者身份信息标准化
- 跨系统患者信息匹配EMPI算法
- 患者身份合并/拆分
- 患者身份变更追溯
2. `EMPIPractitionerService` — 医护人员主索引
- 统一医护人员标识
- 资质信息管理
3. `MasterDataService` — 主数据管理
- 科室字典标准化
- 诊疗项目目录标准化
- 药品目录标准化
- 疾病编码(ICD-10)标准化
- 手术编码(ICD-9-CM-3)标准化
**数据库设计**:
```sql
-- Flyway: V2026_012__empi_master_data.sql
CREATE TABLE sys_empi_patient (
id BIGSERIAL PRIMARY KEY,
empi_id VARCHAR(50) NOT NULL UNIQUE, -- 全局唯一患者标识
patient_id BIGINT, -- 原系统患者ID
id_card VARCHAR(50),
name VARCHAR(100),
gender CHAR(1),
birth_date DATE,
phone VARCHAR(20),
address TEXT,
identity_source VARCHAR(50), -- 来源系统
merge_status VARCHAR(20), -- 正常/已合并/已拆分
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE sys_icd10_catalog (
id BIGSERIAL PRIMARY KEY,
icd_code VARCHAR(20) NOT NULL,
icd_name VARCHAR(200),
category VARCHAR(50),
validity_status VARCHAR(20),
effective_date DATE,
expiration_date DATE,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE sys_icd9cm3_catalog (
id BIGSERIAL PRIMARY KEY,
procedure_code VARCHAR(20) NOT NULL,
procedure_name VARCHAR(200),
category VARCHAR(50),
validity_status VARCHAR(20),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
---
#### Sprint 13: 数据集成平台(ESB) (5天)
**业务描述**: 系统间数据交换、消息路由、服务注册
**三甲依据**: 互联互通四级甲等核心
**后端开发**:
1. `ESBMessageService` — 消息总线
- HL7 FHIR R4 消息格式
- 消息路由、格式转换
- 消息可靠性保障(存储转发、确认机制)
2. `ESBServiceRegistryService` — 服务注册
- 服务注册与发现
- 接口版本管理
- 接口文档自动生成
3. `ESBMonitorService` — 集成监控
- 消息流量监控
- 接口调用日志
- 异常告警
4. `CDADocumentService` — CDA文档生成
- 入院记录CDA
- 出院记录CDA
- 检验报告CDA
- 检查报告CDA
- 处方CDA
- 手术记录CDA
- 护理记录CDA
**数据库设计**:
```sql
-- Flyway: V2026_013__esb_integration.sql
CREATE TABLE sys_esb_message (
id BIGSERIAL PRIMARY KEY,
message_id VARCHAR(100) NOT NULL UNIQUE,
message_type VARCHAR(50),
source_system VARCHAR(50),
target_system VARCHAR(50),
message_content TEXT,
message_format VARCHAR(20), -- HL7/FHIR/CDA
status VARCHAR(20), -- 待发送/发送中/已发送/发送失败/已确认
retry_count INT DEFAULT 0,
error_message TEXT,
send_time TIMESTAMP,
ack_time TIMESTAMP,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE sys_esb_service_registry (
id BIGSERIAL PRIMARY KEY,
service_name VARCHAR(100),
service_version VARCHAR(20),
service_endpoint VARCHAR(500),
service_description TEXT,
service_status VARCHAR(20), -- 启用/停用/维护中
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
---
### Phase 4: 智能化与决策支持3周
> 目标提升电子病历评级至4级以上
#### Sprint 14: 危急值管理系统 (3天)
**业务描述**: 检验危急值自动识别→弹窗→确认→处置→闭环
**三甲依据**: 医疗质量安全核心制度
**后端开发**:
1. `CriticalValueService` — 危急值管理
- 危急值规则配置(项目/上下限)
- 检验结果自动匹配危急值
- 危急值弹窗通知
- 危急值确认记录
- 危急值处置闭环
- 危急值统计分析
**前端开发**:
1. 危急值弹窗组件
2. 危急值处置界面
3. 危急值统计报表
---
#### Sprint 15: 电子病历结构化 (5天)
**业务描述**: 结构化病历、病历模板、修改留痕、版本管理
**三甲依据**: 电子病历应用管理规范
**后端开发**:
1. `StructuredEMRService` — 结构化病历
- 结构化病历模板引擎
- 病历字段自动填充
- 病历完整性检查
2. `EMRVersionService` — 版本管理
- 病历修改留痕
- 历史版本保存
- 版本对比
3. `EMRTemplateService` — 病历模板
- 系统模板管理
- 科室模板管理
- 个人模板管理
---
#### Sprint 16: 医保智能审核 (5天)
**业务描述**: 医保规则引擎、事前/事中/事后审核、DRG/DIP优化
**三甲依据**: 医保基金使用监督管理条例
**后端开发**:
1. `InsuranceAuditService` — 医保智能审核
- 事前审核(开方时拦截)
- 事中审核(住院中监控)
- 事后审核(结算后稽核)
2. `DRGOptimizationService` — DRG/DIP优化
- 主诊断编码推荐
- 主手术编码推荐
- 费用结构优化建议
---
## 三、测试计划
### 每个Sprint测试要求
| 测试类型 | 内容 | 工具 |
|---|---|---|
| **接口测试** | 所有API端点正常/异常/边界 | JUnit + HTTP |
| **白盒测试** | Service层方法覆盖 | Mockito + JUnit |
| **黑盒测试** | 业务流程完整性 | 端到端测试 |
| **冒烟测试** | 核心功能可用性 | 手动+自动化 |
| **回归测试** | 原有功能不受影响 | 全量接口测试 |
### 测试用例设计原则
1. **正常流程测试**: 每个API至少1个正常用例
2. **边界条件测试**: 空值/极值/特殊字符
3. **异常处理测试**: 无权限/参数错误/数据不存在
4. **数据一致性测试**: 事务完整性
5. **性能测试**: 并发场景(可选)
---
## 四、实施路线图
```
Phase 1 (Week 1-3): 核心安全模块
├── Sprint 7: 合理用药系统 (5天)
├── Sprint 8: 手术麻醉系统 (5天)
└── Sprint 9: 院感管理系统 (5天)
Phase 2 (Week 4-6): 病案与护理
├── Sprint 10: 病案管理系统 (5天)
└── Sprint 11: 护理评估体系 (5天)
Phase 3 (Week 7-9): 数据集成
├── Sprint 12: EMPI + 主数据 (3天)
└── Sprint 13: ESB集成平台 (5天)
Phase 4 (Week 10-12): 智能化
├── Sprint 14: 危急值管理 (3天)
├── Sprint 15: 电子病历结构化 (5天)
└── Sprint 16: 医保智能审核 (5天)
总计: 12周 (约3个月)
总用例数: 预计 300+ 个接口测试
```
---
## 五、质量保障
### 5.1 开发规范
1. **不修改原有函数签名** — 扩展功能通过新建Service/AppService实现
2. **数据库变更通过Flyway** — 所有新建表和字段使用Flyway版本化管理
3. **代码审查** — 每个PR必须经过Code Review
4. **单元测试** — Service层覆盖率≥80%
### 5.2 铁律
1. 修改完必须测试才能提交
2. 新建表和字段必须通过Flyway
3. 测试通过后才提交代码
4. 前后端API路径必须对齐
5. 每个Sprint完成后进行完整回归测试
---
> **文档版本**: v1.0
> **最后更新**: 2026-06-06

View File

@@ -0,0 +1,186 @@
# HealthLink-HIS 菜单功能分析报告
> 分析时间: 2026-06-05
> 分析方法: 数据库菜单树 + 前端视图文件 + 后端API 三方交叉比对
## 一、总体概况
| 指标 | 数量 |
|---|---|
| 总菜单数 | ~180 |
| 启用的页面菜单 | ~120 |
| 后端 Controller | 230 个 |
| 前端视图文件 | 209 个 |
| **空壳视图 (22 bytes)** | **26 个** |
| **缺失视图组件** | **18 个** |
| **无组件路径 (portal)** | **~50 个** |
---
## 二、问题分类
### 🔴 A类: 启用但完全无功能 (点击404或空白) — 优先级高
| # | 模块 | 菜单名 | 组件路径 | 状态 |
|---|---|---|---|---|
| 1 | 基础数据 | 服务目录 | `catalog/service/index` | 空壳 |
| 2 | 基础数据 | 客户数据 | `basicmanage/customer/index` | 空壳(禁用) |
| 3 | 基础数据 | 合同管理 | `basicmanage/contract/index` | 空壳(禁用) |
| 4 | 基础数据 | LIS合管配置 | `basicmanage/lisMerge/index` | 空壳(禁用) |
| 5 | 业务规则 | 自动计算 | `basicmanage/automaticBilling/index` | 空壳(禁用) |
| 6 | 业务规则 | 划价组套 | `basicmanage/bargainSets/index` | 空壳(禁用) |
| 7 | 门诊管理 | 门诊退药 | `clinicmanagement/withdrawal/index` | 空壳 |
| 8 | 门诊管理 | 门诊退号 | `clinicmanagement/refundNumber/index` | 空壳 |
| 9 | 门诊管理 | 申请单管理 | `clinicmanagement/requisition/index` | 空壳 |
| 10 | 门诊管理 | 结果查看 | `clinicmanagement/lisPascResult/index` | 空壳 |
| 11 | 门诊管理 | 门诊退费 | `clinicmanagement/consultationRefund/index` | 空壳 |
| 12 | 门诊管理 | 收费详情查询 | `clinicmanagement/chargeDetail/index` | 空壳 |
| 13 | 门诊管理 | 医嘱查看与打印 | `clinicmanagement/orderViewPrint/index` | 空壳 |
| 14 | 住院管理 | 病案管理 | `inHospitalManagement/medicalRecord/index` | 空壳(禁用) |
| 15 | 住院管理 | 费用清单 | `inHospitalManagement/listFee/index` | 空壳(禁用) |
| 16 | 住院管理 | 手术管理 | `inHospitalManagement/surgeryManage/index` | 空壳(禁用) |
| 17 | 住院管理 | 入院诊断 | `inHospitalManagement/inpatientDiagnosis/index` | 空壳 |
| 18 | 住院管理 | 医嘱管理 | `inHospitalManagement/orderManage/index` | 空壳 |
| 19 | 目录对照 | LIS对照 | `vue` (占位) | 缺失 |
| 20 | 目录对照 | PACS对照 | `vue` (占位) | 缺失 |
| 21 | 目录对照 | 诊断对照 | `vue` (占位) | 缺失 |
| 22 | 收费管理 | 门诊收费结算 | `charge/registerRecords` | 空壳 |
| 23 | 收费管理 | 排班管理 | `charge/schedule` | 空壳 |
| 24 | 库房管理 | 货位管理 | `medicationmanagement/locationManagement/index` | 缺失 |
| 25 | 易用性配置 | 中医处方 | `basicmanage/tcmPrescription` | 空壳 |
| 26 | 易用性配置 | 常用诊断 | `basicmanage/commonlyDiagnosis` | 空壳 |
| 27 | 易用性配置 | 床位管理 | `basicmanage/bedspace` | 空壳 |
| 28 | 易用性配置 | 费用配置 | `basicmanage/fee` | 空壳 |
### 🟡 B类: 有菜单但完全无组件 (portal/占位) — 优先级中
| 模块 | 菜单数 | 示例 |
|---|---|---|
| 住院收费 | 4 | 费用管理、住院收费详情、中途结算 |
| 调价管理 | 2 | 调价单管理、调价盈亏记录 |
| 药房管理 | 2 | 退药管理、皮试管理 |
| 医保管理 | ~20 | 医保结算、医保对账、DRG等 |
| 统计报表 | ~10 | 工作量统计、收费报表 |
| 药品追溯 | 7 | 商品删除、库存查询等 |
| 外接系统 | 5 | 电子发票、LIS、PASC等 |
### 🟢 C类: 已禁用的待开发模块 — 优先级低
| 模块 | 菜单名 |
|---|---|
| 患者管理 | 患者档案管理(父级禁用) |
| 基础数据 | 部门管理、客户数据 |
| 住院管理 | 病案管理、费用清单、住院日结 |
| 药房管理 | 住院发药、住院汇总发药、住院退药 |
| 门诊管理 | 发药管理、电子处方审批 |
---
## 三、开发实现计划
### Phase 1: 门诊核心闭环 (4周)
> 目标: 门诊挂号→就诊→开方→收费→发药 全链路无死角
| 优先级 | 功能 | 前端 | 后端 | 工时 |
|---|---|---|---|---|
| P0 | 门诊退号 | withdrawal/index | OutpatientRefund | 2天 |
| P0 | 门诊退药 | clinicmanagement/withdrawal | ReturnMedicine | 2天 |
| P0 | 门诊退费 | consultationRefund | OutpatientRefund | 2天 |
| P0 | 收费详情查询 | chargeDetail | ChargeBill | 1天 |
| P0 | 申请单管理 | requisition | RequestFormManage | 2天 |
| P0 | 结果查看 | lisPascResult | Laboratory/Inspection | 2天 |
| P0 | 医嘱查看与打印 | orderViewPrint | AdviceManage | 2天 |
| P1 | 门诊收费结算 | registerRecords | OutpatientCharge | 3天 |
| P1 | 排班管理 | charge/schedule | DoctorSchedule | 2天 |
**Phase 1 小计: ~18天**
### Phase 2: 基础数据补全 (3周)
> 目标: 目录管理、基础配置完整可用
| 优先级 | 功能 | 前端 | 后端 | 工时 |
|---|---|---|---|---|
| P0 | 服务目录 | catalog/service | Catalog | 2天 |
| P0 | 货位管理 | locationManagement | Location | 2天 |
| P1 | LIS对照 | 新建 | Catalog | 3天 |
| P1 | PACS对照 | 新建 | Catalog | 3天 |
| P1 | 诊断对照 | 新建 | DiseaseManage | 2天 |
| P2 | 客户数据 | customer | Customer | 2天 |
| P2 | 合同管理 | contract | Contract | 2天 |
**Phase 2 小计: ~16天**
### Phase 3: 住院核心补全 (3周)
> 目标: 住院医嘱→执行→收费 闭环
| 优先级 | 功能 | 前端 | 后端 | 工时 |
|---|---|---|---|---|
| P0 | 医嘱管理 | orderManage | AdviceManage | 3天 |
| P0 | 入院诊断 | inpatientDiagnosis | Diagnosis | 2天 |
| P0 | 手术管理 | surgeryManage | Surgery | 3天 |
| P1 | 病案管理 | medicalRecord | MedicalRecord | 3天 |
| P1 | 费用清单 | listFee | InpatientCharge | 2天 |
| P1 | 中途结算 | 新建 | InpatientCharge | 2天 |
**Phase 3 小计: ~15天**
### Phase 4: Flowable工作流 (2周)
> 目标: 流程引擎功能可用
| 优先级 | 功能 | 前端 | 后端 | 工时 |
|---|---|---|---|---|
| P1 | 流程定义 | flowable/definition | FlowDefinition | 2天 |
| P1 | 流程表单 | flowable/task/form | SysForm | 2天 |
| P1 | 待办任务 | flowable/task/todo | FlowTask | 2天 |
| P1 | 已办任务 | flowable/task/finished | FlowTask | 1天 |
| P2 | 流程表达式 | flowable/expression | SysExpression | 1天 |
| P2 | 流程监听 | flowable/listener | SysListener | 1天 |
**Phase 4 小计: ~9天**
### Phase 5: 统计报表 (2周)
> 目标: 核心运营数据可视化
| 优先级 | 功能 | 前端 | 后端 | 工时 |
|---|---|---|---|---|
| P1 | 日结结算单 | dayEndSettlement | DayEndSettlement | 3天 |
| P1 | 医生工作量统计 | 新建 | ReportStatistics | 2天 |
| P1 | 收费结算报表 | 新建 | ChargeReport | 2天 |
| P2 | 发药统计 | 新建 | ReportStatistics | 2天 |
| P2 | 库存结余 | statisticalManagement | InventoryDetails | 1天 |
**Phase 5 小计: ~10天**
### Phase 6: 外接系统对接 (3周)
> 目标: 医保、追溯、电子发票等外部接口
| 优先级 | 功能 | 前端 | 后端 | 工时 |
|---|---|---|---|---|
| P2 | 医保结算 | 新建 | YbInpatient | 5天 |
| P2 | 医保目录对照 | 新建 | Yb | 3天 |
| P2 | 药品追溯码 | traceabilityCode | TraceNoManage | 2天 |
| P3 | 电子发票 | 新建 | EleInvoice | 3天 |
| P3 | DRG结算 | 新建 | Yb | 3天 |
**Phase 6 小计: ~16天**
---
## 四、总计
| Phase | 内容 | 工时 |
|---|---|---|
| Phase 1 | 门诊核心闭环 | 18天 |
| Phase 2 | 基础数据补全 | 16天 |
| Phase 3 | 住院核心补全 | 15天 |
| Phase 4 | Flowable工作流 | 9天 |
| Phase 5 | 统计报表 | 10天 |
| Phase 6 | 外接系统对接 | 16天 |
| **合计** | | **~84天 (约17周)** |
## 五、建议
1. **优先 Phase 1+3** — 门诊和住院是核心业务闭环,缺功能直接影响使用
2. **Phase 2 穿插进行** — 基础数据是其他模块的依赖
3. **Phase 4-6 按需** — 工作流、报表、外接系统可逐步迭代
4. **禁用菜单先不急** — 标注"待开发"的菜单已禁用,不影响用户操作