肖雪雯 王謝 胡俊峰 蔣歡 儲浩然
摘 要:當(dāng)代快節(jié)奏的生活方式下,人們越來越關(guān)注自身的健康狀況。尤其是慢性疾病嚴(yán)重影響著現(xiàn)代人的身體健康,以上班族和中老年人群較為普遍。為預(yù)防減少慢性疾病并給予患者更多的幫助,基于安卓平臺,本文設(shè)計了一款基于Android開發(fā)的慢性疾病隨訪APP。該軟件分為醫(yī)生端和患者端,醫(yī)生和患者可以選擇兩種不同的登錄方式。本文在簡要介紹本系統(tǒng)開發(fā)環(huán)境及工具的基礎(chǔ)上,首先對實現(xiàn)該系統(tǒng)功能的技術(shù)進(jìn)行分析,確定系統(tǒng)的功能需求;然后對系統(tǒng)進(jìn)行概要設(shè)計和總體框架介紹。最后進(jìn)行系統(tǒng)功能測試[1],分析總結(jié)測試結(jié)果,并對基于Android開發(fā)的慢性疾病隨訪APP進(jìn)行了總結(jié)與展望。
關(guān)鍵詞:Android平臺;軟件開發(fā);慢性疾病
中圖分類號:TP311.5 文獻(xiàn)標(biāo)識碼:A
Abstract:With the current fast-paced lifestyle,people are paying more and more attention to their own health.In particular,chronic diseases seriously affect the health of modern people,especially the office staff,the middle-aged and the senior citizens.In order to prevent chronic diseases and give more help to patients,a chronic disease follow-up APP is designed based on Android.The application contains two different terminals for doctors and patients to login respectively.Based on a brief introduction to the development environment and tools of the system,the paper firstly analyzes the technology to implement the system functions and determines the functional requirements of the system.Then the architectural design and the general framework of the system are introduced.Finally,the system function test is carried out,the result of the test is analyzed and summarized,and the follow-up APP for chronic diseases based on Android is summarized and prospected.
Keywords:Android platform;software development;chronic diseases
1 引言(Introduction)
隨著科學(xué)技術(shù)的不斷創(chuàng)新,智能化的生活已經(jīng)到來[1]。Android技術(shù)繼承了Linux操作系統(tǒng)的自由,同時具有源代碼開放的優(yōu)點,便于在移動設(shè)備上使用[2]。近年來,國外移動醫(yī)療行業(yè)迅速發(fā)展,遠(yuǎn)程醫(yī)療技術(shù)在部分發(fā)達(dá)國家也已相當(dāng)成熟。此外,手機移動終端設(shè)備的高速智能化發(fā)展,使得遠(yuǎn)程醫(yī)療不斷向移動領(lǐng)域滲透[3]。癲癇作為一種常見的神經(jīng)系統(tǒng)疾病之一,對患者身心健康產(chǎn)生很大的消極影響。為預(yù)防減少慢性疾病并給予患者更多的幫助與關(guān)懷,本文以癲癇為例,基于Android平臺,設(shè)計了一款基于Android開發(fā)的慢性疾病隨訪APP。旨在為病人提供科學(xué)合理的指導(dǎo),幫助其高效康復(fù)治療。
本文的內(nèi)容主要包括幾個方面:首先,對系統(tǒng)開發(fā)環(huán)境及技術(shù)進(jìn)行簡要介紹。其次,對系統(tǒng)概要設(shè)計與總體架構(gòu)進(jìn)行詳細(xì)說明。最后,對系統(tǒng)進(jìn)行功能測試,并對測試結(jié)果進(jìn)行分析,并對全篇進(jìn)行了總結(jié)與展望。
2 目的(Purpose)
如今,國內(nèi)相對比較出名的移動醫(yī)療應(yīng)用有以下幾個類型:①醫(yī)患交互類。這類應(yīng)用整合了相應(yīng)的醫(yī)療數(shù)據(jù)庫和醫(yī)生資源,可以為用戶提供遠(yuǎn)程醫(yī)療咨詢或打造私人家庭醫(yī)生,其中比較出名的應(yīng)用有春雨掌上醫(yī)生、5U家庭醫(yī)生等。②專業(yè)輔助類。這類應(yīng)用一般基于CDSS系統(tǒng),內(nèi)容涵蓋了臨床評估、醫(yī)學(xué)計算、藥物、手術(shù)、醫(yī)學(xué)檢測等方面。③面向患者的用藥指導(dǎo)類。可以為普通家庭提供藥物信息查詢、藥物真假鑒定、藥店查詢等。④綜合服務(wù)類。這類應(yīng)用一般由醫(yī)院機構(gòu)合作開發(fā),能夠為用戶提供移動導(dǎo)診、預(yù)約掛號、病情查詢、健康檔案查詢等綜合醫(yī)療服務(wù)。基于Android開發(fā)的慢性疾病隨訪APP完成了臨床數(shù)據(jù)信息在服務(wù)器SQL Server數(shù)據(jù)庫和基于Android終端SQLite數(shù)據(jù)庫的設(shè)計搭建,實現(xiàn)了兩數(shù)據(jù)庫的交互運行。此外,基于Android開發(fā)的慢性疾病隨訪APP完成了基于Android智能終端應(yīng)用軟件的設(shè)計,包括軟件的界面設(shè)計、邏輯實現(xiàn)和服務(wù)器訪問模塊,實現(xiàn)了患者與醫(yī)生注冊登錄模塊、患者人文關(guān)懷模塊、患者日志記錄模塊、檢查信息模塊、醫(yī)生的病人管理模塊、患者與醫(yī)生通信模塊、醫(yī)囑處理模塊。本文開發(fā)的基于Android智能終端的移動醫(yī)療信息系統(tǒng),打破了目前醫(yī)療信息化領(lǐng)域存在的信息孤島,實現(xiàn)了醫(yī)護(hù)人員的移動辦公。
3 開發(fā)環(huán)境及技術(shù)介紹(Introduction of development environment and technology)
3.1 Android平臺開發(fā)
3.1.1 開發(fā)框架與環(huán)境
系統(tǒng)的手機客戶端在Android平臺下完成開發(fā),以Java為開發(fā)語言,以eclipse為開發(fā)工具[4],通過GET/POST請求,以JSON為通信交換格式和服務(wù)器端進(jìn)行通信。Android應(yīng)用開發(fā)框架是Application Framework。其系統(tǒng)架構(gòu)主要由四部分組成,自下而上依次是:Linux Kernel、Android Runtime、Application Framework、Applications[5]。
3.1.2 主要開發(fā)工具
(1)Android SDK:Android開發(fā)工具包,使用API就需要引入該工具包。
(2)虛擬設(shè)備管理器:用于對Android虛擬設(shè)備AVD和SDK包進(jìn)行創(chuàng)建和管理。
(3)ADT:Android在Eclipse上的開發(fā)工具,可以直接在線安裝Eclipse。
(4)Android模擬器:Android運行的虛擬設(shè)備[6],通過AVD可以啟動Android模擬器,來對程序進(jìn)行調(diào)試。
(5)Android資源打包工具[7]:即Android Asset Package Tool,用于將資源文件打包到APK中。
(6)Android調(diào)試橋:即ADB,可以將手機與電腦連接起來,是用來對模擬器和真機進(jìn)行管理的調(diào)試工具。
Android開發(fā)環(huán)境搭建流程如圖1所示:
3.2 實現(xiàn)技術(shù)
本文是在Android平臺上開發(fā)一款基于Android開發(fā)的慢性疾病隨訪APP,將會涉及人機交互、數(shù)據(jù)庫操作、客戶端開發(fā)等方面技術(shù)。本項目利用Apache組織提供的基于Java平臺的服務(wù)軟件作為服務(wù)端,與手機移動終端進(jìn)行交互,將移動終端發(fā)送的數(shù)據(jù)存入數(shù)據(jù)庫,從數(shù)據(jù)庫中讀取數(shù)據(jù),并向移動終端推送消息等操作。
基于SQL Server建立用戶信息數(shù)據(jù)庫[8],可以快捷地創(chuàng)建數(shù)據(jù)庫并且有效全面地實現(xiàn)系統(tǒng)所需的各個功能。數(shù)據(jù)庫主要分為用戶個人信息表、患者治療建議表和患者治療記錄表,各表屬性如下所示:
①t_user:主要包含用戶id、用戶身份(患者/醫(yī)生)、用戶名、年齡、性別、在線情況、地址、郵箱、密碼、手機號和頭像。
②t_advice:包含疾病癥狀、嚴(yán)重程度、具體建議、建議者的ID。
③t_record:包含用戶名、治療時間點、治療種類、治療時長。
SQL Server是由Microsoft開發(fā)和推廣的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(DBMS)。SQL Server采用了真正的客戶機/服務(wù)器體系結(jié)構(gòu)圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。SQL Server與Windows NT完全集成,利用了NT的許多功能,如發(fā)送和接受消息、管理登錄安全性等,更加簡化了項目的開發(fā)過程。SQL Server對Web技術(shù)的支持,以及豐富的編程接口工具,使我們能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)采集并發(fā)布到服務(wù)器上。
4 概要設(shè)計與總體架構(gòu)(Outline design and overall architecture)
4.1 軟件結(jié)構(gòu)
癲癇病人隨訪APP系統(tǒng)分為:登錄、注冊、個人中心、無距離通信、權(quán)限管理、健康檔案、智能提醒、推送關(guān)懷八個模塊。
該系統(tǒng)模塊圖如圖2所示。
4.2 邏輯分層
基于Android開發(fā)的癲癇病人隨訪的APP設(shè)計與實現(xiàn)采用三層架構(gòu),分別為UI表示層(User Interface layer)、業(yè)務(wù)邏輯層(Business Logic Layer)、數(shù)據(jù)訪問層(Data Access Layer)。
4.2.1 UI表示層
UI表示層即手機移動終端軟件,位于最外層(最上層),最接近用戶,用于顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù),為用戶提供一種交互式操作的界面。所起到的作用就是將手機從業(yè)務(wù)層接收到的數(shù)據(jù)形象化、結(jié)構(gòu)化、體系化地展示給用戶。同時用戶可以通過軟件功能界面,進(jìn)行數(shù)據(jù)的寫入,再由用戶界面層將數(shù)據(jù)傳送到業(yè)務(wù)邏輯層。
4.2.2 業(yè)務(wù)邏輯層
業(yè)務(wù)邏輯層起到承接作用,位于表示層和數(shù)據(jù)訪問層之間,專門負(fù)責(zé)處理用戶輸入的信息,或者是將這些信息發(fā)送給數(shù)據(jù)訪問層進(jìn)行保存,或者是通過數(shù)據(jù)訪問層從數(shù)據(jù)庫讀出這些數(shù)據(jù)。業(yè)務(wù)邏輯層是表示層和數(shù)據(jù)訪問層之間的橋梁,負(fù)責(zé)數(shù)據(jù)處理和傳遞。向上,業(yè)務(wù)層需提供Android端接口、PC管理員端接口和網(wǎng)頁端接口,使得數(shù)據(jù)可以展示在外部應(yīng)用上。向下,業(yè)務(wù)邏輯層提供與底層數(shù)據(jù)庫的接口,可以將在本層從手機端獲得的數(shù)據(jù)保存到數(shù)據(jù)庫中。反之,本層也可以根據(jù)手機端的需求,獲取數(shù)據(jù)庫中的數(shù)據(jù)。
4.2.3 數(shù)據(jù)訪問層
數(shù)據(jù)訪問層的功能是負(fù)責(zé)數(shù)據(jù)庫的訪問,主要是訪問數(shù)據(jù)庫系統(tǒng)、二進(jìn)制文件、文本文檔或XML文檔。在本項目中,這一層是一個獨立于醫(yī)院內(nèi)其他數(shù)據(jù)庫的數(shù)據(jù)庫,是基于手機移動終端病人回訪系統(tǒng)的專用數(shù)據(jù)庫。同時,為了實現(xiàn)與醫(yī)院本地數(shù)據(jù)庫的數(shù)據(jù)同步,因而設(shè)計了一個數(shù)據(jù)同步中間件。其功能是將兩個數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行同步,實現(xiàn)兩個數(shù)據(jù)庫之間的實時通信,數(shù)據(jù)共享。
三層架構(gòu)如圖3所示。
4.3 對基于Android開發(fā)的慢性疾病隨訪APP的設(shè)計與實現(xiàn)進(jìn)行邏輯抽象建模
首先,基于Android開發(fā)的慢性疾病隨訪APP分為患者端與醫(yī)生端。在患者端,患者可以通過移動終端設(shè)備以日志形式記錄自己的日常用藥、發(fā)病和飲食等情況。人文關(guān)懷模塊實時推送舒緩音樂、陽光文章,以及適當(dāng)鍛煉與飲食合理搭配等相關(guān)內(nèi)容。一旦遇到特殊情況,患者還可以與醫(yī)生進(jìn)行實時通信,向醫(yī)生進(jìn)行科學(xué)合理的咨詢。在醫(yī)生端,醫(yī)生可以通過移動終端設(shè)備來查詢病人日志記錄,以及病例檔案等信息。根據(jù)移動終端用戶界面的提示,將移動設(shè)備中讀取的數(shù)據(jù)以列表形式顯示出來。醫(yī)師需要進(jìn)行隨訪工作時,通過手機移動終端方便地查詢到醫(yī)院本地數(shù)據(jù)庫所存病患病情信息和聯(lián)系方式,并可以直接在程序界面上快捷地?fù)芡ㄌ柎a聯(lián)系患者進(jìn)行隨訪工作。隨訪過程中,也可以通過用戶終端界面將病患的康復(fù)情況及時地記錄下來,存入到醫(yī)院的本地數(shù)據(jù)庫中,并在數(shù)據(jù)庫中對數(shù)據(jù)進(jìn)行分類[9]。這樣,主治醫(yī)師僅需輸入病患的姓名等關(guān)鍵信息,便可查詢病患的住院記錄、治療記錄、康復(fù)記錄等信息并對這些信息進(jìn)行處理。另外,數(shù)據(jù)庫將接受到的數(shù)據(jù)進(jìn)行數(shù)據(jù)的實時更新,并將獲取的信息自動推送到醫(yī)生移動終端,以實現(xiàn)手機移動終端信息數(shù)據(jù)的實時傳送、更新。
基于Android開發(fā)的慢性疾病隨訪APP的設(shè)計與實現(xiàn)進(jìn)行邏輯抽象建模如圖4所示。
4.4 慢性疾病隨訪APP包含的五個主要設(shè)計模塊
(1)用戶登錄驗證:此模塊提供了必要的用戶登錄及驗證功能。用戶可以通過此模塊完成注冊、登錄及賬號綁定功能。
(2)病人回訪:在此模塊中,可以通過用戶終端界面將病患的康復(fù)情況及時地記錄下來并存入到醫(yī)院的本地數(shù)據(jù)庫中,并在數(shù)據(jù)庫中對數(shù)據(jù)進(jìn)行分類。主治醫(yī)師僅需輸入病患的姓名等關(guān)鍵信息,便可查詢病患的住院記錄、治療記錄、康復(fù)記錄等信息,并對這些信息進(jìn)行處理。
(3)人文關(guān)懷:查詢病人日志記錄和病例檔案等信息。通過云平臺,實時推送舒緩音樂、陽光文章,以及適當(dāng)鍛煉與飲食合理搭配等相關(guān)內(nèi)容。
(4)醫(yī)患溝通:此模塊中,醫(yī)生能夠在線監(jiān)測病患治療過程并為病患提供康復(fù)意見和計劃。患者如遇到特殊情況,可以與醫(yī)生進(jìn)行實時通信,向醫(yī)生進(jìn)行科學(xué)合理的咨詢。
(5)個人中心:此模塊提供了用戶的基本信息、日志記錄、提問和收藏。
4.5 部分實現(xiàn)代碼
//在登錄時加載新聞數(shù)據(jù)
new Thread() {
@Override
public void run() {
String jsonstr=new APIHelper().getNewsCatergory();
JsonParase.getNewsCaters(dbHelper, jsonstr); }
}.start();
}
/**
* 注冊
*/
private void register() {
// TODO Auto-generated method stub
Phonenumber=PhoneET.getEditableText().toString();
code=CodeET.getEditableText().toString();
password=PasswordET.getEditableText().toString();
repassword=PasswordET2.getEditableText().toString();
username=UserET.getEditableText().toString();
if (cb_doctor.isChecked()) {
post="醫(yī)生";
}
else {
post="患者";
}
//網(wǎng)頁加載
@Override
public void onProgressChanged(WebView view, int newProgress) {
if (newProgress==100) {
// 加載完畢,關(guān)閉進(jìn)度條
load_pro.setVisibility(View.GONE);
} else {
load_pro.setVisibility(View.VISIBLE);
// 網(wǎng)頁正在加載,顯示進(jìn)度框
load_pro.setProgress(newProgress);
}
super.onProgressChanged(view, newProgress);
}
});
5 實現(xiàn)效果(Realization effect)
通過進(jìn)行系統(tǒng)各個子模塊的測試和總體的測試,本系統(tǒng)各個模塊運行良好,可以實現(xiàn)其相應(yīng)的功能[10]。在主界面,醫(yī)生和患者可以選擇不同的身份登錄。在醫(yī)生端,醫(yī)生可以通過移動終端設(shè)備來查詢病人日志記錄和病例檔案等信息。根據(jù)移動終端用戶界面的提示,將從移動設(shè)備中讀取的數(shù)據(jù)以列表形式顯示出來。通過手機移動終端可以方便地查詢到醫(yī)院本地數(shù)據(jù)庫所存病患的病情信息和聯(lián)系方式,并可以直接在程序界面上快捷地?fù)芡ㄌ柎a以聯(lián)系患者進(jìn)行隨訪工作。在患者端,患者可以通過移動終端設(shè)備以日志形式記錄自己的日常用藥、發(fā)病和飲食情況。每天可以收到一些舒緩音樂、陽光文章,以及適當(dāng)鍛煉與飲食合理搭配等推送。患者還可以與醫(yī)生進(jìn)行通信,遇到緊急情況向醫(yī)生求救。在各個子模塊中,可以實現(xiàn)對子模塊中對應(yīng)的信息進(jìn)行相應(yīng)的操作,系統(tǒng)功能完善,能及時反饋測量數(shù)據(jù),實現(xiàn)智能推送治療建議。
6 結(jié)論(Conclusion)
本文采用Android智能終端移動平臺,對基于Android開發(fā)的慢性疾病隨訪APP進(jìn)行設(shè)計分析,簡要介紹了Android開發(fā)環(huán)境,對系統(tǒng)的概要設(shè)計和總體框架進(jìn)行了詳細(xì)說明,設(shè)計了一款基于Android開發(fā)的慢性疾病隨訪APP。系統(tǒng)使用Java語言的功能測試,通過可行性得到了驗證。同時,基于Android開發(fā)的慢性疾病隨訪APP還具有良好的人機交互界面,便于查詢病人日志和記錄病例檔案等信息,對移動終端遠(yuǎn)程醫(yī)療技術(shù)有一定的應(yīng)用價值。
參考文獻(xiàn)(References)
[1] 施偉,蔡自興.遠(yuǎn)程機器人監(jiān)控系統(tǒng)的研制[J].礦業(yè)工程研究,2004,26(4):42-45.
[2] 傅強.淺析安卓開發(fā)的相關(guān)技術(shù)[J].計算機光盤軟件與應(yīng)用, 2014(14):292.
[3] 汪鵬,吳昊.國內(nèi)外移動互聯(lián)網(wǎng)醫(yī)療應(yīng)用現(xiàn)狀及未來發(fā)展趨勢探討[J].中國數(shù)字醫(yī)學(xué),2014(1):8-10.
[4] 吳瓊.基于Android平臺下高校師生作業(yè)答題系統(tǒng)的設(shè)計與實現(xiàn)[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2014(4):129-130.
[5] 林先念,王偉全.基于Android平臺的醫(yī)患溝通APP研究與實現(xiàn)[J].微型電腦應(yīng)用,2017,33(6):17-19.
[6] 缺少浪漫.玩轉(zhuǎn)Android系統(tǒng)N64模擬器[J].電腦迷,2011(7):31.
[7] 李寧.不會編譯原理也能做Android計算器[J].電腦編程技巧與維護(hù),2013(13):16-21.
[8] 張征,陳永峰.Access數(shù)據(jù)庫安全淺析[J].河北軟件職業(yè)技術(shù)學(xué)院學(xué)報,2012,14(1):53-55.
[9] 張麗青.ERP后臺軟件的運用[J].中國集體經(jīng)濟(jì),2013(4):152-153.
[10] 張艷艷.基于J2EE的家庭理財系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機光盤軟件與應(yīng)用,2013(21):289-290.
作者簡介:
肖雪雯(1996-),女,本科生.研究領(lǐng)域:Android開發(fā).
王 謝(1996-),女,本科生.研究領(lǐng)域:Android開發(fā).
胡俊峰(1969-),男,博士,教授.研究領(lǐng)域:醫(yī)學(xué)工程與醫(yī)學(xué)仿真教學(xué)與研究.本文通訊作者.
蔣 歡(1997-),女,本科生.研究領(lǐng)域:數(shù)據(jù)庫應(yīng)用.
儲浩然(1998-),男,本科生.研究領(lǐng)域:數(shù)據(jù)庫應(yīng)用.