- 删除手术状态下拉框的重复字典数据,保留每组中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字段以完善审计信息 - 更新院感管理和评审保障模块的设计文档,明确各模块实现状态和缺失功能
2177 lines
78 KiB
Markdown
2177 lines
78 KiB
Markdown
# Phase 1(P0核心达标)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 | 电子签名 | 模板+日志 |
|