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 功能 |
| 出院带药 |
出院处方开立与审核 |
复用门诊处方流程,增加出院标识 |
业务流程
数据库设计
-- 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接口设计
前端页面设计
| 页面 |
路径 |
类型 |
说明 |
| 输血管理 |
inpatientDoctor/BloodTransfusion.vue |
新建 |
输血申请列表+审批+观察记录 |
| 临床路径执行 |
inpatientDoctor/ClinicalPathway.vue |
新建 |
路径日程表+执行+变异记录 |
| 危急值处理 |
inpatientDoctor/CriticalValueHandle.vue |
新建 |
待处理列表+处理表单+复查确认 |
| 医嘱执行追踪 |
inpatientDoctor/OrderExecuteTrace.vue |
新建 |
时间轴视图展示医嘱全生命周期 |
关键业务规则
- 输血申请必须由主治及以上医师审批,紧急情况可由值班医师代签
- 输血前必须完成交叉配血试验,结果阴性方可执行
- 输血过程中15分钟、30分钟、1小时各记录一次生命体征
- 发生输血不良反应立即停止输血并报告
- 临床路径入径率≥50%,完成率≥70%
- 危急值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,增加流程状态管理 |
业务流程
数据库设计
-- 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接口设计
前端页面设计
| 页面 |
路径 |
类型 |
说明 |
| ASA评估 |
anesthesia/AsaAssessment.vue |
新建 |
ASA分级评估表单 |
| 术前访视 |
anesthesia/PreAssess.vue |
新建 |
术前访视记录表单 |
| 麻醉小结 |
anesthesia/AnesSummary.vue |
新建 |
综合小结表单+打印 |
| 术中事件 |
anesthesia/IntraopEvent.vue |
新建 |
事件时间轴+录入 |
| PACU评分 |
anesthesia/RecoveryScore.vue |
新建 |
Aldrete评分表+趋势图 |
| 完整流程 |
anesthesia/AnesthesiaFlow.vue |
扩展 |
整合术前→术中→术后全流程 |
关键业务规则
- ASA分级必须由麻醉医师在术前完成评估
- 术中生命体征每5分钟自动采集一次(手动可补录)
- 麻醉记录完成后不可修改,只能留痕
- PACU评分≥9分方可转出
- 术后随访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 表 |
业务流程
数据库设计
API接口设计
前端页面设计
| 页面 |
路径 |
类型 |
说明 |
| 版本管理 |
emr/VersionHistory.vue |
新建 |
版本列表+对比视图(差异高亮) |
| 质量评分 |
emr/QualityScore.vue |
新建 |
评分详情+趋势图 |
| 规则配置 |
emr/CompletenessRule.vue |
新建 |
规则CRUD+测试 |
| 完整视图 |
emr/EmrCompleteView.vue |
扩展 |
整合留痕/版本/质量/锁定 |
关键业务规则
- 病历归档后自动锁定,修改需提交申请经上级审批
- 每次修改自动创建新版本,保留完整历史
- 完整性规则可按科室/病种/文书类型配置
- 质量评分≥90为优秀,80-89为良好,70-79为合格,<70为不合格
- 超时病历自动推送提醒,连续超时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,增加维度 |
业务流程
数据库设计
-- 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接口设计
前端页面设计
| 页面 |
路径 |
类型 |
说明 |
| 终末质控 |
hospitalRecord/TerminalQc.vue |
新建 |
质控任务列表+审核表单 |
| HQMS上报 |
hospitalRecord/HqmsUpload.vue |
新建 |
上报记录+重试+统计 |
| DRG预警 |
hospitalRecord/DrgAlert.vue |
新建 |
预警列表+处理 |
| 质量报表 |
hospitalRecord/QualityReport.vue |
新建 |
多维度质量统计图表 |
| 质控规则 |
hospitalRecord/QcRuleConfig.vue |
新建 |
规则配置管理 |
关键业务规则
- 出院后24小时内自动生成病案首页
- 首页上报前必须通过数据质量校验
- 终末质控在出院7日内完成,质控员与主治医师不能为同一人
- DRG分组完成后自动检查CMI值合理性
- 病案借阅必须审批,借阅期限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 表 |
业务流程
数据库设计
-- 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接口设计
前端页面设计
| 页面 |
路径 |
类型 |
说明 |
| 交互检查 |
pharmacymanagement/InteractionCheck.vue |
新建 |
交互规则配置+检查结果 |
| 处方审核 |
pharmacymanagement/PrescriptionReview.vue |
新建 |
审核结果展示+人工确认 |
| 效期管理 |
pharmacymanagement/ExpiryWarning.vue |
新建 |
近效期药品列表+预警 |
关键业务规则
- 高危药品必须双人核对后方可发药
- 药物相互作用检查在开方和发药两个环节均执行
- 药品距效期6个月预警,3个月黄灯,1个月红灯
- 处方审核拦截项不可人工跳过(需上级授权)
- 每日自动统计处方合理率
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 模块 |
业务流程
数据库设计
-- 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接口设计
前端页面设计
| 页面 |
路径 |
类型 |
说明 |
| 护理评估 |
inpatientNurse/NurseAssessment.vue |
新建 |
评估表单(多类型)+历史记录 |
| 护理任务 |
inpatientNurse/NurseTask.vue |
新建 |
任务列表+分配+执行+统计 |
| 交接班 |
inpatientNurse/ShiftHandover.vue |
新建 |
交接记录表单+历史查询 |
| 护理计划 |
inpatientNurse/CarePlan.vue |
新建 |
计划制定+执行追踪 |
关键业务规则
- 入院8小时内完成首次护理评估
- Braden评分≤12分高危,每4小时评估一次
- Morse评分≥45分高危,需启动防跌倒措施
- 交接班必须双方签名确认
- 护理任务必须在计划时间内完成,超时自动预警
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 表 |
业务流程
数据库设计
API接口设计
前端页面设计
| 页面 |
路径 |
类型 |
说明 |
| 自动审核规则 |
labenhanced/AutoReviewRule.vue |
新建 |
规则配置管理 |
| 标本追踪 |
labenhanced/SpecimenTrace.vue |
新建 |
标本全流程追踪时间轴 |
关键业务规则
- 危急值必须在30分钟内通知临床并获得确认
- 自动审核通过率目标≥70%
- 标本溶血/脂血/凝块等不合格标本必须退回重采
- 检验报告签发后不可修改,修改需留痕
- 室内质控每日至少做一次
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 表 |
业务流程
数据库设计
API接口设计
前端页面设计
| 页面 |
路径 |
类型 |
说明 |
| 排队叫号 |
inspection/ExamQueue.vue |
新建 |
实时排队列表+叫号+状态 |
| PACS配置 |
inspection/PacsConfig.vue |
新建 |
PACS系统集成配置 |
| AI辅助 |
inspection/AiAssist.vue |
新建 |
AI辅助诊断结果展示 |
关键业务规则
- 急诊检查30分钟内出报告
- 普通检查24小时内出报告
- 影像诊断报告必须由执业医师签发
- 紧急报告立即通知临床并记录通知时间
- AI辅助结果仅供参考,最终诊断由医师确认
9. 放射增强(radiologyenhanced)
已有代码分析
后端功能全部在 check 模块中实现(RadiologyEnhancedController/RadiologyImageController/RadiologyComparisonController),前端有:
- radiologyenhanced/ 1 vue
- radiologycomparison/ 1 vue
已有功能: 紧急报告管理、放射统计、影像对比。
缺失功能清单
| 功能 |
描述 |
实现方式 |
| 结构化影像报告 |
按部位的结构化报告模板+智能填充 |
扩展 doc_template 增加影像报告模板 |
| 影像后处理 |
MPR/MIP/VR等后处理功能调用 |
前端集成 Cornerstone.js |
| 随访管理 |
影像随访计划和提醒 |
新增 radiology_followup 表 |
数据库设计
API接口设计
前端页面设计
| 页面 |
路径 |
类型 |
说明 |
| 影像随访 |
radiologyenhanced/Followup.vue |
新建 |
随访计划管理+提醒 |
关键业务规则
- 影像随访计划基于检查结果自动生成
- 随访提醒在计划日期前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 表 |
业务流程
数据库设计
-- 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接口设计
前端页面设计
| 页面 |
路径 |
类型 |
说明 |
| 退费审批 |
charge/RefundApproval.vue |
新建 |
退费审批列表+审批表单 |
| 一日清单 |
charge/DailyDetail.vue |
新建 |
患者每日费用明细 |
| 票据管理 |
charge/ReceiptManage.vue |
新建 |
票据记录+补打+作废 |
关键业务规则
- 退费金额>1000元需两级审批(科室+财务)
- 住院一日清单每日自动生成,支持在线查看和打印
- 票据作废需记录原因,作废后不可恢复
- 三方支付退费必须原路退回
- 对账差异>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 表 |
业务流程
数据库设计
API接口设计
前端页面设计
| 页面 |
路径 |
类型 |
说明 |
| 排队叫号 |
appoinmentmanage/QueueCall.vue |
新建 |
实时排队列表+叫号按钮 |
| 爽约管理 |
appoinmentmanage/NoShow.vue |
新建 |
爽约记录+黑名单 |
| 挂号统计 |
appoinmentmanage/Statistics.vue |
新建 |
统计图表 |
关键业务规则
- 爽约3次自动进入黑名单,限制预约
- 叫号3次未到自动跳过
- 预约提醒在就诊前1天发送
- 同一患者同一医生每天只能挂1个号
12. 门诊(outpatientmanage)
已有代码分析
| 层 |
outpatientmanage |
| Controller |
3 (OutpatientTreatment/OutpatientSkinTestApp/OutpatientInfusion) |
| AppService |
3 |
| 前端 |
outpatientenhanced/ 1 vue |
已有功能: 门诊处置(执行/取消)、皮试记录(CRUD)、门诊输液(患者列表/待执行/执行/撤销)。
缺失功能清单
| 功能 |
描述 |
实现方式 |
| 门诊病历 |
门诊病历的书写和查看 |
复用 document 模块的 DocRecord |
| 随访管理 |
门诊患者随访计划和执行 |
新增 outpatient_followup 表 |
| 复诊提醒 |
慢病患者复诊自动提醒 |
新增 outpatient_reminder 表 |
| 门诊处方点评 |
处方合理性点评和统计 |
新增 outpatient_prescription_review 表 |
业务流程
数据库设计
API接口设计
前端页面设计
| 页面 |
路径 |
类型 |
说明 |
| 随访管理 |
outpatientenhanced/Followup.vue |
新建 |
随访计划+执行+统计 |
| 复诊提醒 |
outpatientenhanced/Reminder.vue |
新建 |
提醒列表+发送 |
关键业务规则
- 慢病患者每次就诊后自动生成随访计划
- 随访提醒通过短信/微信推送
- 随访完成率纳入科室考核
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) |
业务流程
数据库设计
-- 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接口设计
前端页面设计
| 页面 |
路径 |
类型 |
说明 |
| 预住院 |
inHospitalManagement/PreAdmission.vue |
新建 |
预住院登记+检查+入院转归 |
| 转院管理 |
inHospitalManagement/Transfer.vue |
新建 |
转院申请+审批+执行 |
| 死亡登记 |
inHospitalManagement/DeathRegister.vue |
新建 |
死亡登记表单+查询 |
关键业务规则
- 预住院期间的检查费用在正式入院时转入住院费用
- 转院必须经科室主任审批
- 死亡病例必须在24小时内完成死亡登记
- 死亡病例必须进行死亡讨论(复用 mrhomepage 模块)
- 出院后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 表 |
| 医保费用监控 |
实时监控医保费用占比和异常 |
复用现有数据,增加统计接口 |
数据库设计
API接口设计
前端页面设计
| 页面 |
路径 |
类型 |
说明 |
| DRG预警 |
ybmanagement/DrgAlert.vue |
新建 |
预警列表+处理+统计 |
| 费用监控 |
ybmanagement/FeeMonitor.vue |
新建 |
实时费用监控+异常告警 |
关键业务规则
- DRG分组后自动检查CMI值,偏差>20%预警
- 医保目录每月自动同步,有更新时通知
- 医保费用占比超过85%自动预警
- 异常费用必须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 增加字段 |
数据库设计
-- 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接口设计
前端页面设计
| 页面 |
路径 |
类型 |
说明 |
| 参数配置 |
system/SysConfig.vue |
新建 |
参数分组+CRUD |
| 消息中心 |
system/Notification.vue |
新建 |
消息列表+已读/未读 |
| 定时任务 |
system/ScheduledJob.vue |
新建 |
任务CRUD+暂停/恢复+执行日志 |
关键业务规则
- 系统参数修改立即生效(热更新)
- 定时任务支持Cron表达式配置
- 消息通知支持站内消息+短信+微信
- 操作日志保留至少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 表 |
数据库设计
API接口设计
前端页面设计
| 页面 |
路径 |
类型 |
说明 |
| 变更日志 |
basicmanage/ChangeLog.vue |
新建 |
变更历史+对比视图 |
关键业务规则
- 字典数据变更必须记录操作日志
- 已被引用的字典数据不可删除,只能停用
- 批量导入必须先校验再导入
- 字典编码全局唯一
17. 电子签名(ca)
已有代码分析
| 层 |
ca |
| Controller |
1 (CaSignatureController) |
| AppService |
1 (ICaSignatureAppService) |
| 前端 |
casignature/ 3 vue |
已有功能: 签名、验证签名、签名历史、撤销签名、签名统计。
缺失功能清单
| 功能 |
描述 |
实现方式 |
| 签名模板 |
常用签名模板管理 |
新增 ca_signature_template 表 |
| 批量签名 |
批量签署多份文书 |
扩展签名接口支持批量 |
| 签名验证增强 |
验证签名完整性和时间戳 |
复用现有功能,增加验证维度 |
| 签名日志 |
签名操作详细日志 |
新增 ca_signature_log 表 |
数据库设计
API接口设计
前端页面设计
| 页面 |
路径 |
类型 |
说明 |
| 签名模板 |
casignature/SignatureTemplate.vue |
新建 |
模板CRUD |
关键业务规则
- 签名后文书不可篡改
- 签名操作必须记录IP和设备信息
- 批量签名最多100份/次
- 签名证书到期前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 |
电子签名 |
模板+日志 |