场景01:医疗设备校准到期提醒
当前阶段: 🔍 探索中 | 行业: 医疗健康 | 关键词: 设备校准、计量管理、到期提醒 | 返回医疗场景 →
一、需求探索
1.1 痛点时刻
具体场景:
周一上午9点,医务科进行例行检查时发现,CT设备的年度校准计划应在本周五(5月12日)完成,但设备科未收到任何提醒。查询后发现该设备实际已超期3天未校准。
此时面临的问题:
- CT设备已使用3天,期间检查的患者报告是否有效?
- 需要立即停用设备,影响当天20多位预约患者
- 设备科长解释"太忙忘记了",没有自动提醒机制
- 如果被卫健委检查发现,医院将面临处罚
业务背景:
- 设备规模:中型医院拥有医疗设备200-500台
- 校准周期:大型设备(CT、MRI)每年1次,小型设备(血压计、体温计)每半年1次
- 管理部门:设备科负责校准计划,医务科负责监督
- 监管要求:《医疗器械监督管理条例》要求定期校准,超期使用将被处罚
1.2 核心痛点
问题1:提醒不及时
- 校准计划记录在Excel表格中,依赖人工查看
- 设备科人员日常工作繁忙,容易遗忘
- 没有自动提醒机制,发现时往往已超期
问题2:优先级不清
- 所有设备一视同仁,无法区分重点设备
- CT、MRI等大型设备超期影响更大,但没有特殊提醒
- 不知道哪些设备即将到期,无法提前安排
问题3:责任不清
- 超期后无法追溯谁负责、为什么没提醒
- 设备科和医务科互相推诿责任
- 缺少完整的提醒和处理记录
1.3 业务规则(行业标准)
《医疗器械监督管理条例》相关要求:
- 医疗器械使用单位应当按照产品说明书要求进行定期检查、检验、校准、保养、维护(第30条)
- 发现医疗器械存在安全隐患的,应当立即停止使用(第31条)
- 未按规定进行校准的,由县级以上卫生主管部门责令改正,给予警告(第66条)
实际业务规则(基于行业调研):
- 提前7天预警:校准计划到期前7天 → 推送预警给设备科
- 到期当天报警:校准计划到期 → 推送报警给设备科长和医务科
- 超期3天停用:超期3天未完成 → 设备自动标记为"停用",禁止开单
- 重点设备特殊处理:CT、MRI、呼吸机等重点设备 → 提前15天预警
成本测算:
- 超期成本:设备停用影响患者就诊,CT停用1天损失约2-3万元
- 处罚成本:被卫健委检查发现,罚款5000-50000元
- 质量风险:超期设备检查结果可能不准确,影响诊断质量
- 平衡点:宁可提前提醒,不可超期使用
二、方案设计
2.1 业务规则设计
规则1:到期判定规则
typescript
// 校准到期判定
interface CalibrationDue {
// 判定条件
dueDate: Date; // 计划校准日期
currentDate: Date; // 当前日期
equipmentType: string; // 设备类型
priority: 'HIGH' | 'NORMAL'; // 优先级
// 判定结果
status: 'NORMAL' | 'WARNING' | 'ALERT' | 'OVERDUE';
daysRemaining: number; // 剩余天数(负数表示超期)
alertLevel: 'INFO' | 'WARNING' | 'CRITICAL';
}
// 判定逻辑
function checkCalibrationDue(
equipment: Equipment,
currentDate: Date
): CalibrationDue {
const dueDate = equipment.nextCalibrationDate;
const daysRemaining = Math.floor(
(dueDate.getTime() - currentDate.getTime()) / (1000 * 60 * 60 * 24)
);
// 重点设备(CT、MRI、呼吸机)
const isHighPriority = ['CT', 'MRI', '呼吸机'].includes(equipment.type);
const warningDays = isHighPriority ? 15 : 7;
if (daysRemaining < -3) {
// 超期3天 → 设备停用
return {
status: 'OVERDUE',
daysRemaining,
alertLevel: 'CRITICAL',
action: '设备已停用,禁止开单'
};
} else if (daysRemaining < 0) {
// 已超期 → 报警
return {
status: 'ALERT',
daysRemaining,
alertLevel: 'CRITICAL',
action: '立即安排校准'
};
} else if (daysRemaining === 0) {
// 到期当天 → 报警
return {
status: 'ALERT',
daysRemaining: 0,
alertLevel: 'CRITICAL',
action: '今日必须完成校准'
};
} else if (daysRemaining <= warningDays) {
// 提前预警
return {
status: 'WARNING',
daysRemaining,
alertLevel: 'WARNING',
action: '请提前安排校准'
};
}
return { status: 'NORMAL', daysRemaining };
}规则2:自动提醒规则
typescript
// 自动提醒动作
interface AutoReminder {
// 提前15天(仅重点设备)
day_15_before: {
condition: '重点设备(CT、MRI、呼吸机) && 距离到期15天';
notifyTo: ['设备科长', '设备管理员'];
channel: ['系统消息', '微信'];
message: 'CT设备校准计划将在15天后到期,请提前联系计量机构';
};
// 提前7天(所有设备)
day_7_before: {
condition: '距离到期7天';
notifyTo: ['设备科长', '设备管理员'];
channel: ['系统消息', '微信', '短信'];
message: '血压计校准计划将在7天后到期,请及时安排';
};
// 到期当天
due_day: {
condition: '到期当天';
notifyTo: ['设备科长', '医务科长'];
channel: ['系统消息', '微信', '短信', '电话'];
message: 'CT设备校准计划今日到期,请立即处理';
priority: 'HIGH';
};
// 超期每天提醒
overdue_daily: {
condition: '超期未完成';
notifyTo: ['设备科长', '医务科长', '分管院长'];
channel: ['系统消息', '微信', '短信'];
message: 'CT设备校准已超期3天,设备已停用';
frequency: '每天上午9:00';
};
}规则3:设备停用规则
typescript
// 设备停用逻辑
interface EquipmentSuspension {
// 停用条件
condition: {
overdueDays: number; // 超期天数 > 3
equipmentStatus: string; // 设备状态 = '在用'
};
// 停用动作
actions: {
updateStatus: '设备状态 → 停用';
blockOrders: '禁止开单(HIS系统联动)';
notifyDepartments: ['使用科室', '医务科', '设备科'];
displayWarning: '设备列表显示红色"停用"标识';
};
// 恢复条件
resumeCondition: {
calibrationCompleted: true; // 完成校准
reportUploaded: true; // 上传校准报告
approvedBy: '医务科长'; // 医务科审核通过
};
}2.2 技术方案
技术架构
设备管理系统 → 定时任务(每天凌晨1点) → 规则引擎 → 提醒推送
↓
校准计划数据
↓
HIS系统联动(设备停用)核心技术点
1. 定时任务调度
- 执行时间:每天凌晨1:00检查所有设备
- 检查范围:状态为"在用"的设备
- 数据来源:设备管理系统的校准计划表
2. 到期判断逻辑
- 计算剩余天数:
(到期日期 - 当前日期) / 86400000 - 判断设备优先级:重点设备提前15天,普通设备提前7天
- 判断超期状态:超期3天自动停用
3. 规则引擎
- 基于时间窗口的规则判断
- 支持规则配置(提前天数、超期天数可调整)
- 支持设备分类(重点设备、普通设备)
4. 提醒推送
- 多通道推送:系统消息、微信、短信、电话
- 分级推送:预警(微信)、报警(微信+短信)、严重(微信+短信+电话)
- 推送确认:重要提醒需要确认收到
5. HIS系统联动
- 设备超期3天 → 自动更新设备状态为"停用"
- HIS开单时检查设备状态,停用设备无法开单
- 完成校准后 → 上传报告 → 医务科审核 → 恢复"在用"
数据模型
typescript
// 设备信息
interface Equipment {
id: string;
name: string; // 设备名称
model: string; // 型号
serialNumber: string; // 序列号
type: string; // 设备类型(CT、MRI、血压计等)
department: string; // 使用科室
status: 'IN_USE' | 'SUSPENDED' | 'SCRAPPED'; // 设备状态
priority: 'HIGH' | 'NORMAL'; // 优先级
}
// 校准计划
interface CalibrationPlan {
id: string;
equipmentId: string;
equipmentName: string;
lastCalibrationDate: Date; // 上次校准日期
nextCalibrationDate: Date; // 下次校准日期
calibrationCycle: number; // 校准周期(月)
status: 'PENDING' | 'COMPLETED' | 'OVERDUE';
// 提醒记录
reminders: {
sentAt: Date;
type: 'WARNING' | 'ALERT' | 'OVERDUE';
recipients: string[];
confirmed: boolean;
}[];
// 完成记录
completion: {
completedAt: Date;
calibrationAgency: string; // 校准机构
reportNumber: string; // 报告编号
reportFile: string; // 报告文件
approvedBy: string; // 审核人
approvedAt: Date;
};
}三、AI辅助开发方案
3.1 技术迁移分析
复用已有资产:矿山场景的"设备巡检到期预警"规则
相似点:
- 都是基于时间的到期判断
- 都需要提前预警 + 到期报警
- 都需要分级提醒 + 处置闭环
差异点:
| 维度 | 矿山场景 | 医疗场景 |
|---|---|---|
| 判断对象 | 巡检计划 | 校准计划 |
| 预警时间 | 到期前30分钟 | 到期前7天(重点设备15天) |
| 超期处理 | 必须补检 | 超期3天设备停用 |
| 系统联动 | 无 | HIS系统(禁止开单) |
技术复用度:95%
- 规则引擎逻辑:100%复用
- 提醒推送逻辑:100%复用
- 到期判断逻辑:95%复用(调整时间阈值)
- 新增:HIS系统联动(5%新开发)
3.2 Cursor Skill设计
Skill名称: inspection-overdue-alert.md (直接复用)
调整说明:
- 将"巡检计划"改为"校准计划"
- 将"30分钟/2小时"改为"7天/15天"
- 新增"超期3天停用"规则
- 新增"HIS系统联动"逻辑
3.3 PROMPT模板
PROMPT 1:生成到期判断代码
你是一个业务逻辑开发专家。请根据以下业务规则,生成医疗设备校准到期判断的代码。
## 业务场景
医疗设备需要定期校准,校准计划到期前需要自动提醒,超期未完成需要停用设备。
## 业务规则
1. 到期判定:
- 提前15天(仅重点设备:CT、MRI、呼吸机) → 预警
- 提前7天(所有设备) → 预警
- 到期当天 → 报警
- 超期1-3天 → 报警
- 超期3天以上 → 设备停用
2. 提醒推送:
- 预警:推送给设备科长、设备管理员(微信)
- 报警:推送给设备科长、医务科长(微信+短信)
- 停用:推送给设备科长、医务科长、分管院长(微信+短信+电话)
3. 设备停用:
- 超期3天 → 设备状态改为"停用"
- HIS系统联动 → 禁止开单
- 通知使用科室
## 数据模型
- Equipment:设备信息(id, name, type, status, priority)
- CalibrationPlan:校准计划(equipmentId, nextCalibrationDate, status)
## 技术要求
- 使用TypeScript
- 定时任务(每天凌晨1:00执行)
- 支持规则配置(提前天数、超期天数可调整)
- 记录所有提醒和处理过程
请生成完整的代码实现。PROMPT 2:生成HIS系统联动代码
你是一个业务逻辑开发专家。请根据以下业务规则,生成设备停用时HIS系统联动的代码。
## 业务场景
医疗设备校准超期3天后,需要自动停用设备,并在HIS系统中禁止开单。
## 业务规则
1. 设备停用:
- 更新设备状态为"停用"
- 记录停用原因、停用时间、操作人
2. HIS系统联动:
- 调用HIS接口,更新设备状态
- HIS开单时检查设备状态,停用设备无法开单
- 返回提示:"该设备校准已超期,暂停使用"
3. 恢复使用:
- 完成校准 → 上传校准报告
- 医务科审核通过 → 恢复"在用"状态
- HIS系统同步更新
## 技术要求
- 调用HIS系统API(RESTful接口)
- 支持事务回滚(设备状态更新失败时回滚)
- 记录所有操作日志
请生成完整的代码实现。3.4 开发周期预估
基于已有资产(矿山场景):
原型验证:1天
- Day 1:复用inspection-overdue-alert规则,调整时间阈值,测试到期判断
首版上线:3-5天
- Day 2:完善提醒推送逻辑,对接微信/短信
- Day 3:开发HIS系统联动接口
- Day 4:测试设备停用和恢复流程
- Day 5:部署上线
迭代优化:根据实际使用反馈调整提前天数、优化提醒策略
四、开发资产
4.1 Cursor Skill
文件名: inspection-overdue-alert.md (复用矿山场景)
调整内容:
markdown
# 设备校准到期提醒规则
## 业务场景
医疗设备需要定期校准,校准计划到期前需要自动提醒,超期未完成需要停用设备。
## 核心业务规则
### 1. 到期判定规则
**规则一:提前预警(重点设备)**
```typescript
// 重点设备提前15天预警
function checkHighPriorityWarning(
equipment: Equipment,
plan: CalibrationPlan,
currentDate: Date
): boolean {
const isHighPriority = ['CT', 'MRI', '呼吸机'].includes(equipment.type);
const daysRemaining = Math.floor(
(plan.nextCalibrationDate.getTime() - currentDate.getTime()) / (1000 * 60 * 60 * 24)
);
return isHighPriority && daysRemaining === 15;
}规则二:提前预警(所有设备)
typescript
// 所有设备提前7天预警
function checkNormalWarning(
plan: CalibrationPlan,
currentDate: Date
): boolean {
const daysRemaining = Math.floor(
(plan.nextCalibrationDate.getTime() - currentDate.getTime()) / (1000 * 60 * 60 * 24)
);
return daysRemaining === 7;
}规则三:到期报警
typescript
// 到期当天报警
function checkDueAlert(
plan: CalibrationPlan,
currentDate: Date
): boolean {
const daysRemaining = Math.floor(
(plan.nextCalibrationDate.getTime() - currentDate.getTime()) / (1000 * 60 * 60 * 24)
);
return daysRemaining === 0;
}规则四:超期停用
typescript
// 超期3天停用设备
function checkOverdueSuspension(
plan: CalibrationPlan,
currentDate: Date
): boolean {
const daysOverdue = Math.floor(
(currentDate.getTime() - plan.nextCalibrationDate.getTime()) / (1000 * 60 * 60 * 24)
);
return daysOverdue >= 3;
}2. 自动提醒规则
规则一:分级推送
typescript
async function sendReminder(
equipment: Equipment,
plan: CalibrationPlan,
alertType: 'WARNING' | 'ALERT' | 'SUSPENSION'
) {
const config = {
WARNING: {
recipients: ['设备科长', '设备管理员'],
channels: ['系统消息', '微信'],
priority: 'NORMAL'
},
ALERT: {
recipients: ['设备科长', '医务科长'],
channels: ['系统消息', '微信', '短信'],
priority: 'HIGH'
},
SUSPENSION: {
recipients: ['设备科长', '医务科长', '分管院长'],
channels: ['系统消息', '微信', '短信', '电话'],
priority: 'CRITICAL'
}
};
await notificationService.send({
...config[alertType],
message: generateMessage(equipment, plan, alertType)
});
}3. 设备停用规则
规则一:自动停用
typescript
async function suspendEquipment(equipment: Equipment, plan: CalibrationPlan) {
// 1. 更新设备状态
await equipmentService.updateStatus(equipment.id, 'SUSPENDED', {
reason: '校准超期',
suspendedAt: new Date(),
operator: 'SYSTEM'
});
// 2. HIS系统联动
await hisService.updateEquipmentStatus(equipment.id, 'SUSPENDED');
// 3. 通知相关科室
await notificationService.send({
recipients: [equipment.department, '医务科', '设备科'],
message: `${equipment.name}因校准超期已停用,请勿使用`
});
}规则二:恢复使用
typescript
async function resumeEquipment(
equipment: Equipment,
calibrationReport: CalibrationReport
) {
// 1. 验证校准报告
if (!calibrationReport.approvedBy) {
throw new Error('校准报告未经医务科审核');
}
// 2. 更新设备状态
await equipmentService.updateStatus(equipment.id, 'IN_USE', {
reason: '校准完成',
resumedAt: new Date(),
operator: calibrationReport.approvedBy
});
// 3. HIS系统联动
await hisService.updateEquipmentStatus(equipment.id, 'IN_USE');
// 4. 更新校准计划
await calibrationPlanService.complete(equipment.id, calibrationReport);
}数据模型
设备信息
typescript
interface Equipment {
id: string;
name: string;
type: string;
status: 'IN_USE' | 'SUSPENDED' | 'SCRAPPED';
priority: 'HIGH' | 'NORMAL';
department: string;
}校准计划
typescript
interface CalibrationPlan {
id: string;
equipmentId: string;
nextCalibrationDate: Date;
status: 'PENDING' | 'COMPLETED' | 'OVERDUE';
reminders: {
sentAt: Date;
type: 'WARNING' | 'ALERT' | 'SUSPENSION';
recipients: string[];
}[];
}关键处理流程
- 定时检查 → 每天凌晨1:00检查所有设备
- 到期判断 → 计算剩余天数,判断预警/报警/停用
- 自动提醒 → 分级推送给相关人员
- 设备停用 → 超期3天自动停用,HIS系统联动
- 恢复使用 → 完成校准 → 上传报告 → 审核通过 → 恢复
开发注意事项
- 时间阈值可配置:不要硬编码7天/15天,支持运营人员配置
- 设备分类:区分重点设备和普通设备,提前天数不同
- HIS系统联动:确保设备状态同步,避免停用设备仍可开单
- 数据留痕:所有提醒、停用、恢复操作必须记录
相似场景复用
这个规则可以复用到:
- 药品效期管理:药品效期到期前提醒
- 资质证书管理:医护人员资质证书到期提醒
- 合同管理:设备维保合同到期提醒
### 4.2 技术迁移说明
**可复用的已有资产:**
1. **矿山场景:设备巡检到期预警规则**
- 复用:规则引擎框架、提醒推送逻辑、到期判断逻辑
- 调整:时间阈值(30分钟/2小时 → 7天/15天)
- 复用度:95%
2. **新增部分:**
- HIS系统联动接口(5%)
- 设备停用和恢复逻辑
### 4.3 实施指南
**步骤1:准备环境**
```bash
# 安装依赖
npm install
# 配置HIS系统接口
# 编辑 config/his-config.json步骤2:使用Cursor Skill
1. 将 inspection-overdue-alert.md 保存到 .cursor/rules/
2. 在Cursor中告诉AI:
"参考 inspection-overdue-alert.md 中的业务规则,
实现医疗设备校准到期提醒功能"
3. AI会基于规则生成代码步骤3:调整配置
typescript
// config/calibration-rules.ts
export const CALIBRATION_CONFIG = {
highPriorityWarningDays: 15, // 重点设备提前15天
normalWarningDays: 7, // 普通设备提前7天
suspensionDays: 3, // 超期3天停用
highPriorityTypes: ['CT', 'MRI', '呼吸机'],
};步骤4:测试验证
bash
# 运行测试
npm test
# 模拟到期场景
npm run simulate:calibration-due五、下一步行动
如果您对这个场景感兴趣
- 快速验证:我们可以用1天时间,基于模拟数据做原型演示
- 技术对接:提供HIS系统接口文档,评估对接工作量
- 成本预估:根据设备数量、提醒频率,给出详细报价
相关场景
- 场景02:药品效期预警 - 效期管理类场景
- 矿山场景:设备巡检漏检预警 - 原始复用资产

