本文設計一種針對平衡功能評估訓練的遠程康復系統, 系統采用基于C/S的網絡架構, 通過Socket網絡通訊技術實現遠程通信; 實現了醫生和患者之間坐下站起訓練數據和評估報告的遠程傳輸, 醫生和患者之間的在線交流, 以及醫生對患者信息的管理。該系統實現了坐下站起平衡功能障礙患者的遠程評估和康復治療, 為患者帶來了極大的方便。
引用本文: 徐秀林, 張嬌嬌, 安美君, 王建輝. 基于C/S模式的平衡功能遠程康復系統的設計. 生物醫學工程學雜志, 2015, 32(2): 363-367, 372. doi: 10.7507/1001-5515.20150066 復制
版權信息: ?四川大學華西醫院華西期刊社《生物醫學工程學雜志》版權所有,未經授權不得轉載、改編
引言
遠程醫療(telemedicine)是網絡科技與醫療技術結合的產物,通常包括遠程診斷、專家會診、信息服務、在線檢查和遠程交流等幾個主要部分,以計算機和網絡通信為基礎,實現對醫學資料、視頻、音頻等信息的傳輸、存儲、查詢、比較、顯示及共享,可以使身處偏僻地區沒有良好醫療條件的患者獲得良好的診斷和治療,不僅方便了患者的就醫,也充分利用了中心醫院豐富的醫療資源[1]。
目前,世界上許多國家都十分重視對遠程醫療的研究與開發。特別是在美國、歐洲、日本等發達國家,遠程醫療已經獲得了較大范圍的應用[2]。在我國,隨著信息化基礎建設的逐步完善,遠程醫療系統也得到了迅速的發展。復旦大學上海醫學院、上海交通大學、東南大學等高校和研究機構都在開發適合我國國情的遠程醫療系統,如家庭監護、心電超聲圖像的遠距離傳輸等[3]。由于我國在通信設施、醫療設備等各方面與發達國家有很大的差距,因此,與國外對遠程醫療的研究相比,我國的研究工作還處于初級階段,研究面也較為狹窄,特別是遠程醫療在康復方面的應用目前還很少。
在我國,隨著人口老齡化問題的日益突出,以及肢體傷殘人員對康復治療要求的提高,需要借助康復醫學工程手段實現康復的人較多,而且有不斷增加的趨勢。但是我國的康復醫療事業起步較晚,絕大多數城市的康復醫療體系尚不健全,三級醫院康復科、康復中心、康復治療師的數量遠遠不能滿足患者和社會的需求,以致大部分遺留有殘疾的患者不得不回到家中等待,往往錯過了最有利的康復時機[4-5]。
腦卒中是中老年人的常見病和多發病,在我國年發病超過150萬人,幸存患者中致殘率為50%[6],平衡功能障礙就是腦卒中患者常見的功能問題之一[7]。平衡功能障礙影響患者運動功能的穩定性及日常諸多活動,對腦卒中偏癱患者進行平衡功能的評定分析,對于確定患者運動功能障礙的嚴重程度、判斷預后和制定康復方案都具有十分重要的意義。坐位站起能力是一個評判患者平衡功能的重要指標,因為從坐位到站起的過程中,身體快速地從一個穩定的坐位姿勢變為一個擁有更小支撐點及更高重心的站立位置,需要患者控制身體的平衡。坐下站起平衡功能訓練儀主要用于評估、訓練患者坐位-站起過程中各個階段的肢體負重能力、穩定性、重心偏移量等,以達到提高患者的坐位-站起能力及其平衡性的目的。腦卒中患者康復治療的周期和過程較長,如果建立起患者急性期的在院康復治療和恢復期的家庭遠程康復治療的模式,不但可以緩解我國康復治療師不足的現狀,還可以方便患者就醫,減輕患者經濟負擔。
為此,我們開發了一種應用互聯網技術建立的坐下站起平衡功能遠程康復系統,以期實現對康復患者的遠程監控和指導。系統由坐下站起評定訓練設備通過座板和腳板采集患者壓力數據,由藍牙將壓力數據傳輸至客戶端PC機,通過Internet發送到遠程醫療中心,最終由中心醫院的康復醫生對患者的康復情況進行評估指導。該系統旨在實現患者在家里或社區接受醫院康復治療師的診療,使患者和家屬免于長期住院或來回奔波之苦,減少患者家庭負擔和社會醫療成本,提供一種經濟、有效的康復服務模式。
1 系統總體設計
基于C/S模式的坐下站起平衡功能遠程康復系統主要由兩部分組成:用戶工作站和醫生工作站,其中用戶工作站包括坐下站起平衡功能評定訓練設備和用戶端軟件系統,醫生工作站為醫生端軟件系統,系統結構如圖 1所示。康復患者在家庭或者社區使用坐下站起平衡功能評定訓練設備進行康復訓練,可通過用戶工作站將訓練數據發送給醫院的康復醫生,康復醫生通過醫生工作站接收到患者的訓練數據,對患者康復情況進行評估,將評估結果及新的訓練方案發送給患者。坐下站起平衡功能遠程康復系統的系統架構圖如圖 2所示。
 圖1
				平衡功能遠程康復系統結構圖
			
												
				Figure1.
				Structure of balance function telerehabilitation system
						
				圖1
				平衡功能遠程康復系統結構圖
			
												
				Figure1.
				Structure of balance function telerehabilitation system
			
								 圖2
				平衡功能遠程康復系統架構圖
			
												
				Figure2.
				Architecture of balance function telerehabilitation system
						
				圖2
				平衡功能遠程康復系統架構圖
			
												
				Figure2.
				Architecture of balance function telerehabilitation system
			
								用戶端的坐下站起平衡功能訓練設備采用上下位機結構,下位機通過壓力傳感器采集坐下-站立過程中的足底和臀部的壓力參數,通過藍牙無線傳輸將數據傳送至上位機。上位機是基于Visual Studio 2010開發的訓練軟件,包括坐位訓練、站立訓練、坐下站起訓練及游戲訓練。上位機評估訓練為臨床診斷及治療提供了更加科學合理的依據[8]。坐下站起平衡功能訓練設備如圖 3所示。
 圖3
				坐下站起平衡功能訓練儀
			
												
				Figure3.
				Balance function training equipment of sit-down and stand-up
						
				圖3
				坐下站起平衡功能訓練儀
			
												
				Figure3.
				Balance function training equipment of sit-down and stand-up
			
								2 軟件的設計與實現
本文的主要工作是實現用戶工作站和醫生工作站之間訓練數據和評估結果的遠程傳輸,實現用戶工作站和醫生工作站的在線交流,以及醫生對患者信息的管理。其中醫生工作站為服務器端,用戶工作站為客戶端。用戶工作站發送康復患者的訓練數據到醫生電腦,并接收醫生的康復指導;醫生工作站接收康復患者的訓練數據,能夠播放患者訓練波形,生成報告,并在報告中添加醫生診斷,為患者制定新的訓練計劃,能夠將報告發送給患者;醫生和患者還可以通過在線交流模塊進行面對面的交流;此外,系統還實現了醫生工作站對患者信息的管理。
2.1 面向TCP協議的Socket
系統的開發環境為Visual Studio2010,開發語言為C++。系統設計采用Socket套接字通信技術。套接字可以分為兩類:流式套接字(SOCK_STREAM)和數據報套接字(SOCK_DGRAM),流式套接字是基于TCP協議實現的,它提供面向連接、可靠的數據傳輸服務,數據無差錯、無重復發送。數據報套接字是基于UDP協議實現的,它提供面向無連接服務,數據包以獨立包的形式發送,不提供無錯保證,數據可能丟失或重復,并且接收順序混亂[9]。由于本系統是醫療數據的傳輸,對數據可靠性、安全性要求較高,因此采用流式套接字(即TCP協議)作為網絡編程接口。
本系統Socket通訊套接字采用MFC封裝類CAsyncSocket實現網絡通訊,CAsyncSocket類是對WinSock API的低級封裝, 它封裝了Windows Socket一些基本而繁瑣的操作,以類的形式發揮了繼承機制的重要作用,但它的封裝并沒有讓用戶損失對Socket的控制權,CAsyncSocket類可以使用面向對象的方式對Socket編程,它的函數都是非阻塞的, 函數調用后立即返回, 當操作完成后無論成功與否都將有一個相應的網絡消息發出[10]。與CSocket類提供的阻塞式服務相比增加了程序的友好性和可用性。
2.2 文件傳輸模塊的設計與實現
文件傳輸模塊主要是傳輸患者訓練數據和醫生的評估報告,由于數據量較大,采用多線程技術進行傳輸,提高了系統的工作效率和系統對用戶的響應速度。文件傳輸模塊界面如圖 4所示。
 圖4
				文件傳輸界面
			
												
				Figure4.
				File transfer interface
						
				圖4
				文件傳輸界面
			
												
				Figure4.
				File transfer interface
			
								2.2.1 通訊的實現
為了提高程序的可移植性,服務器端采用CAsyncSocket的派生類CFileServerSocket,客戶端采用CAsyncSocket的派生類CFileClientSocket,并分別為派生類添加相應的重載函數OnConnect(), OnAccept(), OnReceive(), OnClose();然后生成CFileServerSocket、CFileClientSocket類的實例:m_pListenSocket, m_pServerSockets, m_pClientSockets,并通過套接字m_pListenSocket、m_pServerSockets、m_pClientSockets建立服務器和客戶機之間的連接;完成連接后進行相互之間的網絡通信;最后斷開連接、關閉套接字,結束網絡通訊。
2.2.2 傳輸格式
為了保證文件可靠地進行傳輸,本系統中通過在發送文件和接收文件時校驗文件長度,來確保傳輸過程中數據不丟失。具體來說,發送端在打開文件時,通過GetLength()函數獲取文件的大小,并通過send()函數將數據長度發送到接收端。接收端接收到文件長度,接收過程中比較文件總長度和已接收文件長度,直到接收文件長度與發送文件長度相等時,傳輸結束。
2.2.3 多線程技術
多線程技術很大程度上能夠提高程序對數據的發送能力[11],本系統服務器端和客戶端分別采用5個發送線程和5個接收線程,進行文件傳輸,并啟動1個發送監視線程和1個接收監視線程監視文件傳輸的進度,在接收方完成接收時合并每個線程接收的數據文件。
2.3 在線交流模塊的設計與實現
在線交流模塊用于患者和醫生的實時交流,通訊套接字采用MFC封裝類CAsyncSocket,實現了醫生工作站和用戶工作站字符串的傳輸,并將發送和接收的字符串分別顯示在列表框中。在線交流模塊界面如圖 5所示。
 圖5
				在線交流界面
			
												
				Figure5.
				Online communication interface
						
				圖5
				在線交流界面
			
												
				Figure5.
				Online communication interface
			
								2.3.1 通訊的建立
在服務器端和客戶端分別添加CAsyncSocket的派生類CMySocket,為派生類添加相應的重載函數OnConnect(), OnAccept(), OnReceive(), OnClose();然后生成CMySocket類的實例:m_pListenSocket, m_pServerSockets, m_pClientSockets,并通過套接字m_pListenSocket、m_pServerSockets、m_pClientSockets建立服務器和客戶端之間的連接;完成連接后m_pServerSockets、m_pClientSockets進行相互之間的網絡通信,發送文字信息。
2.3.2 消息的傳遞
使用編輯框IDC_EDIT_MSG獲取要發送的信息,存儲在變量m_strMsg中,通過套接字m_pServerSockets、m_pClientSockets完成信息的發送和接收,并分別顯示在醫生工作站和用戶工作站的發送消息列表框和接收消息列表框。
2.4 患者信息管理模塊的設計與實現
患者信息管理模塊中,醫生可以添加、修改、刪除、查詢患者信息,通過患者信息列表查詢患者訓練數據。該模塊采用ADO(ActiveX Data Object)方式操作的Access數據庫。ADO是Microsoft數據庫應用程序開發的接口,簡單易用,靈活性很高。Access數據庫是微軟公司Office系統中的一套軟件,Access數據庫具有界面友好、易操作等優點[12]。患者信息管理模塊如圖 6所示。
 圖6
				患者信息管理模塊界面
			
												
				Figure6.
				Patient information management interface
						
				圖6
				患者信息管理模塊界面
			
												
				Figure6.
				Patient information management interface
			
								2.4.1 Access數據庫的創建
創建用于患者信息管理的數據庫PatientInfo.mdb,并在數據庫中添加患者信息表PatientInfotab,根據需求添加字段名稱和數據類型,完成表格設計。
2.4.2 數據庫的操作
創建CPatientRecordSet類,使用ADO方式完成對數據庫的訪問,包括:創建數據庫鏈接,打開數據庫,創建數據庫命令,執行數據庫命令,關閉數據庫。該模塊使用_ConnectionPt型指針m_pConnection來創建數據庫連接,使用_RecordsetPtr型指針m_pRecordset完成對數據庫的操作。并通過CPatientInforDlg類的成員函數OnBtnNew()、OnBtnModify()、OnBtnDelete()、OnBtnLookup(),實現對患者信息的新建、修改、刪除和查詢。
3 系統調試
程序設計完成后,運行服務器端程序,使其處于監聽狀態。打開用戶端程序和硬件設備,患者通過坐下站起評估訓練設備進行訓練,訓練結束后通過用戶端軟件與醫生工作站建立連接,并將訓練數據發送給醫生。醫生通過回放訓練數據,查看患者的康復情況,并自動生成報告,在報告中填寫醫生診斷意見以及下一步訓練方案,并發送給患者,從而形成對患者的遠程指導。系統調試流程如圖 7所示,系統調試結果如圖 8所示,用戶工作站界面顯示的是患者訓練數據,醫生工作站界面顯示的是醫生接收的數據。
 圖7
				系統調試流程圖
			
												
				Figure7.
				System commissioning flowchart
						
				圖7
				系統調試流程圖
			
												
				Figure7.
				System commissioning flowchart
			
								 圖8
				平衡功能遠程康復系統主界面
			
												
				Figure8.
				Main interface of balance function telerehabilitation system
						
				圖8
				平衡功能遠程康復系統主界面
			
												
				Figure8.
				Main interface of balance function telerehabilitation system
			
								本系統在調試過程進行了系統傳輸可靠性的測試,實驗選取10名受試者(身體健康,年齡為20~25歲),在專業人員的指導下,使用用戶工作站進行30 s的坐位平衡評估,評估結束后通過文件傳輸,將訓練數據發送到醫生工作站,醫生工作站播放訓練數據,并進行參數計算,記錄左臀平均壓力、右臀平均壓力和重心軌跡總長度的數值。一周之后,10名受試者在同一名專業人員的指導下再次進行30 s的坐位平衡評估,評估后同樣將數據發送到醫生工作站,醫生工作站播放訓練數據,并進行參數計算,同樣記錄左臀平均壓力、右臀平均壓力和重心軌跡總長度的數值。
測試結束后,將實驗數據導入SPSS數據統計分析軟件,得出這幾個參數的組內相關系數(ICC值)分別為:左臀平均壓力的組內相關系數為0.964,右臀平均壓力的組內相關系數為0.891,重心軌跡總長度的組內相關系數為0.793。組內相關系數越接近1,說明該系統的可靠性越高,一般認為組內相關系數低于0.4表示信度較差,大于0.75表示信度良好[13]。以上數據組內相關系數均大于0.75,說明該系統具有很好的可靠性。
4 結論與展望
本文通過Socket遠程通信技術,實現了醫生工作站和用戶工作站的文件傳輸以及在線交流等功能,通過遠程康復的模式極大地方便了患者的康復治療,節約了有限的醫療資源。坐下站起平衡功能遠程康復系統能夠有效地將患者平衡功能的康復情況及時準確地反饋給醫生,醫生遠程指導患者,為患者康復帶來了極大的便利。
隨著醫療技術、計算機技術和通訊技術的發展,遠程康復還有很大的發展空間,本系統還應增加患者其他的重要生理參數的監控,實現醫生對患者訓練設備的遠程操作,在系統結構上也應將服務器作為獨立的部分,可以實現多對多的交流,通過進一步的研究與完善,更加符合康復治療的需求。
引言
遠程醫療(telemedicine)是網絡科技與醫療技術結合的產物,通常包括遠程診斷、專家會診、信息服務、在線檢查和遠程交流等幾個主要部分,以計算機和網絡通信為基礎,實現對醫學資料、視頻、音頻等信息的傳輸、存儲、查詢、比較、顯示及共享,可以使身處偏僻地區沒有良好醫療條件的患者獲得良好的診斷和治療,不僅方便了患者的就醫,也充分利用了中心醫院豐富的醫療資源[1]。
目前,世界上許多國家都十分重視對遠程醫療的研究與開發。特別是在美國、歐洲、日本等發達國家,遠程醫療已經獲得了較大范圍的應用[2]。在我國,隨著信息化基礎建設的逐步完善,遠程醫療系統也得到了迅速的發展。復旦大學上海醫學院、上海交通大學、東南大學等高校和研究機構都在開發適合我國國情的遠程醫療系統,如家庭監護、心電超聲圖像的遠距離傳輸等[3]。由于我國在通信設施、醫療設備等各方面與發達國家有很大的差距,因此,與國外對遠程醫療的研究相比,我國的研究工作還處于初級階段,研究面也較為狹窄,特別是遠程醫療在康復方面的應用目前還很少。
在我國,隨著人口老齡化問題的日益突出,以及肢體傷殘人員對康復治療要求的提高,需要借助康復醫學工程手段實現康復的人較多,而且有不斷增加的趨勢。但是我國的康復醫療事業起步較晚,絕大多數城市的康復醫療體系尚不健全,三級醫院康復科、康復中心、康復治療師的數量遠遠不能滿足患者和社會的需求,以致大部分遺留有殘疾的患者不得不回到家中等待,往往錯過了最有利的康復時機[4-5]。
腦卒中是中老年人的常見病和多發病,在我國年發病超過150萬人,幸存患者中致殘率為50%[6],平衡功能障礙就是腦卒中患者常見的功能問題之一[7]。平衡功能障礙影響患者運動功能的穩定性及日常諸多活動,對腦卒中偏癱患者進行平衡功能的評定分析,對于確定患者運動功能障礙的嚴重程度、判斷預后和制定康復方案都具有十分重要的意義。坐位站起能力是一個評判患者平衡功能的重要指標,因為從坐位到站起的過程中,身體快速地從一個穩定的坐位姿勢變為一個擁有更小支撐點及更高重心的站立位置,需要患者控制身體的平衡。坐下站起平衡功能訓練儀主要用于評估、訓練患者坐位-站起過程中各個階段的肢體負重能力、穩定性、重心偏移量等,以達到提高患者的坐位-站起能力及其平衡性的目的。腦卒中患者康復治療的周期和過程較長,如果建立起患者急性期的在院康復治療和恢復期的家庭遠程康復治療的模式,不但可以緩解我國康復治療師不足的現狀,還可以方便患者就醫,減輕患者經濟負擔。
為此,我們開發了一種應用互聯網技術建立的坐下站起平衡功能遠程康復系統,以期實現對康復患者的遠程監控和指導。系統由坐下站起評定訓練設備通過座板和腳板采集患者壓力數據,由藍牙將壓力數據傳輸至客戶端PC機,通過Internet發送到遠程醫療中心,最終由中心醫院的康復醫生對患者的康復情況進行評估指導。該系統旨在實現患者在家里或社區接受醫院康復治療師的診療,使患者和家屬免于長期住院或來回奔波之苦,減少患者家庭負擔和社會醫療成本,提供一種經濟、有效的康復服務模式。
1 系統總體設計
基于C/S模式的坐下站起平衡功能遠程康復系統主要由兩部分組成:用戶工作站和醫生工作站,其中用戶工作站包括坐下站起平衡功能評定訓練設備和用戶端軟件系統,醫生工作站為醫生端軟件系統,系統結構如圖 1所示。康復患者在家庭或者社區使用坐下站起平衡功能評定訓練設備進行康復訓練,可通過用戶工作站將訓練數據發送給醫院的康復醫生,康復醫生通過醫生工作站接收到患者的訓練數據,對患者康復情況進行評估,將評估結果及新的訓練方案發送給患者。坐下站起平衡功能遠程康復系統的系統架構圖如圖 2所示。
 圖1
				平衡功能遠程康復系統結構圖
			
												
				Figure1.
				Structure of balance function telerehabilitation system
						
				圖1
				平衡功能遠程康復系統結構圖
			
												
				Figure1.
				Structure of balance function telerehabilitation system
			
								 圖2
				平衡功能遠程康復系統架構圖
			
												
				Figure2.
				Architecture of balance function telerehabilitation system
						
				圖2
				平衡功能遠程康復系統架構圖
			
												
				Figure2.
				Architecture of balance function telerehabilitation system
			
								用戶端的坐下站起平衡功能訓練設備采用上下位機結構,下位機通過壓力傳感器采集坐下-站立過程中的足底和臀部的壓力參數,通過藍牙無線傳輸將數據傳送至上位機。上位機是基于Visual Studio 2010開發的訓練軟件,包括坐位訓練、站立訓練、坐下站起訓練及游戲訓練。上位機評估訓練為臨床診斷及治療提供了更加科學合理的依據[8]。坐下站起平衡功能訓練設備如圖 3所示。
 圖3
				坐下站起平衡功能訓練儀
			
												
				Figure3.
				Balance function training equipment of sit-down and stand-up
						
				圖3
				坐下站起平衡功能訓練儀
			
												
				Figure3.
				Balance function training equipment of sit-down and stand-up
			
								2 軟件的設計與實現
本文的主要工作是實現用戶工作站和醫生工作站之間訓練數據和評估結果的遠程傳輸,實現用戶工作站和醫生工作站的在線交流,以及醫生對患者信息的管理。其中醫生工作站為服務器端,用戶工作站為客戶端。用戶工作站發送康復患者的訓練數據到醫生電腦,并接收醫生的康復指導;醫生工作站接收康復患者的訓練數據,能夠播放患者訓練波形,生成報告,并在報告中添加醫生診斷,為患者制定新的訓練計劃,能夠將報告發送給患者;醫生和患者還可以通過在線交流模塊進行面對面的交流;此外,系統還實現了醫生工作站對患者信息的管理。
2.1 面向TCP協議的Socket
系統的開發環境為Visual Studio2010,開發語言為C++。系統設計采用Socket套接字通信技術。套接字可以分為兩類:流式套接字(SOCK_STREAM)和數據報套接字(SOCK_DGRAM),流式套接字是基于TCP協議實現的,它提供面向連接、可靠的數據傳輸服務,數據無差錯、無重復發送。數據報套接字是基于UDP協議實現的,它提供面向無連接服務,數據包以獨立包的形式發送,不提供無錯保證,數據可能丟失或重復,并且接收順序混亂[9]。由于本系統是醫療數據的傳輸,對數據可靠性、安全性要求較高,因此采用流式套接字(即TCP協議)作為網絡編程接口。
本系統Socket通訊套接字采用MFC封裝類CAsyncSocket實現網絡通訊,CAsyncSocket類是對WinSock API的低級封裝, 它封裝了Windows Socket一些基本而繁瑣的操作,以類的形式發揮了繼承機制的重要作用,但它的封裝并沒有讓用戶損失對Socket的控制權,CAsyncSocket類可以使用面向對象的方式對Socket編程,它的函數都是非阻塞的, 函數調用后立即返回, 當操作完成后無論成功與否都將有一個相應的網絡消息發出[10]。與CSocket類提供的阻塞式服務相比增加了程序的友好性和可用性。
2.2 文件傳輸模塊的設計與實現
文件傳輸模塊主要是傳輸患者訓練數據和醫生的評估報告,由于數據量較大,采用多線程技術進行傳輸,提高了系統的工作效率和系統對用戶的響應速度。文件傳輸模塊界面如圖 4所示。
 圖4
				文件傳輸界面
			
												
				Figure4.
				File transfer interface
						
				圖4
				文件傳輸界面
			
												
				Figure4.
				File transfer interface
			
								2.2.1 通訊的實現
為了提高程序的可移植性,服務器端采用CAsyncSocket的派生類CFileServerSocket,客戶端采用CAsyncSocket的派生類CFileClientSocket,并分別為派生類添加相應的重載函數OnConnect(), OnAccept(), OnReceive(), OnClose();然后生成CFileServerSocket、CFileClientSocket類的實例:m_pListenSocket, m_pServerSockets, m_pClientSockets,并通過套接字m_pListenSocket、m_pServerSockets、m_pClientSockets建立服務器和客戶機之間的連接;完成連接后進行相互之間的網絡通信;最后斷開連接、關閉套接字,結束網絡通訊。
2.2.2 傳輸格式
為了保證文件可靠地進行傳輸,本系統中通過在發送文件和接收文件時校驗文件長度,來確保傳輸過程中數據不丟失。具體來說,發送端在打開文件時,通過GetLength()函數獲取文件的大小,并通過send()函數將數據長度發送到接收端。接收端接收到文件長度,接收過程中比較文件總長度和已接收文件長度,直到接收文件長度與發送文件長度相等時,傳輸結束。
2.2.3 多線程技術
多線程技術很大程度上能夠提高程序對數據的發送能力[11],本系統服務器端和客戶端分別采用5個發送線程和5個接收線程,進行文件傳輸,并啟動1個發送監視線程和1個接收監視線程監視文件傳輸的進度,在接收方完成接收時合并每個線程接收的數據文件。
2.3 在線交流模塊的設計與實現
在線交流模塊用于患者和醫生的實時交流,通訊套接字采用MFC封裝類CAsyncSocket,實現了醫生工作站和用戶工作站字符串的傳輸,并將發送和接收的字符串分別顯示在列表框中。在線交流模塊界面如圖 5所示。
 圖5
				在線交流界面
			
												
				Figure5.
				Online communication interface
						
				圖5
				在線交流界面
			
												
				Figure5.
				Online communication interface
			
								2.3.1 通訊的建立
在服務器端和客戶端分別添加CAsyncSocket的派生類CMySocket,為派生類添加相應的重載函數OnConnect(), OnAccept(), OnReceive(), OnClose();然后生成CMySocket類的實例:m_pListenSocket, m_pServerSockets, m_pClientSockets,并通過套接字m_pListenSocket、m_pServerSockets、m_pClientSockets建立服務器和客戶端之間的連接;完成連接后m_pServerSockets、m_pClientSockets進行相互之間的網絡通信,發送文字信息。
2.3.2 消息的傳遞
使用編輯框IDC_EDIT_MSG獲取要發送的信息,存儲在變量m_strMsg中,通過套接字m_pServerSockets、m_pClientSockets完成信息的發送和接收,并分別顯示在醫生工作站和用戶工作站的發送消息列表框和接收消息列表框。
2.4 患者信息管理模塊的設計與實現
患者信息管理模塊中,醫生可以添加、修改、刪除、查詢患者信息,通過患者信息列表查詢患者訓練數據。該模塊采用ADO(ActiveX Data Object)方式操作的Access數據庫。ADO是Microsoft數據庫應用程序開發的接口,簡單易用,靈活性很高。Access數據庫是微軟公司Office系統中的一套軟件,Access數據庫具有界面友好、易操作等優點[12]。患者信息管理模塊如圖 6所示。
 圖6
				患者信息管理模塊界面
			
												
				Figure6.
				Patient information management interface
						
				圖6
				患者信息管理模塊界面
			
												
				Figure6.
				Patient information management interface
			
								2.4.1 Access數據庫的創建
創建用于患者信息管理的數據庫PatientInfo.mdb,并在數據庫中添加患者信息表PatientInfotab,根據需求添加字段名稱和數據類型,完成表格設計。
2.4.2 數據庫的操作
創建CPatientRecordSet類,使用ADO方式完成對數據庫的訪問,包括:創建數據庫鏈接,打開數據庫,創建數據庫命令,執行數據庫命令,關閉數據庫。該模塊使用_ConnectionPt型指針m_pConnection來創建數據庫連接,使用_RecordsetPtr型指針m_pRecordset完成對數據庫的操作。并通過CPatientInforDlg類的成員函數OnBtnNew()、OnBtnModify()、OnBtnDelete()、OnBtnLookup(),實現對患者信息的新建、修改、刪除和查詢。
3 系統調試
程序設計完成后,運行服務器端程序,使其處于監聽狀態。打開用戶端程序和硬件設備,患者通過坐下站起評估訓練設備進行訓練,訓練結束后通過用戶端軟件與醫生工作站建立連接,并將訓練數據發送給醫生。醫生通過回放訓練數據,查看患者的康復情況,并自動生成報告,在報告中填寫醫生診斷意見以及下一步訓練方案,并發送給患者,從而形成對患者的遠程指導。系統調試流程如圖 7所示,系統調試結果如圖 8所示,用戶工作站界面顯示的是患者訓練數據,醫生工作站界面顯示的是醫生接收的數據。
 圖7
				系統調試流程圖
			
												
				Figure7.
				System commissioning flowchart
						
				圖7
				系統調試流程圖
			
												
				Figure7.
				System commissioning flowchart
			
								 圖8
				平衡功能遠程康復系統主界面
			
												
				Figure8.
				Main interface of balance function telerehabilitation system
						
				圖8
				平衡功能遠程康復系統主界面
			
												
				Figure8.
				Main interface of balance function telerehabilitation system
			
								本系統在調試過程進行了系統傳輸可靠性的測試,實驗選取10名受試者(身體健康,年齡為20~25歲),在專業人員的指導下,使用用戶工作站進行30 s的坐位平衡評估,評估結束后通過文件傳輸,將訓練數據發送到醫生工作站,醫生工作站播放訓練數據,并進行參數計算,記錄左臀平均壓力、右臀平均壓力和重心軌跡總長度的數值。一周之后,10名受試者在同一名專業人員的指導下再次進行30 s的坐位平衡評估,評估后同樣將數據發送到醫生工作站,醫生工作站播放訓練數據,并進行參數計算,同樣記錄左臀平均壓力、右臀平均壓力和重心軌跡總長度的數值。
測試結束后,將實驗數據導入SPSS數據統計分析軟件,得出這幾個參數的組內相關系數(ICC值)分別為:左臀平均壓力的組內相關系數為0.964,右臀平均壓力的組內相關系數為0.891,重心軌跡總長度的組內相關系數為0.793。組內相關系數越接近1,說明該系統的可靠性越高,一般認為組內相關系數低于0.4表示信度較差,大于0.75表示信度良好[13]。以上數據組內相關系數均大于0.75,說明該系統具有很好的可靠性。
4 結論與展望
本文通過Socket遠程通信技術,實現了醫生工作站和用戶工作站的文件傳輸以及在線交流等功能,通過遠程康復的模式極大地方便了患者的康復治療,節約了有限的醫療資源。坐下站起平衡功能遠程康復系統能夠有效地將患者平衡功能的康復情況及時準確地反饋給醫生,醫生遠程指導患者,為患者康復帶來了極大的便利。
隨著醫療技術、計算機技術和通訊技術的發展,遠程康復還有很大的發展空間,本系統還應增加患者其他的重要生理參數的監控,實現醫生對患者訓練設備的遠程操作,在系統結構上也應將服務器作為獨立的部分,可以實現多對多的交流,通過進一步的研究與完善,更加符合康復治療的需求。
 
        

 
                 
				 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	