大家好!我是小白,一名在医疗器械行业滚爬的研发工程师!
而从监管层来看,医疗器械软件的开发过程有专门、系统性的要求。国内的依据就是 YY/T 0664-2020《医疗器械软件 软件生存周期过程》。
一、YY/T 0664-2020是什么
一个关键认知:YY/T 0664-2020 是一个过程标准——它不是为了告诉你软件要达到什么性能指标,而是规定开发过程应该怎么管。逻辑是:过程管好了,产出的软件自然就是可信的。
一个重要边界:YY/T 0664-2020 的条文明确声明——本标准不覆盖医疗器械的确认和最终发布,即使该医疗器械完全由软件组成。软件确认是系统级活动,应在产品层面按 ISO13485 或相关法规要求执行。这个很容易被搞混。

二、动手之前先定三件事
YY/T 0664 规定了三个前置要求,必须在软件开发启动前落实:
质量管理体系
软件开发生命周期过程必须是组织质量管理体系的组成部分。换句话说,你公司必须先有运行中的质量管理体系(比如按 GB/T 42061-2022 / ISO 13485 建立的),软件过程才能嵌入进去。
风险管理
软件开发过程必须与风险管理过程整合。这里的风险管理既指 ISO 14971(GB/T 42062)层面的系统级风险管理,也指后文会讲的 YY/T 0664 第7章内部软件风险管理过程。两者不是替代关系,而是上下衔接关系。
软件安全等级分类
这是整个标准最基础的概念——等级不同,开发过程的严格程度完全不同。
三、软件安全等级

等级怎么判定
标准是这样说的

要注意三个事项:
判定不是拍脑袋。必须基于 ISO 14971 风险分析的结果,在风险管理文件中留下明确记录。等级判定是风险分析的输出,不是输入。
硬件保护可以降级,但有严格条件。如果设备有独立于软件的硬件安全保护机制,且该机制能在软件失效时有效防止伤害,软件的等级可以降低。条件是:硬件保护必须与软件完全独立、充分覆盖危险场景、且风险分析中要明确记录这一推理。
软件项级别可以分别定级。可以在单个软件系统内,对不同模块分别定级。比如一个C级系统里,剂量计算模块是C级,数据显示模块可以是B级,日志模块可以是A级——前提是架构上做好了隔离,低等级模块的失效不会传播到高等级模块。
分好等级,就决定你的工作量了

四、先把规矩定好
软件开发过程是整个标准体量最大的一块,包含8个子活动。在动手写代码之前,第一步是需要制定详细的开发计划。
计划文件至少包含:

本文基于 YY/T 0664-2020(IEC 62304:2006+AMD1:2015 MOD)及国家药监局《医疗器械软件注册审查指导原则(2022年修订版)》整理。
关于小白医械
小白医械致力于打造一个有助于医疗器械行业小白快速适应和了解行业的一个知识共享平台。平台会不定期分享一些我在平时工作时遇到的问题和形成的一些经验体会,还会转发一些最新的医疗行业的咨询。如果各位有兴趣的可以一起交流学习,共同进步。
夜雨聆风