Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
IEC 62304于2006年首次发布,2015年修订,是全球公认的医疗器械软件生命周期过程标准。该标准建立了医疗器械软件安全设计、开发和维护所需的活动和任务框架,无论软件是嵌入在硬件设备中,还是作为独立软件医疗器械(SaMD)。对于进入医疗技术领域的工程师而言,理解IEC 62304是进入几乎所有市场的监管先决条件,包括欧盟医疗器械法规、美国FDA 510(k)和PMA、加拿大、日本和澳大利亚。
该标准引入了三级软件安全分级体系,决定了所需开发过程的严格程度。A级——不可能对健康造成伤害或损害(例如患者预约排程软件)。B级——可能造成非严重伤害(例如带有手动超控功能且不能超过硬编码限值的药物剂量计算器)。C级——可能导致死亡或严重伤害(例如呼吸机控制软件、输液泵算法、放射治疗计划系统)。
关键的工程见解是,安全等级是从整体设备风险逐层向下传递的。例如,呼吸机中读取传感器的软件组件因其上下文关系被定为C级,尽管单独读取传感器本身是无害的活动。标准规定,如果软件系统中任何功能属于C级,则整个软件系统必须按照C级严格程度进行开发——但有一个重要的例外:那些不可能导致危险情况的软件项在明确证明并记录在软件安全计划中后,可维持较低级别。这种”降级”需要有充分的证据表明该软件项确实不可能造成伤害,包括可追溯至系统级风险分析的证明。
| 等级 | 伤害严重程度 | 所需开发活动 | 设备示例 |
|---|---|---|---|
| A | 不可能造成伤害 | 仅需文档化软件维护过程 | 患者排程、计费软件 |
| B | 可能造成非严重伤害 | A级所有内容 + 需求分析、架构设计、单元验证、集成测试、问题解决 | 无创血压监测仪、带提醒功能的药丸分配器 |
| C | 可能导致死亡或严重伤害 | B级所有内容 + 详细设计文档、覆盖率分析的单元测试、软件变更影响分析、严格追溯 | 呼吸机、输液泵、除颤器、放射治疗软件 |
IEC 62304规定了源自ISO/IEC 12207但专门针对医疗器械安全性进行了调整的定义明确的软件开发过程。核心过程包括:软件开发规划、软件需求分析、软件架构设计、软件详细设计(仅C级)、软件单元实现和验证、软件集成和集成测试、以及软件系统测试。每个过程阶段都需要特定的输出文档,标准明确规定了每个安全等级需要哪些输出。
一个关键的工程挑战是未知来源软件管理的要求。SOUP是指那些未在受控的医疗器械软件过程下开发的第三方软件组件——操作系统、库、通信协议栈等。IEC 62304要求制造商识别SOUP,确定其异常风险等级,并应用适当的风险缓解措施。例如,输液泵中的实时操作系统必须评估已知异常,泵软件必须证明没有SOUP异常会导致不可接受的危险情况。SOUP管理过程经常被引为IEC 62304合规中最具挑战性的方面之一,特别是在涉及开源库时。制造商需要建立SOUP清单,持续跟踪已知的安全漏洞和异常报告,并制定风险接受标准以确定哪些SOUP异常需要采取纠正措施。
软件维护过程同样重要。在初始市场发布后,IEC 62304要求建立上市后监督系统,将异常报告反馈到开发过程中。每个异常必须评估其安全影响,如果需要对软件进行变更,则变更必须遵循规定的变更控制过程,包括影响分析、重新验证和回归测试。标准规定,对C级软件的变更必须接受与原始开发相同水平的审查,包括重新执行所有受影响的单元测试、集成测试和系统级验证活动。2015年修订版明确说明已上市的软件更新(包括安全补丁)受相同过程约束,这堵住了先前允许上市后变更绕过正式验证的漏洞。
| 文档/活动 | A级 | B级 | C级 |
|---|---|---|---|
| 软件开发计划 | 建议 | 必需 | 必需 |
| 软件需求规格说明 | — | 必需 | 必需 |
| 软件架构文档 | — | 必需 | 必需 |
| 软件详细设计 | — | — | 必需 |
| 单元验证结果 | — | 必需 | 必需(含覆盖率) |
| 集成测试计划和结果 | — | 必需 | 必需 |
| 系统测试计划和结果 | — | 必需 | 必需 |
| 问题解决报告 | 必需 | 必需 | 必需 |
| 软件变更影响分析 | — | 必需 | 必需 |
| 风险管理文件(依据ISO 14971) | — | 必需 | 必需 |