Files
his/MD/specs/CSSD_AND_3D_DESIGN.md
华佗 f87b9215c1 feat(V31): CSSD消毒供应追溯+影像3D重建(选配模块深度实现)
- V31 Flyway: 8张新表(CSSD器械包/追溯记录/灭菌批次/灭菌明细/过期预警+3D重建任务/结果/报告)
- CSSD: 全流程追溯(回收→清洗→消毒→包装→灭菌→储存→发放)+扫码+灭菌三要素+过期预警
- 3D重建: Cornerstone.js+VTK.js架构设计+VR/MPR/MIP渲染+传递函数预设+测量工具
- 608行深度技术设计文档(MD/specs/RECONSTRUCTION_3D_DEEP_DESIGN.md)
- 2个前端页面(CSSD追溯/3D重建查看器)
- 后端编译通过,前端构建通过
2026-06-07 09:30:00 +08:00

189 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 消毒供应中心(CSSD)追溯管理 + 影像3D重建 深度设计文档
> **文档类型**: 技术设计
> **版本**: v1.0
> **编制日期**: 2026-06-07
> **依据标准**: WS 310.1-310.3《医院消毒供应中心》、DICOM 3D重建规范
---
## 一、消毒供应中心(CSSD)追溯管理
### 1.1 业务背景
根据《医院消毒供应中心 第1部分:管理规范》(WS 310.1-2016)和《医院消毒供应中心 第3部分:清洗消毒及灭菌效果监测标准》(WS 310.3-2016)三甲医院CSSD必须实现:
- **全流程追溯**: 从器械回收→分类→清洗→消毒→干燥→检查→包装→灭菌→储存→发放的全链路可追溯
- **条码管理**: 每个器械包有唯一追溯码,支持扫码追溯
- **灭菌监测**: 生物监测、化学监测、物理监测的记录和预警
- **有效期管理**: 灭菌后器械包的有效期自动计算和过期预警
- **质量统计**: 清洗合格率、灭菌合格率、器械使用次数统计
### 1.2 业务流程
```
手术室/科室 使用后器械
↓ (回收)
CSSD回收清点 → 扫码登记(器械包ID+数量+来源科室)
分类 → 按器械类型分拣(手术器械/管腔器械/精密器械/普通器械)
清洗 → 手工清洗/超声清洗/机器清洗 → 清洗效果监测(ATP/蛋白残留)
消毒 → 湿热消毒(≥90℃/5min) 或 化学消毒
干燥 → 热风干燥/自然干燥
检查保养 → 功能检查+润滑+包装材料选择
包装 → 器械放入包装袋/容器 → 封口 → 贴追溯标签(条码+灭菌日期+有效期)
灭菌 → 压力蒸汽灭菌(134℃/4min) 或 低温灭菌 → 化学指示卡变色确认
储存 → 无菌物品存放区 → 按效期管理(先进先出)
发放 → 扫码出库 → 送达手术室/科室 → 签收确认
```
### 1.3 数据模型
#### 核心实体
1. **CssdTray** (器械包) — 器械包基础信息
- id, tray_code(唯一编码), tray_name, tray_type(手术/管腔/精密/普通)
- department_source(来源科室), status(在用/清洗中/灭菌中/储存中/已发放)
- current_location(当前位置), total_uses(使用次数)
- sterilize_count(灭菌次数), last_sterilize_time
2. **CssdTraceRecord** (追溯记录) — 每次流转记录
- id, tray_id, step_type(回收/清洗/消毒/包装/灭菌/储存/发放)
- operator_id, operator_name, operation_time
- device_name(设备名称), device_code
- parameters(JSON: 温度/时间/压力等工艺参数)
- result(合格/不合格), remark
3. **CssdSterilizeBatch** (灭菌批次) — 每锅灭菌记录
- id, batch_code, sterilizer_name, sterilizer_code
- start_time, end_time, cycle_type(预真空/下排气/快速)
- temperature, pressure, exposure_time
- biological_result(生物监测: 合格/不合格/待检)
- chemical_result(化学监测: 合格/不合格)
- physical_result(物理监测: 合格/不合格)
- batch_status(进行中/已完成/已释放)
4. **CssdSterilizeItem** (灭菌包明细) — 批次内的器械包
- id, batch_id, tray_id
- chemical_indicator(化学指示卡颜色变化)
- bi_indicator(生物指示剂结果)
5. **CssdExpiryAlert** (过期预警) — 有效期管理
- id, tray_id, batch_id
- sterilize_time, expiry_time, alert_time
- status(正常/预警/过期)
### 1.4 业务规则
| 规则编号 | 规则名称 | 规则描述 |
|---------|---------|---------|
| R1 | 回收扫码 | 所有器械包回收时必须扫码登记 |
| R2 | 清洗监测 | 清洗后必须进行ATP或蛋白残留检测 |
| R3 | 包装标签 | 包装必须贴追溯标签(条码+日期+有效期) |
| R4 | 灭菌三要素 | 生物+化学+物理三项监测全部合格才能释放 |
| R5 | 有效期管理 | 压力蒸汽灭菌: 无菌包装180天, 无纺布14天, 棉布7天 |
| R6 | 过期拦截 | 过期器械包禁止发放,必须重新灭菌 |
| R7 | 使用次数 | 器械包达到最大使用次数(可配置)时提醒报废 |
### 1.5 接口设计
| API | 方法 | 说明 |
|-----|------|------|
| /cssd/tray/page | GET | 器械包列表 |
| /cssd/tray/add | POST | 新建器械包 |
| /cssd/trace/scan | POST | 扫码追溯(流转) |
| /cssd/trace/history/{trayId} | GET | 器械包追溯历史 |
| /cssd/sterilize/batch/page | GET | 灭菌批次列表 |
| /cssd/sterilize/batch/add | POST | 新建灭菌批次 |
| /cssd/sterilize/batch/complete/{id} | PUT | 完成灭菌(录入监测结果) |
| /cssd/sterilize/batch/release/{id} | PUT | 释放批次(三项监测合格) |
| /cssd/expiry/alerts | GET | 过期预警列表 |
| /cssd/stats/overview | GET | 统计概览(清洗率/灭菌率/过期数) |
---
## 二、影像3D重建
### 2.1 业务背景
影像3D重建是影像诊断的高级功能主要应用于:
- **骨科**: 骨折三维重建,辅助手术规划
- **心血管**: 冠脉CTA三维重建评估狭窄程度
- **胸腹部**: 肿瘤三维定位,评估与周围组织关系
- **口腔**: 颌面骨三维重建,正畸/种植规划
### 2.2 业务流程
```
CT/MRI扫描 → DICOM图像导入
图像预处理 → 去噪/增强/分割
三维重建 → Volume Rendering(容积渲染) / MPR(多平面重建) / MIP(最大密度投影)
后处理 → 测量(距离/角度/体积) / 标注 / 裁剪
生成报告 → 3D截图 + 测量数据 + 诊断结论
审核发布 → 主治医师审核 → 发布到PACS/病历系统
```
### 2.3 数据模型
#### 核心实体
1. **ReconstructionTask** (重建任务) — 3D重建任务
- id, patient_id, patient_name, encounter_id
- apply_id(检查申请ID), study_uid(DICOM StudyUID)
- modality(CT/MRI), body_part, scan_range
- task_status(PENDING/PROCESSING/COMPLETED/FAILED)
- reconstruction_type(VR/MPR/MIP/VR+MPR)
- result_path(重建结果存储路径)
- slice_thickness, pixel_spacing
- request_doctor, complete_time
2. **ReconstructionResult** (重建结果) — 3D重建输出
- id, task_id, result_type(VR/MPR/MIP)
- image_path(截图路径), volume_data_path(体数据路径)
- measurements(JSON: 距离/角度/体积等测量数据)
- annotations(JSON: 标注信息)
- report_text(报告文本)
3. **ReconstructionReport** (重建报告) — 3D重建报告
- id, task_id, patient_id, encounter_id
- findings(所见), impression(印象), conclusion(结论)
- report_doctor, report_time
- verify_doctor, verify_time
- status(DRAFT/REPORTED/VERIFIED)
### 2.4 业务规则
| 规则编号 | 规则名称 | 规则描述 |
|---------|---------|---------|
| R1 | 任务触发 | 由影像科医生从PACS工作台发起3D重建任务 |
| R2 | 图像要求 | 至少需要50层连续断层图像才能进行3D重建 |
| R3 | 重建类型 | 支持VR(容积渲染)/MPR(多平面)/MIP(最大密度投影) |
| R4 | 测量功能 | 支持距离/角度/面积/体积测量 |
| R5 | 报告审核 | 3D重建报告必须由主治以上医师审核 |
| R6 | 图像存储 | 重建结果存储在PACS归档系统保留期≥1年 |
### 2.5 接口设计
| API | 方法 | 说明 |
|-----|------|------|
| /reconstruction/task/page | GET | 重建任务列表 |
| /reconstruction/task/add | POST | 新建重建任务 |
| /reconstruction/task/complete/{id} | PUT | 完成重建 |
| /reconstruction/result/list/{taskId} | GET | 重建结果列表 |
| /reconstruction/report/add | POST | 新建报告 |
| /reconstruction/report/verify/{id} | PUT | 审核报告 |
| /reconstruction/stats | GET | 统计(任务数/完成率/类型分布) |