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 | 病理统计(标本数/诊断分布/周转时间) |
|