許國泰 陳兵 余景原
摘要:該文闡述了一個基于4G的大型醫(yī)療設(shè)備日志數(shù)據(jù)采集系統(tǒng),用于從當(dāng)今醫(yī)院中大量的高值醫(yī)療設(shè)備中采集日志數(shù)據(jù),并加以整理挖掘,供醫(yī)院獲取其中有價值的部分。該系統(tǒng)包括了一個放在醫(yī)院中的基于ARM處理器的智能盒子以及云服務(wù)器,盒子可以通過各種通信線路從醫(yī)療設(shè)備中讀取日志,并通過4G網(wǎng)絡(luò)發(fā)送到云服務(wù)器,服務(wù)器上配備有數(shù)據(jù)庫可以存儲日志數(shù)據(jù),也可以進(jìn)行數(shù)據(jù)挖掘并且生成報表供客戶瀏覽。
關(guān)鍵詞:醫(yī)療設(shè)備;日志;采集;智能盒子;云服務(wù)器;4G
中圖分類號:TP331 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)21-0018-03
現(xiàn)今醫(yī)院中擁有大量高值的大型醫(yī)療設(shè)備,如數(shù)字X光機(jī)、MRI(核磁共振)、CT(電腦斷層掃描)、PET(正電子發(fā)射)、B超、攝片打印機(jī)、洗消機(jī)等等。這些設(shè)備在使用過程中會產(chǎn)生大量的日志數(shù)據(jù),其中蘊(yùn)含了許多有用的信息,但是往往被忽略,而只是靜靜地躺在醫(yī)療設(shè)備控制電腦的硬盤中。即使醫(yī)院有意愿得到這些數(shù)據(jù),在沒有制造廠商的支持情況下,也往往沒有能力獲得。在此背景下,搭建和使用一個第三方的日志數(shù)據(jù)采集系統(tǒng)成為一件很有必要的事情。
1 系統(tǒng)架構(gòu)設(shè)計(jì)
本系統(tǒng)的架構(gòu)圖如圖1所示:
這是一個典型的物聯(lián)網(wǎng)“邊緣計(jì)算”應(yīng)用場景,邊緣計(jì)算設(shè)備為一個基于4G通信的盒子,盒子采用以太網(wǎng)、Wi-Fi、RS485、Zigbee等通信方式連接醫(yī)療設(shè)備和其他傳感器(例如設(shè)備房間的溫濕度計(jì)等)。盒子在采集到數(shù)據(jù)之后,經(jīng)過本地處理,然后通過4G上傳到云服務(wù)器,云服務(wù)器將數(shù)據(jù)存儲在數(shù)據(jù)庫中,以供日后數(shù)據(jù)挖掘使用。
如果醫(yī)院需要經(jīng)過處理的設(shè)備日志,既可以從本地盒子上通過特定程序來導(dǎo)出,也可以通過云服務(wù)器的程序從數(shù)據(jù)庫中再次輸出。
2 基于4G的日志采集盒子設(shè)計(jì)
2.1 系統(tǒng)架構(gòu)設(shè)計(jì)
本系統(tǒng)中的日志數(shù)據(jù)采集盒子是一個使用ARM處理器為核心的嵌入式系統(tǒng),其結(jié)構(gòu)框圖如下。
盒子在硬件結(jié)構(gòu)上包括了ARM處理器、DDR RAM、EMMC Flash、BLE模塊、USB接口、以太網(wǎng)接口、WIFI模塊、UART接口、4G模塊、電源管理、LED等,構(gòu)成了一個功能強(qiáng)大的單板計(jì)算機(jī)系統(tǒng)。
盒子的軟件資源采用Linux操作系統(tǒng),內(nèi)存容量在1G以上,F(xiàn)lash存儲容量在8G以上,可以支持起大量的軟件運(yùn)行工作。
2.2 盒子上需要運(yùn)行的軟件規(guī)劃
1)Linux系統(tǒng);
2)設(shè)備驅(qū)動;
3)Ssh(安全加密傳輸);
4)Wpa_supplicant(Wifi管理);
5)Pppd(4G撥號管理);
6)日志收集任務(wù)管理程序(自行開發(fā));
7)日志收集任務(wù)包程序(自行開發(fā));
8)任務(wù)包處理插件(自行開發(fā))。
2.3 日志收集任務(wù)管理程序的功能設(shè)計(jì)
1)周期性的調(diào)度任務(wù)包程序的運(yùn)行;
2)同云服務(wù)器的管理后臺程序進(jìn)行通信,對任務(wù)包程序進(jìn)行管理、添加、刪除、更新任務(wù)包并且配置需要的參數(shù);
3)升級自身程序;
4)更新操作系統(tǒng)管理腳本;
5)通過心跳包將自身運(yùn)行狀態(tài)上報給管理后臺。
2.4 日志收集任務(wù)包程序的功能設(shè)計(jì)
1)從設(shè)備采集日志并存儲、上傳;
2)調(diào)用任務(wù)包處理插件對采集到的日志進(jìn)行處理。
2.5 任務(wù)包處理插件的功能設(shè)計(jì)
對日志信息進(jìn)行過濾、篩選、處理并輸出。對應(yīng)的,調(diào)度結(jié)構(gòu)設(shè)計(jì)如圖3所示。
在任務(wù)包運(yùn)行過程中,插件即可以是平行調(diào)用也可以是級聯(lián)調(diào)用,如圖4所示。
2.6 從醫(yī)療設(shè)備上獲取日志數(shù)據(jù)的方法設(shè)計(jì)
大型醫(yī)療設(shè)備的控制電腦上通常采用日志文件、數(shù)據(jù)庫等方式來保存日志數(shù)據(jù),一般以日志文件居多。同時,大型醫(yī)療設(shè)備上通常攜帶ftp或者sftp服務(wù),日志文件可以以這兩種方式被訪問到。
本文從醫(yī)療設(shè)備上獲取日志數(shù)據(jù)的方法設(shè)計(jì)中,我們采用Python語言工具來完成,因?yàn)镻ython擁有相當(dāng)多的組件,例如ftplib可以用于訪問ftp服務(wù),paramiko可以用于訪問sftp,requests可以用于http訪問(上傳日志、下載配置),如此便可以方便地搭建任務(wù)包程序。
例如,在設(shè)計(jì)中,使用了ftplib編寫ftp下載的函數(shù),通過該函數(shù)可以將日志文件從某個偏移量位置開始下載到盒子的內(nèi)存里。
Python同樣擁有方便使用的正則表達(dá)式組件re,可以用于創(chuàng)建任務(wù)包處理插件,在此不再繼續(xù)舉例詳述。
3 云服務(wù)器設(shè)計(jì)
如圖5所示,云服務(wù)器實(shí)現(xiàn)了4G日志數(shù)據(jù)的接入,配備了數(shù)據(jù)庫可以存儲日志數(shù)據(jù),可以進(jìn)行數(shù)據(jù)挖掘并且生成報表供客戶瀏覽,具體各組件設(shè)計(jì)和實(shí)現(xiàn)描述如下:
1)云服務(wù)器從4G網(wǎng)絡(luò)接入。
2)Tomcat是Java Servlet容器,提供供盒子調(diào)用的Web API接口。
3)其中配置服務(wù)是給盒子提供任務(wù)包的配置,以及應(yīng)用程序的升級之用;同時,盒子(日志收集管理程序)通過心跳報文將自身狀態(tài)上報到這個接口。
4)配置服務(wù)后臺數(shù)據(jù)庫采用MySQL。
5)日志服務(wù)接口給盒子上的任務(wù)包提供上傳接口,并將上傳上來的日志存入MongoDB數(shù)據(jù)庫(NoSQL)。
6)報表服務(wù)是通過網(wǎng)頁的形式給用戶提供可視化的統(tǒng)計(jì)報表,其具體呈現(xiàn)的內(nèi)容根據(jù)客戶需求而定。
7)數(shù)據(jù)挖掘服務(wù)則是以后臺任務(wù)的形式運(yùn)行,將挖掘的結(jié)果同樣存入MongoDB,以供報表服務(wù)調(diào)用。
8)ftp服務(wù)器上存放了用于更新的任務(wù)包以及日志收集管理程序,在需要更新的時候,通過心跳包的返回報文通知日志收集管理程序,由日志收集管理程序登錄到ftp上,下載并更新。
4 結(jié)論
本文所實(shí)現(xiàn)的基于4G的大型醫(yī)療設(shè)備日志數(shù)據(jù)采集系統(tǒng)可以從各種醫(yī)療設(shè)備中采集和匯總?cè)罩緮?shù)據(jù),分析、提取出其中有價值的部分,發(fā)揮其醫(yī)療輔助作用。本文所實(shí)現(xiàn)的智能盒子以及云服務(wù)器,不僅可以應(yīng)用于醫(yī)療設(shè)備日志數(shù)據(jù)的采集、整理和存儲,也可以推廣應(yīng)用到類似需要引入物聯(lián)網(wǎng)技術(shù),分布分散、數(shù)據(jù)品種多、數(shù)量大、具備數(shù)據(jù)挖掘意義的需求場景中,例如通信機(jī)房設(shè)備日志數(shù)據(jù)采集等等。
目前,本文所實(shí)現(xiàn)的基于4G的大型醫(yī)療設(shè)備日志數(shù)據(jù)采集系統(tǒng)已經(jīng)投入小規(guī)模試用階段,實(shí)際使用過程中也證明了該系統(tǒng)可以發(fā)揮較大的作用。
參考文獻(xiàn):
[1] 董建成. 我國醫(yī)院信息系統(tǒng)現(xiàn)狀及原因分析[J]. 中華醫(yī)院管理雜志, 2003, 19(4).
[2] 朱敏, 代偉, 閆雅鳳. 醫(yī)院信息管理數(shù)據(jù)采集質(zhì)量控制對策[J]. 中國病案, 2010, 11(6).
【通聯(lián)編輯:張薇】