BlueMix與商業(yè)智能BI(智慧醫(yī)療場(chǎng)景)
開(kāi)篇:前言
智慧醫(yī)療英文簡(jiǎn)稱WIT120,是最近興起的專有醫(yī)療名詞,通過(guò)打造健康檔案區(qū)域醫(yī)療信息平臺(tái),利用最先進(jìn)的物聯(lián)網(wǎng)技術(shù),實(shí)現(xiàn)患者與醫(yī)務(wù)人員、醫(yī)療機(jī)構(gòu)、醫(yī)療設(shè)備之間的互動(dòng),逐步達(dá)到信息化。
在這個(gè)過(guò)程中,醫(yī)療設(shè)備所產(chǎn)生的數(shù)據(jù)將會(huì)是非常龐大的,我們常見(jiàn)的包括血壓、血氧數(shù)據(jù),體溫、流量、鼾聲、心率、通氣、BMP信息等,除此以外,某些設(shè)備自身的信息量也非常重要,包括壓力、開(kāi)關(guān)機(jī)時(shí)間、延時(shí)時(shí)間、斷電報(bào)警、模式、設(shè)備ID等,這些信息通過(guò)物聯(lián)網(wǎng)方式(當(dāng)然也有其他方式)傳輸?shù)綌?shù)據(jù)中心,經(jīng)由大數(shù)據(jù)分析平臺(tái)最終形成統(tǒng)一的分析報(bào)告,提供醫(yī)生、專家乃至病患者進(jìn)行分析和查看。
本次博文將嘗試使用Bluemix作為整體平臺(tái),在平臺(tái)上部署信息采集應(yīng)用、數(shù)據(jù)庫(kù)應(yīng)用以及分析應(yīng)用,最終達(dá)到模擬分析的目的。
第一部分 Bluemix使用
有關(guān)Bluemix的使用以及相關(guān)的DEMO示例在本次博文中將不再贅述,如有讀者對(duì)Bluemix的使用不是很了解的,可以參考如下連接:
《15 部最優(yōu)秀的 Bluemix教程》
http://www.ibm.com/developerworks/cn/cloud/library/cl-bestoflbluemix2014/index.html
上述教程應(yīng)該能夠帶你進(jìn)入到Bluemix的全新世界。
在這個(gè)部分中,必須確保如下事項(xiàng):
1)注冊(cè)一個(gè)Bluemix賬戶,并能夠登錄查看個(gè)人空間
2) 熟悉JAVA編程語(yǔ)言,能夠編寫(xiě)簡(jiǎn)單的JAVA程序
第二部分 Bluemix應(yīng)用創(chuàng)建
1.?????創(chuàng)建工作空間
首先我們需要登錄Bluemix,在儀表盤(pán)面板中我們可以創(chuàng)建工作空間,如下圖,我創(chuàng)建了名稱為”demo”的工作空間:
2.?????創(chuàng)建應(yīng)用程序
然后在這個(gè)demo空間中創(chuàng)建應(yīng)用程序:
3.?????選擇應(yīng)用程序模板
之后便是選擇應(yīng)用程序模板:
在這里我們選擇的是WEB應(yīng)用程序。
4.?????選擇啟動(dòng)器
緊接著我們選擇啟動(dòng)器,這里我們選擇的是Liberty for Java
5.?????命名應(yīng)用程序
接下來(lái)我們要為我們的應(yīng)用程序命名,在這里我們暫時(shí)命名為:cognos6647(各位可以任意調(diào)整為自己喜歡的名字。
6.?????完成應(yīng)用程序創(chuàng)建
應(yīng)用程序創(chuàng)建完成后可以看到提示“您的應(yīng)用程序已準(zhǔn)備就緒:http://cognos6647.mybluemix.net/”,如下圖所示:
可以打開(kāi)該鏈接:
如果頁(yè)面提示“Hi World!”,表示您的應(yīng)用程序已經(jīng)創(chuàng)建成功,接下來(lái)我們就可以上我們的應(yīng)用了。
第三部分 創(chuàng)建數(shù)據(jù)庫(kù)服務(wù)
在這部分我們將分為兩部分來(lái)講解:
首先是添加MongoDB 或 MongoLab服務(wù),這是為了后續(xù)創(chuàng)建支持報(bào)告服務(wù)所需的數(shù)據(jù)庫(kù)實(shí)例。具體操作步驟如下:
1.?????添加數(shù)據(jù)庫(kù)服務(wù)
在我的儀表盤(pán)中點(diǎn)擊“添加服務(wù)或API”
然后進(jìn)入服務(wù)選擇區(qū)域,選擇“數(shù)據(jù)管理”類別:
緊接著在右側(cè)的服務(wù)種類中選擇mongodb服務(wù):
(當(dāng)然在這里其實(shí)有很多種選擇,大家可以選擇自己最熟悉的,比如mysql、postgresql等。
進(jìn)入mongodb的配置界面:
設(shè)置好相應(yīng)的服務(wù)名稱(這里我們隨機(jī)),點(diǎn)擊【創(chuàng)建】即可:
此時(shí)會(huì)提醒“重新編譯打包應(yīng)用程序”,選擇【重新編譯打包】即可(等待打包發(fā)布):
2.?????添加SQL數(shù)據(jù)庫(kù)實(shí)例
繼續(xù)回到應(yīng)用程序儀表盤(pán)界面,繼續(xù)“添加服務(wù)或API”(此處截圖省略),緊接著繼續(xù)選擇類別“數(shù)據(jù)管理”,在其中選擇“SQL Database”
進(jìn)入SQL Database的配置界面(主要是服務(wù)名稱以及套餐的選擇,默認(rèn)即可):
點(diǎn)擊【創(chuàng)建】,此時(shí)同樣會(huì)提醒“重新編譯打包應(yīng)用程序”,選擇【重新編譯打包】即可(等待打包發(fā)布,具體截圖同上,此處省略)。
3.?????查看環(huán)境變量
回到儀表盤(pán),在Liberty forJava中我們可以點(diǎn)擊“環(huán)境變量”,看到此時(shí)環(huán)境變量(VCAP_SERVICES)中多了剛剛配置的數(shù)據(jù)庫(kù)的相關(guān)信息:
第四部分 編寫(xiě)及部署應(yīng)用程序
1.?????數(shù)據(jù)庫(kù)初始化
在這部分我創(chuàng)建了一個(gè)DBUtil.java程序,用于JAVA API初始化數(shù)據(jù)庫(kù),其實(shí)相當(dāng)于我們?cè)赪EB應(yīng)用中經(jīng)常使用的數(shù)據(jù)庫(kù)類而已。
1)初始化參數(shù)
2)獲取環(huán)境變量,并進(jìn)行判斷
3)連接數(shù)據(jù)庫(kù)
4)創(chuàng)建表
5)插入數(shù)據(jù)
2.?????表創(chuàng)建
在數(shù)據(jù)庫(kù)創(chuàng)建完成后,我們新建幾個(gè)表。
【表一】sample_data_detail
該表用于存儲(chǔ)呼吸機(jī)采集的數(shù)據(jù),包括用戶的漏氣、壓力、BPM等
【表二】time_dem
這個(gè)表作為時(shí)間維度表,主要用于關(guān)聯(lián)【表一】進(jìn)行多維分析(可以鉆取、切片、旋轉(zhuǎn)分析等)
創(chuàng)建表的時(shí)候直接調(diào)用DBUtil中的createTable方法即可。
說(shuō)明:這里我只用了一個(gè)時(shí)間維度,主要是演示方便,以后可以添加其他相關(guān)維度,那樣的話效果應(yīng)該會(huì)更好。
3.?????插入數(shù)據(jù)及數(shù)據(jù)查詢
正常建完數(shù)據(jù)庫(kù)表后,我們執(zhí)行數(shù)據(jù)插入命令以及數(shù)據(jù)查詢命令,確認(rèn)數(shù)據(jù)庫(kù)連接情況。
插入數(shù)據(jù)時(shí)只需要調(diào)用DBUtil中的insertData方法即可。
第五部分 應(yīng)用程序調(diào)測(cè)
上述代碼都完成后,我們將應(yīng)用部署并進(jìn)行調(diào)測(cè)。具體步驟如下:
1.?????打包
這里采用ANT進(jìn)行打包,如下圖所示:
右鍵build.xml選擇Run As –》 Ant Build即可。完成后提示如下:
2.?????上傳部署
上傳的過(guò)程在此就不多說(shuō)了,采用的是CF工具進(jìn)行部署。
核心命令為:
cf push
各位看官自行嘗試。
第六部分 創(chuàng)建Cognos服務(wù)
1.?????添加 Embeddable Reporting服務(wù)
在Bluemix中,其實(shí)是通過(guò)使用Bluemix Embeddable Reporting 服務(wù)來(lái)實(shí)現(xiàn)Cognos的報(bào)表功能的。
同第五部分創(chuàng)建數(shù)據(jù)庫(kù)服務(wù)一樣,在Bluemix提供的服務(wù)中,我們?cè)陬悇e“業(yè)務(wù)分析”中可以看到有個(gè)服務(wù)叫做“Embeddable Reporting”,選擇該服務(wù):
同樣,在打開(kāi)“EmbeddableReporting”配置窗口中,配置相應(yīng)的服務(wù)名稱:
2.?????收集環(huán)境變量
創(chuàng)建好Cognos服務(wù)后,我們同樣按照SQL一樣,在環(huán)境變量中可以看到如下信息:
第七部分 配置Cognos服務(wù)
1.?????打開(kāi) Embeddable Reporting控制臺(tái)
創(chuàng)建好Cognos服務(wù)后,我們還需要進(jìn)行相應(yīng)的配置。
回到儀表盤(pán)界面,在服務(wù)欄中可以看到我們添加的“Embeddable Reporting”服務(wù),點(diǎn)擊進(jìn)入:
點(diǎn)擊上圖中的【LAUNCH】按鈕,打開(kāi)EmbeddableReporting的控制臺(tái):
在該控制臺(tái)中點(diǎn)擊【Connect】,打開(kāi)連接配置:
在此頁(yè)面輸入之前配置Mongodb時(shí)的環(huán)境變量中的uri,然后點(diǎn)擊【Update】,此時(shí)控制臺(tái)將會(huì)顯示如下圖所示的*號(hào),表示已建立連接:
2.?????創(chuàng)建新的應(yīng)用程序
1)? 在上述基礎(chǔ)上點(diǎn)擊*號(hào),在彈出的創(chuàng)建新應(yīng)用提示中輸入名稱和描述
2)? 配置數(shù)據(jù)源
點(diǎn)擊【Continue】后進(jìn)入數(shù)據(jù)源配置界面
輸入相應(yīng)的參數(shù)(這些參數(shù)在第五部分講到添加數(shù)據(jù)庫(kù)服務(wù)時(shí)有提到在環(huán)境變量中可以查看)。
3)? 修改數(shù)據(jù)源/查看數(shù)據(jù)源
配置完后,可以看到創(chuàng)建的應(yīng)用相關(guān)信息:
此時(shí)可以點(diǎn)擊文件夾圖標(biāo)中的Data Source進(jìn)行數(shù)據(jù)源的修改和查看:
此處可以看到數(shù)據(jù)源名稱為:datasource,為了方便后續(xù)應(yīng)用,我們暫時(shí)改成“cgds”(cognos datasource的縮寫(xiě),哈哈O(∩_∩)O)
3.?????配置Visualization Bundles
這部分主要是可視化關(guān)聯(lián)配置,如下圖所示:
4.?????創(chuàng)建Report
1)單機(jī)文件夾符號(hào)打開(kāi)Report選項(xiàng)卡
2)單擊“*”號(hào)進(jìn)行報(bào)表配置:
輸入報(bào)表名稱
3)報(bào)表配置
設(shè)置報(bào)表的Package以及相關(guān)的描述即可。
第八部分 使用Cognos進(jìn)行數(shù)據(jù)分析
這部分其實(shí)就是最后的展現(xiàn)了,可以有多種展現(xiàn)效果:
1)餅圖
2)柱狀圖
3)儀表盤(pán)
實(shí)際上,對(duì)于呼吸機(jī)上傳的數(shù)據(jù),我這次示例中主要從時(shí)間的角度查看數(shù)據(jù)的演變趨勢(shì),來(lái)了解病人的情況。
例如:
由于本次僅僅作為一個(gè)DEMO,數(shù)據(jù)量比較少,圖形上展現(xiàn)可能并不是很豐富,但是主要是為了展現(xiàn)這樣的一個(gè)過(guò)程,因此還請(qǐng)各位看官見(jiàn)諒。
結(jié)論
小結(jié):其實(shí)在整個(gè)過(guò)程中我也不是很自信,不確認(rèn)Bluemix是否支持我所想實(shí)現(xiàn)的東西,然后在寫(xiě)這篇博文的過(guò)程中也請(qǐng)教了很多前輩,并且查閱了IBM Bluemix的相關(guān)教程。我相信Bluemix能夠?yàn)殚_(kāi)發(fā)者帶來(lái)一些新鮮的元素,關(guān)鍵在于大家敢于去嘗試,敢于去創(chuàng)新。
醫(yī)療
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。