-- ===========================================================================
-- 医保影像云图像质控规范 - X线（DR）检查部位质控标准 (第6批完整版)
-- 基于《医保影像云图像质控规范 (YXY-QC-2025-A1)》
-- 
-- 本文件包含DR质控标准（完整版）
-- 检查项目总数: 64
-- 质控因子总数: 448
-- 
-- 创建时间: 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
('DR_SKULL_PA_5_2_1_1_1', 'DR_SKULL_PA_5_2_1_1_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_SKULL_PA_5_2_1_1_2', 'DR_SKULL_PA_5_2_1_1_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_SKULL_PA_5_2_1_1_3', 'DR_SKULL_PA_5_2_1_1_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_SKULL_PA_5_2_1_1_4', 'DR_SKULL_PA_5_2_1_1_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_SKULL_PA_5_2_1_1_5', 'DR_SKULL_PA_5_2_1_1_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_SKULL_PA_5_2_1_1_6', 'DR_SKULL_PA_5_2_1_1_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_SKULL_PA_5_2_1_1_7', 'DR_SKULL_PA_5_2_1_1_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_1_1', 'DR_5_2_1_1', '头颅正位质控标准', 'DR', '头颅', '正位', '头颅正位', 80,
'头颅正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_1_1_1', 'STD_DR_5_2_1_1', 'DR_SKULL_PA_5_2_1_1_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_1_1_2', 'STD_DR_5_2_1_1', 'DR_SKULL_PA_5_2_1_1_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_1_1_3', 'STD_DR_5_2_1_1', 'DR_SKULL_PA_5_2_1_1_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_1_1_4', 'STD_DR_5_2_1_1', 'DR_SKULL_PA_5_2_1_1_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_1_1_5', 'STD_DR_5_2_1_1', 'DR_SKULL_PA_5_2_1_1_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_1_1_6', 'STD_DR_5_2_1_1', 'DR_SKULL_PA_5_2_1_1_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_1_1_7', 'STD_DR_5_2_1_1', 'DR_SKULL_PA_5_2_1_1_7', 12.00, 1, 7, 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
('DR_SKULL_LAT_5_2_1_2_1', 'DR_SKULL_LAT_5_2_1_2_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_SKULL_LAT_5_2_1_2_2', 'DR_SKULL_LAT_5_2_1_2_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_SKULL_LAT_5_2_1_2_3', 'DR_SKULL_LAT_5_2_1_2_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_SKULL_LAT_5_2_1_2_4', 'DR_SKULL_LAT_5_2_1_2_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_SKULL_LAT_5_2_1_2_5', 'DR_SKULL_LAT_5_2_1_2_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_SKULL_LAT_5_2_1_2_6', 'DR_SKULL_LAT_5_2_1_2_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_SKULL_LAT_5_2_1_2_7', 'DR_SKULL_LAT_5_2_1_2_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_1_2', 'DR_5_2_1_2', '头颅侧位质控标准', 'DR', '头颅', '侧位', '头颅侧位', 80,
'头颅侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_1_2_1', 'STD_DR_5_2_1_2', 'DR_SKULL_LAT_5_2_1_2_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_1_2_2', 'STD_DR_5_2_1_2', 'DR_SKULL_LAT_5_2_1_2_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_1_2_3', 'STD_DR_5_2_1_2', 'DR_SKULL_LAT_5_2_1_2_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_1_2_4', 'STD_DR_5_2_1_2', 'DR_SKULL_LAT_5_2_1_2_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_1_2_5', 'STD_DR_5_2_1_2', 'DR_SKULL_LAT_5_2_1_2_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_1_2_6', 'STD_DR_5_2_1_2', 'DR_SKULL_LAT_5_2_1_2_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_1_2_7', 'STD_DR_5_2_1_2', 'DR_SKULL_LAT_5_2_1_2_7', 12.00, 1, 7, 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
('DR_NASAL_LAT_5_2_2_1_1', 'DR_NASAL_LAT_5_2_2_1_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_NASAL_LAT_5_2_2_1_2', 'DR_NASAL_LAT_5_2_2_1_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_NASAL_LAT_5_2_2_1_3', 'DR_NASAL_LAT_5_2_2_1_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_NASAL_LAT_5_2_2_1_4', 'DR_NASAL_LAT_5_2_2_1_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_NASAL_LAT_5_2_2_1_5', 'DR_NASAL_LAT_5_2_2_1_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_NASAL_LAT_5_2_2_1_6', 'DR_NASAL_LAT_5_2_2_1_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_NASAL_LAT_5_2_2_1_7', 'DR_NASAL_LAT_5_2_2_1_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_2_1', 'DR_5_2_2_1', '鼻骨侧位质控标准', 'DR', '鼻骨', '侧位', '鼻骨侧位', 80,
'鼻骨侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_2_1_1', 'STD_DR_5_2_2_1', 'DR_NASAL_LAT_5_2_2_1_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_2_1_2', 'STD_DR_5_2_2_1', 'DR_NASAL_LAT_5_2_2_1_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_2_1_3', 'STD_DR_5_2_2_1', 'DR_NASAL_LAT_5_2_2_1_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_2_1_4', 'STD_DR_5_2_2_1', 'DR_NASAL_LAT_5_2_2_1_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_2_1_5', 'STD_DR_5_2_2_1', 'DR_NASAL_LAT_5_2_2_1_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_2_1_6', 'STD_DR_5_2_2_1', 'DR_NASAL_LAT_5_2_2_1_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_2_1_7', 'STD_DR_5_2_2_1', 'DR_NASAL_LAT_5_2_2_1_7', 12.00, 1, 7, 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
('DR_TEMPORAL_S_5_2_3_1_1', 'DR_TEMPORAL_S_5_2_3_1_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_TEMPORAL_S_5_2_3_1_2', 'DR_TEMPORAL_S_5_2_3_1_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_TEMPORAL_S_5_2_3_1_3', 'DR_TEMPORAL_S_5_2_3_1_3', '摄影体位', 5, 'boolean',
'斯氏位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_TEMPORAL_S_5_2_3_1_4', 'DR_TEMPORAL_S_5_2_3_1_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_TEMPORAL_S_5_2_3_1_5', 'DR_TEMPORAL_S_5_2_3_1_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_TEMPORAL_S_5_2_3_1_6', 'DR_TEMPORAL_S_5_2_3_1_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_TEMPORAL_S_5_2_3_1_7', 'DR_TEMPORAL_S_5_2_3_1_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_3_1', 'DR_5_2_3_1', '颞骨岩部斯氏位质控标准', 'DR', '颞骨岩部', '斯氏位', '颞骨岩部斯氏位', 80,
'颞骨岩部斯氏位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_3_1_1', 'STD_DR_5_2_3_1', 'DR_TEMPORAL_S_5_2_3_1_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_3_1_2', 'STD_DR_5_2_3_1', 'DR_TEMPORAL_S_5_2_3_1_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_3_1_3', 'STD_DR_5_2_3_1', 'DR_TEMPORAL_S_5_2_3_1_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_3_1_4', 'STD_DR_5_2_3_1', 'DR_TEMPORAL_S_5_2_3_1_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_3_1_5', 'STD_DR_5_2_3_1', 'DR_TEMPORAL_S_5_2_3_1_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_3_1_6', 'STD_DR_5_2_3_1', 'DR_TEMPORAL_S_5_2_3_1_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_3_1_7', 'STD_DR_5_2_3_1', 'DR_TEMPORAL_S_5_2_3_1_7', 12.00, 1, 7, 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
('DR_TEMPORAL_X_5_2_3_2_1', 'DR_TEMPORAL_X_5_2_3_2_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_TEMPORAL_X_5_2_3_2_2', 'DR_TEMPORAL_X_5_2_3_2_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_TEMPORAL_X_5_2_3_2_3', 'DR_TEMPORAL_X_5_2_3_2_3', '摄影体位', 5, 'boolean',
'许氏位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_TEMPORAL_X_5_2_3_2_4', 'DR_TEMPORAL_X_5_2_3_2_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_TEMPORAL_X_5_2_3_2_5', 'DR_TEMPORAL_X_5_2_3_2_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_TEMPORAL_X_5_2_3_2_6', 'DR_TEMPORAL_X_5_2_3_2_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_TEMPORAL_X_5_2_3_2_7', 'DR_TEMPORAL_X_5_2_3_2_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_3_2', 'DR_5_2_3_2', '颞骨岩部许氏位质控标准', 'DR', '颞骨岩部', '许氏位', '颞骨岩部许氏位', 80,
'颞骨岩部许氏位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_3_2_1', 'STD_DR_5_2_3_2', 'DR_TEMPORAL_X_5_2_3_2_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_3_2_2', 'STD_DR_5_2_3_2', 'DR_TEMPORAL_X_5_2_3_2_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_3_2_3', 'STD_DR_5_2_3_2', 'DR_TEMPORAL_X_5_2_3_2_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_3_2_4', 'STD_DR_5_2_3_2', 'DR_TEMPORAL_X_5_2_3_2_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_3_2_5', 'STD_DR_5_2_3_2', 'DR_TEMPORAL_X_5_2_3_2_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_3_2_6', 'STD_DR_5_2_3_2', 'DR_TEMPORAL_X_5_2_3_2_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_3_2_7', 'STD_DR_5_2_3_2', 'DR_TEMPORAL_X_5_2_3_2_7', 12.00, 1, 7, 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
('DR_SINUS_W_5_2_4_1_1', 'DR_SINUS_W_5_2_4_1_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_SINUS_W_5_2_4_1_2', 'DR_SINUS_W_5_2_4_1_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_SINUS_W_5_2_4_1_3', 'DR_SINUS_W_5_2_4_1_3', '摄影体位', 5, 'boolean',
'华氏位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_SINUS_W_5_2_4_1_4', 'DR_SINUS_W_5_2_4_1_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_SINUS_W_5_2_4_1_5', 'DR_SINUS_W_5_2_4_1_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_SINUS_W_5_2_4_1_6', 'DR_SINUS_W_5_2_4_1_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_SINUS_W_5_2_4_1_7', 'DR_SINUS_W_5_2_4_1_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_4_1', 'DR_5_2_4_1', '副鼻窦华氏位质控标准', 'DR', '副鼻窦', '华氏位', '副鼻窦华氏位', 80,
'副鼻窦华氏位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_4_1_1', 'STD_DR_5_2_4_1', 'DR_SINUS_W_5_2_4_1_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_4_1_2', 'STD_DR_5_2_4_1', 'DR_SINUS_W_5_2_4_1_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_4_1_3', 'STD_DR_5_2_4_1', 'DR_SINUS_W_5_2_4_1_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_4_1_4', 'STD_DR_5_2_4_1', 'DR_SINUS_W_5_2_4_1_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_4_1_5', 'STD_DR_5_2_4_1', 'DR_SINUS_W_5_2_4_1_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_4_1_6', 'STD_DR_5_2_4_1', 'DR_SINUS_W_5_2_4_1_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_4_1_7', 'STD_DR_5_2_4_1', 'DR_SINUS_W_5_2_4_1_7', 12.00, 1, 7, 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
('DR_SINUS_C_5_2_4_2_1', 'DR_SINUS_C_5_2_4_2_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_SINUS_C_5_2_4_2_2', 'DR_SINUS_C_5_2_4_2_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_SINUS_C_5_2_4_2_3', 'DR_SINUS_C_5_2_4_2_3', '摄影体位', 5, 'boolean',
'柯氏位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_SINUS_C_5_2_4_2_4', 'DR_SINUS_C_5_2_4_2_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_SINUS_C_5_2_4_2_5', 'DR_SINUS_C_5_2_4_2_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_SINUS_C_5_2_4_2_6', 'DR_SINUS_C_5_2_4_2_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_SINUS_C_5_2_4_2_7', 'DR_SINUS_C_5_2_4_2_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_4_2', 'DR_5_2_4_2', '副鼻窦柯氏位质控标准', 'DR', '副鼻窦', '柯氏位', '副鼻窦柯氏位', 80,
'副鼻窦柯氏位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_4_2_1', 'STD_DR_5_2_4_2', 'DR_SINUS_C_5_2_4_2_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_4_2_2', 'STD_DR_5_2_4_2', 'DR_SINUS_C_5_2_4_2_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_4_2_3', 'STD_DR_5_2_4_2', 'DR_SINUS_C_5_2_4_2_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_4_2_4', 'STD_DR_5_2_4_2', 'DR_SINUS_C_5_2_4_2_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_4_2_5', 'STD_DR_5_2_4_2', 'DR_SINUS_C_5_2_4_2_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_4_2_6', 'STD_DR_5_2_4_2', 'DR_SINUS_C_5_2_4_2_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_4_2_7', 'STD_DR_5_2_4_2', 'DR_SINUS_C_5_2_4_2_7', 12.00, 1, 7, 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
('DR_CHEST_PA_5_2_5_1_1', 'DR_CHEST_PA_5_2_5_1_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_CHEST_PA_5_2_5_1_2', 'DR_CHEST_PA_5_2_5_1_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_CHEST_PA_5_2_5_1_3', 'DR_CHEST_PA_5_2_5_1_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_CHEST_PA_5_2_5_1_4', 'DR_CHEST_PA_5_2_5_1_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_CHEST_PA_5_2_5_1_5', 'DR_CHEST_PA_5_2_5_1_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_CHEST_PA_5_2_5_1_6', 'DR_CHEST_PA_5_2_5_1_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_CHEST_PA_5_2_5_1_7', 'DR_CHEST_PA_5_2_5_1_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_5_1', 'DR_5_2_5_1', '胸部正位质控标准', 'DR', '胸部', '正位', '胸部正位', 80,
'胸部正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_5_1_1', 'STD_DR_5_2_5_1', 'DR_CHEST_PA_5_2_5_1_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_5_1_2', 'STD_DR_5_2_5_1', 'DR_CHEST_PA_5_2_5_1_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_5_1_3', 'STD_DR_5_2_5_1', 'DR_CHEST_PA_5_2_5_1_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_5_1_4', 'STD_DR_5_2_5_1', 'DR_CHEST_PA_5_2_5_1_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_5_1_5', 'STD_DR_5_2_5_1', 'DR_CHEST_PA_5_2_5_1_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_5_1_6', 'STD_DR_5_2_5_1', 'DR_CHEST_PA_5_2_5_1_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_5_1_7', 'STD_DR_5_2_5_1', 'DR_CHEST_PA_5_2_5_1_7', 12.00, 1, 7, 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
('DR_CHEST_LAT_5_2_5_2_1', 'DR_CHEST_LAT_5_2_5_2_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_CHEST_LAT_5_2_5_2_2', 'DR_CHEST_LAT_5_2_5_2_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_CHEST_LAT_5_2_5_2_3', 'DR_CHEST_LAT_5_2_5_2_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_CHEST_LAT_5_2_5_2_4', 'DR_CHEST_LAT_5_2_5_2_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_CHEST_LAT_5_2_5_2_5', 'DR_CHEST_LAT_5_2_5_2_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_CHEST_LAT_5_2_5_2_6', 'DR_CHEST_LAT_5_2_5_2_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_CHEST_LAT_5_2_5_2_7', 'DR_CHEST_LAT_5_2_5_2_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_5_2', 'DR_5_2_5_2', '胸部侧位质控标准', 'DR', '胸部', '侧位', '胸部侧位', 80,
'胸部侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_5_2_1', 'STD_DR_5_2_5_2', 'DR_CHEST_LAT_5_2_5_2_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_5_2_2', 'STD_DR_5_2_5_2', 'DR_CHEST_LAT_5_2_5_2_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_5_2_3', 'STD_DR_5_2_5_2', 'DR_CHEST_LAT_5_2_5_2_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_5_2_4', 'STD_DR_5_2_5_2', 'DR_CHEST_LAT_5_2_5_2_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_5_2_5', 'STD_DR_5_2_5_2', 'DR_CHEST_LAT_5_2_5_2_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_5_2_6', 'STD_DR_5_2_5_2', 'DR_CHEST_LAT_5_2_5_2_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_5_2_7', 'STD_DR_5_2_5_2', 'DR_CHEST_LAT_5_2_5_2_7', 12.00, 1, 7, 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
('DR_CHEST_OBL_5_2_5_3_1', 'DR_CHEST_OBL_5_2_5_3_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_CHEST_OBL_5_2_5_3_2', 'DR_CHEST_OBL_5_2_5_3_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_CHEST_OBL_5_2_5_3_3', 'DR_CHEST_OBL_5_2_5_3_3', '摄影体位', 5, 'boolean',
'斜位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_CHEST_OBL_5_2_5_3_4', 'DR_CHEST_OBL_5_2_5_3_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_CHEST_OBL_5_2_5_3_5', 'DR_CHEST_OBL_5_2_5_3_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_CHEST_OBL_5_2_5_3_6', 'DR_CHEST_OBL_5_2_5_3_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_CHEST_OBL_5_2_5_3_7', 'DR_CHEST_OBL_5_2_5_3_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_5_3', 'DR_5_2_5_3', '胸部斜位质控标准', 'DR', '胸部', '斜位', '胸部斜位', 80,
'胸部斜位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_5_3_1', 'STD_DR_5_2_5_3', 'DR_CHEST_OBL_5_2_5_3_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_5_3_2', 'STD_DR_5_2_5_3', 'DR_CHEST_OBL_5_2_5_3_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_5_3_3', 'STD_DR_5_2_5_3', 'DR_CHEST_OBL_5_2_5_3_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_5_3_4', 'STD_DR_5_2_5_3', 'DR_CHEST_OBL_5_2_5_3_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_5_3_5', 'STD_DR_5_2_5_3', 'DR_CHEST_OBL_5_2_5_3_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_5_3_6', 'STD_DR_5_2_5_3', 'DR_CHEST_OBL_5_2_5_3_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_5_3_7', 'STD_DR_5_2_5_3', 'DR_CHEST_OBL_5_2_5_3_7', 12.00, 1, 7, 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
('DR_THORACIC_PA_5_2_6_1_1', 'DR_THORACIC_PA_5_2_6_1_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_THORACIC_PA_5_2_6_1_2', 'DR_THORACIC_PA_5_2_6_1_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_THORACIC_PA_5_2_6_1_3', 'DR_THORACIC_PA_5_2_6_1_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_THORACIC_PA_5_2_6_1_4', 'DR_THORACIC_PA_5_2_6_1_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_THORACIC_PA_5_2_6_1_5', 'DR_THORACIC_PA_5_2_6_1_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_THORACIC_PA_5_2_6_1_6', 'DR_THORACIC_PA_5_2_6_1_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_THORACIC_PA_5_2_6_1_7', 'DR_THORACIC_PA_5_2_6_1_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_6_1', 'DR_5_2_6_1', '胸椎正位质控标准', 'DR', '胸椎', '正位', '胸椎正位', 80,
'胸椎正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_6_1_1', 'STD_DR_5_2_6_1', 'DR_THORACIC_PA_5_2_6_1_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_6_1_2', 'STD_DR_5_2_6_1', 'DR_THORACIC_PA_5_2_6_1_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_6_1_3', 'STD_DR_5_2_6_1', 'DR_THORACIC_PA_5_2_6_1_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_6_1_4', 'STD_DR_5_2_6_1', 'DR_THORACIC_PA_5_2_6_1_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_6_1_5', 'STD_DR_5_2_6_1', 'DR_THORACIC_PA_5_2_6_1_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_6_1_6', 'STD_DR_5_2_6_1', 'DR_THORACIC_PA_5_2_6_1_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_6_1_7', 'STD_DR_5_2_6_1', 'DR_THORACIC_PA_5_2_6_1_7', 12.00, 1, 7, 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
('DR_THORACIC_LAT_5_2_6_2_1', 'DR_THORACIC_LAT_5_2_6_2_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_THORACIC_LAT_5_2_6_2_2', 'DR_THORACIC_LAT_5_2_6_2_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_THORACIC_LAT_5_2_6_2_3', 'DR_THORACIC_LAT_5_2_6_2_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_THORACIC_LAT_5_2_6_2_4', 'DR_THORACIC_LAT_5_2_6_2_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_THORACIC_LAT_5_2_6_2_5', 'DR_THORACIC_LAT_5_2_6_2_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_THORACIC_LAT_5_2_6_2_6', 'DR_THORACIC_LAT_5_2_6_2_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_THORACIC_LAT_5_2_6_2_7', 'DR_THORACIC_LAT_5_2_6_2_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_6_2', 'DR_5_2_6_2', '胸椎侧位质控标准', 'DR', '胸椎', '侧位', '胸椎侧位', 80,
'胸椎侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_6_2_1', 'STD_DR_5_2_6_2', 'DR_THORACIC_LAT_5_2_6_2_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_6_2_2', 'STD_DR_5_2_6_2', 'DR_THORACIC_LAT_5_2_6_2_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_6_2_3', 'STD_DR_5_2_6_2', 'DR_THORACIC_LAT_5_2_6_2_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_6_2_4', 'STD_DR_5_2_6_2', 'DR_THORACIC_LAT_5_2_6_2_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_6_2_5', 'STD_DR_5_2_6_2', 'DR_THORACIC_LAT_5_2_6_2_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_6_2_6', 'STD_DR_5_2_6_2', 'DR_THORACIC_LAT_5_2_6_2_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_6_2_7', 'STD_DR_5_2_6_2', 'DR_THORACIC_LAT_5_2_6_2_7', 12.00, 1, 7, 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
('DR_THORACOLUMBAR_PA_5_2_6_3_1', 'DR_THORACOLUMBAR_PA_5_2_6_3_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_THORACOLUMBAR_PA_5_2_6_3_2', 'DR_THORACOLUMBAR_PA_5_2_6_3_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_THORACOLUMBAR_PA_5_2_6_3_3', 'DR_THORACOLUMBAR_PA_5_2_6_3_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_THORACOLUMBAR_PA_5_2_6_3_4', 'DR_THORACOLUMBAR_PA_5_2_6_3_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_THORACOLUMBAR_PA_5_2_6_3_5', 'DR_THORACOLUMBAR_PA_5_2_6_3_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_THORACOLUMBAR_PA_5_2_6_3_6', 'DR_THORACOLUMBAR_PA_5_2_6_3_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_THORACOLUMBAR_PA_5_2_6_3_7', 'DR_THORACOLUMBAR_PA_5_2_6_3_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_6_3', 'DR_5_2_6_3', '胸腰段正位质控标准', 'DR', '胸腰段', '正位', '胸腰段正位', 80,
'胸腰段正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_6_3_1', 'STD_DR_5_2_6_3', 'DR_THORACOLUMBAR_PA_5_2_6_3_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_6_3_2', 'STD_DR_5_2_6_3', 'DR_THORACOLUMBAR_PA_5_2_6_3_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_6_3_3', 'STD_DR_5_2_6_3', 'DR_THORACOLUMBAR_PA_5_2_6_3_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_6_3_4', 'STD_DR_5_2_6_3', 'DR_THORACOLUMBAR_PA_5_2_6_3_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_6_3_5', 'STD_DR_5_2_6_3', 'DR_THORACOLUMBAR_PA_5_2_6_3_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_6_3_6', 'STD_DR_5_2_6_3', 'DR_THORACOLUMBAR_PA_5_2_6_3_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_6_3_7', 'STD_DR_5_2_6_3', 'DR_THORACOLUMBAR_PA_5_2_6_3_7', 12.00, 1, 7, 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
('DR_THORACOLUMBAR_LAT_5_2_6_4_1', 'DR_THORACOLUMBAR_LAT_5_2_6_4_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_THORACOLUMBAR_LAT_5_2_6_4_2', 'DR_THORACOLUMBAR_LAT_5_2_6_4_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_THORACOLUMBAR_LAT_5_2_6_4_3', 'DR_THORACOLUMBAR_LAT_5_2_6_4_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_THORACOLUMBAR_LAT_5_2_6_4_4', 'DR_THORACOLUMBAR_LAT_5_2_6_4_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_THORACOLUMBAR_LAT_5_2_6_4_5', 'DR_THORACOLUMBAR_LAT_5_2_6_4_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_THORACOLUMBAR_LAT_5_2_6_4_6', 'DR_THORACOLUMBAR_LAT_5_2_6_4_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_THORACOLUMBAR_LAT_5_2_6_4_7', 'DR_THORACOLUMBAR_LAT_5_2_6_4_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_6_4', 'DR_5_2_6_4', '胸腰段侧位质控标准', 'DR', '胸腰段', '侧位', '胸腰段侧位', 80,
'胸腰段侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_6_4_1', 'STD_DR_5_2_6_4', 'DR_THORACOLUMBAR_LAT_5_2_6_4_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_6_4_2', 'STD_DR_5_2_6_4', 'DR_THORACOLUMBAR_LAT_5_2_6_4_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_6_4_3', 'STD_DR_5_2_6_4', 'DR_THORACOLUMBAR_LAT_5_2_6_4_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_6_4_4', 'STD_DR_5_2_6_4', 'DR_THORACOLUMBAR_LAT_5_2_6_4_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_6_4_5', 'STD_DR_5_2_6_4', 'DR_THORACOLUMBAR_LAT_5_2_6_4_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_6_4_6', 'STD_DR_5_2_6_4', 'DR_THORACOLUMBAR_LAT_5_2_6_4_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_6_4_7', 'STD_DR_5_2_6_4', 'DR_THORACOLUMBAR_LAT_5_2_6_4_7', 12.00, 1, 7, 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
('DR_LUMBAR_PA_5_2_6_5_1', 'DR_LUMBAR_PA_5_2_6_5_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_LUMBAR_PA_5_2_6_5_2', 'DR_LUMBAR_PA_5_2_6_5_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_LUMBAR_PA_5_2_6_5_3', 'DR_LUMBAR_PA_5_2_6_5_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_LUMBAR_PA_5_2_6_5_4', 'DR_LUMBAR_PA_5_2_6_5_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_LUMBAR_PA_5_2_6_5_5', 'DR_LUMBAR_PA_5_2_6_5_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_LUMBAR_PA_5_2_6_5_6', 'DR_LUMBAR_PA_5_2_6_5_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_LUMBAR_PA_5_2_6_5_7', 'DR_LUMBAR_PA_5_2_6_5_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_6_5', 'DR_5_2_6_5', '腰椎正位质控标准', 'DR', '腰椎', '正位', '腰椎正位', 80,
'腰椎正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_6_5_1', 'STD_DR_5_2_6_5', 'DR_LUMBAR_PA_5_2_6_5_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_6_5_2', 'STD_DR_5_2_6_5', 'DR_LUMBAR_PA_5_2_6_5_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_6_5_3', 'STD_DR_5_2_6_5', 'DR_LUMBAR_PA_5_2_6_5_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_6_5_4', 'STD_DR_5_2_6_5', 'DR_LUMBAR_PA_5_2_6_5_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_6_5_5', 'STD_DR_5_2_6_5', 'DR_LUMBAR_PA_5_2_6_5_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_6_5_6', 'STD_DR_5_2_6_5', 'DR_LUMBAR_PA_5_2_6_5_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_6_5_7', 'STD_DR_5_2_6_5', 'DR_LUMBAR_PA_5_2_6_5_7', 12.00, 1, 7, 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
('DR_LUMBAR_LAT_5_2_6_6_1', 'DR_LUMBAR_LAT_5_2_6_6_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_LUMBAR_LAT_5_2_6_6_2', 'DR_LUMBAR_LAT_5_2_6_6_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_LUMBAR_LAT_5_2_6_6_3', 'DR_LUMBAR_LAT_5_2_6_6_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_LUMBAR_LAT_5_2_6_6_4', 'DR_LUMBAR_LAT_5_2_6_6_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_LUMBAR_LAT_5_2_6_6_5', 'DR_LUMBAR_LAT_5_2_6_6_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_LUMBAR_LAT_5_2_6_6_6', 'DR_LUMBAR_LAT_5_2_6_6_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_LUMBAR_LAT_5_2_6_6_7', 'DR_LUMBAR_LAT_5_2_6_6_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_6_6', 'DR_5_2_6_6', '腰椎侧位质控标准', 'DR', '腰椎', '侧位', '腰椎侧位', 80,
'腰椎侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_6_6_1', 'STD_DR_5_2_6_6', 'DR_LUMBAR_LAT_5_2_6_6_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_6_6_2', 'STD_DR_5_2_6_6', 'DR_LUMBAR_LAT_5_2_6_6_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_6_6_3', 'STD_DR_5_2_6_6', 'DR_LUMBAR_LAT_5_2_6_6_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_6_6_4', 'STD_DR_5_2_6_6', 'DR_LUMBAR_LAT_5_2_6_6_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_6_6_5', 'STD_DR_5_2_6_6', 'DR_LUMBAR_LAT_5_2_6_6_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_6_6_6', 'STD_DR_5_2_6_6', 'DR_LUMBAR_LAT_5_2_6_6_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_6_6_7', 'STD_DR_5_2_6_6', 'DR_LUMBAR_LAT_5_2_6_6_7', 12.00, 1, 7, 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
('DR_CERVICAL_OPEN_5_2_7_1_1', 'DR_CERVICAL_OPEN_5_2_7_1_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_CERVICAL_OPEN_5_2_7_1_2', 'DR_CERVICAL_OPEN_5_2_7_1_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_CERVICAL_OPEN_5_2_7_1_3', 'DR_CERVICAL_OPEN_5_2_7_1_3', '摄影体位', 5, 'boolean',
'张口位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_CERVICAL_OPEN_5_2_7_1_4', 'DR_CERVICAL_OPEN_5_2_7_1_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_CERVICAL_OPEN_5_2_7_1_5', 'DR_CERVICAL_OPEN_5_2_7_1_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_CERVICAL_OPEN_5_2_7_1_6', 'DR_CERVICAL_OPEN_5_2_7_1_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_CERVICAL_OPEN_5_2_7_1_7', 'DR_CERVICAL_OPEN_5_2_7_1_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_7_1', 'DR_5_2_7_1', '颈椎张口位质控标准', 'DR', '颈椎', '张口位', '颈椎张口位', 80,
'颈椎张口位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_7_1_1', 'STD_DR_5_2_7_1', 'DR_CERVICAL_OPEN_5_2_7_1_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_7_1_2', 'STD_DR_5_2_7_1', 'DR_CERVICAL_OPEN_5_2_7_1_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_7_1_3', 'STD_DR_5_2_7_1', 'DR_CERVICAL_OPEN_5_2_7_1_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_7_1_4', 'STD_DR_5_2_7_1', 'DR_CERVICAL_OPEN_5_2_7_1_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_7_1_5', 'STD_DR_5_2_7_1', 'DR_CERVICAL_OPEN_5_2_7_1_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_7_1_6', 'STD_DR_5_2_7_1', 'DR_CERVICAL_OPEN_5_2_7_1_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_7_1_7', 'STD_DR_5_2_7_1', 'DR_CERVICAL_OPEN_5_2_7_1_7', 12.00, 1, 7, 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
('DR_CERVICAL_PA_5_2_7_2_1', 'DR_CERVICAL_PA_5_2_7_2_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_CERVICAL_PA_5_2_7_2_2', 'DR_CERVICAL_PA_5_2_7_2_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_CERVICAL_PA_5_2_7_2_3', 'DR_CERVICAL_PA_5_2_7_2_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_CERVICAL_PA_5_2_7_2_4', 'DR_CERVICAL_PA_5_2_7_2_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_CERVICAL_PA_5_2_7_2_5', 'DR_CERVICAL_PA_5_2_7_2_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_CERVICAL_PA_5_2_7_2_6', 'DR_CERVICAL_PA_5_2_7_2_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_CERVICAL_PA_5_2_7_2_7', 'DR_CERVICAL_PA_5_2_7_2_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_7_2', 'DR_5_2_7_2', '颈椎正位质控标准', 'DR', '颈椎', '正位', '颈椎正位', 80,
'颈椎正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_7_2_1', 'STD_DR_5_2_7_2', 'DR_CERVICAL_PA_5_2_7_2_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_7_2_2', 'STD_DR_5_2_7_2', 'DR_CERVICAL_PA_5_2_7_2_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_7_2_3', 'STD_DR_5_2_7_2', 'DR_CERVICAL_PA_5_2_7_2_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_7_2_4', 'STD_DR_5_2_7_2', 'DR_CERVICAL_PA_5_2_7_2_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_7_2_5', 'STD_DR_5_2_7_2', 'DR_CERVICAL_PA_5_2_7_2_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_7_2_6', 'STD_DR_5_2_7_2', 'DR_CERVICAL_PA_5_2_7_2_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_7_2_7', 'STD_DR_5_2_7_2', 'DR_CERVICAL_PA_5_2_7_2_7', 12.00, 1, 7, 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
('DR_CERVICAL_LAT_5_2_7_3_1', 'DR_CERVICAL_LAT_5_2_7_3_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_CERVICAL_LAT_5_2_7_3_2', 'DR_CERVICAL_LAT_5_2_7_3_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_CERVICAL_LAT_5_2_7_3_3', 'DR_CERVICAL_LAT_5_2_7_3_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_CERVICAL_LAT_5_2_7_3_4', 'DR_CERVICAL_LAT_5_2_7_3_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_CERVICAL_LAT_5_2_7_3_5', 'DR_CERVICAL_LAT_5_2_7_3_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_CERVICAL_LAT_5_2_7_3_6', 'DR_CERVICAL_LAT_5_2_7_3_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_CERVICAL_LAT_5_2_7_3_7', 'DR_CERVICAL_LAT_5_2_7_3_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_7_3', 'DR_5_2_7_3', '颈椎侧位质控标准', 'DR', '颈椎', '侧位', '颈椎侧位', 80,
'颈椎侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_7_3_1', 'STD_DR_5_2_7_3', 'DR_CERVICAL_LAT_5_2_7_3_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_7_3_2', 'STD_DR_5_2_7_3', 'DR_CERVICAL_LAT_5_2_7_3_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_7_3_3', 'STD_DR_5_2_7_3', 'DR_CERVICAL_LAT_5_2_7_3_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_7_3_4', 'STD_DR_5_2_7_3', 'DR_CERVICAL_LAT_5_2_7_3_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_7_3_5', 'STD_DR_5_2_7_3', 'DR_CERVICAL_LAT_5_2_7_3_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_7_3_6', 'STD_DR_5_2_7_3', 'DR_CERVICAL_LAT_5_2_7_3_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_7_3_7', 'STD_DR_5_2_7_3', 'DR_CERVICAL_LAT_5_2_7_3_7', 12.00, 1, 7, 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
('DR_CERVICAL_OBL_5_2_7_4_1', 'DR_CERVICAL_OBL_5_2_7_4_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_CERVICAL_OBL_5_2_7_4_2', 'DR_CERVICAL_OBL_5_2_7_4_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_CERVICAL_OBL_5_2_7_4_3', 'DR_CERVICAL_OBL_5_2_7_4_3', '摄影体位', 5, 'boolean',
'双斜位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_CERVICAL_OBL_5_2_7_4_4', 'DR_CERVICAL_OBL_5_2_7_4_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_CERVICAL_OBL_5_2_7_4_5', 'DR_CERVICAL_OBL_5_2_7_4_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_CERVICAL_OBL_5_2_7_4_6', 'DR_CERVICAL_OBL_5_2_7_4_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_CERVICAL_OBL_5_2_7_4_7', 'DR_CERVICAL_OBL_5_2_7_4_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_7_4', 'DR_5_2_7_4', '颈椎双斜位质控标准', 'DR', '颈椎', '双斜位', '颈椎双斜位', 80,
'颈椎双斜位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_7_4_1', 'STD_DR_5_2_7_4', 'DR_CERVICAL_OBL_5_2_7_4_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_7_4_2', 'STD_DR_5_2_7_4', 'DR_CERVICAL_OBL_5_2_7_4_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_7_4_3', 'STD_DR_5_2_7_4', 'DR_CERVICAL_OBL_5_2_7_4_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_7_4_4', 'STD_DR_5_2_7_4', 'DR_CERVICAL_OBL_5_2_7_4_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_7_4_5', 'STD_DR_5_2_7_4', 'DR_CERVICAL_OBL_5_2_7_4_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_7_4_6', 'STD_DR_5_2_7_4', 'DR_CERVICAL_OBL_5_2_7_4_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_7_4_7', 'STD_DR_5_2_7_4', 'DR_CERVICAL_OBL_5_2_7_4_7', 12.00, 1, 7, 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
('DR_CERVICAL_FLEXT_5_2_7_5_1', 'DR_CERVICAL_FLEXT_5_2_7_5_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_CERVICAL_FLEXT_5_2_7_5_2', 'DR_CERVICAL_FLEXT_5_2_7_5_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_CERVICAL_FLEXT_5_2_7_5_3', 'DR_CERVICAL_FLEXT_5_2_7_5_3', '摄影体位', 5, 'boolean',
'过屈过伸位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_CERVICAL_FLEXT_5_2_7_5_4', 'DR_CERVICAL_FLEXT_5_2_7_5_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_CERVICAL_FLEXT_5_2_7_5_5', 'DR_CERVICAL_FLEXT_5_2_7_5_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_CERVICAL_FLEXT_5_2_7_5_6', 'DR_CERVICAL_FLEXT_5_2_7_5_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_CERVICAL_FLEXT_5_2_7_5_7', 'DR_CERVICAL_FLEXT_5_2_7_5_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_7_5', 'DR_5_2_7_5', '颈椎过屈过伸位质控标准', 'DR', '颈椎', '过屈过伸位', '颈椎过屈过伸位', 80,
'颈椎过屈过伸位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_7_5_1', 'STD_DR_5_2_7_5', 'DR_CERVICAL_FLEXT_5_2_7_5_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_7_5_2', 'STD_DR_5_2_7_5', 'DR_CERVICAL_FLEXT_5_2_7_5_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_7_5_3', 'STD_DR_5_2_7_5', 'DR_CERVICAL_FLEXT_5_2_7_5_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_7_5_4', 'STD_DR_5_2_7_5', 'DR_CERVICAL_FLEXT_5_2_7_5_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_7_5_5', 'STD_DR_5_2_7_5', 'DR_CERVICAL_FLEXT_5_2_7_5_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_7_5_6', 'STD_DR_5_2_7_5', 'DR_CERVICAL_FLEXT_5_2_7_5_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_7_5_7', 'STD_DR_5_2_7_5', 'DR_CERVICAL_FLEXT_5_2_7_5_7', 12.00, 1, 7, 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
('DR_CERVICAL_DENS_5_2_7_6_1', 'DR_CERVICAL_DENS_5_2_7_6_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_CERVICAL_DENS_5_2_7_6_2', 'DR_CERVICAL_DENS_5_2_7_6_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_CERVICAL_DENS_5_2_7_6_3', 'DR_CERVICAL_DENS_5_2_7_6_3', '摄影体位', 5, 'boolean',
'齿突位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_CERVICAL_DENS_5_2_7_6_4', 'DR_CERVICAL_DENS_5_2_7_6_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_CERVICAL_DENS_5_2_7_6_5', 'DR_CERVICAL_DENS_5_2_7_6_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_CERVICAL_DENS_5_2_7_6_6', 'DR_CERVICAL_DENS_5_2_7_6_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_CERVICAL_DENS_5_2_7_6_7', 'DR_CERVICAL_DENS_5_2_7_6_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_7_6', 'DR_5_2_7_6', '颈椎齿突位质控标准', 'DR', '颈椎', '齿突位', '颈椎齿突位', 80,
'颈椎齿突位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_7_6_1', 'STD_DR_5_2_7_6', 'DR_CERVICAL_DENS_5_2_7_6_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_7_6_2', 'STD_DR_5_2_7_6', 'DR_CERVICAL_DENS_5_2_7_6_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_7_6_3', 'STD_DR_5_2_7_6', 'DR_CERVICAL_DENS_5_2_7_6_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_7_6_4', 'STD_DR_5_2_7_6', 'DR_CERVICAL_DENS_5_2_7_6_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_7_6_5', 'STD_DR_5_2_7_6', 'DR_CERVICAL_DENS_5_2_7_6_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_7_6_6', 'STD_DR_5_2_7_6', 'DR_CERVICAL_DENS_5_2_7_6_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_7_6_7', 'STD_DR_5_2_7_6', 'DR_CERVICAL_DENS_5_2_7_6_7', 12.00, 1, 7, 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
('DR_SACRUM_PA_5_2_8_1_1', 'DR_SACRUM_PA_5_2_8_1_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_SACRUM_PA_5_2_8_1_2', 'DR_SACRUM_PA_5_2_8_1_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_SACRUM_PA_5_2_8_1_3', 'DR_SACRUM_PA_5_2_8_1_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_SACRUM_PA_5_2_8_1_4', 'DR_SACRUM_PA_5_2_8_1_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_SACRUM_PA_5_2_8_1_5', 'DR_SACRUM_PA_5_2_8_1_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_SACRUM_PA_5_2_8_1_6', 'DR_SACRUM_PA_5_2_8_1_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_SACRUM_PA_5_2_8_1_7', 'DR_SACRUM_PA_5_2_8_1_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_8_1', 'DR_5_2_8_1', '骶尾骨正位质控标准', 'DR', '骶尾骨', '正位', '骶尾骨正位', 80,
'骶尾骨正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_8_1_1', 'STD_DR_5_2_8_1', 'DR_SACRUM_PA_5_2_8_1_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_8_1_2', 'STD_DR_5_2_8_1', 'DR_SACRUM_PA_5_2_8_1_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_8_1_3', 'STD_DR_5_2_8_1', 'DR_SACRUM_PA_5_2_8_1_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_8_1_4', 'STD_DR_5_2_8_1', 'DR_SACRUM_PA_5_2_8_1_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_8_1_5', 'STD_DR_5_2_8_1', 'DR_SACRUM_PA_5_2_8_1_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_8_1_6', 'STD_DR_5_2_8_1', 'DR_SACRUM_PA_5_2_8_1_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_8_1_7', 'STD_DR_5_2_8_1', 'DR_SACRUM_PA_5_2_8_1_7', 12.00, 1, 7, 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
('DR_SACRUM_LAT_5_2_8_2_1', 'DR_SACRUM_LAT_5_2_8_2_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_SACRUM_LAT_5_2_8_2_2', 'DR_SACRUM_LAT_5_2_8_2_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_SACRUM_LAT_5_2_8_2_3', 'DR_SACRUM_LAT_5_2_8_2_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_SACRUM_LAT_5_2_8_2_4', 'DR_SACRUM_LAT_5_2_8_2_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_SACRUM_LAT_5_2_8_2_5', 'DR_SACRUM_LAT_5_2_8_2_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_SACRUM_LAT_5_2_8_2_6', 'DR_SACRUM_LAT_5_2_8_2_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_SACRUM_LAT_5_2_8_2_7', 'DR_SACRUM_LAT_5_2_8_2_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_8_2', 'DR_5_2_8_2', '骶尾骨侧位质控标准', 'DR', '骶尾骨', '侧位', '骶尾骨侧位', 80,
'骶尾骨侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_8_2_1', 'STD_DR_5_2_8_2', 'DR_SACRUM_LAT_5_2_8_2_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_8_2_2', 'STD_DR_5_2_8_2', 'DR_SACRUM_LAT_5_2_8_2_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_8_2_3', 'STD_DR_5_2_8_2', 'DR_SACRUM_LAT_5_2_8_2_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_8_2_4', 'STD_DR_5_2_8_2', 'DR_SACRUM_LAT_5_2_8_2_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_8_2_5', 'STD_DR_5_2_8_2', 'DR_SACRUM_LAT_5_2_8_2_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_8_2_6', 'STD_DR_5_2_8_2', 'DR_SACRUM_LAT_5_2_8_2_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_8_2_7', 'STD_DR_5_2_8_2', 'DR_SACRUM_LAT_5_2_8_2_7', 12.00, 1, 7, 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
('DR_PELVIS_PA_5_2_9_1_1', 'DR_PELVIS_PA_5_2_9_1_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_PELVIS_PA_5_2_9_1_2', 'DR_PELVIS_PA_5_2_9_1_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_PELVIS_PA_5_2_9_1_3', 'DR_PELVIS_PA_5_2_9_1_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_PELVIS_PA_5_2_9_1_4', 'DR_PELVIS_PA_5_2_9_1_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_PELVIS_PA_5_2_9_1_5', 'DR_PELVIS_PA_5_2_9_1_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_PELVIS_PA_5_2_9_1_6', 'DR_PELVIS_PA_5_2_9_1_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_PELVIS_PA_5_2_9_1_7', 'DR_PELVIS_PA_5_2_9_1_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_9_1', 'DR_5_2_9_1', '骨盆正位质控标准', 'DR', '骨盆', '正位', '骨盆正位', 80,
'骨盆正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_9_1_1', 'STD_DR_5_2_9_1', 'DR_PELVIS_PA_5_2_9_1_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_9_1_2', 'STD_DR_5_2_9_1', 'DR_PELVIS_PA_5_2_9_1_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_9_1_3', 'STD_DR_5_2_9_1', 'DR_PELVIS_PA_5_2_9_1_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_9_1_4', 'STD_DR_5_2_9_1', 'DR_PELVIS_PA_5_2_9_1_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_9_1_5', 'STD_DR_5_2_9_1', 'DR_PELVIS_PA_5_2_9_1_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_9_1_6', 'STD_DR_5_2_9_1', 'DR_PELVIS_PA_5_2_9_1_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_9_1_7', 'STD_DR_5_2_9_1', 'DR_PELVIS_PA_5_2_9_1_7', 12.00, 1, 7, 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
('DR_HIP_L_PA_5_2_10_1_1', 'DR_HIP_L_PA_5_2_10_1_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_HIP_L_PA_5_2_10_1_2', 'DR_HIP_L_PA_5_2_10_1_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_HIP_L_PA_5_2_10_1_3', 'DR_HIP_L_PA_5_2_10_1_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_HIP_L_PA_5_2_10_1_4', 'DR_HIP_L_PA_5_2_10_1_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_HIP_L_PA_5_2_10_1_5', 'DR_HIP_L_PA_5_2_10_1_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_HIP_L_PA_5_2_10_1_6', 'DR_HIP_L_PA_5_2_10_1_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_HIP_L_PA_5_2_10_1_7', 'DR_HIP_L_PA_5_2_10_1_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_10_1', 'DR_5_2_10_1', '左髋关节正位质控标准', 'DR', '髋关节', '正位', '左髋关节正位', 80,
'左髋关节正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_10_1_1', 'STD_DR_5_2_10_1', 'DR_HIP_L_PA_5_2_10_1_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_10_1_2', 'STD_DR_5_2_10_1', 'DR_HIP_L_PA_5_2_10_1_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_10_1_3', 'STD_DR_5_2_10_1', 'DR_HIP_L_PA_5_2_10_1_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_10_1_4', 'STD_DR_5_2_10_1', 'DR_HIP_L_PA_5_2_10_1_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_10_1_5', 'STD_DR_5_2_10_1', 'DR_HIP_L_PA_5_2_10_1_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_10_1_6', 'STD_DR_5_2_10_1', 'DR_HIP_L_PA_5_2_10_1_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_10_1_7', 'STD_DR_5_2_10_1', 'DR_HIP_L_PA_5_2_10_1_7', 12.00, 1, 7, 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
('DR_HIP_R_PA_5_2_10_2_1', 'DR_HIP_R_PA_5_2_10_2_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_HIP_R_PA_5_2_10_2_2', 'DR_HIP_R_PA_5_2_10_2_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_HIP_R_PA_5_2_10_2_3', 'DR_HIP_R_PA_5_2_10_2_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_HIP_R_PA_5_2_10_2_4', 'DR_HIP_R_PA_5_2_10_2_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_HIP_R_PA_5_2_10_2_5', 'DR_HIP_R_PA_5_2_10_2_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_HIP_R_PA_5_2_10_2_6', 'DR_HIP_R_PA_5_2_10_2_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_HIP_R_PA_5_2_10_2_7', 'DR_HIP_R_PA_5_2_10_2_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_10_2', 'DR_5_2_10_2', '右髋关节正位质控标准', 'DR', '髋关节', '正位', '右髋关节正位', 80,
'右髋关节正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_10_2_1', 'STD_DR_5_2_10_2', 'DR_HIP_R_PA_5_2_10_2_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_10_2_2', 'STD_DR_5_2_10_2', 'DR_HIP_R_PA_5_2_10_2_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_10_2_3', 'STD_DR_5_2_10_2', 'DR_HIP_R_PA_5_2_10_2_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_10_2_4', 'STD_DR_5_2_10_2', 'DR_HIP_R_PA_5_2_10_2_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_10_2_5', 'STD_DR_5_2_10_2', 'DR_HIP_R_PA_5_2_10_2_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_10_2_6', 'STD_DR_5_2_10_2', 'DR_HIP_R_PA_5_2_10_2_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_10_2_7', 'STD_DR_5_2_10_2', 'DR_HIP_R_PA_5_2_10_2_7', 12.00, 1, 7, 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
('DR_HIP_LAT_5_2_10_3_1', 'DR_HIP_LAT_5_2_10_3_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_HIP_LAT_5_2_10_3_2', 'DR_HIP_LAT_5_2_10_3_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_HIP_LAT_5_2_10_3_3', 'DR_HIP_LAT_5_2_10_3_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_HIP_LAT_5_2_10_3_4', 'DR_HIP_LAT_5_2_10_3_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_HIP_LAT_5_2_10_3_5', 'DR_HIP_LAT_5_2_10_3_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_HIP_LAT_5_2_10_3_6', 'DR_HIP_LAT_5_2_10_3_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_HIP_LAT_5_2_10_3_7', 'DR_HIP_LAT_5_2_10_3_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_10_3', 'DR_5_2_10_3', '髋关节侧位质控标准', 'DR', '髋关节', '侧位', '髋关节侧位', 80,
'髋关节侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_10_3_1', 'STD_DR_5_2_10_3', 'DR_HIP_LAT_5_2_10_3_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_10_3_2', 'STD_DR_5_2_10_3', 'DR_HIP_LAT_5_2_10_3_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_10_3_3', 'STD_DR_5_2_10_3', 'DR_HIP_LAT_5_2_10_3_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_10_3_4', 'STD_DR_5_2_10_3', 'DR_HIP_LAT_5_2_10_3_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_10_3_5', 'STD_DR_5_2_10_3', 'DR_HIP_LAT_5_2_10_3_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_10_3_6', 'STD_DR_5_2_10_3', 'DR_HIP_LAT_5_2_10_3_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_10_3_7', 'STD_DR_5_2_10_3', 'DR_HIP_LAT_5_2_10_3_7', 12.00, 1, 7, 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
('DR_SHOULDER_L_PA_5_2_11_1_1', 'DR_SHOULDER_L_PA_5_2_11_1_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_SHOULDER_L_PA_5_2_11_1_2', 'DR_SHOULDER_L_PA_5_2_11_1_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_SHOULDER_L_PA_5_2_11_1_3', 'DR_SHOULDER_L_PA_5_2_11_1_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_SHOULDER_L_PA_5_2_11_1_4', 'DR_SHOULDER_L_PA_5_2_11_1_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_SHOULDER_L_PA_5_2_11_1_5', 'DR_SHOULDER_L_PA_5_2_11_1_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_SHOULDER_L_PA_5_2_11_1_6', 'DR_SHOULDER_L_PA_5_2_11_1_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_SHOULDER_L_PA_5_2_11_1_7', 'DR_SHOULDER_L_PA_5_2_11_1_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_11_1', 'DR_5_2_11_1', '左肩关节正位质控标准', 'DR', '肩关节', '正位', '左肩关节正位', 80,
'左肩关节正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_11_1_1', 'STD_DR_5_2_11_1', 'DR_SHOULDER_L_PA_5_2_11_1_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_11_1_2', 'STD_DR_5_2_11_1', 'DR_SHOULDER_L_PA_5_2_11_1_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_11_1_3', 'STD_DR_5_2_11_1', 'DR_SHOULDER_L_PA_5_2_11_1_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_11_1_4', 'STD_DR_5_2_11_1', 'DR_SHOULDER_L_PA_5_2_11_1_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_11_1_5', 'STD_DR_5_2_11_1', 'DR_SHOULDER_L_PA_5_2_11_1_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_11_1_6', 'STD_DR_5_2_11_1', 'DR_SHOULDER_L_PA_5_2_11_1_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_11_1_7', 'STD_DR_5_2_11_1', 'DR_SHOULDER_L_PA_5_2_11_1_7', 12.00, 1, 7, 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
('DR_SHOULDER_R_PA_5_2_11_2_1', 'DR_SHOULDER_R_PA_5_2_11_2_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_SHOULDER_R_PA_5_2_11_2_2', 'DR_SHOULDER_R_PA_5_2_11_2_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_SHOULDER_R_PA_5_2_11_2_3', 'DR_SHOULDER_R_PA_5_2_11_2_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_SHOULDER_R_PA_5_2_11_2_4', 'DR_SHOULDER_R_PA_5_2_11_2_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_SHOULDER_R_PA_5_2_11_2_5', 'DR_SHOULDER_R_PA_5_2_11_2_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_SHOULDER_R_PA_5_2_11_2_6', 'DR_SHOULDER_R_PA_5_2_11_2_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_SHOULDER_R_PA_5_2_11_2_7', 'DR_SHOULDER_R_PA_5_2_11_2_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_11_2', 'DR_5_2_11_2', '右肩关节正位质控标准', 'DR', '肩关节', '正位', '右肩关节正位', 80,
'右肩关节正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_11_2_1', 'STD_DR_5_2_11_2', 'DR_SHOULDER_R_PA_5_2_11_2_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_11_2_2', 'STD_DR_5_2_11_2', 'DR_SHOULDER_R_PA_5_2_11_2_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_11_2_3', 'STD_DR_5_2_11_2', 'DR_SHOULDER_R_PA_5_2_11_2_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_11_2_4', 'STD_DR_5_2_11_2', 'DR_SHOULDER_R_PA_5_2_11_2_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_11_2_5', 'STD_DR_5_2_11_2', 'DR_SHOULDER_R_PA_5_2_11_2_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_11_2_6', 'STD_DR_5_2_11_2', 'DR_SHOULDER_R_PA_5_2_11_2_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_11_2_7', 'STD_DR_5_2_11_2', 'DR_SHOULDER_R_PA_5_2_11_2_7', 12.00, 1, 7, 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
('DR_SHOULDER_LAT_5_2_11_3_1', 'DR_SHOULDER_LAT_5_2_11_3_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_SHOULDER_LAT_5_2_11_3_2', 'DR_SHOULDER_LAT_5_2_11_3_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_SHOULDER_LAT_5_2_11_3_3', 'DR_SHOULDER_LAT_5_2_11_3_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_SHOULDER_LAT_5_2_11_3_4', 'DR_SHOULDER_LAT_5_2_11_3_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_SHOULDER_LAT_5_2_11_3_5', 'DR_SHOULDER_LAT_5_2_11_3_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_SHOULDER_LAT_5_2_11_3_6', 'DR_SHOULDER_LAT_5_2_11_3_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_SHOULDER_LAT_5_2_11_3_7', 'DR_SHOULDER_LAT_5_2_11_3_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_11_3', 'DR_5_2_11_3', '肩关节侧位质控标准', 'DR', '肩关节', '侧位', '肩关节侧位', 80,
'肩关节侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_11_3_1', 'STD_DR_5_2_11_3', 'DR_SHOULDER_LAT_5_2_11_3_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_11_3_2', 'STD_DR_5_2_11_3', 'DR_SHOULDER_LAT_5_2_11_3_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_11_3_3', 'STD_DR_5_2_11_3', 'DR_SHOULDER_LAT_5_2_11_3_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_11_3_4', 'STD_DR_5_2_11_3', 'DR_SHOULDER_LAT_5_2_11_3_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_11_3_5', 'STD_DR_5_2_11_3', 'DR_SHOULDER_LAT_5_2_11_3_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_11_3_6', 'STD_DR_5_2_11_3', 'DR_SHOULDER_LAT_5_2_11_3_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_11_3_7', 'STD_DR_5_2_11_3', 'DR_SHOULDER_LAT_5_2_11_3_7', 12.00, 1, 7, 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
('DR_SHOULDER_TRANSTHOR_5_2_11_4_1', 'DR_SHOULDER_TRANSTHOR_5_2_11_4_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_SHOULDER_TRANSTHOR_5_2_11_4_2', 'DR_SHOULDER_TRANSTHOR_5_2_11_4_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_SHOULDER_TRANSTHOR_5_2_11_4_3', 'DR_SHOULDER_TRANSTHOR_5_2_11_4_3', '摄影体位', 5, 'boolean',
'穿胸位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_SHOULDER_TRANSTHOR_5_2_11_4_4', 'DR_SHOULDER_TRANSTHOR_5_2_11_4_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_SHOULDER_TRANSTHOR_5_2_11_4_5', 'DR_SHOULDER_TRANSTHOR_5_2_11_4_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_SHOULDER_TRANSTHOR_5_2_11_4_6', 'DR_SHOULDER_TRANSTHOR_5_2_11_4_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_SHOULDER_TRANSTHOR_5_2_11_4_7', 'DR_SHOULDER_TRANSTHOR_5_2_11_4_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_11_4', 'DR_5_2_11_4', '肩关节穿胸位质控标准', 'DR', '肩关节', '穿胸位', '肩关节穿胸位', 80,
'肩关节穿胸位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_11_4_1', 'STD_DR_5_2_11_4', 'DR_SHOULDER_TRANSTHOR_5_2_11_4_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_11_4_2', 'STD_DR_5_2_11_4', 'DR_SHOULDER_TRANSTHOR_5_2_11_4_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_11_4_3', 'STD_DR_5_2_11_4', 'DR_SHOULDER_TRANSTHOR_5_2_11_4_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_11_4_4', 'STD_DR_5_2_11_4', 'DR_SHOULDER_TRANSTHOR_5_2_11_4_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_11_4_5', 'STD_DR_5_2_11_4', 'DR_SHOULDER_TRANSTHOR_5_2_11_4_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_11_4_6', 'STD_DR_5_2_11_4', 'DR_SHOULDER_TRANSTHOR_5_2_11_4_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_11_4_7', 'STD_DR_5_2_11_4', 'DR_SHOULDER_TRANSTHOR_5_2_11_4_7', 12.00, 1, 7, 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
('DR_SHOULDER_AXILLARY_5_2_11_5_1', 'DR_SHOULDER_AXILLARY_5_2_11_5_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_SHOULDER_AXILLARY_5_2_11_5_2', 'DR_SHOULDER_AXILLARY_5_2_11_5_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_SHOULDER_AXILLARY_5_2_11_5_3', 'DR_SHOULDER_AXILLARY_5_2_11_5_3', '摄影体位', 5, 'boolean',
'腋位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_SHOULDER_AXILLARY_5_2_11_5_4', 'DR_SHOULDER_AXILLARY_5_2_11_5_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_SHOULDER_AXILLARY_5_2_11_5_5', 'DR_SHOULDER_AXILLARY_5_2_11_5_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_SHOULDER_AXILLARY_5_2_11_5_6', 'DR_SHOULDER_AXILLARY_5_2_11_5_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_SHOULDER_AXILLARY_5_2_11_5_7', 'DR_SHOULDER_AXILLARY_5_2_11_5_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_11_5', 'DR_5_2_11_5', '肩关节腋位质控标准', 'DR', '肩关节', '腋位', '肩关节腋位', 80,
'肩关节腋位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_11_5_1', 'STD_DR_5_2_11_5', 'DR_SHOULDER_AXILLARY_5_2_11_5_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_11_5_2', 'STD_DR_5_2_11_5', 'DR_SHOULDER_AXILLARY_5_2_11_5_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_11_5_3', 'STD_DR_5_2_11_5', 'DR_SHOULDER_AXILLARY_5_2_11_5_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_11_5_4', 'STD_DR_5_2_11_5', 'DR_SHOULDER_AXILLARY_5_2_11_5_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_11_5_5', 'STD_DR_5_2_11_5', 'DR_SHOULDER_AXILLARY_5_2_11_5_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_11_5_6', 'STD_DR_5_2_11_5', 'DR_SHOULDER_AXILLARY_5_2_11_5_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_11_5_7', 'STD_DR_5_2_11_5', 'DR_SHOULDER_AXILLARY_5_2_11_5_7', 12.00, 1, 7, 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
('DR_SHOULDER_Y_5_2_11_6_1', 'DR_SHOULDER_Y_5_2_11_6_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_SHOULDER_Y_5_2_11_6_2', 'DR_SHOULDER_Y_5_2_11_6_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_SHOULDER_Y_5_2_11_6_3', 'DR_SHOULDER_Y_5_2_11_6_3', '摄影体位', 5, 'boolean',
'Y形位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": true}, "isVeto": false, "description": "Y形位，摄影准确，无失真变形"}',
'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
('DR_SHOULDER_Y_5_2_11_6_4', 'DR_SHOULDER_Y_5_2_11_6_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_SHOULDER_Y_5_2_11_6_5', 'DR_SHOULDER_Y_5_2_11_6_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_SHOULDER_Y_5_2_11_6_6', 'DR_SHOULDER_Y_5_2_11_6_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_SHOULDER_Y_5_2_11_6_7', 'DR_SHOULDER_Y_5_2_11_6_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_11_6', 'DR_5_2_11_6', '肩关节Y形位质控标准', 'DR', '肩关节', 'Y形位', '肩关节Y形位', 80,
'肩关节Y形位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_11_6_1', 'STD_DR_5_2_11_6', 'DR_SHOULDER_Y_5_2_11_6_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_11_6_2', 'STD_DR_5_2_11_6', 'DR_SHOULDER_Y_5_2_11_6_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_11_6_3', 'STD_DR_5_2_11_6', 'DR_SHOULDER_Y_5_2_11_6_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_11_6_4', 'STD_DR_5_2_11_6', 'DR_SHOULDER_Y_5_2_11_6_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_11_6_5', 'STD_DR_5_2_11_6', 'DR_SHOULDER_Y_5_2_11_6_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_11_6_6', 'STD_DR_5_2_11_6', 'DR_SHOULDER_Y_5_2_11_6_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_11_6_7', 'STD_DR_5_2_11_6', 'DR_SHOULDER_Y_5_2_11_6_7', 12.00, 1, 7, 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
('DR_SCAPULA_L_PA_5_2_12_1_1', 'DR_SCAPULA_L_PA_5_2_12_1_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_SCAPULA_L_PA_5_2_12_1_2', 'DR_SCAPULA_L_PA_5_2_12_1_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_SCAPULA_L_PA_5_2_12_1_3', 'DR_SCAPULA_L_PA_5_2_12_1_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_SCAPULA_L_PA_5_2_12_1_4', 'DR_SCAPULA_L_PA_5_2_12_1_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_SCAPULA_L_PA_5_2_12_1_5', 'DR_SCAPULA_L_PA_5_2_12_1_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_SCAPULA_L_PA_5_2_12_1_6', 'DR_SCAPULA_L_PA_5_2_12_1_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_SCAPULA_L_PA_5_2_12_1_7', 'DR_SCAPULA_L_PA_5_2_12_1_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_12_1', 'DR_5_2_12_1', '左肩胛骨正位质控标准', 'DR', '肩胛骨', '正位', '左肩胛骨正位', 80,
'左肩胛骨正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_12_1_1', 'STD_DR_5_2_12_1', 'DR_SCAPULA_L_PA_5_2_12_1_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_12_1_2', 'STD_DR_5_2_12_1', 'DR_SCAPULA_L_PA_5_2_12_1_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_12_1_3', 'STD_DR_5_2_12_1', 'DR_SCAPULA_L_PA_5_2_12_1_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_12_1_4', 'STD_DR_5_2_12_1', 'DR_SCAPULA_L_PA_5_2_12_1_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_12_1_5', 'STD_DR_5_2_12_1', 'DR_SCAPULA_L_PA_5_2_12_1_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_12_1_6', 'STD_DR_5_2_12_1', 'DR_SCAPULA_L_PA_5_2_12_1_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_12_1_7', 'STD_DR_5_2_12_1', 'DR_SCAPULA_L_PA_5_2_12_1_7', 12.00, 1, 7, 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
('DR_SCAPULA_R_PA_5_2_12_2_1', 'DR_SCAPULA_R_PA_5_2_12_2_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_SCAPULA_R_PA_5_2_12_2_2', 'DR_SCAPULA_R_PA_5_2_12_2_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_SCAPULA_R_PA_5_2_12_2_3', 'DR_SCAPULA_R_PA_5_2_12_2_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_SCAPULA_R_PA_5_2_12_2_4', 'DR_SCAPULA_R_PA_5_2_12_2_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_SCAPULA_R_PA_5_2_12_2_5', 'DR_SCAPULA_R_PA_5_2_12_2_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_SCAPULA_R_PA_5_2_12_2_6', 'DR_SCAPULA_R_PA_5_2_12_2_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_SCAPULA_R_PA_5_2_12_2_7', 'DR_SCAPULA_R_PA_5_2_12_2_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_12_2', 'DR_5_2_12_2', '右肩胛骨正位质控标准', 'DR', '肩胛骨', '正位', '右肩胛骨正位', 80,
'右肩胛骨正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_12_2_1', 'STD_DR_5_2_12_2', 'DR_SCAPULA_R_PA_5_2_12_2_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_12_2_2', 'STD_DR_5_2_12_2', 'DR_SCAPULA_R_PA_5_2_12_2_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_12_2_3', 'STD_DR_5_2_12_2', 'DR_SCAPULA_R_PA_5_2_12_2_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_12_2_4', 'STD_DR_5_2_12_2', 'DR_SCAPULA_R_PA_5_2_12_2_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_12_2_5', 'STD_DR_5_2_12_2', 'DR_SCAPULA_R_PA_5_2_12_2_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_12_2_6', 'STD_DR_5_2_12_2', 'DR_SCAPULA_R_PA_5_2_12_2_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_12_2_7', 'STD_DR_5_2_12_2', 'DR_SCAPULA_R_PA_5_2_12_2_7', 12.00, 1, 7, 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
('DR_SCAPULA_LAT_5_2_12_3_1', 'DR_SCAPULA_LAT_5_2_12_3_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_SCAPULA_LAT_5_2_12_3_2', 'DR_SCAPULA_LAT_5_2_12_3_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_SCAPULA_LAT_5_2_12_3_3', 'DR_SCAPULA_LAT_5_2_12_3_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_SCAPULA_LAT_5_2_12_3_4', 'DR_SCAPULA_LAT_5_2_12_3_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_SCAPULA_LAT_5_2_12_3_5', 'DR_SCAPULA_LAT_5_2_12_3_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_SCAPULA_LAT_5_2_12_3_6', 'DR_SCAPULA_LAT_5_2_12_3_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_SCAPULA_LAT_5_2_12_3_7', 'DR_SCAPULA_LAT_5_2_12_3_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_12_3', 'DR_5_2_12_3', '肩胛骨侧位质控标准', 'DR', '肩胛骨', '侧位', '肩胛骨侧位', 80,
'肩胛骨侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_12_3_1', 'STD_DR_5_2_12_3', 'DR_SCAPULA_LAT_5_2_12_3_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_12_3_2', 'STD_DR_5_2_12_3', 'DR_SCAPULA_LAT_5_2_12_3_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_12_3_3', 'STD_DR_5_2_12_3', 'DR_SCAPULA_LAT_5_2_12_3_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_12_3_4', 'STD_DR_5_2_12_3', 'DR_SCAPULA_LAT_5_2_12_3_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_12_3_5', 'STD_DR_5_2_12_3', 'DR_SCAPULA_LAT_5_2_12_3_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_12_3_6', 'STD_DR_5_2_12_3', 'DR_SCAPULA_LAT_5_2_12_3_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_12_3_7', 'STD_DR_5_2_12_3', 'DR_SCAPULA_LAT_5_2_12_3_7', 12.00, 1, 7, 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
('DR_SCAPULA_L_PA_5_2_12_4_1', 'DR_SCAPULA_L_PA_5_2_12_4_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_SCAPULA_L_PA_5_2_12_4_2', 'DR_SCAPULA_L_PA_5_2_12_4_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_SCAPULA_L_PA_5_2_12_4_3', 'DR_SCAPULA_L_PA_5_2_12_4_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_SCAPULA_L_PA_5_2_12_4_4', 'DR_SCAPULA_L_PA_5_2_12_4_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_SCAPULA_L_PA_5_2_12_4_5', 'DR_SCAPULA_L_PA_5_2_12_4_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_SCAPULA_L_PA_5_2_12_4_6', 'DR_SCAPULA_L_PA_5_2_12_4_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_SCAPULA_L_PA_5_2_12_4_7', 'DR_SCAPULA_L_PA_5_2_12_4_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_12_4', 'DR_5_2_12_4', '左肩胛骨正位B质控标准', 'DR', '肩胛骨', '正位', '左肩胛骨正位B', 80,
'左肩胛骨正位B质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_12_4_1', 'STD_DR_5_2_12_4', 'DR_SCAPULA_L_PA_5_2_12_4_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_12_4_2', 'STD_DR_5_2_12_4', 'DR_SCAPULA_L_PA_5_2_12_4_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_12_4_3', 'STD_DR_5_2_12_4', 'DR_SCAPULA_L_PA_5_2_12_4_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_12_4_4', 'STD_DR_5_2_12_4', 'DR_SCAPULA_L_PA_5_2_12_4_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_12_4_5', 'STD_DR_5_2_12_4', 'DR_SCAPULA_L_PA_5_2_12_4_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_12_4_6', 'STD_DR_5_2_12_4', 'DR_SCAPULA_L_PA_5_2_12_4_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_12_4_7', 'STD_DR_5_2_12_4', 'DR_SCAPULA_L_PA_5_2_12_4_7', 12.00, 1, 7, 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
('DR_SCAPULA_R_PA_5_2_12_5_1', 'DR_SCAPULA_R_PA_5_2_12_5_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_SCAPULA_R_PA_5_2_12_5_2', 'DR_SCAPULA_R_PA_5_2_12_5_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_SCAPULA_R_PA_5_2_12_5_3', 'DR_SCAPULA_R_PA_5_2_12_5_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_SCAPULA_R_PA_5_2_12_5_4', 'DR_SCAPULA_R_PA_5_2_12_5_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_SCAPULA_R_PA_5_2_12_5_5', 'DR_SCAPULA_R_PA_5_2_12_5_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_SCAPULA_R_PA_5_2_12_5_6', 'DR_SCAPULA_R_PA_5_2_12_5_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_SCAPULA_R_PA_5_2_12_5_7', 'DR_SCAPULA_R_PA_5_2_12_5_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_12_5', 'DR_5_2_12_5', '右肩胛骨正位B质控标准', 'DR', '肩胛骨', '正位', '右肩胛骨正位B', 80,
'右肩胛骨正位B质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_12_5_1', 'STD_DR_5_2_12_5', 'DR_SCAPULA_R_PA_5_2_12_5_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_12_5_2', 'STD_DR_5_2_12_5', 'DR_SCAPULA_R_PA_5_2_12_5_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_12_5_3', 'STD_DR_5_2_12_5', 'DR_SCAPULA_R_PA_5_2_12_5_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_12_5_4', 'STD_DR_5_2_12_5', 'DR_SCAPULA_R_PA_5_2_12_5_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_12_5_5', 'STD_DR_5_2_12_5', 'DR_SCAPULA_R_PA_5_2_12_5_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_12_5_6', 'STD_DR_5_2_12_5', 'DR_SCAPULA_R_PA_5_2_12_5_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_12_5_7', 'STD_DR_5_2_12_5', 'DR_SCAPULA_R_PA_5_2_12_5_7', 12.00, 1, 7, 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
('DR_SCAPULA_Y_LAT_5_2_12_6_1', 'DR_SCAPULA_Y_LAT_5_2_12_6_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_SCAPULA_Y_LAT_5_2_12_6_2', 'DR_SCAPULA_Y_LAT_5_2_12_6_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_SCAPULA_Y_LAT_5_2_12_6_3', 'DR_SCAPULA_Y_LAT_5_2_12_6_3', '摄影体位', 5, 'boolean',
'Y形侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": true}, "isVeto": false, "description": "Y形侧位，摄影准确，无失真变形"}',
'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
('DR_SCAPULA_Y_LAT_5_2_12_6_4', 'DR_SCAPULA_Y_LAT_5_2_12_6_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_SCAPULA_Y_LAT_5_2_12_6_5', 'DR_SCAPULA_Y_LAT_5_2_12_6_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_SCAPULA_Y_LAT_5_2_12_6_6', 'DR_SCAPULA_Y_LAT_5_2_12_6_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_SCAPULA_Y_LAT_5_2_12_6_7', 'DR_SCAPULA_Y_LAT_5_2_12_6_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_12_6', 'DR_5_2_12_6', '肩胛骨Y形侧位质控标准', 'DR', '肩胛骨', 'Y形侧位', '肩胛骨Y形侧位', 80,
'肩胛骨Y形侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_12_6_1', 'STD_DR_5_2_12_6', 'DR_SCAPULA_Y_LAT_5_2_12_6_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_12_6_2', 'STD_DR_5_2_12_6', 'DR_SCAPULA_Y_LAT_5_2_12_6_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_12_6_3', 'STD_DR_5_2_12_6', 'DR_SCAPULA_Y_LAT_5_2_12_6_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_12_6_4', 'STD_DR_5_2_12_6', 'DR_SCAPULA_Y_LAT_5_2_12_6_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_12_6_5', 'STD_DR_5_2_12_6', 'DR_SCAPULA_Y_LAT_5_2_12_6_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_12_6_6', 'STD_DR_5_2_12_6', 'DR_SCAPULA_Y_LAT_5_2_12_6_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_12_6_7', 'STD_DR_5_2_12_6', 'DR_SCAPULA_Y_LAT_5_2_12_6_7', 12.00, 1, 7, 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
('DR_HUMERUS_L_PA_5_2_13_1_1', 'DR_HUMERUS_L_PA_5_2_13_1_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_HUMERUS_L_PA_5_2_13_1_2', 'DR_HUMERUS_L_PA_5_2_13_1_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_HUMERUS_L_PA_5_2_13_1_3', 'DR_HUMERUS_L_PA_5_2_13_1_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_HUMERUS_L_PA_5_2_13_1_4', 'DR_HUMERUS_L_PA_5_2_13_1_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_HUMERUS_L_PA_5_2_13_1_5', 'DR_HUMERUS_L_PA_5_2_13_1_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_HUMERUS_L_PA_5_2_13_1_6', 'DR_HUMERUS_L_PA_5_2_13_1_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_HUMERUS_L_PA_5_2_13_1_7', 'DR_HUMERUS_L_PA_5_2_13_1_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_13_1', 'DR_5_2_13_1', '左肱骨正位质控标准', 'DR', '肱骨', '正位', '左肱骨正位', 80,
'左肱骨正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_13_1_1', 'STD_DR_5_2_13_1', 'DR_HUMERUS_L_PA_5_2_13_1_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_13_1_2', 'STD_DR_5_2_13_1', 'DR_HUMERUS_L_PA_5_2_13_1_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_13_1_3', 'STD_DR_5_2_13_1', 'DR_HUMERUS_L_PA_5_2_13_1_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_13_1_4', 'STD_DR_5_2_13_1', 'DR_HUMERUS_L_PA_5_2_13_1_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_13_1_5', 'STD_DR_5_2_13_1', 'DR_HUMERUS_L_PA_5_2_13_1_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_13_1_6', 'STD_DR_5_2_13_1', 'DR_HUMERUS_L_PA_5_2_13_1_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_13_1_7', 'STD_DR_5_2_13_1', 'DR_HUMERUS_L_PA_5_2_13_1_7', 12.00, 1, 7, 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
('DR_HUMERUS_R_PA_5_2_13_2_1', 'DR_HUMERUS_R_PA_5_2_13_2_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_HUMERUS_R_PA_5_2_13_2_2', 'DR_HUMERUS_R_PA_5_2_13_2_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_HUMERUS_R_PA_5_2_13_2_3', 'DR_HUMERUS_R_PA_5_2_13_2_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_HUMERUS_R_PA_5_2_13_2_4', 'DR_HUMERUS_R_PA_5_2_13_2_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_HUMERUS_R_PA_5_2_13_2_5', 'DR_HUMERUS_R_PA_5_2_13_2_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_HUMERUS_R_PA_5_2_13_2_6', 'DR_HUMERUS_R_PA_5_2_13_2_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_HUMERUS_R_PA_5_2_13_2_7', 'DR_HUMERUS_R_PA_5_2_13_2_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_13_2', 'DR_5_2_13_2', '右肱骨正位质控标准', 'DR', '肱骨', '正位', '右肱骨正位', 80,
'右肱骨正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_13_2_1', 'STD_DR_5_2_13_2', 'DR_HUMERUS_R_PA_5_2_13_2_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_13_2_2', 'STD_DR_5_2_13_2', 'DR_HUMERUS_R_PA_5_2_13_2_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_13_2_3', 'STD_DR_5_2_13_2', 'DR_HUMERUS_R_PA_5_2_13_2_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_13_2_4', 'STD_DR_5_2_13_2', 'DR_HUMERUS_R_PA_5_2_13_2_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_13_2_5', 'STD_DR_5_2_13_2', 'DR_HUMERUS_R_PA_5_2_13_2_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_13_2_6', 'STD_DR_5_2_13_2', 'DR_HUMERUS_R_PA_5_2_13_2_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_13_2_7', 'STD_DR_5_2_13_2', 'DR_HUMERUS_R_PA_5_2_13_2_7', 12.00, 1, 7, 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
('DR_HUMERUS_L_LAT_5_2_13_3_1', 'DR_HUMERUS_L_LAT_5_2_13_3_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_HUMERUS_L_LAT_5_2_13_3_2', 'DR_HUMERUS_L_LAT_5_2_13_3_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_HUMERUS_L_LAT_5_2_13_3_3', 'DR_HUMERUS_L_LAT_5_2_13_3_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_HUMERUS_L_LAT_5_2_13_3_4', 'DR_HUMERUS_L_LAT_5_2_13_3_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_HUMERUS_L_LAT_5_2_13_3_5', 'DR_HUMERUS_L_LAT_5_2_13_3_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_HUMERUS_L_LAT_5_2_13_3_6', 'DR_HUMERUS_L_LAT_5_2_13_3_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_HUMERUS_L_LAT_5_2_13_3_7', 'DR_HUMERUS_L_LAT_5_2_13_3_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_13_3', 'DR_5_2_13_3', '左肱骨侧位质控标准', 'DR', '肱骨', '侧位', '左肱骨侧位', 80,
'左肱骨侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_13_3_1', 'STD_DR_5_2_13_3', 'DR_HUMERUS_L_LAT_5_2_13_3_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_13_3_2', 'STD_DR_5_2_13_3', 'DR_HUMERUS_L_LAT_5_2_13_3_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_13_3_3', 'STD_DR_5_2_13_3', 'DR_HUMERUS_L_LAT_5_2_13_3_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_13_3_4', 'STD_DR_5_2_13_3', 'DR_HUMERUS_L_LAT_5_2_13_3_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_13_3_5', 'STD_DR_5_2_13_3', 'DR_HUMERUS_L_LAT_5_2_13_3_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_13_3_6', 'STD_DR_5_2_13_3', 'DR_HUMERUS_L_LAT_5_2_13_3_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_13_3_7', 'STD_DR_5_2_13_3', 'DR_HUMERUS_L_LAT_5_2_13_3_7', 12.00, 1, 7, 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
('DR_HUMERUS_R_LAT_5_2_13_4_1', 'DR_HUMERUS_R_LAT_5_2_13_4_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_HUMERUS_R_LAT_5_2_13_4_2', 'DR_HUMERUS_R_LAT_5_2_13_4_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_HUMERUS_R_LAT_5_2_13_4_3', 'DR_HUMERUS_R_LAT_5_2_13_4_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_HUMERUS_R_LAT_5_2_13_4_4', 'DR_HUMERUS_R_LAT_5_2_13_4_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_HUMERUS_R_LAT_5_2_13_4_5', 'DR_HUMERUS_R_LAT_5_2_13_4_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_HUMERUS_R_LAT_5_2_13_4_6', 'DR_HUMERUS_R_LAT_5_2_13_4_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_HUMERUS_R_LAT_5_2_13_4_7', 'DR_HUMERUS_R_LAT_5_2_13_4_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_13_4', 'DR_5_2_13_4', '右肱骨侧位质控标准', 'DR', '肱骨', '侧位', '右肱骨侧位', 80,
'右肱骨侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_13_4_1', 'STD_DR_5_2_13_4', 'DR_HUMERUS_R_LAT_5_2_13_4_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_13_4_2', 'STD_DR_5_2_13_4', 'DR_HUMERUS_R_LAT_5_2_13_4_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_13_4_3', 'STD_DR_5_2_13_4', 'DR_HUMERUS_R_LAT_5_2_13_4_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_13_4_4', 'STD_DR_5_2_13_4', 'DR_HUMERUS_R_LAT_5_2_13_4_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_13_4_5', 'STD_DR_5_2_13_4', 'DR_HUMERUS_R_LAT_5_2_13_4_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_13_4_6', 'STD_DR_5_2_13_4', 'DR_HUMERUS_R_LAT_5_2_13_4_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_13_4_7', 'STD_DR_5_2_13_4', 'DR_HUMERUS_R_LAT_5_2_13_4_7', 12.00, 1, 7, 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
('DR_ELBOW_L_PA_5_2_14_1_1', 'DR_ELBOW_L_PA_5_2_14_1_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_ELBOW_L_PA_5_2_14_1_2', 'DR_ELBOW_L_PA_5_2_14_1_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_ELBOW_L_PA_5_2_14_1_3', 'DR_ELBOW_L_PA_5_2_14_1_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_ELBOW_L_PA_5_2_14_1_4', 'DR_ELBOW_L_PA_5_2_14_1_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_ELBOW_L_PA_5_2_14_1_5', 'DR_ELBOW_L_PA_5_2_14_1_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_ELBOW_L_PA_5_2_14_1_6', 'DR_ELBOW_L_PA_5_2_14_1_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_ELBOW_L_PA_5_2_14_1_7', 'DR_ELBOW_L_PA_5_2_14_1_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_14_1', 'DR_5_2_14_1', '左肘关节正位质控标准', 'DR', '肘关节', '正位', '左肘关节正位', 80,
'左肘关节正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_14_1_1', 'STD_DR_5_2_14_1', 'DR_ELBOW_L_PA_5_2_14_1_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_14_1_2', 'STD_DR_5_2_14_1', 'DR_ELBOW_L_PA_5_2_14_1_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_14_1_3', 'STD_DR_5_2_14_1', 'DR_ELBOW_L_PA_5_2_14_1_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_14_1_4', 'STD_DR_5_2_14_1', 'DR_ELBOW_L_PA_5_2_14_1_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_14_1_5', 'STD_DR_5_2_14_1', 'DR_ELBOW_L_PA_5_2_14_1_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_14_1_6', 'STD_DR_5_2_14_1', 'DR_ELBOW_L_PA_5_2_14_1_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_14_1_7', 'STD_DR_5_2_14_1', 'DR_ELBOW_L_PA_5_2_14_1_7', 12.00, 1, 7, 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
('DR_ELBOW_R_PA_5_2_14_2_1', 'DR_ELBOW_R_PA_5_2_14_2_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_ELBOW_R_PA_5_2_14_2_2', 'DR_ELBOW_R_PA_5_2_14_2_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_ELBOW_R_PA_5_2_14_2_3', 'DR_ELBOW_R_PA_5_2_14_2_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_ELBOW_R_PA_5_2_14_2_4', 'DR_ELBOW_R_PA_5_2_14_2_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_ELBOW_R_PA_5_2_14_2_5', 'DR_ELBOW_R_PA_5_2_14_2_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_ELBOW_R_PA_5_2_14_2_6', 'DR_ELBOW_R_PA_5_2_14_2_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_ELBOW_R_PA_5_2_14_2_7', 'DR_ELBOW_R_PA_5_2_14_2_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_14_2', 'DR_5_2_14_2', '右肘关节正位质控标准', 'DR', '肘关节', '正位', '右肘关节正位', 80,
'右肘关节正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_14_2_1', 'STD_DR_5_2_14_2', 'DR_ELBOW_R_PA_5_2_14_2_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_14_2_2', 'STD_DR_5_2_14_2', 'DR_ELBOW_R_PA_5_2_14_2_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_14_2_3', 'STD_DR_5_2_14_2', 'DR_ELBOW_R_PA_5_2_14_2_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_14_2_4', 'STD_DR_5_2_14_2', 'DR_ELBOW_R_PA_5_2_14_2_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_14_2_5', 'STD_DR_5_2_14_2', 'DR_ELBOW_R_PA_5_2_14_2_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_14_2_6', 'STD_DR_5_2_14_2', 'DR_ELBOW_R_PA_5_2_14_2_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_14_2_7', 'STD_DR_5_2_14_2', 'DR_ELBOW_R_PA_5_2_14_2_7', 12.00, 1, 7, 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
('DR_ELBOW_L_LAT_5_2_14_3_1', 'DR_ELBOW_L_LAT_5_2_14_3_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_ELBOW_L_LAT_5_2_14_3_2', 'DR_ELBOW_L_LAT_5_2_14_3_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_ELBOW_L_LAT_5_2_14_3_3', 'DR_ELBOW_L_LAT_5_2_14_3_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_ELBOW_L_LAT_5_2_14_3_4', 'DR_ELBOW_L_LAT_5_2_14_3_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_ELBOW_L_LAT_5_2_14_3_5', 'DR_ELBOW_L_LAT_5_2_14_3_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_ELBOW_L_LAT_5_2_14_3_6', 'DR_ELBOW_L_LAT_5_2_14_3_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_ELBOW_L_LAT_5_2_14_3_7', 'DR_ELBOW_L_LAT_5_2_14_3_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_14_3', 'DR_5_2_14_3', '左肘关节侧位质控标准', 'DR', '肘关节', '侧位', '左肘关节侧位', 80,
'左肘关节侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_14_3_1', 'STD_DR_5_2_14_3', 'DR_ELBOW_L_LAT_5_2_14_3_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_14_3_2', 'STD_DR_5_2_14_3', 'DR_ELBOW_L_LAT_5_2_14_3_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_14_3_3', 'STD_DR_5_2_14_3', 'DR_ELBOW_L_LAT_5_2_14_3_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_14_3_4', 'STD_DR_5_2_14_3', 'DR_ELBOW_L_LAT_5_2_14_3_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_14_3_5', 'STD_DR_5_2_14_3', 'DR_ELBOW_L_LAT_5_2_14_3_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_14_3_6', 'STD_DR_5_2_14_3', 'DR_ELBOW_L_LAT_5_2_14_3_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_14_3_7', 'STD_DR_5_2_14_3', 'DR_ELBOW_L_LAT_5_2_14_3_7', 12.00, 1, 7, 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
('DR_ELBOW_R_LAT_5_2_14_4_1', 'DR_ELBOW_R_LAT_5_2_14_4_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_ELBOW_R_LAT_5_2_14_4_2', 'DR_ELBOW_R_LAT_5_2_14_4_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_ELBOW_R_LAT_5_2_14_4_3', 'DR_ELBOW_R_LAT_5_2_14_4_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_ELBOW_R_LAT_5_2_14_4_4', 'DR_ELBOW_R_LAT_5_2_14_4_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_ELBOW_R_LAT_5_2_14_4_5', 'DR_ELBOW_R_LAT_5_2_14_4_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_ELBOW_R_LAT_5_2_14_4_6', 'DR_ELBOW_R_LAT_5_2_14_4_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_ELBOW_R_LAT_5_2_14_4_7', 'DR_ELBOW_R_LAT_5_2_14_4_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_14_4', 'DR_5_2_14_4', '右肘关节侧位质控标准', 'DR', '肘关节', '侧位', '右肘关节侧位', 80,
'右肘关节侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_14_4_1', 'STD_DR_5_2_14_4', 'DR_ELBOW_R_LAT_5_2_14_4_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_14_4_2', 'STD_DR_5_2_14_4', 'DR_ELBOW_R_LAT_5_2_14_4_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_14_4_3', 'STD_DR_5_2_14_4', 'DR_ELBOW_R_LAT_5_2_14_4_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_14_4_4', 'STD_DR_5_2_14_4', 'DR_ELBOW_R_LAT_5_2_14_4_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_14_4_5', 'STD_DR_5_2_14_4', 'DR_ELBOW_R_LAT_5_2_14_4_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_14_4_6', 'STD_DR_5_2_14_4', 'DR_ELBOW_R_LAT_5_2_14_4_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_14_4_7', 'STD_DR_5_2_14_4', 'DR_ELBOW_R_LAT_5_2_14_4_7', 12.00, 1, 7, 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
('DR_KNEE_L_PA_5_2_15_1_1', 'DR_KNEE_L_PA_5_2_15_1_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_KNEE_L_PA_5_2_15_1_2', 'DR_KNEE_L_PA_5_2_15_1_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_KNEE_L_PA_5_2_15_1_3', 'DR_KNEE_L_PA_5_2_15_1_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_KNEE_L_PA_5_2_15_1_4', 'DR_KNEE_L_PA_5_2_15_1_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_KNEE_L_PA_5_2_15_1_5', 'DR_KNEE_L_PA_5_2_15_1_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_KNEE_L_PA_5_2_15_1_6', 'DR_KNEE_L_PA_5_2_15_1_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_KNEE_L_PA_5_2_15_1_7', 'DR_KNEE_L_PA_5_2_15_1_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_15_1', 'DR_5_2_15_1', '左膝关节正位质控标准', 'DR', '膝关节', '正位', '左膝关节正位', 80,
'左膝关节正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_15_1_1', 'STD_DR_5_2_15_1', 'DR_KNEE_L_PA_5_2_15_1_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_15_1_2', 'STD_DR_5_2_15_1', 'DR_KNEE_L_PA_5_2_15_1_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_15_1_3', 'STD_DR_5_2_15_1', 'DR_KNEE_L_PA_5_2_15_1_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_15_1_4', 'STD_DR_5_2_15_1', 'DR_KNEE_L_PA_5_2_15_1_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_15_1_5', 'STD_DR_5_2_15_1', 'DR_KNEE_L_PA_5_2_15_1_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_15_1_6', 'STD_DR_5_2_15_1', 'DR_KNEE_L_PA_5_2_15_1_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_15_1_7', 'STD_DR_5_2_15_1', 'DR_KNEE_L_PA_5_2_15_1_7', 12.00, 1, 7, 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
('DR_KNEE_R_PA_5_2_15_2_1', 'DR_KNEE_R_PA_5_2_15_2_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_KNEE_R_PA_5_2_15_2_2', 'DR_KNEE_R_PA_5_2_15_2_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_KNEE_R_PA_5_2_15_2_3', 'DR_KNEE_R_PA_5_2_15_2_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_KNEE_R_PA_5_2_15_2_4', 'DR_KNEE_R_PA_5_2_15_2_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_KNEE_R_PA_5_2_15_2_5', 'DR_KNEE_R_PA_5_2_15_2_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_KNEE_R_PA_5_2_15_2_6', 'DR_KNEE_R_PA_5_2_15_2_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_KNEE_R_PA_5_2_15_2_7', 'DR_KNEE_R_PA_5_2_15_2_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_15_2', 'DR_5_2_15_2', '右膝关节正位质控标准', 'DR', '膝关节', '正位', '右膝关节正位', 80,
'右膝关节正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_15_2_1', 'STD_DR_5_2_15_2', 'DR_KNEE_R_PA_5_2_15_2_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_15_2_2', 'STD_DR_5_2_15_2', 'DR_KNEE_R_PA_5_2_15_2_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_15_2_3', 'STD_DR_5_2_15_2', 'DR_KNEE_R_PA_5_2_15_2_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_15_2_4', 'STD_DR_5_2_15_2', 'DR_KNEE_R_PA_5_2_15_2_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_15_2_5', 'STD_DR_5_2_15_2', 'DR_KNEE_R_PA_5_2_15_2_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_15_2_6', 'STD_DR_5_2_15_2', 'DR_KNEE_R_PA_5_2_15_2_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_15_2_7', 'STD_DR_5_2_15_2', 'DR_KNEE_R_PA_5_2_15_2_7', 12.00, 1, 7, 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
('DR_KNEE_L_LAT_5_2_15_3_1', 'DR_KNEE_L_LAT_5_2_15_3_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_KNEE_L_LAT_5_2_15_3_2', 'DR_KNEE_L_LAT_5_2_15_3_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_KNEE_L_LAT_5_2_15_3_3', 'DR_KNEE_L_LAT_5_2_15_3_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_KNEE_L_LAT_5_2_15_3_4', 'DR_KNEE_L_LAT_5_2_15_3_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_KNEE_L_LAT_5_2_15_3_5', 'DR_KNEE_L_LAT_5_2_15_3_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_KNEE_L_LAT_5_2_15_3_6', 'DR_KNEE_L_LAT_5_2_15_3_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_KNEE_L_LAT_5_2_15_3_7', 'DR_KNEE_L_LAT_5_2_15_3_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_15_3', 'DR_5_2_15_3', '左膝关节侧位质控标准', 'DR', '膝关节', '侧位', '左膝关节侧位', 80,
'左膝关节侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_15_3_1', 'STD_DR_5_2_15_3', 'DR_KNEE_L_LAT_5_2_15_3_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_15_3_2', 'STD_DR_5_2_15_3', 'DR_KNEE_L_LAT_5_2_15_3_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_15_3_3', 'STD_DR_5_2_15_3', 'DR_KNEE_L_LAT_5_2_15_3_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_15_3_4', 'STD_DR_5_2_15_3', 'DR_KNEE_L_LAT_5_2_15_3_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_15_3_5', 'STD_DR_5_2_15_3', 'DR_KNEE_L_LAT_5_2_15_3_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_15_3_6', 'STD_DR_5_2_15_3', 'DR_KNEE_L_LAT_5_2_15_3_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_15_3_7', 'STD_DR_5_2_15_3', 'DR_KNEE_L_LAT_5_2_15_3_7', 12.00, 1, 7, 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
('DR_KNEE_R_LAT_5_2_15_4_1', 'DR_KNEE_R_LAT_5_2_15_4_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_KNEE_R_LAT_5_2_15_4_2', 'DR_KNEE_R_LAT_5_2_15_4_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_KNEE_R_LAT_5_2_15_4_3', 'DR_KNEE_R_LAT_5_2_15_4_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_KNEE_R_LAT_5_2_15_4_4', 'DR_KNEE_R_LAT_5_2_15_4_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_KNEE_R_LAT_5_2_15_4_5', 'DR_KNEE_R_LAT_5_2_15_4_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_KNEE_R_LAT_5_2_15_4_6', 'DR_KNEE_R_LAT_5_2_15_4_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_KNEE_R_LAT_5_2_15_4_7', 'DR_KNEE_R_LAT_5_2_15_4_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_15_4', 'DR_5_2_15_4', '右膝关节侧位质控标准', 'DR', '膝关节', '侧位', '右膝关节侧位', 80,
'右膝关节侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_15_4_1', 'STD_DR_5_2_15_4', 'DR_KNEE_R_LAT_5_2_15_4_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_15_4_2', 'STD_DR_5_2_15_4', 'DR_KNEE_R_LAT_5_2_15_4_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_15_4_3', 'STD_DR_5_2_15_4', 'DR_KNEE_R_LAT_5_2_15_4_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_15_4_4', 'STD_DR_5_2_15_4', 'DR_KNEE_R_LAT_5_2_15_4_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_15_4_5', 'STD_DR_5_2_15_4', 'DR_KNEE_R_LAT_5_2_15_4_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_15_4_6', 'STD_DR_5_2_15_4', 'DR_KNEE_R_LAT_5_2_15_4_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_15_4_7', 'STD_DR_5_2_15_4', 'DR_KNEE_R_LAT_5_2_15_4_7', 12.00, 1, 7, 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
('DR_PATELLA_AX_5_2_15_5_1', 'DR_PATELLA_AX_5_2_15_5_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_PATELLA_AX_5_2_15_5_2', 'DR_PATELLA_AX_5_2_15_5_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_PATELLA_AX_5_2_15_5_3', 'DR_PATELLA_AX_5_2_15_5_3', '摄影体位', 5, 'boolean',
'轴位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_PATELLA_AX_5_2_15_5_4', 'DR_PATELLA_AX_5_2_15_5_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_PATELLA_AX_5_2_15_5_5', 'DR_PATELLA_AX_5_2_15_5_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_PATELLA_AX_5_2_15_5_6', 'DR_PATELLA_AX_5_2_15_5_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_PATELLA_AX_5_2_15_5_7', 'DR_PATELLA_AX_5_2_15_5_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_15_5', 'DR_5_2_15_5', '髌骨轴位质控标准', 'DR', '膝关节', '轴位', '髌骨轴位', 80,
'髌骨轴位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_15_5_1', 'STD_DR_5_2_15_5', 'DR_PATELLA_AX_5_2_15_5_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_15_5_2', 'STD_DR_5_2_15_5', 'DR_PATELLA_AX_5_2_15_5_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_15_5_3', 'STD_DR_5_2_15_5', 'DR_PATELLA_AX_5_2_15_5_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_15_5_4', 'STD_DR_5_2_15_5', 'DR_PATELLA_AX_5_2_15_5_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_15_5_5', 'STD_DR_5_2_15_5', 'DR_PATELLA_AX_5_2_15_5_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_15_5_6', 'STD_DR_5_2_15_5', 'DR_PATELLA_AX_5_2_15_5_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_15_5_7', 'STD_DR_5_2_15_5', 'DR_PATELLA_AX_5_2_15_5_7', 12.00, 1, 7, 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
('DR_ANKLE_L_PA_5_2_16_1_1', 'DR_ANKLE_L_PA_5_2_16_1_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_ANKLE_L_PA_5_2_16_1_2', 'DR_ANKLE_L_PA_5_2_16_1_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_ANKLE_L_PA_5_2_16_1_3', 'DR_ANKLE_L_PA_5_2_16_1_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_ANKLE_L_PA_5_2_16_1_4', 'DR_ANKLE_L_PA_5_2_16_1_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_ANKLE_L_PA_5_2_16_1_5', 'DR_ANKLE_L_PA_5_2_16_1_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_ANKLE_L_PA_5_2_16_1_6', 'DR_ANKLE_L_PA_5_2_16_1_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_ANKLE_L_PA_5_2_16_1_7', 'DR_ANKLE_L_PA_5_2_16_1_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_16_1', 'DR_5_2_16_1', '左踝关节正位质控标准', 'DR', '踝关节', '正位', '左踝关节正位', 80,
'左踝关节正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_16_1_1', 'STD_DR_5_2_16_1', 'DR_ANKLE_L_PA_5_2_16_1_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_16_1_2', 'STD_DR_5_2_16_1', 'DR_ANKLE_L_PA_5_2_16_1_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_16_1_3', 'STD_DR_5_2_16_1', 'DR_ANKLE_L_PA_5_2_16_1_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_16_1_4', 'STD_DR_5_2_16_1', 'DR_ANKLE_L_PA_5_2_16_1_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_16_1_5', 'STD_DR_5_2_16_1', 'DR_ANKLE_L_PA_5_2_16_1_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_16_1_6', 'STD_DR_5_2_16_1', 'DR_ANKLE_L_PA_5_2_16_1_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_16_1_7', 'STD_DR_5_2_16_1', 'DR_ANKLE_L_PA_5_2_16_1_7', 12.00, 1, 7, 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
('DR_ANKLE_R_PA_5_2_16_2_1', 'DR_ANKLE_R_PA_5_2_16_2_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_ANKLE_R_PA_5_2_16_2_2', 'DR_ANKLE_R_PA_5_2_16_2_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_ANKLE_R_PA_5_2_16_2_3', 'DR_ANKLE_R_PA_5_2_16_2_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_ANKLE_R_PA_5_2_16_2_4', 'DR_ANKLE_R_PA_5_2_16_2_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_ANKLE_R_PA_5_2_16_2_5', 'DR_ANKLE_R_PA_5_2_16_2_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_ANKLE_R_PA_5_2_16_2_6', 'DR_ANKLE_R_PA_5_2_16_2_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_ANKLE_R_PA_5_2_16_2_7', 'DR_ANKLE_R_PA_5_2_16_2_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_16_2', 'DR_5_2_16_2', '右踝关节正位质控标准', 'DR', '踝关节', '正位', '右踝关节正位', 80,
'右踝关节正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_16_2_1', 'STD_DR_5_2_16_2', 'DR_ANKLE_R_PA_5_2_16_2_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_16_2_2', 'STD_DR_5_2_16_2', 'DR_ANKLE_R_PA_5_2_16_2_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_16_2_3', 'STD_DR_5_2_16_2', 'DR_ANKLE_R_PA_5_2_16_2_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_16_2_4', 'STD_DR_5_2_16_2', 'DR_ANKLE_R_PA_5_2_16_2_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_16_2_5', 'STD_DR_5_2_16_2', 'DR_ANKLE_R_PA_5_2_16_2_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_16_2_6', 'STD_DR_5_2_16_2', 'DR_ANKLE_R_PA_5_2_16_2_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_16_2_7', 'STD_DR_5_2_16_2', 'DR_ANKLE_R_PA_5_2_16_2_7', 12.00, 1, 7, 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
('DR_ANKLE_L_LAT_5_2_16_3_1', 'DR_ANKLE_L_LAT_5_2_16_3_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_ANKLE_L_LAT_5_2_16_3_2', 'DR_ANKLE_L_LAT_5_2_16_3_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_ANKLE_L_LAT_5_2_16_3_3', 'DR_ANKLE_L_LAT_5_2_16_3_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_ANKLE_L_LAT_5_2_16_3_4', 'DR_ANKLE_L_LAT_5_2_16_3_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_ANKLE_L_LAT_5_2_16_3_5', 'DR_ANKLE_L_LAT_5_2_16_3_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_ANKLE_L_LAT_5_2_16_3_6', 'DR_ANKLE_L_LAT_5_2_16_3_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_ANKLE_L_LAT_5_2_16_3_7', 'DR_ANKLE_L_LAT_5_2_16_3_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_16_3', 'DR_5_2_16_3', '左踝关节侧位质控标准', 'DR', '踝关节', '侧位', '左踝关节侧位', 80,
'左踝关节侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_16_3_1', 'STD_DR_5_2_16_3', 'DR_ANKLE_L_LAT_5_2_16_3_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_16_3_2', 'STD_DR_5_2_16_3', 'DR_ANKLE_L_LAT_5_2_16_3_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_16_3_3', 'STD_DR_5_2_16_3', 'DR_ANKLE_L_LAT_5_2_16_3_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_16_3_4', 'STD_DR_5_2_16_3', 'DR_ANKLE_L_LAT_5_2_16_3_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_16_3_5', 'STD_DR_5_2_16_3', 'DR_ANKLE_L_LAT_5_2_16_3_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_16_3_6', 'STD_DR_5_2_16_3', 'DR_ANKLE_L_LAT_5_2_16_3_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_16_3_7', 'STD_DR_5_2_16_3', 'DR_ANKLE_L_LAT_5_2_16_3_7', 12.00, 1, 7, 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
('DR_ANKLE_R_LAT_5_2_16_4_1', 'DR_ANKLE_R_LAT_5_2_16_4_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_ANKLE_R_LAT_5_2_16_4_2', 'DR_ANKLE_R_LAT_5_2_16_4_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_ANKLE_R_LAT_5_2_16_4_3', 'DR_ANKLE_R_LAT_5_2_16_4_3', '摄影体位', 5, 'boolean',
'侧位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_ANKLE_R_LAT_5_2_16_4_4', 'DR_ANKLE_R_LAT_5_2_16_4_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_ANKLE_R_LAT_5_2_16_4_5', 'DR_ANKLE_R_LAT_5_2_16_4_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_ANKLE_R_LAT_5_2_16_4_6', 'DR_ANKLE_R_LAT_5_2_16_4_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_ANKLE_R_LAT_5_2_16_4_7', 'DR_ANKLE_R_LAT_5_2_16_4_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_16_4', 'DR_5_2_16_4', '右踝关节侧位质控标准', 'DR', '踝关节', '侧位', '右踝关节侧位', 80,
'右踝关节侧位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_16_4_1', 'STD_DR_5_2_16_4', 'DR_ANKLE_R_LAT_5_2_16_4_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_16_4_2', 'STD_DR_5_2_16_4', 'DR_ANKLE_R_LAT_5_2_16_4_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_16_4_3', 'STD_DR_5_2_16_4', 'DR_ANKLE_R_LAT_5_2_16_4_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_16_4_4', 'STD_DR_5_2_16_4', 'DR_ANKLE_R_LAT_5_2_16_4_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_16_4_5', 'STD_DR_5_2_16_4', 'DR_ANKLE_R_LAT_5_2_16_4_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_16_4_6', 'STD_DR_5_2_16_4', 'DR_ANKLE_R_LAT_5_2_16_4_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_16_4_7', 'STD_DR_5_2_16_4', 'DR_ANKLE_R_LAT_5_2_16_4_7', 12.00, 1, 7, 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
('DR_BREAST_L_CC_5_2_17_1_1', 'DR_BREAST_L_CC_5_2_17_1_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_BREAST_L_CC_5_2_17_1_2', 'DR_BREAST_L_CC_5_2_17_1_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_BREAST_L_CC_5_2_17_1_3', 'DR_BREAST_L_CC_5_2_17_1_3', '摄影体位', 5, 'boolean',
'头尾位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_BREAST_L_CC_5_2_17_1_4', 'DR_BREAST_L_CC_5_2_17_1_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_BREAST_L_CC_5_2_17_1_5', 'DR_BREAST_L_CC_5_2_17_1_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_BREAST_L_CC_5_2_17_1_6', 'DR_BREAST_L_CC_5_2_17_1_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_BREAST_L_CC_5_2_17_1_7', 'DR_BREAST_L_CC_5_2_17_1_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_17_1', 'DR_5_2_17_1', '左乳腺CC位质控标准', 'DR', '乳腺', '头尾位', '左乳腺CC位', 80,
'左乳腺CC位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_17_1_1', 'STD_DR_5_2_17_1', 'DR_BREAST_L_CC_5_2_17_1_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_17_1_2', 'STD_DR_5_2_17_1', 'DR_BREAST_L_CC_5_2_17_1_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_17_1_3', 'STD_DR_5_2_17_1', 'DR_BREAST_L_CC_5_2_17_1_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_17_1_4', 'STD_DR_5_2_17_1', 'DR_BREAST_L_CC_5_2_17_1_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_17_1_5', 'STD_DR_5_2_17_1', 'DR_BREAST_L_CC_5_2_17_1_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_17_1_6', 'STD_DR_5_2_17_1', 'DR_BREAST_L_CC_5_2_17_1_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_17_1_7', 'STD_DR_5_2_17_1', 'DR_BREAST_L_CC_5_2_17_1_7', 12.00, 1, 7, 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
('DR_BREAST_R_CC_5_2_17_2_1', 'DR_BREAST_R_CC_5_2_17_2_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_BREAST_R_CC_5_2_17_2_2', 'DR_BREAST_R_CC_5_2_17_2_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_BREAST_R_CC_5_2_17_2_3', 'DR_BREAST_R_CC_5_2_17_2_3', '摄影体位', 5, 'boolean',
'头尾位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_BREAST_R_CC_5_2_17_2_4', 'DR_BREAST_R_CC_5_2_17_2_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_BREAST_R_CC_5_2_17_2_5', 'DR_BREAST_R_CC_5_2_17_2_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_BREAST_R_CC_5_2_17_2_6', 'DR_BREAST_R_CC_5_2_17_2_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_BREAST_R_CC_5_2_17_2_7', 'DR_BREAST_R_CC_5_2_17_2_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_17_2', 'DR_5_2_17_2', '右乳腺CC位质控标准', 'DR', '乳腺', '头尾位', '右乳腺CC位', 80,
'右乳腺CC位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_17_2_1', 'STD_DR_5_2_17_2', 'DR_BREAST_R_CC_5_2_17_2_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_17_2_2', 'STD_DR_5_2_17_2', 'DR_BREAST_R_CC_5_2_17_2_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_17_2_3', 'STD_DR_5_2_17_2', 'DR_BREAST_R_CC_5_2_17_2_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_17_2_4', 'STD_DR_5_2_17_2', 'DR_BREAST_R_CC_5_2_17_2_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_17_2_5', 'STD_DR_5_2_17_2', 'DR_BREAST_R_CC_5_2_17_2_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_17_2_6', 'STD_DR_5_2_17_2', 'DR_BREAST_R_CC_5_2_17_2_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_17_2_7', 'STD_DR_5_2_17_2', 'DR_BREAST_R_CC_5_2_17_2_7', 12.00, 1, 7, 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
('DR_BREAST_L_MLO_5_2_17_3_1', 'DR_BREAST_L_MLO_5_2_17_3_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_BREAST_L_MLO_5_2_17_3_2', 'DR_BREAST_L_MLO_5_2_17_3_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_BREAST_L_MLO_5_2_17_3_3', 'DR_BREAST_L_MLO_5_2_17_3_3', '摄影体位', 5, 'boolean',
'内外斜位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_BREAST_L_MLO_5_2_17_3_4', 'DR_BREAST_L_MLO_5_2_17_3_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_BREAST_L_MLO_5_2_17_3_5', 'DR_BREAST_L_MLO_5_2_17_3_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_BREAST_L_MLO_5_2_17_3_6', 'DR_BREAST_L_MLO_5_2_17_3_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_BREAST_L_MLO_5_2_17_3_7', 'DR_BREAST_L_MLO_5_2_17_3_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_17_3', 'DR_5_2_17_3', '左乳腺MLO位质控标准', 'DR', '乳腺', '内外斜位', '左乳腺MLO位', 80,
'左乳腺MLO位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_17_3_1', 'STD_DR_5_2_17_3', 'DR_BREAST_L_MLO_5_2_17_3_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_17_3_2', 'STD_DR_5_2_17_3', 'DR_BREAST_L_MLO_5_2_17_3_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_17_3_3', 'STD_DR_5_2_17_3', 'DR_BREAST_L_MLO_5_2_17_3_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_17_3_4', 'STD_DR_5_2_17_3', 'DR_BREAST_L_MLO_5_2_17_3_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_17_3_5', 'STD_DR_5_2_17_3', 'DR_BREAST_L_MLO_5_2_17_3_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_17_3_6', 'STD_DR_5_2_17_3', 'DR_BREAST_L_MLO_5_2_17_3_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_17_3_7', 'STD_DR_5_2_17_3', 'DR_BREAST_L_MLO_5_2_17_3_7', 12.00, 1, 7, 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
('DR_BREAST_R_MLO_5_2_17_4_1', 'DR_BREAST_R_MLO_5_2_17_4_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_BREAST_R_MLO_5_2_17_4_2', 'DR_BREAST_R_MLO_5_2_17_4_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_BREAST_R_MLO_5_2_17_4_3', 'DR_BREAST_R_MLO_5_2_17_4_3', '摄影体位', 5, 'boolean',
'内外斜位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_BREAST_R_MLO_5_2_17_4_4', 'DR_BREAST_R_MLO_5_2_17_4_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_BREAST_R_MLO_5_2_17_4_5', 'DR_BREAST_R_MLO_5_2_17_4_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_BREAST_R_MLO_5_2_17_4_6', 'DR_BREAST_R_MLO_5_2_17_4_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_BREAST_R_MLO_5_2_17_4_7', 'DR_BREAST_R_MLO_5_2_17_4_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_17_4', 'DR_5_2_17_4', '右乳腺MLO位质控标准', 'DR', '乳腺', '内外斜位', '右乳腺MLO位', 80,
'右乳腺MLO位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_17_4_1', 'STD_DR_5_2_17_4', 'DR_BREAST_R_MLO_5_2_17_4_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_17_4_2', 'STD_DR_5_2_17_4', 'DR_BREAST_R_MLO_5_2_17_4_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_17_4_3', 'STD_DR_5_2_17_4', 'DR_BREAST_R_MLO_5_2_17_4_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_17_4_4', 'STD_DR_5_2_17_4', 'DR_BREAST_R_MLO_5_2_17_4_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_17_4_5', 'STD_DR_5_2_17_4', 'DR_BREAST_R_MLO_5_2_17_4_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_17_4_6', 'STD_DR_5_2_17_4', 'DR_BREAST_R_MLO_5_2_17_4_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_17_4_7', 'STD_DR_5_2_17_4', 'DR_BREAST_R_MLO_5_2_17_4_7', 12.00, 1, 7, 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
('DR_ACROMIOCLAV_PA_5_2_18_1_1', 'DR_ACROMIOCLAV_PA_5_2_18_1_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_ACROMIOCLAV_PA_5_2_18_1_2', 'DR_ACROMIOCLAV_PA_5_2_18_1_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_ACROMIOCLAV_PA_5_2_18_1_3', 'DR_ACROMIOCLAV_PA_5_2_18_1_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_ACROMIOCLAV_PA_5_2_18_1_4', 'DR_ACROMIOCLAV_PA_5_2_18_1_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_ACROMIOCLAV_PA_5_2_18_1_5', 'DR_ACROMIOCLAV_PA_5_2_18_1_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_ACROMIOCLAV_PA_5_2_18_1_6', 'DR_ACROMIOCLAV_PA_5_2_18_1_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_ACROMIOCLAV_PA_5_2_18_1_7', 'DR_ACROMIOCLAV_PA_5_2_18_1_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_18_1', 'DR_5_2_18_1', '肩锁关节正位质控标准', 'DR', '其他', '正位', '肩锁关节正位', 80,
'肩锁关节正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_18_1_1', 'STD_DR_5_2_18_1', 'DR_ACROMIOCLAV_PA_5_2_18_1_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_18_1_2', 'STD_DR_5_2_18_1', 'DR_ACROMIOCLAV_PA_5_2_18_1_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_18_1_3', 'STD_DR_5_2_18_1', 'DR_ACROMIOCLAV_PA_5_2_18_1_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_18_1_4', 'STD_DR_5_2_18_1', 'DR_ACROMIOCLAV_PA_5_2_18_1_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_18_1_5', 'STD_DR_5_2_18_1', 'DR_ACROMIOCLAV_PA_5_2_18_1_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_18_1_6', 'STD_DR_5_2_18_1', 'DR_ACROMIOCLAV_PA_5_2_18_1_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_18_1_7', 'STD_DR_5_2_18_1', 'DR_ACROMIOCLAV_PA_5_2_18_1_7', 12.00, 1, 7, 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
('DR_LEGS_FULL_PA_5_2_18_3_1', 'DR_LEGS_FULL_PA_5_2_18_3_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_LEGS_FULL_PA_5_2_18_3_2', 'DR_LEGS_FULL_PA_5_2_18_3_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_LEGS_FULL_PA_5_2_18_3_3', 'DR_LEGS_FULL_PA_5_2_18_3_3', '摄影体位', 5, 'boolean',
'正位，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_LEGS_FULL_PA_5_2_18_3_4', 'DR_LEGS_FULL_PA_5_2_18_3_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_LEGS_FULL_PA_5_2_18_3_5', 'DR_LEGS_FULL_PA_5_2_18_3_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_LEGS_FULL_PA_5_2_18_3_6', 'DR_LEGS_FULL_PA_5_2_18_3_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_LEGS_FULL_PA_5_2_18_3_7', 'DR_LEGS_FULL_PA_5_2_18_3_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_18_3', 'DR_5_2_18_3', '双下肢全长正位质控标准', 'DR', '其他', '正位', '双下肢全长正位', 80,
'双下肢全长正位质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_18_3_1', 'STD_DR_5_2_18_3', 'DR_LEGS_FULL_PA_5_2_18_3_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_18_3_2', 'STD_DR_5_2_18_3', 'DR_LEGS_FULL_PA_5_2_18_3_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_18_3_3', 'STD_DR_5_2_18_3', 'DR_LEGS_FULL_PA_5_2_18_3_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_18_3_4', 'STD_DR_5_2_18_3', 'DR_LEGS_FULL_PA_5_2_18_3_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_18_3_5', 'STD_DR_5_2_18_3', 'DR_LEGS_FULL_PA_5_2_18_3_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_18_3_6', 'STD_DR_5_2_18_3', 'DR_LEGS_FULL_PA_5_2_18_3_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_18_3_7', 'STD_DR_5_2_18_3', 'DR_LEGS_FULL_PA_5_2_18_3_7', 12.00, 1, 7, 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
('DR_LUMBAR_BMD_5_2_18_5_1', 'DR_LUMBAR_BMD_5_2_18_5_1', '检查范围', 5, 'boolean',
'检查范围符合规范',
'{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"basicCheck": 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
('DR_LUMBAR_BMD_5_2_18_5_2', 'DR_LUMBAR_BMD_5_2_18_5_2', '中心线', 5, 'boolean',
'中心线对准准确',
'{"type": "dicom_check", "method": "checkCENTER_LINE", "params": {"basicCheck": 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
('DR_LUMBAR_BMD_5_2_18_5_3', 'DR_LUMBAR_BMD_5_2_18_5_3', '摄影体位', 5, 'boolean',
'骨密度，摄影准确，无失真变形',
'{"type": "dicom_check", "method": "checkRADIOGRAPH_POSITION", "params": {"basicCheck": 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
('DR_LUMBAR_BMD_5_2_18_5_4', 'DR_LUMBAR_BMD_5_2_18_5_4', '影像密度', 5, 'boolean',
'基础灰雾D≤0.3，诊断区域D=0.25~2',
'{"type": "dicom_check", "method": "checkIMAGE_DENSITY", "params": {"basicCheck": true}, "isVeto": true, "description": "基础灰雾D≤0.3，诊断区域D=0.25~2"}',
'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
('DR_LUMBAR_BMD_5_2_18_5_5', 'DR_LUMBAR_BMD_5_2_18_5_5', '左右标识', 5, 'boolean',
'左、右（L/R）标识存在且正确',
'{"type": "dicom_check", "method": "checkLR_MARKER", "params": {"basicCheck": true}, "isVeto": true, "description": "左、右（L/R）标识存在且正确"}',
'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
('DR_LUMBAR_BMD_5_2_18_5_6', 'DR_LUMBAR_BMD_5_2_18_5_6', '图像标识', 5, 'boolean',
'影像号、部位、姓名、性别、年龄、日期、时间、kV、mAs',
'{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"basicCheck": true}, "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
('DR_LUMBAR_BMD_5_2_18_5_7', 'DR_LUMBAR_BMD_5_2_18_5_7', '图像伪影', 5, 'boolean',
'无运动伪影、体外物品干扰影、探测器伪影',
'{"type": "dicom_check", "method": "checkIMAGE_ARTIFACTS", "params": {"basicCheck": true}, "isVeto": true, "description": "无运动伪影、体外物品干扰影、探测器伪影"}',
'dicom_metadata', 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_DR_5_2_18_5', 'DR_5_2_18_5', '腰椎骨密度质控标准', 'DR', '其他', '骨密度', '腰椎骨密度', 80,
'腰椎骨密度质控标准，包含7个质控因子',
1, NOW(), NOW());
INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
('SF_DR_5_2_18_5_1', 'STD_DR_5_2_18_5', 'DR_LUMBAR_BMD_5_2_18_5_1', 12.00, 1, 1, NOW(), NOW()),
('SF_DR_5_2_18_5_2', 'STD_DR_5_2_18_5', 'DR_LUMBAR_BMD_5_2_18_5_2', 10.00, 1, 2, NOW(), NOW()),
('SF_DR_5_2_18_5_3', 'STD_DR_5_2_18_5', 'DR_LUMBAR_BMD_5_2_18_5_3', 15.00, 1, 3, NOW(), NOW()),
('SF_DR_5_2_18_5_4', 'STD_DR_5_2_18_5', 'DR_LUMBAR_BMD_5_2_18_5_4', 18.00, 1, 4, NOW(), NOW()),
('SF_DR_5_2_18_5_5', 'STD_DR_5_2_18_5', 'DR_LUMBAR_BMD_5_2_18_5_5', 15.00, 1, 5, NOW(), NOW()),
('SF_DR_5_2_18_5_6', 'STD_DR_5_2_18_5', 'DR_LUMBAR_BMD_5_2_18_5_6', 18.00, 1, 6, NOW(), NOW()),
('SF_DR_5_2_18_5_7', 'STD_DR_5_2_18_5', 'DR_LUMBAR_BMD_5_2_18_5_7', 12.00, 1, 7, NOW(), NOW());

-- --------------------------------------------------
