張文威,楊享武,譚劍輝
1.解放軍第四二一醫院 醫學工程科,廣東 廣州 510000;2.珠海邁科智能科技股份有限公司,廣東 珠海 519090
一種家庭電子病歷系統的設計
張文威1,楊享武2,譚劍輝1
1.解放軍第四二一醫院 醫學工程科,廣東 廣州 510000;2.珠海邁科智能科技股份有限公司,廣東 珠海 519090
目的 設計一種家庭電子病歷系統,實現家庭成員可以隨時、方便地查詢自己或家人的病歷信息。方法 系統設計分為病歷數據庫、代理服務器和客戶端,它們之間通過網絡進行互連。客戶端和代理服務器間使用自定義的應用協議實現網絡通信交互以及數據傳輸;代理服務器監聽客戶端的病歷查詢請求,并將查詢結果返回客戶端顯示給用戶。結果 通過系統測試驗證,PC客戶端和Android手機客戶端均能實現病歷查詢,且系統的性能穩定,實用性較強。結論 電子病歷不應局限于醫院應用,需要面向社會、面向家庭使用。
家庭電子病歷系統;電子病歷;網絡通信;HTTP協議
電子病歷(EMR)是病人在醫院診斷治療全過程的原始記錄,是醫療信息的載體,其中既有結構化信息,也有非結構化的自由文本,還有圖形、圖像信息。它是以電子化方式管理的有關個人終生健康狀態和醫療保健行為的信息,它可在醫療中作為主要的信息源取代紙張病歷,提供超越紙張病歷的服務,滿足所有的醫療、法律和管理需求[1-2]。電子病歷集成了來自醫療、護理、檢驗、影像等各方面的醫療信息,以病人信息為中心通過完整統一的視圖提供給不同用戶所需的服務,更好地服務于臨床教學、醫院管理、遠程醫療和醫療保險等。電子病歷超越了傳統病歷時間和區域的限制。它記錄的信息覆蓋了個人從生到死的整個生命周期,不僅包括病人的基本信息、醫生下達的醫囑、檢查結果、病程記錄、護理記錄等信息,而且要記錄包括出生、免疫接種、查體記錄等健康信息,范圍涉及醫療機構、社區、家庭甚至整個社會。所以電子病歷具有集成性、持續性、交換性、共享性等特點。
在國內,電子病歷已經成為醫學信息學的研究熱點,目前很多醫院都在自行開發或與軟件公司合作開發電子病歷系統。但電子病歷系統建設還僅局限于醫生工作站、護士工作站的建設,使用模板和電子字典等工具,實現下達醫囑、輸入病歷等基本業務操作的功能。基于DICOM和ASTM標準的電子病歷系統和其他系統的集成;基于HL7標準、XML描述的數據交換和共享都是電子病歷系統需解決的問題。另外,電子病歷系統不僅僅是收集、存放病人信息的倉庫,更需要應用知識庫、數據倉庫和數據挖掘技術對信息做深層次的處理與分析,為決策層提供有價值的醫學信息,輔助完成醫學決策。特別是,基于統一標準和Internet 技術,各醫療機構間實現電子病歷信息的集成、交換和共享,及為遠程醫療服務的電子病歷系統都是未來研究的主要方向[3-5]。
本系統是基于網絡面向家庭應用的電子病歷檢索系統。如今一些家庭中擁有無線接入的設備就有臺式電腦、手機、IPTV網絡電視機頂盒等,只需要一臺路由器,或者電腦的無線網卡作為路由建立無線Wi-Fi,它們之間就可以輕松組成一個家庭局域網。基于家庭局域網的系統應用模型,見圖1。

圖1 家庭局域網系統應用架構
系統為3層C/S模型架構[6],客戶端可以是智能手機和PC機;中間層是替客戶端完成病歷查詢請求的代理服務器,因為需要響應的是不同種類的客戶端,代理服務器必須是多線程的,且是通用的接口程序;底層是電子病歷數據庫。在邏輯上將系統分為3層結構是為了增加系統擴展性和可移植性,如果系統的建設僅在家庭中完成,則代理服務器和數據庫服務器可以運行在一臺計算機上。但為了能結合醫院電子病歷系統的建設,數據庫可以由醫院提供,家庭中計算機只需要運行代理服務器程序,它們之間通過網橋連接,代理服務器和客戶端連接由家庭局域網連接。系統需要最終實現用戶不管是在看電視、玩手機或是玩電腦都能夠利用當前設備查詢到電子病歷。系統建立方案如下:
(1)利用Mysql(關系數據庫管理系統)軟件建立了一個家庭病歷數據庫,數據庫為代理服務器提供一個遠程登錄用戶,可以設定權限。
(2)利用Java編寫代理服務器程序,程序功能主要有:① 多線程程序,使得能夠監聽多個客戶端查詢請求;② 能夠查詢病歷數據庫,將客戶端的請求組織成數據庫操作;③ 將查詢結果反饋給客戶端。為了使代理程序能夠和不同系統的客戶端通信,使用標準TCP/IP網絡編程接口Socket編寫。
(3)利用Hibernate(開放源代碼的對象關系映射框架),解決代理服務器程序在數據庫操作中數據持久化問題[7-9]。
(4)自定義通信協議,實現數據包定義,用XML實現傳輸過程中數據的儲存。
(5)利用Java編寫2個客戶端:手機客戶端和PC客戶端。客戶端也使用標準TCP/IP網絡編程接口Socket編寫,并設計客戶端用戶界面。
家庭網絡病歷檢索系統主要功能是完成請求的傳遞、解析和處理3個環節。本系統采用3層C/S結構設計,客戶端和服務器程序之間通過協議完成請求的傳遞和解析。而處理部分則是由服務器程序和后臺數據庫來完成。服務器接收到客戶端的請求并解析,之后根據需要組織相應的HQL語句通過Hibernate間接實現數據庫的各種操作,包括查詢、插入、更新等,網絡病歷檢索系統主要以查詢為主[10-11]。
2.1 流程圖設計
參考HTTP協議實現通信。HTTP協議是面向短連接的通信,支持客戶/服務器模式,即服務器接收到客戶端的請求,完成客戶端的請求之后即斷開連接。采用這種方式可以節省傳輸時間。對于多線程的服務器程序,因為設置的線程數量有限,使用短連接可以使能夠請求的客戶端變多。家庭網絡病歷檢索系統需要處理的終端查詢請求為多個,因此服務器程序需設計為多線程的程序,當監聽到客戶端的請求之后將連接狀態交給處理請求的線程完成數據交換,而主程序則繼續監聽其他客戶端的請求。服務器主程序的流程圖,見圖2;處理請求線程流程圖,見圖3。

圖2 服務器主程序流程圖

圖3 處理請求的線程流程圖
在客戶端首先設置所連接的服務器的IP地址,以及服務器端監聽的端口(本系統設為8821)。根據IP地址及端口號創建客戶端Socket,一旦和服務器連接上Socket連接就會被置真,若超過java socket默認的阻塞時間還沒連上,就會拋出連接超時或服務器拒絕連接,根據捕捉異常提示客戶端服務器未打開,或服務器防火墻攔截。客戶端通信流程,見圖4。

圖4 客戶端程序通信流程圖
2.2 終端管理界面設計
家庭中具有網絡功能的可視化終端包括PC個人電腦、智能手機和IPTV機頂盒。系 統設計了兩套客戶端,一個是電腦應用程序,一個是Android的手機程序。界面中提供查詢的選擇條件較少,尚有許多擴展。但是在數據庫查詢類queryFromDB類中設計了所有能夠用于查詢的條件,因此,客戶端界面擴展很容易,添加相應的文本輸入框用于接收即可。
2.2.1 PC客戶端界面設計
PC客戶端主界面見圖5,菜單欄提供的操作有文件操作、設置操作和幫助。文件操作目前提供了打開本地的XML病歷信息文件;設置操作提供的是設置端口操作,用于設置所連服務器的IP地址和端口;幫助操作提供的是軟件使用說明。主界面提供的查詢條件為就診的起始時間和結束時間以及成員姓名,查詢的結果為該時間段中的就診病歷。為了控制輸入時間的格式,輸入框采用時間控件,點擊年或月然后通過上下鍵來調節具體大小,不是直接輸入時間。若沒有輸入家庭成員則默認查詢所有人在時間段中病歷,查詢的所有記錄按時間顯示在左邊的列表中,右邊最初顯示的是左邊列表的第一條記錄,當點擊左邊列表的其中一條記錄時,右邊顯示的就是該條記錄的詳細信息。如果在沒有設置IP地址和端口的情況下查詢,軟件會提示先設置IP地址和端口。

圖5 PC客戶端主界面
端口界面設置見圖6,用于輸入連接服務器的IP地址和端口,一般的軟件設置功能是程序會記住上一次的設置信息,不用每次打開軟件都要設置。因此在設置端口的時候,在根目錄文件件夾中預留了一個文件用于保存設置,因此軟件總是會保留上一次的設置信息。如果服務器程序和客戶端程序都在一臺電腦上,它們之間的通信就是一臺電腦上的兩個進程間通信, IP地址應設為本機IP地址,127.0.0.1,端口號不變仍是服務器程序預留的端口號。

圖6 設置端口界面
2.2.2 Android手機客戶端界面設計
Android系統是google的一個開源的手機操作系統,現在市面上的智能手機大多采用Android系統,受到了廣大手機愛好者的歡迎,基于Android系統的手機軟件開發也非常的熱門。而現在的Android手機基本都具有Wifi無線網功能,而Android程序的開發也是基于java語言。java提供java.net包中socket網絡編程也適用Android。因此Android的手機病歷查詢軟件可以實現。借鑒于PC客戶端的界面設計,首先主界面仍提供查詢的條件輸入,和查詢按鈕,手機客戶端主界面見圖7。點擊起始時間按鈕會彈出一個時間控件,通過滾動調節時間控件來輸入時間(圖8),查詢的記錄仍用列表顯示在主界面的下方,當記錄數量超出屏幕顯示時出現滾動條。病歷的詳細信息是點擊其中一條記錄才會顯示詳細信息的界面,若沒有查詢記錄自然不會顯示出詳細信息界面,IP地址和端口設置在點擊手機的菜單鍵時彈出。圖9顯示的是手機端點擊一條記錄彈出的詳細就診信息界面,因為詳細信息的內容項有點多,手機界面不能全部顯示,因此添加了滾動條用于瀏覽完整的就診信息。

圖7 手機客戶端主界面

圖8 時間的輸入
通過系統測試,驗證了系統具有穩定性和實用性,同時也具有一定的不足,例如功能有限,病歷信息不全面等。

圖9 詳細就診信息
隨著電子病歷的發展,電子病歷應用范圍需要擴大,不能局限于醫院應用,需要面向社會、面向家庭、面向用戶使用。因此電子病歷的建設需要醫院、社會等一起努力共建,建立標準的公民的病歷數據庫,由專門部門去維護(如社保局),醫院的電子病歷系統和家庭的網絡病歷查詢系統使用同一個數據庫,使得信息既能服務醫院工作人員,也能服務家庭。
[1] 付帥.電子病歷信息系統的設計淺析[J].山東工業技術,2016,(1):139.
[2] 張璇.支持臨床路徑的電子病歷系統技術開發設計[J].中國新技術新產品,2016,(3):18.
[3] 梅文華,刁君,常奕,等.結構化電子病歷的應用[J].中國數字醫學,2016,11(3):22-25.
[4] 任?.淺析電子病歷系統[J].醫學信息學,2010,23(1):19-20.
[5] 孫沂振,沈云學,唐鶴云.電子病歷概述[J].醫學信息學,2009, 17(3):23-24.
[6] 周希武,錢琦,朱大偉.基于HIS的嵌入式BIS結構臨床路徑信息系統的設計及應用[J].中國醫療設備,2015,30(12):107-108,148.
[7] 夏昕,曹曉鋼,唐勇.深入淺出Hibernate[M].北京:電子工業出版社,2005.
[8] Will lverson.輕松掌握Hibernate[M].王華峰,唐發根,譯.北京:清華大學出版社,2007.
[9] 劉斌.精通Java web整合開發:JSp+AJAX+Struts+Hibernate[M].北京:電子工業出版社,2007.
[10] 劉亞賓,楊紅.精通Eclipse[M].北京:電子工業出版社,2005.
[11] 羅軍舟,黎波濤,楊明.TCP/IP協議及網絡編程技術[M].北京:清華大學出版社,2004.
Design of a Family Medical Record System
ZHANG Wen-wei1, YANG Xiang-wu2, TAN Jian-hui1
1. Department of Medical Engineering, No.421 Hospital of PLA, Guangzhou Guangdong 510000, China; 2. Maike Intelligent Technology Co., Ltd., Zhuhai Guangdong 519090, China
Objective To design a family medical record system to make medical information accessible for family members at any time. Methods The system was divided into three parts which were interconnected via the network, including the medical record database, the proxy server and the client. The user-def ned application protocol was deployed to implement network communication interaction and data transfer between the client and proxy server. The proxy server monitored the query application of medical records from the clients and returned the query results to the user via the client. Results The system testing and validation indicated that medical information could be queried by using the system in PC (Personal Computer) clients and Android phone clients. And the system proved its great stability and strong practicality. Conclusion Electrical medical records not only should be applied in hospitals, but also for the society and families.
family electronic medical records; electronic medical records; network communications; hyper text transfer protocol
TP311.52
A
10.3969/j.issn.1674-1633.2016.10.026
1674-1633(2016)10-0086-04
2016-02-29
2016-04-07
作者郵箱:394155703@qq.com