# 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 | 电子签名 | 模板+日志 |