專利名稱::基于通用usb的遙測rf頭的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及用于詢問和編程可植入醫(yī)療裝置(IMD)的系統(tǒng)和裝置。
背景技術(shù):
:用來在患者體內(nèi)產(chǎn)生治療結(jié)果的IMD是眾所周知的,包括可植入心臟起搏器、心律轉(zhuǎn)變器、去纖顫器、藥物注射泵、神經(jīng)激勵器和其他裝置。這些裝置中的很多裝置提供電輸出或包含電路以執(zhí)行它們的預(yù)定功能。外部裝置(一般為編程器)通常用于利用遙感探測與IMD相接。這一外部裝置可以用于許多與IMD相關(guān)聯(lián)的任務(wù)。這些任務(wù)的示例包括獲得關(guān)于IMD的情形、狀態(tài)或狀況的信息,獲得關(guān)于患者的信息(諸如與IMD提供的預(yù)期治療相關(guān)的信息),傳送信息給IMD以指定要由IMD提供的治療參數(shù),以及傳送關(guān)于IMD的操作的新的或更新的維護信息。簡而言之,外部編程器想要執(zhí)行與IMD相關(guān)的所有必要或期望的通信功能。外部編程器通常由執(zhí)行若干不同功能的若干不同組件構(gòu)成,諸如根據(jù)適當(dāng)協(xié)議傳導(dǎo)與IMD的通信的遙測模塊、用于接收來自用戶的輸入并顯示信息的用戶接口等。在很多情況下,因為需要提供特定的和關(guān)鍵的功能以便與IMD和用戶交互,外部編程器是相對復(fù)雜的。這導(dǎo)致了通常要為不同IMD單獨開發(fā)特定的、復(fù)雜的和相對昂貴的外部編程器,既耗費時間和資源又增加醫(yī)學(xué)治療的總體成本。通用計算機盡管具有執(zhí)行外部編程器的很多功能的處理能力,但在醫(yī)療裝置應(yīng)用方面存在問題,因為醫(yī)療裝置生產(chǎn)商對計算機缺乏控制。醫(yī)療裝置生產(chǎn)商不知道通用計算機的特定字符、格式和編程環(huán)境,這在醫(yī)療裝置編程應(yīng)用中通常是不可接受的,因為與該裝置交互需要嚴(yán)格的交互特性。提供通用且相對廉價的裝置的IMD編程方案在本領(lǐng)域中是有利的改進,該裝置支持編程功能的保密性和對編程功能的控制
發(fā)明內(nèi)容本發(fā)明是一種遙測模塊,其用于連接到計算裝置以便執(zhí)行與對可植入醫(yī)療裝置(IMD)編程和與IMD交互相關(guān)的功能。該遙測模塊管理計算裝置與IMD之間的通信,并在執(zhí)行由計算裝置提供的、用于對IMD進行編程的指令之前,確保這些指令是有效的和安全的。一般地,遙測連接是無線數(shù)據(jù)應(yīng)用系統(tǒng)。在本發(fā)明的背景下,無線指的是利用信號處理算法和編碼技術(shù)來使用RF或不含電線的等價物創(chuàng)建數(shù)據(jù)通信信道。圖1是可植入醫(yī)療裝置系統(tǒng)的圖解說明。圖2是根據(jù)本發(fā)明的實施例的遙測模塊的示意圖。圖3A是圖示說明利用遙測模塊的系統(tǒng)配置的第一示例的示意圖。圖3B是圖示說明利用遙測模塊的系統(tǒng)配置的第二示例的示意圖。圖3C是圖示說明利用遙測模塊的系統(tǒng)配置的第三示例的示意圖。圖3D是圖示說明利用遙測模塊的系統(tǒng)配置的第四示例的示意圖。圖4是圖示說明與根據(jù)本發(fā)明的實施例的遙測模塊相關(guān)的硬件的示意圖。圖5是圖示說明在根據(jù)本發(fā)明的實施例的遙測模塊中使用的軟件架構(gòu)的框圖。圖6A是圖示說明在IMD系統(tǒng)的第一配置中的遙測模塊中使用的軟件架構(gòu)的框圖。圖6B是圖示說明在IMD系統(tǒng)的第二配置中的遙測模塊中使用的軟件架構(gòu)的框圖。圖6C是圖示說明在IMD系統(tǒng)的第三配置中的遙測模塊中使用的軟件架構(gòu)的框圖。圖6D是圖示說明在IMD系統(tǒng)的第四配置中的遙測模塊中使用的軟件架構(gòu)的框圖。圖7A是圖示說明一種方法的示例的流程圖,希望傳送編程指令的計算裝置通過該方法實現(xiàn)與遙測模塊的保密且經(jīng)確認的連接。圖7B是圖示說明一種方法的示例的流程圖,在遙測模塊已經(jīng)確認與計算裝置的連接后,計算裝置通過該方法執(zhí)行到遙測模塊的傳送。具體實施例方式圖1是可植入醫(yī)療裝置(IMD)系統(tǒng)的圖解說明。該IMD系統(tǒng)包括已經(jīng)植入患者P體內(nèi)的IMD10(在圖1中顯示為起搏器)。一個或多個引線(總體標(biāo)示為參考數(shù)字12)以常規(guī)方式電耦連到IMD10。在圖1的示例中,IMDi0是起搏器,引線12經(jīng)由靜脈延伸到患者的心臟內(nèi)。對于其他類型的IMD來說,引線12的其他布置和配置在本領(lǐng)域是已知的。圖1所示的還有外部編程單元20,其經(jīng)由遙測信道22與IMD10進行非入侵式的通信。遙測頭24與編程單元20相關(guān)聯(lián)以執(zhí)行IMD10與編程單元20之間的雙向通信。遙測頭24可定位在患者身體上IMD10的植入部位之上,或者可以經(jīng)由遠程遙測與IMD10通信,從而該頭內(nèi)部的一個或多個天線發(fā)送RF信號給位于IMDIO之中或之上的天線,并接收來自該天線的RF信號,這在本領(lǐng)域是已知的。在現(xiàn)有IMD系統(tǒng)中,編程單元20包括很多功能組件,用于存儲和執(zhí)行與和IMD的通信相關(guān)的指令,用于對IMDIO進行編程,以及用于處理從IMD10接收的數(shù)據(jù)。在大多數(shù)系統(tǒng)中,這些組件被設(shè)計為專用于IMDIO,而編程單元20被設(shè)計為和IMD10—起操作。然而,根據(jù)本發(fā)明的原理,圖1所示的IMD系統(tǒng)可以利用改進的遙測頭24,該遙測頭包括允許編程單元20被簡化或取消的功能,從而可以使用更一般的計算裝置來實現(xiàn)之前由編程單元20提供的一些功能。遙測頭24被配置為執(zhí)行確認功能以確保與一般計算裝置的交互和與特別設(shè)計的編程單元的交互一樣保密可靠。圖2是根據(jù)本發(fā)明的實施例的遙測模塊30的示意圖。遙測模塊30包括遙測頭30a和接口30b,在一個實施例(在圖2中顯示)中該接口可以是通用串行總線(USB)接口。圖3A是圖示說明利用遙測模塊30的系統(tǒng)配置的第一示例的示意圖。在這一系統(tǒng)中,遙測模塊30被用于具有IMD的患者家中。遙測頭30a與IMD通信以詢問和/或編程該裝置。遙測模塊30經(jīng)由受控服務(wù)器40與診所通過保密鏈路通信,該受控服務(wù)器例如可以是由Medtronic公司生產(chǎn)的CareLink⑧網(wǎng)絡(luò)服務(wù)器。服務(wù)器40經(jīng)由互聯(lián)網(wǎng)連接或相似類型的連接耦連到診所處的計算機42。計算機42可以直接連接到或經(jīng)由網(wǎng)絡(luò)連接到各種外圍9設(shè)備,諸如打印機44。在這一配置中,可以執(zhí)行患者的IMD的遠程編程,諸如通過MedtronicCareLink⑧網(wǎng)絡(luò)。遙測模塊30起到家中(in-home)監(jiān)控器的作用,或者可以連接到附加硬件上以提供家中監(jiān)控器,其被設(shè)計為由非專業(yè)人士(例如患者)使用。由此適當(dāng)限制與患者的直接交互。監(jiān)控器可以起作用以監(jiān)控IMD并將從IMD收集的數(shù)據(jù)傳送到遠程位置處的服務(wù)器40,諸如經(jīng)由電話線或通過其他連接或鏈路。基于所收集和所傳送的數(shù)據(jù),可以在診所通過通信地耦連到服務(wù)器40的計算機42選擇適當(dāng)?shù)闹噶顏韺MD進行編程(諸如通過醫(yī)療工作人員操作計算機42上的適當(dāng)軟件,或通過軟件本身的自動選擇)。然后所選擇的指令通過服務(wù)器40被傳送回遙測模塊30,從而可以實現(xiàn)對IMD的編程。圖3B是圖示說明利用遙測模塊30的系統(tǒng)配置的第二示例的示意圖。在這一配置中,遙測模塊30經(jīng)由接口30b(例如其可以是USB接口)耦連到計算機50。遙測頭30a可操作以便與IMD無線通信,詢問IMD并傳遞得到的數(shù)據(jù)給計算機50,基于從計算機50接收的指令來傳送用于對IMD進行編程的信號,或者二者均可。計算機50可以是某些類型的便攜式個人計算機、個人數(shù)字助理(PDA)或任何其他類型的計算裝置。計算機50也可以直接連接到或經(jīng)由網(wǎng)絡(luò)連接到各種外圍設(shè)備,諸如打印機52。圖3C是圖示說明利用遙測模塊30的系統(tǒng)配置的第三示例的示意圖。在這一配置中,遙測頭30a被耦連到編程裝置60,其整體包括遙測模塊30的剩余部分的功能。編程裝置60類似于這一實施例中的現(xiàn)有編程器,執(zhí)行用于通過遙測頭30a與IMD通信的軟件,以詢問IMD并傳送編程信號給IMD。圖3D是圖示說明利用遙測模塊30的系統(tǒng)配置的第四示例的示意圖。在這一配置中,遙測模塊30經(jīng)由USB接口30b耦連到平板(tablet)計算機70(或類似計算裝置)。遙測頭30a可操作以便與IMD無線通信,詢問IMD并傳遞得到的數(shù)據(jù)給計算機70,并傳送用于對IMD進行編程的信號。遙測模塊30被劃分成遙測處理單元30c和遙測頭30a。在一個實施例中USB接口30b大約0.5米長。遙測處理單元30c包含遙測模塊30的電子器件和邏輯器件,并且經(jīng)由USB接口30b從計算機70接收0.5A和5V的電源。遙測頭30a要求更高的電壓以執(zhí)行RF遙感探測,因此遙測處理單元30c將該電源轉(zhuǎn)換成更高的電壓以便由遙測頭30a使用。在一個實施例中遙測處理單元30c和遙測頭30a之間的接口長約2米。在一個實施例中,該系統(tǒng)包括一個或多個以下特征由計算機70執(zhí)行的應(yīng)用軟件被存儲在物理上不通過工具無法存取的小型閃存卡(或其它介質(zhì))中。此外,經(jīng)由USB接口30b從計算機70向遙測模塊30提供電源。此外,更多數(shù)據(jù)通過統(tǒng)一代碼資源動態(tài)鏈接庫(UnicoderesourceDLL)進行處理以便支持各種不同的語言,諸如中文。另外,為起搏應(yīng)用提供"雙緊急鍵"特征,該特征要求同時按下兩個按鈕(例如基于硬件的按鈕、基于軟件的按鈕或二者的組合)以便激活緊急起搏(以便避免不小心激活緊急起搏)。在一些實施例中,除了支持基于計算裝置的應(yīng)用外,遙測模塊30本身可以提供簡化的或基本的應(yīng)用。例如,斷開的遙測模塊可以運行以校驗基本健康參數(shù)和IMD功能,而被識別出需要更多信息或編程能力的更復(fù)雜的問題可能需要連接到計算裝置。在一個實施例中,基本狀態(tài)信息可能是簡單的紅燈和綠燈(指示"OK"狀態(tài)或者"需要更多信息"狀態(tài)),或者是更詳細的板上顯示,這依賴于要使用的期望環(huán)境。圖4是圖示說明與遙測模塊30相關(guān)聯(lián)的硬件的示意圖。遙測模塊30通信地耦連到IMD10。這一通信連接可以通過各種不同遙測方案來實現(xiàn),諸如電場遙測、磁場遙測等(兩個供選方案在圖4中通過顯示兩個IMD10來圖示說明,一個IMD通過電場遙測進行通信,另一個IMD通過磁場遙測進行通信)。模擬電子器件82為所使用的遙測方案提供適當(dāng)?shù)奈锢斫涌凇?shù)字電子器件84連接到模擬電子器件82,并且被配置為支持所采用的遙測方案。在一個實施例中,數(shù)字電子器件84用動態(tài)可配置現(xiàn)場可編程門陣列(FPGA)來實現(xiàn)。數(shù)字電子器件84連接到處理單元86,在一個實施例中該處理單元是可縮放的ARM⑧中央處理單元(CPU)。處理單元86連接到存儲器88,該存儲器可以是閃存只讀存儲器(ROM)、隨機存取存儲器(RAM)或本領(lǐng)域已知的其他類型的存儲器。處理單元86經(jīng)由接口耦連到計算機89,該接口可以是工業(yè)標(biāo)準(zhǔn)接口,諸如在一個實施例中為通用串行總線(USB)接口。在操作中,計算機89執(zhí)行提供用戶接口以便與IMD10交互的應(yīng)用程序,這類似于現(xiàn)有的專用編程單元。遙測模塊30通過適當(dāng)?shù)倪b感探測提供計算11機89與IMD10之間的通信能力,該遙感探測依賴于所使用的IMD10的類型。遙測模塊30還負責(zé)確保計算機89與IMD10之間的交互是有效和安全的。這是遙測模塊30的重要特征,因為存在與計算機89相關(guān)聯(lián)的很多可能的形式、功能、能力和保密性。例如,計算機89可以是由生產(chǎn)IMD10的相同生產(chǎn)商提供的編程單元。計算機89也可以是由不同生產(chǎn)商提供的編程單元。作為替代,計算機89可以是執(zhí)行應(yīng)用程序的通用計算機,允許計算機89本地或遠程地(例如通過互聯(lián)網(wǎng)/萬維網(wǎng))起到編程單元的功能,或者計算機89可以是執(zhí)行相同類型的應(yīng)用程序的個人數(shù)字助理(PDA)或其他便攜裝置。由遙測模塊30提供的這一能力使各種設(shè)備配置能實現(xiàn)IMD編程的功能,這可能導(dǎo)致對患者和醫(yī)療機構(gòu)的顯著的成本節(jié)約和/或服務(wù)提高。下面針對圖5所示的軟件討論由遙測模塊30實現(xiàn)的功能的細節(jié)。圖5是圖示說明在本發(fā)明的遙測模塊30中使用的軟件架構(gòu)的框圖,其通過參考開放系統(tǒng)互聯(lián)(OSI)七層模型被顯示。該示意圖示出遙測模塊30提供IMD10與裝置應(yīng)用程序126之間的通信(該應(yīng)用程序可能存在于編程單元、通用計算機或其他計算/通信組件中)。遙測模塊30包括許多功能組件,包括通信管理器IOO、工作處理器102、遙測應(yīng)用程序104(0SI層7)、遙測固件106(OSI層3、4、5和6)、遙測數(shù)據(jù)鏈路層108(OSI層2)和遙測物理層IIO(OSI層l)(盡管如此,在所有下面的討論中應(yīng)該理解這些組件和層在一些實施例中可以被組合或取消。)通信管理器100負責(zé)管理遙測模塊30與裝置應(yīng)用程序126之間的通信,以采集來自裝置應(yīng)用程序126且將被用于對IMDIO進行編程的信息,以及提供代表IMD10的操作和/或狀態(tài)的信息給裝置應(yīng)用程序126,IMD10被稹入患者中,或二者均可。通信管理器100通過通信信道120(在一個示例中其為USB接口)進行通信,也通過本地通信信道124與本地用戶輸入/輸出(I/O)接口122交流信息,以及與網(wǎng)絡(luò)94交流信息。通信管理器100還基于通過網(wǎng)絡(luò)通信信道120和/或本地通信信道124接收的數(shù)據(jù)來控制和/或監(jiān)控由工作處理器102、遙測應(yīng)用程序104、遙測固件106和遙測數(shù)據(jù)鏈路層108實現(xiàn)的功能。通信管理器IOO還與保密處理器127、配置管理器128和架構(gòu)監(jiān)控器130(用于捕捉診斷信息的任選組件)通信以進一步控制工作處理器102、遙測應(yīng)用程序104、遙測固件106和遙測數(shù)據(jù)鏈路層108。保密12處理器127為通信管理器100提供加密功能,管理公共/個人密鑰對,授權(quán)認證鏈和指紋生成及確認。下面針對圖7A和圖7B詳細解釋在遙測模塊30的操作中提供的認證和保密性。工作處理器102負責(zé)控制由遙測頭30執(zhí)行的任務(wù)。遙測頭30可以以很多模式進行操作,諸如基本模式、自動模式、聯(lián)網(wǎng)模式、維護模式等。在一個實施例中,這些操作模式的特征如下基本模式-在基本模式中,低層級的遙測命令被展示給裝置應(yīng)用程序126,這類似于現(xiàn)有編程單元的操作。因此,當(dāng)工作處理器102與裝置應(yīng)用軟件126之間的連接是高速、高可靠性鏈接時,諸如當(dāng)遙測模塊30被集成到編程單元中或本地連接到編程單元時,基本模式是最合適的。自動模式-自動模式包括基本模式的功能,且還允許裝置應(yīng)用程序126組裝"工作"并將它們提交給工作處理器102以便執(zhí)行。例如,工作可以包括一系列命令、讀請求、寫請求和實時數(shù)據(jù)配置命令。組成一項工作的任務(wù)可以被有條件地定義和執(zhí)行,且可以利用宏指令(macro)從而基于特定事件的發(fā)生來執(zhí)行任務(wù)。自動模式適用于裝置應(yīng)用程序126通過網(wǎng)絡(luò)連接連接到遙測模塊30的情形,該網(wǎng)絡(luò)連接與直接連接相比可能不那么高速或者可能有較低的可靠性。如果與裝置應(yīng)用程序126的通信被中斷,這一模式允許本地緊急激活工作處理器102以自動完成某些工作(諸如被認為是至關(guān)重要的工作)。網(wǎng)絡(luò)模式-網(wǎng)絡(luò)模式包括基本模式和自動模式的功能,且還允許工作處理器102與其它器械之間的通信。例如,工作處理器102可以與本地的自動化外部去纖顫器(AED)交互。通過在IMD10被重新編程時要求患者連接到去纖顫器,該交互可以用作適當(dāng)情況下的附加安全措施。維護模式-當(dāng)在實際患者會話中不采用遙測模塊30時,這一模式提供開發(fā)、測試和調(diào)試能力。在一些實施例中,工作處理器102可以被配置為經(jīng)由通信接受遠程編程,例如,該通信是通過網(wǎng)絡(luò)通信信道120從通信管理器100接收的。工作處理器102在其對任務(wù)的控制和其與遙測應(yīng)用程序104、遙測固件106和遙測數(shù)據(jù)鏈路層108的交互中提供該能力以執(zhí)行這一編程。工作處理器102也可以與配置管理器128和通信管理器100交互以執(zhí)行對遙測固件106和遙測數(shù)據(jù)鏈路層108的更新,從而支持新的遙測版本。遙測應(yīng)用程序104執(zhí)行高層級遙測功能,諸如裝置類型的自動識別(以識別IMDIO)、實時處理來自IMD10的數(shù)據(jù)(諸如電記錄圖(EGM)信號和標(biāo)記)以及IMD10的詢問和編程。遙測應(yīng)用程序104也可以執(zhí)行穿過(passthrough)功能,允許OSI層7的服務(wù)替代地提供到裝置應(yīng)用程序126中。這些任務(wù)以專門針對裝置應(yīng)用程序126的方式被定義和執(zhí)行。遙測固件106包括OSI層3、4、5和6等組件。OSI層6是表示層。這一層通過將數(shù)據(jù)從應(yīng)用格式變換成網(wǎng)絡(luò)格式來提供與數(shù)據(jù)表示(例如加密)不同無關(guān)的獨立性,反之亦然。數(shù)據(jù)被轉(zhuǎn)換成遙測應(yīng)用程序?qū)?04可接受的格式,并對數(shù)據(jù)進行格式化和加密從而該數(shù)據(jù)可以通過網(wǎng)絡(luò)發(fā)送,為兼容性問題提供自由度。這一層也可以被稱為語法層。OSI層5是會話層。這一層建立、管理和終止應(yīng)用程序之間的連接。具體地,該會話層建立、協(xié)調(diào)和終止裝置IMD10與裝置應(yīng)用程序126之間的通話、交換和對話。該會話層協(xié)調(diào)裝置之間的通信會話和連接。OSI層4是傳輸層。這一層提供IMD10與裝置應(yīng)用程序126之間的透明數(shù)據(jù)傳遞。該傳輸層負責(zé)端對端錯誤恢復(fù)和流控制,以確保完整的數(shù)據(jù)傳遞。這一層將來自裝置應(yīng)用程序126的大消息分解成一系列更小的數(shù)據(jù)包,并將從IMD10接收的數(shù)據(jù)包組裝成消息,再將消息傳送給裝置應(yīng)用程序126。OSI層3是網(wǎng)絡(luò)層。這一層提供切換和路由能力,生成邏輯路徑(也被稱為虛擬電路)以便從節(jié)點到節(jié)點傳送數(shù)據(jù)。路由和轉(zhuǎn)發(fā)是這一層的功能,同時還有尋址、網(wǎng)際互連、錯誤處理、阻塞控制和數(shù)據(jù)包排序等功能。遙測數(shù)據(jù)鏈路層108形成OSI層2。在一個實施例中,這一層在FPGA中實現(xiàn),且被劃分成介質(zhì)訪問控制(MAC)子層和邏輯鏈路控制(LLC),介質(zhì)訪問控制子層用于控制訪問傳輸硬件,邏輯鏈路控制用于控制幀同步和流控制以及處理物理層中的錯誤。遙測數(shù)據(jù)鏈路層108編碼數(shù)據(jù)包并將數(shù)據(jù)包解碼成比特,并且還管理傳輸協(xié)議。遙測物理層100形成OSI層1。這一層在電和機械層面上通過網(wǎng)絡(luò)傳送比特流(例如電沖擊、光信號或無線電信號)。這一層由圖4所示的模擬電子器件82和數(shù)字電子器件84(包括FPGA)實現(xiàn),提供用于發(fā)送和接收載體上的數(shù)據(jù)的硬件。在操作中,遙測模塊30代表IMD系統(tǒng)中的受信任一方,因為它受到醫(yī)療裝置生產(chǎn)商的控制。為了保持其受信任的狀態(tài),對其軟件的任何改變只有當(dāng)從受信任的源發(fā)出時才可實現(xiàn)。遙測模塊30將利用密碼和驗證技術(shù)確認提供軟件更新的任何請求。類似地,遙測模塊30與利用公共/個人密鑰和對稱密鑰以提供編程指令的計算裝置通信。利用存儲管理單元(MMU)、虛擬環(huán)境或類似已知技術(shù)將在計算裝置上運行的應(yīng)用軟件與計算裝置上的其他軟件隔離開。作為其操作的一部分,應(yīng)用軟件執(zhí)行對其數(shù)據(jù)和代碼空間的分析,以利用密碼技術(shù)生成指紋。這一指紋被加密并連同可能的命令或編程指令一起發(fā)送給遙測模塊30。遙測模塊30解密該指紋并將該指紋與每個可能的裝置應(yīng)用程序的有效指紋列表相比較。如果該指紋無效,則不執(zhí)行這些命令或指令。該指紋被周期性地重新計算以校驗應(yīng)用軟件的連續(xù)整體性。應(yīng)用軟件周期性地執(zhí)行性能測試以確定硬件是否有足夠的資源來適當(dāng)維持裝置編程會話。如果由于其他程序的活動、存在病毒或其他因素導(dǎo)致沒有足夠的資源可以使用,軟件應(yīng)用程序?qū)⒅袛嘌b置編程會話并通知用戶。上面已經(jīng)以稍微一般的方式描述了圖5中所示的功能組件,該方式適用于系統(tǒng)組件的很多不同配置。以下關(guān)于圖6A、6B、6C和6D的討論關(guān)注于根據(jù)本發(fā)明的各種實施例可以使用的系統(tǒng)配置的特定示例。這些附圖僅示出了處于遙測應(yīng)用層104(OSI層7)及更高層級的組件,因為所有配置中更低層/層級是相同的。圖6A是圖示說明在IMD系統(tǒng)的第一配置中的遙測模塊30中使用的軟件架構(gòu)的框圖。圖6A示出的配置類似于圖5示出的配置,區(qū)別之處在于圖5示出的網(wǎng)絡(luò)94被具體標(biāo)識為虛擬個人網(wǎng)絡(luò)(VPN)132,其可以是對傳輸進行某些程度的管理控制的任何網(wǎng)絡(luò)配置。在圖6A所示的示例中,VPN132被連接到服務(wù)器134,該服務(wù)器例如可以是由Medtronic公司制造的CareLink⑧網(wǎng)絡(luò)服務(wù)器。在這一實施例中,可以通過CareLink⑧網(wǎng)絡(luò)提供對植入裝置10的遠程編程。例如。帶有IMD10的患者可以在家中,且遙測模塊30連接到家中監(jiān)控器(VPN132的組成部分)(或形成為家中監(jiān)控器的整體部分)。在這一實施例中,家中監(jiān)控器可以被設(shè)計為由非專業(yè)人士(例如15患者)使用,因此與患者的交互被適當(dāng)?shù)叵拗?。監(jiān)控器可以起作用以監(jiān)控IMD10并將從IMD10收集的數(shù)據(jù)傳送到遠程位置處的CareLink⑧服務(wù)器134,諸如經(jīng)由電話線、互聯(lián)網(wǎng)連接或通過其他連接或鏈路?;谒占退鶄魉偷臄?shù)據(jù),可以在遠程位置處選擇適當(dāng)?shù)闹噶顏韺χ踩胙b置10進行編程(諸如通過醫(yī)療工作人員操作裝置應(yīng)用軟件,或通過裝置應(yīng)用軟件的自動選擇),并且所選擇的指令被傳送回監(jiān)控器和遙測模塊30的通信管理器100。在確認編程指令之后,接著相應(yīng)地可以對IMD10進行編程。圖6B是圖示說明在IMD系統(tǒng)的第二配置中的遙測模塊30中使用的軟件架構(gòu)的框圖。圖6B示出的配置類似于圖5示出的配置,區(qū)別之處在于圖5示出的網(wǎng)絡(luò)94被具體標(biāo)識為虛擬個人網(wǎng)絡(luò)(VPN)132,該虛擬個人網(wǎng)絡(luò)具有處于通信的服務(wù)器142,并具有通信地耦連到服務(wù)器142的便攜計算裝置144以接收裝置數(shù)據(jù)并提供編程指令。在這一實施例中,便攜計算裝置144經(jīng)由網(wǎng)站(或其他互聯(lián)網(wǎng)類型協(xié)議)與服務(wù)器142交互。在服務(wù)器142或便攜計算裝置144上存儲和執(zhí)行至少一部分裝置應(yīng)用程序(顯示為圖5中的126)。例如,在遙測頭附近(例如在房間里)或遠離遙測頭的醫(yī)療工作人員可以操作通用膝上型計算機或個人數(shù)字助理(PDA)執(zhí)行類似網(wǎng)頁瀏覽器的應(yīng)用程序,由此提供用于IMD的編程指令,并通過連接到VPN132的服務(wù)器142接收來自IMD的患者信息和裝置信息。由便攜計算裝置144經(jīng)由服務(wù)器142提供的編程指令在執(zhí)行之前被遙測模塊校驗,以確保只有有效的指令被執(zhí)行以對IMD10進行編程。圖6C是圖示說明在IMD系統(tǒng)的第三配置中的遙測模塊30中使用的軟件架構(gòu)的框圖。圖6C示出的配置類似于圖5示出的配置,區(qū)別之處在于圖5示出的網(wǎng)絡(luò)94被具體標(biāo)識為虛擬個人網(wǎng)絡(luò)(VPN)132,該虛擬個人網(wǎng)絡(luò)具有作為組成部分的應(yīng)用計算機152(或可替換地,應(yīng)用計算機152可能是唯一的組成部分,在這種情況下指定VPN132是不必要的)。在這一實施例中,應(yīng)用計算機152可以是類似于當(dāng)前使用的編程裝置的編程裝置,包括應(yīng)用軟件、用戶接口和與這些裝置相關(guān)聯(lián)的其他特征。作為替換,應(yīng)用計算機152可以是被編程以執(zhí)行與由當(dāng)前使用的編程裝置所執(zhí)行的軟件類似的軟件的個人計算機(PC)裝置,或者可以是另一種類型的裝置。遙測模塊30可以被實現(xiàn)為通過諸如US接口的接口連接到應(yīng)用計算機152的外圍裝置,或16者可以以某一方式與應(yīng)用計算機152集成在一起。應(yīng)用計算機152是"胖(thick)"客戶端,其具有傳送完整的編程指令序列的能力。因為應(yīng)用計算機152在這一實施例中是受信任的編程指令源,一些保密特征和認證特征是在應(yīng)用計算機152內(nèi)部實現(xiàn)的,而不是由遙測模塊30的組件實現(xiàn)。圖6D是圖示說明在IMD系統(tǒng)的第四配置中的遙測模塊30中使用的軟件架構(gòu)的框圖。圖6D示出的配置類似于圖5示出的配置,區(qū)別之處在于圖5示出的網(wǎng)絡(luò)94被具體標(biāo)識為虛擬個人網(wǎng)絡(luò)(VPN)132,該虛擬個人網(wǎng)絡(luò)與瘦(thin)客戶端組件156進行通信(或可替換地,痩客戶端組件156可能是唯一的組成部分,在這種情況下指定VPN132是不必要的)。在這一實施例中,瘦客戶端156提供用戶接口以便操作在遙測模塊上運行的裝置應(yīng)用程序126。這一配置允許裝置生產(chǎn)商通過將應(yīng)用程序存儲在遙測模塊30中來維持對應(yīng)用程序的控制,同時還允許通過瘦客戶端106來將新的、更現(xiàn)代的硬件用作應(yīng)用程序的用戶接口。當(dāng)然,組件的其它配置也是可能的,且上述示例僅意欲圖示說明一些可以實現(xiàn)的配置??赡苤辽俨糠值厥褂眠@些和其他配置,這是由于由遙測模塊30提供的安全和確認能力的限制,這在下面針對圖7A和7B進行詳細的描述。圖7A是圖示說明一種方法的示例的流程圖,希望傳送編程指令的計算裝置通過該方法實現(xiàn)與遙測模塊的保密且經(jīng)確認的連接。初始時,如步驟160所示,計算裝置認識到需要與遙測模塊連接。然后計算裝置確定遙測裝置在通信網(wǎng)絡(luò)上的相對位置,并請求連接,如步驟162所示。然后遙測模塊(TM)向計算裝置(CD)提供TM的公共密鑰和證書,如步驟164所示。在一個實施例中,當(dāng)TM被生產(chǎn)時,TM根證書(rootcertificate)以及公共/個人密鑰對被安裝。然后證書和密鑰對被存儲在保密的存儲器中(諸如圖5所示的保密處理器127),以受到保護而不被讀出或反向設(shè)計(reverseengineerings在另一個實施例中,由TM根據(jù)需要生成公共/個人密鑰對。在步驟166,CD接收TM的公共密鑰和證書,并確定該公共密鑰和證書是否有效。在一些實施例中,TM的公共密鑰和證書可以是假定有效的,諸如當(dāng)TM由醫(yī)療裝置生產(chǎn)商提供時。通過確認后,CD知道TM是有效的,但是TM不知道CD是否被驗證以提供指令。然后CD在步驟168處生成軟件指紋。該軟件指紋是基于與CD相關(guān)聯(lián)的軟件結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、密鑰數(shù)值等,且這些參數(shù)中任何一個的改變都將修改該軟件指紋。這允許檢測由于在CD上運行的惡意軟件(例如病毒、蠕蟲等)而導(dǎo)致的對軟件的任何改變。CD不知道有效的指紋是什么,因此有效的軟件指紋不能被反向設(shè)計(reverseengineered)。在一個實施例中,利用單向散列方法生成軟件指紋,其防止僅基于新的隨機序列密鑰生成新的指紋。然后在步驟170通過TM的公共密鑰對軟件指紋和CD的證書進行加密,且被加密的數(shù)據(jù)在步驟172中與TM的公共密鑰一起傳送給TM。只有TM能夠利用TM的個人密鑰解密這一消息以確認CD的證書和指紋,如步驟174所示。在這一步驟,CD的證書被用于確認它的指紋。通過TM的公共密鑰對CD的證書進行加密,因此TM知道CD的證書是否有效(也是因為CD的證書是由受到系統(tǒng)生產(chǎn)商控制的根授權(quán)(rootauthority)以數(shù)字形式標(biāo)記的)。如果CD的指紋和證書被TM確定為無效(在決定步驟175),則拒絕CD連接到TM的請求,如步驟176所示。如果TM確定CD的指紋和證書被CD確定為是有效的,則TM生成隨機對稱密鑰,通過CD的公共密鑰加密該隨機對稱密鑰,并將其發(fā)送給CD,如步驟178所示。然后在步驟180,CD利用CD的個人密鑰解密對稱密鑰,從而確立該對稱密鑰為用于加密和解密未來傳輸?shù)拿荑€,如步驟182所示。在CD與TM的通信會話期間,TM發(fā)送隨機序列密鑰給CD,如步驟184所示。CD確認該隨機序列密鑰并將其存儲在它的存儲器中,如步驟186所示。該隨機序列密鑰允許由CD生成新的不同的指紋,從而復(fù)制和重復(fù)使用之前的有效指紋是不可能的。圖7B是圖示說明一種方法的流程圖,在TM驗證了與CD的連接后,CD通過該方法執(zhí)行到TM的傳送。初始時,CD在步驟l卯處識別發(fā)送傳輸?shù)絋M的需求。然后由CD利用對稱密鑰生成新的指紋,該對稱密鑰之前已經(jīng)由TM發(fā)送給CD,同時還利用該對稱密鑰加密傳輸?shù)絋M的數(shù)據(jù),如步驟192所示。改變隨機序列密鑰防止重復(fù)使用舊的傳輸,并防止通過重復(fù)使用之前的指紋的軟件攻擊。然后由TM對CD所傳送的數(shù)據(jù)進行解密和確認,如步驟194所示。TM在決定步驟196確定該傳輸是否有效,而且如果該傳輸無效,則TM拒絕該傳輸并發(fā)送新的隨機序列密鑰給CD,如步驟198所示。如果該傳輸有效,則TM可以在步驟200執(zhí)行附加的任選保密測試,以測試適當(dāng)?shù)挠脩魬{證、處于適當(dāng)范圍內(nèi)的生命體征、某一輔助裝備的存在或其他參數(shù)。例如,某些編程指令可能僅在去纖顫器被識別為可用時才允許執(zhí)行,或者某些其他編程指令可能僅在患者的生命體征處于特定范圍內(nèi)時才允許執(zhí)行。然后TM發(fā)送對到CD的傳輸?shù)拇_認,同時發(fā)送另一個新的隨機序列密鑰用于未來的傳輸,如步驟202所示。與軟件指紋相關(guān)聯(lián)的保密性允許該系統(tǒng)檢測摻入次級品的或不適當(dāng)?shù)能浖?,諸如已經(jīng)由于病毒或蠕蟲而改變的軟件、過期的軟件、錯誤版本的軟件或與IMD的某些方面或系統(tǒng)的其他組件不兼容的軟件等。在一些實施例中,生成僅針對所選擇的傳輸?shù)能浖讣y,諸如對患者健康至關(guān)重要的傳輸,從而有效地利用處理帶寬。可以使用類似的過程來驗證IMD系統(tǒng)的用戶、IMD系統(tǒng)中采用的其他設(shè)備、被獲取以更新系統(tǒng)的新軟件等。本發(fā)明(其可以以各種不同的實施例和配置來實現(xiàn))提供一種遙測模塊,該遙測模塊可以連接到計算裝置以便執(zhí)行與對IMD編程和與IMD交互相關(guān)的功能,這些功能在現(xiàn)有系統(tǒng)中通常是由特別設(shè)計的編程單元執(zhí)行的。這些功能包括從計算裝置接收編程指令和在執(zhí)行所指示的編程之前確認這些指令的安全性(由于通用計算裝置的潛在有害環(huán)境),以及將由IMD傳輸?shù)臄?shù)據(jù)轉(zhuǎn)換成在計算機裝置上執(zhí)行的裝置應(yīng)用程序可用的格式。這一能力允許醫(yī)療設(shè)施中已經(jīng)在用的現(xiàn)有設(shè)備可以與適當(dāng)?shù)能浖凸碳黄鹩米骶幊虇卧?,這可以潛在地允許IMD在它們之前不適用的環(huán)境和市場中被使用。盡管已經(jīng)參考優(yōu)選實施例描述了本發(fā)明,但是本領(lǐng)域的技術(shù)人員將認識到在不偏離本發(fā)明的思想和范圍的情況下,可以對形式和細節(jié)進行修改。例如,本領(lǐng)域技術(shù)人員將認識到除了本文所描述的示例,在實踐本發(fā)明的原理時可以在不同實施例中采用其他類型的醫(yī)療裝置。權(quán)利要求1.一種遙測模塊,其包括遙測電子器件,其用于與可植入醫(yī)療裝置即IMD通信,傳送第一信號;接口,其與計算裝置通信,傳送第二信號;以及包括軟件的處理單元,其用于通過所述遙測電子器件和所述接口控制所述IDM和所述計算裝置之間的通信,用于確認由所述計算裝置傳送的、對所述IMD進行編程的指令的有效性,以及用于僅在確認所述指令有效之后使得能夠執(zhí)行所述指令來對所述IMD進行編程。2.根據(jù)權(quán)利要求1所述的遙測模塊,其中所述接口包括通用串行總線接口,即USB接口。3.根據(jù)權(quán)利要求1所述的遙測模塊,其中所述遙測模塊還包括輸入/輸出接口即I/O接口,用于顯示與所述IMD的狀態(tài)相關(guān)的信息和/或用于輸入編程指令。4.根據(jù)權(quán)利要求1所述的遙測模塊,其中所述遙測模塊還包括應(yīng)用軟件,用于執(zhí)行對所述IMD進行編程的所述指令。5.根據(jù)權(quán)利要求1所述的遙測模塊,其中用于確認對所述IMD進行編程的所述指令的有效性的所述軟件執(zhí)行加密方案以確認所述指令的有效性。6.根據(jù)權(quán)利要求5所述的遙測模塊,其中用于確認對所述IMD進行編程的所述指令的有效性的所述軟件包括用于確定所述計算裝置的軟件水印是否有效的軟件。7.根據(jù)權(quán)利要求6所述的遙測模塊,其中用于確定所述計算裝置的軟件水印是否有效的所述軟件可操作以便向所述計算裝置提供與所述遙測模塊相關(guān)聯(lián)的公開密鑰;接收通過所述公開密鑰加密的所述計算裝置的所述軟件水?。煌ㄟ^與所述遙測模塊相關(guān)聯(lián)的個人密鑰解密所述計算裝置的所述軟件水??;以及確定所述軟件水印是否有效。8.根據(jù)權(quán)利要求6所述的遙測模塊,其中所述遙測模塊與所述計算裝置之間的傳輸是通過隨機對稱密鑰加密和解密的,所述隨機對稱密鑰是在確定所述計算裝置的所述軟件水印有效之后生成的。9.根據(jù)權(quán)利要求5所述的遙測模塊,其中用于確認對所述IMD進行編程的所述指令的有效性的所述軟件可操作以確定生命體征是否在要執(zhí)行的所述指令的適當(dāng)范圍內(nèi)。10.根據(jù)權(quán)利要求5所述的遙測模塊,其中用于確認對所述IMD進行編程的所述指令的有效性的所述軟件可操作以確定是否存在某些輔助設(shè)備以提供執(zhí)行所述指令的安全性。11.一種可植入醫(yī)療裝置編程系統(tǒng),S卩IMD編程系統(tǒng),其包括計算裝置,其可操作以生成并傳送用于對IMD進行編程的編程指令;和遙測模塊,其包括遙測電子器件,其用于與所述可植入醫(yī)療裝置即IMD通信;接口,其用于與所述計算裝置通信;以及包括軟件的處理單元,其用于通過所述遙測電子器件和所述接口分別控制與所述IDM和與所述計算機裝置的通信,用于確認由所述計算裝置傳送的所述編程指令的有效性,以及用于僅在確認所述指令有效之后使得能夠執(zhí)行所述編程指令來對所述IMD進行編程。12.根據(jù)權(quán)利要求11所述的IMD編程系統(tǒng),其中所述遙測模塊的所述接口包括通用串行總線接口即USB接口。13.根據(jù)權(quán)利要求11所述的IMD編程系統(tǒng),其中所述遙測模塊還包括輸入/輸出接口即I/0接口,用于顯示與所述IMD的狀態(tài)相關(guān)的信息和/或用于輸入編程指令。14.根據(jù)權(quán)利要求11所述的IMD編程系統(tǒng),其中所述遙測模塊還包括應(yīng)用軟件,用于執(zhí)行對所述IMD進行編程的所述指令。15.根據(jù)權(quán)利要求11所述的IMD編程系統(tǒng),其中用于確認對所述IMD進行編程的所述指令的有效性的所述軟件執(zhí)行加密方案以確認所述指令的有效性。16.—種對帶有遙測模塊的可植入醫(yī)療裝置即IMD進行編程的方法,所述方法包括通過計算裝置生成編程指令;建立所述計算裝置與所述遙測模塊之間的通信會話;在所述遙測模塊處確定由所述計算裝置生成的所述編程指令是否對于編程所述IMD是有效的;以及在確認所述編程指令后,操作所述遙測模塊以根據(jù)所述編程指令對所述IMD進行編程。17.根據(jù)權(quán)利要求16所述的方法,其中建立所述計算裝置與所述遙測模塊之間的通信會話和在所述遙測模塊處確定由所述計算裝置生成的所述編程指令是否對于編程所述IMD是有效的這兩個步驟中的至少一個包括在所述計算裝置處生成軟件水印;將所述軟件水印從所述計算裝置發(fā)送到所述遙測模塊;以及在所述遙測模塊處確定所述軟件水印是否有效。18.根據(jù)權(quán)利要求17所述的方法,其中將所述軟件水印從所述計算裝置發(fā)送到所述遙測模塊和在所述遙測模塊處確定所述軟件水印是否有效這兩個步驟涉及加密方案。19.根據(jù)權(quán)利要求18所述的方法,其中在確定所述軟件水印有效后,生成對稱密鑰用于加密和解密所述遙測模塊與所述計算裝置之間的進一步傳輸。20.根據(jù)權(quán)利要求16所述的方法,其中在所述遙測模塊處確定由所述計算裝置生成的所述編程指令是否對于編程所述IMD是有效的這一步驟包括確定生命體征是否在要執(zhí)行的所述指令的適當(dāng)范圍內(nèi)。21.根據(jù)權(quán)利要求16所述的方法,其中在所述遙測模塊處確定由所述計算裝置生成的所述編程指令是否對于編程所述IMD是有效的這一步驟包括確定是否存在某些輔助設(shè)備以提供執(zhí)行所述指令的安全性。22.—種可植入醫(yī)療裝置編程系統(tǒng)即IMD編程系統(tǒng),其包括執(zhí)行應(yīng)用程序的計算裝置,其可操作以生成和傳送用于對IMD進行編程的編程指令,并顯示與從所述IMD取回的數(shù)據(jù)相關(guān)的信息;和遙測模塊,其包括遙測處理單元,其通過通用串行總線接口即USB接口連接到所述計算裝置以從所述計算裝置接收電力并通信耦連到所述計算裝置;和遙測頭,其連接到所述遙測處理單元以便接收經(jīng)變壓的電力,由此操作所述遙測頭與所述IMD無線通信以詢問所述IMD,從而數(shù)據(jù)被取回并可以傳遞到所述遙測處理單元并進一步傳到所述計算裝置,并由此傳送用于對所述IMD進行編程的信號。23.根據(jù)權(quán)利要求22所述的IMD編程系統(tǒng),其中由所述計算裝置執(zhí)行的所述應(yīng)用程序被存儲在物理上不通過工具無法存取的介質(zhì)中。24.根據(jù)權(quán)利要求22所述的IMD編程系統(tǒng),其中所述IMD是起搏器,且其中所述應(yīng)用程序包括應(yīng)急密鑰函數(shù),僅當(dāng)同時激活兩個按鈕時,所述應(yīng)急密鑰函數(shù)才激活應(yīng)急起搏。25.根據(jù)權(quán)利要求22所述的IMD編程系統(tǒng),其中從所述IMD取回的數(shù)據(jù)是通過支持中文語言的統(tǒng)一代碼資源動態(tài)鏈接庫處理的。全文摘要一種遙測模塊連接到計算裝置,以便執(zhí)行涉及編程和與可植入醫(yī)療裝置(IMD)交互的功能。該遙測模塊管理計算裝置與IMD之間的通信,并確保由計算裝置提供的、用于對IMD進行編程的指令在這些指令被執(zhí)行前是有效的和安全的。文檔編號A61N1/372GK101516443SQ200780035250公開日2009年8月26日申請日期2007年9月20日優(yōu)先權(quán)日2006年9月29日發(fā)明者C·M·彼得森,J·馬考特申請人:麥德托尼克公司