-- ============================================================================
|
-- 省立同德门急诊采集失败记录表
|
--
|
-- 背景:HIS 门急诊数据只能按天查,采集任务每半小时把当天全量(一万多条)拉一遍。
|
-- 单条记录如果转换失败/档案处理失败/入库失败,原来会整页失败并卡住采集进度。
|
-- 现在改为写入本表交给人工处理,采集进度不受影响。
|
--
|
-- 同一条记录同一类错误只保留一行:唯一索引 uk_serialnum_type(serialnum, error_type),
|
-- 重复失败累加 fail_count(可以看出它连续失败了多少轮),异常信息和原始 JSON 会被最新一次覆盖。
|
-- 人工把 handle_status 改成 1(已处理)后如果该记录再次失败,会自动回到 0(待处理);
|
-- 改成 2(已忽略)的不会再被打扰。
|
--
|
-- 人工处理常用 SQL:
|
-- 查看待处理:select * from pat_med_outhosp_error where handle_status = '0' order by fail_count desc, id;
|
-- 看原始数据:select serialnum, error_type, error_msg, raw_data from pat_med_outhosp_error where handle_status = '0';
|
-- 标记已处理:update pat_med_outhosp_error set handle_status = '1', handle_remark = '原因+处理人' where id = ?;
|
-- ============================================================================
|
|
CREATE TABLE IF NOT EXISTS pat_med_outhosp_error
|
(
|
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
serialnum VARCHAR(64) DEFAULT NULL COMMENT '诊疗记录号(healthcareRecordNo)',
|
outhospno VARCHAR(64) DEFAULT NULL COMMENT '门诊号',
|
patname VARCHAR(100) DEFAULT NULL COMMENT '患者姓名',
|
patno VARCHAR(64) DEFAULT NULL COMMENT '病历号',
|
campusid VARCHAR(32) DEFAULT NULL COMMENT '院区ID',
|
orgid VARCHAR(32) DEFAULT NULL COMMENT '机构ID',
|
admitdate DATETIME DEFAULT NULL COMMENT '就诊时间',
|
gather_date VARCHAR(20) DEFAULT NULL COMMENT '采集日期 yyyy-MM-dd',
|
error_type VARCHAR(20) NOT NULL COMMENT '错误类型:CONVERT-数据转换失败 ARCHIVE-患者档案处理失败 INSERT-入库失败',
|
error_msg VARCHAR(1000) DEFAULT NULL COMMENT '异常信息',
|
raw_data TEXT COMMENT '接口返回的原始记录JSON,人工修复后可据此重推',
|
fail_count INT NOT NULL DEFAULT 1 COMMENT '累计失败次数',
|
handle_status CHAR(1) NOT NULL DEFAULT '0' COMMENT '处理状态:0待处理 1已处理 2已忽略',
|
handle_remark VARCHAR(500) DEFAULT NULL COMMENT '处理备注',
|
create_time DATETIME DEFAULT NULL COMMENT '创建时间',
|
update_time DATETIME DEFAULT NULL COMMENT '更新时间',
|
PRIMARY KEY (id),
|
UNIQUE KEY uk_serialnum_type (serialnum, error_type),
|
KEY idx_handle_status (handle_status),
|
KEY idx_error_type (error_type),
|
KEY idx_create_time (create_time)
|
) ENGINE = InnoDB
|
DEFAULT CHARSET = utf8mb4 COMMENT ='省立同德门急诊采集失败记录(人工处理)';
|