方案设计:医废全流程追溯系统
← 返回场景概览 | 上一阶段:需求探索 → | 下一阶段:开发资产 →
方案概览
本方案设计了一套完整的医废全流程追溯系统,通过物联网设备(蓝牙电子秤、PDA、定位设备)实现医废从科室产生、收集、转运、暂存到出库交接的全流程数字化监管,确保合规、安全、可追溯。
1. 全流程业务设计
1.1 整体流程
1.2 核心环节
环节一:科室交接收集
流程步骤:
- 收集人员到达科室,打开 PDA 和蓝牙电子秤
- PDA 自动连接蓝牙电子秤
- 选择医废类型(感染性、损伤性、病理性、药物性、化学性)
- 科室护士将医废袋放置在电子秤上
- 电子秤自动称重,数据实时传输至 PDA
- PDA 现场打印医废标签(二维码)
- 标签粘贴于医废袋上
- 科室护士和收集人员双重确认(扫码/刷卡)
- 交接完成,生成电子联单
关键规则:
- 称重数据自动采集,不可手工输入
- 称重数据实时上传,不可修改
- 双人交接确认,缺一不可
- 标签必须现场打印,不可预先打印
环节二:院内转运监控
流程步骤:
- 收集人员装车完成后,开始转运
- PDA 自动记录 GPS 轨迹
- 后台实时监控转运位置
- 系统自动比对实际路线与规定路线
- 发现违规(偏离路线、超时停留)自动报警
- 到达暂存间,转运完成
关键规则:
- 必须按规定的转运路线行走
- 转运时间必须在规定时间窗口内
- 偏离路线超过 50 米,自动报警
- 中途停留超过 10 分钟,自动报警
环节三:暂存间入库管理
流程步骤:
- 收集人员到达暂存间
- PDA 批量扫描医废袋标签
- 系统自动统计入库总重量
- 与收集时的总重量自动比对
- 误差在允许范围内(±2%),允许入库
- 误差超标,禁止入库,触发异常处理
- 入库成功后,系统指引医废存放位置
- 更新暂存间库存
关键规则:
- 入库总重量与收集总重量误差不超过 ±2%
- 必须按类别分区存放
- 入库时间自动记录
- 库存实时更新
环节四:出库移交管理
流程步骤:
- 第三方处置公司到达暂存间
- 暂存管理员扫描医废袋标签出库
- 系统自动生成电子转移联单
- 记录转运车辆牌号、驾驶员信息
- 移交完成,数据上报监管平台
关键规则:
- 出库必须扫码,不可手工记录
- 电子联单自动生成,不可修改
- 车辆信息必须完整记录
- 数据自动对接监管平台
2. 业务规则设计
2.1 称重规则
规则一:自动称重,不可手工输入
- 称重数据必须来自蓝牙电子秤
- 不允许手工输入重量数据
- 称重数据自动上传,不可修改
规则二:重量异常检测
- 单袋医废重量超过 50 kg,自动预警(可能存在包装不规范)
- 单袋医废重量小于 1 kg,自动预警(可能未装满)
- 同类医废重量差异超过 20%,自动预警(可能存在分类错误)
2.2 交接规则
规则一:双人交接确认
- 科室护士必须扫码/刷卡确认
- 收集人员必须扫码/刷卡确认
- 缺一不可,否则交接无效
规则二:交接时间窗口
- 交接必须在规定的收集时间内完成
- 超出时间窗口,系统自动记录异常
- 连续 3 次超时,触发管理员处理
2.3 转运规则
规则一:路线验证
- 必须按规定的转运路线行走
- 偏离路线超过 50 米,自动报警
- 偏离路线超过 100 米,立即通知管理员
规则二:时间窗口
- 转运时间必须在规定时间窗口内(如 30 分钟内)
- 超时自动报警
- 连续 3 次超时,触发管理员处理
规则三:轨迹验证
- GPS 轨迹必须连续,不可跳跃
- 轨迹速度合理(步行速度 3-6 km/h)
- 异常轨迹(如速度过快、跳跃)自动标记
2.4 入库规则
规则一:重量复核
- 入库总重量与收集总重量误差不超过 ±2%
- 误差超标,禁止入库
- 触发异常处理,管理员介入
规则二:分类存放
- 必须按类别分区存放(感染性、损伤性、病理性、药物性、化学性)
- 系统指引存放位置
- 放错位置,自动报警
2.5 超期预警规则
规则一:48 小时限制
- 医废在暂存间存放时间最长 48 小时
- 接近 48 小时(如 46 小时),自动预警
- 超过 48 小时未清运,立即通知管理员
规则二:预警机制
- 46 小时:第一次预警(提醒管理员)
- 47 小时:第二次预警(通知后勤科长)
- 48 小时:第三次预警(通知院感科长)
2.6 出库规则
规则一:扫码出库
- 出库必须扫码,不可手工记录
- 批量扫码,快速出库
- 扫码失败,禁止出库
规则二:电子联单生成
- 出库完成后,自动生成电子转移联单
- 联单包含:医废类型、重量、产生科室、收集时间、出库时间、处置公司等信息
- 联单自动对接环保部门监管平台
3. 数据模型设计
3.1 医废标签(MedicalWasteLabel)
typescript
interface MedicalWasteLabel {
id: string;
labelNo: string; // 标签编号(二维码)
category: 'infectious' | 'sharp' | 'pathological' | 'pharmaceutical' | 'chemical';
weight: number; // 重量(kg)
departmentId: string; // 产生科室ID
departmentName: string; // 产生科室名称
collectorId: string; // 收集人员ID
collectorName: string; // 收集人员姓名
nurseId: string; // 科室护士ID
nurseName: string; // 科室护士姓名
collectTime: Date; // 收集时间
routeId: string; // 转运路线ID
gpsTrajectory: GPSPoint[]; // GPS轨迹
storageTime?: Date; // 入库时间
storageLocation?: string; // 存放位置
outTime?: Date; // 出库时间
disposalCompanyId?: string; // 处置公司ID
status: 'collected' | 'in-transit' | 'stored' | 'outbound' | 'disposed';
createdAt: Date;
updatedAt: Date;
}3.2 收集记录(CollectionRecord)
typescript
interface CollectionRecord {
id: string;
recordNo: string; // 记录编号
departmentId: string; // 科室ID
departmentName: string; // 科室名称
collectorId: string; // 收集人员ID
collectorName: string; // 收集人员姓名
nurseId: string; // 科室护士ID
nurseName: string; // 科室护士姓名
collectTime: Date; // 收集时间
category: string; // 医废类别
totalWeight: number; // 总重量
labelCount: number; // 标签数量
labels: string[]; // 标签编号列表
confirmStatus: 'confirmed' | 'pending'; // 确认状态
createdAt: Date;
updatedAt: Date;
}3.3 转运记录(TransportRecord)
typescript
interface TransportRecord {
id: string;
collectRecordId: string; // 收集记录ID
routeId: string; // 转运路线ID
collectorId: string; // 收集人员ID
startTime: Date; // 开始时间
endTime?: Date; // 结束时间
gpsTrajectory: GPSPoint[]; // GPS轨迹
plannedRoute: RoutePoint[]; // 规定路线
deviation: number; // 偏离距离(米)
isTimeout: boolean; // 是否超时
violations: Violation[]; // 违规记录
status: 'in-transit' | 'completed' | 'abnormal';
createdAt: Date;
updatedAt: Date;
}3.4 暂存库存(StorageInventory)
typescript
interface StorageInventory {
id: string;
labelNo: string; // 标签编号
category: string; // 医废类别
weight: number; // 重量
storageTime: Date; // 入库时间
location: string; // 存放位置
expiryTime: Date; // 到期时间(入库时间 + 48小时)
isExpired: boolean; // 是否超期
warningLevel: 'none' | 'warning' | 'critical';
status: 'stored' | 'outbound' | 'disposed';
createdAt: Date;
updatedAt: Date;
}4. 权限设计
4.1 角色定义
| 角色 | 权限 |
|---|---|
| 超级管理员 | 所有权限 |
| 院感科长 | 查看所有数据、统计数据、合规报表 |
| 后勤科长 | 查看所有数据、统计数据、异常处理 |
| 暂存管理员 | 入库管理、出库管理、库存查看 |
| 收集人员 | 收集医废、称重、打印标签、转运 |
| 科室护士 | 确认交接、查看本科室数据 |
4.2 数据权限
- 项目隔离:不同医院的数据相互隔离
- 角色权限:不同角色只能查看和操作权限范围内的数据
- 数据脱敏:敏感信息(如收集人员个人信息)按权限脱敏显示
5. 技术架构
5.1 硬件层
- PDA 手持终端:集成扫码、蓝牙、4G通信、GPS定位
- 蓝牙电子秤:高精度工业级台秤/挂秤(精度 ±0.1kg)
- 便携打印机:热敏标签打印机(蓝牙连接)
- GPS 定位设备:内置 GPS 或外接 GPS 模块
5.2 软件层
- 后端:Java 微服务架构
- 前端:Vue (PC) + Android (PDA)
- 接口:提供标准 API 对接卫健委/环保局监管平台
5.3 核心功能模块
- 称重管理模块:蓝牙秤对接、称重数据采集
- 标签管理模块:标签生成、打印、扫码
- 轨迹管理模块:GPS 轨迹记录、路线验证
- 库存管理模块:入库、出库、超期预警
- 合规报表模块:各类合规报表生成
- 监管对接模块:数据上报监管平台
6. 关键业务规则总结
6.1 称重规则
- 自动称重,不可手工输入
- 重量异常自动预警
6.2 交接规则
- 双人交接确认,缺一不可
- 交接时间窗口控制
6.3 转运规则
- 路线验证,偏离报警
- 时间窗口控制
- 轨迹验证
6.4 入库规则
- 重量复核,误差 ±2%
- 分类存放
6.5 超期预警规则
- 48 小时限制
- 分级预警机制
下一步:开发资产
在开发资产阶段,我们将:
- 创建 Cursor Skills(业务规则、数据模型)
- 创建 PROMPT 模板(需求调研、方案设计)
- 创建代码模板(API 接口、前端组件)

