-- ============================================================ -- 序列信息表 -- ============================================================ USE `qconline`; -- 创建序列信息表 DROP TABLE IF EXISTS `series_info`; CREATE TABLE `series_info` ( `id` varchar(32) NOT NULL COMMENT '主键ID', `study_id` varchar(64) NOT NULL COMMENT '检查ID(关联study_info表)', `series_instance_uid` varchar(128) NOT NULL COMMENT '序列实例UID', `series_number` int DEFAULT NULL COMMENT '序列号', `series_description` varchar(255) DEFAULT NULL COMMENT '序列描述', `modality` varchar(16) DEFAULT NULL COMMENT '检查类型', `body_part_examined` varchar(50) DEFAULT NULL COMMENT '检查部位', `view_position` varchar(50) DEFAULT NULL COMMENT '体位', `protocol_name` varchar(128) DEFAULT NULL COMMENT '扫描协议名称', `image_count` int DEFAULT 0 COMMENT '图像数量', `series_date` date DEFAULT NULL COMMENT '序列日期', `series_time` time DEFAULT NULL COMMENT '序列时间', `slice_thickness` decimal(10,4) DEFAULT NULL COMMENT '层厚(mm)', `pixel_spacing` varchar(50) DEFAULT NULL COMMENT '像素间距', `rows` int DEFAULT NULL COMMENT '图像行数', `columns` int DEFAULT NULL COMMENT '图像列数', `exam_item_name` varchar(128) DEFAULT NULL COMMENT '检查项目名称(用于多部位拆分)', `institution_id` varchar(32) DEFAULT NULL COMMENT '机构ID', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_series_uid` (`series_instance_uid`), KEY `idx_study` (`study_id`), KEY `idx_series_number` (`series_number`), KEY `idx_body_part` (`body_part_examined`), KEY `idx_exam_item` (`exam_item_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='序列信息表'; -- 创建DICOM实例信息表(每个DICOM文件对应一个实例) DROP TABLE IF EXISTS `dicom_instance_info`; CREATE TABLE `dicom_instance_info` ( `id` varchar(32) NOT NULL COMMENT '主键ID', `study_id` varchar(64) NOT NULL COMMENT '检查ID', `series_id` varchar(32) NOT NULL COMMENT '序列ID(关联series_info表)', `series_instance_uid` varchar(128) NOT NULL COMMENT '序列实例UID', `sop_instance_uid` varchar(128) NOT NULL COMMENT 'SOP实例UID', `instance_number` int DEFAULT NULL COMMENT '实例号', `file_path` varchar(500) NOT NULL COMMENT 'DICOM文件路径', `file_size` bigint DEFAULT 0 COMMENT '文件大小(字节)', `file_md5` varchar(32) DEFAULT NULL COMMENT '文件MD5值', `image_position` varchar(100) DEFAULT NULL COMMENT '图像位置', `image_orientation` varchar(200) DEFAULT NULL COMMENT '图像方向', `window_center` varchar(50) DEFAULT NULL COMMENT '窗位', `window_width` varchar(50) DEFAULT NULL COMMENT '窗宽', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_sop_uid` (`sop_instance_uid`), KEY `idx_study` (`study_id`), KEY `idx_series` (`series_id`), KEY `idx_series_uid` (`series_instance_uid`), KEY `idx_instance_number` (`instance_number`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='DICOM实例信息表'; -- 修改 study_split_record 表,添加序列信息字段 ALTER TABLE `study_split_record` ADD COLUMN `series_uids` text COMMENT '包含的序列UID列表(JSON格式)' AFTER `body_part`, ADD COLUMN `series_count` int DEFAULT 0 COMMENT '序列数量' AFTER `series_uids`, ADD COLUMN `exam_item_name` varchar(128) DEFAULT NULL COMMENT '检查项目名称' AFTER `split_study_description`;