乐于分享
好东西不私藏

医疗器械软件标准与合规指南:搞清分类,找准标准,开发不踩坑

医疗器械软件标准与合规指南:搞清分类,找准标准,开发不踩坑

https://bdhelper.pythonanywhere.com/login

来咯来咯~器械产品标准检索工具-标帝,上线

医疗器械软件看不见摸不着,一出问题却可能误诊、漏诊、甚至危及生命。更让人头疼的是,标准繁多、分类复杂——嵌入式还是独立?联网还是不联网?A级、B级还是C级?不同类别该看哪些标准?

别慌。我们一篇文章帮你理清,从此开发路上不迷路。

一、先给软件画像:三把尺子定类型

第一把尺子:运行形态

  • 嵌入式软件(SiMD):装在医疗设备内部的“大脑”,不能脱离硬件单独使用。比如CT机的控制固件、呼吸机的运行软件。它的安全主要靠整机安全标准来保证。

  • 独立软件(SaMD):本身就是一台“虚拟设备”,运行在电脑、手机或云端,无需特定硬件即可实现医疗用途。比如AI肺结节诊断软件、手机心电分析App

第二把尺子:网络能力

  • 联网软件:具备Wi-Fi、蓝牙、网口等通信功能,能上传数据、远程升级或接受远程指令。

  • 不联网软件:封闭运行,不进行任何外部数据交换。

第三把尺子:安全级别(由YY/T 0664规定)

  • A级:不可能造成伤害,或风险可接受。例如医院排班管理软件。

  • B级:可能造成轻度或中度伤害。例如非实时的健康监测App

  • C级:可能造成严重伤害或死亡。例如放疗计划系统、ICU监护软件。

级别越高,开发要求越严。C级需要详细设计、单元测试、风险隔离验证;A级只要求核心的软件计划和系统测试。

二、四类场景,分别适用哪些标准?

下面按照“运行形态 网络能力”组合,逐一说明每一类软件的核心标准与核心内容。

场景一:嵌入式软件,不联网

这类软件是硬件设备的一部分,不连接任何网络。

  • 核心标准:整机安全标准(如GB 9706系列、GB 4793系列、GB 16174系列),再加上YY/T 0664GB/T 42062

  • 核心内容:软件的安全性和有效性作为整机的一部分,由电气安全、电磁兼容、基本性能等整机标准覆盖。软件开发过程必须遵循YY/T 0664,根据A/B/C级开展相应活动。风险管理与整机风险分析整合,识别软件失效可能导致的危险。

  • 特别注意:GB/T 42984.1不适用于嵌入式软件,不要被误导。

场景二:嵌入式软件,联网

在场景一的基础上,增加了网络连接。

  • 核心标准:整机安全标准+ YY/T 0664 + GB/T 42062,再额外增加网络安全注册审查指导原则,以及GB/T 42984.1中的部分条款(主要是第7.2.3.2节关于IT网络使用的说明)。

  • 核心内容:整机安全和软件过程要求与不联网时相同。额外需要:提交网络安全研究报告(数据架构、网络安全能力、漏洞评估);若软件预期在不受制造商控制的IT网络中运行,必须在技术说明书中提供IT网络的特征、配置要求、预期信息流,以及因IT网络失效可能导致的危害清单,并告知责任方(如医院)网络修改会引入新风险。

场景三:独立软件,不联网

这类软件本身就是医疗器械,但不连接网络。

  • 核心标准:GB/T 42984.1(健康软件产品安全通用要求)是核心中的核心,再加上YY/T 0664GB/T 42062

  • 核心内容:必须满足GB/T 42984.1的全部产品级要求,包括:确定使用需求(预期用途、用户、接口、网络安全、更新支持等)、建立系统需求并验证、制定确认计划并在预期环境中实施产品确认、编写完整的随附文件(使用说明书、技术说明书等)。同时按YY/T 0664进行软件生存周期过程控制,按GB/T 42062完成风险管理。

  • 特别注意:不联网不代表没有网络安全需求——只要有用户登录、数据存储,仍需考虑访问控制和数据完整性。

场景四:独立软件,联网

在场景三的基础上增加了网络连接。

  • 核心标准:GB/T 42984.1 + YY/T 0664 + GB/T 42062,再强制增加网络安全注册审查指导原则。

  • 核心内容:首先满足不联网独立软件的全部要求。其次,必须提交独立的网络安全研究报告。GB/T 42984.17.2.3.2节的要求也适用于联网独立软件(因为独立软件同样可能运行于不受控的IT网络),需提供IT网络特征、配置、危害清单等。此外,说明书必须明确用户访问控制机制、电子接口的数据类型和技术特征、安全软件兼容性、现成软件清单等。

三、安全级别(A/B/C)到底怎么用?

安全级别决定了你在软件开发过程中要做多少“功课”。YY/T 0664把要求分成三档:

  • A级软件:必须做软件开发计划、软件需求分析、系统测试、用户测试、风险管理、配置管理、问题解决。不需要做单元测试、集成测试、详细设计、体系结构设计。

  • B级软件:在A级基础上,需要做软件体系结构设计、集成测试、单元测试、将风险控制措施纳入需求、验证风险控制措施的有效性。

  • C级软件:在B级基础上,额外需要做软件详细设计、软件单元验证、风险控制所必需的隔离设计及验证、识别和避免常见软件缺陷。

举个直观的例子:开发一个A级软件,你只需要写好需求、做好系统测试和用户测试,通过风险管理评审即可。而开发一个C级软件,你需要从体系结构到每个代码单元层层设计、层层验证,还要证明关键模块之间有效隔离。

判定安全级别时,先假设最坏情况按C级要求分析,然后通过外部风险控制措施(如硬件冗余、独立的安全子系统)来降低软件的贡献度,从而降低安全级别,但必须有充分理由并记录在风险管理文档中。

四、开发四步法:按阶段落实标准

第一步:设计阶段——定类型、定级别

确定软件是嵌入式还是独立,是否联网,并按YY/T 0664的准则判定A/B/C级。把这些决策写进软件开发计划和风险管理文档中。独立软件还要把GB/T 42984.1的使用需求转化为设计输入。

第二步:开发验证阶段——按级别做测试

根据安全级别开展相应活动:A级重点做系统测试和用户测试;B/C级增加单元测试、集成测试、体系结构验证。联网软件同步进行网络安全测试(漏洞扫描、渗透测试等)。独立软件要按确认计划在预期运行环境中完成产品确认。

第三步:注册阶段——准备申报资料

独立软件必须提交自研软件研究报告(内容涵盖基本信息、实现过程、核心功能、结论)、外部软件环境评估报告(若依赖第三方软件)、GB/T 25000.51自测报告。联网软件额外提交网络安全研究报告。嵌入式软件的资料随整机注册一并提交,但需单独说明软件生存周期过程符合YY/T 0664

第四步:上市后阶段——更新与应急

建立软件维护过程:重大更新(影响安全有效)必须申请变更注册;轻微更新通过质量管理体系控制,下次变更注册时一并提交。联网软件要建立网络安全事件应急响应预案,定期监测漏洞,及时告知用户。软件版本命名规则必须能区分重大更新和轻微更新,并与质量管理体系保持一致。

五、常见误区,一次说清

误区1:嵌入式软件也要完全遵守GB/T 42984.1 

正确:GB/T 42984.1主要适用于独立软件。嵌入式软件的安全由GB 9706等整机标准覆盖,不强制要求满足GB/T 42984.1。但联网嵌入式软件需参考其IT网络说明条款。

误区2A级软件随便做做就行 

正确:A级软件仍需完成软件需求、系统测试、用户测试、风险管理、配置管理、问题解决等核心活动,只是不需要详细设计和单元验证。这些活动一个都不能少。

误区3:不联网就不用管网络安全 

正确:不联网但有人机交互(如USB导入数据、用户登录),仍需考虑用户身份鉴别、访问权限、数据完整性等基本网络安全能力。网络安全指导原则中“自动注销”“人员鉴别”“数据存储保密性与完整性”等能力对不联网软件同样适用。

误区4:独立软件就是写代码,不用管硬件标准 

正确:独立软件运行于通用计算平台,不需要满足GB 9706系列,但必须满足GB/T 42984.1的产品安全要求,以及通用计算平台的信息技术设备安全标准(如GB 4943.1)。

本文依据现行法规与标准体系整理,仅供参考。


YY/T 0664-2020 医疗器械软件 软件生存周期过程.pdf
GB/T 42984.1-2023 健康软件 第1部分:产品安全的通用要求.pdf