肖雪雯 王謝 胡俊峰 蔣歡 儲浩然
摘 要:當代快節奏的生活方式下,人們越來越關注自身的健康狀況。尤其是慢性疾病嚴重影響著現代人的身體健康,以上班族和中老年人群較為普遍。為預防減少慢性疾病并給予患者更多的幫助,基于安卓平臺,本文設計了一款基于Android開發的慢性疾病隨訪APP。該軟件分為醫生端和患者端,醫生和患者可以選擇兩種不同的登錄方式。本文在簡要介紹本系統開發環境及工具的基礎上,首先對實現該系統功能的技術進行分析,確定系統的功能需求;然后對系統進行概要設計和總體框架介紹。最后進行系統功能測試[1],分析總結測試結果,并對基于Android開發的慢性疾病隨訪APP進行了總結與展望。
關鍵詞:Android平臺;軟件開發;慢性疾病
中圖分類號:TP311.5 文獻標識碼: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)
隨著科學技術的不斷創新,智能化的生活已經到來[1]。Android技術繼承了Linux操作系統的自由,同時具有源代碼開放的優點,便于在移動設備上使用[2]。近年來,國外移動醫療行業迅速發展,遠程醫療技術在部分發達國家也已相當成熟。此外,手機移動終端設備的高速智能化發展,使得遠程醫療不斷向移動領域滲透[3]。癲癇作為一種常見的神經系統疾病之一,對患者身心健康產生很大的消極影響。為預防減少慢性疾病并給予患者更多的幫助與關懷,本文以癲癇為例,基于Android平臺,設計了一款基于Android開發的慢性疾病隨訪APP。旨在為病人提供科學合理的指導,幫助其高效康復治療。
本文的內容主要包括幾個方面:首先,對系統開發環境及技術進行簡要介紹。其次,對系統概要設計與總體架構進行詳細說明。最后,對系統進行功能測試,并對測試結果進行分析,并對全篇進行了總結與展望。
2 目的(Purpose)
如今,國內相對比較出名的移動醫療應用有以下幾個類型:①醫患交互類。這類應用整合了相應的醫療數據庫和醫生資源,可以為用戶提供遠程醫療咨詢或打造私人家庭醫生,其中比較出名的應用有春雨掌上醫生、5U家庭醫生等。②專業輔助類。這類應用一般基于CDSS系統,內容涵蓋了臨床評估、醫學計算、藥物、手術、醫學檢測等方面。③面向患者的用藥指導類??梢詾槠胀彝ヌ峁┧幬镄畔⒉樵?、藥物真假鑒定、藥店查詢等。④綜合服務類。這類應用一般由醫院機構合作開發,能夠為用戶提供移動導診、預約掛號、病情查詢、健康檔案查詢等綜合醫療服務。基于Android開發的慢性疾病隨訪APP完成了臨床數據信息在服務器SQL Server數據庫和基于Android終端SQLite數據庫的設計搭建,實現了兩數據庫的交互運行。此外,基于Android開發的慢性疾病隨訪APP完成了基于Android智能終端應用軟件的設計,包括軟件的界面設計、邏輯實現和服務器訪問模塊,實現了患者與醫生注冊登錄模塊、患者人文關懷模塊、患者日志記錄模塊、檢查信息模塊、醫生的病人管理模塊、患者與醫生通信模塊、醫囑處理模塊。本文開發的基于Android智能終端的移動醫療信息系統,打破了目前醫療信息化領域存在的信息孤島,實現了醫護人員的移動辦公。
3 開發環境及技術介紹(Introduction of development environment and technology)
3.1 Android平臺開發
3.1.1 開發框架與環境
系統的手機客戶端在Android平臺下完成開發,以Java為開發語言,以eclipse為開發工具[4],通過GET/POST請求,以JSON為通信交換格式和服務器端進行通信。Android應用開發框架是Application Framework。其系統架構主要由四部分組成,自下而上依次是:Linux Kernel、Android Runtime、Application Framework、Applications[5]。
3.1.2 主要開發工具
(1)Android SDK:Android開發工具包,使用API就需要引入該工具包。
(2)虛擬設備管理器:用于對Android虛擬設備AVD和SDK包進行創建和管理。
(3)ADT:Android在Eclipse上的開發工具,可以直接在線安裝Eclipse。
(4)Android模擬器:Android運行的虛擬設備[6],通過AVD可以啟動Android模擬器,來對程序進行調試。
(5)Android資源打包工具[7]:即Android Asset Package Tool,用于將資源文件打包到APK中。
(6)Android調試橋:即ADB,可以將手機與電腦連接起來,是用來對模擬器和真機進行管理的調試工具。
Android開發環境搭建流程如圖1所示:
3.2 實現技術
本文是在Android平臺上開發一款基于Android開發的慢性疾病隨訪APP,將會涉及人機交互、數據庫操作、客戶端開發等方面技術。本項目利用Apache組織提供的基于Java平臺的服務軟件作為服務端,與手機移動終端進行交互,將移動終端發送的數據存入數據庫,從數據庫中讀取數據,并向移動終端推送消息等操作。
基于SQL Server建立用戶信息數據庫[8],可以快捷地創建數據庫并且有效全面地實現系統所需的各個功能。數據庫主要分為用戶個人信息表、患者治療建議表和患者治療記錄表,各表屬性如下所示:
①t_user:主要包含用戶id、用戶身份(患者/醫生)、用戶名、年齡、性別、在線情況、地址、郵箱、密碼、手機號和頭像。
②t_advice:包含疾病癥狀、嚴重程度、具體建議、建議者的ID。
③t_record:包含用戶名、治療時間點、治療種類、治療時長。
SQL Server是由Microsoft開發和推廣的關系數據庫管理系統(DBMS)。SQL Server采用了真正的客戶機/服務器體系結構圖形化用戶界面,使系統管理和數據庫管理更加直觀、簡單。SQL Server與Windows NT完全集成,利用了NT的許多功能,如發送和接受消息、管理登錄安全性等,更加簡化了項目的開發過程。SQL Server對Web技術的支持,以及豐富的編程接口工具,使我們能夠很容易地將數據庫中的數據采集并發布到服務器上。
4 概要設計與總體架構(Outline design and overall architecture)
4.1 軟件結構
癲癇病人隨訪APP系統分為:登錄、注冊、個人中心、無距離通信、權限管理、健康檔案、智能提醒、推送關懷八個模塊。
該系統模塊圖如圖2所示。
4.2 邏輯分層
基于Android開發的癲癇病人隨訪的APP設計與實現采用三層架構,分別為UI表示層(User Interface layer)、業務邏輯層(Business Logic Layer)、數據訪問層(Data Access Layer)。
4.2.1 UI表示層
UI表示層即手機移動終端軟件,位于最外層(最上層),最接近用戶,用于顯示數據和接收用戶輸入的數據,為用戶提供一種交互式操作的界面。所起到的作用就是將手機從業務層接收到的數據形象化、結構化、體系化地展示給用戶。同時用戶可以通過軟件功能界面,進行數據的寫入,再由用戶界面層將數據傳送到業務邏輯層。
4.2.2 業務邏輯層
業務邏輯層起到承接作用,位于表示層和數據訪問層之間,專門負責處理用戶輸入的信息,或者是將這些信息發送給數據訪問層進行保存,或者是通過數據訪問層從數據庫讀出這些數據。業務邏輯層是表示層和數據訪問層之間的橋梁,負責數據處理和傳遞。向上,業務層需提供Android端接口、PC管理員端接口和網頁端接口,使得數據可以展示在外部應用上。向下,業務邏輯層提供與底層數據庫的接口,可以將在本層從手機端獲得的數據保存到數據庫中。反之,本層也可以根據手機端的需求,獲取數據庫中的數據。
4.2.3 數據訪問層
數據訪問層的功能是負責數據庫的訪問,主要是訪問數據庫系統、二進制文件、文本文檔或XML文檔。在本項目中,這一層是一個獨立于醫院內其他數據庫的數據庫,是基于手機移動終端病人回訪系統的專用數據庫。同時,為了實現與醫院本地數據庫的數據同步,因而設計了一個數據同步中間件。其功能是將兩個數據庫的數據進行同步,實現兩個數據庫之間的實時通信,數據共享。
三層架構如圖3所示。
4.3 對基于Android開發的慢性疾病隨訪APP的設計與實現進行邏輯抽象建模
首先,基于Android開發的慢性疾病隨訪APP分為患者端與醫生端。在患者端,患者可以通過移動終端設備以日志形式記錄自己的日常用藥、發病和飲食等情況。人文關懷模塊實時推送舒緩音樂、陽光文章,以及適當鍛煉與飲食合理搭配等相關內容。一旦遇到特殊情況,患者還可以與醫生進行實時通信,向醫生進行科學合理的咨詢。在醫生端,醫生可以通過移動終端設備來查詢病人日志記錄,以及病例檔案等信息。根據移動終端用戶界面的提示,將移動設備中讀取的數據以列表形式顯示出來。醫師需要進行隨訪工作時,通過手機移動終端方便地查詢到醫院本地數據庫所存病患病情信息和聯系方式,并可以直接在程序界面上快捷地撥通號碼聯系患者進行隨訪工作。隨訪過程中,也可以通過用戶終端界面將病患的康復情況及時地記錄下來,存入到醫院的本地數據庫中,并在數據庫中對數據進行分類[9]。這樣,主治醫師僅需輸入病患的姓名等關鍵信息,便可查詢病患的住院記錄、治療記錄、康復記錄等信息并對這些信息進行處理。另外,數據庫將接受到的數據進行數據的實時更新,并將獲取的信息自動推送到醫生移動終端,以實現手機移動終端信息數據的實時傳送、更新。
基于Android開發的慢性疾病隨訪APP的設計與實現進行邏輯抽象建模如圖4所示。
4.4 慢性疾病隨訪APP包含的五個主要設計模塊
(1)用戶登錄驗證:此模塊提供了必要的用戶登錄及驗證功能。用戶可以通過此模塊完成注冊、登錄及賬號綁定功能。
(2)病人回訪:在此模塊中,可以通過用戶終端界面將病患的康復情況及時地記錄下來并存入到醫院的本地數據庫中,并在數據庫中對數據進行分類。主治醫師僅需輸入病患的姓名等關鍵信息,便可查詢病患的住院記錄、治療記錄、康復記錄等信息,并對這些信息進行處理。
(3)人文關懷:查詢病人日志記錄和病例檔案等信息。通過云平臺,實時推送舒緩音樂、陽光文章,以及適當鍛煉與飲食合理搭配等相關內容。
(4)醫患溝通:此模塊中,醫生能夠在線監測病患治療過程并為病患提供康復意見和計劃?;颊呷缬龅教厥馇闆r,可以與醫生進行實時通信,向醫生進行科學合理的咨詢。
(5)個人中心:此模塊提供了用戶的基本信息、日志記錄、提問和收藏。
4.5 部分實現代碼
//在登錄時加載新聞數據
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="醫生";
}
else {
post="患者";
}
//網頁加載
@Override
public void onProgressChanged(WebView view, int newProgress) {
if (newProgress==100) {
// 加載完畢,關閉進度條
load_pro.setVisibility(View.GONE);
} else {
load_pro.setVisibility(View.VISIBLE);
// 網頁正在加載,顯示進度框
load_pro.setProgress(newProgress);
}
super.onProgressChanged(view, newProgress);
}
});
5 實現效果(Realization effect)
通過進行系統各個子模塊的測試和總體的測試,本系統各個模塊運行良好,可以實現其相應的功能[10]。在主界面,醫生和患者可以選擇不同的身份登錄。在醫生端,醫生可以通過移動終端設備來查詢病人日志記錄和病例檔案等信息。根據移動終端用戶界面的提示,將從移動設備中讀取的數據以列表形式顯示出來。通過手機移動終端可以方便地查詢到醫院本地數據庫所存病患的病情信息和聯系方式,并可以直接在程序界面上快捷地撥通號碼以聯系患者進行隨訪工作。在患者端,患者可以通過移動終端設備以日志形式記錄自己的日常用藥、發病和飲食情況。每天可以收到一些舒緩音樂、陽光文章,以及適當鍛煉與飲食合理搭配等推送。患者還可以與醫生進行通信,遇到緊急情況向醫生求救。在各個子模塊中,可以實現對子模塊中對應的信息進行相應的操作,系統功能完善,能及時反饋測量數據,實現智能推送治療建議。
6 結論(Conclusion)
本文采用Android智能終端移動平臺,對基于Android開發的慢性疾病隨訪APP進行設計分析,簡要介紹了Android開發環境,對系統的概要設計和總體框架進行了詳細說明,設計了一款基于Android開發的慢性疾病隨訪APP。系統使用Java語言的功能測試,通過可行性得到了驗證。同時,基于Android開發的慢性疾病隨訪APP還具有良好的人機交互界面,便于查詢病人日志和記錄病例檔案等信息,對移動終端遠程醫療技術有一定的應用價值。
參考文獻(References)
[1] 施偉,蔡自興.遠程機器人監控系統的研制[J].礦業工程研究,2004,26(4):42-45.
[2] 傅強.淺析安卓開發的相關技術[J].計算機光盤軟件與應用, 2014(14):292.
[3] 汪鵬,吳昊.國內外移動互聯網醫療應用現狀及未來發展趨勢探討[J].中國數字醫學,2014(1):8-10.
[4] 吳瓊.基于Android平臺下高校師生作業答題系統的設計與實現[J].農業網絡信息,2014(4):129-130.
[5] 林先念,王偉全.基于Android平臺的醫患溝通APP研究與實現[J].微型電腦應用,2017,33(6):17-19.
[6] 缺少浪漫.玩轉Android系統N64模擬器[J].電腦迷,2011(7):31.
[7] 李寧.不會編譯原理也能做Android計算器[J].電腦編程技巧與維護,2013(13):16-21.
[8] 張征,陳永峰.Access數據庫安全淺析[J].河北軟件職業技術學院學報,2012,14(1):53-55.
[9] 張麗青.ERP后臺軟件的運用[J].中國集體經濟,2013(4):152-153.
[10] 張艷艷.基于J2EE的家庭理財系統的設計與實現[J].計算機光盤軟件與應用,2013(21):289-290.
作者簡介:
肖雪雯(1996-),女,本科生.研究領域:Android開發.
王 謝(1996-),女,本科生.研究領域:Android開發.
胡俊峰(1969-),男,博士,教授.研究領域:醫學工程與醫學仿真教學與研究.本文通訊作者.
蔣 歡(1997-),女,本科生.研究領域:數據庫應用.
儲浩然(1998-),男,本科生.研究領域:數據庫應用.