高 丹,郭雪清,黃正東,王光華,肖 飛
·醫(yī)院數(shù)字化·
會(huì)話發(fā)起協(xié)議在遠(yuǎn)程醫(yī)療中的研究與應(yīng)用
高 丹,郭雪清,黃正東,王光華,肖 飛
目的:研究會(huì)話發(fā)起協(xié)議(session initiation protocol,SIP)在遠(yuǎn)程醫(yī)療中的應(yīng)用。方法:以SIP為基礎(chǔ),設(shè)計(jì)遠(yuǎn)程醫(yī)療系統(tǒng),構(gòu)建遠(yuǎn)程醫(yī)療信息服務(wù)平臺。結(jié)果:遠(yuǎn)程醫(yī)療信息服務(wù)平臺既可滿足醫(yī)生對患者的遠(yuǎn)程語音視頻診治需求,又可滿足其隨時(shí)填寫或者調(diào)用患者電子病歷的需求。結(jié)論:基于SIP協(xié)議的遠(yuǎn)程醫(yī)療系統(tǒng)具有較好的應(yīng)用前景。
電子病歷;遠(yuǎn)程醫(yī)療;SIP;信息服務(wù)平臺
隨著計(jì)算機(jī)網(wǎng)絡(luò)和現(xiàn)代通信技術(shù)的發(fā)展,遠(yuǎn)程醫(yī)療逐步從概念走向應(yīng)用,從理論研究走向?qū)?shí)用技術(shù)的研究和開發(fā)。遠(yuǎn)程醫(yī)療是現(xiàn)代醫(yī)學(xué)與計(jì)算機(jī)技術(shù)、通信技術(shù)緊密結(jié)合的一種新型醫(yī)療模式[1],該系統(tǒng)的開發(fā)應(yīng)用將有利于緩解就醫(yī)難、醫(yī)療水平不均等諸多尖銳問題。但目前遠(yuǎn)程醫(yī)療仍屬于相對薄弱的研究領(lǐng)域,以會(huì)話發(fā)起協(xié)議(session initiation protocol,SIP)為基礎(chǔ)開展遠(yuǎn)程醫(yī)療系統(tǒng)的研究具有較大的探索價(jià)值。
SIP是互聯(lián)網(wǎng)工程任務(wù)組(internet engineering task force,IETF)制定的多媒體通信系統(tǒng)框架協(xié)議之一,是基于文本的應(yīng)用層控制協(xié)議,獨(dú)立于底層協(xié)議,采用自己的應(yīng)用層可靠性機(jī)制來保證消息的可靠傳輸,用于建立、修改和終止IP網(wǎng)上的雙方或多方多媒體會(huì)話[2]。它在協(xié)議棧中的位置如圖1所示[3]。
醫(yī)院信息系統(tǒng)(hospital information system,HIS)主要提供醫(yī)院電子化管理的功能,包含門診管理、住院管理、藥品信息管理、醫(yī)療設(shè)備管理和醫(yī)院財(cái)務(wù)管理等[4]。遠(yuǎn)程醫(yī)療系統(tǒng)不僅是當(dāng)前遠(yuǎn)程醫(yī)療的研究熱點(diǎn),更是網(wǎng)絡(luò)科技與醫(yī)療技術(shù)結(jié)合的產(chǎn)物,是計(jì)算機(jī)、網(wǎng)絡(luò)和多媒體技術(shù)在醫(yī)學(xué)上的具體應(yīng)用[5]。
圖1 SIP在協(xié)議棧中的位置
通信網(wǎng)絡(luò)系統(tǒng)是遠(yuǎn)程醫(yī)療系統(tǒng)的信息傳輸平臺,是保證系統(tǒng)正常運(yùn)行和通信質(zhì)量的關(guān)鍵[6]。基于寬帶互聯(lián)網(wǎng)技術(shù)即基于Internet的多媒體通信[7]技術(shù)來建立遠(yuǎn)程醫(yī)療系統(tǒng)成為了遠(yuǎn)程醫(yī)療技術(shù)的主要發(fā)展趨勢,本文以SIP為基礎(chǔ),設(shè)計(jì)遠(yuǎn)程醫(yī)療系統(tǒng),整體架構(gòu)如圖2所示?;颊呓K端通過Internet網(wǎng)連入到醫(yī)院局域網(wǎng),通過SIP服務(wù)器與醫(yī)生終端之間進(jìn)行語音視頻,達(dá)到遠(yuǎn)程醫(yī)療的目的。
遠(yuǎn)程醫(yī)療系統(tǒng)的軟件框架圖如圖3所示,分為SIP服務(wù)器、數(shù)據(jù)庫、醫(yī)療管理系統(tǒng)、終端4個(gè)部分。
醫(yī)療管理系統(tǒng)控制整個(gè)遠(yuǎn)程醫(yī)療系統(tǒng),它的工作包括SIP服務(wù)器的性能配置、終端號碼配置、醫(yī)生信息管理、電子病歷管理。SIP服務(wù)器根據(jù)配置信息進(jìn)行工作,并根據(jù)號碼信息對終端進(jìn)行合法性認(rèn)證。當(dāng)患者終端與醫(yī)生終端成功注冊,即可以建立媒體流進(jìn)行語音視頻傳輸,完成遠(yuǎn)程醫(yī)療。
圖2 遠(yuǎn)程醫(yī)療系統(tǒng)的整體架構(gòu)
圖3 遠(yuǎn)程醫(yī)療系統(tǒng)的軟件框架圖
3.1 醫(yī)療管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
醫(yī)療管理系統(tǒng)包括SIP服務(wù)器性能配置、終端號碼配置、醫(yī)生信息管理與電子病歷管理4個(gè)模塊。SIP服務(wù)器性能配置模塊主要是配置服務(wù)器的性能參數(shù),例如配置服務(wù)器的域名和端口,是否開啟鑒權(quán)功能等,以此來決定SIP服務(wù)器的功能。終端號碼配置模塊是為醫(yī)生和遠(yuǎn)程患者提供合法的號碼,以便醫(yī)生和患者終端接入到本系統(tǒng)中來。醫(yī)生信息管理模塊主要是維護(hù)醫(yī)生的基本信息。電子病歷管理模塊主要是維護(hù)患者的病歷信息。患者的電子病歷在整個(gè)遠(yuǎn)程醫(yī)療中起著至關(guān)重要的作用,不僅是患者病情的記載,也為后續(xù)專家了解病情、作出合理診斷提供有力的依據(jù)。
由于篇幅有限,本文主要介紹終端號碼配置模塊的設(shè)計(jì)與實(shí)現(xiàn)。終端號碼配置模塊的功能是讓系統(tǒng)管理人員為醫(yī)生和患者配置合法的號碼,實(shí)現(xiàn)平臺內(nèi)部號碼互通。平臺內(nèi)部號碼互通,是指所有支持SIP的通話終端注冊到遠(yuǎn)程醫(yī)療系統(tǒng)中,在同一個(gè)平臺下相互通話的應(yīng)用方式。
終端號碼配置工作是后續(xù)注冊工作的前提條件,號碼配置是否合法意味著注冊過程能否順利通過,號碼分析是否合法意味著注冊之后能否進(jìn)入呼叫等后續(xù)操作。在終端號碼配置模塊中,配置流程如圖4所示。
圖4 終端號碼配置的流程圖
3.2 SIP服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)
SIP服務(wù)器從邏輯上分為注冊服務(wù)器、代理服務(wù)器和重定向服務(wù)器[8]。注冊服務(wù)器接收終端的注冊請求,通過鑒權(quán)等操作完成終端的注冊過程,記錄終端信息,包括終端當(dāng)前的SIP地址(URI)和IP地址[9]。代理服務(wù)器與重定向服務(wù)器根據(jù)終端被叫方登記的地址進(jìn)行轉(zhuǎn)發(fā)呼叫請求或者向主叫方返回被呼方的當(dāng)前有效地址[10]。在物理實(shí)現(xiàn)中,將3個(gè)服務(wù)器集為一體,通過注冊處理模塊、代理轉(zhuǎn)發(fā)模塊、重定向模塊來實(shí)現(xiàn)3個(gè)服務(wù)器的功能,SIP服務(wù)器的框架圖如圖5所示。
圖5 SIP服務(wù)器的框架圖
整個(gè)SIP服務(wù)器按功能劃分成初始化模塊、語法分析模塊、鑒權(quán)處理模塊、注冊處理模塊、代理轉(zhuǎn)發(fā)模塊、重定向模塊、構(gòu)造響應(yīng)消息模塊、傳輸層模塊。服務(wù)器啟動(dòng)之后,初始化模塊首先從服務(wù)器參數(shù)信息表中提取服務(wù)器的運(yùn)行參數(shù),接著周期性地從號碼信息表中提取賬號信息,更新賬號鏈表,最后初始化協(xié)議棧,啟動(dòng)傳輸層線程等待消息的到來。當(dāng)傳輸層模塊收到請求消息時(shí),先對請求信令進(jìn)行語法分析,然后根據(jù)服務(wù)器配置信息來決定是否調(diào)用鑒權(quán)處理模塊。若調(diào)用鑒權(quán)處理模塊,則采用HTTP摘要認(rèn)證來對用戶的合法性進(jìn)行驗(yàn)證。通過鑒權(quán)驗(yàn)證之后或者不調(diào)用鑒權(quán)處理模塊,則根據(jù)語法分析得出的事務(wù)來調(diào)用不同的功能模塊對消息進(jìn)行處理。構(gòu)造響應(yīng)消息模塊會(huì)根據(jù)整個(gè)處理過程所設(shè)置的狀態(tài)碼來生成響應(yīng)消息,然后通過傳輸層發(fā)送到終端用戶。
3.2.1 初始化模塊
程序啟動(dòng)之后首先運(yùn)行初始化模塊。初始化模塊的工作內(nèi)容有4個(gè)方面:(1)從服務(wù)器配置參數(shù)信息表中提取服務(wù)器的運(yùn)行參數(shù)。(2)從終端信息表中提取賬號信息,維護(hù)賬號鏈表。(3)初始化協(xié)議棧,設(shè)置回調(diào)函數(shù)。(4)啟動(dòng)傳輸層線程,監(jiān)聽消息。
3.2.2 語法分析模塊
語法分析模塊旨在檢測SIP信令的有效性。檢測SIP消息的頭字段格式是否遵循通用格式。模塊設(shè)計(jì)思路是對SIP消息的各個(gè)頭字段分別進(jìn)行檢測。必要的頭字段Request-Line、From、Call_ID、Cseq和To頭字段不能為空。最大轉(zhuǎn)發(fā)次數(shù)Max-Forwards頭字段不能為0,Via頭字段中不能有環(huán)路。
3.2.3 鑒權(quán)處理模塊
鑒權(quán)處理模塊是對申請注冊和呼叫請求的用戶進(jìn)行HTTP摘要機(jī)制的鑒權(quán)、認(rèn)證。進(jìn)入鑒權(quán)處理模塊,首先會(huì)查詢服務(wù)器配置信息,如果沒有開啟鑒權(quán)功能,則直接進(jìn)入下一個(gè)環(huán)節(jié)。若開啟,則進(jìn)入鑒權(quán)認(rèn)證過程。設(shè)計(jì)的鑒權(quán)方案如圖6所示。
圖6 鑒權(quán)方案
本系統(tǒng)中,注冊服務(wù)器從數(shù)據(jù)庫終端信息CLIENT_INFO表中提取password字段,即HA1值,HA1=H(user:realm:password),H()是hash函數(shù),user是電話號碼,password是口令,realm是域名。HA2=H(method:digesturi),最后response=H(HA1:HA2:nonce)產(chǎn)生,將該值與終端發(fā)過來的信任證書中的response值進(jìn)行比較,如果相等,則鑒權(quán)成功。
3.2.4 注冊處理模塊
注冊處理模塊根據(jù)SIP用戶的注冊行為來處理注冊消息。注冊處理的詳細(xì)流程如圖7所示。
圖7 注冊處理的詳細(xì)流程
注冊處理模塊的功能包括單一地址注冊、注冊更新與注冊更改功能、注冊查詢功能、主動(dòng)與被動(dòng)注銷功能。主要功能是單一地址注冊,保存用戶的當(dāng)前地址,存入賬號鏈表,同時(shí)將用戶的當(dāng)前信息存入數(shù)據(jù)庫,以方便其他服務(wù)器尋址。
3.2.5 代理轉(zhuǎn)發(fā)模塊
代理服務(wù)器將根據(jù)被呼方的邏輯賬號在賬號鏈表中尋找物理地址,從而向目的地址轉(zhuǎn)發(fā)呼叫請求,使終端之間進(jìn)行會(huì)話描述協(xié)議(session description protocol,SDP)協(xié)商,建立媒體流,進(jìn)行語音視頻通話。
3.2.6 重定向模塊
重定向模塊是獲取被呼方的當(dāng)前有效物理地址,然后返回給主叫方。主叫方根據(jù)新的地址重新發(fā)起呼叫請求,代理服務(wù)器即可為之轉(zhuǎn)發(fā),完成呼叫過程。
3.2.7 構(gòu)造響應(yīng)消息模塊
該模塊主要是根據(jù)其他模塊處理后產(chǎn)生的狀態(tài)碼來構(gòu)造響應(yīng)消息。設(shè)計(jì)思路為首先根據(jù)狀態(tài)碼來構(gòu)造初始的響應(yīng)消息,包括基本的頭字段。首先,依據(jù)狀態(tài)碼生成狀態(tài)行Status_Line。然后,根據(jù)請求消息構(gòu)造To、From、Via、Call_ID和Cseq頭字段。最后,調(diào)用各功能模塊對構(gòu)造的響應(yīng)消息進(jìn)行再加工。
3.2.8 傳輸層模塊
該模塊主要功能是建立socket套接口,監(jiān)聽端口、綁定套接字、讀取消息、發(fā)送SIP消息,完成系統(tǒng)底層的傳輸功能。實(shí)現(xiàn)上主要使用socket套接字編程技術(shù)。SIP消息可以采用TCP或者UDP進(jìn)行傳輸,由于SIP消息有類似TCP的“三次握手”確認(rèn)機(jī)制,為了加快系統(tǒng)的處理速度,故采用UDP協(xié)議進(jìn)行消息的傳輸和接收。為了提高系統(tǒng)的吞吐量,并發(fā)處理多個(gè)SIP請求消息,傳輸層處理線程采用Select模型,使Windows Sockets同時(shí)對多個(gè)套接字進(jìn)行管理。
4.1 測試工具
(1)終端使用的SIP軟電話選用x-lite軟件,硬件選擇IP電話和IAD設(shè)備連接的普通電話。
(2)抓包軟件使用Empirix Inc公司開發(fā)的VoIP測試專業(yè)工具軟件Hammer Call Analyzer對信令流程進(jìn)行抓包分析。
(3)性能測試所用的工具為語言服務(wù)器性能測試工具SIPp。
4.2 功能測試
在功能測試中,設(shè)計(jì)了13個(gè)測試用例,分別為客戶端號碼配置測試、鑒權(quán)與不鑒權(quán)的注冊測試、注冊更新與注冊更改測試、注冊查詢測試、主動(dòng)注銷測試、不需要鑒權(quán)呼叫建立、需要鑒權(quán)呼叫建立、正常呼叫釋放、被叫拒絕應(yīng)答、主叫呼叫取消、被叫號碼不存在、被叫號碼超過有效期、被叫用戶忙。經(jīng)測試,信令流程全部正確,基本功能完善。
4.3 性能測試
在呼叫次數(shù)共2 000次、呼叫頻率為82次/s的情況下,測試結(jié)果如圖8所示。
圖8 性能測試結(jié)果
測試結(jié)果表明沒有延遲發(fā)送消息,沒有超時(shí)和無效消息,說明SIP服務(wù)器能夠正確轉(zhuǎn)發(fā)消息,進(jìn)行SDP協(xié)商,建立媒體流,從而可以進(jìn)行語音視頻通話。
本文以SIP為基礎(chǔ),設(shè)計(jì)了遠(yuǎn)程醫(yī)療管理系統(tǒng),很好地在醫(yī)生和患者之間建立了遠(yuǎn)程醫(yī)療平臺,在提高邊遠(yuǎn)地區(qū)醫(yī)療水平、對災(zāi)難中的受傷者實(shí)施緊急救助方面具有重要作用。由于本系統(tǒng)開發(fā)的SIP服務(wù)器屬于小型服務(wù)器,不能承受百萬級的呼叫,因此不能商用。本系統(tǒng)的開發(fā)只為探索該協(xié)議在此領(lǐng)域的作用,經(jīng)測試分析,對商用開發(fā)有一定的參考價(jià)值。
[1] 劉峰,曾凡,黃昊,等.醫(yī)院信息系統(tǒng)立體安全防護(hù)體系設(shè)計(jì)[J].醫(yī)療衛(wèi)生裝備,2013,34(11):43-45,48.
[2] 張智江,張?jiān)朴?,劉韻潔,?SIP及其應(yīng)用[M].北京:電子工業(yè)出版社,2005:23-28.
[3] 胡東升,吳天順,畢研峰,等.病理遠(yuǎn)程會(huì)診系統(tǒng)的結(jié)構(gòu)與應(yīng)用[J].醫(yī)療衛(wèi)生裝備,2013,34(1):40-41.
[4] Schulzrinne H,Rosenberg J.The session initiation protocol:internetcentric signaling[J].IEEE Communications Magazine,2000,38(10):134-141.
[5] 曾鷺鷺,陳一民.基于SIP的IP電話服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2007,3(3):278-280.
[6] 趙強(qiáng),張成文,左榮國,等.基于軟交換的NGN技術(shù)與應(yīng)用開發(fā)實(shí)例[M].北京:人民郵電出版社,2009:316-323.
[7] 黃永峰,李建慶.下一代網(wǎng)絡(luò)核心控制協(xié)議——SIP及其應(yīng)用[M].北京:人民郵電出版社,2009:25-27.
[8] 周海華.SIP原理與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2006:48-53.
[9] Hyun W,Shin G K.Performance enhancement of SIP proxy server by using hash for matching transaction[J].IEEE Communications Magazine,2007,2(13):245-248.
[10]楊放春,孫其博.軟交換與IMS技術(shù)[M].北京:北京郵電大學(xué)出版社,2008:24-25.
(收稿:2013-12-11 修回:2014-03-16)
Application of session initiation protocol in telemedicine
GAO Dan,GUO Xue-qing,HUANG Zheng-dong,WANG Guang-hua,XIAO Fei
(Department of Information,Wuhan General Hospital of Guangzhou Military Area Command,Wuhan 430070,China)
ObjectiveTo study the application of session initiation protocol(SIP)in telemedicine.MethodsSIP was used to develop telemedicine system and telemedicine information service platform.ResultsThe telemedicine information service platform could be used for remote audio and video consultation,as well as filling in or accessing electronic medical records.ConclusionSIP-based telemedicine system will be applied widely.[Chinese Medical Equipment Journal,2014,35(9):53-56]
electronic medical record;telemedicine,SIP;information service platform
R318;TP393.04
A
1003-8868(2014)09-0053-04
10.7687/J.ISSN1003-8868.2014.09.053
湖北省科研計(jì)劃項(xiàng)目(2012-DCB03002)
高 丹(1986—),女,助理工程師,主要從事信息管理與信息系統(tǒng)方面的研究工作,E-mail:gaodan226@sina.com。
430070武漢,廣州軍區(qū)武漢總醫(yī)院信息科(高 丹,郭雪清,黃正東,王光華,肖 飛)