qc_task_overall_result - 整体质控结果表qc_task_image_result - 图像质控结果表qc_task_image_factor_result - 图像因子结果表qc_execution_log - 质控执行日志表确保以下表存在且有数据:
qc_task - 质控任务表qc_standard - 质控标准表(需要有启用的标准)qc_standard_factor - 质控标准因子关联表qc_factor - 质控因子表study_info - 检查信息表(需要有已治理的检查数据)dicom_instance_info - DICOM实例信息表(需要关联到检查)QcStandardMatcher - 自动匹配质控标准DicomMetadataParser - 解析DICOM元数据QcLevelEvaluator - 5级质量评价器QcExecutionService - 质控执行服务-- 检查是否有启用的质控标准
SELECT id, standard_name, standard_code, modality, body_part, exam_item, status
FROM qc_standard
WHERE status = 1;
要求:
modality、body_part、exam_item 字段有值-- 检查是否有已治理的检查数据
SELECT s.study_id, s.modality, s.study_date, s.institution_id,
COUNT(dii.id) as instance_count
FROM study_info s
LEFT JOIN dicom_instance_info dii ON s.study_id = dii.study_id
WHERE s.study_date BETWEEN '2025-01-01' AND '2025-12-31'
GROUP BY s.study_id
HAVING instance_count > 0
LIMIT 10;
要求:
dicom_instance_info表中有对应记录)cd /Users/geng/Documents/IdeaProjects/qc-ns
mvn clean package
# 或直接在IDE中运行 QcnsApplication
检查点:
cd /Users/geng/Documents/WebstormProjects/qc_web
npm run dev
检查点:
预期结果:
standard_id 字段应该为NULL(自动匹配)SELECT id, task_name, task_type, institution_id, standard_id,
exam_ids, status, create_time
FROM qc_task
ORDER BY create_time DESC
LIMIT 1;
确认:
standard_id 为 NULL(表示使用自动匹配)exam_ids 包含选择的检查ID(JSON数组格式)status = 0(待执行)预期过程:
-- 查看执行日志
SELECT task_id, study_id, log_level, log_message, create_time
FROM qc_execution_log
WHERE task_id = '<你的任务ID>'
ORDER BY create_time DESC
LIMIT 20;
关键日志检查:
预期显示:
-- 整体结果
SELECT factor_name, is_pass, quality_level, score,
total_image_count, pass_image_count, fail_image_count
FROM qc_task_overall_result
WHERE task_id = '<你的任务ID>';
-- 图像结果
SELECT study_id, sop_instance_uid, image_index,
pass_factor_count, fail_factor_count,
total_score, quality_level, is_qualified
FROM qc_task_image_result
WHERE task_id = '<你的任务ID>';
-- 图像因子结果
SELECT factor_name, is_pass, quality_level, score,
metric_value, threshold_value, analysis_log
FROM qc_task_image_factor_result
WHERE task_id = '<你的任务ID>'
LIMIT 10;
可能原因:
解决方法:
可能原因:
排查步骤:
-- 1. 检查检查数据是否有DICOM实例
SELECT s.study_id, COUNT(dii.id) as instance_count
FROM study_info s
LEFT JOIN dicom_instance_info dii ON s.study_id = dii.study_id
WHERE s.study_id IN ('<检查ID1>', '<检查ID2>')
GROUP BY s.study_id;
-- 2. 检查DICOM文件路径
SELECT sop_instance_uid, file_path
FROM dicom_instance_info
WHERE study_id = '<检查ID>'
LIMIT 5;
-- 3. 检查质控标准是否存在
SELECT id, standard_name, modality, body_part, exam_item
FROM qc_standard
WHERE status = 1;
查看执行日志:
SELECT log_level, log_message, stack_trace
FROM qc_execution_log
WHERE task_id = '<任务ID>' AND log_level IN ('ERROR', 'WARN')
ORDER BY create_time DESC;
可能原因:
排查步骤:
modality、body_part_examined 标签是否存在modality、body_part、exam_item 配置解决方法:
可能原因:
排查步骤:
-- 检查文件路径
SELECT file_path FROM dicom_instance_info WHERE study_id = '<检查ID>';
验证文件存在:
ls -lh /path/to/dicom/file
解决方法:
可能原因:
排查步骤:
-- 检查质控标准关联的因子
SELECT sf.factor_id, f.factor_name, f.factor_type,
sf.threshold_value, f.weight
FROM qc_standard_factor sf
JOIN qc_factor f ON sf.factor_id = f.id
WHERE sf.standard_id = '<标准ID>'
AND f.status = 1;
解决方法:
metric_value 和 threshold_value质控任务首次运行成功的标志:
pass_count + fail_count = total_countqc_task_overall_result 表有记录(整体结果)qc_task_image_result 表有记录(图像结果)qc_task_image_factor_result 表有记录(因子结果)qc_execution_log 表有记录(执行日志)standardId,后端自动匹配standardId,使用指定标准standardId 是否为空来判断使用哪种模式standardId文档创建时间:2025-12-27 适用版本:质控系统重新设计后 相关文档:
/doc/质控系统重新设计-全部完成总结.md/doc/编译错误修复总结.md