-- =========================================================================== -- 医保影像云图像质控规范 - CT检查部位质控标准 (第4批) -- 基于《医保影像云图像质控规范 (YXY-QC-2025-A1)》 -- -- 本文件包含以下部位的CT质控标准: -- - 5.4.7 上腹部、下腹部、盆腔 (2个检查项目) -- - 5.4.8 上腹部、下腹部 (2个检查项目) -- - 5.4.9 上腹部 (12个检查项目) -- - 5.4.10 盆腔 (4个检查项目) -- - 5.4.11 其他 (5个检查项目) -- -- 检查项目总数: 25 -- 质控因子总数: 175 -- -- 创建时间: 2026-01-13 -- =========================================================================== INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOPELV_5_4_7_1_1', 'CT_ABDOPELV_5_4_7_1_1', '检查范围', 3, 'boolean', '检查范围从膈顶至耻骨联合', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "上腹部、下腹部、盆腔", "checkCoverage": true}, "isVeto": false, "description": "检查范围从膈顶至耻骨联合"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOPELV_5_4_7_1_2', 'CT_ABDOPELV_5_4_7_1_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOPELV_5_4_7_1_3', 'CT_ABDOPELV_5_4_7_1_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤2.0mm,DFOV:32cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 2.0, "thinIntervalMax": 2.0, "dfov": 32, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤2.0mm,DFOV:32cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOPELV_5_4_7_1_4', 'CT_ABDOPELV_5_4_7_1_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽350HU,窗位40HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 350}, "windowCenter": {"min": 40, "max": 40}}}, "isVeto": true, "description": "软组织窗:窗宽350HU,窗位40HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOPELV_5_4_7_1_5', 'CT_ABDOPELV_5_4_7_1_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOPELV_5_4_7_1_6', 'CT_ABDOPELV_5_4_7_1_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOPELV_5_4_7_1_7', 'CT_ABDOPELV_5_4_7_1_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOPELV_5_4_7_1_8', 'CT_ABDOPELV_5_4_7_1_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_7_1', 'CT_5_4_7_1', '腹盆腔CT平扫质控标准', 'CT', '上腹部、下腹部、盆腔', '平扫', '腹盆腔CT平扫', 80, '腹盆腔CT平扫质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_7_1_1', 'STD_CT_5_4_7_1', 'CT_ABDOPELV_5_4_7_1_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_7_1_2', 'STD_CT_5_4_7_1', 'CT_ABDOPELV_5_4_7_1_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_7_1_3', 'STD_CT_5_4_7_1', 'CT_ABDOPELV_5_4_7_1_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_7_1_4', 'STD_CT_5_4_7_1', 'CT_ABDOPELV_5_4_7_1_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_7_1_5', 'STD_CT_5_4_7_1', 'CT_ABDOPELV_5_4_7_1_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_7_1_6', 'STD_CT_5_4_7_1', 'CT_ABDOPELV_5_4_7_1_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_7_1_7', 'STD_CT_5_4_7_1', 'CT_ABDOPELV_5_4_7_1_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_7_1_8', 'STD_CT_5_4_7_1', 'CT_ABDOPELV_5_4_7_1_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOPELV_5_4_7_2_1', 'CT_ABDOPELV_5_4_7_2_1', '检查范围', 3, 'boolean', '检查范围从膈顶至耻骨联合', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "上腹部、下腹部、盆腔", "checkCoverage": true}, "isVeto": false, "description": "检查范围从膈顶至耻骨联合"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOPELV_5_4_7_2_2', 'CT_ABDOPELV_5_4_7_2_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOPELV_5_4_7_2_3', 'CT_ABDOPELV_5_4_7_2_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤2.0mm,DFOV:32cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 2.0, "thinIntervalMax": 2.0, "dfov": 32, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤2.0mm,DFOV:32cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOPELV_5_4_7_2_4', 'CT_ABDOPELV_5_4_7_2_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽350HU,窗位40HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 350}, "windowCenter": {"min": 40, "max": 40}}}, "isVeto": true, "description": "软组织窗:窗宽350HU,窗位40HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOPELV_5_4_7_2_5', 'CT_ABDOPELV_5_4_7_2_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOPELV_5_4_7_2_6', 'CT_ABDOPELV_5_4_7_2_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOPELV_5_4_7_2_7', 'CT_ABDOPELV_5_4_7_2_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOPELV_5_4_7_2_8', 'CT_ABDOPELV_5_4_7_2_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_7_2', 'CT_5_4_7_2', '腹盆腔CT增强质控标准', 'CT', '上腹部、下腹部、盆腔', '增强', '腹盆腔CT增强', 80, '腹盆腔CT增强质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_7_2_1', 'STD_CT_5_4_7_2', 'CT_ABDOPELV_5_4_7_2_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_7_2_2', 'STD_CT_5_4_7_2', 'CT_ABDOPELV_5_4_7_2_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_7_2_3', 'STD_CT_5_4_7_2', 'CT_ABDOPELV_5_4_7_2_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_7_2_4', 'STD_CT_5_4_7_2', 'CT_ABDOPELV_5_4_7_2_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_7_2_5', 'STD_CT_5_4_7_2', 'CT_ABDOPELV_5_4_7_2_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_7_2_6', 'STD_CT_5_4_7_2', 'CT_ABDOPELV_5_4_7_2_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_7_2_7', 'STD_CT_5_4_7_2', 'CT_ABDOPELV_5_4_7_2_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_7_2_8', 'STD_CT_5_4_7_2', 'CT_ABDOPELV_5_4_7_2_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOMEN_5_4_8_1_1', 'CT_ABDOMEN_5_4_8_1_1', '检查范围', 3, 'boolean', '检查范围从膈顶至髋关节', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "上腹部、下腹部", "checkCoverage": true}, "isVeto": false, "description": "检查范围从膈顶至髋关节"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOMEN_5_4_8_1_2', 'CT_ABDOMEN_5_4_8_1_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOMEN_5_4_8_1_3', 'CT_ABDOMEN_5_4_8_1_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤2.0mm,DFOV:32cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 2.0, "thinIntervalMax": 2.0, "dfov": 32, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤2.0mm,DFOV:32cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOMEN_5_4_8_1_4', 'CT_ABDOMEN_5_4_8_1_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽350HU,窗位40HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 350}, "windowCenter": {"min": 40, "max": 40}}}, "isVeto": true, "description": "软组织窗:窗宽350HU,窗位40HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOMEN_5_4_8_1_5', 'CT_ABDOMEN_5_4_8_1_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOMEN_5_4_8_1_6', 'CT_ABDOMEN_5_4_8_1_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOMEN_5_4_8_1_7', 'CT_ABDOMEN_5_4_8_1_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOMEN_5_4_8_1_8', 'CT_ABDOMEN_5_4_8_1_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_8_1', 'CT_5_4_8_1', '腹部CT平扫质控标准', 'CT', '上腹部、下腹部', '平扫', '腹部CT平扫', 80, '腹部CT平扫质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_8_1_1', 'STD_CT_5_4_8_1', 'CT_ABDOMEN_5_4_8_1_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_8_1_2', 'STD_CT_5_4_8_1', 'CT_ABDOMEN_5_4_8_1_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_8_1_3', 'STD_CT_5_4_8_1', 'CT_ABDOMEN_5_4_8_1_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_8_1_4', 'STD_CT_5_4_8_1', 'CT_ABDOMEN_5_4_8_1_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_8_1_5', 'STD_CT_5_4_8_1', 'CT_ABDOMEN_5_4_8_1_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_8_1_6', 'STD_CT_5_4_8_1', 'CT_ABDOMEN_5_4_8_1_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_8_1_7', 'STD_CT_5_4_8_1', 'CT_ABDOMEN_5_4_8_1_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_8_1_8', 'STD_CT_5_4_8_1', 'CT_ABDOMEN_5_4_8_1_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOMEN_5_4_8_2_1', 'CT_ABDOMEN_5_4_8_2_1', '检查范围', 3, 'boolean', '检查范围从膈顶至髋关节', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "上腹部、下腹部", "checkCoverage": true}, "isVeto": false, "description": "检查范围从膈顶至髋关节"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOMEN_5_4_8_2_2', 'CT_ABDOMEN_5_4_8_2_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOMEN_5_4_8_2_3', 'CT_ABDOMEN_5_4_8_2_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤2.0mm,DFOV:32cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 2.0, "thinIntervalMax": 2.0, "dfov": 32, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤2.0mm,DFOV:32cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOMEN_5_4_8_2_4', 'CT_ABDOMEN_5_4_8_2_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽350HU,窗位40HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 350}, "windowCenter": {"min": 40, "max": 40}}}, "isVeto": true, "description": "软组织窗:窗宽350HU,窗位40HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOMEN_5_4_8_2_5', 'CT_ABDOMEN_5_4_8_2_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOMEN_5_4_8_2_6', 'CT_ABDOMEN_5_4_8_2_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOMEN_5_4_8_2_7', 'CT_ABDOMEN_5_4_8_2_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ABDOMEN_5_4_8_2_8', 'CT_ABDOMEN_5_4_8_2_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_8_2', 'CT_5_4_8_2', '腹部CT增强质控标准', 'CT', '上腹部、下腹部', '增强', '腹部CT增强', 80, '腹部CT增强质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_8_2_1', 'STD_CT_5_4_8_2', 'CT_ABDOMEN_5_4_8_2_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_8_2_2', 'STD_CT_5_4_8_2', 'CT_ABDOMEN_5_4_8_2_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_8_2_3', 'STD_CT_5_4_8_2', 'CT_ABDOMEN_5_4_8_2_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_8_2_4', 'STD_CT_5_4_8_2', 'CT_ABDOMEN_5_4_8_2_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_8_2_5', 'STD_CT_5_4_8_2', 'CT_ABDOMEN_5_4_8_2_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_8_2_6', 'STD_CT_5_4_8_2', 'CT_ABDOMEN_5_4_8_2_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_8_2_7', 'STD_CT_5_4_8_2', 'CT_ABDOMEN_5_4_8_2_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_8_2_8', 'STD_CT_5_4_8_2', 'CT_ABDOMEN_5_4_8_2_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_UPABD_5_4_9_1_1', 'CT_UPABD_5_4_9_1_1', '检查范围', 3, 'boolean', '检查范围从膈顶至髂嵴', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "上腹部", "checkCoverage": true}, "isVeto": false, "description": "检查范围从膈顶至髂嵴"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_UPABD_5_4_9_1_2', 'CT_UPABD_5_4_9_1_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_UPABD_5_4_9_1_3', 'CT_UPABD_5_4_9_1_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤2.0mm,DFOV:32cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 2.0, "thinIntervalMax": 2.0, "dfov": 32, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤2.0mm,DFOV:32cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_UPABD_5_4_9_1_4', 'CT_UPABD_5_4_9_1_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽350HU,窗位40HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 350}, "windowCenter": {"min": 40, "max": 40}}}, "isVeto": true, "description": "软组织窗:窗宽350HU,窗位40HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_UPABD_5_4_9_1_5', 'CT_UPABD_5_4_9_1_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_UPABD_5_4_9_1_6', 'CT_UPABD_5_4_9_1_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_UPABD_5_4_9_1_7', 'CT_UPABD_5_4_9_1_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_UPABD_5_4_9_1_8', 'CT_UPABD_5_4_9_1_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_9_1', 'CT_5_4_9_1', '上腹部CT平扫质控标准', 'CT', '上腹部', '平扫', '上腹部CT平扫', 80, '上腹部CT平扫质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_9_1_1', 'STD_CT_5_4_9_1', 'CT_UPABD_5_4_9_1_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_9_1_2', 'STD_CT_5_4_9_1', 'CT_UPABD_5_4_9_1_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_9_1_3', 'STD_CT_5_4_9_1', 'CT_UPABD_5_4_9_1_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_9_1_4', 'STD_CT_5_4_9_1', 'CT_UPABD_5_4_9_1_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_9_1_5', 'STD_CT_5_4_9_1', 'CT_UPABD_5_4_9_1_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_9_1_6', 'STD_CT_5_4_9_1', 'CT_UPABD_5_4_9_1_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_9_1_7', 'STD_CT_5_4_9_1', 'CT_UPABD_5_4_9_1_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_9_1_8', 'STD_CT_5_4_9_1', 'CT_UPABD_5_4_9_1_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_UPABD_5_4_9_2_1', 'CT_UPABD_5_4_9_2_1', '检查范围', 3, 'boolean', '检查范围从膈顶至髂嵴', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "上腹部", "checkCoverage": true}, "isVeto": false, "description": "检查范围从膈顶至髂嵴"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_UPABD_5_4_9_2_2', 'CT_UPABD_5_4_9_2_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_UPABD_5_4_9_2_3', 'CT_UPABD_5_4_9_2_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤2.0mm,DFOV:32cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 2.0, "thinIntervalMax": 2.0, "dfov": 32, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤2.0mm,DFOV:32cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_UPABD_5_4_9_2_4', 'CT_UPABD_5_4_9_2_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽350HU,窗位40HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 350}, "windowCenter": {"min": 40, "max": 40}}}, "isVeto": true, "description": "软组织窗:窗宽350HU,窗位40HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_UPABD_5_4_9_2_5', 'CT_UPABD_5_4_9_2_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_UPABD_5_4_9_2_6', 'CT_UPABD_5_4_9_2_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_UPABD_5_4_9_2_7', 'CT_UPABD_5_4_9_2_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_UPABD_5_4_9_2_8', 'CT_UPABD_5_4_9_2_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_9_2', 'CT_5_4_9_2', '上腹部CT增强质控标准', 'CT', '上腹部', '增强', '上腹部CT增强', 80, '上腹部CT增强质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_9_2_1', 'STD_CT_5_4_9_2', 'CT_UPABD_5_4_9_2_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_9_2_2', 'STD_CT_5_4_9_2', 'CT_UPABD_5_4_9_2_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_9_2_3', 'STD_CT_5_4_9_2', 'CT_UPABD_5_4_9_2_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_9_2_4', 'STD_CT_5_4_9_2', 'CT_UPABD_5_4_9_2_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_9_2_5', 'STD_CT_5_4_9_2', 'CT_UPABD_5_4_9_2_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_9_2_6', 'STD_CT_5_4_9_2', 'CT_UPABD_5_4_9_2_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_9_2_7', 'STD_CT_5_4_9_2', 'CT_UPABD_5_4_9_2_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_9_2_8', 'STD_CT_5_4_9_2', 'CT_UPABD_5_4_9_2_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PANCREAS_5_4_9_3_1', 'CT_PANCREAS_5_4_9_3_1', '检查范围', 3, 'boolean', '检查范围从横膈顶至第四腰椎上缘', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "上腹部", "checkCoverage": true}, "isVeto": false, "description": "检查范围从横膈顶至第四腰椎上缘"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PANCREAS_5_4_9_3_2', 'CT_PANCREAS_5_4_9_3_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PANCREAS_5_4_9_3_3', 'CT_PANCREAS_5_4_9_3_3', '重建参数', 3, 'boolean', '厚层≤3.0mm,薄层≤1.25mm,DFOV:40cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 3.0, "thickIntervalMax": 3.0, "thinSliceMax": 1.25, "thinIntervalMax": 1.25, "dfov": 40, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤3.0mm,薄层≤1.25mm,DFOV:40cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PANCREAS_5_4_9_3_4', 'CT_PANCREAS_5_4_9_3_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽350~400HU,窗位30~40HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 400}, "windowCenter": {"min": 30, "max": 40}}}, "isVeto": true, "description": "软组织窗:窗宽350~400HU,窗位30~40HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PANCREAS_5_4_9_3_5', 'CT_PANCREAS_5_4_9_3_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PANCREAS_5_4_9_3_6', 'CT_PANCREAS_5_4_9_3_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PANCREAS_5_4_9_3_7', 'CT_PANCREAS_5_4_9_3_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PANCREAS_5_4_9_3_8', 'CT_PANCREAS_5_4_9_3_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_9_3', 'CT_5_4_9_3', '胰腺CT平扫质控标准', 'CT', '上腹部', '平扫', '胰腺CT平扫', 80, '胰腺CT平扫质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_9_3_1', 'STD_CT_5_4_9_3', 'CT_PANCREAS_5_4_9_3_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_9_3_2', 'STD_CT_5_4_9_3', 'CT_PANCREAS_5_4_9_3_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_9_3_3', 'STD_CT_5_4_9_3', 'CT_PANCREAS_5_4_9_3_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_9_3_4', 'STD_CT_5_4_9_3', 'CT_PANCREAS_5_4_9_3_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_9_3_5', 'STD_CT_5_4_9_3', 'CT_PANCREAS_5_4_9_3_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_9_3_6', 'STD_CT_5_4_9_3', 'CT_PANCREAS_5_4_9_3_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_9_3_7', 'STD_CT_5_4_9_3', 'CT_PANCREAS_5_4_9_3_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_9_3_8', 'STD_CT_5_4_9_3', 'CT_PANCREAS_5_4_9_3_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PANCREAS_5_4_9_4_1', 'CT_PANCREAS_5_4_9_4_1', '检查范围', 3, 'boolean', '检查范围从横膈顶至第四腰椎上缘', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "上腹部", "checkCoverage": true}, "isVeto": false, "description": "检查范围从横膈顶至第四腰椎上缘"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PANCREAS_5_4_9_4_2', 'CT_PANCREAS_5_4_9_4_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PANCREAS_5_4_9_4_3', 'CT_PANCREAS_5_4_9_4_3', '重建参数', 3, 'boolean', '厚层≤3.0mm,薄层≤1.25mm,DFOV:40cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 3.0, "thickIntervalMax": 3.0, "thinSliceMax": 1.25, "thinIntervalMax": 1.25, "dfov": 40, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤3.0mm,薄层≤1.25mm,DFOV:40cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PANCREAS_5_4_9_4_4', 'CT_PANCREAS_5_4_9_4_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽350~400HU,窗位30~40HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 400}, "windowCenter": {"min": 30, "max": 40}}}, "isVeto": true, "description": "软组织窗:窗宽350~400HU,窗位30~40HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PANCREAS_5_4_9_4_5', 'CT_PANCREAS_5_4_9_4_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PANCREAS_5_4_9_4_6', 'CT_PANCREAS_5_4_9_4_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PANCREAS_5_4_9_4_7', 'CT_PANCREAS_5_4_9_4_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PANCREAS_5_4_9_4_8', 'CT_PANCREAS_5_4_9_4_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_9_4', 'CT_5_4_9_4', '胰腺CT增强质控标准', 'CT', '上腹部', '增强', '胰腺CT增强', 80, '胰腺CT增强质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_9_4_1', 'STD_CT_5_4_9_4', 'CT_PANCREAS_5_4_9_4_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_9_4_2', 'STD_CT_5_4_9_4', 'CT_PANCREAS_5_4_9_4_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_9_4_3', 'STD_CT_5_4_9_4', 'CT_PANCREAS_5_4_9_4_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_9_4_4', 'STD_CT_5_4_9_4', 'CT_PANCREAS_5_4_9_4_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_9_4_5', 'STD_CT_5_4_9_4', 'CT_PANCREAS_5_4_9_4_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_9_4_6', 'STD_CT_5_4_9_4', 'CT_PANCREAS_5_4_9_4_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_9_4_7', 'STD_CT_5_4_9_4', 'CT_PANCREAS_5_4_9_4_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_9_4_8', 'STD_CT_5_4_9_4', 'CT_PANCREAS_5_4_9_4_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_STOMACH_5_4_9_5_1', 'CT_STOMACH_5_4_9_5_1', '检查范围', 3, 'boolean', '检查范围从膈顶至髂嵴', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "上腹部", "checkCoverage": true}, "isVeto": false, "description": "检查范围从膈顶至髂嵴"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_STOMACH_5_4_9_5_2', 'CT_STOMACH_5_4_9_5_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_STOMACH_5_4_9_5_3', 'CT_STOMACH_5_4_9_5_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 1.25, "thinIntervalMax": 1.25, "dfov": 38, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_STOMACH_5_4_9_5_4', 'CT_STOMACH_5_4_9_5_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽200~300HU,窗位40~60HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 200, "max": 300}, "windowCenter": {"min": 40, "max": 60}}}, "isVeto": true, "description": "软组织窗:窗宽200~300HU,窗位40~60HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_STOMACH_5_4_9_5_5', 'CT_STOMACH_5_4_9_5_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_STOMACH_5_4_9_5_6', 'CT_STOMACH_5_4_9_5_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_STOMACH_5_4_9_5_7', 'CT_STOMACH_5_4_9_5_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_STOMACH_5_4_9_5_8', 'CT_STOMACH_5_4_9_5_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_9_5', 'CT_5_4_9_5', '胃部CT平扫质控标准', 'CT', '上腹部', '平扫', '胃部CT平扫', 80, '胃部CT平扫质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_9_5_1', 'STD_CT_5_4_9_5', 'CT_STOMACH_5_4_9_5_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_9_5_2', 'STD_CT_5_4_9_5', 'CT_STOMACH_5_4_9_5_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_9_5_3', 'STD_CT_5_4_9_5', 'CT_STOMACH_5_4_9_5_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_9_5_4', 'STD_CT_5_4_9_5', 'CT_STOMACH_5_4_9_5_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_9_5_5', 'STD_CT_5_4_9_5', 'CT_STOMACH_5_4_9_5_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_9_5_6', 'STD_CT_5_4_9_5', 'CT_STOMACH_5_4_9_5_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_9_5_7', 'STD_CT_5_4_9_5', 'CT_STOMACH_5_4_9_5_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_9_5_8', 'STD_CT_5_4_9_5', 'CT_STOMACH_5_4_9_5_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_STOMACH_5_4_9_6_1', 'CT_STOMACH_5_4_9_6_1', '检查范围', 3, 'boolean', '检查范围从膈顶至髂嵴', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "上腹部", "checkCoverage": true}, "isVeto": false, "description": "检查范围从膈顶至髂嵴"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_STOMACH_5_4_9_6_2', 'CT_STOMACH_5_4_9_6_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_STOMACH_5_4_9_6_3', 'CT_STOMACH_5_4_9_6_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 1.25, "thinIntervalMax": 1.25, "dfov": 38, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_STOMACH_5_4_9_6_4', 'CT_STOMACH_5_4_9_6_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽200~300HU,窗位40~60HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 200, "max": 300}, "windowCenter": {"min": 40, "max": 60}}}, "isVeto": true, "description": "软组织窗:窗宽200~300HU,窗位40~60HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_STOMACH_5_4_9_6_5', 'CT_STOMACH_5_4_9_6_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_STOMACH_5_4_9_6_6', 'CT_STOMACH_5_4_9_6_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_STOMACH_5_4_9_6_7', 'CT_STOMACH_5_4_9_6_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_STOMACH_5_4_9_6_8', 'CT_STOMACH_5_4_9_6_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_9_6', 'CT_5_4_9_6', '胃部CT增强质控标准', 'CT', '上腹部', '增强', '胃部CT增强', 80, '胃部CT增强质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_9_6_1', 'STD_CT_5_4_9_6', 'CT_STOMACH_5_4_9_6_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_9_6_2', 'STD_CT_5_4_9_6', 'CT_STOMACH_5_4_9_6_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_9_6_3', 'STD_CT_5_4_9_6', 'CT_STOMACH_5_4_9_6_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_9_6_4', 'STD_CT_5_4_9_6', 'CT_STOMACH_5_4_9_6_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_9_6_5', 'STD_CT_5_4_9_6', 'CT_STOMACH_5_4_9_6_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_9_6_6', 'STD_CT_5_4_9_6', 'CT_STOMACH_5_4_9_6_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_9_6_7', 'STD_CT_5_4_9_6', 'CT_STOMACH_5_4_9_6_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_9_6_8', 'STD_CT_5_4_9_6', 'CT_STOMACH_5_4_9_6_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_SMALLINT_5_4_9_7_1', 'CT_SMALLINT_5_4_9_7_1', '检查范围', 3, 'boolean', '检查范围从膈顶至耻骨联合', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "上腹部", "checkCoverage": true}, "isVeto": false, "description": "检查范围从膈顶至耻骨联合"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_SMALLINT_5_4_9_7_2', 'CT_SMALLINT_5_4_9_7_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_SMALLINT_5_4_9_7_3', 'CT_SMALLINT_5_4_9_7_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 1.25, "thinIntervalMax": 1.25, "dfov": 38, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_SMALLINT_5_4_9_7_4', 'CT_SMALLINT_5_4_9_7_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽200~300HU,窗位40~60HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 200, "max": 300}, "windowCenter": {"min": 40, "max": 60}}}, "isVeto": true, "description": "软组织窗:窗宽200~300HU,窗位40~60HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_SMALLINT_5_4_9_7_5', 'CT_SMALLINT_5_4_9_7_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_SMALLINT_5_4_9_7_6', 'CT_SMALLINT_5_4_9_7_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_SMALLINT_5_4_9_7_7', 'CT_SMALLINT_5_4_9_7_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_SMALLINT_5_4_9_7_8', 'CT_SMALLINT_5_4_9_7_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_9_7', 'CT_5_4_9_7', '小肠CT平扫质控标准', 'CT', '上腹部', '平扫', '小肠CT平扫', 80, '小肠CT平扫质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_9_7_1', 'STD_CT_5_4_9_7', 'CT_SMALLINT_5_4_9_7_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_9_7_2', 'STD_CT_5_4_9_7', 'CT_SMALLINT_5_4_9_7_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_9_7_3', 'STD_CT_5_4_9_7', 'CT_SMALLINT_5_4_9_7_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_9_7_4', 'STD_CT_5_4_9_7', 'CT_SMALLINT_5_4_9_7_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_9_7_5', 'STD_CT_5_4_9_7', 'CT_SMALLINT_5_4_9_7_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_9_7_6', 'STD_CT_5_4_9_7', 'CT_SMALLINT_5_4_9_7_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_9_7_7', 'STD_CT_5_4_9_7', 'CT_SMALLINT_5_4_9_7_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_9_7_8', 'STD_CT_5_4_9_7', 'CT_SMALLINT_5_4_9_7_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_SMALLINT_5_4_9_8_1', 'CT_SMALLINT_5_4_9_8_1', '检查范围', 3, 'boolean', '检查范围从膈顶至耻骨联合', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "上腹部", "checkCoverage": true}, "isVeto": false, "description": "检查范围从膈顶至耻骨联合"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_SMALLINT_5_4_9_8_2', 'CT_SMALLINT_5_4_9_8_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_SMALLINT_5_4_9_8_3', 'CT_SMALLINT_5_4_9_8_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 1.25, "thinIntervalMax": 1.25, "dfov": 38, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_SMALLINT_5_4_9_8_4', 'CT_SMALLINT_5_4_9_8_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽200~300HU,窗位40~60HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 200, "max": 300}, "windowCenter": {"min": 40, "max": 60}}}, "isVeto": true, "description": "软组织窗:窗宽200~300HU,窗位40~60HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_SMALLINT_5_4_9_8_5', 'CT_SMALLINT_5_4_9_8_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_SMALLINT_5_4_9_8_6', 'CT_SMALLINT_5_4_9_8_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_SMALLINT_5_4_9_8_7', 'CT_SMALLINT_5_4_9_8_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_SMALLINT_5_4_9_8_8', 'CT_SMALLINT_5_4_9_8_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_9_8', 'CT_5_4_9_8', '小肠CT增强质控标准', 'CT', '上腹部', '增强', '小肠CT增强', 80, '小肠CT增强质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_9_8_1', 'STD_CT_5_4_9_8', 'CT_SMALLINT_5_4_9_8_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_9_8_2', 'STD_CT_5_4_9_8', 'CT_SMALLINT_5_4_9_8_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_9_8_3', 'STD_CT_5_4_9_8', 'CT_SMALLINT_5_4_9_8_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_9_8_4', 'STD_CT_5_4_9_8', 'CT_SMALLINT_5_4_9_8_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_9_8_5', 'STD_CT_5_4_9_8', 'CT_SMALLINT_5_4_9_8_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_9_8_6', 'STD_CT_5_4_9_8', 'CT_SMALLINT_5_4_9_8_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_9_8_7', 'STD_CT_5_4_9_8', 'CT_SMALLINT_5_4_9_8_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_9_8_8', 'STD_CT_5_4_9_8', 'CT_SMALLINT_5_4_9_8_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_LOABD_5_4_9_9_1', 'CT_LOABD_5_4_9_9_1', '检查范围', 3, 'boolean', '检查范围从髂嵴至髋关节', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "上腹部", "checkCoverage": true}, "isVeto": false, "description": "检查范围从髂嵴至髋关节"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_LOABD_5_4_9_9_2', 'CT_LOABD_5_4_9_9_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_LOABD_5_4_9_9_3', 'CT_LOABD_5_4_9_9_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤1.25mm,DFOV:36cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 1.25, "thinIntervalMax": 1.25, "dfov": 36, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤1.25mm,DFOV:36cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_LOABD_5_4_9_9_4', 'CT_LOABD_5_4_9_9_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽350HU,窗位40HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 350}, "windowCenter": {"min": 40, "max": 40}}}, "isVeto": true, "description": "软组织窗:窗宽350HU,窗位40HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_LOABD_5_4_9_9_5', 'CT_LOABD_5_4_9_9_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_LOABD_5_4_9_9_6', 'CT_LOABD_5_4_9_9_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_LOABD_5_4_9_9_7', 'CT_LOABD_5_4_9_9_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_LOABD_5_4_9_9_8', 'CT_LOABD_5_4_9_9_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_9_9', 'CT_5_4_9_9', '下腹部CT平扫质控标准', 'CT', '上腹部', '平扫', '下腹部CT平扫', 80, '下腹部CT平扫质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_9_9_1', 'STD_CT_5_4_9_9', 'CT_LOABD_5_4_9_9_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_9_9_2', 'STD_CT_5_4_9_9', 'CT_LOABD_5_4_9_9_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_9_9_3', 'STD_CT_5_4_9_9', 'CT_LOABD_5_4_9_9_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_9_9_4', 'STD_CT_5_4_9_9', 'CT_LOABD_5_4_9_9_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_9_9_5', 'STD_CT_5_4_9_9', 'CT_LOABD_5_4_9_9_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_9_9_6', 'STD_CT_5_4_9_9', 'CT_LOABD_5_4_9_9_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_9_9_7', 'STD_CT_5_4_9_9', 'CT_LOABD_5_4_9_9_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_9_9_8', 'STD_CT_5_4_9_9', 'CT_LOABD_5_4_9_9_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_LOABD_5_4_9_10_1', 'CT_LOABD_5_4_9_10_1', '检查范围', 3, 'boolean', '检查范围从髂嵴至髋关节', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "上腹部", "checkCoverage": true}, "isVeto": false, "description": "检查范围从髂嵴至髋关节"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_LOABD_5_4_9_10_2', 'CT_LOABD_5_4_9_10_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_LOABD_5_4_9_10_3', 'CT_LOABD_5_4_9_10_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤1.25mm,DFOV:36cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 1.25, "thinIntervalMax": 1.25, "dfov": 36, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤1.25mm,DFOV:36cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_LOABD_5_4_9_10_4', 'CT_LOABD_5_4_9_10_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽350HU,窗位40HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 350}, "windowCenter": {"min": 40, "max": 40}}}, "isVeto": true, "description": "软组织窗:窗宽350HU,窗位40HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_LOABD_5_4_9_10_5', 'CT_LOABD_5_4_9_10_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_LOABD_5_4_9_10_6', 'CT_LOABD_5_4_9_10_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_LOABD_5_4_9_10_7', 'CT_LOABD_5_4_9_10_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_LOABD_5_4_9_10_8', 'CT_LOABD_5_4_9_10_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_9_10', 'CT_5_4_9_10', '下腹部CT增强质控标准', 'CT', '上腹部', '增强', '下腹部CT增强', 80, '下腹部CT增强质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_9_10_1', 'STD_CT_5_4_9_10', 'CT_LOABD_5_4_9_10_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_9_10_2', 'STD_CT_5_4_9_10', 'CT_LOABD_5_4_9_10_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_9_10_3', 'STD_CT_5_4_9_10', 'CT_LOABD_5_4_9_10_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_9_10_4', 'STD_CT_5_4_9_10', 'CT_LOABD_5_4_9_10_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_9_10_5', 'STD_CT_5_4_9_10', 'CT_LOABD_5_4_9_10_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_9_10_6', 'STD_CT_5_4_9_10', 'CT_LOABD_5_4_9_10_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_9_10_7', 'STD_CT_5_4_9_10', 'CT_LOABD_5_4_9_10_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_9_10_8', 'STD_CT_5_4_9_10', 'CT_LOABD_5_4_9_10_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ADRENAL_5_4_9_11_1', 'CT_ADRENAL_5_4_9_11_1', '检查范围', 3, 'boolean', '检查范围从左膈顶至右肾门层面', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "上腹部", "checkCoverage": true}, "isVeto": false, "description": "检查范围从左膈顶至右肾门层面"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ADRENAL_5_4_9_11_2', 'CT_ADRENAL_5_4_9_11_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ADRENAL_5_4_9_11_3', 'CT_ADRENAL_5_4_9_11_3', '重建参数', 3, 'boolean', '厚层≤2.5mm,薄层≤0.625mm,DFOV:30cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 2.5, "thickIntervalMax": 2.5, "thinSliceMax": 0.625, "thinIntervalMax": 0.625, "dfov": 30, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤2.5mm,薄层≤0.625mm,DFOV:30cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ADRENAL_5_4_9_11_4', 'CT_ADRENAL_5_4_9_11_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽300~400HU,窗位50~60HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 300, "max": 400}, "windowCenter": {"min": 50, "max": 60}}}, "isVeto": true, "description": "软组织窗:窗宽300~400HU,窗位50~60HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ADRENAL_5_4_9_11_5', 'CT_ADRENAL_5_4_9_11_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ADRENAL_5_4_9_11_6', 'CT_ADRENAL_5_4_9_11_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ADRENAL_5_4_9_11_7', 'CT_ADRENAL_5_4_9_11_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ADRENAL_5_4_9_11_8', 'CT_ADRENAL_5_4_9_11_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_9_11', 'CT_5_4_9_11', '肾上腺CT平扫质控标准', 'CT', '上腹部', '平扫', '肾上腺CT平扫', 80, '肾上腺CT平扫质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_9_11_1', 'STD_CT_5_4_9_11', 'CT_ADRENAL_5_4_9_11_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_9_11_2', 'STD_CT_5_4_9_11', 'CT_ADRENAL_5_4_9_11_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_9_11_3', 'STD_CT_5_4_9_11', 'CT_ADRENAL_5_4_9_11_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_9_11_4', 'STD_CT_5_4_9_11', 'CT_ADRENAL_5_4_9_11_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_9_11_5', 'STD_CT_5_4_9_11', 'CT_ADRENAL_5_4_9_11_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_9_11_6', 'STD_CT_5_4_9_11', 'CT_ADRENAL_5_4_9_11_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_9_11_7', 'STD_CT_5_4_9_11', 'CT_ADRENAL_5_4_9_11_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_9_11_8', 'STD_CT_5_4_9_11', 'CT_ADRENAL_5_4_9_11_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ADRENAL_5_4_9_12_1', 'CT_ADRENAL_5_4_9_12_1', '检查范围', 3, 'boolean', '检查范围从左膈顶至右肾门层面', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "上腹部", "checkCoverage": true}, "isVeto": false, "description": "检查范围从左膈顶至右肾门层面"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ADRENAL_5_4_9_12_2', 'CT_ADRENAL_5_4_9_12_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ADRENAL_5_4_9_12_3', 'CT_ADRENAL_5_4_9_12_3', '重建参数', 3, 'boolean', '厚层≤2.5mm,薄层≤0.625mm,DFOV:30cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 2.5, "thickIntervalMax": 2.5, "thinSliceMax": 0.625, "thinIntervalMax": 0.625, "dfov": 30, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤2.5mm,薄层≤0.625mm,DFOV:30cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ADRENAL_5_4_9_12_4', 'CT_ADRENAL_5_4_9_12_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽300~400HU,窗位50~60HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 300, "max": 400}, "windowCenter": {"min": 50, "max": 60}}}, "isVeto": true, "description": "软组织窗:窗宽300~400HU,窗位50~60HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ADRENAL_5_4_9_12_5', 'CT_ADRENAL_5_4_9_12_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ADRENAL_5_4_9_12_6', 'CT_ADRENAL_5_4_9_12_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ADRENAL_5_4_9_12_7', 'CT_ADRENAL_5_4_9_12_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_ADRENAL_5_4_9_12_8', 'CT_ADRENAL_5_4_9_12_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_9_12', 'CT_5_4_9_12', '肾上腺CT增强质控标准', 'CT', '上腹部', '增强', '肾上腺CT增强', 80, '肾上腺CT增强质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_9_12_1', 'STD_CT_5_4_9_12', 'CT_ADRENAL_5_4_9_12_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_9_12_2', 'STD_CT_5_4_9_12', 'CT_ADRENAL_5_4_9_12_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_9_12_3', 'STD_CT_5_4_9_12', 'CT_ADRENAL_5_4_9_12_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_9_12_4', 'STD_CT_5_4_9_12', 'CT_ADRENAL_5_4_9_12_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_9_12_5', 'STD_CT_5_4_9_12', 'CT_ADRENAL_5_4_9_12_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_9_12_6', 'STD_CT_5_4_9_12', 'CT_ADRENAL_5_4_9_12_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_9_12_7', 'STD_CT_5_4_9_12', 'CT_ADRENAL_5_4_9_12_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_9_12_8', 'STD_CT_5_4_9_12', 'CT_ADRENAL_5_4_9_12_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PELVIS_5_4_10_1_1', 'CT_PELVIS_5_4_10_1_1', '检查范围', 3, 'boolean', '检查范围从髂嵴至耻骨联合下缘', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "盆腔", "checkCoverage": true}, "isVeto": false, "description": "检查范围从髂嵴至耻骨联合下缘"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PELVIS_5_4_10_1_2', 'CT_PELVIS_5_4_10_1_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PELVIS_5_4_10_1_3', 'CT_PELVIS_5_4_10_1_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤1.25mm,DFOV:36cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 1.25, "thinIntervalMax": 1.25, "dfov": 36, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤1.25mm,DFOV:36cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PELVIS_5_4_10_1_4', 'CT_PELVIS_5_4_10_1_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽350HU,窗位40HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 350}, "windowCenter": {"min": 40, "max": 40}}}, "isVeto": true, "description": "软组织窗:窗宽350HU,窗位40HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PELVIS_5_4_10_1_5', 'CT_PELVIS_5_4_10_1_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PELVIS_5_4_10_1_6', 'CT_PELVIS_5_4_10_1_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PELVIS_5_4_10_1_7', 'CT_PELVIS_5_4_10_1_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PELVIS_5_4_10_1_8', 'CT_PELVIS_5_4_10_1_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_10_1', 'CT_5_4_10_1', '盆腔CT平扫质控标准', 'CT', '盆腔', '平扫', '盆腔CT平扫', 80, '盆腔CT平扫质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_10_1_1', 'STD_CT_5_4_10_1', 'CT_PELVIS_5_4_10_1_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_10_1_2', 'STD_CT_5_4_10_1', 'CT_PELVIS_5_4_10_1_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_10_1_3', 'STD_CT_5_4_10_1', 'CT_PELVIS_5_4_10_1_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_10_1_4', 'STD_CT_5_4_10_1', 'CT_PELVIS_5_4_10_1_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_10_1_5', 'STD_CT_5_4_10_1', 'CT_PELVIS_5_4_10_1_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_10_1_6', 'STD_CT_5_4_10_1', 'CT_PELVIS_5_4_10_1_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_10_1_7', 'STD_CT_5_4_10_1', 'CT_PELVIS_5_4_10_1_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_10_1_8', 'STD_CT_5_4_10_1', 'CT_PELVIS_5_4_10_1_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PELVIS_5_4_10_2_1', 'CT_PELVIS_5_4_10_2_1', '检查范围', 3, 'boolean', '检查范围从髂嵴至耻骨联合下缘', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "盆腔", "checkCoverage": true}, "isVeto": false, "description": "检查范围从髂嵴至耻骨联合下缘"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PELVIS_5_4_10_2_2', 'CT_PELVIS_5_4_10_2_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PELVIS_5_4_10_2_3', 'CT_PELVIS_5_4_10_2_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤1.25mm,DFOV:36cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 1.25, "thinIntervalMax": 1.25, "dfov": 36, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤1.25mm,DFOV:36cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PELVIS_5_4_10_2_4', 'CT_PELVIS_5_4_10_2_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽350HU,窗位40HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 350}, "windowCenter": {"min": 40, "max": 40}}}, "isVeto": true, "description": "软组织窗:窗宽350HU,窗位40HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PELVIS_5_4_10_2_5', 'CT_PELVIS_5_4_10_2_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PELVIS_5_4_10_2_6', 'CT_PELVIS_5_4_10_2_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PELVIS_5_4_10_2_7', 'CT_PELVIS_5_4_10_2_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_PELVIS_5_4_10_2_8', 'CT_PELVIS_5_4_10_2_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_10_2', 'CT_5_4_10_2', '盆腔CT增强质控标准', 'CT', '盆腔', '增强', '盆腔CT增强', 80, '盆腔CT增强质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_10_2_1', 'STD_CT_5_4_10_2', 'CT_PELVIS_5_4_10_2_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_10_2_2', 'STD_CT_5_4_10_2', 'CT_PELVIS_5_4_10_2_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_10_2_3', 'STD_CT_5_4_10_2', 'CT_PELVIS_5_4_10_2_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_10_2_4', 'STD_CT_5_4_10_2', 'CT_PELVIS_5_4_10_2_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_10_2_5', 'STD_CT_5_4_10_2', 'CT_PELVIS_5_4_10_2_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_10_2_6', 'STD_CT_5_4_10_2', 'CT_PELVIS_5_4_10_2_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_10_2_7', 'STD_CT_5_4_10_2', 'CT_PELVIS_5_4_10_2_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_10_2_8', 'STD_CT_5_4_10_2', 'CT_PELVIS_5_4_10_2_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_BONEPELV_5_4_10_3_1', 'CT_BONEPELV_5_4_10_3_1', '检查范围', 3, 'boolean', '检查范围从髂前上棘至耻骨联合下缘', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "盆腔", "checkCoverage": true}, "isVeto": false, "description": "检查范围从髂前上棘至耻骨联合下缘"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_BONEPELV_5_4_10_3_2', 'CT_BONEPELV_5_4_10_3_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_BONEPELV_5_4_10_3_3', 'CT_BONEPELV_5_4_10_3_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 1.25, "thinIntervalMax": 1.25, "dfov": 38, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_BONEPELV_5_4_10_3_4', 'CT_BONEPELV_5_4_10_3_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽1900~2100HU,窗位350~550HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 1900, "max": 2100}, "windowCenter": {"min": 350, "max": 550}}}, "isVeto": true, "description": "软组织窗:窗宽1900~2100HU,窗位350~550HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_BONEPELV_5_4_10_3_5', 'CT_BONEPELV_5_4_10_3_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_BONEPELV_5_4_10_3_6', 'CT_BONEPELV_5_4_10_3_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_BONEPELV_5_4_10_3_7', 'CT_BONEPELV_5_4_10_3_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_BONEPELV_5_4_10_3_8', 'CT_BONEPELV_5_4_10_3_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_10_3', 'CT_5_4_10_3', '骨盆CT平扫质控标准', 'CT', '盆腔', '平扫', '骨盆CT平扫', 80, '骨盆CT平扫质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_10_3_1', 'STD_CT_5_4_10_3', 'CT_BONEPELV_5_4_10_3_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_10_3_2', 'STD_CT_5_4_10_3', 'CT_BONEPELV_5_4_10_3_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_10_3_3', 'STD_CT_5_4_10_3', 'CT_BONEPELV_5_4_10_3_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_10_3_4', 'STD_CT_5_4_10_3', 'CT_BONEPELV_5_4_10_3_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_10_3_5', 'STD_CT_5_4_10_3', 'CT_BONEPELV_5_4_10_3_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_10_3_6', 'STD_CT_5_4_10_3', 'CT_BONEPELV_5_4_10_3_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_10_3_7', 'STD_CT_5_4_10_3', 'CT_BONEPELV_5_4_10_3_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_10_3_8', 'STD_CT_5_4_10_3', 'CT_BONEPELV_5_4_10_3_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_BONEPELV_5_4_10_4_1', 'CT_BONEPELV_5_4_10_4_1', '检查范围', 3, 'boolean', '检查范围从髂前上棘至耻骨联合下缘', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "盆腔", "checkCoverage": true}, "isVeto": false, "description": "检查范围从髂前上棘至耻骨联合下缘"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_BONEPELV_5_4_10_4_2', 'CT_BONEPELV_5_4_10_4_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_BONEPELV_5_4_10_4_3', 'CT_BONEPELV_5_4_10_4_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 1.25, "thinIntervalMax": 1.25, "dfov": 38, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_BONEPELV_5_4_10_4_4', 'CT_BONEPELV_5_4_10_4_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽300~500HU,窗位30~50HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 300, "max": 500}, "windowCenter": {"min": 30, "max": 50}}}, "isVeto": true, "description": "软组织窗:窗宽300~500HU,窗位30~50HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_BONEPELV_5_4_10_4_5', 'CT_BONEPELV_5_4_10_4_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_BONEPELV_5_4_10_4_6', 'CT_BONEPELV_5_4_10_4_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_BONEPELV_5_4_10_4_7', 'CT_BONEPELV_5_4_10_4_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_BONEPELV_5_4_10_4_8', 'CT_BONEPELV_5_4_10_4_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_10_4', 'CT_5_4_10_4', '骨盆CT增强质控标准', 'CT', '盆腔', '增强', '骨盆CT增强', 80, '骨盆CT增强质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_10_4_1', 'STD_CT_5_4_10_4', 'CT_BONEPELV_5_4_10_4_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_10_4_2', 'STD_CT_5_4_10_4', 'CT_BONEPELV_5_4_10_4_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_10_4_3', 'STD_CT_5_4_10_4', 'CT_BONEPELV_5_4_10_4_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_10_4_4', 'STD_CT_5_4_10_4', 'CT_BONEPELV_5_4_10_4_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_10_4_5', 'STD_CT_5_4_10_4', 'CT_BONEPELV_5_4_10_4_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_10_4_6', 'STD_CT_5_4_10_4', 'CT_BONEPELV_5_4_10_4_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_10_4_7', 'STD_CT_5_4_10_4', 'CT_BONEPELV_5_4_10_4_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_10_4_8', 'STD_CT_5_4_10_4', 'CT_BONEPELV_5_4_10_4_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_URINARY_5_4_11_1_1', 'CT_URINARY_5_4_11_1_1', '检查范围', 3, 'boolean', '检查范围从肾上极上方1cm至耻骨联合下缘', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "其他", "checkCoverage": true}, "isVeto": false, "description": "检查范围从肾上极上方1cm至耻骨联合下缘"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_URINARY_5_4_11_1_2', 'CT_URINARY_5_4_11_1_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_URINARY_5_4_11_1_3', 'CT_URINARY_5_4_11_1_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 1.25, "thinIntervalMax": 1.25, "dfov": 38, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_URINARY_5_4_11_1_4', 'CT_URINARY_5_4_11_1_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽300~500HU,窗位30~50HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 300, "max": 500}, "windowCenter": {"min": 30, "max": 50}}}, "isVeto": true, "description": "软组织窗:窗宽300~500HU,窗位30~50HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_URINARY_5_4_11_1_5', 'CT_URINARY_5_4_11_1_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_URINARY_5_4_11_1_6', 'CT_URINARY_5_4_11_1_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_URINARY_5_4_11_1_7', 'CT_URINARY_5_4_11_1_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_URINARY_5_4_11_1_8', 'CT_URINARY_5_4_11_1_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_11_1', 'CT_5_4_11_1', '泌尿系CT平扫质控标准', 'CT', '其他', '平扫', '泌尿系CT平扫', 80, '泌尿系CT平扫质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_11_1_1', 'STD_CT_5_4_11_1', 'CT_URINARY_5_4_11_1_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_11_1_2', 'STD_CT_5_4_11_1', 'CT_URINARY_5_4_11_1_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_11_1_3', 'STD_CT_5_4_11_1', 'CT_URINARY_5_4_11_1_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_11_1_4', 'STD_CT_5_4_11_1', 'CT_URINARY_5_4_11_1_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_11_1_5', 'STD_CT_5_4_11_1', 'CT_URINARY_5_4_11_1_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_11_1_6', 'STD_CT_5_4_11_1', 'CT_URINARY_5_4_11_1_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_11_1_7', 'STD_CT_5_4_11_1', 'CT_URINARY_5_4_11_1_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_11_1_8', 'STD_CT_5_4_11_1', 'CT_URINARY_5_4_11_1_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_URINARY_5_4_11_2_1', 'CT_URINARY_5_4_11_2_1', '检查范围', 3, 'boolean', '检查范围从肾上极上方1cm至耻骨联合下缘', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "其他", "checkCoverage": true}, "isVeto": false, "description": "检查范围从肾上极上方1cm至耻骨联合下缘"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_URINARY_5_4_11_2_2', 'CT_URINARY_5_4_11_2_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_URINARY_5_4_11_2_3', 'CT_URINARY_5_4_11_2_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 1.25, "thinIntervalMax": 1.25, "dfov": 38, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_URINARY_5_4_11_2_4', 'CT_URINARY_5_4_11_2_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽300~500HU,窗位30~50HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 300, "max": 500}, "windowCenter": {"min": 30, "max": 50}}}, "isVeto": true, "description": "软组织窗:窗宽300~500HU,窗位30~50HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_URINARY_5_4_11_2_5', 'CT_URINARY_5_4_11_2_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_URINARY_5_4_11_2_6', 'CT_URINARY_5_4_11_2_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_URINARY_5_4_11_2_7', 'CT_URINARY_5_4_11_2_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_URINARY_5_4_11_2_8', 'CT_URINARY_5_4_11_2_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_11_2', 'CT_5_4_11_2', '泌尿系CT增强质控标准', 'CT', '其他', '增强', '泌尿系CT增强', 80, '泌尿系CT增强质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_11_2_1', 'STD_CT_5_4_11_2', 'CT_URINARY_5_4_11_2_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_11_2_2', 'STD_CT_5_4_11_2', 'CT_URINARY_5_4_11_2_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_11_2_3', 'STD_CT_5_4_11_2', 'CT_URINARY_5_4_11_2_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_11_2_4', 'STD_CT_5_4_11_2', 'CT_URINARY_5_4_11_2_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_11_2_5', 'STD_CT_5_4_11_2', 'CT_URINARY_5_4_11_2_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_11_2_6', 'STD_CT_5_4_11_2', 'CT_URINARY_5_4_11_2_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_11_2_7', 'STD_CT_5_4_11_2', 'CT_URINARY_5_4_11_2_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_11_2_8', 'STD_CT_5_4_11_2', 'CT_URINARY_5_4_11_2_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_CTU_5_4_11_3_1', 'CT_CTU_5_4_11_3_1', '检查范围', 3, 'boolean', '检查范围从肾上极上方1cm至耻骨联合下缘', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "其他", "checkCoverage": true}, "isVeto": false, "description": "检查范围从肾上极上方1cm至耻骨联合下缘"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_CTU_5_4_11_3_2', 'CT_CTU_5_4_11_3_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_CTU_5_4_11_3_3', 'CT_CTU_5_4_11_3_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 1.25, "thinIntervalMax": 1.25, "dfov": 38, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_CTU_5_4_11_3_4', 'CT_CTU_5_4_11_3_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽300~500HU,窗位30~50HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 300, "max": 500}, "windowCenter": {"min": 30, "max": 50}}}, "isVeto": true, "description": "软组织窗:窗宽300~500HU,窗位30~50HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_CTU_5_4_11_3_5', 'CT_CTU_5_4_11_3_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_CTU_5_4_11_3_6', 'CT_CTU_5_4_11_3_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_CTU_5_4_11_3_7', 'CT_CTU_5_4_11_3_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_CTU_5_4_11_3_8', 'CT_CTU_5_4_11_3_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_11_3', 'CT_5_4_11_3', '尿路CT成像质控标准', 'CT', '其他', '平扫', '尿路CT成像', 80, '尿路CT成像质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_11_3_1', 'STD_CT_5_4_11_3', 'CT_CTU_5_4_11_3_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_11_3_2', 'STD_CT_5_4_11_3', 'CT_CTU_5_4_11_3_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_11_3_3', 'STD_CT_5_4_11_3', 'CT_CTU_5_4_11_3_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_11_3_4', 'STD_CT_5_4_11_3', 'CT_CTU_5_4_11_3_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_11_3_5', 'STD_CT_5_4_11_3', 'CT_CTU_5_4_11_3_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_11_3_6', 'STD_CT_5_4_11_3', 'CT_CTU_5_4_11_3_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_11_3_7', 'STD_CT_5_4_11_3', 'CT_CTU_5_4_11_3_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_11_3_8', 'STD_CT_5_4_11_3', 'CT_CTU_5_4_11_3_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_COLON_5_4_11_4_1', 'CT_COLON_5_4_11_4_1', '检查范围', 3, 'boolean', '检查范围从膈顶至耻骨联合', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "其他", "checkCoverage": true}, "isVeto": false, "description": "检查范围从膈顶至耻骨联合"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_COLON_5_4_11_4_2', 'CT_COLON_5_4_11_4_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_COLON_5_4_11_4_3', 'CT_COLON_5_4_11_4_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 1.25, "thinIntervalMax": 1.25, "dfov": 38, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_COLON_5_4_11_4_4', 'CT_COLON_5_4_11_4_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽200~300HU,窗位40~60HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 200, "max": 300}, "windowCenter": {"min": 40, "max": 60}}}, "isVeto": true, "description": "软组织窗:窗宽200~300HU,窗位40~60HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_COLON_5_4_11_4_5', 'CT_COLON_5_4_11_4_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_COLON_5_4_11_4_6', 'CT_COLON_5_4_11_4_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_COLON_5_4_11_4_7', 'CT_COLON_5_4_11_4_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_COLON_5_4_11_4_8', 'CT_COLON_5_4_11_4_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_11_4', 'CT_5_4_11_4', '结肠CT平扫质控标准', 'CT', '其他', '平扫', '结肠CT平扫', 80, '结肠CT平扫质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_11_4_1', 'STD_CT_5_4_11_4', 'CT_COLON_5_4_11_4_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_11_4_2', 'STD_CT_5_4_11_4', 'CT_COLON_5_4_11_4_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_11_4_3', 'STD_CT_5_4_11_4', 'CT_COLON_5_4_11_4_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_11_4_4', 'STD_CT_5_4_11_4', 'CT_COLON_5_4_11_4_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_11_4_5', 'STD_CT_5_4_11_4', 'CT_COLON_5_4_11_4_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_11_4_6', 'STD_CT_5_4_11_4', 'CT_COLON_5_4_11_4_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_11_4_7', 'STD_CT_5_4_11_4', 'CT_COLON_5_4_11_4_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_11_4_8', 'STD_CT_5_4_11_4', 'CT_COLON_5_4_11_4_8', 8.00, 1, 8, NOW(), NOW()); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_COLON_5_4_11_5_1', 'CT_COLON_5_4_11_5_1', '检查范围', 3, 'boolean', '检查范围从膈顶至耻骨联合', '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 40, "expectedBodyPart": "其他", "checkCoverage": true}, "isVeto": false, "description": "检查范围从膈顶至耻骨联合"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_COLON_5_4_11_5_2', 'CT_COLON_5_4_11_5_2', '图像偏中心', 3, 'boolean', '断层位于图像正中', '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_COLON_5_4_11_5_3', 'CT_COLON_5_4_11_5_3', '重建参数', 3, 'boolean', '厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm', '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 5.0, "thickIntervalMax": 5.0, "thinSliceMax": 1.25, "thinIntervalMax": 1.25, "dfov": 38, "dfovTolerance": 3.0}, "isVeto": false, "description": "厚层≤5.0mm,薄层≤1.25mm,DFOV:38cm"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_COLON_5_4_11_5_4', 'CT_COLON_5_4_11_5_4', '窗口技术', 3, 'boolean', '软组织窗:窗宽200~300HU,窗位40~60HU', '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 200, "max": 300}, "windowCenter": {"min": 40, "max": 60}}}, "isVeto": true, "description": "软组织窗:窗宽200~300HU,窗位40~60HU"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_COLON_5_4_11_5_5', 'CT_COLON_5_4_11_5_5', '扫描体位', 3, 'boolean', '仰卧位,双手上举', '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位,双手上举"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_COLON_5_4_11_5_6', 'CT_COLON_5_4_11_5_6', '图像标识', 3, 'boolean', '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位', '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}', 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_COLON_5_4_11_5_7', 'CT_COLON_5_4_11_5_7', '图像伪影', 3, 'boolean', '无明显运动、呼吸、设备或体外金属等原因产生的图像伪影', '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "无明显运动、呼吸、设备或体外金属等原因产生的图像伪影"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES ('CT_COLON_5_4_11_5_8', 'CT_COLON_5_4_11_5_8', '图像清晰度', 3, 'boolean', '清晰显示各器官组织和病变', '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "清晰显示各器官组织和病变"}', 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL); INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `pass_score`, `description`, `status`, `create_time`, `update_time`) VALUES ('STD_CT_5_4_11_5', 'CT_5_4_11_5', '结肠CT增强质控标准', 'CT', '其他', '增强', '结肠CT增强', 80, '结肠CT增强质控标准,包含8个质控因子', 1, NOW(), NOW()); INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES ('SF_CT_5_4_11_5_1', 'STD_CT_5_4_11_5', 'CT_COLON_5_4_11_5_1', 10.00, 1, 1, NOW(), NOW()), ('SF_CT_5_4_11_5_2', 'STD_CT_5_4_11_5', 'CT_COLON_5_4_11_5_2', 8.00, 1, 2, NOW(), NOW()), ('SF_CT_5_4_11_5_3', 'STD_CT_5_4_11_5', 'CT_COLON_5_4_11_5_3', 10.00, 1, 3, NOW(), NOW()), ('SF_CT_5_4_11_5_4', 'STD_CT_5_4_11_5', 'CT_COLON_5_4_11_5_4', 20.00, 1, 4, NOW(), NOW()), ('SF_CT_5_4_11_5_5', 'STD_CT_5_4_11_5', 'CT_COLON_5_4_11_5_5', 8.00, 1, 5, NOW(), NOW()), ('SF_CT_5_4_11_5_6', 'STD_CT_5_4_11_5', 'CT_COLON_5_4_11_5_6', 22.00, 1, 6, NOW(), NOW()), ('SF_CT_5_4_11_5_7', 'STD_CT_5_4_11_5', 'CT_COLON_5_4_11_5_7', 14.00, 1, 7, NOW(), NOW()), ('SF_CT_5_4_11_5_8', 'STD_CT_5_4_11_5', 'CT_COLON_5_4_11_5_8', 8.00, 1, 8, NOW(), NOW());