-- ============================================================ -- 医嘱模块(长期医嘱 / 临时医嘱 / 护士执行记录) -- 说明:业务表统一使用 elderly_ 前缀,与本项目其他业务表保持一致。 -- 频次(frequency)/给药时间(medTime)/途径(route) 均以缩写存储,后端不翻译。 -- ============================================================ CREATE TABLE elderly_long_doctor_order ( id BIGINT NOT NULL AUTO_INCREMENT, elder_id BIGINT NOT NULL, elder_name VARCHAR(64) DEFAULT '', gender TINYINT DEFAULT NULL, gender_name VARCHAR(16) DEFAULT '', bed_name VARCHAR(64) DEFAULT '', nurse_level_name VARCHAR(64) DEFAULT '', tenant_id BIGINT DEFAULT NULL, creator VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME DEFAULT NULL COMMENT '创建时间', updater VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (id) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '长期医嘱主单'; CREATE TABLE elderly_long_doctor_order_entry ( id BIGINT NOT NULL AUTO_INCREMENT, long_doctor_order_id BIGINT NOT NULL, order_time DATETIME DEFAULT NULL COMMENT '开医嘱时间', order_content VARCHAR(512) DEFAULT '' COMMENT '医嘱内容', frequency VARCHAR(20) DEFAULT '' COMMENT '给药频次缩写', med_time VARCHAR(20) DEFAULT '' COMMENT '给药时间缩写', route VARCHAR(20) DEFAULT '' COMMENT '给药途径缩写', doctor_sign VARCHAR(64) DEFAULT '' COMMENT '医生签名', nurse_sign VARCHAR(64) DEFAULT '' COMMENT '护士签名', stop_time DATETIME DEFAULT NULL COMMENT '停止时间', stop_doctor_sign VARCHAR(64) DEFAULT '' COMMENT '停止医生签名', stop_nurse_sign VARCHAR(64) DEFAULT '' COMMENT '停止护士签名', remark VARCHAR(500) DEFAULT '' COMMENT '备注', status TINYINT NOT NULL DEFAULT 0 COMMENT '0未开始 1在用 2已停止', creator VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME DEFAULT NULL COMMENT '创建时间', updater VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (id), KEY idx_long_order (long_doctor_order_id) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '长期医嘱条目'; CREATE TABLE elderly_short_doctor_order ( id BIGINT NOT NULL AUTO_INCREMENT, elder_id BIGINT NOT NULL, elder_name VARCHAR(64) DEFAULT '', gender TINYINT DEFAULT NULL, gender_name VARCHAR(16) DEFAULT '', bed_name VARCHAR(64) DEFAULT '', nurse_level_name VARCHAR(64) DEFAULT '', tenant_id BIGINT DEFAULT NULL, creator VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME DEFAULT NULL COMMENT '创建时间', updater VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (id) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '临时医嘱主单'; CREATE TABLE elderly_short_doctor_order_entry ( id BIGINT NOT NULL AUTO_INCREMENT, short_doctor_order_id BIGINT NOT NULL, order_time DATETIME DEFAULT NULL COMMENT '开医嘱时间', order_content VARCHAR(512) DEFAULT '' COMMENT '医嘱内容', frequency VARCHAR(20) DEFAULT '' COMMENT '给药频次缩写', med_time VARCHAR(20) DEFAULT '' COMMENT '给药时间缩写', route VARCHAR(20) DEFAULT '' COMMENT '给药途径缩写', doctor_sign VARCHAR(64) DEFAULT '' COMMENT '医生签名', execute_time DATETIME DEFAULT NULL COMMENT '执行时间(临时医嘱即时执行)', nurse_sign VARCHAR(64) DEFAULT '' COMMENT '护士签名', remark VARCHAR(500) DEFAULT '' COMMENT '备注', creator VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME DEFAULT NULL COMMENT '创建时间', updater VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (id), KEY idx_short_order (short_doctor_order_id) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '临时医嘱条目'; CREATE TABLE elderly_doctor_order_execution ( id BIGINT NOT NULL AUTO_INCREMENT, order_type TINYINT NOT NULL COMMENT '1=长期医嘱 2=临时医嘱', order_entry_id BIGINT NOT NULL COMMENT '关联 long/short_doctor_order_entry.id', exec_type TINYINT NOT NULL DEFAULT 1 COMMENT '执行类型 1=常规执行 2=停止确认', elder_id BIGINT DEFAULT NULL, elder_name VARCHAR(64) DEFAULT '', bed_name VARCHAR(64) DEFAULT '', order_content VARCHAR(512) DEFAULT '' COMMENT '医嘱内容冗余,便于打印', frequency VARCHAR(20) DEFAULT '' COMMENT '频次缩写', med_time VARCHAR(20) DEFAULT '' COMMENT '给药时间缩写', route VARCHAR(20) DEFAULT '' COMMENT '给药途径缩写', plan_time DATETIME DEFAULT NULL COMMENT '计划执行时间,前端生成 YYYY-MM-DD HH:mm', exec_time DATETIME DEFAULT NULL COMMENT '实际执行时间', exec_nurse_sign VARCHAR(64) DEFAULT '' COMMENT '执行护士签名', doctor_sign VARCHAR(64) DEFAULT '' COMMENT '医生签名(常规执行=开嘱医生;停止确认=停止医生)', status TINYINT NOT NULL DEFAULT 0 COMMENT '0待执行 1已执行 2已跳过', remark VARCHAR(500) DEFAULT '' COMMENT '执行备注 / 跳过原因', tenant_id BIGINT DEFAULT NULL, creator VARCHAR(64) DEFAULT '' COMMENT '创建者', create_time DATETIME DEFAULT NULL COMMENT '创建时间', updater VARCHAR(64) DEFAULT '' COMMENT '更新者', update_time DATETIME DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (id), UNIQUE KEY uk_exec (order_type, order_entry_id, plan_time, exec_type), KEY idx_plan (plan_time, tenant_id) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '护士执行记录';