# 智能影像质控功能实施总结 ## 已完成的功能 ### 1. 数据库设计 #### 表结构 - ✅ `qc_factor` - 质控因子表(5个影像质控维度) - ✅ `qc_standard` - 质控标准表 - ✅ `qc_standard_factor` - 质控标准因子关联表 - ✅ `qc_task` - 质控任务表(新增 examIds 字段) - ✅ `qc_result` - 质控结果明细表 - ✅ `qc_result_summary` - 质控结果总评表 #### SQL 文件 - `/doc/sql/image_qc_init.sql` - 影像质控因子初始化 - `/doc/sql/update_qc_task.sql` - 数据库表结构更新 ### 2. 后端代码 #### 实体类 - ✅ `QcResult.java` - 质控结果明细实体 - ✅ `QcResultSummary.java` - 质控结果总评实体 - ✅ `QcTask.java` - 质控任务实体(已添加 examIds 字段) - ✅ `QcTaskCreateDTO.java` - 质控任务创建DTO(已添加 examIds 字段) #### Mapper 接口 - ✅ `QcResultMapper.java` - ✅ `QcResultSummaryMapper.java` #### Service 层 - ✅ `QcResultService.java` - ✅ `QcResultSummaryService.java` - ✅ `QcResultServiceImpl.java` - ✅ `QcResultSummaryServiceImpl.java` #### 质控引擎 - ✅ `ImageQcEngine.java` - 智能影像质控引擎核心实现 ### 3. 前端代码 #### 页面组件 - ✅ `/src/views/qc/ImageQcTask.vue` - 智能影像质控任务管理页面 #### API 接口 - ✅ `/src/api/qc.ts` - 质控相关 API - ✅ `/src/api/exam.ts` - 检查数据 API ## 功能说明 ### 1. 选择具体条数的质控数据 ✅ 在创建质控任务时,可以: - 点击"选择检查数据"按钮 - 从检查列表中精确选择 3 条数据 - 实时显示已选数据数量 ### 2. 新增质控因子和质控标准 ✅ 已创建 5 个影像质控维度: | 因子编码 | 因子名称 | 可选值 | 权重 | |---------|---------|--------|------| | CHECK_RANGE | 检查范围 | 过大/正常/过小 | 20% | | BODY_POSITION | 体位 | 标准/不标准 | 20% | | IMAGE_ARTIFACT | 图像伪影 | 无伪影/体外异物伪影/设备伪影 | 20% | | CENTER_LINE | 中心线 | 偏上/偏下/偏左/偏右/正常 | 20% | | IMAGE_QUALITY_LEVEL | 图像质控等级 | X线:甲/乙/丙/丁; CT/MR:0/1/2/3级 | 20% | ### 3. 新建质控任务 ✅ **功能流程:** 1. 点击"新建质控任务" 2. 填写任务信息: - 任务名称 - 选择质控标准(影像质控标准) - 选择检查类型(CT/MR/DR/CR/US) - 设置计划数量 - 选择 3 条检查数据 - 是否使用预制结果 3. 点击创建 **接口:** `POST /api/qc/task/create` ### 4. 质控结果展示 ✅ **结果包含两个维度:** #### 总评(qc_result_summary) - 检查ID - 总分(满分100) - 通过因子数 - 不通过因子数 - 质控等级 - 是否合格(≥60分合格) #### 明细(qc_result) - 检查ID - 质控因子名称 - 因子实际值 - 是否通过 - 得分 - 备注 ## 使用流程 ### 步骤1:执行 SQL(已完成) ```sql -- 1. 更新表结构 source /Users/geng/Documents/IdeaProjects/QConline/doc/sql/update_qc_task.sql -- 2. 初始化质控因子 source /Users/geng/Documents/IdeaProjects/QConline/doc/sql/image_qc_init.sql ``` ### 步骤2:添加前端路由 在 `/src/router/index.ts` 中添加: ```typescript { path: '/qc/image-task', name: 'ImageQcTask', component: () => import('@/views/qc/ImageQcTask.vue'), meta: { title: '智能影像质控', requiresAuth: true } } ``` ### 步骤3:创建后端 Controller 还需要创建以下 Controller 来处理请求: 1. `QcResultController.java` - 质控结果接口 2. 更新 `QcTaskManageController.java` - 支持通过 examIds 创建任务 3. 创建质控任务执行服务 ### 步骤4:测试流程 1. 登录系统 2. 进入"智能影像质控"页面 3. 点击"新建质控任务" 4. 选择"影像质控标准" 5. 选择检查类型(如 CT、MR) 6. 点击"选择检查数据",选中 3 条数据 7. 点击"创建" 8. 点击"执行"按钮 9. 查看"质控结果" ## 质控等级判定规则 ### X线(DR/CR) - **甲级**:全部因子通过(0个不通过) - **乙级**:1个因子不通过 - **丙级**:2个因子不通过 - **丁级**:3个及以上因子不通过 ### CT/MR - **0级**:全部因子通过(0个不通过) - **1级**:1个因子不通过 - **2级**:2个因子不通过 - **3级**:3个及以上因子不通过 ### 合格判定 - 总分 ≥ 60分:合格 - 总分 < 60分:不合格 ## 质控因子检查规则 ### 1. 检查范围(CHECK_RANGE) - **通过标准**:检查范围为"正常" - **不通过**: - 过大:检查范围超出正常范围 - 过小:检查范围过小 ### 2. 体位(BODY_POSITION) - **通过标准**:体位为"标准" - **不通过**:体位为"不标准" ### 3. 图像伪影(IMAGE_ARTIFACT) - **通过标准**:无伪影 - **不通过**: - 体外异物伪影 - 设备伪影 ### 4. 中心线(CENTER_LINE) - **通过标准**:中心线位置"正常" - **不通过**: - 偏上 - 偏下 - 偏左 - 偏右 ### 5. 图像质控等级(IMAGE_QUALITY_LEVEL) - **X线通过标准**:≥乙级(甲/乙级) - **CT/MR通过标准**:≥1级(0级/1级) - **不通过**:低于上述标准 ## 待完善功能 ### 1. 后端 Controller - [ ] 创建 `QcResultController` 提供结果查询接口 - [ ] 更新 `QcTaskManageController` 支持选择数据创建任务 - [ ] 创建任务执行服务,调用 `ImageQcEngine` ### 2. 前端路由配置 - [ ] 在 router 中添加 ImageQcTask 路由 ### 3. 数据来源 - [ ] 从 DICOM 数据中提取真实的质控因子值 - [ ] 实现 AI 辅助的影像质控算法 ### 4. 报告导出 - [ ] 导出质控结果报告(PDF/Excel) - [ ] 生成质控统计图表 ## 技术特点 1. **灵活性**:支持自定义质控标准和因子 2. **可扩展性**:易于添加新的质控维度 3. **智能化**:预留 AI 接口,可集成深度学习模型 4. **标准化**:符合医学影像质控规范 5. **可视化**:直观的结果展示和数据分析 ## 注意事项 1. **数据选择**:必须选择 3 条质控数据 2. **质控标准**:选择"影像质控标准"(标准类别=2) 3. **检查类型**:支持 CT、MR、DR、CR、US 4. **预制结果**:isPreset=1 时使用预制结果,isPreset=0 时执行实际检查 ## 下一步工作 1. ✅ 数据库表已创建 2. ✅ 实体类已创建 3. ✅ Mapper 接口已创建 4. ✅ Service 层已创建 5. ✅ 质控引擎已实现 6. ✅ 前端页面已创建 7. ⏳ 需要创建 Controller 接口 8. ⏳ 需要集成到路由 9. ⏳ 需要实现真实的 DICOM 数据提取 --- **创建时间**:2025-12-26 **功能版本**:v1.0 **状态**:基础功能已完成,待集成测试