Files
his/MD/design/PHASE1_CORE_DESIGN.md
chenqi 575f5d6c32 fix(database): 修复数据库字典重复和表结构缺失问题
- 删除手术状态下拉框的重复字典数据,保留每组中dict_code最小的记录
- 修复HisBaseEntity列缺失问题,为多个表添加create_by、update_by、update_time等基础字段
- 为adm_patient表添加邮政编码、户籍地址、监护人信息、患者来源等缺失字段
- 添加文化程度字典类型和相关字典数据,补充3919到3914等10个学历级别选项
- 为adm_patient_identifier表创建tenant_id和patient_id的联合索引以提升查询性能
- 修复prescription_intercept_log和clinical_pathway_execution表的基础实体字段缺失
- 为wor_device_request表增加医嘱退回相关的back_reason、performer_check_id等字段
- 创建EMPI核心表empi_person和empi_person_id_mapping用于全局患者主索引管理
- 为empi_merge_log表添加create_time字段以完善审计信息
- 更新院感管理和评审保障模块的设计文档,明确各模块实现状态和缺失功能
2026-06-17 11:46:56 +08:00

2177 lines
78 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Phase 1P0核心达标17模块详细设计
> 文档类型: 详细设计
> 版本: v1.0
> 日期: 2026-06-17
> 基于: 代码审计发现 + 三甲医院评审标准
---
## 总览
| # | 模块 | 已有文件数 | 已有端点 | 缺失核心功能 |
|---|------|-----------|---------|-------------|
| 1 | 住院医生站 | 125 (87+38) | 60+ | 医嘱执行闭环、输血管理、临床路径、危急值 |
| 2 | 手术麻醉 | 57 | 30+ | ASA评估、术中生命体征、麻醉小结、术后随访 |
| 3 | 电子病历 | 120+ | 40+ | 修改留痕、版本管理、完整性检查、时效监控 |
| 4 | 病案管理 | 35 | 20+ | 首页质量校验、HQMS上报、终末质控、病案示踪 |
| 5 | 药品管理 | 148 | 139+ | 药品交互检查、处方拦截、智能审核 |
| 6 | 护士站 | 55 | 31 | 护理任务管理、执行记录、交接班 |
| 7 | 检验 | 127 | 60+ | 结果自动审核、危急值处理、自动采集 |
| 8 | 检查/影像 | 93 | 55+ | PACS集成、结构化报告、影像后处理 |
| 9 | 放射增强 | 126 | 55+ | 结构化报告模板、AI辅助诊断、对比分析 |
| 10 | 收费/计费 | 86 | 62+ | 票据管理、对账、退费审核、费用报表 |
| 11 | 挂号 | 29 | 30 | 排队叫号、爽约管理、分时段预约 |
| 12 | 门诊 | 22 | 17 | 门诊病历、随访、复诊提醒 |
| 13 | 住院入出转 | 40 | 27 | 预住院、出院小结、转院、死亡登记 |
| 14 | 医保 | 55 | 35+ | 对账明细、DRG预警、医保目录同步 |
| 15 | 系统管理 | 5 | 16 | 参数配置、消息通知、定时任务管理 |
| 16 | 字典/基础数据 | 101 | 77+ | 批量导入校验、数据版本、变更审计 |
| 17 | 电子签名 | 3 | 5 | 签名模板、批量签名、签名验证增强 |
---
## 1. 住院医生站doctorstation + regdoctorstation
### 已有代码分析
| 层 | doctorstation | regdoctorstation |
|----|--------------|-----------------|
| Controller | 12 (Main/Advice/Emr/Diagnosis/Elep/InspectionLab/ChineseMedical/PtDetails/Phrase/TodayOutpatient/ReservationRecord/PendingEmr) | 4 (AdviceManage/NurseManage/SpecialAdvice/RequestFormManage) |
| AppService | 12 | 4 |
| Mapper | 11 | 3 |
| DTO | 36+ | 17+ |
| 前端 | doctorstation/ 45 vue | inpatientDoctor/ 30 vue |
已有功能: 门诊接诊/就诊流程、门诊医嘱开立签发签退、门诊处方、检验检查申请、诊断(中医+西医)、住院医嘱管理、护理医嘱、转科出院医嘱、申请单管理。
### 缺失功能清单
| 功能 | 描述 | 实现方式 |
|------|------|---------|
| 医嘱执行闭环追踪 | 医嘱从开立→审核→执行→完成的全链路状态追踪 | 新增 order_execute_record/order_execute_step 表V38已建补前端闭环视图 |
| 输血管理 | 输血申请→审批→执行→观察记录完整流程 | 新增 blood_transfusion_record 表 |
| 临床路径执行 | 入径评估→路径执行→变异记录→出径评估 | V30已建 clinical_pathway/clinical_pathway_execution补执行界面 |
| 危急值处理记录 | 危急值通知→确认→处理→复查的闭环 | V8已建 critical_value 相关表,补住院医生站处理入口 |
| 住院病程记录 | 住院病程记录的查看和录入 | 复用 document 模块的 ProgressNote 功能 |
| 出院带药 | 出院处方开立与审核 | 复用门诊处方流程,增加出院标识 |
### 业务流程
```
住院医嘱执行闭环:
医生开立医嘱 → 医嘱审核(上级医师) → 护士站接收 → 执行确认
↓ ↓
停嘱/取消 ← 执行异常 ← 执行中(记录时间/用量)
医嘱完成 → 归档
输血管理流程:
医生开立输血医嘱 → 填写输血申请单 → 科室主任审批
→ 输血科审核 → 交叉配血 → 血液出库
→ 护士执行输血 → 输血观察记录(15min/30min/1h)
→ 输血完成/不良反应处理
临床路径执行:
入径评估(符合率判断) → 按日程执行路径项目
→ 变异记录(偏离原因) → 路径调整/出径
→ 出径评估(完成率统计)
```
### 数据库设计
```sql
-- V2026_0618__blood_transfusion_record.sql
CREATE TABLE blood_transfusion_record (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
advice_id BIGINT,
blood_type VARCHAR(10),
blood_component VARCHAR(50) NOT NULL,
blood_volume DECIMAL(10,2),
blood_unit VARCHAR(50),
cross_match_result VARCHAR(20),
indication TEXT,
doctor_id BIGINT NOT NULL,
doctor_name VARCHAR(50),
approval_status VARCHAR(20) DEFAULT 'PENDING',
approver_id BIGINT,
approver_name VARCHAR(50),
approve_time TIMESTAMP,
transfusion_start_time TIMESTAMP,
transfusion_end_time TIMESTAMP,
transfusion_nurse_id BIGINT,
transfusion_nurse_name VARCHAR(50),
pre_vital_signs TEXT,
during_vital_signs TEXT,
post_vital_signs TEXT,
adverse_reaction TEXT,
adverse_reaction_type VARCHAR(50),
status VARCHAR(20) DEFAULT 'DRAFT',
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
CREATE TABLE blood_transfusion_observation (
id BIGSERIAL PRIMARY KEY,
record_id BIGINT NOT NULL,
observation_time TIMESTAMP NOT NULL,
observation_phase VARCHAR(20),
temperature DECIMAL(4,1),
pulse INTEGER,
respiration INTEGER,
blood_pressure_high INTEGER,
blood_pressure_low INTEGER,
symptoms TEXT,
nurse_id BIGINT,
nurse_name VARCHAR(50),
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
-- V2026_0619__clinical_pathway_execution_enhancement.sql
CREATE TABLE clinical_pathway_variance (
id BIGSERIAL PRIMARY KEY,
execution_id BIGINT NOT NULL,
pathway_id BIGINT NOT NULL,
variance_date DATE NOT NULL,
variance_type VARCHAR(20) NOT NULL,
expected_item VARCHAR(200),
actual_item VARCHAR(200),
variance_reason TEXT,
adjustment_action TEXT,
record_by BIGINT,
record_by_name VARCHAR(50),
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
CREATE TABLE critical_value_handle_record (
id BIGSERIAL PRIMARY KEY,
critical_value_id BIGINT NOT NULL,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
handle_type VARCHAR(20) NOT NULL,
handler_id BIGINT NOT NULL,
handler_name VARCHAR(50),
handle_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
handle_result TEXT,
复查结果 TEXT,
doctor_id BIGINT,
doctor_name VARCHAR(50),
confirm_time TIMESTAMP,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
```
### API接口设计
```
POST /healthlink-his/api/v1/inpatient-doctor/blood-transfusion/apply 申请输血
GET /healthlink-his/api/v1/inpatient-doctor/blood-transfusion/page 输血申请分页
PUT /healthlink-his/api/v1/inpatient-doctor/blood-transfusion/approve/{id} 审批输血
POST /healthlink-his/api/v1/inpatient-doctor/blood-transfusion/observe 输血观察记录
GET /healthlink-his/api/v1/inpatient-doctor/blood-transfusion/record/{id} 输血记录详情
GET /healthlink-his/api/v1/inpatient-doctor/pathway/evaluate/{encounterId} 入径评估
POST /healthlink-his/api/v1/inpatient-doctor/pathway/admission 入径
POST /healthlink-his/api/v1/inpatient-doctor/pathway/execution/record 执行记录
POST /healthlink-his/api/v1/inpatient-doctor/pathway/variance/record 变异记录
POST /healthlink-his/api/v1/inpatient-doctor/pathway/discharge 出径
GET /healthlink-his/api/v1/inpatient-doctor/pathway/statistics 路径统计
GET /healthlink-his/api/v1/inpatient-doctor/critical-value/pending 待处理危急值
POST /healthlink-his/api/v1/inpatient-doctor/critical-value/handle 处理危急值
GET /healthlink-his/api/v1/inpatient-doctor/critical-value/history 处理历史
GET /healthlink-his/api/v1/inpatient-doctor/order-execute/trace/{adviceId} 医嘱执行追踪
GET /healthlink-his/api/v1/inpatient-doctor/order-execute/statistics 执行统计
```
### 前端页面设计
| 页面 | 路径 | 类型 | 说明 |
|------|------|------|------|
| 输血管理 | inpatientDoctor/BloodTransfusion.vue | 新建 | 输血申请列表+审批+观察记录 |
| 临床路径执行 | inpatientDoctor/ClinicalPathway.vue | 新建 | 路径日程表+执行+变异记录 |
| 危急值处理 | inpatientDoctor/CriticalValueHandle.vue | 新建 | 待处理列表+处理表单+复查确认 |
| 医嘱执行追踪 | inpatientDoctor/OrderExecuteTrace.vue | 新建 | 时间轴视图展示医嘱全生命周期 |
### 关键业务规则
1. 输血申请必须由主治及以上医师审批,紧急情况可由值班医师代签
2. 输血前必须完成交叉配血试验,结果阴性方可执行
3. 输血过程中15分钟、30分钟、1小时各记录一次生命体征
4. 发生输血不良反应立即停止输血并报告
5. 临床路径入径率≥50%完成率≥70%
6. 危急值30分钟内必须确认处理
---
## 2. 手术麻醉anesthesia + clinicalmanage + surgicalschedule
### 已有代码分析
| 层 | anesthesia | clinicalmanage | surgicalschedule |
|----|-----------|---------------|-----------------|
| Controller | 2 (AnesthesiaController + AnesthesiaEnhancedController) | 2 (SurgeryController + SurgicalScheduleController) | 1 (SurgerySafetyCheckController) |
| AppService | 1 (IAnesthesiaAppService) | 2 (ISurgeryAppService + ISurgicalScheduleAppService) | 0 |
| Domain Service | 8 (Record/VitalSign/Medication/IoRecord/Followup/PostopFollowup/Specimen/QC) | 0 | 2 (SurgerySafetyCheck/OpSchedule) |
| Entity | 8 (AnesthesiaRecord/VitalSign/Medication/IoRecord/Followup/PostopFollowup/Specimen/QC) | 0 | 2 (OpSchedule/SurgerySafetyCheck) |
| Flyway | V3(VitalSign/Medication/IoRecord/Record), V19(Specimen/Followup/QC) | V19(Schedule) | V19(SafetyCheck) |
| 前端 | anesthesia/ 1 vue, anesthesiaenhanced/ 1 vue | clinicalmanage/ 1 vue | surgicalschedule/ 2 vue |
已有功能: 麻醉记录CRUD、术中生命体征记录、用药记录、出入量、术后随访、标本管理、质控、手术CRUD、手术安排、安全核查。
### 缺失功能清单
| 功能 | 描述 | 实现方式 |
|------|------|---------|
| ASA分级评估 | 术前ASA分级(~Ⅵ级)评估表 | 新增 anes_asa_assessment 表 |
| 麻醉小结 | 麻醉结束后的综合小结记录 | 新增 anes_summary 表,扩展 AnesthesiaRecord 状态流转 |
| 麻醉前评估 | 术前访视、气道评估、禁食禁饮记录 | 新增 anes_preassess 表 |
| 术中事件记录 | 关键事件(插管/拔管/体位变换/异常)时间轴 | 新增 anes_event 表 |
| 麻醉复苏评分 | PACU Aldrete 评分记录 | 新增 anes_recovery_score 表 |
| 手术安全核查增强 | 手术三方核对(Sign In/Time Out/Sign Out) | 复用 SurgerySafetyCheck增加流程状态管理 |
### 业务流程
```
麻醉全流程:
术前访视(ASA评估) → 麻醉方案制定 → 麻醉前准备
→ 麻醉诱导 → 术中维持(5min生命体征+事件记录)
→ 手术结束 → 麻醉苏醒(PACU评分)
→ 麻醉小结 → 术后随访(Day1/Day3/Day7)
手术安全三方核对:
Sign In(麻醉前): 患者身份/手术部位/手术方式/过敏/气道风险
Time Out(切皮前): 团队自我介绍/确认患者/抗生素/预期困难
Sign Out(离开前): 手术名称/器械清点/标本/术后关注事项
```
### 数据库设计
```sql
-- V2026_0620__anesthesia_enhancement.sql
CREATE TABLE anes_asa_assessment (
id BIGSERIAL PRIMARY KEY,
record_id BIGINT NOT NULL,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
asa_grade VARCHAR(5) NOT NULL,
assessment_time TIMESTAMP NOT NULL,
assessor_id BIGINT NOT NULL,
assessor_name VARCHAR(50),
airway_assessment TEXT,
mallampati_grade VARCHAR(5),
neck_mobility VARCHAR(50),
mouth_opening_cm DECIMAL(4,1),
weight_kg DECIMAL(6,2),
height_cm DECIMAL(5,1),
bmi DECIMAL(5,1),
npo_hours INTEGER,
asa_factors TEXT,
risk_level VARCHAR(20),
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
CREATE TABLE anes_preassess (
id BIGSERIAL PRIMARY KEY,
record_id BIGINT NOT NULL,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
assess_time TIMESTAMP NOT NULL,
assessor_id BIGINT NOT NULL,
assessor_name VARCHAR(50),
chief_complaint TEXT,
past_medical_history TEXT,
allergy_history TEXT,
family_history TEXT,
physical_exam TEXT,
lab_summary TEXT,
ecg_summary TEXT,
imaging_summary TEXT,
npo_status VARCHAR(20),
npo_start_time TIMESTAMP,
proposed_surgery VARCHAR(200),
proposed_anesthesia VARCHAR(50),
special_notes TEXT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
CREATE TABLE anes_summary (
id BIGSERIAL PRIMARY KEY,
record_id BIGINT NOT NULL,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
surgery_name VARCHAR(200),
anesthesia_method VARCHAR(50),
anesthesia_start_time TIMESTAMP,
anesthesia_end_time TIMESTAMP,
surgery_start_time TIMESTAMP,
surgery_end_time TIMESTAMP,
anesthesia_duration_min INTEGER,
surgery_duration_min INTEGER,
position VARCHAR(50),
intubation_type VARCHAR(50),
intubation_time TIMESTAMP,
extubation_time TIMESTAMP,
total_fluid_ml DECIMAL(10,2),
total_blood_loss_ml DECIMAL(10,2),
total_urine_ml DECIMAL(10,2),
intraoperative_diagnosis TEXT,
complications TEXT,
blood_products TEXT,
vasopressors_used TEXT,
antibiotics_used TEXT,
discharge_condition VARCHAR(20),
discharge_destination VARCHAR(50),
pacu_arrival_time TIMESTAMP,
pacu_departure_time TIMESTAMP,
summary_by BIGINT,
summary_by_name VARCHAR(50),
summary_time TIMESTAMP,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
CREATE TABLE anes_event (
id BIGSERIAL PRIMARY KEY,
record_id BIGINT NOT NULL,
event_time TIMESTAMP NOT NULL,
event_type VARCHAR(30) NOT NULL,
event_detail TEXT,
severity VARCHAR(10),
handled_by BIGINT,
handled_by_name VARCHAR(50),
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
CREATE TABLE anes_recovery_score (
id BIGSERIAL PRIMARY KEY,
record_id BIGINT NOT NULL,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
score_time TIMESTAMP NOT NULL,
activity_score INTEGER DEFAULT 0,
respiration_score INTEGER DEFAULT 0,
circulation_score INTEGER DEFAULT 0,
consciousness_score INTEGER DEFAULT 0,
spo2_score INTEGER DEFAULT 0,
total_score INTEGER DEFAULT 0,
scorer_id BIGINT,
scorer_name VARCHAR(50),
discharge_ready BOOLEAN DEFAULT FALSE,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
```
### API接口设计
```
POST /healthlink-his/api/v1/anesthesia/asa-assessment ASA评估保存
GET /healthlink-his/api/v1/anesthesia/asa-assessment/{recordId} ASA评估查询
POST /healthlink-his/api/v1/anesthesia/preassess 术前访视保存
GET /healthlink-his/api/v1/anesthesia/preassess/{recordId} 术前访视查询
POST /healthlink-his/api/v1/anesthesia/summary 麻醉小结保存
GET /healthlink-his/api/v1/anesthesia/summary/{recordId} 麻醉小结查询
PUT /healthlink-his/api/v1/anesthesia/complete/{recordId} 完成麻醉记录
POST /healthlink-his/api/v1/anesthesia/event 术中事件记录
GET /healthlink-his/api/v1/anesthesia/event/{recordId} 术中事件列表
POST /healthlink-his/api/v1/anesthesia/recovery-score PACU评分保存
GET /healthlink-his/api/v1/anesthesia/recovery-score/{recordId} PACU评分历史
```
### 前端页面设计
| 页面 | 路径 | 类型 | 说明 |
|------|------|------|------|
| ASA评估 | anesthesia/AsaAssessment.vue | 新建 | ASA分级评估表单 |
| 术前访视 | anesthesia/PreAssess.vue | 新建 | 术前访视记录表单 |
| 麻醉小结 | anesthesia/AnesSummary.vue | 新建 | 综合小结表单+打印 |
| 术中事件 | anesthesia/IntraopEvent.vue | 新建 | 事件时间轴+录入 |
| PACU评分 | anesthesia/RecoveryScore.vue | 新建 | Aldrete评分表+趋势图 |
| 完整流程 | anesthesia/AnesthesiaFlow.vue | 扩展 | 整合术前→术中→术后全流程 |
### 关键业务规则
1. ASA分级必须由麻醉医师在术前完成评估
2. 术中生命体征每5分钟自动采集一次手动可补录
3. 麻醉记录完成后不可修改,只能留痕
4. PACU评分≥9分方可转出
5. 术后随访D1/D3/D7必访记录并发症和恢复情况
---
## 3. 电子病历emr + document
### 已有代码分析
| 层 | emr | document |
|----|-----|---------|
| Controller | 4 (StructuredEmr/EmrRevision/EmrArchive/EmrSearch) | 8 (ProgressNote/InformedConsent/DocTemplate/DocStatisticsDefinition/DocStatistics/DocRecord/DocDefinitionOrganization/DocDefinition) |
| AppService | 1 (IStructuredEmrAppService) | 8+ |
| Domain Entity | 7 (Revision/CompletenessCheck/Timeliness/ArchiveRecord/SearchIndex/Template) | 17+ (ProgressNote/InformedConsent/RequestForm/OrderProcess/EmrTemplate/Emr/EmrDict/EmrDetail/DocTemplate/DocRecord...) |
| Domain Service | 14 | 30+ |
| 前端 | emr/ 3 vue | document/ (被 doctorstation 复用) |
已有功能: 结构化病历模板、修改留痕(创建+查询+对比)、完整性检查、时限监控(超时列表+完成率统计)、病历归档(打印+归档+补打+统计)、病历检索、病程记录、知情同意书、文书定义/模板/统计。
### 缺失功能清单
| 功能 | 描述 | 实现方式 |
|------|------|---------|
| 病历版本管理 | 多版本保存、版本切换、版本对比可视化 | 扩展 emr_revision 表增加 version_no 字段 |
| 病历完整性规则配置 | 可配置的完整性检查规则(必填项/必签名/时效) | 新增 emr_completeness_rule 表 |
| 病历质量评分 | 根据完整性+时效+规范性自动评分 | 新增 emr_quality_score 表 |
| 病历锁定机制 | 病历归档后锁定,修改需申请解锁 | 扩展 emr 表增加 lock_status 字段 |
| 病历模板版本管理 | 模板的版本控制和发布管理 | 扩展 doc_template 表 |
### 业务流程
```
病历生命周期:
创建/编辑 → 保存草稿 → 提交签名 → 归档锁定
↑ ↓
申请解锁 ← 修改申请(留痕) ← 修改审核
完整性检查流程:
系统定时检查 → 规则引擎匹配 → 生成检查报告
→ 推送提醒给责任医师 → 医师完善 → 重新检查
时限监控:
入院记录(24h) → 首次病程(8h) → 日常病程(3天/次)
→ 手术记录(24h) → 出院小结(24h)
→ 超时预警 → 超时统计 → 质量考核
```
### 数据库设计
```sql
-- V2026_0621__emr_version_and_rules.sql
ALTER TABLE emr_revision ADD COLUMN IF NOT EXISTS version_no INTEGER DEFAULT 1;
ALTER TABLE emr_revision ADD COLUMN IF NOT EXISTS change_summary TEXT;
ALTER TABLE emr_revision ADD COLUMN IF NOT EXISTS diff_content TEXT;
CREATE TABLE emr_completeness_rule (
id BIGSERIAL PRIMARY KEY,
rule_name VARCHAR(100) NOT NULL,
rule_type VARCHAR(30) NOT NULL,
emr_type VARCHAR(30),
rule_config TEXT NOT NULL,
severity VARCHAR(10) DEFAULT 'WARNING',
enabled CHAR(1) DEFAULT '1',
sort_order INTEGER DEFAULT 0,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
CREATE TABLE emr_quality_score (
id BIGSERIAL PRIMARY KEY,
emr_id BIGINT NOT NULL,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
completeness_score DECIMAL(5,2),
timeliness_score DECIMAL(5,2),
standard_score DECIMAL(5,2),
total_score DECIMAL(5,2),
score_level VARCHAR(10),
score_detail TEXT,
score_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
scorer_id BIGINT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
ALTER TABLE emr ADD COLUMN IF NOT EXISTS lock_status VARCHAR(10) DEFAULT 'UNLOCKED';
ALTER TABLE emr ADD COLUMN IF NOT EXISTS lock_time TIMESTAMP;
ALTER TABLE emr ADD COLUMN IF NOT EXISTS lock_by VARCHAR(64);
ALTER TABLE emr ADD COLUMN IF NOT EXISTS current_version INTEGER DEFAULT 1;
```
### API接口设计
```
GET /healthlink-his/api/v1/emr/version/history/{emrId} 病历版本历史
GET /healthlink-his/api/v1/emr/version/diff 版本对比
GET /healthlink-his/api/v1/emr/version/{emrId}/{versionNo} 获取指定版本
GET /healthlink-his/api/v1/emr/quality/score/{emrId} 病历质量评分
GET /healthlink-his/api/v1/emr/quality/statistics 质量统计
POST /healthlink-his/api/v1/emr/quality/batch-check 批量质量检查
GET /healthlink-his/api/v1/emr/completeness-rule/page 规则分页
POST /healthlink-his/api/v1/emr/completeness-rule 规则保存
PUT /healthlink-his/api/v1/emr/completeness-rule/{id} 规则更新
DELETE /healthlink-his/api/v1/emr/completeness-rule/{id} 规则删除
PUT /healthlink-his/api/v1/emr/lock/{emrId} 锁定病历
PUT /healthlink-his/api/v1/emr/unlock/{emrId} 解锁病历(需申请)
```
### 前端页面设计
| 页面 | 路径 | 类型 | 说明 |
|------|------|------|------|
| 版本管理 | emr/VersionHistory.vue | 新建 | 版本列表+对比视图(差异高亮) |
| 质量评分 | emr/QualityScore.vue | 新建 | 评分详情+趋势图 |
| 规则配置 | emr/CompletenessRule.vue | 新建 | 规则CRUD+测试 |
| 完整视图 | emr/EmrCompleteView.vue | 扩展 | 整合留痕/版本/质量/锁定 |
### 关键业务规则
1. 病历归档后自动锁定,修改需提交申请经上级审批
2. 每次修改自动创建新版本,保留完整历史
3. 完整性规则可按科室/病种/文书类型配置
4. 质量评分≥90为优秀80-89为良好70-79为合格<70为不合格
5. 超时病历自动推送提醒连续超时3次升级至科室主任
---
## 4. 病案管理mrhomepage + inhospitalmanage
### 已有代码分析
| | mrhomepage | inhospitalmanage |
|----|-----------|-----------------|
| Controller | 4 (MrHomepage/MrDrg/MrManagement/DrgAnalysis) | 1 (InpatientDiagnosisController) |
| AppService | 1 (IMrHomepageAppService) | 0 |
| Domain Entity | 7 (MrHomepage/QualityCheck/Borrowing/Sealing/Tracking/DeathDiscussion/DrgGrouping) | 0 |
| Domain Service | 14 | 0 |
| 前端 | mrhomepage/ 3 vue, hospitalRecord/ 10 vue | inHospitalManagement/ 43 vue |
已有功能: 病案首页生成/更新/查询/质控/统计/提交DRG/DIP分组病案借阅(申请/审批/归还)、病案封存/解封病案示踪死亡病例讨论归档统计
### 缺失功能清单
| 功能 | 描述 | 实现方式 |
|------|------|---------|
| 首页数据质量校验 | 自动校验首页必填项编码正确性逻辑一致性 | 扩展 QualityCheck增加校验规则引擎 |
| 首页HQMS上报 | 病案首页上报至HQMS国家平台 | 新增 mr_homepage_hqms_upload |
| 终末质控 | 出院后7日内的病案质量终审 | 新增 mr_terminal_qc |
| 病案示踪增强 | 条码/RFID示踪实时位置追踪 | 扩展 mr_tracking增加位置节点 |
| DRG分组预警 | 分组异常预警和自动纠错 | 新增 mr_drg_alert |
| 病案统计报表 | 按科室/病种/医师的病案质量统计 | 复用 mr_archive_stats增加维度 |
### 业务流程
```
病案首页全流程:
自动生成(出院时) → 数据质量校验 → 人工复核
→ 修改完善 → 提交上报(HQMS) → 终末质控
→ 归档封存 → 统计分析
终末质控流程:
出院7日内 → 系统自动分配质控员 → 质控员逐份审核
→ 标记问题(首页/病历/诊断/编码) → 退回修改
→ 修改完成 → 复审通过 → 质控完成
HQMS上报流程:
首页提交 → 格式校验 → 数据脱敏 → 上传HQMS
→ 接收回执 → 处理异常 → 上报成功
```
### 数据库设计
```sql
-- V2026_0622__mr_management_enhancement.sql
CREATE TABLE mr_terminal_qc (
id BIGSERIAL PRIMARY KEY,
homepage_id BIGINT NOT NULL,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
qc_status VARCHAR(20) DEFAULT 'PENDING',
qc_type VARCHAR(20) NOT NULL,
qc_item VARCHAR(100),
qc_result VARCHAR(20),
qc_detail TEXT,
qc_by BIGINT,
qc_by_name VARCHAR(50),
qc_time TIMESTAMP,
review_by BIGINT,
review_by_name VARCHAR(50),
review_time TIMESTAMP,
review_result VARCHAR(20),
review_detail TEXT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
CREATE TABLE mr_homepage_hqms_upload (
id BIGSERIAL PRIMARY KEY,
homepage_id BIGINT NOT NULL,
upload_batch VARCHAR(50),
upload_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
upload_status VARCHAR(20) DEFAULT 'PENDING',
response_code VARCHAR(20),
response_msg TEXT,
retry_count INTEGER DEFAULT 0,
last_retry_time TIMESTAMP,
upload_by BIGINT,
upload_by_name VARCHAR(50),
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
CREATE TABLE mr_drg_alert (
id BIGSERIAL PRIMARY KEY,
grouping_id BIGINT NOT NULL,
alert_type VARCHAR(30) NOT NULL,
alert_level VARCHAR(10) DEFAULT 'WARNING',
alert_detail TEXT,
suggested_fix TEXT,
alert_status VARCHAR(20) DEFAULT 'OPEN',
handler_id BIGINT,
handler_name VARCHAR(50),
handle_time TIMESTAMP,
handle_result TEXT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
CREATE TABLE mr_quality_check_rule (
id BIGSERIAL PRIMARY KEY,
rule_name VARCHAR(100) NOT NULL,
rule_category VARCHAR(30) NOT NULL,
rule_config TEXT NOT NULL,
check_scope VARCHAR(30) DEFAULT 'HOMEPAGE',
severity VARCHAR(10) DEFAULT 'ERROR',
enabled CHAR(1) DEFAULT '1',
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
```
### API接口设计
```
POST /healthlink-his/api/v1/mr-homepage/quality-check/batch/{homepageId} 批量质控检查
GET /healthlink-his/api/v1/mr-homepage/quality-rules 质控规则列表
POST /healthlink-his/api/v1/mr-homepage/quality-rules 保存质控规则
POST /healthlink-his/api/v1/mr-homepage/hqms/upload/{homepageId} HQMS上报
GET /healthlink-his/api/v1/mr-homepage/hqms/upload-page 上报记录分页
POST /healthlink-his/api/v1/mr-homepage/hqms/retry/{id} 重试上报
GET /healthlink-his/api/v1/mr-management/terminal-qc/page 终末质控分页
POST /healthlink-his/api/v1/mr-management/terminal-qc/assign 分配质控员
POST /healthlink-his/api/v1/mr-management/terminal-qc/submit 提交质控结果
POST /healthlink-his/api/v1/mr-management/terminal-qc/review 复审
GET /healthlink-his/api/v1/mr-management/drg-alert/page DRG预警分页
POST /healthlink-his/api/v1/mr-management/drg-alert/handle 处理预警
GET /healthlink-his/api/v1/mr-management/statistics/quality 质量统计
GET /healthlink-his/api/v1/mr-management/statistics/hqms HQMS统计
```
### 前端页面设计
| 页面 | 路径 | 类型 | 说明 |
|------|------|------|------|
| 终末质控 | hospitalRecord/TerminalQc.vue | 新建 | 质控任务列表+审核表单 |
| HQMS上报 | hospitalRecord/HqmsUpload.vue | 新建 | 上报记录+重试+统计 |
| DRG预警 | hospitalRecord/DrgAlert.vue | 新建 | 预警列表+处理 |
| 质量报表 | hospitalRecord/QualityReport.vue | 新建 | 多维度质量统计图表 |
| 质控规则 | hospitalRecord/QcRuleConfig.vue | 新建 | 规则配置管理 |
### 关键业务规则
1. 出院后24小时内自动生成病案首页
2. 首页上报前必须通过数据质量校验
3. 终末质控在出院7日内完成质控员与主治医师不能为同一人
4. DRG分组完成后自动检查CMI值合理性
5. 病案借阅必须审批借阅期限14天
---
## 5. 药品管理pharmacymanage + pharmacyDispensarymanage + pharmacyWarehousemanage
### 已有代码分析
| | pharmacymanage | pharmacyDispensarymanage | pharmacyWarehousemanage |
|----|---------------|------------------------|------------------------|
| Controller | 8 (WesternMedicineDispense/SummaryDispenseMedicine/ReturnMedicine/PendingMedicationDetails/MedicationDetails/MedicalDeviceDispense/InHospitalReturnMedicine/PharmacyStockAlert) | 8 (TransferOut/TransferIn/Stocktaking/StockIn/ReturnToWarehouse/Requisition/ProfitLoss/Dispensing) | 8 (StockOut/Stocktaking/Return/StockIn/ReturnToWarehouse/ProfitLoss/Purchase/DocumentManagement) |
| AppService | 7 | 10 | 10 |
| 前端 | pharmacymanagement/ 27 vue, drug/ 7 vue | medicineStorage/ 28 vue | medicineStorage/ 28 vue |
已有功能: 西药发药/退药汇总发药住院退药药品库存预警药房/药库全套单据管理(调拨/入库/出库/盘点/报损/领用/退货/采购)。
### 缺失功能清单
| 功能 | 描述 | 实现方式 |
|------|------|---------|
| 药品交互检查 | 开方时自动检查药物相互作用 | 新增 drug_interaction_rule + 前端提示 |
| 处方前置审核 | 发药前自动审核处方合理性(配伍/剂量/禁忌) | 新增 prescription_review_record |
| 高危药品管理 | 高危药品标识双人核对剂量限制 | 扩展药品字典增加高危标识 |
| 药品效期管理 | 近效期预警效期追踪 | 扩展库存表增加效期字段 |
| 智能用药提醒 | 基于患者病情的用药提醒 | 新增 medication_reminder |
### 业务流程
```
处方审核流程:
医生开方 → 系统自动审核(配伍/剂量/禁忌/过敏)
→ 审核通过 → 发药
→ 审核警告 → 人工确认 → 发药
→ 审核拦截 → 拒绝发药 → 通知医生修改
高危药品管理:
药品标记(高危) → 发药时提示 → 双人核对
→ 核对签名 → 发药完成
```
### 数据库设计
```sql
-- V2026_0623__pharmacy_safety_enhancement.sql
CREATE TABLE drug_interaction_rule (
id BIGSERIAL PRIMARY KEY,
drug_code_a VARCHAR(50) NOT NULL,
drug_name_a VARCHAR(100),
drug_code_b VARCHAR(50) NOT NULL,
drug_name_b VARCHAR(100),
interaction_type VARCHAR(30) NOT NULL,
severity VARCHAR(10) NOT NULL,
description TEXT,
suggestion TEXT,
enabled CHAR(1) DEFAULT '1',
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
CREATE TABLE prescription_review_record (
id BIGSERIAL PRIMARY KEY,
prescription_no VARCHAR(50) NOT NULL,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
review_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
review_result VARCHAR(20) NOT NULL,
review_items TEXT,
reviewer_id BIGINT,
reviewer_name VARCHAR(50),
manual_override CHAR(1) DEFAULT '0',
override_reason TEXT,
override_by BIGINT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
CREATE TABLE medication_reminder (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
advice_id BIGINT NOT NULL,
reminder_type VARCHAR(30) NOT NULL,
reminder_content TEXT,
remind_time TIMESTAMP NOT NULL,
remind_status VARCHAR(20) DEFAULT 'PENDING',
handler_id BIGINT,
handler_name VARCHAR(50),
handle_time TIMESTAMP,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
```
### API接口设计
```
GET /healthlink-his/api/v1/pharmacy/interaction-check 药品交互检查
GET /healthlink-his/api/v1/pharmacy/interaction-rule/page 交互规则分页
POST /healthlink-his/api/v1/pharmacy/interaction-rule 保存规则
POST /healthlink-his/api/v1/pharmacy/review/record 审核记录保存
GET /healthlink-his/api/v1/pharmacy/review/record/{prescriptionNo} 审核记录查询
GET /healthlink-his/api/v1/pharmacy/expiry-warning/page 效期预警分页
GET /healthlink-his/api/v1/pharmacy/expiry-warning/stats 效期预警统计
```
### 前端页面设计
| 页面 | 路径 | 类型 | 说明 |
|------|------|------|------|
| 交互检查 | pharmacymanagement/InteractionCheck.vue | 新建 | 交互规则配置+检查结果 |
| 处方审核 | pharmacymanagement/PrescriptionReview.vue | 新建 | 审核结果展示+人工确认 |
| 效期管理 | pharmacymanagement/ExpiryWarning.vue | 新建 | 近效期药品列表+预警 |
### 关键业务规则
1. 高危药品必须双人核对后方可发药
2. 药物相互作用检查在开方和发药两个环节均执行
3. 药品距效期6个月预警3个月黄灯1个月红灯
4. 处方审核拦截项不可人工跳过需上级授权
5. 每日自动统计处方合理率
---
## 6. 护士站inhospitalnursestation
### 已有代码分析
| | 文件数 |
|----|-------|
| Controller | 6 (AdviceProcess/MedicineSummary/NurseBilling/ATDManage/EncounterAutoRoll/OrgDeviceStockTake) |
| AppService | 6 |
| Mapper | 6 |
| DTO | 28 |
| 前端 | inpatientNurse/ 56 vue |
已有功能: 医嘱处理(审核/驳回/执行/取消/作废)、药品汇总(汇总发药/取消汇总)、护士划价/计费入出转管理(入院/转科/出院/清床)、自动滚方科室耗材盘点
### 缺失功能清单
| 功能 | 描述 | 实现方式 |
|------|------|---------|
| 护理评估 | 入院护理评估压疮评估跌倒评估疼痛评估 | 新增 nurse_assessment |
| 护理任务管理 | 护理任务生成分配执行追踪 | 新增 nurse_task |
| 交接班记录 | 班次交接记录(患者情况/特殊事项/物品交接) | 新增 nurse_shift_handover |
| 护理计划 | 基于评估结果的护理计划制定和执行 | 新增 nurse_care_plan |
| 患者身份核对 | 扫码核对患者身份+腕带信息 | 复用 patientmanage 模块 |
### 业务流程
```
护理评估流程:
患者入院 → 入院护理评估(首次) → 压疮风险评估(Braden)
→ 跌倒风险评估(Morse) → 疼痛评估(NRS)
→ 生成护理计划 → 定期复评(压疮/跌倒每7天)
交接班流程:
当班护士 → 汇总患者情况(特殊医嘱/待执行任务/异常)
→ 填写交接记录 → 接班护士确认
→ 双方签名 → 归档
护理任务管理:
医嘱生成任务 → 分配护士 → 执行记录
→ 执行确认 → 任务完成 → 统计
```
### 数据库设计
```sql
-- V2026_0624__nursing_enhancement.sql
CREATE TABLE nurse_assessment (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
assessment_type VARCHAR(30) NOT NULL,
assessment_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
assessor_id BIGINT NOT NULL,
assessor_name VARCHAR(50),
assessment_data TEXT NOT NULL,
risk_level VARCHAR(20),
total_score DECIMAL(5,1),
next_assessment_date DATE,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
CREATE TABLE nurse_task (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
advice_id BIGINT,
task_type VARCHAR(30) NOT NULL,
task_name VARCHAR(100) NOT NULL,
task_detail TEXT,
scheduled_time TIMESTAMP,
assigned_to BIGINT,
assigned_to_name VARCHAR(50),
status VARCHAR(20) DEFAULT 'PENDING',
execute_time TIMESTAMP,
execute_by BIGINT,
execute_by_name VARCHAR(50),
execute_result TEXT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
CREATE TABLE nurse_shift_handover (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
shift_date DATE NOT NULL,
shift_type VARCHAR(10) NOT NULL,
from_nurse_id BIGINT NOT NULL,
from_nurse_name VARCHAR(50),
to_nurse_id BIGINT NOT NULL,
to_nurse_name VARCHAR(50),
patient_count INTEGER,
special_items TEXT,
pending_tasks TEXT,
abnormal_situations TEXT,
handover_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
from_signature TEXT,
to_signature TEXT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
CREATE TABLE nurse_care_plan (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
plan_name VARCHAR(100) NOT NULL,
diagnosis TEXT,
nursing_goals TEXT,
nursing_measures TEXT,
evaluation_criteria TEXT,
plan_status VARCHAR(20) DEFAULT 'ACTIVE',
plan_by BIGINT,
plan_by_name VARCHAR(50),
plan_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
```
### API接口设计
```
POST /healthlink-his/api/v1/nurse-station/assessment 护理评估保存
GET /healthlink-his/api/v1/nurse-station/assessment/{encounterId} 护理评估查询
GET /healthlink-his/api/v1/nurse-station/assessment/pending 待评估列表
GET /healthlink-his/api/v1/nurse-station/task/page 护理任务分页
POST /healthlink-his/api/v1/nurse-station/task/assign 任务分配
POST /healthlink-his/api/v1/nurse-station/task/execute 任务执行
GET /healthlink-his/api/v1/nurse-station/task/statistics 任务统计
POST /healthlink-his/api/v1/nurse-station/shift-handover/save 交接班保存
GET /healthlink-his/api/v1/nurse-station/shift-handover/history 交接班历史
GET /healthlink-his/api/v1/nurse-station/shift-handover/current 当前班次信息
POST /healthlink-his/api/v1/nurse-station/care-plan 护理计划保存
GET /healthlink-his/api/v1/nurse-station/care-plan/{encounterId} 护理计划查询
```
### 前端页面设计
| 页面 | 路径 | 类型 | 说明 |
|------|------|------|------|
| 护理评估 | inpatientNurse/NurseAssessment.vue | 新建 | 评估表单(多类型)+历史记录 |
| 护理任务 | inpatientNurse/NurseTask.vue | 新建 | 任务列表+分配+执行+统计 |
| 交接班 | inpatientNurse/ShiftHandover.vue | 新建 | 交接记录表单+历史查询 |
| 护理计划 | inpatientNurse/CarePlan.vue | 新建 | 计划制定+执行追踪 |
### 关键业务规则
1. 入院8小时内完成首次护理评估
2. Braden评分12分高危每4小时评估一次
3. Morse评分45分高危需启动防跌倒措施
4. 交接班必须双方签名确认
5. 护理任务必须在计划时间内完成超时自动预警
---
## 7. 检验lab + Inspection
### 已有代码分析
| | lab | Inspection |
|----|-----|-----------|
| Controller | 5 (LabEnhanced/LabHistory/LabActivityDefinition/InspectionType/InspectionPackage) | 9 (Laboratory/ObservationDef/SpecimenDef/Instrument/SampleCollect/LisConfig/LabReferenceRange/Icd10/ClinicalManageObservation) |
| Domain Entity | 17 (InspectionPackage/Specimen/Observation/LabActivityDefinition/InspectionLabApply/BarCode/LabReferenceRange/Icd10Code/LabResultComparison/LabInternalQc/LabExternalEqa...) | 0 |
| 前端 | labenhanced/ 6 vue, labhistory/ 1 vue | inspection/ 10 vue |
已有功能: 检验套餐/项目/标本/仪器管理检验申请标本采集LIS配置参考范围ICD-10编码结果对比室内质控室间质评检验历史趋势
### 缺失功能清单
| 功能 | 描述 | 实现方式 |
|------|------|---------|
| 结果自动审核 | 基于规则的自动审核(正常值/危急值/Delta校验) | 新增 lab_auto_review_rule |
| 危急值自动通知 | 危急值发现后自动通知主管医师 | 复用 criticalvalue 模块 |
| 标本追踪 | 标本从采集送检接收检测报告全流程 | 扩展 BarCode 表增加状态节点 |
| 检验报告打印 | 标准检验报告单生成和打印 | 新增 lab_report_template |
### 业务流程
```
检验全流程:
医生开立申请 → 生成条码 → 护士采集标本
→ 标本送检(LIS) → 实验室接收 → 上机检测
→ 结果审核(自动+人工) → 报告发布
→ 危急值通知(30min) → 临床处理
自动审核流程:
结果返回 → 自动审核规则匹配
→ 规则通过(正常值+Delta校验OK) → 自动审核通过
→ 规则异常(危急值/异常变化) → 转人工审核
→ 人工确认 → 报告发布
```
### 数据库设计
```sql
-- V2026_0625__lab_enhancement.sql
CREATE TABLE lab_auto_review_rule (
id BIGSERIAL PRIMARY KEY,
rule_name VARCHAR(100) NOT NULL,
observation_code VARCHAR(50),
rule_type VARCHAR(30) NOT NULL,
rule_config TEXT NOT NULL,
enabled CHAR(1) DEFAULT '1',
priority INTEGER DEFAULT 0,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
CREATE TABLE lab_report_template (
id BIGSERIAL PRIMARY KEY,
template_name VARCHAR(100) NOT NULL,
template_type VARCHAR(30) NOT NULL,
template_content TEXT,
is_default CHAR(1) DEFAULT '0',
enabled CHAR(1) DEFAULT '1',
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
```
### API接口设计
```
GET /healthlink-his/api/v1/lab/auto-review-rule/page 自动审核规则分页
POST /healthlink-his/api/v1/lab/auto-review-rule 保存规则
POST /healthlink-his/api/v1/lab/execute-auto-review/{applyNo} 执行自动审核
GET /healthlink-his/api/v1/lab/report/template/page 报告模板分页
POST /healthlink-his/api/v1/lab/report/generate/{applyNo} 生成报告
GET /healthlink-his/api/v1/lab/report/preview/{applyNo} 报告预览
GET /healthlink-his/api/v1/lab/specimen/trace/{barcode} 标本追踪
```
### 前端页面设计
| 页面 | 路径 | 类型 | 说明 |
|------|------|------|------|
| 自动审核规则 | labenhanced/AutoReviewRule.vue | 新建 | 规则配置管理 |
| 标本追踪 | labenhanced/SpecimenTrace.vue | 新建 | 标本全流程追踪时间轴 |
### 关键业务规则
1. 危急值必须在30分钟内通知临床并获得确认
2. 自动审核通过率目标70%
3. 标本溶血/脂血/凝块等不合格标本必须退回重采
4. 检验报告签发后不可修改修改需留痕
5. 室内质控每日至少做一次
---
## 8. 检查/影像check
### 已有代码分析
| | check |
|----|-------|
| Controller | 11 (ExamApply/ExamAppointment/RadiologyImage/RadiologyEnhanced/RadiologyComparison/SpecimenBarcode/CheckType/CheckPart/CheckMethod/LisGroupInfo/ClinicalManageObservation) |
| Domain Entity | 17 (ExamApply/ExamApplyItem/ExamAppointment/RadiologyImage/RadiologyImageReport/RadiologyUrgentReport/RadiologyStatistics/RadiologyImageComparison/DicomPrintRecord/SpecimenBarcode/CheckType/CheckPart/CheckMethod/CheckPackage...) |
| 前端 | inspection/ 10 vue, radiologyenhanced/ 1 vue, radiologycomparison/ 1 vue |
已有功能: 检查申请检查预约(签到/开始/完成/取消)、放射影像(上传/报告/提交/审核/打印)、影像对比紧急报告放射统计DICOM打印标本条码检查类型/部位/方法/套餐管理
### 缺失功能清单
| 功能 | 描述 | 实现方式 |
|------|------|---------|
| PACS集成接口 | 与PACS系统的影像调阅和传输 | 新增 pacs_integration_config |
| 结构化检查报告 | 结构化报告模板+报告填写 | 复用 DocTemplate + 新增 report_data 字段 |
| 检查报告模板 | 按检查类型预设的报告模板 | 扩展 CheckType 增加模板关联 |
| 预约排队叫号 | 检查预约的排队叫号管理 | 新增 exam_queue |
| 影像AI辅助 | AI辅助诊断标注和辅助报告 | 新增 ai_assist_record |
### 业务流程
```
检查全流程:
医生开立检查 → 生成申请单 → 患者预约
→ 排队叫号 → 检查执行(影像采集)
→ 影像上传(PACS) → 影像诊断(报告)
→ 报告审核 → 报告发布 → 临床查看
结构化报告:
选择报告模板 → 系统预填充(患者信息/检查所见)
→ 医师逐项填写 → AI辅助建议
→ 生成报告 → 审核签发
```
### 数据库设计
```sql
-- V2026_0626__check_enhancement.sql
CREATE TABLE pacs_integration_config (
id BIGSERIAL PRIMARY KEY,
config_name VARCHAR(100) NOT NULL,
pacs_url VARCHAR(500),
pacs_type VARCHAR(30),
auth_config TEXT,
enabled CHAR(1) DEFAULT '1',
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
CREATE TABLE exam_queue (
id BIGSERIAL PRIMARY KEY,
appointment_id BIGINT NOT NULL,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
queue_no VARCHAR(20) NOT NULL,
queue_date DATE NOT NULL,
queue_status VARCHAR(20) DEFAULT 'WAITING',
call_time TIMESTAMP,
complete_time TIMESTAMP,
exam_room VARCHAR(50),
operator_id BIGINT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
CREATE TABLE ai_assist_record (
id BIGSERIAL PRIMARY KEY,
image_report_id BIGINT NOT NULL,
ai_model VARCHAR(50),
ai_version VARCHAR(20),
input_data TEXT,
output_data TEXT,
confidence DECIMAL(5,4),
assist_result TEXT,
used_by BIGINT,
used_by_name VARCHAR(50),
use_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
```
### API接口设计
```
GET /healthlink-his/api/v1/exam/queue/today 今日排队列表
POST /healthlink-his/api/v1/exam/queue/call/{id} 叫号
PUT /healthlink-his/api/v1/exam/queue/start/{id} 开始检查
PUT /healthlink-his/api/v1/exam/queue/complete/{id} 完成检查
POST /healthlink-his/api/v1/radiology/ai-assist AI辅助诊断
GET /healthlink-his/api/v1/radiology/ai-assist/{reportId} AI辅助结果
GET /healthlink-his/api/v1/pacs/config/page PACS配置分页
POST /healthlink-his/api/v1/pacs/config 保存配置
POST /healthlink-his/api/v1/pacs/image/view/{studyUid} PACS影像调阅
```
### 前端页面设计
| 页面 | 路径 | 类型 | 说明 |
|------|------|------|------|
| 排队叫号 | inspection/ExamQueue.vue | 新建 | 实时排队列表+叫号+状态 |
| PACS配置 | inspection/PacsConfig.vue | 新建 | PACS系统集成配置 |
| AI辅助 | inspection/AiAssist.vue | 新建 | AI辅助诊断结果展示 |
### 关键业务规则
1. 急诊检查30分钟内出报告
2. 普通检查24小时内出报告
3. 影像诊断报告必须由执业医师签发
4. 紧急报告立即通知临床并记录通知时间
5. AI辅助结果仅供参考最终诊断由医师确认
---
## 9. 放射增强radiologyenhanced
### 已有代码分析
后端功能全部在 check 模块中实现RadiologyEnhancedController/RadiologyImageController/RadiologyComparisonController前端有:
- radiologyenhanced/ 1 vue
- radiologycomparison/ 1 vue
已有功能: 紧急报告管理放射统计影像对比
### 缺失功能清单
| 功能 | 描述 | 实现方式 |
|------|------|---------|
| 结构化影像报告 | 按部位的结构化报告模板+智能填充 | 扩展 doc_template 增加影像报告模板 |
| 影像后处理 | MPR/MIP/VR等后处理功能调用 | 前端集成 Cornerstone.js |
| 随访管理 | 影像随访计划和提醒 | 新增 radiology_followup |
### 数据库设计
```sql
-- V2026_0627__radiology_enhancement.sql
CREATE TABLE radiology_followup (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
image_report_id BIGINT,
followup_type VARCHAR(30) NOT NULL,
followup_reason TEXT,
planned_date DATE NOT NULL,
actual_date DATE,
status VARCHAR(20) DEFAULT 'PLANNED',
reminder_sent CHAR(1) DEFAULT '0',
result_report_id BIGINT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
```
### API接口设计
```
GET /healthlink-his/api/v1/radiology/followup/page 随访分页
POST /healthlink-his/api/v1/radiology/followup 创建随访
GET /healthlink-his/api/v1/radiology/followup/pending 待随访列表
POST /healthlink-his/api/v1/radiology/followup/complete/{id} 完成随访
```
### 前端页面设计
| 页面 | 路径 | 类型 | 说明 |
|------|------|------|------|
| 影像随访 | radiologyenhanced/Followup.vue | 新建 | 随访计划管理+提醒 |
### 关键业务规则
1. 影像随访计划基于检查结果自动生成
2. 随访提醒在计划日期前3天发送
3. 随访结果必须关联新的影像报告
---
## 10. 收费/计费chargemanage + paymentmanage + inhospitalcharge
### 已有代码分析
| | chargemanage | paymentmanage | inhospitalcharge |
|----|-------------|--------------|-----------------|
| Controller | 5 (OutpatientCharge/InpatientCharge/OutpatientRegistration/OutpatientRefund/OutpatientPricing) | 5 (ThreePartPay/PaymentReconciliation/PaymentContract/EleInvoice/ChargeBill) | 2 (InHospitalRegister/AdvancePaymentManage) |
| AppService | 5 | 5 | 2 |
| 前端 | charge/ 18 vue, outpatientFinance/ 1 vue | (含在charge中) | (含在charge中) |
已有功能: 门诊/住院收费挂号收费退费三方支付(签到/签退/支付/查询)、支付对账(预冲正/冲正/收费/查询)、合同管理电子发票(开票/重开/作废/查看)、费用明细/汇总住院登记预交金管理
### 缺失功能清单
| 功能 | 描述 | 实现方式 |
|------|------|---------|
| 票据打印管理 | 收据打印补打作废记录 | 新增 billing_receipt_record |
| 费用日报 | 每日收费汇总报表 | 新增 billing_daily_report |
| 退费审核流程 | 大额退费需审批 | 新增 billing_refund_approval |
| 费用对账 | HIS与医保/第三方对账 | 扩展 payment_reconciliation 增加状态追踪 |
| 住院一日清单 | 住院患者每日费用明细推送 | 新增 billing_daily_detail |
### 业务流程
```
退费审核流程:
退费申请 → 系统校验(是否已结算/是否在退费期限内)
→ 金额≤1000 → 直接退费
→ 金额>1000 → 科室主任审批 → 财务审批
→ 退费执行 → 原路退款
住院一日清单:
每日定时任务 → 汇总当日费用明细
→ 生成一日清单 → 推送至患者/家属
→ 可打印/查看
```
### 数据库设计
```sql
-- V2026_0628__billing_enhancement.sql
CREATE TABLE billing_receipt_record (
id BIGSERIAL PRIMARY KEY,
receipt_no VARCHAR(50) NOT NULL,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
receipt_type VARCHAR(20) NOT NULL,
amount DECIMAL(12,2) NOT NULL,
print_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
print_by BIGINT,
print_by_name VARCHAR(50),
void_status VARCHAR(20) DEFAULT 'VALID',
void_time TIMESTAMP,
void_by BIGINT,
void_reason TEXT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
CREATE TABLE billing_refund_approval (
id BIGSERIAL PRIMARY KEY,
refund_amount DECIMAL(12,2) NOT NULL,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
charge_item_ids TEXT,
refund_reason TEXT,
applicant_id BIGINT,
applicant_name VARCHAR(50),
apply_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
approval_level INTEGER DEFAULT 1,
approver_id BIGINT,
approver_name VARCHAR(50),
approve_time TIMESTAMP,
approval_result VARCHAR(20),
approval_remark TEXT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
CREATE TABLE billing_daily_detail (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
bill_date DATE NOT NULL,
total_amount DECIMAL(12,2),
self_pay_amount DECIMAL(12,2),
insurance_amount DECIMAL(12,2),
item_count INTEGER,
detail_data TEXT,
generated_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
```
### API接口设计
```
GET /healthlink-his/api/v1/billing/refund/approval/page 退费审批分页
POST /healthlink-his/api/v1/billing/refund/approval/submit 提交审批
POST /healthlink-his/api/v1/billing/refund/approval/approve/{id} 审批
GET /healthlink-his/api/v1/billing/daily-detail/{encounterId} 一日清单查询
POST /healthlink-his/api/v1/billing/daily-detail/generate 生成一日清单
GET /healthlink-his/api/v1/billing/receipt/page 票据记录分页
PUT /healthlink-his/api/v1/billing/receipt/void/{id} 票据作废
```
### 前端页面设计
| 页面 | 路径 | 类型 | 说明 |
|------|------|------|------|
| 退费审批 | charge/RefundApproval.vue | 新建 | 退费审批列表+审批表单 |
| 一日清单 | charge/DailyDetail.vue | 新建 | 患者每日费用明细 |
| 票据管理 | charge/ReceiptManage.vue | 新建 | 票据记录+补打+作废 |
### 关键业务规则
1. 退费金额>1000元需两级审批(科室+财务)
2. 住院一日清单每日自动生成,支持在线查看和打印
3. 票据作废需记录原因,作废后不可恢复
4. 三方支付退费必须原路退回
5. 对账差异>0.01元需人工核实
---
## 11. 挂号appointmentmanage
### 已有代码分析
| 层 | appointmentmanage |
|----|------------------|
| Controller | 7 (Ticket/ScheduleSlot(空)/SchedulePool/DoctorSchedule/Dept/DeptAppthours/ClinicRoom) |
| AppService | 8 |
| 前端 | appoinmentmanage/ 5 vue, appointmentmanage/ 1 vue |
已有功能: 号源管理(查询/预约/取消/取签到/停诊)、医生排班(CRUD+今日排班)、号源池管理、科室管理、预约工作时间、诊室管理。
### 缺失功能清单
| 功能 | 描述 | 实现方式 |
|------|------|---------|
| 排队叫号 | 现场挂号排队叫号系统 | 新增 registration_queue 表 |
| 爽约管理 | 爽约记录+黑名单管理 | 新增 registration_no_show 表 |
| 分时段预约 | 按时间段细分预约时段 | 复用 ScheduleSlot目前为空Controller |
| 挂号统计 | 按科室/医生/时段的挂号量统计 | 复用现有数据,增加统计接口 |
| 预约提醒 | 预约前一天短信/微信提醒 | 新增 appointment_reminder 表 |
### 业务流程
```
预约挂号流程:
选择科室/医生/日期/时段 → 选择号源 → 确认预约
→ 预约成功(生成预约号) → 发送预约提醒(D-1)
→ 患者到院 → 取号签到 → 排队等候 → 叫号就诊
现场挂号流程:
选择科室 → 选择医生 → 确认挂号
→ 缴费(挂号费) → 生成排队号 → 排队叫号
```
### 数据库设计
```sql
-- V2026_0629__appointment_enhancement.sql
CREATE TABLE registration_queue (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
queue_date DATE NOT NULL,
queue_no VARCHAR(20) NOT NULL,
queue_type VARCHAR(20) NOT NULL,
dept_id BIGINT,
doctor_id BIGINT,
queue_status VARCHAR(20) DEFAULT 'WAITING',
call_time TIMESTAMP,
call_count INTEGER DEFAULT 0,
complete_time TIMESTAMP,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
CREATE TABLE registration_no_show (
id BIGSERIAL PRIMARY KEY,
patient_id BIGINT NOT NULL,
appointment_id BIGINT,
no_show_date DATE NOT NULL,
reason VARCHAR(50),
blacklisted CHAR(1) DEFAULT '0',
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
CREATE TABLE appointment_reminder (
id BIGSERIAL PRIMARY KEY,
appointment_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
reminder_type VARCHAR(20) NOT NULL,
reminder_time TIMESTAMP NOT NULL,
reminder_content TEXT,
send_status VARCHAR(20) DEFAULT 'PENDING',
send_time TIMESTAMP,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
```
### API接口设计
```
GET /healthlink-his/api/v1/appointment/queue/today 今日排队列表
POST /healthlink-his/api/v1/appointment/queue/call 叫号
PUT /healthlink-his/api/v1/appointment/queue/complete/{id} 就诊完成
GET /healthlink-his/api/v1/appointment/queue/stats 排队统计
POST /healthlink-his/api/v1/appointment/no-show/record 爽约记录
GET /healthlink-his/api/v1/appointment/no-show/page 爽约分页
GET /healthlink-his/api/v1/appointment/statistics 挂号统计
```
### 前端页面设计
| 页面 | 路径 | 类型 | 说明 |
|------|------|------|------|
| 排队叫号 | appoinmentmanage/QueueCall.vue | 新建 | 实时排队列表+叫号按钮 |
| 爽约管理 | appoinmentmanage/NoShow.vue | 新建 | 爽约记录+黑名单 |
| 挂号统计 | appoinmentmanage/Statistics.vue | 新建 | 统计图表 |
### 关键业务规则
1. 爽约3次自动进入黑名单限制预约
2. 叫号3次未到自动跳过
3. 预约提醒在就诊前1天发送
4. 同一患者同一医生每天只能挂1个号
---
## 12. 门诊outpatientmanage
### 已有代码分析
| 层 | outpatientmanage |
|----|-----------------|
| Controller | 3 (OutpatientTreatment/OutpatientSkinTestApp/OutpatientInfusion) |
| AppService | 3 |
| 前端 | outpatientenhanced/ 1 vue |
已有功能: 门诊处置(执行/取消)、皮试记录(CRUD)、门诊输液(患者列表/待执行/执行/撤销)。
### 缺失功能清单
| 功能 | 描述 | 实现方式 |
|------|------|---------|
| 门诊病历 | 门诊病历的书写和查看 | 复用 document 模块的 DocRecord |
| 随访管理 | 门诊患者随访计划和执行 | 新增 outpatient_followup 表 |
| 复诊提醒 | 慢病患者复诊自动提醒 | 新增 outpatient_reminder 表 |
| 门诊处方点评 | 处方合理性点评和统计 | 新增 outpatient_prescription_review 表 |
### 业务流程
```
门诊处置流程:
护士站查询处置单 → 扫码核对患者 → 执行处置
→ 记录执行结果 → 标记完成
随访流程:
出院/门诊结束 → 生成随访计划 → 按计划提醒
→ 电话/短信随访 → 记录随访结果 → 统计分析
```
### 数据库设计
```sql
-- V2026_0630__outpatient_enhancement.sql
CREATE TABLE outpatient_followup (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT,
patient_id BIGINT NOT NULL,
doctor_id BIGINT,
doctor_name VARCHAR(50),
followup_type VARCHAR(30) NOT NULL,
followup_reason TEXT,
planned_date DATE NOT NULL,
actual_date DATE,
status VARCHAR(20) DEFAULT 'PLANNED',
followup_result TEXT,
followup_by BIGINT,
followup_by_name VARCHAR(50),
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
CREATE TABLE outpatient_reminder (
id BIGSERIAL PRIMARY KEY,
patient_id BIGINT NOT NULL,
encounter_id BIGINT,
reminder_type VARCHAR(30) NOT NULL,
reminder_content TEXT,
remind_date DATE NOT NULL,
send_status VARCHAR(20) DEFAULT 'PENDING',
send_time TIMESTAMP,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
```
### API接口设计
```
GET /healthlink-his/api/v1/outpatient/followup/page 随访分页
POST /healthlink-his/api/v1/outpatient/followup 创建随访
POST /healthlink-his/api/v1/outpatient/followup/complete/{id} 完成随访
GET /healthlink-his/api/v1/outpatient/followup/pending 待随访列表
GET /healthlink-his/api/v1/outpatient/reminder/pending 待提醒列表
POST /healthlink-his/api/v1/outpatient/reminder/generate 生成提醒
```
### 前端页面设计
| 页面 | 路径 | 类型 | 说明 |
|------|------|------|------|
| 随访管理 | outpatientenhanced/Followup.vue | 新建 | 随访计划+执行+统计 |
| 复诊提醒 | outpatientenhanced/Reminder.vue | 新建 | 提醒列表+发送 |
### 关键业务规则
1. 慢病患者每次就诊后自动生成随访计划
2. 随访提醒通过短信/微信推送
3. 随访完成率纳入科室考核
---
## 13. 住院入出转inpatientmanage
### 已有代码分析
| 层 | inpatientmanage |
|----|----------------|
| Controller | 5 (NursingVitalSignsChart/VitalSigns/PatientHome/NursingRecord/Deposit) |
| AppService | 4 |
| 前端 | inHospitalManagement/ 43 vue |
已有功能: 三测单(体温单)管理、生命体征记录、患者首页(入院/转床/转科/出院)、护理记录单(CRUD+模板)、预交金管理。
### 缺失功能清单
| 功能 | 描述 | 实现方式 |
|------|------|---------|
| 预住院管理 | 预住院登记、检查、正式入院转归 | 新增 pre_admission 表 |
| 出院小结 | 出院小结自动生成和填写 | 复用 document 模块的 DischargeSummary |
| 转院管理 | 转院申请、审批、执行 | 新增 transfer_record 表 |
| 死亡登记 | 死亡病例登记和报告 | 新增 death_register 表 |
| 入院评估 | 入院护理评估(生活自理能力/营养/心理) | 复用 nurse_assessment模块6 |
### 业务流程
```
预住院流程:
预住院登记 → 术前检查 → 检查结果审核
→ 确认入院 → 分配床位 → 正式入院
→ 预住院费用转入住院费用
出院流程:
医生开立出院医嘱 → 护士核对(药品/费用/物品)
→ 出院宣教 → 结算出院 → 出院小结
→ 病案归档 → 随访计划
转院流程:
转院申请(转出科室) → 接收医院确认 → 审批
→ 转院准备(病历/药品/物品) → 转院执行
→ 转出登记 → 接收确认
```
### 数据库设计
```sql
-- V2026_0631__inpatient_enhancement.sql
CREATE TABLE pre_admission (
id BIGSERIAL PRIMARY KEY,
patient_id BIGINT NOT NULL,
expected_dept_id BIGINT,
expected_doctor_id BIGINT,
expected_diagnosis TEXT,
admission_reason TEXT,
pre_admission_status VARCHAR(20) DEFAULT 'PENDING',
register_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
register_by BIGINT,
register_by_name VARCHAR(50),
admission_time TIMESTAMP,
admission_encounter_id BIGINT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
CREATE TABLE transfer_record (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
transfer_type VARCHAR(20) NOT NULL,
from_dept_id BIGINT,
from_dept_name VARCHAR(100),
to_dept_id BIGINT,
to_dept_name VARCHAR(100),
to_hospital_name VARCHAR(200),
transfer_reason TEXT,
transfer_time TIMESTAMP,
transfer_by BIGINT,
transfer_by_name VARCHAR(50),
receive_by BIGINT,
receive_by_name VARCHAR(50),
status VARCHAR(20) DEFAULT 'PENDING',
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
CREATE TABLE death_register (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
death_time TIMESTAMP NOT NULL,
death_cause TEXT,
death_certificate_no VARCHAR(50),
reporter_id BIGINT,
reporter_name VARCHAR(50),
report_time TIMESTAMP,
status VARCHAR(20) DEFAULT 'REPORTED',
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
```
### API接口设计
```
POST /healthlink-his/api/v1/inpatient/pre-admission 预住院登记
GET /healthlink-his/api/v1/inpatient/pre-admission/page 预住院分页
PUT /healthlink-his/api/v1/inpatient/pre-admission/admit/{id} 确认入院
POST /healthlink-his/api/v1/inpatient/transfer/apply 转院申请
GET /healthlink-his/api/v1/inpatient/transfer/page 转院分页
PUT /healthlink-his/api/v1/inpatient/transfer/approve/{id} 转院审批
PUT /healthlink-his/api/v1/inpatient/transfer/execute/{id} 转院执行
POST /healthlink-his/api/v1/inpatient/death-register 死亡登记
GET /healthlink-his/api/v1/inpatient/death-register/page 死亡登记分页
```
### 前端页面设计
| 页面 | 路径 | 类型 | 说明 |
|------|------|------|------|
| 预住院 | inHospitalManagement/PreAdmission.vue | 新建 | 预住院登记+检查+入院转归 |
| 转院管理 | inHospitalManagement/Transfer.vue | 新建 | 转院申请+审批+执行 |
| 死亡登记 | inHospitalManagement/DeathRegister.vue | 新建 | 死亡登记表单+查询 |
### 关键业务规则
1. 预住院期间的检查费用在正式入院时转入住院费用
2. 转院必须经科室主任审批
3. 死亡病例必须在24小时内完成死亡登记
4. 死亡病例必须进行死亡讨论(复用 mrhomepage 模块)
5. 出院后48小时内完成出院小结
---
## 14. 医保ybmanage
### 已有代码分析
| 层 | ybmanage |
|----|---------|
| Controller | 3 (YbController 1065行/YbInpatientController/YbElepController) |
| Service | 3 (IYbService/IYbEleHttpService/IYbEleBaseService) |
| Mapper | 2 |
| DTO | 28+ |
| 前端 | ybmanagement/ 15 vue |
已有功能: 医保签到/人员信息/慢病/目录对照(3301/3302)/对总账(3201)/对明细账(3202)/清算(3203A-3205A)/商品管理(3501-3507)/结算清单(4101A)/事前事中(3101/3103)/门诊退费(2208)/冲正(2601)/费用明细(2204)/住院登记(2401-2403)/住院出院/病案上传/电子处方全生命周期。
### 缺失功能清单
| 功能 | 描述 | 实现方式 |
|------|------|---------|
| 对账明细增强 | 对账差异自动标记和处理 | 新增 yb_reconcile_detail_enhance 表 |
| DRG预警 | 医保DRG分组异常预警和CMI监控 | 新增 yb_drg_alert 表 |
| 医保目录同步 | 定期同步医保目录更新 | 新增 yb_catalog_sync_log 表 |
| 医保费用监控 | 实时监控医保费用占比和异常 | 复用现有数据,增加统计接口 |
### 数据库设计
```sql
-- V2026_0632__yb_enhancement.sql
CREATE TABLE yb_drg_alert (
id BIGSERIAL PRIMARY KEY,
encounter_id BIGINT NOT NULL,
patient_id BIGINT NOT NULL,
alert_type VARCHAR(30) NOT NULL,
alert_level VARCHAR(10) DEFAULT 'WARNING',
drg_code VARCHAR(20),
drg_name VARCHAR(100),
cmi_value DECIMAL(6,3),
expected_cmi DECIMAL(6,3),
alert_detail TEXT,
alert_status VARCHAR(20) DEFAULT 'OPEN',
handler_id BIGINT,
handler_name VARCHAR(50),
handle_time TIMESTAMP,
handle_result TEXT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
CREATE TABLE yb_catalog_sync_log (
id BIGSERIAL PRIMARY KEY,
sync_type VARCHAR(30) NOT NULL,
sync_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
sync_status VARCHAR(20) DEFAULT 'PENDING',
total_count INTEGER DEFAULT 0,
success_count INTEGER DEFAULT 0,
fail_count INTEGER DEFAULT 0,
error_msg TEXT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
```
### API接口设计
```
GET /healthlink-his/api/v1/yb/drg-alert/page DRG预警分页
POST /healthlink-his/api/v1/yb/drg-alert/handle 处理预警
GET /healthlink-his/api/v1/yb/drg-alert/stats 预警统计
POST /healthlink-his/api/v1/yb/catalog-sync/trigger 触发目录同步
GET /healthlink-his/api/v1/yb/catalog-sync/log 同步日志
GET /healthlink-his/api/v1/yb/fee-monitor/stats 费用监控统计
GET /healthlink-his/api/v1/yb/fee-monitor/abnormal 异常费用列表
```
### 前端页面设计
| 页面 | 路径 | 类型 | 说明 |
|------|------|------|------|
| DRG预警 | ybmanagement/DrgAlert.vue | 新建 | 预警列表+处理+统计 |
| 费用监控 | ybmanagement/FeeMonitor.vue | 新建 | 实时费用监控+异常告警 |
### 关键业务规则
1. DRG分组后自动检查CMI值偏差>20%预警
2. 医保目录每月自动同步,有更新时通知
3. 医保费用占比超过85%自动预警
4. 异常费用必须48小时内处理
---
## 15. 系统管理system
### 已有代码分析
| 层 | system |
|----|--------|
| Controller | 5 (DataExport/SysAuditLog/Dashboard/ApiAuth/Home) |
| 前端 | system/ 20 vue, monitor/ 9 vue |
已有功能: 通用Excel/PDF导出、审计日志(CRUD)、仪表盘配置(CRUD+概览)、API认证管理、首页统计。
### 缺失功能清单
| 功能 | 描述 | 实现方式 |
|------|------|---------|
| 系统参数配置 | 全局参数管理(可热更新) | 新增 sys_config 表 |
| 消息通知 | 站内消息/短信/微信通知 | 新增 sys_notification 表 |
| 定时任务管理 | 可视化管理Quartz定时任务 | 新增 sys_scheduled_job 表 |
| 操作日志增强 | 增加请求/响应体记录 | 扩展 audit_log 增加字段 |
### 数据库设计
```sql
-- V2026_0633__system_enhancement.sql
CREATE TABLE sys_config (
id BIGSERIAL PRIMARY KEY,
config_group VARCHAR(50) NOT NULL,
config_key VARCHAR(100) NOT NULL,
config_value TEXT,
config_type VARCHAR(10) DEFAULT 'STRING',
description VARCHAR(200),
enabled CHAR(1) DEFAULT '1',
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
CREATE TABLE sys_notification (
id BIGSERIAL PRIMARY KEY,
title VARCHAR(200) NOT NULL,
content TEXT,
notification_type VARCHAR(30) NOT NULL,
sender_id BIGINT,
sender_name VARCHAR(50),
receiver_id BIGINT,
receiver_name VARCHAR(50),
send_channel VARCHAR(20) DEFAULT 'SYSTEM',
send_status VARCHAR(20) DEFAULT 'PENDING',
read_status VARCHAR(20) DEFAULT 'UNREAD',
read_time TIMESTAMP,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
CREATE TABLE sys_scheduled_job (
id BIGSERIAL PRIMARY KEY,
job_name VARCHAR(100) NOT NULL,
job_group VARCHAR(50) DEFAULT 'DEFAULT',
invoke_target TEXT NOT NULL,
cron_expression VARCHAR(100) NOT NULL,
misfire_policy VARCHAR(20) DEFAULT 'DO_NOTHING',
concurrent CHAR(1) DEFAULT '0',
enabled CHAR(1) DEFAULT '1',
last_run_time TIMESTAMP,
next_run_time TIMESTAMP,
run_count INTEGER DEFAULT 0,
description VARCHAR(200),
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
```
### API接口设计
```
GET /healthlink-his/api/v1/system/config/page 参数分页
GET /healthlink-his/api/v1/system/config/group/{group} 按组查询
POST /healthlink-his/api/v1/system/config 保存参数
DELETE /healthlink-his/api/v1/system/config/{id} 删除参数
GET /healthlink-his/api/v1/system/notification/page 消息分页
GET /healthlink-his/api/v1/system/notification/unread 未读消息
POST /healthlink-his/api/v1/system/notification/read/{id} 标记已读
POST /healthlink-his/api/v1/system/notification/read-all 全部已读
GET /healthlink-his/api/v1/system/scheduled-job/page 定时任务分页
POST /healthlink-his/api/v1/system/scheduled-job 保存任务
PUT /healthlink-his/api/v1/system/scheduled-job/{id} 更新任务
PUT /healthlink-his/api/v1/system/scheduled-job/pause/{id} 暂停
PUT /healthlink-his/api/v1/system/scheduled-job/resume/{id} 恢复
```
### 前端页面设计
| 页面 | 路径 | 类型 | 说明 |
|------|------|------|------|
| 参数配置 | system/SysConfig.vue | 新建 | 参数分组+CRUD |
| 消息中心 | system/Notification.vue | 新建 | 消息列表+已读/未读 |
| 定时任务 | system/ScheduledJob.vue | 新建 | 任务CRUD+暂停/恢复+执行日志 |
### 关键业务规则
1. 系统参数修改立即生效(热更新)
2. 定时任务支持Cron表达式配置
3. 消息通知支持站内消息+短信+微信
4. 操作日志保留至少180天
---
## 16. 字典/基础数据datadictionary + basedatamanage
### 已有代码分析
| 层 | datadictionary | basedatamanage |
|----|---------------|----------------|
| Controller | 7 (Supplier/Medication/ItemDefinition/ICDCode/Disease/DiagnosisTreatment/Device) | 8 (PractitionerRole/Practitioner/OrganizationLocation/Organization/OperatingRoom/Location/Frequency/BodyStructure) |
| AppService | 8 | 7 |
| 前端 | basicmanage/ 39 vue, catalog/ 13 vue, drug/ 7 vue |
已有功能: 供应商/药品目录/项目定价/ICD-10/病种/诊疗目录/器材目录管理(全部CRUD+导入导出)、岗位/参与者/机构/位置/手术室/频次/身体部位管理。
### 缺失功能清单
| 功能 | 描述 | 实现方式 |
|------|------|---------|
| 数据版本管理 | 字典数据变更版本追踪 | 新增 dict_change_log 表 |
| 批量导入校验 | 导入时的数据校验和错误反馈 | 扩展现有导入功能增加校验 |
| 数据导出审计 | 字典导出操作审计 | 复用 audit_log |
| 字典数据对比 | 两套字典数据差异对比 | 新增 dict_diff 表 |
### 数据库设计
```sql
-- V2026_0634__dict_enhancement.sql
CREATE TABLE dict_change_log (
id BIGSERIAL PRIMARY KEY,
dict_type VARCHAR(50) NOT NULL,
dict_code VARCHAR(50),
change_type VARCHAR(20) NOT NULL,
old_value TEXT,
new_value TEXT,
change_by BIGINT,
change_by_name VARCHAR(50),
change_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
change_reason TEXT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
```
### API接口设计
```
GET /healthlink-his/api/v1/dict/change-log/page 变更日志分页
GET /healthlink-his/api/v1/dict/change-log/type/{dictType} 按类型查询
POST /healthlink-his/api/v1/dict/import/validate 导入校验
GET /healthlink-his/api/v1/dict/import/validate/{taskId} 校验结果
```
### 前端页面设计
| 页面 | 路径 | 类型 | 说明 |
|------|------|------|------|
| 变更日志 | basicmanage/ChangeLog.vue | 新建 | 变更历史+对比视图 |
### 关键业务规则
1. 字典数据变更必须记录操作日志
2. 已被引用的字典数据不可删除,只能停用
3. 批量导入必须先校验再导入
4. 字典编码全局唯一
---
## 17. 电子签名ca
### 已有代码分析
| 层 | ca |
|----|-----|
| Controller | 1 (CaSignatureController) |
| AppService | 1 (ICaSignatureAppService) |
| 前端 | casignature/ 3 vue |
已有功能: 签名、验证签名、签名历史、撤销签名、签名统计。
### 缺失功能清单
| 功能 | 描述 | 实现方式 |
|------|------|---------|
| 签名模板 | 常用签名模板管理 | 新增 ca_signature_template 表 |
| 批量签名 | 批量签署多份文书 | 扩展签名接口支持批量 |
| 签名验证增强 | 验证签名完整性和时间戳 | 复用现有功能,增加验证维度 |
| 签名日志 | 签名操作详细日志 | 新增 ca_signature_log 表 |
### 数据库设计
```sql
-- V2026_0635__ca_enhancement.sql
CREATE TABLE ca_signature_template (
id BIGSERIAL PRIMARY KEY,
template_name VARCHAR(100) NOT NULL,
document_type VARCHAR(50) NOT NULL,
signature_config TEXT,
is_default CHAR(1) DEFAULT '0',
enabled CHAR(1) DEFAULT '1',
created_by BIGINT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64),
update_time TIMESTAMP,
update_by VARCHAR(64)
);
CREATE TABLE ca_signature_log (
id BIGSERIAL PRIMARY KEY,
signature_id BIGINT NOT NULL,
action VARCHAR(30) NOT NULL,
document_type VARCHAR(50),
document_id BIGINT,
signer_id BIGINT,
signer_name VARCHAR(50),
action_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
action_result VARCHAR(20),
ip_address VARCHAR(50),
user_agent TEXT,
del_flag CHAR(1) DEFAULT '0',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_by VARCHAR(64)
);
```
### API接口设计
```
GET /healthlink-his/api/v1/ca-signature/template/page 模板分页
POST /healthlink-his/api/v1/ca-signature/template 保存模板
DELETE /healthlink-his/api/v1/ca-signature/template/{id} 删除模板
POST /healthlink-his/api/v1/ca-signature/batch-sign 批量签名
GET /healthlink-his/api/v1/ca-signature/log/{documentType}/{documentId} 签名日志
```
### 前端页面设计
| 页面 | 路径 | 类型 | 说明 |
|------|------|------|------|
| 签名模板 | casignature/SignatureTemplate.vue | 新建 | 模板CRUD |
### 关键业务规则
1. 签名后文书不可篡改
2. 签名操作必须记录IP和设备信息
3. 批量签名最多100份/次
4. 签名证书到期前30天提醒更新
---
## 附录Flyway迁移文件清单
| 文件名 | 模块 | 说明 |
|--------|------|------|
| V2026_0618__blood_transfusion_record.sql | 住院医生站 | 输血管理表 |
| V2026_0619__clinical_pathway_execution_enhancement.sql | 住院医生站 | 临床路径+危急值处理 |
| V2026_0620__anesthesia_enhancement.sql | 手术麻醉 | ASA评估+术前访视+麻醉小结+事件+PACU |
| V2026_0621__emr_version_and_rules.sql | 电子病历 | 版本管理+规则+质量评分+锁定 |
| V2026_0622__mr_management_enhancement.sql | 病案管理 | 终末质控+HQMS+DRG预警+规则 |
| V2026_0623__pharmacy_safety_enhancement.sql | 药品管理 | 交互检查+处方审核+用药提醒 |
| V2026_0624__nursing_enhancement.sql | 护士站 | 评估+任务+交接班+护理计划 |
| V2026_0625__lab_enhancement.sql | 检验 | 自动审核规则+报告模板 |
| V2026_0626__check_enhancement.sql | 检查/影像 | PACS+排队+AI辅助 |
| V2026_0627__radiology_enhancement.sql | 放射增强 | 影像随访 |
| V2026_0628__billing_enhancement.sql | 收费/计费 | 票据+退费审批+一日清单 |
| V2026_0629__appointment_enhancement.sql | 挂号 | 排队+爽约+提醒 |
| V2026_0630__outpatient_enhancement.sql | 门诊 | 随访+提醒 |
| V2026_0631__inpatient_enhancement.sql | 住院入出转 | 预住院+转院+死亡登记 |
| V2026_0632__yb_enhancement.sql | 医保 | DRG预警+目录同步 |
| V2026_0633__system_enhancement.sql | 系统管理 | 参数+通知+定时任务 |
| V2026_0634__dict_enhancement.sql | 字典/基础数据 | 变更日志 |
| V2026_0635__ca_enhancement.sql | 电子签名 | 模板+日志 |