part2.sql 93 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024
  1. -- ===========================================================================
  2. -- 医保影像云图像质控规范 - CT检查部位质控标准 (第2批)
  3. -- 基于《医保影像云图像质控规范 (YXY-QC-2025-A1)》
  4. --
  5. -- 本文件包含以下部位的CT质控标准:
  6. -- - 5.4.2 口腔颌面 (9个检查项目)
  7. -- - 5.4.3 眼部 (2个检查项目)
  8. -- - 5.4.4 鼻咽部 (2个检查项目)
  9. --
  10. -- 检查项目总数: 13
  11. -- 质控因子总数: 104
  12. --
  13. -- 创建时间: 2026-01-13
  14. -- ===========================================================================
  15. -- 5.4.2.1 颌面部CT平扫 - 因子1: 检查范围
  16. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  17. ('CT_MAXILLO_5_4_2_1_1', 'CT_MAXILLO_5_4_2_1_1', '检查范围', 3, 'boolean',
  18. '检查范围从眉弓至舌骨或下颌骨下缘',
  19. '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 25, "expectedBodyPart": "口腔颌面", "checkCoverage": true}, "isVeto": false, "description": "检查范围从眉弓至舌骨或下颌骨下缘"}',
  20. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  21. -- 5.4.2.1 颌面部CT平扫 - 因子2: 图像偏中心
  22. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  23. ('CT_MAXILLO_5_4_2_1_2', 'CT_MAXILLO_5_4_2_1_2', '图像偏中心', 3, 'boolean',
  24. '断层位于图像正中',
  25. '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}',
  26. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  27. -- 5.4.2.1 颌面部CT平扫 - 因子3: 重建参数
  28. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  29. ('CT_MAXILLO_5_4_2_1_3', 'CT_MAXILLO_5_4_2_1_3', '重建参数', 3, 'boolean',
  30. '厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm',
  31. '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 3.0, "thickIntervalMax": 3.0, "thinSliceMax": 0.625, "thinIntervalMax": 0.625, "dfov": 18, "dfovTolerance": 2.0}, "isVeto": false, "description": "厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm"}',
  32. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  33. -- 5.4.2.1 颌面部CT平扫 - 因子4: 窗口技术
  34. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  35. ('CT_MAXILLO_5_4_2_1_4', 'CT_MAXILLO_5_4_2_1_4', '窗口技术', 3, 'boolean',
  36. '软组织窗:窗宽350~400HU,窗位35~45HU',
  37. '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 400}, "windowCenter": {"min": 35, "max": 45}}}, "isVeto": true, "description": "软组织窗:窗宽350~400HU,窗位35~45HU"}',
  38. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  39. -- 5.4.2.1 颌面部CT平扫 - 因子5: 扫描体位
  40. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  41. ('CT_MAXILLO_5_4_2_1_5', 'CT_MAXILLO_5_4_2_1_5', '扫描体位', 3, 'boolean',
  42. '仰卧位',
  43. '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位"}',
  44. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  45. -- 5.4.2.1 颌面部CT平扫 - 因子6: 图像标识
  46. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  47. ('CT_MAXILLO_5_4_2_1_6', 'CT_MAXILLO_5_4_2_1_6', '图像标识', 3, 'boolean',
  48. '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位',
  49. '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}',
  50. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  51. -- 5.4.2.1 颌面部CT平扫 - 因子7: 图像伪影
  52. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  53. ('CT_MAXILLO_5_4_2_1_7', 'CT_MAXILLO_5_4_2_1_7', '图像伪影', 3, 'boolean',
  54. '没有运动伪影以及高衰减伪影',
  55. '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "没有运动伪影以及高衰减伪影"}',
  56. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  57. -- 5.4.2.1 颌面部CT平扫 - 因子8: 图像清晰度
  58. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  59. ('CT_MAXILLO_5_4_2_1_8', 'CT_MAXILLO_5_4_2_1_8', '图像清晰度', 3, 'boolean',
  60. '能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构',
  61. '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构"}',
  62. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  63. -- 5.4.2.1 颌面部CT平扫 - 因子9: 对称性要求
  64. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  65. ('CT_MAXILLO_5_4_2_1_9', 'CT_MAXILLO_5_4_2_1_9', '对称性要求', 3, 'boolean',
  66. '双侧结构对称显示',
  67. '{"type": "opencv_check", "method": "checkSYMMETRY", "params": {"symmetryThreshold": 0.85}, "isVeto": false, "description": "双侧结构对称显示"}',
  68. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  69. -- 5.4.2.1 颌面部CT平扫 - 质控标准
  70. 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
  71. ('STD_CT_5_4_2_1', 'CT_5_4_2_1', '颌面部CT平扫质控标准', 'CT', '口腔颌面', '平扫', '颌面部CT平扫', 80,
  72. '颌面部CT平扫质控标准,包含9个质控因子',
  73. 1, NOW(), NOW());
  74. -- 5.4.2.1 颌面部CT平扫 - 标准-因子关联
  75. INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
  76. ('SF_CT_5_4_2_1_1', 'STD_CT_5_4_2_1', 'CT_MAXILLO_5_4_2_1_1', 10.00, 1, 1, NOW(), NOW()),
  77. ('SF_CT_5_4_2_1_2', 'STD_CT_5_4_2_1', 'CT_MAXILLO_5_4_2_1_2', 8.00, 1, 2, NOW(), NOW()),
  78. ('SF_CT_5_4_2_1_3', 'STD_CT_5_4_2_1', 'CT_MAXILLO_5_4_2_1_3', 10.00, 1, 3, NOW(), NOW()),
  79. ('SF_CT_5_4_2_1_4', 'STD_CT_5_4_2_1', 'CT_MAXILLO_5_4_2_1_4', 18.00, 1, 4, NOW(), NOW()),
  80. ('SF_CT_5_4_2_1_5', 'STD_CT_5_4_2_1', 'CT_MAXILLO_5_4_2_1_5', 8.00, 1, 5, NOW(), NOW()),
  81. ('SF_CT_5_4_2_1_6', 'STD_CT_5_4_2_1', 'CT_MAXILLO_5_4_2_1_6', 18.00, 1, 6, NOW(), NOW()),
  82. ('SF_CT_5_4_2_1_7', 'STD_CT_5_4_2_1', 'CT_MAXILLO_5_4_2_1_7', 16.00, 1, 7, NOW(), NOW()),
  83. ('SF_CT_5_4_2_1_8', 'STD_CT_5_4_2_1', 'CT_MAXILLO_5_4_2_1_8', 12.00, 1, 8, NOW(), NOW()),
  84. ('SF_CT_5_4_2_1_9', 'STD_CT_5_4_2_1', 'CT_MAXILLO_5_4_2_1_9', 10.00, 1, 9, NOW(), NOW());
  85. -- 5.4.2.2 颌面部CT增强 - 因子1: 检查范围
  86. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  87. ('CT_MAXILLO_5_4_2_2_1', 'CT_MAXILLO_5_4_2_2_1', '检查范围', 3, 'boolean',
  88. '检查范围从眉弓至舌骨或下颌骨下缘',
  89. '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 25, "expectedBodyPart": "口腔颌面", "checkCoverage": true}, "isVeto": false, "description": "检查范围从眉弓至舌骨或下颌骨下缘"}',
  90. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  91. -- 5.4.2.2 颌面部CT增强 - 因子2: 图像偏中心
  92. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  93. ('CT_MAXILLO_5_4_2_2_2', 'CT_MAXILLO_5_4_2_2_2', '图像偏中心', 3, 'boolean',
  94. '断层位于图像正中',
  95. '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}',
  96. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  97. -- 5.4.2.2 颌面部CT增强 - 因子3: 重建参数
  98. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  99. ('CT_MAXILLO_5_4_2_2_3', 'CT_MAXILLO_5_4_2_2_3', '重建参数', 3, 'boolean',
  100. '厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm',
  101. '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 3.0, "thickIntervalMax": 3.0, "thinSliceMax": 0.625, "thinIntervalMax": 0.625, "dfov": 18, "dfovTolerance": 2.0}, "isVeto": false, "description": "厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm"}',
  102. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  103. -- 5.4.2.2 颌面部CT增强 - 因子4: 窗口技术
  104. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  105. ('CT_MAXILLO_5_4_2_2_4', 'CT_MAXILLO_5_4_2_2_4', '窗口技术', 3, 'boolean',
  106. '软组织窗:窗宽350~400HU,窗位35~45HU',
  107. '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 400}, "windowCenter": {"min": 35, "max": 45}}}, "isVeto": true, "description": "软组织窗:窗宽350~400HU,窗位35~45HU"}',
  108. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  109. -- 5.4.2.2 颌面部CT增强 - 因子5: 扫描体位
  110. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  111. ('CT_MAXILLO_5_4_2_2_5', 'CT_MAXILLO_5_4_2_2_5', '扫描体位', 3, 'boolean',
  112. '仰卧位',
  113. '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位"}',
  114. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  115. -- 5.4.2.2 颌面部CT增强 - 因子6: 图像标识
  116. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  117. ('CT_MAXILLO_5_4_2_2_6', 'CT_MAXILLO_5_4_2_2_6', '图像标识', 3, 'boolean',
  118. '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位',
  119. '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}',
  120. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  121. -- 5.4.2.2 颌面部CT增强 - 因子7: 图像伪影
  122. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  123. ('CT_MAXILLO_5_4_2_2_7', 'CT_MAXILLO_5_4_2_2_7', '图像伪影', 3, 'boolean',
  124. '没有运动伪影以及高衰减伪影',
  125. '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "没有运动伪影以及高衰减伪影"}',
  126. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  127. -- 5.4.2.2 颌面部CT增强 - 因子8: 图像清晰度
  128. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  129. ('CT_MAXILLO_5_4_2_2_8', 'CT_MAXILLO_5_4_2_2_8', '图像清晰度', 3, 'boolean',
  130. '能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构',
  131. '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构"}',
  132. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  133. -- 5.4.2.2 颌面部CT增强 - 质控标准
  134. 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
  135. ('STD_CT_5_4_2_2', 'CT_5_4_2_2', '颌面部CT增强质控标准', 'CT', '口腔颌面', '增强', '颌面部CT增强', 80,
  136. '颌面部CT增强质控标准,包含8个质控因子',
  137. 1, NOW(), NOW());
  138. -- 5.4.2.2 颌面部CT增强 - 标准-因子关联
  139. INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
  140. ('SF_CT_5_4_2_2_1', 'STD_CT_5_4_2_2', 'CT_MAXILLO_5_4_2_2_1', 10.00, 1, 1, NOW(), NOW()),
  141. ('SF_CT_5_4_2_2_2', 'STD_CT_5_4_2_2', 'CT_MAXILLO_5_4_2_2_2', 8.00, 1, 2, NOW(), NOW()),
  142. ('SF_CT_5_4_2_2_3', 'STD_CT_5_4_2_2', 'CT_MAXILLO_5_4_2_2_3', 10.00, 1, 3, NOW(), NOW()),
  143. ('SF_CT_5_4_2_2_4', 'STD_CT_5_4_2_2', 'CT_MAXILLO_5_4_2_2_4', 18.00, 1, 4, NOW(), NOW()),
  144. ('SF_CT_5_4_2_2_5', 'STD_CT_5_4_2_2', 'CT_MAXILLO_5_4_2_2_5', 8.00, 1, 5, NOW(), NOW()),
  145. ('SF_CT_5_4_2_2_6', 'STD_CT_5_4_2_2', 'CT_MAXILLO_5_4_2_2_6', 18.00, 1, 6, NOW(), NOW()),
  146. ('SF_CT_5_4_2_2_7', 'STD_CT_5_4_2_2', 'CT_MAXILLO_5_4_2_2_7', 16.00, 1, 7, NOW(), NOW()),
  147. ('SF_CT_5_4_2_2_8', 'STD_CT_5_4_2_2', 'CT_MAXILLO_5_4_2_2_8', 12.00, 0, 8, NOW(), NOW());
  148. -- 5.4.2.3 上颌骨CT平扫 - 因子1: 检查范围
  149. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  150. ('CT_MAXILLA_5_4_2_3_1', 'CT_MAXILLA_5_4_2_3_1', '检查范围', 3, 'boolean',
  151. '检查范围从眼眶上缘至牙槽突下缘',
  152. '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 25, "expectedBodyPart": "口腔颌面", "checkCoverage": true}, "isVeto": false, "description": "检查范围从眼眶上缘至牙槽突下缘"}',
  153. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  154. -- 5.4.2.3 上颌骨CT平扫 - 因子2: 图像偏中心
  155. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  156. ('CT_MAXILLA_5_4_2_3_2', 'CT_MAXILLA_5_4_2_3_2', '图像偏中心', 3, 'boolean',
  157. '断层位于图像正中',
  158. '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}',
  159. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  160. -- 5.4.2.3 上颌骨CT平扫 - 因子3: 重建参数
  161. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  162. ('CT_MAXILLA_5_4_2_3_3', 'CT_MAXILLA_5_4_2_3_3', '重建参数', 3, 'boolean',
  163. '厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm',
  164. '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 3.0, "thickIntervalMax": 3.0, "thinSliceMax": 0.625, "thinIntervalMax": 0.625, "dfov": 18, "dfovTolerance": 2.0}, "isVeto": false, "description": "厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm"}',
  165. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  166. -- 5.4.2.3 上颌骨CT平扫 - 因子4: 窗口技术
  167. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  168. ('CT_MAXILLA_5_4_2_3_4', 'CT_MAXILLA_5_4_2_3_4', '窗口技术', 3, 'boolean',
  169. '软组织窗:窗宽350~400HU,窗位35~45HU',
  170. '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 400}, "windowCenter": {"min": 35, "max": 45}}}, "isVeto": true, "description": "软组织窗:窗宽350~400HU,窗位35~45HU"}',
  171. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  172. -- 5.4.2.3 上颌骨CT平扫 - 因子5: 扫描体位
  173. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  174. ('CT_MAXILLA_5_4_2_3_5', 'CT_MAXILLA_5_4_2_3_5', '扫描体位', 3, 'boolean',
  175. '仰卧位',
  176. '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位"}',
  177. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  178. -- 5.4.2.3 上颌骨CT平扫 - 因子6: 图像标识
  179. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  180. ('CT_MAXILLA_5_4_2_3_6', 'CT_MAXILLA_5_4_2_3_6', '图像标识', 3, 'boolean',
  181. '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位',
  182. '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}',
  183. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  184. -- 5.4.2.3 上颌骨CT平扫 - 因子7: 图像伪影
  185. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  186. ('CT_MAXILLA_5_4_2_3_7', 'CT_MAXILLA_5_4_2_3_7', '图像伪影', 3, 'boolean',
  187. '没有运动伪影以及高衰减伪影',
  188. '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "没有运动伪影以及高衰减伪影"}',
  189. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  190. -- 5.4.2.3 上颌骨CT平扫 - 因子8: 图像清晰度
  191. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  192. ('CT_MAXILLA_5_4_2_3_8', 'CT_MAXILLA_5_4_2_3_8', '图像清晰度', 3, 'boolean',
  193. '能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构',
  194. '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构"}',
  195. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  196. -- 5.4.2.3 上颌骨CT平扫 - 因子9: 对称性要求
  197. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  198. ('CT_MAXILLA_5_4_2_3_9', 'CT_MAXILLA_5_4_2_3_9', '对称性要求', 3, 'boolean',
  199. '双侧结构对称显示',
  200. '{"type": "opencv_check", "method": "checkSYMMETRY", "params": {"symmetryThreshold": 0.85}, "isVeto": false, "description": "双侧结构对称显示"}',
  201. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  202. -- 5.4.2.3 上颌骨CT平扫 - 质控标准
  203. 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
  204. ('STD_CT_5_4_2_3', 'CT_5_4_2_3', '上颌骨CT平扫质控标准', 'CT', '口腔颌面', '平扫', '上颌骨CT平扫', 80,
  205. '上颌骨CT平扫质控标准,包含9个质控因子',
  206. 1, NOW(), NOW());
  207. -- 5.4.2.3 上颌骨CT平扫 - 标准-因子关联
  208. INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
  209. ('SF_CT_5_4_2_3_1', 'STD_CT_5_4_2_3', 'CT_MAXILLA_5_4_2_3_1', 10.00, 1, 1, NOW(), NOW()),
  210. ('SF_CT_5_4_2_3_2', 'STD_CT_5_4_2_3', 'CT_MAXILLA_5_4_2_3_2', 8.00, 1, 2, NOW(), NOW()),
  211. ('SF_CT_5_4_2_3_3', 'STD_CT_5_4_2_3', 'CT_MAXILLA_5_4_2_3_3', 10.00, 1, 3, NOW(), NOW()),
  212. ('SF_CT_5_4_2_3_4', 'STD_CT_5_4_2_3', 'CT_MAXILLA_5_4_2_3_4', 18.00, 1, 4, NOW(), NOW()),
  213. ('SF_CT_5_4_2_3_5', 'STD_CT_5_4_2_3', 'CT_MAXILLA_5_4_2_3_5', 8.00, 1, 5, NOW(), NOW()),
  214. ('SF_CT_5_4_2_3_6', 'STD_CT_5_4_2_3', 'CT_MAXILLA_5_4_2_3_6', 18.00, 1, 6, NOW(), NOW()),
  215. ('SF_CT_5_4_2_3_7', 'STD_CT_5_4_2_3', 'CT_MAXILLA_5_4_2_3_7', 16.00, 1, 7, NOW(), NOW()),
  216. ('SF_CT_5_4_2_3_8', 'STD_CT_5_4_2_3', 'CT_MAXILLA_5_4_2_3_8', 12.00, 1, 8, NOW(), NOW()),
  217. ('SF_CT_5_4_2_3_9', 'STD_CT_5_4_2_3', 'CT_MAXILLA_5_4_2_3_9', 10.00, 1, 9, NOW(), NOW());
  218. -- 5.4.2.4 下颌骨CT平扫 - 因子1: 检查范围
  219. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  220. ('CT_MANDIBLE_5_4_2_4_1', 'CT_MANDIBLE_5_4_2_4_1', '检查范围', 3, 'boolean',
  221. '检查范围从颞下颌关节上缘至舌骨',
  222. '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 25, "expectedBodyPart": "口腔颌面", "checkCoverage": true}, "isVeto": false, "description": "检查范围从颞下颌关节上缘至舌骨"}',
  223. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  224. -- 5.4.2.4 下颌骨CT平扫 - 因子2: 图像偏中心
  225. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  226. ('CT_MANDIBLE_5_4_2_4_2', 'CT_MANDIBLE_5_4_2_4_2', '图像偏中心', 3, 'boolean',
  227. '断层位于图像正中',
  228. '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}',
  229. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  230. -- 5.4.2.4 下颌骨CT平扫 - 因子3: 重建参数
  231. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  232. ('CT_MANDIBLE_5_4_2_4_3', 'CT_MANDIBLE_5_4_2_4_3', '重建参数', 3, 'boolean',
  233. '厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm',
  234. '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 3.0, "thickIntervalMax": 3.0, "thinSliceMax": 0.625, "thinIntervalMax": 0.625, "dfov": 18, "dfovTolerance": 2.0}, "isVeto": false, "description": "厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm"}',
  235. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  236. -- 5.4.2.4 下颌骨CT平扫 - 因子4: 窗口技术
  237. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  238. ('CT_MANDIBLE_5_4_2_4_4', 'CT_MANDIBLE_5_4_2_4_4', '窗口技术', 3, 'boolean',
  239. '软组织窗:窗宽350~400HU,窗位35~45HU',
  240. '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 400}, "windowCenter": {"min": 35, "max": 45}}}, "isVeto": true, "description": "软组织窗:窗宽350~400HU,窗位35~45HU"}',
  241. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  242. -- 5.4.2.4 下颌骨CT平扫 - 因子5: 扫描体位
  243. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  244. ('CT_MANDIBLE_5_4_2_4_5', 'CT_MANDIBLE_5_4_2_4_5', '扫描体位', 3, 'boolean',
  245. '仰卧位',
  246. '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位"}',
  247. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  248. -- 5.4.2.4 下颌骨CT平扫 - 因子6: 图像标识
  249. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  250. ('CT_MANDIBLE_5_4_2_4_6', 'CT_MANDIBLE_5_4_2_4_6', '图像标识', 3, 'boolean',
  251. '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位',
  252. '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}',
  253. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  254. -- 5.4.2.4 下颌骨CT平扫 - 因子7: 图像伪影
  255. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  256. ('CT_MANDIBLE_5_4_2_4_7', 'CT_MANDIBLE_5_4_2_4_7', '图像伪影', 3, 'boolean',
  257. '没有运动伪影以及高衰减伪影',
  258. '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "没有运动伪影以及高衰减伪影"}',
  259. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  260. -- 5.4.2.4 下颌骨CT平扫 - 因子8: 图像清晰度
  261. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  262. ('CT_MANDIBLE_5_4_2_4_8', 'CT_MANDIBLE_5_4_2_4_8', '图像清晰度', 3, 'boolean',
  263. '能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构',
  264. '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构"}',
  265. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  266. -- 5.4.2.4 下颌骨CT平扫 - 因子9: 对称性要求
  267. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  268. ('CT_MANDIBLE_5_4_2_4_9', 'CT_MANDIBLE_5_4_2_4_9', '对称性要求', 3, 'boolean',
  269. '双侧结构对称显示',
  270. '{"type": "opencv_check", "method": "checkSYMMETRY", "params": {"symmetryThreshold": 0.85}, "isVeto": false, "description": "双侧结构对称显示"}',
  271. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  272. -- 5.4.2.4 下颌骨CT平扫 - 质控标准
  273. 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
  274. ('STD_CT_5_4_2_4', 'CT_5_4_2_4', '下颌骨CT平扫质控标准', 'CT', '口腔颌面', '平扫', '下颌骨CT平扫', 80,
  275. '下颌骨CT平扫质控标准,包含9个质控因子',
  276. 1, NOW(), NOW());
  277. -- 5.4.2.4 下颌骨CT平扫 - 标准-因子关联
  278. INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
  279. ('SF_CT_5_4_2_4_1', 'STD_CT_5_4_2_4', 'CT_MANDIBLE_5_4_2_4_1', 10.00, 1, 1, NOW(), NOW()),
  280. ('SF_CT_5_4_2_4_2', 'STD_CT_5_4_2_4', 'CT_MANDIBLE_5_4_2_4_2', 8.00, 1, 2, NOW(), NOW()),
  281. ('SF_CT_5_4_2_4_3', 'STD_CT_5_4_2_4', 'CT_MANDIBLE_5_4_2_4_3', 10.00, 1, 3, NOW(), NOW()),
  282. ('SF_CT_5_4_2_4_4', 'STD_CT_5_4_2_4', 'CT_MANDIBLE_5_4_2_4_4', 18.00, 1, 4, NOW(), NOW()),
  283. ('SF_CT_5_4_2_4_5', 'STD_CT_5_4_2_4', 'CT_MANDIBLE_5_4_2_4_5', 8.00, 1, 5, NOW(), NOW()),
  284. ('SF_CT_5_4_2_4_6', 'STD_CT_5_4_2_4', 'CT_MANDIBLE_5_4_2_4_6', 18.00, 1, 6, NOW(), NOW()),
  285. ('SF_CT_5_4_2_4_7', 'STD_CT_5_4_2_4', 'CT_MANDIBLE_5_4_2_4_7', 16.00, 1, 7, NOW(), NOW()),
  286. ('SF_CT_5_4_2_4_8', 'STD_CT_5_4_2_4', 'CT_MANDIBLE_5_4_2_4_8', 12.00, 1, 8, NOW(), NOW()),
  287. ('SF_CT_5_4_2_4_9', 'STD_CT_5_4_2_4', 'CT_MANDIBLE_5_4_2_4_9', 10.00, 1, 9, NOW(), NOW());
  288. -- 5.4.2.5 腮腺CT平扫 - 因子1: 检查范围
  289. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  290. ('CT_PAROTID_5_4_2_5_1', 'CT_PAROTID_5_4_2_5_1', '检查范围', 3, 'boolean',
  291. '检查范围从外耳道上缘至下颌角',
  292. '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 25, "expectedBodyPart": "口腔颌面", "checkCoverage": true}, "isVeto": false, "description": "检查范围从外耳道上缘至下颌角"}',
  293. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  294. -- 5.4.2.5 腮腺CT平扫 - 因子2: 图像偏中心
  295. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  296. ('CT_PAROTID_5_4_2_5_2', 'CT_PAROTID_5_4_2_5_2', '图像偏中心', 3, 'boolean',
  297. '断层位于图像正中',
  298. '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}',
  299. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  300. -- 5.4.2.5 腮腺CT平扫 - 因子3: 重建参数
  301. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  302. ('CT_PAROTID_5_4_2_5_3', 'CT_PAROTID_5_4_2_5_3', '重建参数', 3, 'boolean',
  303. '厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm',
  304. '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 3.0, "thickIntervalMax": 3.0, "thinSliceMax": 0.625, "thinIntervalMax": 0.625, "dfov": 18, "dfovTolerance": 2.0}, "isVeto": false, "description": "厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm"}',
  305. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  306. -- 5.4.2.5 腮腺CT平扫 - 因子4: 窗口技术
  307. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  308. ('CT_PAROTID_5_4_2_5_4', 'CT_PAROTID_5_4_2_5_4', '窗口技术', 3, 'boolean',
  309. '软组织窗:窗宽350~400HU,窗位35~45HU',
  310. '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 400}, "windowCenter": {"min": 35, "max": 45}}}, "isVeto": true, "description": "软组织窗:窗宽350~400HU,窗位35~45HU"}',
  311. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  312. -- 5.4.2.5 腮腺CT平扫 - 因子5: 扫描体位
  313. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  314. ('CT_PAROTID_5_4_2_5_5', 'CT_PAROTID_5_4_2_5_5', '扫描体位', 3, 'boolean',
  315. '仰卧位',
  316. '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位"}',
  317. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  318. -- 5.4.2.5 腮腺CT平扫 - 因子6: 图像标识
  319. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  320. ('CT_PAROTID_5_4_2_5_6', 'CT_PAROTID_5_4_2_5_6', '图像标识', 3, 'boolean',
  321. '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位',
  322. '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}',
  323. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  324. -- 5.4.2.5 腮腺CT平扫 - 因子7: 图像伪影
  325. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  326. ('CT_PAROTID_5_4_2_5_7', 'CT_PAROTID_5_4_2_5_7', '图像伪影', 3, 'boolean',
  327. '没有运动伪影以及高衰减伪影',
  328. '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "没有运动伪影以及高衰减伪影"}',
  329. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  330. -- 5.4.2.5 腮腺CT平扫 - 因子8: 图像清晰度
  331. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  332. ('CT_PAROTID_5_4_2_5_8', 'CT_PAROTID_5_4_2_5_8', '图像清晰度', 3, 'boolean',
  333. '能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构',
  334. '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构"}',
  335. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  336. -- 5.4.2.5 腮腺CT平扫 - 因子9: 对称性要求
  337. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  338. ('CT_PAROTID_5_4_2_5_9', 'CT_PAROTID_5_4_2_5_9', '对称性要求', 3, 'boolean',
  339. '双侧结构对称显示',
  340. '{"type": "opencv_check", "method": "checkSYMMETRY", "params": {"symmetryThreshold": 0.85}, "isVeto": false, "description": "双侧结构对称显示"}',
  341. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  342. -- 5.4.2.5 腮腺CT平扫 - 质控标准
  343. 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
  344. ('STD_CT_5_4_2_5', 'CT_5_4_2_5', '腮腺CT平扫质控标准', 'CT', '口腔颌面', '平扫', '腮腺CT平扫', 80,
  345. '腮腺CT平扫质控标准,包含9个质控因子',
  346. 1, NOW(), NOW());
  347. -- 5.4.2.5 腮腺CT平扫 - 标准-因子关联
  348. INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
  349. ('SF_CT_5_4_2_5_1', 'STD_CT_5_4_2_5', 'CT_PAROTID_5_4_2_5_1', 10.00, 1, 1, NOW(), NOW()),
  350. ('SF_CT_5_4_2_5_2', 'STD_CT_5_4_2_5', 'CT_PAROTID_5_4_2_5_2', 8.00, 1, 2, NOW(), NOW()),
  351. ('SF_CT_5_4_2_5_3', 'STD_CT_5_4_2_5', 'CT_PAROTID_5_4_2_5_3', 10.00, 1, 3, NOW(), NOW()),
  352. ('SF_CT_5_4_2_5_4', 'STD_CT_5_4_2_5', 'CT_PAROTID_5_4_2_5_4', 18.00, 1, 4, NOW(), NOW()),
  353. ('SF_CT_5_4_2_5_5', 'STD_CT_5_4_2_5', 'CT_PAROTID_5_4_2_5_5', 8.00, 1, 5, NOW(), NOW()),
  354. ('SF_CT_5_4_2_5_6', 'STD_CT_5_4_2_5', 'CT_PAROTID_5_4_2_5_6', 18.00, 1, 6, NOW(), NOW()),
  355. ('SF_CT_5_4_2_5_7', 'STD_CT_5_4_2_5', 'CT_PAROTID_5_4_2_5_7', 16.00, 1, 7, NOW(), NOW()),
  356. ('SF_CT_5_4_2_5_8', 'STD_CT_5_4_2_5', 'CT_PAROTID_5_4_2_5_8', 12.00, 1, 8, NOW(), NOW()),
  357. ('SF_CT_5_4_2_5_9', 'STD_CT_5_4_2_5', 'CT_PAROTID_5_4_2_5_9', 10.00, 1, 9, NOW(), NOW());
  358. -- 5.4.2.6 腮腺CT增强 - 因子1: 检查范围
  359. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  360. ('CT_PAROTID_5_4_2_6_1', 'CT_PAROTID_5_4_2_6_1', '检查范围', 3, 'boolean',
  361. '检查范围从外耳道上缘至下颌角',
  362. '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 25, "expectedBodyPart": "口腔颌面", "checkCoverage": true}, "isVeto": false, "description": "检查范围从外耳道上缘至下颌角"}',
  363. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  364. -- 5.4.2.6 腮腺CT增强 - 因子2: 图像偏中心
  365. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  366. ('CT_PAROTID_5_4_2_6_2', 'CT_PAROTID_5_4_2_6_2', '图像偏中心', 3, 'boolean',
  367. '断层位于图像正中',
  368. '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}',
  369. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  370. -- 5.4.2.6 腮腺CT增强 - 因子3: 重建参数
  371. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  372. ('CT_PAROTID_5_4_2_6_3', 'CT_PAROTID_5_4_2_6_3', '重建参数', 3, 'boolean',
  373. '厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm',
  374. '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 3.0, "thickIntervalMax": 3.0, "thinSliceMax": 0.625, "thinIntervalMax": 0.625, "dfov": 18, "dfovTolerance": 2.0}, "isVeto": false, "description": "厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm"}',
  375. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  376. -- 5.4.2.6 腮腺CT增强 - 因子4: 窗口技术
  377. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  378. ('CT_PAROTID_5_4_2_6_4', 'CT_PAROTID_5_4_2_6_4', '窗口技术', 3, 'boolean',
  379. '软组织窗:窗宽350~400HU,窗位35~45HU',
  380. '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 400}, "windowCenter": {"min": 35, "max": 45}}}, "isVeto": true, "description": "软组织窗:窗宽350~400HU,窗位35~45HU"}',
  381. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  382. -- 5.4.2.6 腮腺CT增强 - 因子5: 扫描体位
  383. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  384. ('CT_PAROTID_5_4_2_6_5', 'CT_PAROTID_5_4_2_6_5', '扫描体位', 3, 'boolean',
  385. '仰卧位',
  386. '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位"}',
  387. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  388. -- 5.4.2.6 腮腺CT增强 - 因子6: 图像标识
  389. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  390. ('CT_PAROTID_5_4_2_6_6', 'CT_PAROTID_5_4_2_6_6', '图像标识', 3, 'boolean',
  391. '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位',
  392. '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}',
  393. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  394. -- 5.4.2.6 腮腺CT增强 - 因子7: 图像伪影
  395. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  396. ('CT_PAROTID_5_4_2_6_7', 'CT_PAROTID_5_4_2_6_7', '图像伪影', 3, 'boolean',
  397. '没有运动伪影以及高衰减伪影',
  398. '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "没有运动伪影以及高衰减伪影"}',
  399. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  400. -- 5.4.2.6 腮腺CT增强 - 因子8: 图像清晰度
  401. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  402. ('CT_PAROTID_5_4_2_6_8', 'CT_PAROTID_5_4_2_6_8', '图像清晰度', 3, 'boolean',
  403. '能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构',
  404. '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构"}',
  405. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  406. -- 5.4.2.6 腮腺CT增强 - 质控标准
  407. 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
  408. ('STD_CT_5_4_2_6', 'CT_5_4_2_6', '腮腺CT增强质控标准', 'CT', '口腔颌面', '增强', '腮腺CT增强', 80,
  409. '腮腺CT增强质控标准,包含8个质控因子',
  410. 1, NOW(), NOW());
  411. -- 5.4.2.6 腮腺CT增强 - 标准-因子关联
  412. INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
  413. ('SF_CT_5_4_2_6_1', 'STD_CT_5_4_2_6', 'CT_PAROTID_5_4_2_6_1', 10.00, 1, 1, NOW(), NOW()),
  414. ('SF_CT_5_4_2_6_2', 'STD_CT_5_4_2_6', 'CT_PAROTID_5_4_2_6_2', 8.00, 1, 2, NOW(), NOW()),
  415. ('SF_CT_5_4_2_6_3', 'STD_CT_5_4_2_6', 'CT_PAROTID_5_4_2_6_3', 10.00, 1, 3, NOW(), NOW()),
  416. ('SF_CT_5_4_2_6_4', 'STD_CT_5_4_2_6', 'CT_PAROTID_5_4_2_6_4', 18.00, 1, 4, NOW(), NOW()),
  417. ('SF_CT_5_4_2_6_5', 'STD_CT_5_4_2_6', 'CT_PAROTID_5_4_2_6_5', 8.00, 1, 5, NOW(), NOW()),
  418. ('SF_CT_5_4_2_6_6', 'STD_CT_5_4_2_6', 'CT_PAROTID_5_4_2_6_6', 18.00, 1, 6, NOW(), NOW()),
  419. ('SF_CT_5_4_2_6_7', 'STD_CT_5_4_2_6', 'CT_PAROTID_5_4_2_6_7', 16.00, 1, 7, NOW(), NOW()),
  420. ('SF_CT_5_4_2_6_8', 'STD_CT_5_4_2_6', 'CT_PAROTID_5_4_2_6_8', 12.00, 0, 8, NOW(), NOW());
  421. -- 5.4.2.7 鼻窦CT平扫 - 因子1: 检查范围
  422. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  423. ('CT_SINUS_5_4_2_7_1', 'CT_SINUS_5_4_2_7_1', '检查范围', 3, 'boolean',
  424. '检查范围从额窦上缘至上颌骨下缘',
  425. '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 25, "expectedBodyPart": "口腔颌面", "checkCoverage": true}, "isVeto": false, "description": "检查范围从额窦上缘至上颌骨下缘"}',
  426. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  427. -- 5.4.2.7 鼻窦CT平扫 - 因子2: 图像偏中心
  428. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  429. ('CT_SINUS_5_4_2_7_2', 'CT_SINUS_5_4_2_7_2', '图像偏中心', 3, 'boolean',
  430. '断层位于图像正中',
  431. '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}',
  432. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  433. -- 5.4.2.7 鼻窦CT平扫 - 因子3: 重建参数
  434. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  435. ('CT_SINUS_5_4_2_7_3', 'CT_SINUS_5_4_2_7_3', '重建参数', 3, 'boolean',
  436. '厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm',
  437. '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 3.0, "thickIntervalMax": 3.0, "thinSliceMax": 0.625, "thinIntervalMax": 0.625, "dfov": 18, "dfovTolerance": 2.0}, "isVeto": false, "description": "厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm"}',
  438. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  439. -- 5.4.2.7 鼻窦CT平扫 - 因子4: 窗口技术
  440. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  441. ('CT_SINUS_5_4_2_7_4', 'CT_SINUS_5_4_2_7_4', '窗口技术', 3, 'boolean',
  442. '软组织窗:窗宽350~400HU,窗位35~45HU',
  443. '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 400}, "windowCenter": {"min": 35, "max": 45}}}, "isVeto": true, "description": "软组织窗:窗宽350~400HU,窗位35~45HU"}',
  444. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  445. -- 5.4.2.7 鼻窦CT平扫 - 因子5: 扫描体位
  446. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  447. ('CT_SINUS_5_4_2_7_5', 'CT_SINUS_5_4_2_7_5', '扫描体位', 3, 'boolean',
  448. '仰卧位',
  449. '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位"}',
  450. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  451. -- 5.4.2.7 鼻窦CT平扫 - 因子6: 图像标识
  452. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  453. ('CT_SINUS_5_4_2_7_6', 'CT_SINUS_5_4_2_7_6', '图像标识', 3, 'boolean',
  454. '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位',
  455. '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}',
  456. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  457. -- 5.4.2.7 鼻窦CT平扫 - 因子7: 图像伪影
  458. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  459. ('CT_SINUS_5_4_2_7_7', 'CT_SINUS_5_4_2_7_7', '图像伪影', 3, 'boolean',
  460. '没有运动伪影以及高衰减伪影',
  461. '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "没有运动伪影以及高衰减伪影"}',
  462. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  463. -- 5.4.2.7 鼻窦CT平扫 - 因子8: 图像清晰度
  464. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  465. ('CT_SINUS_5_4_2_7_8', 'CT_SINUS_5_4_2_7_8', '图像清晰度', 3, 'boolean',
  466. '能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构',
  467. '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构"}',
  468. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  469. -- 5.4.2.7 鼻窦CT平扫 - 因子9: 对称性要求
  470. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  471. ('CT_SINUS_5_4_2_7_9', 'CT_SINUS_5_4_2_7_9', '对称性要求', 3, 'boolean',
  472. '双侧结构对称显示',
  473. '{"type": "opencv_check", "method": "checkSYMMETRY", "params": {"symmetryThreshold": 0.85}, "isVeto": false, "description": "双侧结构对称显示"}',
  474. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  475. -- 5.4.2.7 鼻窦CT平扫 - 质控标准
  476. 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
  477. ('STD_CT_5_4_2_7', 'CT_5_4_2_7', '鼻窦CT平扫质控标准', 'CT', '口腔颌面', '平扫', '鼻窦CT平扫', 80,
  478. '鼻窦CT平扫质控标准,包含9个质控因子',
  479. 1, NOW(), NOW());
  480. -- 5.4.2.7 鼻窦CT平扫 - 标准-因子关联
  481. INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
  482. ('SF_CT_5_4_2_7_1', 'STD_CT_5_4_2_7', 'CT_SINUS_5_4_2_7_1', 10.00, 1, 1, NOW(), NOW()),
  483. ('SF_CT_5_4_2_7_2', 'STD_CT_5_4_2_7', 'CT_SINUS_5_4_2_7_2', 8.00, 1, 2, NOW(), NOW()),
  484. ('SF_CT_5_4_2_7_3', 'STD_CT_5_4_2_7', 'CT_SINUS_5_4_2_7_3', 10.00, 1, 3, NOW(), NOW()),
  485. ('SF_CT_5_4_2_7_4', 'STD_CT_5_4_2_7', 'CT_SINUS_5_4_2_7_4', 18.00, 1, 4, NOW(), NOW()),
  486. ('SF_CT_5_4_2_7_5', 'STD_CT_5_4_2_7', 'CT_SINUS_5_4_2_7_5', 8.00, 1, 5, NOW(), NOW()),
  487. ('SF_CT_5_4_2_7_6', 'STD_CT_5_4_2_7', 'CT_SINUS_5_4_2_7_6', 18.00, 1, 6, NOW(), NOW()),
  488. ('SF_CT_5_4_2_7_7', 'STD_CT_5_4_2_7', 'CT_SINUS_5_4_2_7_7', 16.00, 1, 7, NOW(), NOW()),
  489. ('SF_CT_5_4_2_7_8', 'STD_CT_5_4_2_7', 'CT_SINUS_5_4_2_7_8', 12.00, 1, 8, NOW(), NOW()),
  490. ('SF_CT_5_4_2_7_9', 'STD_CT_5_4_2_7', 'CT_SINUS_5_4_2_7_9', 10.00, 1, 9, NOW(), NOW());
  491. -- 5.4.2.8 鼻窦CT增强 - 因子1: 检查范围
  492. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  493. ('CT_SINUS_5_4_2_8_1', 'CT_SINUS_5_4_2_8_1', '检查范围', 3, 'boolean',
  494. '检查范围从额窦上缘至上颌骨下缘',
  495. '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 25, "expectedBodyPart": "口腔颌面", "checkCoverage": true}, "isVeto": false, "description": "检查范围从额窦上缘至上颌骨下缘"}',
  496. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  497. -- 5.4.2.8 鼻窦CT增强 - 因子2: 图像偏中心
  498. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  499. ('CT_SINUS_5_4_2_8_2', 'CT_SINUS_5_4_2_8_2', '图像偏中心', 3, 'boolean',
  500. '断层位于图像正中',
  501. '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}',
  502. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  503. -- 5.4.2.8 鼻窦CT增强 - 因子3: 重建参数
  504. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  505. ('CT_SINUS_5_4_2_8_3', 'CT_SINUS_5_4_2_8_3', '重建参数', 3, 'boolean',
  506. '厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm',
  507. '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 3.0, "thickIntervalMax": 3.0, "thinSliceMax": 0.625, "thinIntervalMax": 0.625, "dfov": 18, "dfovTolerance": 2.0}, "isVeto": false, "description": "厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm"}',
  508. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  509. -- 5.4.2.8 鼻窦CT增强 - 因子4: 窗口技术
  510. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  511. ('CT_SINUS_5_4_2_8_4', 'CT_SINUS_5_4_2_8_4', '窗口技术', 3, 'boolean',
  512. '软组织窗:窗宽350~400HU,窗位35~45HU',
  513. '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 400}, "windowCenter": {"min": 35, "max": 45}}}, "isVeto": true, "description": "软组织窗:窗宽350~400HU,窗位35~45HU"}',
  514. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  515. -- 5.4.2.8 鼻窦CT增强 - 因子5: 扫描体位
  516. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  517. ('CT_SINUS_5_4_2_8_5', 'CT_SINUS_5_4_2_8_5', '扫描体位', 3, 'boolean',
  518. '仰卧位',
  519. '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位"}',
  520. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  521. -- 5.4.2.8 鼻窦CT增强 - 因子6: 图像标识
  522. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  523. ('CT_SINUS_5_4_2_8_6', 'CT_SINUS_5_4_2_8_6', '图像标识', 3, 'boolean',
  524. '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位',
  525. '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}',
  526. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  527. -- 5.4.2.8 鼻窦CT增强 - 因子7: 图像伪影
  528. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  529. ('CT_SINUS_5_4_2_8_7', 'CT_SINUS_5_4_2_8_7', '图像伪影', 3, 'boolean',
  530. '没有运动伪影以及高衰减伪影',
  531. '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "没有运动伪影以及高衰减伪影"}',
  532. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  533. -- 5.4.2.8 鼻窦CT增强 - 因子8: 图像清晰度
  534. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  535. ('CT_SINUS_5_4_2_8_8', 'CT_SINUS_5_4_2_8_8', '图像清晰度', 3, 'boolean',
  536. '能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构',
  537. '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构"}',
  538. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  539. -- 5.4.2.8 鼻窦CT增强 - 质控标准
  540. 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
  541. ('STD_CT_5_4_2_8', 'CT_5_4_2_8', '鼻窦CT增强质控标准', 'CT', '口腔颌面', '增强', '鼻窦CT增强', 80,
  542. '鼻窦CT增强质控标准,包含8个质控因子',
  543. 1, NOW(), NOW());
  544. -- 5.4.2.8 鼻窦CT增强 - 标准-因子关联
  545. INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
  546. ('SF_CT_5_4_2_8_1', 'STD_CT_5_4_2_8', 'CT_SINUS_5_4_2_8_1', 10.00, 1, 1, NOW(), NOW()),
  547. ('SF_CT_5_4_2_8_2', 'STD_CT_5_4_2_8', 'CT_SINUS_5_4_2_8_2', 8.00, 1, 2, NOW(), NOW()),
  548. ('SF_CT_5_4_2_8_3', 'STD_CT_5_4_2_8', 'CT_SINUS_5_4_2_8_3', 10.00, 1, 3, NOW(), NOW()),
  549. ('SF_CT_5_4_2_8_4', 'STD_CT_5_4_2_8', 'CT_SINUS_5_4_2_8_4', 18.00, 1, 4, NOW(), NOW()),
  550. ('SF_CT_5_4_2_8_5', 'STD_CT_5_4_2_8', 'CT_SINUS_5_4_2_8_5', 8.00, 1, 5, NOW(), NOW()),
  551. ('SF_CT_5_4_2_8_6', 'STD_CT_5_4_2_8', 'CT_SINUS_5_4_2_8_6', 18.00, 1, 6, NOW(), NOW()),
  552. ('SF_CT_5_4_2_8_7', 'STD_CT_5_4_2_8', 'CT_SINUS_5_4_2_8_7', 16.00, 1, 7, NOW(), NOW()),
  553. ('SF_CT_5_4_2_8_8', 'STD_CT_5_4_2_8', 'CT_SINUS_5_4_2_8_8', 12.00, 0, 8, NOW(), NOW());
  554. -- 5.4.2.9 鼻骨CT平扫 - 因子1: 检查范围
  555. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  556. ('CT_NASAL_5_4_2_9_1', 'CT_NASAL_5_4_2_9_1', '检查范围', 3, 'boolean',
  557. '检查范围从鼻骨根上方1cm至上颌骨额突',
  558. '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 25, "expectedBodyPart": "口腔颌面", "checkCoverage": true}, "isVeto": false, "description": "检查范围从鼻骨根上方1cm至上颌骨额突"}',
  559. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  560. -- 5.4.2.9 鼻骨CT平扫 - 因子2: 图像偏中心
  561. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  562. ('CT_NASAL_5_4_2_9_2', 'CT_NASAL_5_4_2_9_2', '图像偏中心', 3, 'boolean',
  563. '断层位于图像正中',
  564. '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}',
  565. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  566. -- 5.4.2.9 鼻骨CT平扫 - 因子3: 重建参数
  567. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  568. ('CT_NASAL_5_4_2_9_3', 'CT_NASAL_5_4_2_9_3', '重建参数', 3, 'boolean',
  569. '厚层≤2.0mm,薄层≤0.625mm,DFOV:18cm',
  570. '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 2.0, "thickIntervalMax": 2.0, "thinSliceMax": 0.625, "thinIntervalMax": 0.625, "dfov": 18, "dfovTolerance": 2.0}, "isVeto": false, "description": "厚层≤2.0mm,薄层≤0.625mm,DFOV:18cm"}',
  571. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  572. -- 5.4.2.9 鼻骨CT平扫 - 因子4: 窗口技术
  573. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  574. ('CT_NASAL_5_4_2_9_4', 'CT_NASAL_5_4_2_9_4', '窗口技术', 3, 'boolean',
  575. '软组织窗:窗宽350~400HU,窗位35~45HU',
  576. '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 400}, "windowCenter": {"min": 35, "max": 45}}}, "isVeto": true, "description": "软组织窗:窗宽350~400HU,窗位35~45HU"}',
  577. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  578. -- 5.4.2.9 鼻骨CT平扫 - 因子5: 扫描体位
  579. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  580. ('CT_NASAL_5_4_2_9_5', 'CT_NASAL_5_4_2_9_5', '扫描体位', 3, 'boolean',
  581. '仰卧位',
  582. '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位"}',
  583. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  584. -- 5.4.2.9 鼻骨CT平扫 - 因子6: 图像标识
  585. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  586. ('CT_NASAL_5_4_2_9_6', 'CT_NASAL_5_4_2_9_6', '图像标识', 3, 'boolean',
  587. '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位',
  588. '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}',
  589. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  590. -- 5.4.2.9 鼻骨CT平扫 - 因子7: 图像伪影
  591. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  592. ('CT_NASAL_5_4_2_9_7', 'CT_NASAL_5_4_2_9_7', '图像伪影', 3, 'boolean',
  593. '没有运动伪影以及高衰减伪影',
  594. '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "没有运动伪影以及高衰减伪影"}',
  595. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  596. -- 5.4.2.9 鼻骨CT平扫 - 因子8: 图像清晰度
  597. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  598. ('CT_NASAL_5_4_2_9_8', 'CT_NASAL_5_4_2_9_8', '图像清晰度', 3, 'boolean',
  599. '能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构',
  600. '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构"}',
  601. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  602. -- 5.4.2.9 鼻骨CT平扫 - 质控标准
  603. 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
  604. ('STD_CT_5_4_2_9', 'CT_5_4_2_9', '鼻骨CT平扫质控标准', 'CT', '口腔颌面', '平扫', '鼻骨CT平扫', 80,
  605. '鼻骨CT平扫质控标准,包含8个质控因子',
  606. 1, NOW(), NOW());
  607. -- 5.4.2.9 鼻骨CT平扫 - 标准-因子关联
  608. INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
  609. ('SF_CT_5_4_2_9_1', 'STD_CT_5_4_2_9', 'CT_NASAL_5_4_2_9_1', 10.00, 1, 1, NOW(), NOW()),
  610. ('SF_CT_5_4_2_9_2', 'STD_CT_5_4_2_9', 'CT_NASAL_5_4_2_9_2', 8.00, 1, 2, NOW(), NOW()),
  611. ('SF_CT_5_4_2_9_3', 'STD_CT_5_4_2_9', 'CT_NASAL_5_4_2_9_3', 10.00, 1, 3, NOW(), NOW()),
  612. ('SF_CT_5_4_2_9_4', 'STD_CT_5_4_2_9', 'CT_NASAL_5_4_2_9_4', 18.00, 1, 4, NOW(), NOW()),
  613. ('SF_CT_5_4_2_9_5', 'STD_CT_5_4_2_9', 'CT_NASAL_5_4_2_9_5', 8.00, 1, 5, NOW(), NOW()),
  614. ('SF_CT_5_4_2_9_6', 'STD_CT_5_4_2_9', 'CT_NASAL_5_4_2_9_6', 18.00, 1, 6, NOW(), NOW()),
  615. ('SF_CT_5_4_2_9_7', 'STD_CT_5_4_2_9', 'CT_NASAL_5_4_2_9_7', 16.00, 1, 7, NOW(), NOW()),
  616. ('SF_CT_5_4_2_9_8', 'STD_CT_5_4_2_9', 'CT_NASAL_5_4_2_9_8', 12.00, 0, 8, NOW(), NOW());
  617. -- 5.4.3.1 眼眶CT平扫 - 因子1: 检查范围
  618. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  619. ('CT_ORBIT_5_4_3_1_1', 'CT_ORBIT_5_4_3_1_1', '检查范围', 3, 'boolean',
  620. '检查范围从眼眶上缘1cm至眼眶下缘1cm',
  621. '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 25, "expectedBodyPart": "眼部", "checkCoverage": true}, "isVeto": false, "description": "检查范围从眼眶上缘1cm至眼眶下缘1cm"}',
  622. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  623. -- 5.4.3.1 眼眶CT平扫 - 因子2: 图像偏中心
  624. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  625. ('CT_ORBIT_5_4_3_1_2', 'CT_ORBIT_5_4_3_1_2', '图像偏中心', 3, 'boolean',
  626. '断层位于图像正中',
  627. '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}',
  628. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  629. -- 5.4.3.1 眼眶CT平扫 - 因子3: 重建参数
  630. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  631. ('CT_ORBIT_5_4_3_1_3', 'CT_ORBIT_5_4_3_1_3', '重建参数', 3, 'boolean',
  632. '厚层≤2.0mm,薄层≤0.625mm,DFOV:18cm',
  633. '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 2.0, "thickIntervalMax": 2.0, "thinSliceMax": 0.625, "thinIntervalMax": 0.625, "dfov": 18, "dfovTolerance": 2.0}, "isVeto": false, "description": "厚层≤2.0mm,薄层≤0.625mm,DFOV:18cm"}',
  634. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  635. -- 5.4.3.1 眼眶CT平扫 - 因子4: 窗口技术
  636. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  637. ('CT_ORBIT_5_4_3_1_4', 'CT_ORBIT_5_4_3_1_4', '窗口技术', 3, 'boolean',
  638. '软组织窗:窗宽350~400HU,窗位35~45HU',
  639. '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 400}, "windowCenter": {"min": 35, "max": 45}}}, "isVeto": true, "description": "软组织窗:窗宽350~400HU,窗位35~45HU"}',
  640. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  641. -- 5.4.3.1 眼眶CT平扫 - 因子5: 扫描体位
  642. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  643. ('CT_ORBIT_5_4_3_1_5', 'CT_ORBIT_5_4_3_1_5', '扫描体位', 3, 'boolean',
  644. '仰卧位',
  645. '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位"}',
  646. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  647. -- 5.4.3.1 眼眶CT平扫 - 因子6: 图像标识
  648. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  649. ('CT_ORBIT_5_4_3_1_6', 'CT_ORBIT_5_4_3_1_6', '图像标识', 3, 'boolean',
  650. '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位',
  651. '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}',
  652. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  653. -- 5.4.3.1 眼眶CT平扫 - 因子7: 图像伪影
  654. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  655. ('CT_ORBIT_5_4_3_1_7', 'CT_ORBIT_5_4_3_1_7', '图像伪影', 3, 'boolean',
  656. '没有运动伪影以及高衰减伪影',
  657. '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "没有运动伪影以及高衰减伪影"}',
  658. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  659. -- 5.4.3.1 眼眶CT平扫 - 因子8: 图像清晰度
  660. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  661. ('CT_ORBIT_5_4_3_1_8', 'CT_ORBIT_5_4_3_1_8', '图像清晰度', 3, 'boolean',
  662. '能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构',
  663. '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构"}',
  664. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  665. -- 5.4.3.1 眼眶CT平扫 - 因子9: 对称性要求
  666. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  667. ('CT_ORBIT_5_4_3_1_9', 'CT_ORBIT_5_4_3_1_9', '对称性要求', 3, 'boolean',
  668. '双侧结构对称显示',
  669. '{"type": "opencv_check", "method": "checkSYMMETRY", "params": {"symmetryThreshold": 0.85}, "isVeto": false, "description": "双侧结构对称显示"}',
  670. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  671. -- 5.4.3.1 眼眶CT平扫 - 质控标准
  672. 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
  673. ('STD_CT_5_4_3_1', 'CT_5_4_3_1', '眼眶CT平扫质控标准', 'CT', '眼部', '平扫', '眼眶CT平扫', 80,
  674. '眼眶CT平扫质控标准,包含9个质控因子',
  675. 1, NOW(), NOW());
  676. -- 5.4.3.1 眼眶CT平扫 - 标准-因子关联
  677. INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
  678. ('SF_CT_5_4_3_1_1', 'STD_CT_5_4_3_1', 'CT_ORBIT_5_4_3_1_1', 10.00, 1, 1, NOW(), NOW()),
  679. ('SF_CT_5_4_3_1_2', 'STD_CT_5_4_3_1', 'CT_ORBIT_5_4_3_1_2', 8.00, 1, 2, NOW(), NOW()),
  680. ('SF_CT_5_4_3_1_3', 'STD_CT_5_4_3_1', 'CT_ORBIT_5_4_3_1_3', 10.00, 1, 3, NOW(), NOW()),
  681. ('SF_CT_5_4_3_1_4', 'STD_CT_5_4_3_1', 'CT_ORBIT_5_4_3_1_4', 18.00, 1, 4, NOW(), NOW()),
  682. ('SF_CT_5_4_3_1_5', 'STD_CT_5_4_3_1', 'CT_ORBIT_5_4_3_1_5', 8.00, 1, 5, NOW(), NOW()),
  683. ('SF_CT_5_4_3_1_6', 'STD_CT_5_4_3_1', 'CT_ORBIT_5_4_3_1_6', 18.00, 1, 6, NOW(), NOW()),
  684. ('SF_CT_5_4_3_1_7', 'STD_CT_5_4_3_1', 'CT_ORBIT_5_4_3_1_7', 16.00, 1, 7, NOW(), NOW()),
  685. ('SF_CT_5_4_3_1_8', 'STD_CT_5_4_3_1', 'CT_ORBIT_5_4_3_1_8', 12.00, 1, 8, NOW(), NOW()),
  686. ('SF_CT_5_4_3_1_9', 'STD_CT_5_4_3_1', 'CT_ORBIT_5_4_3_1_9', 10.00, 1, 9, NOW(), NOW());
  687. -- 5.4.3.2 眼眶CT增强 - 因子1: 检查范围
  688. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  689. ('CT_ORBIT_5_4_3_2_1', 'CT_ORBIT_5_4_3_2_1', '检查范围', 3, 'boolean',
  690. '检查范围从眼眶上缘1cm至眼眶下缘1cm',
  691. '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 25, "expectedBodyPart": "眼部", "checkCoverage": true}, "isVeto": false, "description": "检查范围从眼眶上缘1cm至眼眶下缘1cm"}',
  692. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  693. -- 5.4.3.2 眼眶CT增强 - 因子2: 图像偏中心
  694. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  695. ('CT_ORBIT_5_4_3_2_2', 'CT_ORBIT_5_4_3_2_2', '图像偏中心', 3, 'boolean',
  696. '断层位于图像正中',
  697. '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}',
  698. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  699. -- 5.4.3.2 眼眶CT增强 - 因子3: 重建参数
  700. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  701. ('CT_ORBIT_5_4_3_2_3', 'CT_ORBIT_5_4_3_2_3', '重建参数', 3, 'boolean',
  702. '厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm',
  703. '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 3.0, "thickIntervalMax": 3.0, "thinSliceMax": 0.625, "thinIntervalMax": 0.625, "dfov": 18, "dfovTolerance": 2.0}, "isVeto": false, "description": "厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm"}',
  704. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  705. -- 5.4.3.2 眼眶CT增强 - 因子4: 窗口技术
  706. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  707. ('CT_ORBIT_5_4_3_2_4', 'CT_ORBIT_5_4_3_2_4', '窗口技术', 3, 'boolean',
  708. '软组织窗:窗宽350~400HU,窗位35~45HU',
  709. '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 400}, "windowCenter": {"min": 35, "max": 45}}}, "isVeto": true, "description": "软组织窗:窗宽350~400HU,窗位35~45HU"}',
  710. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  711. -- 5.4.3.2 眼眶CT增强 - 因子5: 扫描体位
  712. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  713. ('CT_ORBIT_5_4_3_2_5', 'CT_ORBIT_5_4_3_2_5', '扫描体位', 3, 'boolean',
  714. '仰卧位',
  715. '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位"}',
  716. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  717. -- 5.4.3.2 眼眶CT增强 - 因子6: 图像标识
  718. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  719. ('CT_ORBIT_5_4_3_2_6', 'CT_ORBIT_5_4_3_2_6', '图像标识', 3, 'boolean',
  720. '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位',
  721. '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}',
  722. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  723. -- 5.4.3.2 眼眶CT增强 - 因子7: 图像伪影
  724. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  725. ('CT_ORBIT_5_4_3_2_7', 'CT_ORBIT_5_4_3_2_7', '图像伪影', 3, 'boolean',
  726. '没有运动伪影以及高衰减伪影',
  727. '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "没有运动伪影以及高衰减伪影"}',
  728. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  729. -- 5.4.3.2 眼眶CT增强 - 因子8: 图像清晰度
  730. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  731. ('CT_ORBIT_5_4_3_2_8', 'CT_ORBIT_5_4_3_2_8', '图像清晰度', 3, 'boolean',
  732. '能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构',
  733. '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构"}',
  734. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  735. -- 5.4.3.2 眼眶CT增强 - 质控标准
  736. 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
  737. ('STD_CT_5_4_3_2', 'CT_5_4_3_2', '眼眶CT增强质控标准', 'CT', '眼部', '增强', '眼眶CT增强', 80,
  738. '眼眶CT增强质控标准,包含8个质控因子',
  739. 1, NOW(), NOW());
  740. -- 5.4.3.2 眼眶CT增强 - 标准-因子关联
  741. INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
  742. ('SF_CT_5_4_3_2_1', 'STD_CT_5_4_3_2', 'CT_ORBIT_5_4_3_2_1', 10.00, 1, 1, NOW(), NOW()),
  743. ('SF_CT_5_4_3_2_2', 'STD_CT_5_4_3_2', 'CT_ORBIT_5_4_3_2_2', 8.00, 1, 2, NOW(), NOW()),
  744. ('SF_CT_5_4_3_2_3', 'STD_CT_5_4_3_2', 'CT_ORBIT_5_4_3_2_3', 10.00, 1, 3, NOW(), NOW()),
  745. ('SF_CT_5_4_3_2_4', 'STD_CT_5_4_3_2', 'CT_ORBIT_5_4_3_2_4', 18.00, 1, 4, NOW(), NOW()),
  746. ('SF_CT_5_4_3_2_5', 'STD_CT_5_4_3_2', 'CT_ORBIT_5_4_3_2_5', 8.00, 1, 5, NOW(), NOW()),
  747. ('SF_CT_5_4_3_2_6', 'STD_CT_5_4_3_2', 'CT_ORBIT_5_4_3_2_6', 18.00, 1, 6, NOW(), NOW()),
  748. ('SF_CT_5_4_3_2_7', 'STD_CT_5_4_3_2', 'CT_ORBIT_5_4_3_2_7', 16.00, 1, 7, NOW(), NOW()),
  749. ('SF_CT_5_4_3_2_8', 'STD_CT_5_4_3_2', 'CT_ORBIT_5_4_3_2_8', 12.00, 0, 8, NOW(), NOW());
  750. -- 5.4.4.1 鼻咽CT平扫 - 因子1: 检查范围
  751. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  752. ('CT_NASOPHARYNX_5_4_4_1_1', 'CT_NASOPHARYNX_5_4_4_1_1', '检查范围', 3, 'boolean',
  753. '检查范围从海绵窦上缘至软腭游离缘',
  754. '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 25, "expectedBodyPart": "鼻咽部", "checkCoverage": true}, "isVeto": false, "description": "检查范围从海绵窦上缘至软腭游离缘"}',
  755. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  756. -- 5.4.4.1 鼻咽CT平扫 - 因子2: 图像偏中心
  757. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  758. ('CT_NASOPHARYNX_5_4_4_1_2', 'CT_NASOPHARYNX_5_4_4_1_2', '图像偏中心', 3, 'boolean',
  759. '断层位于图像正中',
  760. '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}',
  761. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  762. -- 5.4.4.1 鼻咽CT平扫 - 因子3: 重建参数
  763. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  764. ('CT_NASOPHARYNX_5_4_4_1_3', 'CT_NASOPHARYNX_5_4_4_1_3', '重建参数', 3, 'boolean',
  765. '厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm',
  766. '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 3.0, "thickIntervalMax": 3.0, "thinSliceMax": 0.625, "thinIntervalMax": 0.625, "dfov": 18, "dfovTolerance": 2.0}, "isVeto": false, "description": "厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm"}',
  767. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  768. -- 5.4.4.1 鼻咽CT平扫 - 因子4: 窗口技术
  769. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  770. ('CT_NASOPHARYNX_5_4_4_1_4', 'CT_NASOPHARYNX_5_4_4_1_4', '窗口技术', 3, 'boolean',
  771. '软组织窗:窗宽350~400HU,窗位35~45HU',
  772. '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 400}, "windowCenter": {"min": 35, "max": 45}}}, "isVeto": true, "description": "软组织窗:窗宽350~400HU,窗位35~45HU"}',
  773. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  774. -- 5.4.4.1 鼻咽CT平扫 - 因子5: 扫描体位
  775. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  776. ('CT_NASOPHARYNX_5_4_4_1_5', 'CT_NASOPHARYNX_5_4_4_1_5', '扫描体位', 3, 'boolean',
  777. '仰卧位',
  778. '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位"}',
  779. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  780. -- 5.4.4.1 鼻咽CT平扫 - 因子6: 图像标识
  781. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  782. ('CT_NASOPHARYNX_5_4_4_1_6', 'CT_NASOPHARYNX_5_4_4_1_6', '图像标识', 3, 'boolean',
  783. '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位',
  784. '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}',
  785. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  786. -- 5.4.4.1 鼻咽CT平扫 - 因子7: 图像伪影
  787. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  788. ('CT_NASOPHARYNX_5_4_4_1_7', 'CT_NASOPHARYNX_5_4_4_1_7', '图像伪影', 3, 'boolean',
  789. '没有运动伪影以及高衰减伪影',
  790. '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "没有运动伪影以及高衰减伪影"}',
  791. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  792. -- 5.4.4.1 鼻咽CT平扫 - 因子8: 图像清晰度
  793. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  794. ('CT_NASOPHARYNX_5_4_4_1_8', 'CT_NASOPHARYNX_5_4_4_1_8', '图像清晰度', 3, 'boolean',
  795. '能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构',
  796. '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构"}',
  797. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  798. -- 5.4.4.1 鼻咽CT平扫 - 质控标准
  799. 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
  800. ('STD_CT_5_4_4_1', 'CT_5_4_4_1', '鼻咽CT平扫质控标准', 'CT', '鼻咽部', '平扫', '鼻咽CT平扫', 80,
  801. '鼻咽CT平扫质控标准,包含8个质控因子',
  802. 1, NOW(), NOW());
  803. -- 5.4.4.1 鼻咽CT平扫 - 标准-因子关联
  804. INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
  805. ('SF_CT_5_4_4_1_1', 'STD_CT_5_4_4_1', 'CT_NASOPHARYNX_5_4_4_1_1', 10.00, 1, 1, NOW(), NOW()),
  806. ('SF_CT_5_4_4_1_2', 'STD_CT_5_4_4_1', 'CT_NASOPHARYNX_5_4_4_1_2', 8.00, 1, 2, NOW(), NOW()),
  807. ('SF_CT_5_4_4_1_3', 'STD_CT_5_4_4_1', 'CT_NASOPHARYNX_5_4_4_1_3', 10.00, 1, 3, NOW(), NOW()),
  808. ('SF_CT_5_4_4_1_4', 'STD_CT_5_4_4_1', 'CT_NASOPHARYNX_5_4_4_1_4', 18.00, 1, 4, NOW(), NOW()),
  809. ('SF_CT_5_4_4_1_5', 'STD_CT_5_4_4_1', 'CT_NASOPHARYNX_5_4_4_1_5', 8.00, 1, 5, NOW(), NOW()),
  810. ('SF_CT_5_4_4_1_6', 'STD_CT_5_4_4_1', 'CT_NASOPHARYNX_5_4_4_1_6', 18.00, 1, 6, NOW(), NOW()),
  811. ('SF_CT_5_4_4_1_7', 'STD_CT_5_4_4_1', 'CT_NASOPHARYNX_5_4_4_1_7', 16.00, 1, 7, NOW(), NOW()),
  812. ('SF_CT_5_4_4_1_8', 'STD_CT_5_4_4_1', 'CT_NASOPHARYNX_5_4_4_1_8', 12.00, 0, 8, NOW(), NOW());
  813. -- 5.4.4.2 鼻咽CT增强 - 因子1: 检查范围
  814. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  815. ('CT_NASOPHARYNX_5_4_4_2_1', 'CT_NASOPHARYNX_5_4_4_2_1', '检查范围', 3, 'boolean',
  816. '检查范围从海绵窦上缘至软腭游离缘',
  817. '{"type": "dicom_check", "method": "checkSCAN_RANGE", "params": {"minSliceCount": 25, "expectedBodyPart": "鼻咽部", "checkCoverage": true}, "isVeto": false, "description": "检查范围从海绵窦上缘至软腭游离缘"}',
  818. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  819. -- 5.4.4.2 鼻咽CT增强 - 因子2: 图像偏中心
  820. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  821. ('CT_NASOPHARYNX_5_4_4_2_2', 'CT_NASOPHARYNX_5_4_4_2_2', '图像偏中心', 3, 'boolean',
  822. '断层位于图像正中',
  823. '{"type": "opencv_check", "method": "checkIMAGE_CENTERING", "params": {"maxOffsetRatio": 0.15}, "isVeto": false, "description": "断层位于图像正中"}',
  824. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  825. -- 5.4.4.2 鼻咽CT增强 - 因子3: 重建参数
  826. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  827. ('CT_NASOPHARYNX_5_4_4_2_3', 'CT_NASOPHARYNX_5_4_4_2_3', '重建参数', 3, 'boolean',
  828. '厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm',
  829. '{"type": "dicom_check", "method": "checkRECONSTRUCTION_PARAMS", "params": {"thickSliceMax": 3.0, "thickIntervalMax": 3.0, "thinSliceMax": 0.625, "thinIntervalMax": 0.625, "dfov": 18, "dfovTolerance": 2.0}, "isVeto": false, "description": "厚层≤3.0mm,薄层≤0.625mm,DFOV:18cm"}',
  830. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  831. -- 5.4.4.2 鼻咽CT增强 - 因子4: 窗口技术
  832. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  833. ('CT_NASOPHARYNX_5_4_4_2_4', 'CT_NASOPHARYNX_5_4_4_2_4', '窗口技术', 3, 'boolean',
  834. '软组织窗:窗宽350~400HU,窗位35~45HU',
  835. '{"type": "dicom_check", "method": "checkWINDOW_TECHNIQUE", "params": {"softTissueWindow": {"windowWidth": {"min": 350, "max": 400}, "windowCenter": {"min": 35, "max": 45}}}, "isVeto": true, "description": "软组织窗:窗宽350~400HU,窗位35~45HU"}',
  836. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  837. -- 5.4.4.2 鼻咽CT增强 - 因子5: 扫描体位
  838. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  839. ('CT_NASOPHARYNX_5_4_4_2_5', 'CT_NASOPHARYNX_5_4_4_2_5', '扫描体位', 3, 'boolean',
  840. '仰卧位',
  841. '{"type": "dicom_check", "method": "checkSCAN_POSITION", "params": {"expectedPosition": ["HFS", "FFS"]}, "isVeto": false, "description": "仰卧位"}',
  842. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  843. -- 5.4.4.2 鼻咽CT增强 - 因子6: 图像标识
  844. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  845. ('CT_NASOPHARYNX_5_4_4_2_6', 'CT_NASOPHARYNX_5_4_4_2_6', '图像标识', 3, 'boolean',
  846. '影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位',
  847. '{"type": "dicom_check", "method": "checkImageAnnotation", "params": {"requiredFields": ["StudyInstanceUID", "BodyPartExamined", "PatientName", "PatientSex", "PatientAge", "StudyDate", "StudyTime", "KVP", "ScanDirection"]}, "isVeto": true, "description": "影像号、检查部位、姓名、性别、年龄、日期、时间、kV、mAs值、扫描方位"}',
  848. 'dicom_metadata', 1, NOW(), NOW(), NULL, NULL, NULL);
  849. -- 5.4.4.2 鼻咽CT增强 - 因子7: 图像伪影
  850. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  851. ('CT_NASOPHARYNX_5_4_4_2_7', 'CT_NASOPHARYNX_5_4_4_2_7', '图像伪影', 3, 'boolean',
  852. '没有运动伪影以及高衰减伪影',
  853. '{"type": "opencv_check", "method": "checkIMAGE_ARTIFACTS", "params": {"motionThreshold": 30.0, "beamHardeningThreshold": 50.0}, "isVeto": true, "description": "没有运动伪影以及高衰减伪影"}',
  854. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  855. -- 5.4.4.2 鼻咽CT增强 - 因子8: 图像清晰度
  856. INSERT INTO `qc_factor` (`id`, `factor_code`, `factor_name`, `factor_category`, `factor_type`, `description`, `check_rule`, `data_source`, `status`, `create_time`, `update_time`, `modality`, `body_part`, `scan_type`) VALUES
  857. ('CT_NASOPHARYNX_5_4_4_2_8', 'CT_NASOPHARYNX_5_4_4_2_8', '图像清晰度', 3, 'boolean',
  858. '能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构',
  859. '{"type": "opencv_check", "method": "checkIMAGE_CLARITY", "params": {"sharpnessThreshold": 100.0, "contrastThreshold": 50.0}, "isVeto": false, "description": "能够显示软组织病变与周围组织的关系,骨窗显示诸骨内部结构"}',
  860. 'opencv_analysis', 1, NOW(), NOW(), NULL, NULL, NULL);
  861. -- 5.4.4.2 鼻咽CT增强 - 质控标准
  862. 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
  863. ('STD_CT_5_4_4_2', 'CT_5_4_4_2', '鼻咽CT增强质控标准', 'CT', '鼻咽部', '增强', '鼻咽CT增强', 80,
  864. '鼻咽CT增强质控标准,包含8个质控因子',
  865. 1, NOW(), NOW());
  866. -- 5.4.4.2 鼻咽CT增强 - 标准-因子关联
  867. INSERT INTO `qc_standard_factor` (`id`, `standard_id`, `factor_id`, `weight`, `is_required`, `sort_order`, `create_time`, `update_time`) VALUES
  868. ('SF_CT_5_4_4_2_1', 'STD_CT_5_4_4_2', 'CT_NASOPHARYNX_5_4_4_2_1', 10.00, 1, 1, NOW(), NOW()),
  869. ('SF_CT_5_4_4_2_2', 'STD_CT_5_4_4_2', 'CT_NASOPHARYNX_5_4_4_2_2', 8.00, 1, 2, NOW(), NOW()),
  870. ('SF_CT_5_4_4_2_3', 'STD_CT_5_4_4_2', 'CT_NASOPHARYNX_5_4_4_2_3', 10.00, 1, 3, NOW(), NOW()),
  871. ('SF_CT_5_4_4_2_4', 'STD_CT_5_4_4_2', 'CT_NASOPHARYNX_5_4_4_2_4', 18.00, 1, 4, NOW(), NOW()),
  872. ('SF_CT_5_4_4_2_5', 'STD_CT_5_4_4_2', 'CT_NASOPHARYNX_5_4_4_2_5', 8.00, 1, 5, NOW(), NOW()),
  873. ('SF_CT_5_4_4_2_6', 'STD_CT_5_4_4_2', 'CT_NASOPHARYNX_5_4_4_2_6', 18.00, 1, 6, NOW(), NOW()),
  874. ('SF_CT_5_4_4_2_7', 'STD_CT_5_4_4_2', 'CT_NASOPHARYNX_5_4_4_2_7', 16.00, 1, 7, NOW(), NOW()),
  875. ('SF_CT_5_4_4_2_8', 'STD_CT_5_4_4_2', 'CT_NASOPHARYNX_5_4_4_2_8', 12.00, 0, 8, NOW(), NOW());