CN111095206B - 验证医疗应用程序的方法、最终用户设备和医疗系统 - Google Patents

验证医疗应用程序的方法、最终用户设备和医疗系统 Download PDF

Info

Publication number
CN111095206B
CN111095206B CN201880061187.2A CN201880061187A CN111095206B CN 111095206 B CN111095206 B CN 111095206B CN 201880061187 A CN201880061187 A CN 201880061187A CN 111095206 B CN111095206 B CN 111095206B
Authority
CN
China
Prior art keywords
application
user device
software
medical
medical application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880061187.2A
Other languages
English (en)
Other versions
CN111095206A (zh
Inventor
B.泰耶尔
T.艾森洛菲尔
K-O.施文克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
F Hoffmann La Roche AG
Original Assignee
F Hoffmann La Roche AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by F Hoffmann La Roche AG filed Critical F Hoffmann La Roche AG
Publication of CN111095206A publication Critical patent/CN111095206A/zh
Application granted granted Critical
Publication of CN111095206B publication Critical patent/CN111095206B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/40ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management of medical equipment or devices, e.g. scheduling maintenance or upgrades
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/67ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for remote operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/0002Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/145Measuring characteristics of blood in vivo, e.g. gas concentration, pH value; Measuring characteristics of body fluids or tissues, e.g. interstitial fluid, cerebral tissue
    • A61B5/14532Measuring characteristics of blood in vivo, e.g. gas concentration, pH value; Measuring characteristics of body fluids or tissues, e.g. interstitial fluid, cerebral tissue for measuring glucose, e.g. by tissue impedance measurement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/63ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for local operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/88Medical equipments

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Biomedical Technology (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本公开涉及一种用于验证最终用户设备(101)上的医疗应用程序的方法,该最终用户设备被配置成用于通过医疗应用程序与医疗设备(102)进行数据通信,包括在最终用户设备(101)中接收医疗应用程序,该医疗应用程序是软件实现的应用程序,并被配置成提供最终用户设备(101)与医疗设备(102)之间的数据通信;在最终用户设备(101)中接收验证应用程序,该验证应用程序是软件实现的应用程序;至少在最终用户设备(101)中首次执行医疗应用程序的情况下,执行验证应用程序,包括确定被提供给用户设备(101)的软件环境,确定被提供给用户设备(101)的硬件环境,响应于所确定的软件和硬件环境,建立验证过程,以用于测试软件和硬件环境与在最终用户设备(101)中执行医疗应用程序的执行要求相兼容,并根据验证过程来测试软件和硬件环境;如果软件和硬件环境被验证应用程序测试为与执行要求相兼容,则在最终用户设备(101)中执行医疗应用程序;以及如果软件和硬件环境被应用程序测试为与执行要求不兼容,则阻止医疗应用程序在最终用户设备(101)中执行。医疗应用程序的执行包括在最终用户设备(101)中生成验证报告,该验证报告指示待验证的医疗应用程序,将验证报告传输到服务器设备(107),并将验证报告以不可编辑的数据格式存储在最终用户设备(101)和服务器(107)中至少一个中。此外,提供了用于通过医疗应用程序与医疗设备(102)进行数据通信的最终用户设备(101),以及包括医疗设备(102)和最终用户设备(101)的医疗系统(100)。

Description

验证医疗应用程序的方法、最终用户设备和医疗系统
本公开涉及一种用于在最终用户设备上验证医疗应用程序的方法、最终用户设备和医疗系统,该最终用户设备被配置成用于通过医疗应用程序与医疗设备进行数据通信。
背景技术
医疗设备的用户可以采用最终用户设备,医疗应用程序在最终用户设备上运行以与医疗设备进行通信。医疗应用程序可以被用来管理最终用户设备的医疗设备之间的数据通信,诸如将医疗设备获取的测量数据传输到最终用户设备,或将根据用户输入生成的命令从最终用户设备发送到医疗设备。例如,糖尿病患者的智能电话可以被配置成运行医疗应用程序,该医疗应用程序从血糖仪收集血糖值,并且还被用来配置血糖仪。考虑到与医疗设备的数据通信,医疗应用程序的安全性是重要的问题。
文献US2017/0147313 A1公开了用于在用户设备中安装应用程序软件系统的系统和方法,其中,期望的App包括要由目标用户通过用户界面输入的App配置数据。App配置数据验证处理器会验证用户是否已正确输入所需的App配置数据。当用户请求将所需的App安装到特定设备时,系统将在App配置文件中利用经验证的嵌入式数据对App进行数字签名,该数字签名必须由目标设备进行验证,然后才能接受在该设备上安装App。在验证了配置数据和数字签名两者之后,然后才准许用户在目标设备上执行该App。
在文献US 9,185,554 B2中,公开了用于在电器上管理应用程序的系统和方法。服务器与电器进行通信。服务器还耦合到数据库,该数据库包括电器信息以及应用程序数据。用户可以使用该电器进行身份验证。一组权限可以与用户相关联。然后,服务器通过用补充代码(称为AppGuard)对下载到电器的应用程序进行补充,来监督在电器与服务器之间交换的信息,以及电器上的应用程序功能。使用与电器有关的信息,AppGuard是针对电器类型定制的,以便确保适当的功能。AppGuard在安装时执行,并收集设备信息以供验证。验证之后,可以运行该应用程序。附加地,对应用程序的管理可以包括扩充、删除、禁用或授权应用程序。
文献US 6,775,536 B1描述了一种方法,其中无线域通过使用系统入口(entry)代理服务器为该域内的所有移动通信设备设置了安全策略。开发者使应用程序或代码段在开发者站处是可用的。该应用程序通过定义了开发者安全设置的证书进行了认证。移动通信设备的用户发起应用程序的下载,使得可以将其安装到移动通信设备上。该应用程序是通过系统入口代理服务器下载的,该服务器对应用程序进行身份验证,然后用包括操作员定义的安全策略的紧凑证书对它进行重新认证。以此方式,操作员可以控制进入无线域的所有应用程序访问了移动通信设备的哪些资源。
文献US2017/132120 A1公开了用于确定移动设备上的移动应用程序和操作系统的兼容性的系统、方法和物品。在一些方面,一种方法包括:从其上安装有移动医疗软件应用程序的移动设备接收一个或多个数据值,该(一个或多个)数据值表征软件应用程序的版本、在移动设备上安装的操作系统的版本,以及移动设备的一个或多个属性;通过至少将接收到的(一个或多个)数据值与配置文件中的一个或多个测试值进行比较,确定移动医疗软件应用程序是否与操作系统相兼容;以及基于该确定,将消息发送给移动设备,该消息使软件应用程序以正常模式、安全模式和非工作模式中的一种或多种来运行。
在文献US2016/188318 A1中,描述了一种用于升级医疗设备的方法。该方法可以包括:根据软件升级包中的第一目标升级标识,确定与第一目标升级标识相对应的第一目标设备号。升级标识表可以包括升级标识与医疗设备的设备号之间的关联。该方法进一步包括:将软件升级包发送到与第一目标设备号相对应的第一目标医疗设备,以允许该第一目标医疗设备根据软件升级包对其自身进行升级。
发明内容
本公开的目的是提供一种用于在最终用户设备上验证医疗应用程序的方法,该最终用户设备被配置成用于通过医疗应用程序与医疗设备进行数据通信,从而提供增强的安全性和功能。此外,应提供用于通过医疗应用程序和医疗系统与医疗设备进行数据通信的最终用户设备。
为了解决该问题,提出了根据本公开实施例的用于验证医疗应用程序的方法。此外,提供了根据本公开实施例的用于通过医疗应用程序与医疗设备进行数据通信的最终用户设备,以及本公开实施例的包括医疗设备的医疗系统。替换的实施例是优选实施例的主题。
根据一方面,提供了一种用于在最终用户设备上验证医疗应用程序的方法,该最终用户设备被配置成用于通过医疗应用程序与医疗设备进行数据通信。该方法包括:在最终用户设备中接收医疗应用程序,该医疗应用程序是软件实现的应用程序,并且被配置成提供最终用户设备与医疗设备之间的数据通信;在最终用户设备中接收验证应用程序,该验证应用程序是软件实现的应用程序;至少在最终用户设备中首次执行医疗应用程序的情况下,执行验证应用程序。执行验证应用程序包括:确定被提供给用户设备的软件环境;确定被提供给用户设备的硬件环境;响应于所确定的软件和硬件环境,建立验证过程,以用于测试软件和硬件环境与在最终用户设备中执行医疗应用程序的执行要求相兼容;以及根据验证过程来测试软件和硬件环境。用于验证医疗应用程序的方法进一步包括:如果软件和硬件环境被验证应用程序测试为与执行要求相兼容,则在最终用户设备中执行医疗应用程序;以及如果软件和硬件环境被验证应用程序测试为与执行要求不兼容,则阻止医疗应用程序在最终用户设备中执行;医疗应用程序的执行包括:在最终用户设备中生成验证报告,该验证报告指示待验证的医疗应用程序,将验证报告传输到服务器设备,并将验证报告以不可编辑的数据格式存储在最终用户设备和服务器中的至少一个中。
根据另一方面,提供了一种用于通过医疗应用程序与医疗设备进行数据通信的最终用户设备。该最终用户设备具有一个或多个处理器;医疗应用程序,该医疗应用程序是软件实现的应用程序,并且被配置成提供最终用户设备与医疗设备之间的数据通信;以及验证应用程序。该验证应用程序是软件实现的应用程序,并且至少在最终用户设备中首先执行医疗应用程序的情况下,该验证应用程序被配置成:确定被提供给用户设备的软件环境;确定被提供给用户设备的硬件环境;响应于所确定的软件和硬件环境,建立验证过程,以用于测试软件和硬件环境与在最终用户设备中执行医疗应用程序的执行要求相兼容;以及根据验证过程来测试软件和硬件环境。如果软件和硬件环境被验证应用程序测试为与执行要求相兼容,则该医疗应用程序被进一步配置成由一个或多个处理器执行,并且如果软件和硬件环境被验证应用程序测试为与执行要求不兼容,则阻止该医疗应用程序由一个或多个处理器进行的执行。最终用户设备进一步被配置成在医疗应用程序执行时生成验证报告,该验证报告指示待验证的医疗应用程序,并将验证报告传输到服务器设备,该验证报告以不可编辑的数据格式存储在最终用户设备和服务器中的至少一个中。
根据另外的方面,提供了一种医疗系统。该医疗系统包括医疗设备和最终用户设备。
根据提出的技术,使用验证应用程序来测试被提供给最终用户设备的硬件和软件环境与执行医疗应用程序的执行要求相兼容。该验证应用程序允许响应于该测试而执行医疗应用程序或阻止医疗应用程序执行。可以将验证应用程序理解为或称为包围医疗应用程序并将其与外部屏蔽,该外部即,与在医疗应用程序本身外部的软件和硬件组件的交互。因此,验证应用程序也可以被称为信封App(Envelope App)。如果软件和硬件环境被信封App测试为与执行要求相一致,则信封被打开,即,允许该医疗应用程序的执行。
可以在接收到验证应用程序之前或之后实行接收医疗应用程序。替换地,可以至少部分地同时实行接收医疗应用程序和接收验证应用程序。可以在执行验证应用程序之前或之后实行接收医疗应用程序。替换地,可以在执行验证应用程序的同时实行接收医疗应用程序。例如,测试软件和硬件环境的一部分(其也可以分别被称为软件和硬件配置)可以在接收医疗应用程序之前实行,而测试软件和硬件环境的另一部分可以在接收医疗应用程序之后实行。
最终用户设备可以是智能电话、个人计算机、平板计算机、糖尿病管理设备或可以通信地耦合到医疗设备以向医疗设备传输数据或从医疗设备接收数据的任何其他最终用户设备。
医疗应用程序和验证应用程序被容纳在最终用户设备中。验证应用程序的执行因此可以被称为现场验证。由于至少在首次执行医疗应用程序的情况下执行验证应用程序,因此执行验证应用程序可以被称为按需验证。
验证报告可以包括关于被提供给用户设备的硬件和/或软件环境的信息,和/或关于测试软件和/或硬件环境所确定的测试结果的信息。
为了将验证报告以不可编辑的数据格式存储在最终用户设备和服务器中的至少一个中,验证报告可以例如包括安全签名,并且可以仅使用安全代码来访问。可以使用安全签名对验证报告进行加密,并且可能需要安全代码来解密验证报告。验证报告可以用作证明已经进行了验证过程的证据,例如在官方机构面前。例如,验证报告可以由验证应用程序使用官方机构(诸如与医疗设备的安全有关的政府机构)所提供的公共密钥来加密,并且然后被传输到官方机构。然后,官方机构可以使用在官方机构外部未知的私钥来解密该验证报告,并分析该验证报告,以确保满足了有关验证的官方要求。
阻止医疗应用程序的执行可以包括:在最终用户设备中生成非验证通知,该非验证通知指示医疗应用程序没有被验证;以及通过终端用户设备的输出设备来输出该非验证通知。该非验证通知可以包括音频和/或视频数据。例如,该非验证通知可以包括通过用户设备的扬声器播放的警报音和在用户设备的显示器上显示的指示非验证的文本消息。
替换地或此外,阻止医疗应用程序的执行可以包括在最终用户设备中生成验证报告,该验证报告指示医疗应用程序没有被验证,并且将该验证报告传输到服务器设备。该验证报告可以包括:关于被提供给用户设备的硬件和/或软件环境的信息,和/或关于测试软件和/或硬件环境所确定的测试结果的信息。该验证报告可以以不可编辑的数据格式存储在最终用户设备和服务器中的至少一个中。上面关于指示待验证的医疗应用程序的验证报告所描述的特征可以相应地应用于指示没有被验证的医疗应用程序的验证报告。
验证过程的建立可以包括:从多个预定义的验证过程中选择该验证过程,每一个预定义的验证过程被分配给至少一个软件环境和/或至少一个硬件环境。可以在最终用户设备和/或服务器中提供可以从中选择验证过程的预定义的验证过程。在软件环境和/或硬件环境(预定义的验证过程被分配给它们)方面,预定义的验证过程可能彼此不同。例如,可以将不同的预定义的验证过程分别分配给特定型号的最终用户设备、特定版本的操作系统以及在特定型号的最终用户设备上运行的特定版本的操作系统,每一个预定义的验证过程适应于相应型号的最终用户设备、相应版本的操作系统或其组合。作为从多个预定义的验证过程中选择验证过程的替代或补充,验证过程的建立可以包括:从一个或多个预定义的验证过程模块来组装验证过程。可以将每一个预定义的验证过程模块分配给至少一个软件环境和/或至少一个硬件环境。例如,可以将不同的预定义的验证过程模块分别分配给被提供给用户设备的某种类型的用户界面(诸如触摸屏、扬声器或显示器)。如果确定被提供给用户设备的硬件环境包括这种类型的用户界面,则对应的预定义的验证过程模块可以被包括在验证过程的组装件中,或者可以被添加到预定义的验证过程。
可以在接收验证应用程序和/或医疗应用程序时对预定义的验证过程和/或预定义的验证过程模块进行预选择。可以与验证应用程序和/或医疗应用程序一起从服务器接收预定义的验证过程和/或预定义的验证过程模块的预选择,并将其存储在最终使用设备中。在这样的实施例中,可以从存储在最终用户设备上的预定义的验证过程和/或预定义的验证过程模块的预选择中选择和/或组装验证过程。例如,当接收到验证应用程序和/或医疗应用程序时,可以基于最终用户设备传输的信息来进行预选择。
阻止医疗应用程序的执行可以包括:在最终用户设备中以减少的功能来执行医疗应用程序。以减少的功能来执行医疗应用程序可以包括:阻止由医疗应用程序提供的至少一种功能在最终用户设备中执行;以及在最终用户设备中执行由医疗应用程序提供的至少一种其他功能。可以基于验证应用程序所确定的软件环境和/或硬件环境来确定是应执行功能还是应阻止该功能。可以被执行和/或阻止的功能可以包括:与最终用户设备和医疗设备之间的数据通信有关的功能,诸如,从最终用户设备中的医疗设备接收测量数据,以及从最终用户设备向医疗设备提交控制数据。
在示例性实施例中,在最终用户设备中以减少的功能来执行医疗应用程序包括:允许最终用户设备从医疗设备接收测量数据,以及阻止最终用户设备向医疗设备传输控制数据。在不同的实施例中,可以阻止最终用户设备与医疗设备之间的所有数据通信。在这样的实施例中,仅可以允许关于用户与最终用户设备之间的交互的功能。可以提供虚拟数据来模拟数据传输功能。
该方法可以包括重新执行验证应用程序。重新执行验证应用程序可以包括:确定被提供给用户设备的当前软件环境和当前硬件环境中的至少一个,以及如果确定当前软件环境和当前硬件环境之一相应地与软件环境和硬件环境不同,则分别建立当前验证过程,以用于测试当前软件和/或当前硬件环境与在最终用户设备中执行医疗应用程序的执行要求相兼容,并根据验证过程来测试当前软件和/或当前硬件环境。
随后,如果软件和硬件环境被验证应用程序测试为与执行要求相兼容,则医疗应用程序可以在最终用户设备中执行,并且如果软件和硬件环境被验证应用程序测试为与执行要求不兼容,则可以阻止医疗应用程序在最终用户设备中执行。
如果确定当前软件环境和当前硬件环境都相应地与软件环境和硬件环境不同,则验证应用程序的重新执行可以包括终止验证应用程序的重新执行。
验证应用程序的重新执行可以包括:如果确定当前软件环境和当前硬件环境之一与软件环境和硬件环境不同,则阻止医疗应用程序的执行并终止验证应用程序的重新执行。可以生成输出信号,以向用户通知阻止了该医疗应用程序的执行。在这样的实施例中,可以阻止医疗应用程序的执行,直到触发验证app的完全重新执行为止,包括:建立当前验证过程,以用于测试当前软件和/或当前硬件环境与在最终用户设备中执行医疗应用程序的执行要求相兼容,并且根据验证过程来测试当前软件和/或当前硬件环境,从而导致阻止医疗应用程序或允许执行医疗应用程序。例如,可以响应于用户输入来触发验证app的完全重新执行。
在某些实施例中,确定当前软件环境和/或当前硬件环境可能变得必要,因为软件环境和/或硬件环境的改变可能影响与执行医疗应用程序的执行要求的兼容性。
可以按设置的间隔重新执行验证应用程序。例如,这样的间隔可以是时间间隔,诸如自上次执行验证应用程序以来经过的时间,或不同类型的间隔,诸如自上次执行验证以来医疗应用程序已执行的次数。每次执行医疗应用程序时,可以重新执行验证应用程序。
替换地或附加地,可以响应于事件而重新执行验证应用程序。这样的事件的一个示例是提示重新执行验证应用程序的用户输入。事件的另一个示例是在最终用户设备中接收到提示重新执行验证应用程序的数据。这样的数据可以例如从服务器或医疗设备接收。在执行另一个验证应用程序时,还可以从与在同一用户设备上运行的另一医疗应用程序相关联的另一验证应用程序接收提示重新执行验证应用程序的数据。可以触发验证应用程序的重新执行的事件的又另一示例是硬件环境和/或软件环境的可能变化。例如,医疗应用程序从用户输入设备接收到的数据的变化可以指示与该输入设备有关的硬件可能已发生变化。响应于确定由医疗应用程序接收到的数据中的这样的变化,可以触发验证应用程序的重新执行。
该方法可以包括:提供允许分别在被提供给最终用户设备的软件环境和硬件环境中提供的软件组件和硬件组件中的至少一个的白名单;以及确定被确定为分别在软件环境和硬件环境中提供的软件组件和硬件组件中的至少一个是否在白名单中。
如果确定硬件组件、软件组件、硬件组件和/或软件组件的组合在白名单中,到认为该组件或组件的组合被确定为在白名单中的程度,就可以放弃测试软件环境和/或硬件环境。替换地或附加地,如果确定某个硬件组件、某个软件组件或硬件组件和/或软件组件的某个组合在白名单中,则可以完全放弃测试软件环境和/或硬件环境,并且可以执行医疗应用程序。
可以在执行验证应用程序之前提供白名单。替换地,可以在验证应用程序的执行期间提供白名单。白名单可以动态地更新。例如,白名单可以经由服务器来更新。当确定组件与执行医疗应用程序的执行要求兼容时,可以通过添加新组件来更新白名单,和/或当确定组件不再与执行医疗应用程序的执行要求兼容时,可以通过删除组件来更新白名单。可以添加到白名单中的新组件可以包括新引入的组件或已改变的组件,例如已更新的软件组件。当组件发生改变后,例如,当软件组件已更新时,确定组件与不再与执行医疗应用程序的执行要求兼容时,可以删除组件。替换地或附加地,当医疗应用程序改变之后,例如,在医疗应用程序更新之后,确定组件是兼容的或确定它们不再与执行医疗应用程序的执行要求兼容时,可以将组件添加到白名单或从白名单中删除。
动态地更新白名单可以包括:响应于在最终用户设备中执行的验证应用程序确定该组件与执行医疗应用程序的执行要求分别兼容或不兼容,向白名单添加组件或从白名单删除组件,并提供更新的白名单,以供例如经由服务在其他最终用户设备上执行的其他验证应用程序中使用。
该方法可以包括:提供不允许分别在被提供给终端用户设备的软件环境和硬件环境中提供的软件组件和硬件组件中的至少一个的黑名单,以及确定被确定为分别在软件环境和硬件环境中提供的硬件组件和软件组件中的至少一个是否在黑名单中。
如果确定硬件组件、软件组件或硬件组件和/或软件组件的组合在黑名单中,则可以放弃测试软件环境和/或硬件环境,并且医疗应用程序可以被阻止在最终用户设备中执行。替换地,如果确定硬件组件、软件组件或硬件组件和/或软件组件的组合在黑名单中,则可以实行软件环境和/或硬件环境的测试,但是,如果软件和硬件环境被验证应用程序另行测试为与执行要求相兼容,则最终用户设备中可以仅允许医疗应用程序的有限执行。例如,关于被确定为在黑名单中的硬件组件、软件组件或硬件组件和/或软件组件的组合的功能可以被排除以免执行。
可以在执行验证应用程序之前提供黑名单。替换地,可以在验证应用程序的执行期间提供黑名单。黑名单可以动态地更新。例如,黑名单可以经由服务器来更新。当确定组件与执行医疗应用程序的执行要求不兼容时,可以通过添加新组件来更新黑名单,和/或当确定组件与执行医疗应用程序的执行要求不兼容时,可以通过删除组件来更新黑名单。可以添加到黑名单中的新组件可以包括新引入的组件或已改变的组件,例如已更新的软件组件。当组件发生改变后,例如,当软件组件已更新时,确定组件现在与执行医疗应用程序的执行要求相兼容时,可以删除这些组件。替换地或附加地,在医疗应用程序改变之后,例如在医疗应用程序更新之后,确定组件不再是兼容的或者它们现在与执行医疗应用程序的执行要求相兼容,可以将组件添加到黑名单或从黑名单中删除。
动态地更新黑名单可以包括:响应于在最终用户设备中执行的验证应用程序确定该组件与执行医疗应用程序的执行要求分别不兼容或不兼容,向黑名单添加或删除组件,并提供更新的黑名单,以供例如经由服务器在其他最终用户设备上执行的其他验证应用程序使用。
在实施例中,提供黑名单和/或提供白名单以及确定被确定要分别在软件环境和硬件环境中提供的硬件组件和软件组件中的至少一个是否在黑名单和/或白名单中可以在执行验证应用程序之前实行或与其分开地实行。基于确定硬件组件和软件组件中的至少一个是否在黑名单和/或白名单中,可以在实际验证过程之前向用户提供反馈。在这样的实施例中,白名单和/或黑名单可以或可以不在如上所述的验证过程中使用。
验证应用程序的执行可以包括:执行用户交互例程,该用户交互例程被配置成测试最终用户设备中提供的用户界面。在示例性实施例中,可以经由用户界面将对用户输入的请求输出给用户。然后可以接收用户输入,并且可以确定是否正确接收到用户输入。例如,可以经由在最终用户设备的触摸屏上显示的消息来提示用户经由触摸屏进行某种输入,诸如由用户用他的手指绘制的图案。然后可以将输入与参考进行比较,并且可以基于输入与参考的偏差来确定输入是否被正确接收。因此,可以确定触摸屏的正确校准。在用户交互例程的另一示例中,可以经由最终用户设备的扬声器提示用户向最终用户设备的传声器做出某种输入,例如重复句子。基于将接收到的输入与参考进行比较,可以确定传声器和扬声器的正确功能。用户交互例程的其他示例可以使用最终用户设备中提供的任何用户界面或用户界面的组合来实现。
验证应用程序的执行可以包括以演示模式执行医疗应用程序。演示模式可以包括限制医疗应用程序的功能。以演示模式执行医疗应用程序可以包括:阻止由医疗应用程序提供的至少一种功能的执行,以及执行由医疗应用程序提供的至少一种其他功能。可以被执行和/或阻止的功能可以包括与最终用户设备和医疗设备之间的数据通信有关的功能,诸如,从最终用户设备中的医疗设备接收测量数据,以及从最终用户设备向医疗设备提交控制数据。例如,演示模式可以包括允许最终用户设备从医疗设备接收测量数据,并阻止最终用户设备向医疗设备传输控制数据。替换地,可以阻止最终用户设备与医疗设备之间的所有数据通信。在演示模式下,仅可以允许关于用户与最终用户设备之间的交互的功能。可以提供虚拟数据来模拟数据传输功能。可以在演示模式下执行医疗应用程序,以在实际条件下测试用户界面。替换地或附加地,可以在演示模式下执行医疗应用程序,以根据实际条件下的验证过程来测试软件和硬件环境。例如,可以在演示模式下确定实际条件下的诸如处理器之类的硬件组件的处理速度。
根据提出的技术,测试被提供给最终用户设备的硬件和软件环境与执行医疗应用程序的执行要求相兼容。与执行要求的兼容性可以指代任何、全部或几个参数的组合。例如,可以测试的是,不排除将形成硬件和/或软件环境的一部分的软件和/或硬件组件在医疗应用程序上使用。组件可能会被排除,因为它们在排除的组件列表中和/或因为它们未通过某些测试。这样的测试可以包括:确定软件组件的执行速度、诸如处理器或图形适配器之类的硬件组件的处理能力、收发器设备或总线系统的数据吞吐量和/或硬件和/或软件的安全性参数。可以测试的安全参数可以涵盖,例如,基于硬件或软件的数据加密级别,以用于数据存储和/或传输和/或用户设备上安装的第三方应用程序对硬件、软件和/或存储的数据的访问。可以确定该软件环境包括已知容易受到黑客攻击或已知向第三方泄露敏感数据的第三方app,因此,该软件环境可能与执行要求不兼容。
替换地或附加地,可以基于是否允许所确定的软件和/或硬件组件的组合来测试与执行要求的兼容性。例如,可以允许某个处理器,但是可能不允许该处理器与某个软件模块的组合,该软件模块已知需要大量的处理器处理能力。在另外的示例中,可能不允许某个第三方应用程序与某个操作系统的组合,或某个处理器与某个图形适配器的组合。
确定硬件和软件环境可以包括确定以下各项之一或其任何组合:最终用户设备的品牌和型号、处理器架构、在最终用户设备中提供的存储设备、在外部提供的并与最终用户设备相关联的存储设备、通信接口(诸如蓝牙和/或USB)、用户界面(诸如按钮、显示器、触摸屏和/或扬声器,包括与其相关联的参数,诸如显示器的尺寸和像素密度)、操作系统的类型和版本、最终用户设备中提供的附加软件库,以及适合测试软件和硬件环境与执行医疗应用程序的执行要求相兼容的其他参数。
在示例性实施例中,最终用户设备可以被配置成用于由医疗应用程序与医疗设备进行数据通信,该医疗设备被配置成提供指示用户的体液中的分析物的连续监测数据。数据通信可以包括传输监测或测量数据,和/或传输控制数据,诸如用于配置医疗设备的数据(例如,定义用于获取连续监测数据的测量间隔)。
连续监测数据可以由传感器提供,该传感器是用于连续葡萄糖监测(CGM)的完全或部分植入的传感器。一般而言,在CGM的情况下,可以确定指示血液中的葡萄糖值或水平的分析物值或水平。可以在组织液中测量分析物值。该测量可以在皮下或体内实行。CGM可以被实现为几乎实时或准连续的监测程序,其频繁地或自动地提供/更新分析物值,而无需用户互动。在替换的实施例中,可以通过眼液在隐形眼镜中利用生物传感器、或在汗液中经由透皮测量在皮肤上利用生物传感器来测量分析物。CGM传感器可能会停留几天到几周,然后必须更换。
医疗应用程序可以经由最终用户设备的显示设备以向最终用户显示信息。该显示信息可以包括经由医疗应用程序的图形用户界面来显示信息。医疗应用程序的图形用户界面可以包括独立于软件环境和/或硬件环境的元素。例如,医疗应用程序可以经由图形用户界面以跨硬件和/或软件环境(诸如不同的操作系统或改变显示设置)都不会改变的大小和/或纵横比来显示信息。替换地或附加地,医疗应用程序可以被配置成独立于软件环境和/或硬件环境来显示医疗应用程序的图形用户界面的任何或所有其他元素或元素的组合,诸如字体、字体大小、配色方案等等。医疗应用程序可以被配置成覆盖软件环境和/或硬件环境的显示设置。例如,医疗应用程序可以被配置成覆盖在最终用户设备(例如,最终用户的移动电话)中设置的显示主题的设置。
建立验证过程可以包括:设置简化的验证过程,在该过程中,软件和硬件环境没有被测试为与执行医疗应用程序设备的一个或多个执行要求相兼容。未测试兼容性的一个或多个执行要求可以包括不需要测试的一个或多个执行要求,因为信息是经由图形用户界面在最终用户设备上显示的,该图形用户界面包括独立于软件环境和/或硬件环境的元素。
关于最终用户设备和系统,上述替换的实施例可以比照适用。
可以提供一种用于在最终用户设备上验证医疗应用程序的方法,该最终用户设备被配置成用于通过医疗应用程序与医疗设备进行数据通信。该方法包括:在最终用户设备中接收医疗应用程序,该医疗应用程序是软件实现的应用程序,并且被配置成提供最终用户设备与医疗设备之间的数据通信;在最终用户设备中接收验证应用程序,该验证应用程序是软件实现的应用程序;以及至少在最终用户设备中首次执行医疗应用程序的情况下,执行验证应用程序。执行验证应用程序包括:确定提供给用户设备的软件环境;确定提供给用户设备的硬件环境;响应于所确定的软件和硬件环境,建立验证过程,以用于测试软件和硬件环境与在最终用户设备中执行医疗应用程序的执行要求相兼容;以及根据验证过程来测试软件和硬件环境。该用于验证医疗应用程序的方法进一步包括:如果软件和硬件环境被验证应用程序测试为与执行要求相兼容,则在最终用户设备中执行医疗应用程序;以及如果软件和硬件环境被验证应用程序测试为与执行要求不兼容,则阻止医疗应用程序在最终用户设备中执行。
关于这样的方法,以上关于用于验证被配置成用于通过医疗应用程序与医疗设备进行数据通信的最终用户设备上的医疗应用程序的方法所描述的附加方面可以比照适用。
可以提供用于通过医疗应用程序与医疗设备进行数据通信的最终用户设备。该最终用户设备具有一个或多个处理器;医疗应用程序,该医疗应用程序是软件实现的应用程序,并且被配置成提供最终用户设备与医疗设备之间的数据通信;以及验证应用程序。该验证应用程序是软件实现的应用程序,并且至少在最终用户设备中首先执行医疗应用程序的情况下,该验证应用程序被配置成:确定被提供给用户设备的软件环境;确定被提供给用户设备的硬件环境;响应于所确定的软件和硬件环境,建立验证过程,以用于测试软件和硬件环境与在最终用户设备中执行医疗应用程序的执行要求相兼容;以及根据验证过程来测试软件和硬件环境。如果该软件和硬件环境被验证应用程序测试为与执行要求相兼容,则医疗应用程序被进一步配置成由一个或多个处理器执行,并且如果软件和硬件环境被验证应用程序测试为与执行要求不兼容,则阻止由一个或多个处理器进行的执行。
关于这样的最终用户设备,上述附加方面可以比照适用。
附图说明
接下来,参考图来描述另外的实施例。在各图中,示出了:
图1是医疗系统的示意图;
图2是用于验证医疗应用程序的方法的步骤的流程图;
图3是用于验证医疗应用程序的另一方法的步骤的流程图;
图4是用于验证医疗应用程序的另外的方法的步骤的流程图;
图5是建立用于验证医疗应用程序的方法的验证过程的步骤的示意性图示。
具体实施方式
图1示出了包括最终用户设备101和医疗设备102的医疗系统100的示意图。在所示的实施例中,医疗设备102是用于连续监测葡萄糖的血糖仪。在替换的实施例中,医疗设备102可以是胰岛素泵或可以供最终用户设备101用来从最终用户设备101中的医疗设备102接收数据或从最终用户设备101向医疗设备102发送数据的任何其他医疗设备。
最终用户设备101可以是智能电话、个人计算机、平板计算机、糖尿病管理设备或可以通信耦合到医疗设备102以向医疗设备102传输数据或从医疗设备102接收数据的任何其他最终用户设备。最终用户设备101包括处理器103和存储器104。在替换的实施例中,可以提供多于一个处理器103和/或多于一个存储器104。医疗应用程序以及验证应用程序都存储在存储器104中,并且可以从存储器104中检索并由处理器103执行。
最终用户设备101进一步包括:医疗设备通信接口105,以从医疗设备102接收数据以及向医疗设备102传输数据。医疗设备通信接口105可以被配置成经由线来提供到医疗设备102的连接。替换地或附加地,医疗设备通信接口105可以被配置成提供与医疗设备102的无线连接。
附加地,在最终用户设备101中提供了用户界面106。用户界面106可以包括单个接口设备或多个接口设备。该多个接口设备可以包括输入设备、输出设备和组合的输入/输出设备。例如,用户界面106可以包括触摸屏、显示器、键盘、计算机鼠标、显示器、扬声器、传声器和/或可以经由其从用户接收输入或可以经由其向用户提供输出的任何其他设备。
最终用户设备101可以进一步通过另外的通信接口108无线地或经由线耦合到服务器107或其他外部设备。
图2是图示了用于在最终用户设备101上验证医疗应用程序的方法的步骤的流程图,该最终用户设备101被配置成用于通过医疗应用程序与医疗设备102进行数据通信。
在步骤201中,用户提示最终用户设备101下载医疗应用程序。在步骤202中,响应于用户提示,通过确定诸如设备型号、位置和/或平台版本之类的设备参数,并从服务器107接收白名单和黑名单来确定关于最终用户设备101针对医疗应用程序的兼容性的先验信息。黑名单和白名单包含用于参数的值和/或参数值的组合,这些参数指示对于医疗应用程序而言,在白名单的情况下最终用户设备101是兼容的,还是在黑名单的情况下是不兼容的。接下来,在步骤203中,由最终用户设备101确定每个设备参数是兼容的(基于白名单)、不兼容的(基于黑名单),还是基于黑名单和白名单不能够确定是否具有兼容性。替换地或附加地,可以将设备参数传输到服务器107,并且可以在服务器107中基于白名单和黑名单进行关于兼容性的确定。
如果基于黑名单确定最终用户设备101对于医疗应用程序是不兼容的,则在步骤204中,通过经由最终用户设备101的用户界面106的输出向用户通知该设备不支持该医疗应用程序,并且该方法在步骤205中终止。如果基于白名单确定最终用户设备101对于该医疗应用程序是兼容的,则在步骤206中,最终用户设备101接收该医疗应用程序和验证应用程序。如果不能基于黑名单和白名单来确定兼容性,则在步骤207中,通过经由最终用户设备101的用户界面106的输出向用户通知使用验证应用程序的验证过程和验证过程的前提条件。基于提供给用户的信息,用户在步骤208中决定他是否愿意继续该过程,并经由用户界面106向最终用户设备101提供对应的输入。如果用户决定不继续该过程,则该方法在步骤205中终止。如果用户决定继续该程序,则在步骤206中,最终用户设备101接收该医疗应用程序和验证应用程序。
图3是图示了用于在最终用户设备101上验证医疗应用程序的另一方法的步骤的流程图,该最终用户设备101被配置成通过医疗应用程序与医疗设备102进行数据通信。
在步骤301中,执行该验证应用程序并开始该验证。附加地,可能会提示用户确认开始验证。如果用户确认,则可以开始验证。如果用户未确认开始验证,则验证应用程序的执行可能会终止。
在步骤302中,将最终用户设备带入隔离模式。在隔离模式中,阻止了对用户设备的任何外部影响,诸如经由第三方应用程序对设备101或从设备101进行的数据传输。替换地,可以省略步骤302,并且可以不将最终用户设备101带入隔离模式。
接下来,在步骤303中,确定被提供给最终用户设备101的软件环境和硬件环境。例如,可以确定在最终用户设备中提供了诸如用户界面或处理器之类的哪些硬件设备以及软件应用程序。在步骤304中,响应于所确定的软件和硬件环境,建立验证过程,以用于测试软件和硬件环境与执行医疗应用程序的执行要求相兼容。该验证过程可以由几个验证例程组成,并且可以进一步由验证过程中的验证例程的次序来定义。可以从多个预定义的验证过程中选择验证过程。替换地或此外,建立验证过程还可以包括从多个预定义的验证过程模块中选择一个或多个验证过程模块(该模块可以由一个或多个验证例程组成),并组装验证过程,这也可以被称为从例程创建验证图。
然后在步骤305中将最终用户设备101基准化(baseline)。基准化包括:总结最终用户设备101的属性,诸如配置、二进制文件及其校验和的列表。基准化的结果存储在验证基准中。在替换的实施例中,可以省略步骤305。在这种情况下,不会创建验证基准。
在步骤306中,根据验证过程来测试软件和硬件环境。例如,可以确定是否满足某些最小要求,诸如数据连接的速度或处理能力。基于测试的结果,创建设备验证协议或报告。接下来,在步骤307中,基于测试的结果来确定最终用户设备101的软件和硬件环境是否与执行要求相兼容。
如果确定最终用户设备101的软件和硬件环境与执行要求不兼容,则在步骤308中终止验证应用程序的执行,并且阻止接收和执行医疗应用程序。附加地,可以基于测试的结果来更新黑名单,该黑名单包含指示最终用户设备101与医疗应用程序不兼容的参数的值和/或参数的值的组合,并将黑名单存储在服务器存储库(repository)上。
如果在步骤307中确定最终用户设备101的软件和硬件环境与执行要求相兼容,则在步骤309中,再次对系统进行基准化,并将结果与在步骤305中创建的验证基准进行比较,以确定基准是否已改变。如果基准已经改变,则验证过程返回到步骤301,并且验证重新开始。如以上关于步骤301所解释的,可以提示用户(再次)确认开始验证过程。如果用户未确认开始验证过程,则验证应用程序可能会终止。如果在步骤309中确定基准没有改变,则实行步骤310。在省略了步骤305并且没有创建验证基准的实施例中,省略了步骤309。在这种情况下,如果在步骤307中确定最终用户设备101的软件和硬件环境与执行要求相兼容,则实行步骤310。
步骤310包括创建设备状态签名。该设备状态签名可以是安全的(例如加密的)密钥,其表示设备验证报告以及校验基准(如果适用的话)的校验和。因此,设备状态签名表示在确定软件和硬件环境与执行要求相兼容时的最终用户设备101的状态。设备状态签名存储在最终用户设备101和/或服务器存储库上。附加地,可以基于测试的结果来更新白名单,该白名单包含指示最终用户设备101与医疗应用程序兼容的参数的值和/或参数的值的组合,并将白名单存储在服务器存储库上。然后,将医疗应用程序下载并安装在最终用户设备101中。附加地,可以在步骤310中修改该验证应用程序。例如,可以下载并安装用于监测最终用户设备101和/或医疗应用程序和/或用于触发验证过程的重新执行的软件例程。
然后在步骤311中,以演示或验证模式来执行医疗应用程序。在演示或验证模式下执行医疗应用程序时,测试软件和硬件环境与执行要求相兼容。执行要求可以是关于在步骤306中实行哪种测试的任何或所有要求。例如,如果在步骤306中,确定处理能力满足医疗应用程序的最低要求,则可以在步骤311中测试处理能力在运行医疗应用程序时是否足够。替换地或附加地,可以关于一个或多个执行要求在步骤311中实行测试,该一定执行要求关于在步骤306中没有实行哪种测试。例如,可以确定用于实行特定于医疗应用程序的某些软件例程的速度,并且将其与最小速度要求进行比较。基于测试的结果,创建应用程序验证协议或报告。接下来,在步骤312中,基于测试的结果,确定当以演示或验证模式执行医疗应用时,最终用户设备101的软件和硬件环境是否与执行要求相兼容。
如果确定最终用户设备101的软件和硬件环境与执行要求不兼容,则在步骤313中将医疗应用程序标记为不可使用和/或从最终用户设备101卸载。接下来,该方法前进至步骤308,在该步骤中,终止验证应用程序的执行,并且阻止接收和执行医疗应用程序。附加地,可以基于测试的结果来更新黑名单,该黑名单包含指示最终用户设备101与医疗应用程序不兼容的参数的值和/或参数的值的组合,并将黑名单存储在服务器存储库上。
如果在步骤312中确定最终用户设备101的软件和硬件环境与执行要求相兼容,则在步骤314中,再次对系统进行基准化,并将结果与在步骤305中创建的验证基准进行比较,以确定基准是否已改变。如果基准已经改变,则验证过程返回到步骤301,并且验证重新开始。如以上关于步骤301所解释的,可以提示用户(再次)确认开始验证过程。如果用户未确认开始验证过程,则验证应用程序可能会终止。如果在步骤314中确定基准没有改变,则实行步骤315。在省略了步骤305并且没有创建验证基准的实施例中,省略了步骤314。在这种情况下,如果在步骤312中确定最终用户设备101的软件和硬件环境与执行要求相兼容,则实行步骤315。
在步骤315中,创建应用程序状态签名。该应用程序状态签名可以是安全的(例如加密的)密钥,其表示应用程序验证报告和设备状态签名的校验和。设备状态签名可以全部或部分地包括在应用程序状态签名中,也可以被包括在摘要(诸如校验和)中。替换地,设备状态签名可能不被包括在应用程序状态签名中。由此,应用程序状态签名表示在以演示或验证模式执行医疗应用程序时确定软件和硬件环境与执行要求相兼容时的最终用户设备101的状态。应用程序状态签名存储在最终用户设备101和/或服务器存储库上。在替换的实施例中,在步骤310中,设备状态签名不存储在服务器存储库上,并且在步骤315中,设备状态签名和应用程序状态签名单独地或以合并形式存储在服务器存储库上。附加地,可以基于测试的结果来更新白名单,该白名单包含指示最终用户设备101与医疗应用程序相兼容的参数的值和/或参数的值的组合,并且将白名单存储在服务器存储库上。
然后在步骤316中允许医疗应用程序的执行,并且该验证过程结束。
图4中的流程图图示了用于验证医疗应用程序的另外的方法的步骤。在所示的实施例中,每次执行医疗应用程序时,确定被提供给最终用户设备101的当前硬件和软件环境。
在步骤401中开始医疗应用程序。接下来,在步骤402中,确定被提供给用户设备101的当前硬件和软件环境。为了确定当前硬件和软件环境,将最终用户设备101基准化。在步骤403中,从最终用户设备101的存储器104和/或从服务器存储库中检索设备状态签名和/或应用程序状态签名。为了将当前硬件和软件环境与在先前实行的验证中确定的硬件和软件环境进行比较,在步骤404中将在步骤402中确定的基准与在步骤403中检索到的设备状态签名和/或应用程序状态签名进行比较。
如果确定当前硬件和软件环境与在先前的验证中确定的硬件和软件环境相同,则在步骤405中执行医疗应用程序。
如果在步骤404中确定当前硬件和软件环境与在先前的验证中确定的硬件和软件环境不同,则在步骤406中阻止医疗应用程序的执行。最终用户设备101然后可以返回到正常操作模式。
阻止医疗应用程序的执行可以包括:抑制医疗应用程序的任何代码的执行。因此,医疗应用程序可能无法在最终用户设备101中启动。替换地,阻止医疗应用程序的执行可以包括抑制医疗应用程序的仅部分代码的执行。例如,当医疗应用程序的执行被阻止时,医疗应用程序的图形用户界面可能会加载,但是通过抑制医疗应用程序代码的各个元素的所有执行,可以阻止来往于医疗设备102和其他外部设备的所有数据传输。
每当医疗应用程序被阻止执行时,可以向用户通知该阻止。例如,可以在最终用户设备101的显示器上显示消息,从而通知用户该医疗应用程序已经被阻止执行。该通知还可以包括阻止医疗应用程序执行的原因和/或阻止的程度,诸如,当医疗应用程序本身未完全被阻止加载时,医疗应用程序的哪些功能已被阻止。
替换地,可以提示用户开始包括当前验证过程的当前验证。当前验证可以包括先前验证的所有步骤。先前验证可以例如包括关于图3的方法的实施例所描述的所有步骤。替换地,与先前的验证相比,可以添加和/或删除步骤,或者当前验证可以与先前验证分开并且与先前验证不同。在另外的替换方案中,在步骤406中可能不提示用户开始当前验证。当前验证可以自动实行。
图5是为用于在最终用户设备101上验证医疗应用程序的方法建立验证过程的步骤的示意性图示。最终用户设备101包括平台500,该平台也可以称为软件域。平台500可以实质上包括操作系统。几个软件组件在平台500上运行。软件组件包括医疗应用程序501、验证应用程序502以及几个软件组件503a,...,503c,它们可以形成平台500本身的一部分,或者可以作为第三方应用程序来提供。附加地,可以将诸如验证例程504之类的数据与平台500或在其上提供的软件组件相关联地进行存储。最终用户设备101进一步包括硬件域505。该硬件域包括诸如不同接口设备506a,...,506d之类的硬件组件。例如,接口设备506a可以是光盘驱动器,而接口设备506b可以是无线数据通信接口,诸如蓝牙模块。其他软件组件507a,...,507c可以与硬件域505相关联,而不与平台500相关联。例如,软件组件507a,...,507c可以是固件组件。
为了建立验证过程,分析了最终用户设备101中提供的硬件接口设备和软件接口设备。可以基于医疗应用程序501将与哪些组件交互来建立验证过程。在图5所示的实施例中,医疗应用程序501与软件组件503b、503c和507c以及与硬件组件506b和506c交互。医疗应用程序501经由硬件域中的软件组件507c与硬件组件506b交互。医疗应用程序501经由软件组件503c和平台500与硬件组件506c交互。
当已经确定了医疗应用程序与之交互的组件时,可以相应地建立验证过程。例如,在其中验证过程从预定义的验证过程模块组装而成的方法的实施例中,对于图5所示的最终用户设备101的实施例,与软件组件503b、503c和507c以及与硬件组件506b和506c相关联的验证过程模块可以被挑选来组装验证过程,但是与软件组件503a、507a、507b和507d以及与硬件组件506a和506d相关联的验证过程模块可能不存在,或者可能存在但可能不包括在验证过程中。

Claims (11)

1.一种用于在最终用户设备(101)上验证医疗应用程序的方法,该最终用户设备(101)被配置成用于通过所述医疗应用程序与医疗设备(102)进行数据通信,所述方法包括
-在最终用户设备(101)中接收医疗应用程序,所述医疗应用程序是软件实现的应用程序,并且被配置成提供所述最终用户设备(101)与医疗设备(102)之间的数据通信;
-在所述最终用户设备(101)中接收验证应用程序,所述验证应用程序是软件实现的应用程序;
-至少在所述最终用户设备(101)中首次执行所述医疗应用程序的情况下,执行所述验证应用程序,包括
-确定被提供给所述用户设备(101)的软件环境;
-确定被提供给所述用户设备(101)的硬件环境;
-响应于所确定的软件和硬件环境,建立验证过程,以用于测试所述软件和硬件环境与在所述最终用户设备(101)中执行所述医疗应用程序的执行要求相兼容;以及
-根据所述验证过程来测试所述软件和硬件环境;
-如果所述软件和硬件环境被所述验证应用程序测试为与所述执行要求相兼容,则在所述最终用户设备(101)中执行所述医疗应用程序,其中,所述医疗应用程序的执行包括:在所述最终用户设备(101)中生成验证报告,所述验证报告指示待验证的医疗应用程序;将所述验证报告传输到服务器(107);以及将所述验证报告以不可编辑的数据格式存储在所述最终用户设备(101)和服务器(107)中的至少一个中;以及
-如果所述软件和硬件环境被所述验证应用程序测试为与所述执行要求不兼容,则阻止所述医疗应用程序在所述最终用户设备(101)中执行。
2.根据权利要求1所述的方法,其中,阻止所述医疗应用程序执行进一步包括:在所述最终用户设备(101)中生成非验证通知,所述非验证通知指示所述医疗应用程序没有被验证;以及通过所述最终用户设备(101)的输出设备来输出所述非验证通知。
3.根据权利要求1或2所述的方法,其中,所述验证过程的建立进一步包括:从多个预定义的验证过程中选择所述验证过程,每一个预定义的验证过程被分配给至少一个软件环境和/或至少一个硬件环境。
4.根据权利要求1或2所述的方法,其中,阻止所述医疗应用程序执行进一步包括:在所述最终用户设备(101)中以减少的功能来执行所述医疗应用程序,包括:
-阻止由所述医疗应用程序提供的至少一种功能在所述最终用户设备(101)中执行;以及
-在所述最终用户设备(101)中执行由所述医疗应用程序提供的至少一种其他功能。
5.根据权利要求1或2所述的方法,进一步包括重新执行所述验证应用程序,包括:
-确定被提供给所述用户设备(101)的当前软件环境和当前硬件环境中的至少一个;以及
-如果确定当前软件环境和当前硬件环境之一分别与所述软件环境和所述硬件环境不同,则建立当前验证过程,以用于测试当前软件和/或当前硬件环境与在所述最终用户设备(101)中执行所述医疗应用程序的执行要求相兼容,并根据所述验证过程来测试当前软件和/或当前硬件环境。
6.根据权利要求1或2述的方法,进一步包括:
-提供允许分别在被提供给所述最终用户设备(101)的软件环境和硬件环境中提供的软件组件和硬件组件中的至少一个的白名单;以及
-确定被确定为分别在所述软件环境和所述硬件环境中提供的硬件组件和软件组件中的至少一个是否在所述白名单中。
7.根据权利要求1或2所述的方法,进一步包括:
-提供不允许分别在被提供给所述最终用户设备(101)的软件环境和硬件环境中提供的软件组件和硬件组件中的至少一个的黑名单;以及
-确定被确定为分别在所述软件环境和所述硬件环境中提供的硬件组件和软件组件中的至少一个是否在所述黑名单中。
8.根据权利要求1或2所述的方法,其中,所述验证应用程序的执行进一步包括:执行用户交互例程,所述用户交互例程被配置成测试在所述最终用户设备(101)中提供的用户界面(106)。
9.根据权利要求1或2所述的方法,其中,所述验证应用程序的执行进一步包括:以演示模式来执行所述医疗应用程序。
10.一种用于通过医疗应用程序与医疗设备(102)进行数据通信的最终用户设备(101),包括
-一个或多个处理器(103);
-医疗应用程序,所述医疗应用程序是软件实现的应用程序,并且被配置成提供所述最终用户设备(101)与医疗设备(102)之间的数据通信;以及
-验证应用程序,所述验证应用程序是软件实现的应用程序,并且至少在所述最终用户设备(101)中首次执行所述医疗应用程序的情况下,所述验证应用程序被配置成
-确定被提供给所述用户设备的软件环境;
-确定被提供给所述用户设备的硬件环境;
-响应于所确定的软件和硬件环境,建立验证过程,以用于测试所述软件和硬件环境与在所述最终用户设备(101)中执行所述医疗应用程序的执行要求相兼容;以及
-根据所述验证过程来测试所述软件和硬件环境;
所述医疗应用程序进一步被配置成
-如果所述软件和硬件环境被所述验证应用程序测试为与所述执行要求相兼容,则由所述一个或多个处理器(103)执行所述医疗应用程序,其中,所述最终用户设备(101)进一步被配置成:在所述医疗应用程序执行时生成验证报告,所述验证报告指示待验证的医疗应用程序;以及将所述验证报告传输到服务器(107),所述验证报告以不可编辑的数据格式存储在所述最终用户设备(101)和服务器(107)中的至少一个中;以及
-如果软件和硬件环境被所述验证应用程序测试为与所述执行要求不兼容,则阻止由所述一个或多个处理器(103)进行的执行。
11.一种医疗系统(100),其包括医疗设备(102)和根据权利要求10所述的最终用户设备(101)。
CN201880061187.2A 2017-09-20 2018-09-19 验证医疗应用程序的方法、最终用户设备和医疗系统 Active CN111095206B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17192247.9A EP3460657B1 (en) 2017-09-20 2017-09-20 Method for validating a medical application, end user device and medical system
EP17192247.9 2017-09-20
PCT/EP2018/075386 WO2019057791A1 (en) 2017-09-20 2018-09-19 MEDICAL APPLICATION VALIDATION METHOD, END USER DEVICE AND MEDICAL SYSTEM

Publications (2)

Publication Number Publication Date
CN111095206A CN111095206A (zh) 2020-05-01
CN111095206B true CN111095206B (zh) 2023-12-08

Family

ID=59966585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880061187.2A Active CN111095206B (zh) 2017-09-20 2018-09-19 验证医疗应用程序的方法、最终用户设备和医疗系统

Country Status (6)

Country Link
US (1) US11620212B2 (zh)
EP (1) EP3460657B1 (zh)
CN (1) CN111095206B (zh)
CA (1) CA3075444C (zh)
ES (1) ES2896480T3 (zh)
WO (1) WO2019057791A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416792A (zh) * 2020-11-30 2021-02-26 深信服科技股份有限公司 应用软件兼容性检测方法、装置、设备及存储介质
CN116300681B (zh) * 2023-05-16 2023-08-15 深圳华龙讯达信息技术股份有限公司 一种用于plc的自动接线监测方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1270676A (zh) * 1997-09-19 2000-10-18 佐治亚科技研究公司 用于在中央监视站和远程病人监视站之间传送信息的基于分组的远程医疗系统
CN1357194A (zh) * 1999-05-21 2002-07-03 通用仪器公司 用于与多个操作环境兼容的电视顶设终端机的软件体系结构
CN102955892A (zh) * 2011-08-31 2013-03-06 赵文平 一种便携式医疗系统
CN103077059A (zh) * 2013-01-07 2013-05-01 北京播思软件技术有限公司 判断应用程序是否匹配的方法
DE102011083887A1 (de) * 2011-09-30 2014-02-27 Siemens Ag Automatisches Selbsttestverfahren für medizinische Geräte
CN103631637A (zh) * 2012-08-24 2014-03-12 通用电气公司 医疗装置定制系统
CN103733201A (zh) * 2011-08-11 2014-04-16 霍夫曼-拉罗奇有限公司 用于手持医疗设备的密码数据分布和撤销
CN104636678A (zh) * 2013-11-15 2015-05-20 中国电信股份有限公司 一种云计算环境下对终端设备进行管控的方法和系统
CN105022628A (zh) * 2015-06-04 2015-11-04 北京宏远贵德科技有限公司 一种可扩展的软件应用平台
CN105335292A (zh) * 2015-11-12 2016-02-17 广州华多网络科技有限公司 应用程序兼容性测试方法和系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6775536B1 (en) 1999-11-03 2004-08-10 Motorola, Inc Method for validating an application for use in a mobile communication device
US8577697B2 (en) * 2000-02-28 2013-11-05 Gregory A. Demopulos Use of internet site as a registry for results of medical tests
US9185554B2 (en) 2008-02-15 2015-11-10 Appcentral, Inc. System and methods to store, retrieve, manage, augment and monitor applications on appliances
US9656092B2 (en) * 2009-05-12 2017-05-23 Chronicmobile, Inc. Methods and systems for managing, controlling and monitoring medical devices via one or more software applications functioning in a secure environment
US9015654B2 (en) * 2012-08-13 2015-04-21 Bitbar Technologies Oy System for providing test environments for executing and analysing test routines
US10324826B2 (en) * 2013-02-12 2019-06-18 Focus IP Inc. Developer channel compliance
FR3002346B1 (fr) * 2013-02-15 2015-03-06 Voluntis Procede et systeme de surveillance a distance d'un dispositif medical logiciel
US9197972B2 (en) * 2013-07-08 2015-11-24 Starkey Laboratories, Inc. Dynamic negotiation and discovery of hearing aid features and capabilities by fitting software to provide forward and backward compatibility
CN104834537B (zh) * 2014-12-30 2018-04-27 沈阳东软医疗系统有限公司 数据处理方法、服务器及客户端
US9747181B2 (en) * 2015-01-14 2017-08-29 Red Hat, Inc. System and method for inspection of system state during testing
US9740473B2 (en) * 2015-08-26 2017-08-22 Bank Of America Corporation Software and associated hardware regression and compatibility testing system
EP3767974B1 (en) * 2015-11-05 2023-11-29 Dexcom, Inc. Compatibility check for continuous glucose monitoring application
US20170147313A1 (en) 2015-11-19 2017-05-25 Xerox Corporation System and method for validating configuration data values associated with software applications
US11456076B2 (en) * 2019-05-02 2022-09-27 Medtronic Minimed, Inc. Methods for self-validation of hardware and software for safety-critical medical devices

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1270676A (zh) * 1997-09-19 2000-10-18 佐治亚科技研究公司 用于在中央监视站和远程病人监视站之间传送信息的基于分组的远程医疗系统
CN1357194A (zh) * 1999-05-21 2002-07-03 通用仪器公司 用于与多个操作环境兼容的电视顶设终端机的软件体系结构
CN103733201A (zh) * 2011-08-11 2014-04-16 霍夫曼-拉罗奇有限公司 用于手持医疗设备的密码数据分布和撤销
CN102955892A (zh) * 2011-08-31 2013-03-06 赵文平 一种便携式医疗系统
DE102011083887A1 (de) * 2011-09-30 2014-02-27 Siemens Ag Automatisches Selbsttestverfahren für medizinische Geräte
CN103631637A (zh) * 2012-08-24 2014-03-12 通用电气公司 医疗装置定制系统
CN103077059A (zh) * 2013-01-07 2013-05-01 北京播思软件技术有限公司 判断应用程序是否匹配的方法
CN104636678A (zh) * 2013-11-15 2015-05-20 中国电信股份有限公司 一种云计算环境下对终端设备进行管控的方法和系统
CN105022628A (zh) * 2015-06-04 2015-11-04 北京宏远贵德科技有限公司 一种可扩展的软件应用平台
CN105335292A (zh) * 2015-11-12 2016-02-17 广州华多网络科技有限公司 应用程序兼容性测试方法和系统

Also Published As

Publication number Publication date
EP3460657B1 (en) 2021-09-08
WO2019057791A1 (en) 2019-03-28
US20200218641A1 (en) 2020-07-09
CN111095206A (zh) 2020-05-01
ES2896480T3 (es) 2022-02-24
CA3075444A1 (en) 2019-03-28
US11620212B2 (en) 2023-04-04
EP3460657A1 (en) 2019-03-27
CA3075444C (en) 2022-09-27

Similar Documents

Publication Publication Date Title
US11256496B2 (en) Apparatus and method for managing application
US7712126B2 (en) Method and apparatus for providing dynamic security management
US9959125B2 (en) Field update of boot loader using regular device firmware update procedure
US20190278613A1 (en) Managing the Customizing of Appliances
EP2626803A1 (en) Information processing device and method for preventing unauthorized application cooperation
US11601415B2 (en) Apparatus and method for a managed open source medical device
US10621331B2 (en) Vehicle data rewrite control device and vehicle data rewrite authentication system
CN103747433B (zh) 一种通过厂商服务器实现root请求管理的方法及移动终端
EP3282383A1 (en) Usage control method and system for medical detection device and medical detection device
CN110619208A (zh) 用户验证方法、服务器、用户设备和系统
CN111095206B (zh) 验证医疗应用程序的方法、最终用户设备和医疗系统
US20150039515A1 (en) Interactive product improvement through the use of variants and data gathering reports in a system that can be updated on the fly
US20230315432A1 (en) Method for designing a firmware, firmware obtained by such a method and method for modifying such a firmware
CN106534105A (zh) 登录方法和装置
EP3195551B1 (en) Method and system for managing fine-grained policies for requiring user approval of device management operations
US10691424B2 (en) Method for programming and terminal device
US11023220B2 (en) Firmware update with integrated smart sequence and action engine
CN107479923A (zh) 应用程序升级方法、装置及显示终端
CN107567627B (zh) 具有测试执行环境的装置
CN110580179A (zh) 信息处理方法及装置、电子设备及存储介质
CN111145897B (zh) 一种超声系统配置和维护方法及装置
CN118502774A (zh) 软件卸载方法、装置、电子设备及计算机可读存储介质
CN117992945A (zh) 一种应用授权方法、装置、电子设备及存储介质
KR20240102424A (ko) 보안성을 강화한 리프로그램 방법
CN117873521A (zh) 呼吸机的功能更新方法、生成方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40029616

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant