基于Android开发的慢性疾病随访APP的设计与实现

2018-03-28 06:03肖雪雯王谢胡俊峰蒋欢储浩然
软件工程 2018年2期
关键词:慢性疾病Android平台软件开发

肖雪雯 王谢 胡俊峰 蒋欢 储浩然

摘 要:当代快节奏的生活方式下,人们越来越关注自身的健康状况。尤其是慢性疾病严重影响着现代人的身体健康,以上班族和中老年人群较为普遍。为预防减少慢性疾病并给予患者更多的帮助,基于安卓平台,本文设计了一款基于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)医患沟通:此模块中,医生能够在线监测病患治疗过程并为病患提供康复意见和计划。患者如遇到特殊情况,可以与医生进行实时通信,向医生进行科学合理的咨询。

(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-),男,本科生.研究领域:数据库应用.

猜你喜欢
慢性疾病Android平台软件开发
空巢高龄慢性疾病患者护理需求调查及实施整体化护理研究
移动健康教育在慢性疾病防治过程中的可行性分析
基于Android平台软件开发技术研究
基于Android平台的人脸识别系统设计与实现
基于Android平台的健康医疗APP设计与开发
信息安全环境下的计算机软件开发研究
Android手机主题设计 
核电厂定期试验管理软件开发
FPGA软件开发过程中编码规范的作用
中山市横栏老年农民健康状况及慢性疾病调研