医疗器械软件产品经理必读的法规及标准-YY/T0664(一)

医疗器械软件的产品经理,需要熟读医药行业标准,在软件设计开发的整个生存周期过程中,我们需要根据《YY/T 0664 医疗器械软件 软件生存周期过程》的标准来执行。在各个阶段输出相应的文档及记录,申请NMPA认证。接下来我针对软件开发过程写以下几个过程。

  1. 软件开发策划

  2. 软件需求分析

  3. 软件系统结构设计

软件开发过程由若干个活动组成,主要包括软件开发策划、软件需求分析、软件体系结构设计、软件单元实现、软件集成和集成测试、软件系统测试、软件发布。在整个生命周期中需要对软件进行风险管理,医疗器械软件的风险管理可参考YY/T 0316 医疗器械 风险管理对医疗器械的应用。同样,在整个设计开发过程中需要对软件进行配置管理。这些活动如下图所示:

医疗器械软件的安全等级划分为A、B、C三个安全级别。具体如下图所示,主要是根据软件在最不利的情况下促成的危险情况引发的对患者、操作者或其他人员伤害的风险。

1.软件开发策划

1.1软件开发计划

在软件策划阶段,需拟定开发计划,开发计划应说明以下各项

(1) 软件开发过程的相关活动,按照软件开发的各个阶段来划分:开发策划、需求分析、体系结构设计、详细设计、单元实现、集成和集成测试、系统测试、发布。

(2) 软件开发各项活动的交付物。例如,需求分析阶段,需交付需求规格说明书等。

(3) 需要保证每个阶段的可追溯性。例如,在体系结构设计阶段,需要追溯体系结构设计是否完全覆盖了需求分析所要求的各项,剩余风险是否可为接受状态。

(4) 需明确配置和变更管理,需明确用于支持开发的软件,例如,医疗影像软件的显示需用到VTK、ITK等现成软件。这些均需要在开发计划中体现。

1.2 软件风险管理策划

在策划阶段,需明确在软件开发过程中,如何对风险进行管理,需制定风险管理计划,风险管理计划则需要明确衡量风险严重度、风险发生的概率等的风险评价标准,以及风险判定可接受的准则。以下给出YY/T 0316中的附录D3.4 示例。

严重度定性分5级示例

半定量概率分级示例

半定量风险矩阵示例

2.软件需求分析

2.1 需求分析内容

YY/T 0664中规定医疗器械软件的需求分析需包括:功能和性能的需求、软件系统的输入和输出、软件系统和其他系统之间的接口、软件驱动的报警、警告和操作者信息、信息安全需求、由软件实现的用户界面的需求、数据定义和数据库需求、已交付医疗器械软件在一个或多个操作和维护现场的安装和验收需求、与操作和维护方法有关的需求、与IT方面有关的需求、用户维护需求、法规要求。

各位产品策划擅长写用户界面的需求,画原型,设计交互。但是在医疗器械软件中需要考虑多个方面。例如信息安全,患者的健康数据需要保证在传输过程中的安全性和完整性,所以这个时候就需要设计数据匿名化,传输加密等功能。

在《医疗器械网络安全技术审查指导原则(第二版)征求意见稿》中有对网络安全部分相关的规定,该指导原则规定,需提供网络安全需求规范文档。医疗器械网络安全能力包括[3]:

  • 自动注销

  • 审核

  • 授权

  • 网络安全特征配置

  • 网络安全补丁升级

  • 数据去标识化

  • 数据备份与灾难恢复

  • 紧急访问

  • 数据完整性与真实性

  • 恶意软件探测与防护

  • 节点鉴别

  • 人员鉴别

  • 物理防护

  • 现成软件维护

  • 系统固化

  • 网络安全指导

  • 存储保密性与完整性

  • 远程访问与控制

  • 扛拒绝服务攻击

2.2 验证软件需求

需求需要经过评审,从而验证软件的需求。需求分析需满足以下要求

(1)实现了系统需求,包括那些与风险控制有关的需求。例如:用户需求、临床需求等无遗漏,风险分析过程中,如果通过某个需求来控制该风险的发生,则该需求不可遗漏。

(2)需求之间不相互矛盾。

(3)需求文档具有可读性,不会出现含糊不清的术语,引起歧义的用词。

(4)需求可被唯一识别。

(5)需求的可追溯性,每个需求的来源,有些来自于竞品,有些来自于用户需求,保证其可追溯到其来源。

在需求分析阶段可以设计需求跟踪矩阵,将每条需求罗列出来,以保证后续开发的可追溯性。或使用项目管理工具对其进行追溯。

3.软件体系结构设计

3.1 体系结构设计

体系结构设计阶段将需求转化为形成文件的体系结构,需识别所有的软件项。该阶段需输出体系结构设计说明书。可设计体系架构图描述软件的体系结构。以下给出体系结构图示例:

3.2 验证软件体系结构

体系结构设计需要经过评审,验证下列各项:

(1)体系结构是否实现了各项需求;

(2)是否可以支撑软件项之间,软件项与硬件之间的接口;

(3)是否可支持其他未知来源的软件向正常运行。

后记

本文是在实际执行0664标准的过程中的一些总结与体会。后续会更新0664后面章节的总结体会。

参考文献

[1] YY/T 0664-2020 医疗器械软件 软件生存周期过程

[2] YY/T 0316-2016 医疗器械 风险管理对医疗器械的应用

[3] 医疗器械网络安全技术审查指导原则(第二版)征求意见稿

医疗器械软件产品经理必读的法规及标准-YY/T0664(一)的更多相关文章

  1. 医疗器械软件产品经理必读的法规及标准-YY/T0664(二)

    上节主要讲了软件开发策划.软件需求分析.软件系统结构设计三个阶段,这节来分析以下几个阶段. 1.软件单元实现 2.软件集成和集成测试 3.软件系统测试 软件开发过程由若干个活动组成,主要包括软件开发策 ...

  2. 智软科技医疗器械GSP监管软件通过多省市药监局检查

    提供医疗器械GSP监管软件,通过多省市药监局检查,符合2016年最新GSP监管条例的要求. 企业客户列表 温岭市万悦医疗器械有限公司 杭州市上善医疗器械有限公司 武汉明德生物科技股份有限公司 http ...

  3. 医疗器械c#上位机开发指引教程

    此教程面向的读者:对医疗器械上位机编程有兴趣,或者急需了解医疗器械(尿常规.血液分析.生化.心电.B超等医疗下位仪器)的编程流程.编程细节的程序员. 1.得到仪器协议 当我们需要与医疗器械等下位机数据 ...

  4. 记一次 .NET 某医疗器械 程序崩溃分析

    一:背景 1.讲故事 前段时间有位朋友在微信上找到我,说他的程序偶发性崩溃,让我帮忙看下怎么回事,上面给的压力比较大,对于这种偶发性崩溃,比较好的办法就是利用 AEDebug 在程序崩溃的时候自动抽一 ...

  5. 对XX证券报关于物联网操作系统的几个问题的答复

    XX证券报提问了几个关于物联网和物联网操作系统的问题,个人表达了一些粗陋的观点,在这里发表出来,与行业朋友交流和探讨. 物联网行业最需要解决的问题是什么? 虽然物联网这个行业被炒得比较热,但是截至目前 ...

  6. 推荐一本写给IT项目经理的好书

    原文地址:http://www.cnblogs.com/cbook/archive/2011/01/19/1939060.html (防止原文作者删除.只能拷贝一份了) 推荐一本写给IT项目经理的好书 ...

  7. 医疗行业预测性产品的质量如何把关?MES系统帮大忙

    作为行业细分的医疗设备制造正在向工业4.0快速发展.它也可能仍然是世界上受监管最严格的行业之一,产品的个性化发展速度比其他行业更快. 在医疗设备行业中,由于需求或由于市场特定的规定,产品越来越多地定制 ...

  8. 开发者说 | 云+AI赋能心电医疗领域的应用

    以"医工汇聚 智竞心电"为主题的首届中国心电智能大赛自2019年1月1日启动全球招募起,共吸引总计545支来自世界各地的医工结合团队,308支团队近780名选手通过初赛资格审查,经 ...

  9. 互联网医疗行业PEST分析实践

    前言 今年开始逐步切入产品与数据工作,完全脱离了原来的舒适区,确实有一些挑战.开始以为只做数仓建设的事情,就仓促的学习了一些数仓相关的知识,但没搞多久,还要负责公司BI的工作,又开始补习数分相关的知识 ...

随机推荐

  1. C语言代码区错误以及编译过程

    C语言代码区错误 欲想了解C语言代码段会有如何错误,我们必须首先了解编译器是如何把C语言文本信息编译成为可以执行的机器码的. 背景介绍 测试使用的C语言代码 导入标准库,定义宏变量,定义结构体,重命名 ...

  2. 远程服务调用RMI框架 演示,和底层原理解析

    远程服务调用RMI框架: 是纯java写的, 只支持java服务之间的远程调用,很简单, // 接口要继承 Remote接口 public interface IHelloService extend ...

  3. 面试常问的Java虚拟机内存模型,看这篇就够了!

    一.虚拟机 同样的java代码在不同平台生成的机器码肯定是不一样的,因为不同的操作系统底层的硬件指令集是不同的. 同一个java代码在windows上生成的机器码可能是0101.......,在lin ...

  4. system表空间

    system : 1.空间,管理:字典所在,不放用户数据;一般单个数据文件即可. 如果system表空间不够大,即可设置自动扩展,或者bigfile 2.system 备份 必须归档下 才能open下 ...

  5. Redis计数信号量

    计数信号量是一种锁,它可以让用户限制一项资源最多能够同时被多少个进程访问,通常用于限定能够同时使用的资源数量.你可以把Redis分布式锁里面创建的锁看作是只能被一个进程访问的信号量. 计数信号量和其他 ...

  6. 第14章:部署Java网站项目案例

    1 说明 (1) 项目迁移到k8s平台的流程 1) 制作镜像 dockerfile.docker+jenkins持续集成.镜像分类:基础镜像.中间镜像.项目镜像 2) 控制器管理pod 控制器管理po ...

  7. MySQL数据库性能优化与监控实战(阶段四)

    MySQL数据库性能优化与监控实战(阶段四) 作者 刘畅 时间 2020-10-20 目录 1 sys数据库 1 2 系统变量 1 3 性能优化 1 3.1 硬件层 1 3.2 系统层 1 3.3 软 ...

  8. 12、Linux磁盘设备基础知识(2)

    12.4.计算磁盘容量: 磁盘的大小=盘面大小*磁头数 盘面的大小=磁道大小*磁道数 磁道大小=512字节*扇区数 磁盘的大小=512字节*扇区数*磁道数*磁头数 磁盘的大小=柱面大小*柱面数 柱面大 ...

  9. 11、gitlab和Jenkins整合(1)

    1.在jenkins上安装git: 因为jenkins需要在gitlab上拉取代码: 具体的git安装,参考"4.git和gitlab的配置--4.2.git编译安装:": 2.在 ...

  10. 【译】Go:程序如何恢复?

    原文:https://medium.com/a-journey-with-go/go-how-does-a-program-recover-fbbbf27cc31e ​ 当程序不能正确处理错误时, 会 ...