Files
his/MD/architecture/PHASE_A_EMERGENCY_DESIGN.md

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 急诊统计(分级分布/抢救率/等候时间)