可可软件交流社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 132|回复: 0

医疗器械软件测试中的互操作性测试

[复制链接]

2

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2022-12-2 12:04:30 | 显示全部楼层 |阅读模式
医疗器械的互操作性

在健康医疗领域,对“互操作性”的定义还具有一些更具体的内涵。2013年,HIMSS对“interoperability”给出了最新定义:互操作性指的是不同信息系统和软件应用之间的通讯能力、数据交换能力、信息使用能力。医疗信息系统之间的协同工作能力是为了提升面向个人和社区的医疗服务质量。不管使用什么应用或系统,都应当具有能够支撑数据交换的模式和标准,允许数据在临床医生、实验室、医疗机构、药房和患者之间进行分享。
互操作性的等级

美国健康和人类服务部(Health and Human Services,HHS)秘书处的官方咨询组织国家生命和健康统计委员会(National Committee on Vital and Health Statistics,NCVHS)曾在2000年将健康医疗信息技术的互操作能力进行了三个等级的划分,分别是:基础级别、结构级别和语义级别。HIMSS目前也推崇并采纳这个分类:

  • 基础级别的互操作性能够满足一个信息系统到另一个系统的数据传输,但对数据的解释能力并不作要求,计算机不关心传输什么,也不处理格式、不解读内容,是单纯的技术上的互操作;
  • 结构级别的互操作性是一个中间级别,它通过定义健康医疗数据在系统之间交换的结构和格式(例如消息协议标准)来确保数据以统一的方式来流动,从而实现数据的临床或业务意义以及含义不会改变。结构级别的互操作性定义了数据交换的语法规范,确保数据交换的过程中系统可以在字段层面正确理解数据,实现语法互操作;
  • 语义级别是互操作性的最高级别,可以满足两个或多个系统之间交换信息以及使用这些交换后的信息。语义级别的互操作性同时具有结构级别互操作性和对数据编码的能力,从而实现系统对数据的解读。通过语义级别互操作,不同EHR(Electronic Health Record)系统中的患者摘要信息可以在服务提供方以及其他授权第三方中被分享,医疗质量、安全、效率、疗效等都将提升。
互操作机制和目标

基于以上互操作能力的不同等级,系统可以实现互操作的机制和最终目标也不尽相同,主要有:数据交换、语义交换和过程协议(见图1)。

  • 技术互操作:技术互操作所对应的是数据交换目标。数据互操作是所有通信的根,因此技术互操作是最为基础的层级;
  • 语义互操作:语义互操作所对应的是语义交换目标,语义互操作处于技术互操作的上层。若要实现语义层面的交换,就必须基于成功的信息交换,成功的信息交换建立在数据交换和数据解读基础上;
  • 过程互操作:过程互操作是最高级别的互操作机制,是建立在信息交换和语义交换的基础之上的才能形成过程协议,系统需要理解语境,并协作定义各个场景下/过程中需要触发的行为,包含角色、事件等内容,同时它确定了需要满足互操作目标的机构内部和机构之间的过程排列的范围。



图1:医疗信息系统互操作的三种机制和目标

可以发现,系统是否满足互操作性并不能一概而论,也没有一刀切的标准,而是在不同级别水平上的性能要求。互操作性的评估不是一味追求最高,而是明确互操作机制和目标以后,权衡可行性,形成适应场景和系统的最佳性能方案。健康医疗信息的互操作能够帮助病人从技术中获得莫大的益处,促进整个行业范围内的改革和创新。
现有互操作架构

(1)网络互操作架构
开放系统互联(OSI)模型是应用最为广泛的互操作架构。它将计算机网络抽象为七层,从下至上分别是:物理层,链路层,网络层,传输层,会话层,表示层,应用层,实现了技术互操作,语法互操作和语义互操作。技术互操作由OSI模型的1~4层管理,提供一套基于协议的网络基础设施技术,实现网络交换原始信息的能力。语法互操作由OSI的5~6层处理,提供正在传输的数据类型和格式,实现节点之间交换结构化数据的能力。语义互操作由OSI的第7层应用层实现,使系统能从应用程序的上下文中解释结构化数据的含义。在OSI架构中,技术互操作得到很好地理解和标准化,而语法和语义互操作则依赖于特定行业或特定应用,并进行相应的优化。
(2)工业互联网互操作架构
为了促进工业场景的互操作性,工业互联网联盟(IIC)提出了工业互联网连接框架(IICF),如图1所示。该框架将OSI模型的表示层和会话层重新整合为互操作框架层,通过提供必要的机制,以实现数据的结构化和无歧义解析。从该连接框架可以看出,工业互联的技术互操作仍然沿用OSI模型中物理层、链路层、网络层和传输层中的成熟协议,对现有基础设施进行改进,以满足工业控制的实时性和可靠性要求。而语法互操作则将之前的客户端/服务器模式扩展到发布/订阅模式和基于统一资源定位的Web服务模式,允许应用程序以不同的服务质量(QoS)级别来传输状态、事件和流等结构化数据。信息层旨在实现语义互操作,虽然各行业均在建立覆盖尽可能广泛的信息模型,但是目前还没有适用于跨行业的标准化统一语义数据模型。


什么是互操作性测试

互操作性指的是不同信息系统和软件应用之间的通讯能力、数据交换能力、信息使用能力。互操作性要求不同的软件之间使用同一交换方式来交换数据、读取相同格式的文件、使用相同的协议等,从而实现相互连接的状态。互操作性测试是一种软件测试类型,它检查软件是否可以与其他软件组件和系统交互。互操作性测试的目的是确保软件产品能够与其他组件或设备通信,而不会出现任何兼容性问题。




换句话说,互操作性测试意味着证明两个通信系统之间的端到端功能是由需求指定的。例如,在内窥镜和内窥镜图像工作站之间进行互操作性测试,以检查通过网络传输的数据。
不同级别的软件互操作性

互操作性测试有不同的级别,它们是:

  • 物理互操作性
  • 数据类型互操作性
  • 规范级别互操作性
  • 语义互操作性
为什么要进行互操作性测试

进行互操作性测试是因为:

  • 可确保跨来自不同供应商的两个或多个产品提供端到端服务
  • 软件产品应该能够与其他组件或设备进行通信,而不会出现任何兼容性问题
由于缺乏互操作性测试而带来的相关风险有:

  • 数据丢失
  • 性能不可靠
  • 运行不可靠
  • 操作错误
  • 维护性低
如何进行互操作性测试

互操作性测试的测试流程包括以下步骤
步骤1:启动项目。

  • 定义正式的工作说明书,并建立项目管理基础设施。
步骤2:设置测试装置和环境

  • 确保为测试活动设置了所有必需的技能和自动化工具
  • 使用自动化工具最小化测试用例和重用测试用例
  • 维护配置文件数据库
  • 记录和分析项目的指标
  • 记录未成功测试的配置以供参考和分析
步骤3:制定测试计划

  • 编写测试计划
  • 定义测试用例和过程
  • 设置必要的监控设备以维护测试日志。
步骤4:执行测试计划

  • 执行测试用例
  • 与测试团队合作分析失败的根本原因
步骤5:记录结果

  • 使用测试日志记录实现说明
步骤6:释放资源并评估项目绩效,

  • 借助自动化工具分析测试结果
互操作性测试的示例



互操作性测试的测试策略包括:

  • 连接来自不同供应商的两台或多台设备
  • 检查设备之间的连通性
  • 检查设备是否可以相互发送/接收数据包或帧
  • 检查是否在网络和设施点图层中正确处理数据
  • 检查实现的算法是否正常工作
  • 结果正常:检查下一个结果
  • 结果不正常:使用监视器工具检测错误源
  • 在测试报告工具中报告结果。
互操作性测试与一致性测试

互操作性测试确保产品或软件可以与其他认证产品互操作,不会出现任何问题;
一致性测试确保产品符合要求的标准和规范。
实际测试中,一致性测试通过也并不能保证互操作性测试一定可以通过。最根本的原因是一致性使用标准规定,绝对完整和正确是不现实的,其中也包含各个标准制定人和制定单位理解不同。具体如下:
(1)标准方面

  • 标准中错误与含糊的内容;
  • 标准本身的兼容性问题。
(2)实施方面

  • 如编程方面的人为错误;
  • 对于通信标准的不同理解;
  • 标准本身允许不同选项。
(3)技术方面

  • 设备兼容性问题;
  • 设备配置问题。
总结:


  • 软件工程,互操作性测试无非是检查软件是否可以与另一个软件组件互操作。
  • 确保软件产品应该能够与其他组件或设备进行通信,而不会出现任何兼容性问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|可可软件交流社区

GMT+8, 2025-10-15 07:12 , Processed in 0.155949 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表