Improve patient list OCR cleanup
This commit is contained in:
@@ -49,6 +49,37 @@ CREATE INDEX IF NOT EXISTS idx_patient_lists_patient_name ON "Patient_Lists"(pat
|
||||
CREATE INDEX IF NOT EXISTS idx_patient_lists_review_status ON "Patient_Lists"(review_status);
|
||||
CREATE INDEX IF NOT EXISTS idx_patient_lists_audit_result ON "Patient_Lists"(audit_result);
|
||||
|
||||
DO $$
|
||||
BEGIN
|
||||
IF NOT EXISTS (
|
||||
SELECT 1 FROM pg_constraint
|
||||
WHERE conrelid = '"Patient_Lists"'::regclass
|
||||
AND conname = 'ck_patient_lists_inpatient_no_present'
|
||||
) THEN
|
||||
ALTER TABLE "Patient_Lists"
|
||||
ADD CONSTRAINT ck_patient_lists_inpatient_no_present
|
||||
CHECK (btrim(inpatient_no) <> '') NOT VALID;
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (
|
||||
SELECT 1 FROM pg_constraint
|
||||
WHERE conrelid = '"Patient_Lists"'::regclass
|
||||
AND conname = 'ck_patient_lists_admission_before_discharge'
|
||||
) THEN
|
||||
ALTER TABLE "Patient_Lists"
|
||||
ADD CONSTRAINT ck_patient_lists_admission_before_discharge
|
||||
CHECK (
|
||||
COALESCE(discharge_time, '') = ''
|
||||
OR COALESCE(admission_time, '') = ''
|
||||
OR admission_time !~ '^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$'
|
||||
OR discharge_time !~ '^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$'
|
||||
OR admission_time <= discharge_time
|
||||
OR review_status = '需人工复核'
|
||||
) NOT VALID;
|
||||
END IF;
|
||||
END
|
||||
$$;
|
||||
|
||||
COMMENT ON TABLE "Patient_Lists" IS 'HIS患者列表图片OCR归档后的正式患者记录单表';
|
||||
COMMENT ON COLUMN "Patient_Lists".record_id IS '患者记录主键,数据库自动生成';
|
||||
COMMENT ON COLUMN "Patient_Lists".batch_name IS '处理批次名称,通常为原始图片集群文件夹名';
|
||||
|
||||
Reference in New Issue
Block a user