挂号补单功能的完善

This commit is contained in:
2026-01-20 09:31:37 +08:00
parent 649f7bcf5b
commit d1223aec07
27 changed files with 4875 additions and 307 deletions

View File

@@ -0,0 +1,45 @@
-- 智能分诊排队:候选池排除记录表
-- 用途:记录已从智能候选池中移除的患者(加入队列后不再出现在候选池)
-- 注意:必须在后端实际连接的 schema 中执行dev环境是 hisdevtest环境是 histestprd环境是 hisprd
-- 执行前请先确认SET search_path TO hisdev; (或对应的 schema
CREATE TABLE IF NOT EXISTS hisdev.triage_candidate_exclusion (
id BIGSERIAL PRIMARY KEY,
tenant_id INTEGER NOT NULL,
exclusion_date DATE NOT NULL,
encounter_id BIGINT NOT NULL,
patient_id BIGINT,
patient_name VARCHAR(255),
organization_id BIGINT,
organization_name VARCHAR(255),
reason VARCHAR(100) DEFAULT 'ADDED_TO_QUEUE', -- 排除原因ADDED_TO_QUEUE加入队列、MANUAL_REMOVE手动移除
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
delete_flag CHAR(1) NOT NULL DEFAULT '0'
);
-- 常用查询索引:按租户/日期/就诊记录查询
CREATE INDEX IF NOT EXISTS idx_triage_candidate_exclusion_list
ON hisdev.triage_candidate_exclusion (tenant_id, exclusion_date, delete_flag, encounter_id);
-- 防重复:同一天同租户同就诊记录只能有一条排除记录(未删除)
CREATE UNIQUE INDEX IF NOT EXISTS uq_triage_candidate_exclusion_encounter
ON hisdev.triage_candidate_exclusion (tenant_id, exclusion_date, encounter_id, delete_flag)
WHERE delete_flag = '0';
-- 就诊记录ID索引用于关联查询
CREATE INDEX IF NOT EXISTS idx_triage_candidate_exclusion_encounter_id
ON hisdev.triage_candidate_exclusion (encounter_id);
-- 注释
COMMENT ON TABLE hisdev.triage_candidate_exclusion IS '智能分诊排队候选池排除记录表';
COMMENT ON COLUMN hisdev.triage_candidate_exclusion.tenant_id IS '租户ID';
COMMENT ON COLUMN hisdev.triage_candidate_exclusion.exclusion_date IS '排除日期(通常为当天)';
COMMENT ON COLUMN hisdev.triage_candidate_exclusion.encounter_id IS '就诊记录ID唯一标识';
COMMENT ON COLUMN hisdev.triage_candidate_exclusion.patient_id IS '患者ID';
COMMENT ON COLUMN hisdev.triage_candidate_exclusion.patient_name IS '患者姓名';
COMMENT ON COLUMN hisdev.triage_candidate_exclusion.organization_id IS '科室ID';
COMMENT ON COLUMN hisdev.triage_candidate_exclusion.organization_name IS '科室名称';
COMMENT ON COLUMN hisdev.triage_candidate_exclusion.reason IS '排除原因ADDED_TO_QUEUE加入队列、MANUAL_REMOVE手动移除';
COMMENT ON COLUMN hisdev.triage_candidate_exclusion.delete_flag IS '删除标志0-未删除1-已删除';