后端: - FollowupController: 随访计划/任务/记录/满意度调查/投诉记录(完整CRUD+业务联动) - PathologyController: 病理医嘱/标本管理/三级审核报告(完整CRUD+业务联动) - EmergencyController: 急诊分诊(五级)/抢救/留观/绿色通道(完整CRUD+统计) 前端: - followup/plan: 随访计划管理(进度条+筛选+联动) - followup/task: 随访任务(今日任务+执行+异常标记) - followup/record: 随访记录(用药依从+复查+转诊) - followup/survey: 满意度调查(星级评分+统计面板) - followup/complaint: 投诉管理(登记→处理→关闭闭环) - pathology/order: 病理医嘱(加急标记+状态流转) - pathology/specimen: 标本管理(扫码接收+质检) - pathology/report: 病理报告(初诊→提交→审核→终审签发) - emergency/triage: 急诊分诊(五级分诊+实时看板+行列高亮) - emergency/rescue: 抢救管理(开始→过程记录→结果) - emergency/observation: 留观管理(时长计算+转归处置) - emergency/greentrack: 绿色通道(Door-to-Tx追踪+达标统计) 修复: - V24-V32 Flyway迁移: is_deleted→delete_flag对齐HisBaseEntity - V24: drug_interaction_rule表兼容V2已有结构(ADD COLUMN IF NOT EXISTS) - V28: CURRENT CURRENT_TIMESTAMP→CURRENT_TIMESTAMP修复 - 所有INDEX添加IF NOT EXISTS防止重复创建
3.8 KiB
3.8 KiB
急诊分诊+抢救模块 — 深度设计文档
版本: v1.0 | 编制日期: 2026-06-07 依据: 《急诊科建设与管理指南》+ 《急诊预检分诊专家共识》
一、业务背景
急诊是三甲医院的关键科室,必须实现:
- 四级预检分诊(Ⅰ级濒死/Ⅱ级危重/Ⅲ级急症/Ⅳ级非急)
- 绿色通道(胸痛/卒中/创伤)
- 抢救记录电子化
- 急诊绿色通道时间监控(门-药/门-球囊/门-手术)
二、业务流程
患者到达急诊
↓
[预检分诊台]
├─ 采集生命体征(体温/脉搏/呼吸/血压/血氧/意识)
├─ 评估病情分级
└─ 分配就诊区域
↓
┌─ Ⅰ级(濒死) → 立即抢救 → 绿色通道
├─ Ⅱ级(危重) → 10分钟内就诊
├─ Ⅲ级(急症) → 30分钟内就诊
└─ Ⅳ级(非急) → 引导至门诊
↓
[急诊医生接诊] ←→ [急诊医嘱]
↓
[检查/检验] ←→ [抢救/留观/住院/出院]
↓
[急诊病历] ←→ [急诊统计]
三、数据模型
-- 急诊分诊
CREATE TABLE emergency_triage (
id BIGSERIAL PRIMARY KEY,
patient_id BIGINT,
patient_name VARCHAR(50),
triage_level INT NOT NULL, -- 1-4级
chief_complaint TEXT,
temperature DECIMAL(4,1),
pulse INT,
respiration INT,
systolic_bp INT,
diastolic_bp INT,
spo2 INT,
consciousness VARCHAR(20),
triage_nurse VARCHAR(64),
triage_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
area VARCHAR(20), -- RESUS/EMERGENCY/OBSERVATION/GREEN
status VARCHAR(20) DEFAULT 'WAITING',
tenant_id BIGINT DEFAULT 0,
is_deleted INT NOT NULL DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 抢救记录
CREATE TABLE emergency_rescue (
id BIGSERIAL PRIMARY KEY,
patient_id BIGINT NOT NULL,
triage_id BIGINT,
rescue_start TIMESTAMP,
rescue_end TIMESTAMP,
rescue_result VARCHAR(20),
chief_doctor VARCHAR(64),
rescue_team TEXT,
procedures TEXT,
medications TEXT,
outcome VARCHAR(20), -- ADMITTED/DISCHARGED/TRANSFERRED/DECEASED
tenant_id BIGINT DEFAULT 0,
is_deleted INT NOT NULL DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 留观记录
CREATE TABLE emergency_observation (
id BIGSERIAL PRIMARY KEY,
patient_id BIGINT NOT NULL,
triage_id BIGINT,
observation_start TIMESTAMP,
observation_end TIMESTAMP,
bed_no VARCHAR(20),
doctor VARCHAR(64),
diagnosis TEXT,
disposition VARCHAR(20), -- ADMITTED/DISCHARGED/TRANSFERRED
observation_hours INT,
tenant_id BIGINT DEFAULT 0,
is_deleted INT NOT NULL DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 绿色通道
CREATE TABLE emergency_green_channel (
id BIGSERIAL PRIMARY KEY,
patient_id BIGINT NOT NULL,
disease_type VARCHAR(30), -- CHEST_PAIN/STROKE/TRAUMA/POISONING
door_to_treatment_time INT, -- 门到治疗时间(分钟)
target_time INT, -- 目标时间
is_achieved BOOLEAN,
doctor VARCHAR(64),
activate_time TIMESTAMP,
complete_time TIMESTAMP,
tenant_id BIGINT DEFAULT 0,
is_deleted INT NOT NULL DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
四、接口设计
| API | 方法 | 说明 |
|---|---|---|
| /emergency/triage/add | POST | 预检分诊 |
| /emergency/triage/queue | GET | 分诊队列(按级别排序) |
| /emergency/rescue/add | POST | 开始抢救 |
| /emergency/rescue/complete/{id} | PUT | 抢救完成 |
| /emergency/observation/add | POST | 留观登记 |
| /emergency/observation/discharge/{id} | PUT | 留观出院 |
| /emergency/green-channel/activate | POST | 启动绿色通道 |
| /emergency/green-channel/stats | GET | 绿色通道统计(达标率) |
| /emergency/stats | GET | 急诊统计(分级分布/抢救率/等候时间) |