2. 医疗嵌入式系统的可靠性与安全性要求

医疗嵌入式系统与普通消费电子最大的区别在于:它的失效后果可能直接作用于患者。因此,故障诊断在医疗设备中不是“可选的调试辅助功能”,而是被标准体系强制约束的安全机制。理解 IEC 60601、ISO 14971、IEC 62304 这三套标准如何从不同层面约束故障诊断,是设计诊断架构的前提。

三套标准的分工与约束层次

这三套标准并非并列关系,而是从“产品安全”到“过程管理”再到“软件生命周期”的逐层细化。

IEC 60601-1 是医疗电气设备的基础安全标准,它关注的是设备在正常和单一故障条件下的物理安全。对故障诊断的直接约束体现在:设备必须具备对关键运行参数的监测能力,当出现可能危及安全的偏差时,应能进入安全状态(如停止输出、报警、切断能量)。它规定了报警系统的优先级分类——高优先级、中优先级、低优先级,这直接决定了诊断系统在检测到不同故障时应触发何种响应。

ISO 14971 是风险管理标准,它不规定具体技术实现,而是要求建立一套从危害识别到风险控制再到剩余风险评价的闭环流程。对故障诊断而言,ISO 14971 的核心约束是:诊断功能的覆盖范围必须由风险分析驱动。也就是说,不是“能测什么就测什么”,而是“风险分析指出哪些失效模式不可接受,诊断就必须覆盖这些失效模式”。

IEC 62304 是医疗器械软件生命周期标准,它将软件按安全等级分为 A、B、C 三级。A 级指软件失效不会造成伤害;B 级指可能造成非严重伤害;C 级指可能造成死亡或严重伤害。等级直接决定了软件架构、详细设计、单元验证和集成测试的严格程度。对故障诊断的约束是:诊断软件本身的安全等级不能低于它所监控的功能的安全等级。一个监控 C 级输注泵流速的看门狗,其自身也必须按 C 级要求开发和验证。

三套标准对故障诊断的约束层次 IEC 60601-1 · 基础安全 约束:关键参数监测 · 单一故障安全状态 · 报警优先级(高/中/低) 诊断响应:检测到危及安全的偏差 → 停止输出 / 切断能量 / 触发对应优先级报警 输出:设备级安全要求与报警分类 ISO 14971 · 风险管理 约束:危害识别 → 风险估计 → 风险控制 → 剩余风险评价(闭环) 诊断覆盖范围由风险分析驱动:不可接受的失效模式必须被诊断覆盖 输出:故障分类清单与诊断需求规格 IEC 62304 · 软件生命周期 约束:软件安全分级 A / B / C · 架构设计 · 详细设计 · 单元验证 · 集成测试 诊断软件自身等级 ≥ 被监控功能等级(C 级功能 → C 级诊断) 输出:诊断模块的开发与验证证据链 风险驱动 → 故障分类 → 诊断策略 → 安全响应 → 验证证据

风险管理如何驱动故障分类

ISO 14971 要求对每一个已识别的危害进行风险估计,通常用“严重度 × 发生概率”来表征。在医疗嵌入式系统中,故障分类不是按“硬件/软件”或“传感器/执行器”来分,而是按风险等级来分。一个实用的分类方式是:

  • I 类故障(可忽略):不影响治疗或诊断,仅影响用户体验。例如显示屏背光亮度异常。诊断策略:记录日志,不报警。
  • II 类故障(边缘):可能降低性能但不直接造成伤害。例如流速偏差在 ±10% 以内。诊断策略:提示性报警,允许继续运行但需关注。
  • III 类故障(严重):可能导致非严重伤害。例如流速偏差超过 ±20%。诊断策略:中优先级报警,限制输出范围。
  • IV 类故障(危重):可能导致死亡或严重伤害。例如流速失控、气泡未检出、能量输出异常。诊断策略:高优先级报警,立即停止输出并切断能量。

这个分类必须在设计早期完成,并作为诊断需求规格的输入。IEC 62304 要求软件需求必须可追溯到风险控制措施,因此每一个 IV 类故障都必须对应至少一条诊断需求,且该诊断需求必须可追溯到具体的风险分析条目。

从标准到诊断架构的落地

在实际工程中,这三套标准最终会收敛为一个具体的诊断架构。以输液泵为例:

ISO 14971 的风险分析识别出“流速失控”为 IV 类故障,要求必须被诊断覆盖。IEC 60601-1 要求该故障触发高优先级报警并停止输液。IEC 62304 要求监控流速的软件模块按 C 级开发。于是诊断架构中会出现:一个独立的流速监测任务,以不低于 10 Hz 的频率读取流量传感器,与设定值比较,偏差超过阈值时在 100 ms 内触发安全状态。该任务本身需要独立的看门狗、独立的时钟源和独立的电源监测,以防止共因失效。

标准不是“额外负担”,而是诊断设计的输入约束。先做风险分析确定故障分类,再按分类确定诊断覆盖范围和响应策略,最后按软件安全等级确定开发和验证的严格程度——这个顺序不能颠倒。

故障分类与诊断覆盖的对应关系

故障类别 典型示例 诊断覆盖要求 响应策略 软件安全等级
I 类 背光异常、日志存储满 可选 记录日志 A
II 类 流速偏差 ±10% 以内 建议覆盖 提示性报警 B
III 类 流速偏差 ±20% 以上 必须覆盖 中优先级报警 + 限制输出 B 或 C
IV 类 流速失控、气泡未检出 必须覆盖且独立冗余 高优先级报警 + 停止输出 C

需要特别注意的是,诊断功能本身也可能失效。ISO 14971 要求对诊断功能进行失效模式分析:如果诊断功能失效,是否会导致风险未被及时发现?对于 IV 类故障,通常要求诊断通道具备自检能力,或者采用双通道比较架构。IEC 62304 则要求对诊断软件的失效进行单独的风险评估,必要时提升其安全等级。

总结来说,IEC 60601 定义了“安全状态和报警行为”,ISO 14971 定义了“诊断什么和为什么诊断”,IEC 62304 定义了“怎么开发和验证诊断软件”。三者共同构成医疗嵌入式故障诊断的合规基线,任何诊断设计都必须在这三条约束的交集内完成。