包含软件产品的医疗设备包括独立的软件和硬件中包含软件的设备,即固件或其他基于软件控制的医疗设备、独立的软件装置、安装在通用型电脑上的软件、由软件组成的或包含软件的医疗设备附件。尽管软件设备关注度与医疗设备管理分类、风险和危害本身无关,但在FDA要求提交的资料中,由于软件设备文档的内容与设备关注度是相对应的,因此,确认软件设备关注度是一项很重要的工作。笔者介绍了确认软件设备关注度和每种关注度需要提交的文档内容。
1.1 验证、确认及关注度 验证和确认(V&V)与质量管理体系规定中的定义一样。
验证是通过提供客观证据对已实现说明要求满足的认定。在软件开发中,软件验证是开发特定阶段的输出满足该阶段所有输入要求的确定。软件测试是确定软件开发满足它的输入要求的验证活动之一。
确认是指通过客观的证据确立软件符合用户需求和预期设备的用途。设计确认的组成部分之一是软件确认。
软件设备关注度是FDA要求资料中一个重要指标。关注度是指由于设备的制造缺陷、设计瑕疵或只是正常使用设备导致设备对病人或操作人员的伤害严重程度的估计。严重的为重度关注度,可能导致轻度伤害的为中度关注度,不会导致任何伤害的为轻度关注度。设备关注度不同,上市前提交资料中包含的文件也不同。
FDA要求生产企业对软件产生、控制和/或减轻可能导致对病人或操作人员伤害(直接的或间接的)的方面进行描述,因为它是恰当地决定软件设备关注度的一个因素。
1.2 确认软件设备关注度 软件设备关注度是基于软件设备操作如何影响病人和操作人员的,这种影响可能是直接的或间接的。生产厂商应在减免任何有关风险之前评估关注度,也就是说,应和没有实施风险减缓一样,用这些问题评估软件设备。评估关注度包括软件设备最坏的可能、合理的预测、缺陷产生的临床后果。附表1、附表2描述了重度、中度关注度。如果附表1、附表2中的答案都是“否”,那么是轻度关注度软件(见附表3)。
附表1 重度关注度
附表2 中度关注度
附表3 轻度关注度
在提交的有关软件上市前提交文档应和软件的预期用途、关注度和产品型号一致。如果设备是特殊设备,还必须遵循特殊设备指南建议。
通常提交的文档应包括:阐述设备的设计、如何实施设计的文件、说明如何测试软件、表明可以有效地管理风险和恰当地识别危害、提供可追溯性分析以连接设计、实施、测试和风险管理。
提交的文档类型和程度见附表4。这些建议是建立在质量管理规范的有效实施和管理上的,包括设计控制。在一些情况下,推荐的关注度文件可以在提交文件正文中陈述。其他文件,如软件需求说明,可能作为单独的文件出现在提交的文件中。
2.1 关注程度 宜在减轻软件影响之前确定关注度,应清楚描述软件关注度等级并在文档中包括确定该关注度的根本原因的文件。
2.2 软件描述 提交由软件控制的设备特点的描述,并且描述软件适宜的操作环境。通常情况下,建议提供图片格式的信息并用高亮显示主要的或操作上重要的软件特点。软件描述包括编程语言;硬件平台;操作系统(如有);应用的打包软件(如有)。这些信息可以包含在其他说明文档中,但是需要在提交的资料中加以解释说明。
附表4 关注度文件
2.3 软件危害分析 软件危害分析需要考虑和设备用途相关的所有软件危害,包括硬件的和软件的。本部分可以从综合风险管理文件相关软件项中提取内容,描述的信息有:危害事件的识别;危害的严重性;导致危害的原因;控制方法(如报警、硬件控制);危害事件正确的消除、减轻或警告的处理方法,包括设备设计/要求方面的说明;控制方法正确实施的验证。在进行危害分析时,要说明所有可预见的危害,包括可能是故意或疏忽操作造成的危害。
2.4 软件要求说明 软件要求说明(SRS)记录软件的要求。一般包括软件功能上的,如性能、接口、设计,开发上的和其他的要求。实际上,这个文件说明了软件开发的目的。一些SRS通常要包括硬件要求、编程语言要求、接口要求、软件性能和功能要求。其中,软件性能要求包括关于疗法、诊断、监测、报警、分析和用全文参考或支持数据讲解的算法或控制的特点。对于标识为轻度关注度的软件,只须提供SRS总结的功能要求部分,包括现有打包软件的鉴定。对于中度和重度关注度的软件,需要提供完整的SRS。
2.5 结构设计图表 本部分是一个流程图或类似流程图软件主要功能单元关系的描述,包括与硬件的关系、与数据流的关系,如网络关系。
2.6 软件设计说明 软件设计说明(SDS)描述了软件设备要求的实施过程。SDS中的信息应充分保证软件工程师在开发软件中的工作是清楚的、无歧义的。同时尽量减少临时的设计决定。SDS可能包含其他文件的引用,比如详细软件说明。但提交的文件应有足够的信息来允许软件要求实施计划的评审,包括用途、功能及安全性和有效性。
2.7 可追溯性分析 可追溯性将产品的设计要求、设计说明和测试要求连接起来。不仅如此,它还提供了一个连接实施和可识别危害及危害减轻的测试方法。FDA建议为评审提交这些活动间显示的可追溯性和有关文档,因为它们对有效产品的开发和对产品的设计、开发测试和危害减轻的理解是非常重要的。
2.8 软件开发环境描述 对于中度和重度关注度的软件设备,提交的材料包括软件开发周期计划总结。这个总结应描述项目的软件开发周期和管理各种生命周期活动的过程。对于重度关注度设备,本部分还应包括在软件开发过程中产生的控制/基线文件的说明清单和软件编码标准的清单或描述。
2.9 验证和确认文档 轻度关注度设备需要提交系统测试和集成测试(如有),须包括系统测试通过/未通过的标准和测试结果总结。中度关注度设备需要提交验证和确认活动总结及其结果。最好再提交通过和未通过的判定标准。应保证可追溯性分析有效地将这些活动、结果和设计要求、说明连接起来。重度关注度设备需要提交包括中度设备中提交的信息和未通过的所有测试的描述。建议提交为测试失败进行的修改和证明这些修改有效的结果文件。提交的文件应包括单元集成测试的例子和结果总结。
2.10 修改记录 在产品开发过程中产生的软件修改记录应保证提交。通常用一个表格对软件开发周期中的主要更改进行描述,包括日期、版本号和相对于前一个版本变化的一个简短描述。记录还应包括已测试版本和发行版本的不同,同时包括这些不同对设备安全性和有效性的潜在影响的评估。
2.11 未解决的异常 对于中度和重度关注度设备,提交的材料应包括所有的软件未解决异常,对于每个异常要指出相应的问题、异常对设备性能的影响以及纠正问题的计划和期限。