基于通用usb的遥测rf头的制作方法

文档序号:1222672阅读:236来源:国知局

专利名称::基于通用usb的遥测rf头的制作方法
技术领域
:本发明涉及用于询问和编程可植入医疗装置(IMD)的系统和装置。
背景技术
:用来在患者体内产生治疗结果的IMD是众所周知的,包括可植入心脏起搏器、心律转变器、去纤颤器、药物注射泵、神经激励器和其他装置。这些装置中的很多装置提供电输出或包含电路以执行它们的预定功能。外部装置(一般为编程器)通常用于利用遥感探测与IMD相接。这一外部装置可以用于许多与IMD相关联的任务。这些任务的示例包括获得关于IMD的情形、状态或状况的信息,获得关于患者的信息(诸如与IMD提供的预期治疗相关的信息),传送信息给IMD以指定要由IMD提供的治疗参数,以及传送关于IMD的操作的新的或更新的维护信息。简而言之,外部编程器想要执行与IMD相关的所有必要或期望的通信功能。外部编程器通常由执行若干不同功能的若干不同组件构成,诸如根据适当协议传导与IMD的通信的遥测模块、用于接收来自用户的输入并显示信息的用户接口等。在很多情况下,因为需要提供特定的和关键的功能以便与IMD和用户交互,外部编程器是相对复杂的。这导致了通常要为不同IMD单独开发特定的、复杂的和相对昂贵的外部编程器,既耗费时间和资源又增加医学治疗的总体成本。通用计算机尽管具有执行外部编程器的很多功能的处理能力,但在医疗装置应用方面存在问题,因为医疗装置生产商对计算机缺乏控制。医疗装置生产商不知道通用计算机的特定字符、格式和编程环境,这在医疗装置编程应用中通常是不可接受的,因为与该装置交互需要严格的交互特性。提供通用且相对廉价的装置的IMD编程方案在本领域中是有利的改进,该装置支持编程功能的保密性和对编程功能的控制
发明内容本发明是一种遥测模块,其用于连接到计算装置以便执行与对可植入医疗装置(IMD)编程和与IMD交互相关的功能。该遥测模块管理计算装置与IMD之间的通信,并在执行由计算装置提供的、用于对IMD进行编程的指令之前,确保这些指令是有效的和安全的。一般地,遥测连接是无线数据应用系统。在本发明的背景下,无线指的是利用信号处理算法和编码技术来使用RF或不含电线的等价物创建数据通信信道。图1是可植入医疗装置系统的图解说明。图2是根据本发明的实施例的遥测模块的示意图。图3A是图示说明利用遥测模块的系统配置的第一示例的示意图。图3B是图示说明利用遥测模块的系统配置的第二示例的示意图。图3C是图示说明利用遥测模块的系统配置的第三示例的示意图。图3D是图示说明利用遥测模块的系统配置的第四示例的示意图。图4是图示说明与根据本发明的实施例的遥测模块相关的硬件的示意图。图5是图示说明在根据本发明的实施例的遥测模块中使用的软件架构的框图。图6A是图示说明在IMD系统的第一配置中的遥测模块中使用的软件架构的框图。图6B是图示说明在IMD系统的第二配置中的遥测模块中使用的软件架构的框图。图6C是图示说明在IMD系统的第三配置中的遥测模块中使用的软件架构的框图。图6D是图示说明在IMD系统的第四配置中的遥测模块中使用的软件架构的框图。图7A是图示说明一种方法的示例的流程图,希望传送编程指令的计算装置通过该方法实现与遥测模块的保密且经确认的连接。图7B是图示说明一种方法的示例的流程图,在遥测模块已经确认与计算装置的连接后,计算装置通过该方法执行到遥测模块的传送。具体实施例方式图1是可植入医疗装置(IMD)系统的图解说明。该IMD系统包括已经植入患者P体内的IMD10(在图1中显示为起搏器)。一个或多个引线(总体标示为参考数字12)以常规方式电耦连到IMD10。在图1的示例中,IMDi0是起搏器,引线12经由静脉延伸到患者的心脏内。对于其他类型的IMD来说,引线12的其他布置和配置在本领域是已知的。图1所示的还有外部编程单元20,其经由遥测信道22与IMD10进行非入侵式的通信。遥测头24与编程单元20相关联以执行IMD10与编程单元20之间的双向通信。遥测头24可定位在患者身体上IMD10的植入部位之上,或者可以经由远程遥测与IMD10通信,从而该头内部的一个或多个天线发送RF信号给位于IMDIO之中或之上的天线,并接收来自该天线的RF信号,这在本领域是已知的。在现有IMD系统中,编程单元20包括很多功能组件,用于存储和执行与和IMD的通信相关的指令,用于对IMDIO进行编程,以及用于处理从IMD10接收的数据。在大多数系统中,这些组件被设计为专用于IMDIO,而编程单元20被设计为和IMD10—起操作。然而,根据本发明的原理,图1所示的IMD系统可以利用改进的遥测头24,该遥测头包括允许编程单元20被简化或取消的功能,从而可以使用更一般的计算装置来实现之前由编程单元20提供的一些功能。遥测头24被配置为执行确认功能以确保与一般计算装置的交互和与特别设计的编程单元的交互一样保密可靠。图2是根据本发明的实施例的遥测模块30的示意图。遥测模块30包括遥测头30a和接口30b,在一个实施例(在图2中显示)中该接口可以是通用串行总线(USB)接口。图3A是图示说明利用遥测模块30的系统配置的第一示例的示意图。在这一系统中,遥测模块30被用于具有IMD的患者家中。遥测头30a与IMD通信以询问和/或编程该装置。遥测模块30经由受控服务器40与诊所通过保密链路通信,该受控服务器例如可以是由Medtronic公司生产的CareLink⑧网络服务器。服务器40经由互联网连接或相似类型的连接耦连到诊所处的计算机42。计算机42可以直接连接到或经由网络连接到各种外围9设备,诸如打印机44。在这一配置中,可以执行患者的IMD的远程编程,诸如通过MedtronicCareLink⑧网络。遥测模块30起到家中(in-home)监控器的作用,或者可以连接到附加硬件上以提供家中监控器,其被设计为由非专业人士(例如患者)使用。由此适当限制与患者的直接交互。监控器可以起作用以监控IMD并将从IMD收集的数据传送到远程位置处的服务器40,诸如经由电话线或通过其他连接或链路。基于所收集和所传送的数据,可以在诊所通过通信地耦连到服务器40的计算机42选择适当的指令来对IMD进行编程(诸如通过医疗工作人员操作计算机42上的适当软件,或通过软件本身的自动选择)。然后所选择的指令通过服务器40被传送回遥测模块30,从而可以实现对IMD的编程。图3B是图示说明利用遥测模块30的系统配置的第二示例的示意图。在这一配置中,遥测模块30经由接口30b(例如其可以是USB接口)耦连到计算机50。遥测头30a可操作以便与IMD无线通信,询问IMD并传递得到的数据给计算机50,基于从计算机50接收的指令来传送用于对IMD进行编程的信号,或者二者均可。计算机50可以是某些类型的便携式个人计算机、个人数字助理(PDA)或任何其他类型的计算装置。计算机50也可以直接连接到或经由网络连接到各种外围设备,诸如打印机52。图3C是图示说明利用遥测模块30的系统配置的第三示例的示意图。在这一配置中,遥测头30a被耦连到编程装置60,其整体包括遥测模块30的剩余部分的功能。编程装置60类似于这一实施例中的现有编程器,执行用于通过遥测头30a与IMD通信的软件,以询问IMD并传送编程信号给IMD。图3D是图示说明利用遥测模块30的系统配置的第四示例的示意图。在这一配置中,遥测模块30经由USB接口30b耦连到平板(tablet)计算机70(或类似计算装置)。遥测头30a可操作以便与IMD无线通信,询问IMD并传递得到的数据给计算机70,并传送用于对IMD进行编程的信号。遥测模块30被划分成遥测处理单元30c和遥测头30a。在一个实施例中USB接口30b大约0.5米长。遥测处理单元30c包含遥测模块30的电子器件和逻辑器件,并且经由USB接口30b从计算机70接收0.5A和5V的电源。遥测头30a要求更高的电压以执行RF遥感探测,因此遥测处理单元30c将该电源转换成更高的电压以便由遥测头30a使用。在一个实施例中遥测处理单元30c和遥测头30a之间的接口长约2米。在一个实施例中,该系统包括一个或多个以下特征由计算机70执行的应用软件被存储在物理上不通过工具无法存取的小型闪存卡(或其它介质)中。此外,经由USB接口30b从计算机70向遥测模块30提供电源。此外,更多数据通过统一代码资源动态链接库(UnicoderesourceDLL)进行处理以便支持各种不同的语言,诸如中文。另外,为起搏应用提供"双紧急键"特征,该特征要求同时按下两个按钮(例如基于硬件的按钮、基于软件的按钮或二者的组合)以便激活紧急起搏(以便避免不小心激活紧急起搏)。在一些实施例中,除了支持基于计算装置的应用外,遥测模块30本身可以提供简化的或基本的应用。例如,断开的遥测模块可以运行以校验基本健康参数和IMD功能,而被识别出需要更多信息或编程能力的更复杂的问题可能需要连接到计算装置。在一个实施例中,基本状态信息可能是简单的红灯和绿灯(指示"OK"状态或者"需要更多信息"状态),或者是更详细的板上显示,这依赖于要使用的期望环境。图4是图示说明与遥测模块30相关联的硬件的示意图。遥测模块30通信地耦连到IMD10。这一通信连接可以通过各种不同遥测方案来实现,诸如电场遥测、磁场遥测等(两个供选方案在图4中通过显示两个IMD10来图示说明,一个IMD通过电场遥测进行通信,另一个IMD通过磁场遥测进行通信)。模拟电子器件82为所使用的遥测方案提供适当的物理接口。数字电子器件84连接到模拟电子器件82,并且被配置为支持所采用的遥测方案。在一个实施例中,数字电子器件84用动态可配置现场可编程门阵列(FPGA)来实现。数字电子器件84连接到处理单元86,在一个实施例中该处理单元是可縮放的ARM⑧中央处理单元(CPU)。处理单元86连接到存储器88,该存储器可以是闪存只读存储器(ROM)、随机存取存储器(RAM)或本领域已知的其他类型的存储器。处理单元86经由接口耦连到计算机89,该接口可以是工业标准接口,诸如在一个实施例中为通用串行总线(USB)接口。在操作中,计算机89执行提供用户接口以便与IMD10交互的应用程序,这类似于现有的专用编程单元。遥测模块30通过适当的遥感探测提供计算11机89与IMD10之间的通信能力,该遥感探测依赖于所使用的IMD10的类型。遥测模块30还负责确保计算机89与IMD10之间的交互是有效和安全的。这是遥测模块30的重要特征,因为存在与计算机89相关联的很多可能的形式、功能、能力和保密性。例如,计算机89可以是由生产IMD10的相同生产商提供的编程单元。计算机89也可以是由不同生产商提供的编程单元。作为替代,计算机89可以是执行应用程序的通用计算机,允许计算机89本地或远程地(例如通过互联网/万维网)起到编程单元的功能,或者计算机89可以是执行相同类型的应用程序的个人数字助理(PDA)或其他便携装置。由遥测模块30提供的这一能力使各种设备配置能实现IMD编程的功能,这可能导致对患者和医疗机构的显著的成本节约和/或服务提高。下面针对图5所示的软件讨论由遥测模块30实现的功能的细节。图5是图示说明在本发明的遥测模块30中使用的软件架构的框图,其通过参考开放系统互联(OSI)七层模型被显示。该示意图示出遥测模块30提供IMD10与装置应用程序126之间的通信(该应用程序可能存在于编程单元、通用计算机或其他计算/通信组件中)。遥测模块30包括许多功能组件,包括通信管理器IOO、工作处理器102、遥测应用程序104(0SI层7)、遥测固件106(OSI层3、4、5和6)、遥测数据链路层108(OSI层2)和遥测物理层IIO(OSI层l)(尽管如此,在所有下面的讨论中应该理解这些组件和层在一些实施例中可以被组合或取消。)通信管理器100负责管理遥测模块30与装置应用程序126之间的通信,以采集来自装置应用程序126且将被用于对IMDIO进行编程的信息,以及提供代表IMD10的操作和/或状态的信息给装置应用程序126,IMD10被稹入患者中,或二者均可。通信管理器100通过通信信道120(在一个示例中其为USB接口)进行通信,也通过本地通信信道124与本地用户输入/输出(I/O)接口122交流信息,以及与网络94交流信息。通信管理器100还基于通过网络通信信道120和/或本地通信信道124接收的数据来控制和/或监控由工作处理器102、遥测应用程序104、遥测固件106和遥测数据链路层108实现的功能。通信管理器IOO还与保密处理器127、配置管理器128和架构监控器130(用于捕捉诊断信息的任选组件)通信以进一步控制工作处理器102、遥测应用程序104、遥测固件106和遥测数据链路层108。保密12处理器127为通信管理器100提供加密功能,管理公共/个人密钥对,授权认证链和指纹生成及确认。下面针对图7A和图7B详细解释在遥测模块30的操作中提供的认证和保密性。工作处理器102负责控制由遥测头30执行的任务。遥测头30可以以很多模式进行操作,诸如基本模式、自动模式、联网模式、维护模式等。在一个实施例中,这些操作模式的特征如下基本模式-在基本模式中,低层级的遥测命令被展示给装置应用程序126,这类似于现有编程单元的操作。因此,当工作处理器102与装置应用软件126之间的连接是高速、高可靠性链接时,诸如当遥测模块30被集成到编程单元中或本地连接到编程单元时,基本模式是最合适的。自动模式-自动模式包括基本模式的功能,且还允许装置应用程序126组装"工作"并将它们提交给工作处理器102以便执行。例如,工作可以包括一系列命令、读请求、写请求和实时数据配置命令。组成一项工作的任务可以被有条件地定义和执行,且可以利用宏指令(macro)从而基于特定事件的发生来执行任务。自动模式适用于装置应用程序126通过网络连接连接到遥测模块30的情形,该网络连接与直接连接相比可能不那么高速或者可能有较低的可靠性。如果与装置应用程序126的通信被中断,这一模式允许本地紧急激活工作处理器102以自动完成某些工作(诸如被认为是至关重要的工作)。网络模式-网络模式包括基本模式和自动模式的功能,且还允许工作处理器102与其它器械之间的通信。例如,工作处理器102可以与本地的自动化外部去纤颤器(AED)交互。通过在IMD10被重新编程时要求患者连接到去纤颤器,该交互可以用作适当情况下的附加安全措施。维护模式-当在实际患者会话中不采用遥测模块30时,这一模式提供开发、测试和调试能力。在一些实施例中,工作处理器102可以被配置为经由通信接受远程编程,例如,该通信是通过网络通信信道120从通信管理器100接收的。工作处理器102在其对任务的控制和其与遥测应用程序104、遥测固件106和遥测数据链路层108的交互中提供该能力以执行这一编程。工作处理器102也可以与配置管理器128和通信管理器100交互以执行对遥测固件106和遥测数据链路层108的更新,从而支持新的遥测版本。遥测应用程序104执行高层级遥测功能,诸如装置类型的自动识别(以识别IMDIO)、实时处理来自IMD10的数据(诸如电记录图(EGM)信号和标记)以及IMD10的询问和编程。遥测应用程序104也可以执行穿过(passthrough)功能,允许OSI层7的服务替代地提供到装置应用程序126中。这些任务以专门针对装置应用程序126的方式被定义和执行。遥测固件106包括OSI层3、4、5和6等组件。OSI层6是表示层。这一层通过将数据从应用格式变换成网络格式来提供与数据表示(例如加密)不同无关的独立性,反之亦然。数据被转换成遥测应用程序层104可接受的格式,并对数据进行格式化和加密从而该数据可以通过网络发送,为兼容性问题提供自由度。这一层也可以被称为语法层。OSI层5是会话层。这一层建立、管理和终止应用程序之间的连接。具体地,该会话层建立、协调和终止装置IMD10与装置应用程序126之间的通话、交换和对话。该会话层协调装置之间的通信会话和连接。OSI层4是传输层。这一层提供IMD10与装置应用程序126之间的透明数据传递。该传输层负责端对端错误恢复和流控制,以确保完整的数据传递。这一层将来自装置应用程序126的大消息分解成一系列更小的数据包,并将从IMD10接收的数据包组装成消息,再将消息传送给装置应用程序126。OSI层3是网络层。这一层提供切换和路由能力,生成逻辑路径(也被称为虚拟电路)以便从节点到节点传送数据。路由和转发是这一层的功能,同时还有寻址、网际互连、错误处理、阻塞控制和数据包排序等功能。遥测数据链路层108形成OSI层2。在一个实施例中,这一层在FPGA中实现,且被划分成介质访问控制(MAC)子层和逻辑链路控制(LLC),介质访问控制子层用于控制访问传输硬件,逻辑链路控制用于控制帧同步和流控制以及处理物理层中的错误。遥测数据链路层108编码数据包并将数据包解码成比特,并且还管理传输协议。遥测物理层100形成OSI层1。这一层在电和机械层面上通过网络传送比特流(例如电冲击、光信号或无线电信号)。这一层由图4所示的模拟电子器件82和数字电子器件84(包括FPGA)实现,提供用于发送和接收载体上的数据的硬件。在操作中,遥测模块30代表IMD系统中的受信任一方,因为它受到医疗装置生产商的控制。为了保持其受信任的状态,对其软件的任何改变只有当从受信任的源发出时才可实现。遥测模块30将利用密码和验证技术确认提供软件更新的任何请求。类似地,遥测模块30与利用公共/个人密钥和对称密钥以提供编程指令的计算装置通信。利用存储管理单元(MMU)、虚拟环境或类似已知技术将在计算装置上运行的应用软件与计算装置上的其他软件隔离开。作为其操作的一部分,应用软件执行对其数据和代码空间的分析,以利用密码技术生成指纹。这一指纹被加密并连同可能的命令或编程指令一起发送给遥测模块30。遥测模块30解密该指纹并将该指纹与每个可能的装置应用程序的有效指纹列表相比较。如果该指纹无效,则不执行这些命令或指令。该指纹被周期性地重新计算以校验应用软件的连续整体性。应用软件周期性地执行性能测试以确定硬件是否有足够的资源来适当维持装置编程会话。如果由于其他程序的活动、存在病毒或其他因素导致没有足够的资源可以使用,软件应用程序将中断装置编程会话并通知用户。上面已经以稍微一般的方式描述了图5中所示的功能组件,该方式适用于系统组件的很多不同配置。以下关于图6A、6B、6C和6D的讨论关注于根据本发明的各种实施例可以使用的系统配置的特定示例。这些附图仅示出了处于遥测应用层104(OSI层7)及更高层级的组件,因为所有配置中更低层/层级是相同的。图6A是图示说明在IMD系统的第一配置中的遥测模块30中使用的软件架构的框图。图6A示出的配置类似于图5示出的配置,区别之处在于图5示出的网络94被具体标识为虚拟个人网络(VPN)132,其可以是对传输进行某些程度的管理控制的任何网络配置。在图6A所示的示例中,VPN132被连接到服务器134,该服务器例如可以是由Medtronic公司制造的CareLink⑧网络服务器。在这一实施例中,可以通过CareLink⑧网络提供对植入装置10的远程编程。例如。带有IMD10的患者可以在家中,且遥测模块30连接到家中监控器(VPN132的组成部分)(或形成为家中监控器的整体部分)。在这一实施例中,家中监控器可以被设计为由非专业人士(例如15患者)使用,因此与患者的交互被适当地限制。监控器可以起作用以监控IMD10并将从IMD10收集的数据传送到远程位置处的CareLink⑧服务器134,诸如经由电话线、互联网连接或通过其他连接或链路。基于所收集和所传送的数据,可以在远程位置处选择适当的指令来对植入装置10进行编程(诸如通过医疗工作人员操作装置应用软件,或通过装置应用软件的自动选择),并且所选择的指令被传送回监控器和遥测模块30的通信管理器100。在确认编程指令之后,接着相应地可以对IMD10进行编程。图6B是图示说明在IMD系统的第二配置中的遥测模块30中使用的软件架构的框图。图6B示出的配置类似于图5示出的配置,区别之处在于图5示出的网络94被具体标识为虚拟个人网络(VPN)132,该虚拟个人网络具有处于通信的服务器142,并具有通信地耦连到服务器142的便携计算装置144以接收装置数据并提供编程指令。在这一实施例中,便携计算装置144经由网站(或其他互联网类型协议)与服务器142交互。在服务器142或便携计算装置144上存储和执行至少一部分装置应用程序(显示为图5中的126)。例如,在遥测头附近(例如在房间里)或远离遥测头的医疗工作人员可以操作通用膝上型计算机或个人数字助理(PDA)执行类似网页浏览器的应用程序,由此提供用于IMD的编程指令,并通过连接到VPN132的服务器142接收来自IMD的患者信息和装置信息。由便携计算装置144经由服务器142提供的编程指令在执行之前被遥测模块校验,以确保只有有效的指令被执行以对IMD10进行编程。图6C是图示说明在IMD系统的第三配置中的遥测模块30中使用的软件架构的框图。图6C示出的配置类似于图5示出的配置,区别之处在于图5示出的网络94被具体标识为虚拟个人网络(VPN)132,该虚拟个人网络具有作为组成部分的应用计算机152(或可替换地,应用计算机152可能是唯一的组成部分,在这种情况下指定VPN132是不必要的)。在这一实施例中,应用计算机152可以是类似于当前使用的编程装置的编程装置,包括应用软件、用户接口和与这些装置相关联的其他特征。作为替换,应用计算机152可以是被编程以执行与由当前使用的编程装置所执行的软件类似的软件的个人计算机(PC)装置,或者可以是另一种类型的装置。遥测模块30可以被实现为通过诸如US接口的接口连接到应用计算机152的外围装置,或16者可以以某一方式与应用计算机152集成在一起。应用计算机152是"胖(thick)"客户端,其具有传送完整的编程指令序列的能力。因为应用计算机152在这一实施例中是受信任的编程指令源,一些保密特征和认证特征是在应用计算机152内部实现的,而不是由遥测模块30的组件实现。图6D是图示说明在IMD系统的第四配置中的遥测模块30中使用的软件架构的框图。图6D示出的配置类似于图5示出的配置,区别之处在于图5示出的网络94被具体标识为虚拟个人网络(VPN)132,该虚拟个人网络与瘦(thin)客户端组件156进行通信(或可替换地,痩客户端组件156可能是唯一的组成部分,在这种情况下指定VPN132是不必要的)。在这一实施例中,瘦客户端156提供用户接口以便操作在遥测模块上运行的装置应用程序126。这一配置允许装置生产商通过将应用程序存储在遥测模块30中来维持对应用程序的控制,同时还允许通过瘦客户端106来将新的、更现代的硬件用作应用程序的用户接口。当然,组件的其它配置也是可能的,且上述示例仅意欲图示说明一些可以实现的配置。可能至少部分地使用这些和其他配置,这是由于由遥测模块30提供的安全和确认能力的限制,这在下面针对图7A和7B进行详细的描述。图7A是图示说明一种方法的示例的流程图,希望传送编程指令的计算装置通过该方法实现与遥测模块的保密且经确认的连接。初始时,如步骤160所示,计算装置认识到需要与遥测模块连接。然后计算装置确定遥测装置在通信网络上的相对位置,并请求连接,如步骤162所示。然后遥测模块(TM)向计算装置(CD)提供TM的公共密钥和证书,如步骤164所示。在一个实施例中,当TM被生产时,TM根证书(rootcertificate)以及公共/个人密钥对被安装。然后证书和密钥对被存储在保密的存储器中(诸如图5所示的保密处理器127),以受到保护而不被读出或反向设计(reverseengineerings在另一个实施例中,由TM根据需要生成公共/个人密钥对。在步骤166,CD接收TM的公共密钥和证书,并确定该公共密钥和证书是否有效。在一些实施例中,TM的公共密钥和证书可以是假定有效的,诸如当TM由医疗装置生产商提供时。通过确认后,CD知道TM是有效的,但是TM不知道CD是否被验证以提供指令。然后CD在步骤168处生成软件指纹。该软件指纹是基于与CD相关联的软件结构、数据结构、密钥数值等,且这些参数中任何一个的改变都将修改该软件指纹。这允许检测由于在CD上运行的恶意软件(例如病毒、蠕虫等)而导致的对软件的任何改变。CD不知道有效的指纹是什么,因此有效的软件指纹不能被反向设计(reverseengineered)。在一个实施例中,利用单向散列方法生成软件指纹,其防止仅基于新的随机序列密钥生成新的指纹。然后在步骤170通过TM的公共密钥对软件指纹和CD的证书进行加密,且被加密的数据在步骤172中与TM的公共密钥一起传送给TM。只有TM能够利用TM的个人密钥解密这一消息以确认CD的证书和指纹,如步骤174所示。在这一步骤,CD的证书被用于确认它的指纹。通过TM的公共密钥对CD的证书进行加密,因此TM知道CD的证书是否有效(也是因为CD的证书是由受到系统生产商控制的根授权(rootauthority)以数字形式标记的)。如果CD的指纹和证书被TM确定为无效(在决定步骤175),则拒绝CD连接到TM的请求,如步骤176所示。如果TM确定CD的指纹和证书被CD确定为是有效的,则TM生成随机对称密钥,通过CD的公共密钥加密该随机对称密钥,并将其发送给CD,如步骤178所示。然后在步骤180,CD利用CD的个人密钥解密对称密钥,从而确立该对称密钥为用于加密和解密未来传输的密钥,如步骤182所示。在CD与TM的通信会话期间,TM发送随机序列密钥给CD,如步骤184所示。CD确认该随机序列密钥并将其存储在它的存储器中,如步骤186所示。该随机序列密钥允许由CD生成新的不同的指纹,从而复制和重复使用之前的有效指纹是不可能的。图7B是图示说明一种方法的流程图,在TM验证了与CD的连接后,CD通过该方法执行到TM的传送。初始时,CD在步骤l卯处识别发送传输到TM的需求。然后由CD利用对称密钥生成新的指纹,该对称密钥之前已经由TM发送给CD,同时还利用该对称密钥加密传输到TM的数据,如步骤192所示。改变随机序列密钥防止重复使用旧的传输,并防止通过重复使用之前的指纹的软件攻击。然后由TM对CD所传送的数据进行解密和确认,如步骤194所示。TM在决定步骤196确定该传输是否有效,而且如果该传输无效,则TM拒绝该传输并发送新的随机序列密钥给CD,如步骤198所示。如果该传输有效,则TM可以在步骤200执行附加的任选保密测试,以测试适当的用户凭证、处于适当范围内的生命体征、某一辅助装备的存在或其他参数。例如,某些编程指令可能仅在去纤颤器被识别为可用时才允许执行,或者某些其他编程指令可能仅在患者的生命体征处于特定范围内时才允许执行。然后TM发送对到CD的传输的确认,同时发送另一个新的随机序列密钥用于未来的传输,如步骤202所示。与软件指纹相关联的保密性允许该系统检测掺入次级品的或不适当的软件,诸如已经由于病毒或蠕虫而改变的软件、过期的软件、错误版本的软件或与IMD的某些方面或系统的其他组件不兼容的软件等。在一些实施例中,生成仅针对所选择的传输的软件指纹,诸如对患者健康至关重要的传输,从而有效地利用处理带宽。可以使用类似的过程来验证IMD系统的用户、IMD系统中采用的其他设备、被获取以更新系统的新软件等。本发明(其可以以各种不同的实施例和配置来实现)提供一种遥测模块,该遥测模块可以连接到计算装置以便执行与对IMD编程和与IMD交互相关的功能,这些功能在现有系统中通常是由特别设计的编程单元执行的。这些功能包括从计算装置接收编程指令和在执行所指示的编程之前确认这些指令的安全性(由于通用计算装置的潜在有害环境),以及将由IMD传输的数据转换成在计算机装置上执行的装置应用程序可用的格式。这一能力允许医疗设施中已经在用的现有设备可以与适当的软件和固件一起用作编程单元,这可以潜在地允许IMD在它们之前不适用的环境和市场中被使用。尽管已经参考优选实施例描述了本发明,但是本领域的技术人员将认识到在不偏离本发明的思想和范围的情况下,可以对形式和细节进行修改。例如,本领域技术人员将认识到除了本文所描述的示例,在实践本发明的原理时可以在不同实施例中采用其他类型的医疗装置。权利要求1.一种遥测模块,其包括遥测电子器件,其用于与可植入医疗装置即IMD通信,传送第一信号;接口,其与计算装置通信,传送第二信号;以及包括软件的处理单元,其用于通过所述遥测电子器件和所述接口控制所述IDM和所述计算装置之间的通信,用于确认由所述计算装置传送的、对所述IMD进行编程的指令的有效性,以及用于仅在确认所述指令有效之后使得能够执行所述指令来对所述IMD进行编程。2.根据权利要求1所述的遥测模块,其中所述接口包括通用串行总线接口,即USB接口。3.根据权利要求1所述的遥测模块,其中所述遥测模块还包括输入/输出接口即I/O接口,用于显示与所述IMD的状态相关的信息和/或用于输入编程指令。4.根据权利要求1所述的遥测模块,其中所述遥测模块还包括应用软件,用于执行对所述IMD进行编程的所述指令。5.根据权利要求1所述的遥测模块,其中用于确认对所述IMD进行编程的所述指令的有效性的所述软件执行加密方案以确认所述指令的有效性。6.根据权利要求5所述的遥测模块,其中用于确认对所述IMD进行编程的所述指令的有效性的所述软件包括用于确定所述计算装置的软件水印是否有效的软件。7.根据权利要求6所述的遥测模块,其中用于确定所述计算装置的软件水印是否有效的所述软件可操作以便向所述计算装置提供与所述遥测模块相关联的公开密钥;接收通过所述公开密钥加密的所述计算装置的所述软件水印;通过与所述遥测模块相关联的个人密钥解密所述计算装置的所述软件水印;以及确定所述软件水印是否有效。8.根据权利要求6所述的遥测模块,其中所述遥测模块与所述计算装置之间的传输是通过随机对称密钥加密和解密的,所述随机对称密钥是在确定所述计算装置的所述软件水印有效之后生成的。9.根据权利要求5所述的遥测模块,其中用于确认对所述IMD进行编程的所述指令的有效性的所述软件可操作以确定生命体征是否在要执行的所述指令的适当范围内。10.根据权利要求5所述的遥测模块,其中用于确认对所述IMD进行编程的所述指令的有效性的所述软件可操作以确定是否存在某些辅助设备以提供执行所述指令的安全性。11.一种可植入医疗装置编程系统,S卩IMD编程系统,其包括计算装置,其可操作以生成并传送用于对IMD进行编程的编程指令;和遥测模块,其包括遥测电子器件,其用于与所述可植入医疗装置即IMD通信;接口,其用于与所述计算装置通信;以及包括软件的处理单元,其用于通过所述遥测电子器件和所述接口分别控制与所述IDM和与所述计算机装置的通信,用于确认由所述计算装置传送的所述编程指令的有效性,以及用于仅在确认所述指令有效之后使得能够执行所述编程指令来对所述IMD进行编程。12.根据权利要求11所述的IMD编程系统,其中所述遥测模块的所述接口包括通用串行总线接口即USB接口。13.根据权利要求11所述的IMD编程系统,其中所述遥测模块还包括输入/输出接口即I/0接口,用于显示与所述IMD的状态相关的信息和/或用于输入编程指令。14.根据权利要求11所述的IMD编程系统,其中所述遥测模块还包括应用软件,用于执行对所述IMD进行编程的所述指令。15.根据权利要求11所述的IMD编程系统,其中用于确认对所述IMD进行编程的所述指令的有效性的所述软件执行加密方案以确认所述指令的有效性。16.—种对带有遥测模块的可植入医疗装置即IMD进行编程的方法,所述方法包括通过计算装置生成编程指令;建立所述计算装置与所述遥测模块之间的通信会话;在所述遥测模块处确定由所述计算装置生成的所述编程指令是否对于编程所述IMD是有效的;以及在确认所述编程指令后,操作所述遥测模块以根据所述编程指令对所述IMD进行编程。17.根据权利要求16所述的方法,其中建立所述计算装置与所述遥测模块之间的通信会话和在所述遥测模块处确定由所述计算装置生成的所述编程指令是否对于编程所述IMD是有效的这两个步骤中的至少一个包括在所述计算装置处生成软件水印;将所述软件水印从所述计算装置发送到所述遥测模块;以及在所述遥测模块处确定所述软件水印是否有效。18.根据权利要求17所述的方法,其中将所述软件水印从所述计算装置发送到所述遥测模块和在所述遥测模块处确定所述软件水印是否有效这两个步骤涉及加密方案。19.根据权利要求18所述的方法,其中在确定所述软件水印有效后,生成对称密钥用于加密和解密所述遥测模块与所述计算装置之间的进一步传输。20.根据权利要求16所述的方法,其中在所述遥测模块处确定由所述计算装置生成的所述编程指令是否对于编程所述IMD是有效的这一步骤包括确定生命体征是否在要执行的所述指令的适当范围内。21.根据权利要求16所述的方法,其中在所述遥测模块处确定由所述计算装置生成的所述编程指令是否对于编程所述IMD是有效的这一步骤包括确定是否存在某些辅助设备以提供执行所述指令的安全性。22.—种可植入医疗装置编程系统即IMD编程系统,其包括执行应用程序的计算装置,其可操作以生成和传送用于对IMD进行编程的编程指令,并显示与从所述IMD取回的数据相关的信息;和遥测模块,其包括遥测处理单元,其通过通用串行总线接口即USB接口连接到所述计算装置以从所述计算装置接收电力并通信耦连到所述计算装置;和遥测头,其连接到所述遥测处理单元以便接收经变压的电力,由此操作所述遥测头与所述IMD无线通信以询问所述IMD,从而数据被取回并可以传递到所述遥测处理单元并进一步传到所述计算装置,并由此传送用于对所述IMD进行编程的信号。23.根据权利要求22所述的IMD编程系统,其中由所述计算装置执行的所述应用程序被存储在物理上不通过工具无法存取的介质中。24.根据权利要求22所述的IMD编程系统,其中所述IMD是起搏器,且其中所述应用程序包括应急密钥函数,仅当同时激活两个按钮时,所述应急密钥函数才激活应急起搏。25.根据权利要求22所述的IMD编程系统,其中从所述IMD取回的数据是通过支持中文语言的统一代码资源动态链接库处理的。全文摘要一种遥测模块连接到计算装置,以便执行涉及编程和与可植入医疗装置(IMD)交互的功能。该遥测模块管理计算装置与IMD之间的通信,并确保由计算装置提供的、用于对IMD进行编程的指令在这些指令被执行前是有效的和安全的。文档编号A61N1/372GK101516443SQ200780035250公开日2009年8月26日申请日期2007年9月20日优先权日2006年9月29日发明者C·M·彼得森,J·马考特申请人:麦德托尼克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1