| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617 |
- -- ============================================================================
- -- 医保影像云图像质控规范 - SQL数据导入脚本
- --
- -- 文档:医保影像云图像质控规范 (YXY-QC-2025-A1)
- -- 创建时间:2026-01-13
- --
- -- 本文件包含:
- -- - Part 1: 影像检查图像基础要求(4.1-4.7)
- -- - Part 2: CT图像质量控制整体要求(5.3)
- -- - Part 3: CT颅脑平扫质控标准(5.4.1.1)
- -- - Part 4: CT颅脑增强质控标准(5.4.1.2)
- --
- -- 说明:根据现有表结构生成,适用于 qc_factor、qc_standard、qc_standard_factor 表
- -- ============================================================================
- SET NAMES utf8mb4;
- SET FOREIGN_KEY_CHECKS = 0;
- -- ===================================
- -- Part 1: 影像检查图像基础要求(适用于所有影像模态)
- -- ===================================
- -- 4.1 有效图像(否决项)
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('BASIC_4_1', 'BASIC_4_1', '有效图像', 1, 'boolean',
- '影像检查图像须确保清晰度与可辨识性,能够为诊断提供准确依据,严禁出现全黑、全白等无效影像',
- '{
- "type": "opencv_check",
- "method": "checkValidImage",
- "params": {
- "minSharpness": 50.0,
- "minBrightness": 10.0,
- "maxBrightness": 245.0,
- "minStdDev": 20.0
- },
- "isVeto": true,
- "description": "使用Laplacian方差检测清晰度,检查亮度范围和标准差,识别全黑、全白图像"
- }',
- 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 4.2 真实人体图像(否决项)
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('BASIC_4_2', 'BASIC_4_2', '真实人体图像', 1, 'boolean',
- '影像检查图像须真实反映人体解剖结构,严禁使用非真实人体图像,如:仿人体模型、质控水模、动植物等',
- '{
- "type": "opencv_check",
- "method": "checkRealHumanBody",
- "params": {
- "minEdgeRatio": 0.015,
- "maxEdgeRatio": 0.50,
- "minTextureComplexity": 3.0
- },
- "isVeto": true,
- "description": "检查边缘密度和纹理复杂度,识别非真实人体图像(模型、水模、动植物等)"
- }',
- 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 4.3 原始完整图像
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('BASIC_4_3', 'BASIC_4_3', '原始完整图像', 1, 'boolean',
- '影像检查图像须为原始采集内容,严禁篡改、添加、删减、伪造处理',
- '{
- "type": "opencv_check",
- "method": "checkOriginalComplete",
- "params": {
- "maxAvgEdgeCount": 500.0,
- "checkCompressionArtifacts": true
- },
- "isVeto": false,
- "description": "检测图像是否经过篡改、添加、删减或伪造处理"
- }',
- 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 4.4 非拼接图像
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('BASIC_4_4', 'BASIC_4_4', '非拼接图像', 1, 'boolean',
- '影像检查图像须完整包含患者同一次检查的全部图像,禁止将不同机构、不同患者、不同时间采集的检查图像拼接为同一次影像检查图像',
- '{
- "type": "opencv_check",
- "method": "checkNonStitched",
- "params": {
- "detectSeams": true,
- "maxSeamEdges": 10,
- "checkInconsistentLighting": true
- },
- "isVeto": false,
- "description": "检测图像是否存在拼接痕迹、接缝或光照不一致"
- }',
- 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 4.5 非重复图像
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('BASIC_4_5', 'BASIC_4_5', '非重复图像', 1, 'boolean',
- '同一患者的同次影像检查图像不得被重复使用于不同的检查记录中,严禁将部分影像检查图像跨患者、跨机构重复使用',
- '{
- "type": "dicom_check",
- "method": "checkNonDuplicate",
- "params": {
- "checkAcrossStudies": true,
- "checkAcrossPatients": true,
- "checkAcrossInstitutions": true
- },
- "isVeto": false,
- "description": "通过SOP Instance UID和图像哈希值检查图像是否被重复使用"
- }',
- 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 4.6 患者信息相符
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('BASIC_4_6', 'BASIC_4_6', '患者信息相符', 1, 'boolean',
- '影像检查图像特征须与患者年龄、性别、病史等信息相符',
- '{
- "type": "dicom_check",
- "method": "checkPatientInfoMatch",
- "params": {
- "checkAgeConsistency": true,
- "checkSexConsistency": true,
- "allowAgeDeviation": 5
- },
- "isVeto": false,
- "description": "验证DICOM中的患者年龄、性别与图像特征是否一致"
- }',
- 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 4.7 检查部位一致
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('BASIC_4_7', 'BASIC_4_7', '检查部位一致', 1, 'boolean',
- '影像检查图像显示的检查部位须与检查报告、医保结算对应信息保持一致',
- '{
- "type": "dicom_check",
- "method": "checkBodyPartConsistent",
- "params": {
- "compareWithReport": true,
- "compareWithSettlement": true,
- "allowSynonyms": true
- },
- "isVeto": false,
- "description": "验证图像显示的检查部位与检查报告、医保结算信息是否一致"
- }',
- 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- ===================================
- -- Part 2: CT图像质量控制整体要求(5.3)
- -- ===================================
- -- 5.3.1 图像信息(需包含DICOM元数据)(否决项)
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('CT_5_3_1', 'CT_5_3_1', 'CT图像信息完整性', 2, 'boolean',
- '需包含患者标识、扫描参数等DICOM元数据信息',
- '{
- "type": "dicom_check",
- "method": "checkCTDicomMetadata",
- "params": {
- "requiredFields": [
- "PatientID",
- "PatientName",
- "StudyDate",
- "Modality",
- "SliceThickness",
- "KVP"
- ]
- },
- "isVeto": true,
- "description": "检查CT DICOM文件是否包含必需的元数据字段"
- }',
- 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 5.3.2 图像质量(窗技术应用)
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('CT_5_3_2', 'CT_5_3_2', 'CT窗技术应用', 2, 'boolean',
- '图像对比度和灰度,应依检查部位的规范,合理应用窗技术,满足组织间的不同层次对比',
- '{
- "type": "dicom_check",
- "method": "checkCTWindowTechnique",
- "params": {
- "requireWindowCenter": true,
- "requireWindowWidth": true,
- "checkAppropriateWindow": true
- },
- "isVeto": false,
- "description": "检查是否正确应用窗技术(窗宽窗位)"
- }',
- 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- ===================================
- -- Part 3: CT颅脑质控标准(5.4.1)
- -- ===================================
- -- 5.4.1.1 头颅CT平扫
- INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `modality`, `body_part`, `scan_type`, `exam_item`, `factor_category`, `description`, `pass_score`, `status`, `create_time`, `update_time`) VALUES
- ('STD_CT_5_4_1_1', 'CT_5_4_1_1', '头颅CT平扫质控标准', 'CT', '颅脑', '平扫', '头颅CT平扫', 2,
- '基于医保影像云规范的颅脑CT平扫质控标准,包含检查范围、重建参数、窗口技术、图像标识、伪影、清晰度等要求',
- 80, 1, NOW(), NOW());
- -- 头颅CT平扫 - 检查范围
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('CT_5_4_1_1_1', 'CT_5_4_1_1_1', '检查范围(颅脑)', 2, 'string',
- '检查范围:从颅底至颅顶',
- '{
- "type": "dicom_check",
- "method": "checkScanRangeSkullBaseToTop",
- "params": {
- "minSliceCount": 30,
- "expectedBodyPart": "BRAIN",
- "checkCoverage": true
- },
- "isVeto": false,
- "description": "验证扫描范围是否覆盖颅底至颅顶"
- }',
- 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 头颅CT平扫 - 图像偏中心
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('CT_5_4_1_1_2', 'CT_5_4_1_1_2', '图像偏中心', 2, 'string',
- '图像偏中心:断层位于图像正中',
- '{
- "type": "opencv_check",
- "method": "checkImageCentering",
- "params": {
- "maxOffsetRatio": 0.10
- },
- "isVeto": false,
- "description": "检测图像内容重心是否偏离中心"
- }',
- 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 头颅CT平扫 - 重建参数
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('CT_5_4_1_1_3', 'CT_5_4_1_1_3', '重建参数', 2, 'object',
- '重建参数:厚层层厚/层间隔≤5mm/5mm,薄层层厚/层间隔≤1.25mm/1.25mm,DFOV:23cm',
- '{
- "type": "dicom_check",
- "method": "checkReconstructionParams",
- "params": {
- "thickSlice": {
- "maxSliceThickness": 5.0,
- "maxSliceInterval": 5.0
- },
- "thinSlice": {
- "maxSliceThickness": 1.25,
- "maxSliceInterval": 1.25
- },
- "dfov": {
- "nominal": 23.0,
- "tolerance": 3.0
- }
- },
- "isVeto": false,
- "description": "检查层厚、层间隔和DFOV参数"
- }',
- 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 头颅CT平扫 - 窗口技术(脑窗+骨窗)(否决项)
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('CT_5_4_1_1_4', 'CT_5_4_1_1_4', '窗口技术', 2, 'object',
- '窗口技术:脑窗窗宽80~100HU,窗位35~45HU;骨窗窗宽3500~4000HU,窗位500~700HU',
- '{
- "type": "dicom_check",
- "method": "checkWindowTechnique",
- "params": {
- "brainWindow": {
- "windowWidth": {"min": 80, "max": 100},
- "windowCenter": {"min": 35, "max": 45}
- },
- "boneWindow": {
- "windowWidth": {"min": 3500, "max": 4000},
- "windowCenter": {"min": 500, "max": 700}
- }
- },
- "isVeto": true,
- "description": "检查脑窗和骨窗的窗宽窗位是否符合标准"
- }',
- 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 头颅CT平扫 - 扫描体位
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('CT_5_4_1_1_5', 'CT_5_4_1_1_5', '扫描体位', 2, 'string',
- '扫描体位:仰卧位',
- '{
- "type": "dicom_check",
- "method": "checkScanPosition",
- "params": {
- "expectedPosition": "HFS",
- "allowedPositions": ["HFS", "FFS"]
- },
- "isVeto": false,
- "description": "验证患者体位是否符合标准(HFS-仰卧位头先进)"
- }',
- 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 头颅CT平扫 - 图像标识(否决项)
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('CT_5_4_1_1_6', 'CT_5_4_1_1_6', '图像标识', 2, 'boolean',
- '图像标识:影像号、检查部位、姓名、性别、年龄、检查日期、检查时间、kV、mAs值、扫描方位',
- '{
- "type": "dicom_check",
- "method": "checkImageAnnotation",
- "params": {
- "requiredFields": [
- "StudyInstanceUID",
- "BodyPartExamined",
- "PatientName",
- "PatientSex",
- "PatientAge",
- "StudyDate",
- "StudyTime",
- "KVP",
- "Exposure"
- ]
- },
- "isVeto": true,
- "description": "检查DICOM文件是否包含所有必需的图像标识信息"
- }',
- 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 头颅CT平扫 - 图像伪影(否决项)
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('CT_5_4_1_1_7', 'CT_5_4_1_1_7', '图像伪影', 2, 'boolean',
- '图像伪影:没有运动伪影以及高衰减伪影',
- '{
- "type": "opencv_check",
- "method": "checkImageArtifact",
- "params": {
- "maxMotionArtifactLevel": 2,
- "checkBeamHardening": true,
- "checkMetalArtifact": true,
- "maxArtifactRatio": 0.15
- },
- "isVeto": true,
- "description": "检测运动伪影、束硬化伪影、金属伪影等CT常见伪影"
- }',
- 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 头颅CT平扫 - 图像清晰度
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('CT_5_4_1_1_8', 'CT_5_4_1_1_8', '图像清晰度', 2, 'number',
- '图像清晰度:颅脑组织显示清晰',
- '{
- "type": "opencv_check",
- "method": "checkImageClarity",
- "params": {
- "minSharpness": 100.0,
- "minContrast": 30.0
- },
- "isVeto": false,
- "description": "检测颅脑组织显示的清晰度"
- }',
- 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- ===================================
- -- 关联质控因子到头颅CT平扫标准
- -- ===================================
- DELETE FROM qc_standard_factor WHERE standard_id = 'STD_CT_5_4_1_1';
- -- 基础要求(4.1-4.7)
- INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
- ('SF_CT_5_4_1_1_4_1', 'STD_CT_5_4_1_1', 'BASIC_4_1', 15.00, 1, 1, NOW(), NOW()),
- ('SF_CT_5_4_1_1_4_2', 'STD_CT_5_4_1_1', 'BASIC_4_2', 15.00, 1, 2, NOW(), NOW()),
- ('SF_CT_5_4_1_1_4_3', 'STD_CT_5_4_1_1', 'BASIC_4_3', 5.00, 0, 3, NOW(), NOW()),
- ('SF_CT_5_4_1_1_4_4', 'STD_CT_5_4_1_1', 'BASIC_4_4', 5.00, 0, 4, NOW(), NOW()),
- ('SF_CT_5_4_1_1_4_5', 'STD_CT_5_4_1_1', 'BASIC_4_5', 5.00, 0, 5, NOW(), NOW()),
- ('SF_CT_5_4_1_1_4_6', 'STD_CT_5_4_1_1', 'BASIC_4_6', 5.00, 0, 6, NOW(), NOW()),
- ('SF_CT_5_4_1_1_4_7', 'STD_CT_5_4_1_1', 'BASIC_4_7', 5.00, 0, 7, NOW(), NOW()),
- -- CT整体要求(5.3)
- ('SF_CT_5_4_1_1_5_3_1', 'STD_CT_5_4_1_1', 'CT_5_3_1', 10.00, 1, 8, NOW(), NOW()),
- ('SF_CT_5_4_1_1_5_3_2', 'STD_CT_5_4_1_1', 'CT_5_3_2', 5.00, 0, 9, NOW(), NOW()),
- -- 颅脑专项要求
- ('SF_CT_5_4_1_1_SPEC_1', 'STD_CT_5_4_1_1', 'CT_5_4_1_1_1', 5.00, 0, 10, NOW(), NOW()),
- ('SF_CT_5_4_1_1_SPEC_2', 'STD_CT_5_4_1_1', 'CT_5_4_1_1_2', 5.00, 0, 11, NOW(), NOW()),
- ('SF_CT_5_4_1_1_SPEC_3', 'STD_CT_5_4_1_1', 'CT_5_4_1_1_3', 5.00, 0, 12, NOW(), NOW()),
- ('SF_CT_5_4_1_1_SPEC_4', 'STD_CT_5_4_1_1', 'CT_5_4_1_1_4', 10.00, 1, 13, NOW(), NOW()),
- ('SF_CT_5_4_1_1_SPEC_5', 'STD_CT_5_4_1_1', 'CT_5_4_1_1_5', 5.00, 0, 14, NOW(), NOW()),
- ('SF_CT_5_4_1_1_SPEC_6', 'STD_CT_5_4_1_1', 'CT_5_4_1_1_6', 10.00, 1, 15, NOW(), NOW()),
- ('SF_CT_5_4_1_1_SPEC_7', 'STD_CT_5_4_1_1', 'CT_5_4_1_1_7', 10.00, 1, 16, NOW(), NOW()),
- ('SF_CT_5_4_1_1_SPEC_8', 'STD_CT_5_4_1_1', 'CT_5_4_1_1_8', 5.00, 0, 17, NOW(), NOW());
- -- ============================================================================
- -- Part 4: CT颅脑增强质控标准(5.4.1.2)
- -- ============================================================================
- -- ===================================
- -- 5.4.1.2 头颅CT增强 - 质控因子(qc_factor)
- -- ===================================
- -- 因子1:检查范围 - 从颅底至颅顶
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('CT_HEAD_ENH_5_4_1_2_1', 'CT_HEAD_ENH_5_4_1_2_1', '检查范围', 3, 'boolean', '检查范围从颅底至颅顶,确保覆盖完整颅脑区域',
- '{
- "type": "dicom_check",
- "method": "checkScanRangeSkullBaseToTop",
- "params": {
- "minSliceCount": 30,
- "expectedBodyPart": "BRAIN",
- "checkCoverage": true
- },
- "isVeto": false,
- "description": "通过DICOM序列图像数量和BodyPart标签验证扫描范围是否覆盖颅底至颅顶"
- }',
- 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 因子2:图像偏中心 - 断层位于图像正中
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('CT_HEAD_ENH_5_4_1_2_2', 'CT_HEAD_ENH_5_4_1_2_2', '图像偏中心', 3, 'string', '断层位于图像正中,允许适度偏移',
- '{
- "type": "opencv_check",
- "method": "checkImageCentering",
- "params": {
- "maxOffsetRatio": 0.15,
- "checkCenterOfMass": true
- },
- "isVeto": false,
- "description": "检测图像内容重心是否偏离中心超过15%"
- }',
- 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 因子3:重建参数 - 层厚/层间隔、DFOV
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('CT_HEAD_ENH_5_4_1_2_3', 'CT_HEAD_ENH_5_4_1_2_3', '重建参数', 3, 'object', '厚层层厚/层间隔≤5mm/5mm,薄层层厚/层间隔≤1.25mm/1.25mm,DFOV:23cm',
- '{
- "type": "dicom_check",
- "method": "checkReconstructionParams",
- "params": {
- "thickSlice": {
- "maxSliceThickness": 5.0,
- "maxSliceInterval": 5.0
- },
- "thinSlice": {
- "maxSliceThickness": 1.25,
- "maxSliceInterval": 1.25
- },
- "dfov": {
- "nominal": 23.0,
- "tolerance": 5.0
- }
- },
- "isVeto": false,
- "description": "检查DICOM标签中的层厚、层间隔和DFOV是否符合规范"
- }',
- 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 因子4:窗口技术 - 脑窗静脉期(否决项)
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('CT_HEAD_ENH_5_4_1_2_4', 'CT_HEAD_ENH_5_4_1_2_4', '窗口技术', 3, 'object', '常规包含脑窗静脉期:窗宽80~100HU,窗位35~45HU',
- '{
- "type": "dicom_check",
- "method": "checkWindowTechnique",
- "params": {
- "brainWindowVenous": {
- "windowWidth": {"min": 80, "max": 100},
- "windowCenter": {"min": 35, "max": 45}
- }
- },
- "isVeto": true,
- "description": "检查窗宽窗位是否符合脑窗静脉期标准(增强CT关键参数)"
- }',
- 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 因子5:扫描体位 - 仰卧位
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('CT_HEAD_ENH_5_4_1_2_5', 'CT_HEAD_ENH_5_4_1_2_5', '扫描体位', 3, 'string', '扫描体位:仰卧位',
- '{
- "type": "dicom_check",
- "method": "checkScanPosition",
- "params": {
- "expectedPosition": "HFS",
- "allowedPositions": ["HFS", "FFS", "HFP", "FFP"],
- "checkPatientOrientation": true
- },
- "isVeto": false,
- "description": "验证患者体位是否符合标准(Head First Supine - HFS表示仰卧位头先进)"
- }',
- 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 因子6:图像标识(否决项)
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('CT_HEAD_ENH_5_4_1_2_6', 'CT_HEAD_ENH_5_4_1_2_6', '图像标识', 3, 'boolean', '图像标识须包含:影像号、检查部位、姓名、性别、年龄、检查日期、检查时间、kV、mAs值、扫描方位',
- '{
- "type": "dicom_check",
- "method": "checkImageAnnotation",
- "params": {
- "requiredFields": [
- "StudyInstanceUID", -- 影像号
- "BodyPartExamined", -- 检查部位
- "PatientName", -- 姓名
- "PatientSex", -- 性别
- "PatientAge", -- 年龄
- "StudyDate", -- 检查日期
- "StudyTime", -- 检查时间
- "KVP", -- kV值
- "Exposure", -- mAs值
- "ScanOrientation" -- 扫描方位
- ]
- },
- "isVeto": true,
- "description": "检查DICOM文件是否包含所有必需的图像标识信息"
- }',
- 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 因子7:图像伪影(否决项)
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('CT_HEAD_ENH_5_4_1_2_7', 'CT_HEAD_ENH_5_4_1_2_7', '图像伪影', 3, 'boolean', '没有运动伪影以及高衰减伪影',
- '{
- "type": "opencv_check",
- "method": "checkImageArtifactEnhanced",
- "params": {
- "maxMotionArtifactLevel": 2,
- "checkBeamHardening": true,
- "checkMetalArtifact": true,
- "maxArtifactRatio": 0.15
- },
- "isVeto": true,
- "description": "检测运动伪影、束硬化伪影、金属伪影等增强CT常见伪影"
- }',
- 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- 因子8:图像清晰度 - 增强CT脑部血管明显强化
- INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
- ('CT_HEAD_ENH_5_4_1_2_8', 'CT_HEAD_ENH_5_4_1_2_8', '图像清晰度', 3, 'number', '增强CT脑部血管明显强化,血管对比度清晰',
- '{
- "type": "opencv_check",
- "method": "checkImageClarityEnhanced",
- "params": {
- "minVesselContrast": 50.0,
- "minSharpness": 100.0,
- "checkEnhancement": true,
- "expectedEnhancementRatio": 1.5
- },
- "isVeto": false,
- "description": "检测增强CT血管强化程度和清晰度,评估血管显示质量"
- }',
- 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
- -- ===================================
- -- 2. 创建质控标准(qc_standard)
- -- ===================================
- INSERT INTO `qc_standard` (`id`, `standard_code`, `standard_name`, `standard_category`, `description`, `pass_score`, `status`, `create_time`, `update_time`) VALUES
- ('STD_CT_HEAD_ENHANCED', 'STD_CT_HEAD_ENHANCED', '头颅CT增强质控标准', 3, '基于国家医保局要求的头颅CT增强影像质量控制标准(GB 5.4.1.2),包含检查范围、重建参数、窗口技术、增强效果等专项要求',
- 80, 1, NOW(), NOW());
- -- ===================================
- -- 3. 关联质控因子到标准(qc_standard_factor)
- -- ===================================
- -- 删除旧的关联(如果存在)
- DELETE FROM qc_standard_factor WHERE standard_id = 'STD_CT_HEAD_ENHANCED';
- -- 插入新的关联(权重分配)
- -- 头颅CT增强专项因子(权重分配:总计100)
- INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `check_rule`, `weight`, `is_required`, `threshold_value`, `sort_order`, `create_time`, `update_time`, `pass_value`) VALUES
- ('SF_CT_ENH_1', 'STD_CT_HEAD_ENHANCED', 'CT_HEAD_ENH_5_4_1_2_1', NULL, 10.00, 1, NULL, 1, NOW(), NOW(), '{"passed": true}'), -- 检查范围
- ('SF_CT_ENH_2', 'STD_CT_HEAD_ENHANCED', 'CT_HEAD_ENH_5_4_1_2_2', NULL, 8.00, 1, NULL, 2, NOW(), NOW(), '{"result": "normal"}'), -- 图像偏中心
- ('SF_CT_ENH_3', 'STD_CT_HEAD_ENHANCED', 'CT_HEAD_ENH_5_4_1_2_3', NULL, 12.00, 1, NULL, 3, NOW(), NOW(), '{"passed": true}'), -- 重建参数
- ('SF_CT_ENH_4', 'STD_CT_HEAD_ENHANCED', 'CT_HEAD_ENH_5_4_1_2_4', NULL, 20.00, 1, NULL, 4, NOW(), NOW(), '{"passed": true}'), -- 窗口技术(否决项)
- ('SF_CT_ENH_5', 'STD_CT_HEAD_ENHANCED', 'CT_HEAD_ENH_5_4_1_2_5', NULL, 8.00, 1, NULL, 5, NOW(), NOW(), '{"position": "HFS"}'), -- 扫描体位
- ('SF_CT_ENH_6', 'STD_CT_HEAD_ENHANCED', 'CT_HEAD_ENH_5_4_1_2_6', NULL, 17.00, 1, NULL, 6, NOW(), NOW(), '{"passed": true}'), -- 图像标识(否决项)
- ('SF_CT_ENH_7', 'STD_CT_HEAD_ENHANCED', 'CT_HEAD_ENH_5_4_1_2_7', NULL, 15.00, 1, NULL, 7, NOW(), NOW(), '{"passed": true}'), -- 图像伪影(否决项)
- ('SF_CT_ENH_8', 'STD_CT_HEAD_ENHANCED', 'CT_HEAD_ENH_5_4_1_2_8', NULL, 10.00, 1, NULL, 8, NOW(), NOW(), '{"value": {"$gte": 50}}') -- 图像清晰度
- -- ===================================
- -- ===================================
- -- 验证查询
- -- ===================================
- -- 查看所有头颅CT平扫质控因子
- SELECT
- f.factor_code,
- f.factor_name,
- f.description,
- JSON_EXTRACT(f.check_rule, '$.isVeto') as is_veto,
- JSON_EXTRACT(f.check_rule, '$.method') as check_method
- FROM qc_factor f
- WHERE f.id LIKE 'CT_5_4_1_1_%' OR f.id LIKE 'BASIC_%'
- ORDER BY f.factor_code;
- -- 查看头颅CT平扫标准及其关联的因子
- SELECT
- s.standard_code,
- s.standard_name,
- s.modality,
- s.body_part,
- s.scan_type,
- f.factor_code,
- f.factor_name,
- sf.weight,
- sf.is_required,
- sf.sort_order
- FROM qc_standard s
- JOIN qc_standard_factor sf ON s.id = sf.standard_id
- JOIN qc_factor f ON sf.factor_id = f.id
- WHERE s.id = 'STD_CT_5_4_1_1'
- ORDER BY sf.sort_order;
- -- 统计信息
- SELECT '基础质控因子' as type, COUNT(*) as count FROM qc_factor WHERE id LIKE 'BASIC_%'
- UNION ALL
- SELECT '头颅CT平扫质控因子', COUNT(*) FROM qc_factor WHERE id LIKE 'CT_5_4_1_1_%'
- UNION ALL
- SELECT '头颅CT平扫标准-因子关联', COUNT(*) FROM qc_standard_factor WHERE standard_id = 'STD_CT_5_4_1_1';
- SET FOREIGN_KEY_CHECKS = 1;
- -- ===================================
- -- 文件说明
- -- ===================================
- -- 本文件包含了基础的影像质控因子和头颅CT平扫的完整质控标准
- -- 下一步将创建其他CT部位的质控标准(口腔颌面、眼部、鼻咽部、颈部、胸部、腹部、盆腔)
- -- 以及MR相关的质控标准
|