| 状态值 | 状态名称 | 说明 | 使用场景 |
|---|---|---|---|
| 0 | 初始状态 | 检查记录初始化状态 | 数据初始化 |
| 1 | 登记 | 检查已登记,等待检查 | 患者登记完成 |
| 2 | 登记完成 | 登记流程完成 | 登记确认 |
| 3 | 影像到达 | DICOM影像已上传到系统 | 影像采集完成 |
| 7 | 已写报告 | 报告医生已完成报告书写 | 报告书写完成 |
| 8 | 已审报告 | 审核医生已审核报告 | 报告审核完成 |
| 9 | 已确认报告 | 确认医生已确认报告,报告最终完成 | 报告流程结束 |
| 12 | 审核驳回 | 审核医生驳回报告,需要重新书写 | 报告质量不合格 |
| 状态值 | 状态名称 | 说明 | 使用场景 |
|---|---|---|---|
| -1 | 待处理 | 特殊待处理状态 | 影像质量问题等 |
| -99 | 已删除/无效 | 检查记录已删除或无效 | 删除操作 |
正常流程:
0/1 → 2 → 3 → 7 → 8 → 9
登记 完成 影像 写报告 审核 确认
驳回流程:
8 → 12 → 7 → 8 → 9
审核 驳回 重写 审核 确认
允许的前置状态:
3 - 影像到达7 - 已写报告(重新编辑)12 - 审核驳回(驳回后重写)转换后状态:7 - 已写报告
代码验证:
if($exam_status != 3 && $exam_status != 7 && $exam_status != 12){
throw new Error('流程顺序错误,无法书写报告');
}
允许的前置状态:
7 - 已写报告8 - 已审报告(重新审核)转换后状态:8 - 已审报告
代码验证:
if($exam_status != 8 && $exam_status != 7){
throw new Error('流程顺序错误,无法审核报告');
}
允许的前置状态:
8 - 已审报告转换后状态:9 - 已确认报告
代码验证:
if($exam_status != 8){
throw new Error('流程顺序错误,无法确认报告');
}
允许的前置状态:
7 - 已写报告8 - 已审报告转换后状态:12 - 审核驳回
操作:
可见状态:7, 8, 9, 12
3, 7, 12 的报告可见状态:7, 8, 9, 12
7, 8 的报告7, 8 的报告可见状态:8, 9
8 的报告WHERE exam_status IN (3, 7, 12)
WHERE exam_status IN (7, 12)
WHERE exam_status = 8
WHERE exam_status = 9
WHERE exam_status NOT IN (0, 1, 2, -99)
public class ExamStatus {
public static final int INIT = 0; // 初始状态
public static final int REGISTERED = 1; // 登记
public static final int REGISTER_COMPLETE = 2; // 登记完成
public static final int IMAGE_ARRIVED = 3; // 影像到达
public static final int REPORT_WRITTEN = 7; // 已写报告
public static final int REPORT_AUDITED = 8; // 已审报告
public static final int REPORT_CONFIRMED = 9; // 已确认报告
public static final int AUDIT_REJECTED = 12; // 审核驳回
public static final int PENDING = -1; // 待处理
public static final int DELETED = -99; // 已删除
}
`exam_status` tinyint(1) DEFAULT '1' COMMENT '检查状态
1 登记
2 登记完成
3 影像到达
7 写报告
8 审核报告
9 确认报告
12 审核驳回'