| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- -- ============================================================
- -- 数据管理功能表结构扩展
- -- ============================================================
- USE `qconline`;
- -- 1. 扩展患者信息表,添加手机号和身份证号
- ALTER TABLE `patient_info`
- ADD COLUMN `phone` varchar(20) DEFAULT NULL COMMENT '手机号' AFTER `age`,
- ADD COLUMN `id_card` varchar(18) DEFAULT NULL COMMENT '身份证号' AFTER `phone`;
- -- 2. 扩展检查信息表,添加数据管理相关字段
- ALTER TABLE `study_info`
- ADD COLUMN `check_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '检查状态:0待检查 1检查中 2已完成' AFTER `institution_id`,
- ADD COLUMN `upload_time` datetime DEFAULT NULL COMMENT '数据上传时间' AFTER `create_time`,
- ADD COLUMN `govern_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '治理状态:0未治理 1已治理 2治理中' AFTER `upload_time`,
- ADD COLUMN `confirm_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '确认状态:0待确认 1已确认 2已驳回' AFTER `govern_status`,
- ADD COLUMN `is_split` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否拆分:0否 1是(多部位检查拆分)' AFTER `confirm_status`,
- ADD COLUMN `parent_study_id` varchar(64) DEFAULT NULL COMMENT '父检查ID(拆分后的记录指向原始检查)' AFTER `is_split`;
- -- 3. 创建检查项目拆分记录表
- DROP TABLE IF EXISTS `study_split_record`;
- CREATE TABLE `study_split_record` (
- `id` varchar(32) NOT NULL COMMENT '主键ID',
- `original_study_id` varchar(64) NOT NULL COMMENT '原始检查ID',
- `original_study_description` varchar(255) DEFAULT NULL COMMENT '原始检查描述(多部位)',
- `split_study_id` varchar(64) NOT NULL COMMENT '拆分后的检查ID',
- `split_study_description` varchar(255) DEFAULT NULL COMMENT '拆分后的检查描述(单部位)',
- `body_part` varchar(50) DEFAULT NULL COMMENT '检查部位',
- `image_count` int DEFAULT '0' COMMENT '该部位的图像数量',
- `split_reason` varchar(500) DEFAULT NULL COMMENT '拆分原因说明',
- `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- PRIMARY KEY (`id`),
- KEY `idx_original_study` (`original_study_id`),
- KEY `idx_split_study` (`split_study_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='检查项目拆分记录表';
- -- 4. 创建数据治理记录表
- DROP TABLE IF EXISTS `data_govern_record`;
- CREATE TABLE `data_govern_record` (
- `id` varchar(32) NOT NULL COMMENT '主键ID',
- `study_id` varchar(64) NOT NULL COMMENT '检查ID',
- `govern_type` varchar(50) NOT NULL COMMENT '治理类型:数据标准/多部位拆分/缺失值补充等',
- `before_value` text COMMENT '治理前值(JSON格式)',
- `after_value` text COMMENT '治理后值(JSON格式)',
- `govern_rule` varchar(500) DEFAULT NULL COMMENT '治理规则说明',
- `govern_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '治理状态:0待治理 1已治理 2失败',
- `operator` varchar(50) DEFAULT NULL COMMENT '操作人',
- `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- PRIMARY KEY (`id`),
- KEY `idx_study` (`study_id`),
- KEY `idx_type` (`govern_type`),
- KEY `idx_status` (`govern_status`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='数据治理记录表';
- -- 5. 创建DICOM文件存储记录表(如果需要保存DICOM文件信息)
- DROP TABLE IF EXISTS `dicom_file_info`;
- CREATE TABLE `dicom_file_info` (
- `id` varchar(32) NOT NULL COMMENT '主键ID',
- `study_id` varchar(64) NOT NULL COMMENT '检查ID',
- `file_name` varchar(255) NOT NULL COMMENT '文件名',
- `file_path` varchar(500) NOT NULL COMMENT '文件存储路径',
- `file_size` bigint DEFAULT '0' COMMENT '文件大小(字节)',
- `file_md5` varchar(32) DEFAULT NULL COMMENT '文件MD5值',
- `series_instance_uid` varchar(128) DEFAULT NULL COMMENT '序列实例UID',
- `sop_instance_uid` varchar(128) DEFAULT NULL COMMENT 'SOP实例UID',
- `instance_number` int DEFAULT NULL COMMENT '实例号',
- `body_part_examined` varchar(50) DEFAULT NULL COMMENT '检查部位',
- `view_position` varchar(50) DEFAULT NULL COMMENT '体位',
- `upload_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间',
- PRIMARY KEY (`id`),
- KEY `idx_study` (`study_id`),
- KEY `idx_series` (`series_instance_uid`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='DICOM文件信息表';
- -- 6. 创建影像预览缩略图表(用于快速预览)
- DROP TABLE IF EXISTS `image_thumbnail`;
- CREATE TABLE `image_thumbnail` (
- `id` varchar(32) NOT NULL COMMENT '主键ID',
- `study_id` varchar(64) NOT NULL COMMENT '检查ID',
- `series_instance_uid` varchar(128) DEFAULT NULL COMMENT '序列实例UID',
- `sop_instance_uid` varchar(128) NOT NULL COMMENT 'SOP实例UID',
- `thumbnail_path` varchar(500) NOT NULL COMMENT '缩略图路径',
- `instance_number` int DEFAULT NULL COMMENT '实例号',
- `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_sop` (`sop_instance_uid`),
- KEY `idx_study` (`study_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='影像缩略图表';
- -- 7. 添加索引优化
- ALTER TABLE `study_info`
- ADD INDEX `idx_check_status` (`check_status`),
- ADD INDEX `idx_govern_status` (`govern_status`),
- ADD INDEX `idx_confirm_status` (`confirm_status`),
- ADD INDEX `idx_upload_time` (`upload_time`);
|