后端: - FollowupController: 随访计划/任务/记录/满意度调查/投诉记录(完整CRUD+业务联动) - PathologyController: 病理医嘱/标本管理/三级审核报告(完整CRUD+业务联动) - EmergencyController: 急诊分诊(五级)/抢救/留观/绿色通道(完整CRUD+统计) 前端: - followup/plan: 随访计划管理(进度条+筛选+联动) - followup/task: 随访任务(今日任务+执行+异常标记) - followup/record: 随访记录(用药依从+复查+转诊) - followup/survey: 满意度调查(星级评分+统计面板) - followup/complaint: 投诉管理(登记→处理→关闭闭环) - pathology/order: 病理医嘱(加急标记+状态流转) - pathology/specimen: 标本管理(扫码接收+质检) - pathology/report: 病理报告(初诊→提交→审核→终审签发) - emergency/triage: 急诊分诊(五级分诊+实时看板+行列高亮) - emergency/rescue: 抢救管理(开始→过程记录→结果) - emergency/observation: 留观管理(时长计算+转归处置) - emergency/greentrack: 绿色通道(Door-to-Tx追踪+达标统计) 修复: - V24-V32 Flyway迁移: is_deleted→delete_flag对齐HisBaseEntity - V24: drug_interaction_rule表兼容V2已有结构(ADD COLUMN IF NOT EXISTS) - V28: CURRENT CURRENT_TIMESTAMP→CURRENT_TIMESTAMP修复 - 所有INDEX添加IF NOT EXISTS防止重复创建
143 lines
4.2 KiB
Markdown
143 lines
4.2 KiB
Markdown
# 病理管理模块 — 深度设计文档
|
|
|
|
> **版本**: v1.0 | **编制日期**: 2026-06-07
|
|
> **依据**: 《病理科建设与管理指南》+ 《临床病理质量控制标准》
|
|
|
|
---
|
|
|
|
## 一、业务背景
|
|
|
|
病理诊断是手术后诊断的"金标准",三甲医院必须具备:
|
|
- 病理标本全流程追溯(从手术室到病理科)
|
|
- 三级审核制度(住院医师→主治→副主任)
|
|
- 病理报告质量控制
|
|
- 肿瘤登记上报
|
|
|
|
## 二、业务流程
|
|
|
|
```
|
|
[手术/活检/穿刺] → 病理申请单
|
|
↓
|
|
[标本采集] ←→ [条码打印] ←→ [标本固定(10%福尔马林)]
|
|
↓ (运送至病理科)
|
|
[标本接收] ←→ [标本核对(条码扫码)]
|
|
↓ (不合格退回)
|
|
[取材描述] ←→ [组织处理(脱水/包埋)]
|
|
↓
|
|
[切片制作] ←→ [染色(HE/免疫组化/特殊染色)]
|
|
↓
|
|
[初诊阅片] ←→ [上级医师审核]
|
|
↓ (疑难病例会诊)
|
|
[病理会诊] ←→ [最终诊断]
|
|
↓
|
|
[报告编写] ←→ [三级审核]
|
|
↓
|
|
[报告签发] ←→ [临床科室领取]
|
|
↓
|
|
[肿瘤登记] ←→ [随访]
|
|
```
|
|
|
|
## 三、数据模型
|
|
|
|
```sql
|
|
-- 病理申请
|
|
CREATE TABLE pathology_order (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
patient_id BIGINT NOT NULL,
|
|
patient_name VARCHAR(50),
|
|
encounter_id BIGINT,
|
|
specimen_type VARCHAR(50), -- 手术标本/活检/穿刺/细胞学
|
|
clinical_diagnosis TEXT,
|
|
sample_site VARCHAR(100),
|
|
urgency VARCHAR(20) DEFAULT 'NORMAL', -- URGENT/NORMAL
|
|
order_status VARCHAR(20) DEFAULT 'PENDING',
|
|
apply_doctor VARCHAR(64),
|
|
apply_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
tenant_id BIGINT DEFAULT 0,
|
|
is_deleted INT NOT NULL DEFAULT 0,
|
|
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
-- 病理标本
|
|
CREATE TABLE pathology_specimen (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
order_id BIGINT NOT NULL,
|
|
barcode VARCHAR(100) NOT NULL,
|
|
specimen_desc TEXT,
|
|
collection_site VARCHAR(100),
|
|
fixative VARCHAR(50),
|
|
fixative_time TIMESTAMP,
|
|
receive_time TIMESTAMP,
|
|
receiver VARCHAR(64),
|
|
is_qualified BOOLEAN DEFAULT TRUE,
|
|
reject_reason TEXT,
|
|
tenant_id BIGINT DEFAULT 0,
|
|
is_deleted INT NOT NULL DEFAULT 0,
|
|
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
-- 病理处理
|
|
CREATE TABLE pathology_process (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
specimen_id BIGINT NOT NULL,
|
|
process_type VARCHAR(30), -- 取材/脱水/包埋/切片/染色/免疫组化
|
|
process_desc TEXT,
|
|
operator VARCHAR(64),
|
|
operate_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
tenant_id BIGINT DEFAULT 0,
|
|
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
-- 病理诊断
|
|
CREATE TABLE pathology_diagnosis (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
order_id BIGINT NOT NULL,
|
|
specimen_id BIGINT,
|
|
diagnosis_type VARCHAR(30), -- 初诊/复诊/会诊/最终
|
|
diagnosis_result TEXT,
|
|
immunostain_result TEXT,
|
|
doctor_name VARCHAR(64),
|
|
doctor_title VARCHAR(20),
|
|
diagnose_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
tenant_id BIGINT DEFAULT 0,
|
|
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
-- 病理报告
|
|
CREATE TABLE pathology_report (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
order_id BIGINT NOT NULL,
|
|
patient_id BIGINT,
|
|
specimen_desc TEXT,
|
|
macroscopic_desc TEXT, -- 肉眼所见
|
|
microscopic_desc TEXT, -- 镜下所见
|
|
diagnosis_result TEXT, -- 病理诊断
|
|
suggestion TEXT,
|
|
report_doctor VARCHAR(64),
|
|
report_time TIMESTAMP,
|
|
audit_doctor VARCHAR(64),
|
|
audit_time TIMESTAMP,
|
|
final_doctor VARCHAR(64),
|
|
final_time TIMESTAMP,
|
|
status VARCHAR(20) DEFAULT 'DRAFT',
|
|
tenant_id BIGINT DEFAULT 0,
|
|
is_deleted INT NOT NULL DEFAULT 0,
|
|
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
```
|
|
|
|
## 四、接口设计
|
|
|
|
| API | 方法 | 说明 |
|
|
|-----|------|------|
|
|
| /pathology/order/page | GET | 病理申请列表 |
|
|
| /pathology/order/add | POST | 新建病理申请 |
|
|
| /pathology/specimen/scan | POST | 标本扫码接收 |
|
|
| /pathology/specimen/reject/{id} | PUT | 标本拒收 |
|
|
| /pathology/process/record | POST | 记录处理过程 |
|
|
| /pathology/diagnosis/add | POST | 录入诊断 |
|
|
| /pathology/report/page | GET | 病理报告列表 |
|
|
| /pathology/report/add | POST | 新建报告 |
|
|
| /pathology/report/audit/{id} | PUT | 审核报告 |
|
|
| /pathology/stats | GET | 病理统计(标本数/诊断分布/周转时间) |
|