APP下载

基于Android的智慧医疗预约挂号客户端设计与实现

2016-10-14张鹤张巍

电子设计工程 2016年12期
关键词:功能模块挂号客户端

张鹤,张巍

(大连交通大学电气信息学院,辽宁大连116028)

基于Android的智慧医疗预约挂号客户端设计与实现

张鹤,张巍

(大连交通大学电气信息学院,辽宁大连116028)

基于改善传统医疗预约挂号的繁琐流程以及医疗信息不透明给就医人员造成极大不便的目的,采用一种基于Android平台和移动终端的新型预约挂号方式设计该智慧医疗预约挂号客户端,通过总体需求分析,将客户端划分为用户管理、查找预约、在线支付和订单管理四个功能模块,结合具体的设计操作完成并实现了该设计,并且通过客户端的功能及兼容性测试,证明该客户端可以实现信息查找、预约挂号、在线交费为一体的智能预约挂号医疗服务。

智慧医疗;Android;预约挂号;客户端设计

近二十年来,随着我国经济的迅猛发展,医疗水平同时也在不断提高,但是由于我国是一个人口大国,所以医疗资源人均分配不足的情况依旧十分严峻。特别是一些优质医疗资源集中的大型医疗机构,往往会是就医人员预约挂号的首要选择,这就势必会造成预约挂号需求量过大,成功预约挂号变成一件不容易的事[1]。目前,随着信息技术和通讯技术的迅猛发展,手机的功能和应用不断强大,其成本逐步降低,使得智能手机已正式成为了现代通讯工具的主流产品,智能手机在各个领域的应用已经普及开来[2-6]。在未来,手机电子商务势必会带动下一次科技革命,而利用手机进行预约挂号就体现了这种革命性的变化.

本文所设计的智慧医疗预约挂号客户端是要在Android移动终端上建立一个包括多家门诊、医院甚至整个城市的医疗机构的智能化预约挂号平台。该客户端可以对各个医疗机构的预约挂号信息进行实时查询和预约挂号,为就医人员提供实时、准确的挂号信息,引导就医人员选择适合的时间或选择剩余挂号数富余的医师、医疗机构,同时引入了实名制预约挂号的规范标准,从根本上打击了不法分子“倒号、炒号”的违法行为,提供便捷、有效、公平的预约挂号操作,改善当下的就医环境。

1 智慧医疗预约挂号客户端功能模块划分

本文所设计的智慧医疗预约挂号客户端是针对城市区域各大型医疗机构管理,这类医疗机构有以下典型特点:

首先,大型医疗机构门诊类别数量多,就医资源较大,可满足大部分就医人员的就医需求。但是现阶段挂号制度还并不完善,挂号实名制还无法普及,导致“倒号、炒号”现象普遍存在。

其次,在一般情况下,大多数医疗信息只在医疗门诊或特定医疗媒介中显示,就医人员很难快捷的找到满足自己需求的资源,这给整个就医流程带来很大的不便。

最后,由于就医人员的流动性较大,就医人员只掌握挂号数量的总数,不能实时掌握挂号的剩余数量。因此,该客户端应该具有实时更新、方便、快捷、准确、透明的特点。

结合城市医疗机构的上述特点,本论文设计的智慧医疗预约挂号客户端作为一款信息服务与管理软件具有以下四个功能模块。智慧医疗预约挂号客户端功能模块划分如图1所示。

图1 功能模块划分图

1)用户管理模块。包括用户的注册、登录以及患者管理,其中为提高预约挂号实名制规范管理,患者添加功能时采用实名制校验方式。同时需要用户首先完成登录操作后可以进行信息查找、预约挂号等。

2)查找预约模块。本智慧医疗预约挂号客户端主要目的是方便就医人员对医疗信息的整体把握,所以为了使就医人员能够更方便、更快捷地查找到自己需要的医疗信息,本客户端提供多种信息查找方式,如区域查找、医院查找、科室查找、医师查找,其中科室查找包含医师查找,医院查找包含科室查找,区域查找包含医院查找。同时,对每个医院、科室、医师都有详细的描述供就医人员进行选择参考,最大程度上的使用户查找医疗信息更加方便、快捷。用户根据所查到的医疗信息,并结合自身需求确定是否进行预约挂号,同时填写就医人员的相关信息以及就医时间。

3)支付功能。用户在确定预约挂号后,需要完成挂号费支付。本客户端将为用户提供在线支付和线下支付两种方式给用户,以便最大程度上的满足用户的需求。此外,本智慧医疗预约挂号客户端为了避免因一些用户操作不当而造成的医疗资源的浪费,针对每个订单都设置支付时间限定,若支付超时自动取消该预约订单。

4)订单管理功能。用户可以通过本智慧医疗预约挂号客户端查看订单状态或者取消已经预约成功的订单,实现医疗资源的合理分配,避免医疗资源的浪费,同时还可以对一定时期内的历史预约挂号订单进行查找,方便记录用户的健康状态情况,为保障用户的隐私需求,用户还可以将历史预约挂号订单进行删除操作。

此外,为了保证智慧医疗预约挂号客户端的后期开发与完善,本客户端预留一个模块作为其他辅助功能模块。同时智能化预约挂号平台还应包含后台管理系统,用来进行医疗信息数据的收集和发布以及就医人员数据的统计、管理。本客户端也正是在此基础之上进行设计的。

3 智慧医疗预约挂号客户端设计

3.1智慧医疗预约挂号客户端总体设计

总体架构主要包括前台Android智慧医疗预约挂号客户端,服务器端以及数据库。其中前台Android智慧医疗预约挂号客户端主要负责与用户的交互,将用户的请求发送给服务器端;服务器端负责接收前台的请求并产生响应内容给前台客户端;数据库用来完成数据的存储。总体架构示意图如图2所示。

图2 总体架构示意图

用户发出指令后,客户端通过无线网络访问后台服务器,服务器采用Servlet技术响应客户端的访问请求,利用JDBC[7]技术访问后台数据库,并将处理结果返回给客户端。预约挂号系统的网络通信采用Apache HTTP协议[8],使用JSON格式作为服务器与客户端数据交换的格式,通过HttpConnection接口来实现服务器与客户端的有效通信。客户端的数据存储采用MySQL数据库。

2.2客户端主界面设计

为了使用户与客户端之间可以更加友好交互,本智慧医疗预约挂号客户端提供了主菜单界面。主菜单界面主要负责将各个功能选项以图片形式集中在同一界面,方便用户可以快捷选取自己需求的功能。在本客户端的主菜单界面中,为了方便组件的布局和未来优化,采用了嵌套的布局方式。即在一种布局方式中嵌套使用其他布局方式。这样不仅充分利用了每一种布局的优势,同时也使得组件的布局更灵活。在程序主界面XML布局文件建立好后,建立Activity java文件实现对XML布局文件的控制,也就是实现MVC模型中的Control部分。首先定义了一个ImageAdapter,它继承BaseAdapter,用来存储要显示的图片,建立数据源和组件之间的桥梁,使得功能选项的图片按钮更加直观。当用户选择某一个功能时,为了捕获到被选中的功能按钮,通过监听相应功能button单击事件,实现onClick方法,进而捕获控件的Id。为了保证用户与客户端之间的交互性,当客户端未连接网络,用户在进行功能选择时会弹出toast消息提示。主菜单界面流程如图3所示,客户端主界面如图4所示。

2.3用户管理功能模块设计

用户管理功能模块主要负责完成对用户信息和患者信息的管理,包括用户注册、登陆子功能和患者管理子功能两部分。在登陆功能模块中,实际上完成的就是一个验证的功能。首先由用户发出一个登陆请求,经过Servlet处理后,验证该登陆信息是否正确。若错误,则提示用户修改登录信息,若正确,则登录成功,可进行后续操作。处理用户登录的Servlet只是前端控制器,它主要作用有3个:获得请求参数;调用业务逻辑组件的方法来处理用户请求;根据处理结果来生成输出。对于患者管理,因为身份信息属于保密信息无法通过数据库录入来进行实名制验证,所以在本客户端中以引用第三方平台接口的形式来进行患者信息的实名制验证,当用户通过患者添加功能保存患者信息时[9],客户端将填写的患者姓名信息和身份证号信息通过toString()方法转换成字符串,然后再以JSON数据格式传到第三方验证服务器,当第三方验证服务器进行信息验证处理后,返还给服务器一个验证状态标识,服务器通过此标识记录该患者信息是否通过实名制验证。

图3 主菜单界面流程图

图4 客户端主界面

2.4查找预约功能模块设计

查找预约功能是智慧医疗预约挂号客户端的核心功能,包括查找信息和预约挂号两部分,主要负责引导用户查找到自己需要的预约信息,确定就诊医师完成预约。查找信息过程中,最重要的功能就是向就医人员展示医疗资源信息。在此模块中,根据需求调查分析,就医人员对于信息展示的形式更倾向于分组又可以实现收缩的列表形式,所以在查找信息模块设计中,我们采用ExpandableListView可展开的列表控件完成向就医人员的医疗信息展示。为了方便就医人员现场确认医师,在本模块设计中,我们定义ExpandableListView时指定了android:childIndicator="@draw/doctor_id"属性,它会自动在每个子列表项旁边添加一个图片。此外,在按医生查找中,加入了SearchView搜索框组件,允许用户在文本框内输入医师姓名,并允许通过监听器监控用户输入,当用户输入完成后向服务器发送请求,然后把服务器响应字符串包装成JSONArray对象,再进行显示。

在预约挂号模块中主要完成的就是从医师信息界面跳转到预约确认界面,所以设计如何进行界面的切换和参数传递是本功能设计的重点之一。考虑到有的界面的数据比较多,所以最终在本功能模块设计中选择使用Intent类来连接多个Activity,使用Bundle类来进行数据封装传递。因为数据是通过Bundle类封装传递的,所以在另一界面上同样采用Bundle方式解封数据,具体方法为先通过“getIntent().getExtras()”方法来获取Bundle,然后再从Bundle中获取数据。

2.5支付功能模块设计

在本客户端中,提供预约挂号费用线上支付功能,用户在进行预约挂号阶段可以对预约挂号费用支付方式进行选择。例如,选择调用支付宝快捷支付接口完成用户挂号费用的线上支付具体步骤包括:前期准备:此阶段主要完成支付宝接口的申请认证,包括签约和密钥配置;SDK开发资源导入;生成订单数据;支付接口调用。当用户完成线上支付后,还需要将支付结果返还给用户,所以调用pay方法支付后,以异步通知方式将结果返还给用户。

2.6订单管理功能模块设计

用户成功登录后,在主界面点击订单管理按钮,进入订单查看界面,订单查看将分为三个子界面,已完成订单、未就诊订单和未付款订单。所以在该功能模块设计中采用与查找信息相同风格的界面布局,即Tab分页标签的形式。Android里面实现Tab分页标签,常用的方法有两种:一个是采用TabActivity和TabHost的结合;另一个是采用ActivityGroup和GridView的结合。在本客户端设计中均采用第一种方法,具体实现TabActivity和TabHost的结合则采用将各个页面布局文件分割,各页面代码也分割的形式,这样设计不仅降低了代码的耦合性,增强了代码的可读性,同时也减少了后期维护的工作量。具体实现步骤为,首先在布局文件中使用FrameLayout列出Tab组件以及Tab中的内容组件,然后主类Activity要继承TabActivity,在调用TabActivity的getTabHost()方法来获得TabHost对象,最后添加Tab分页标签,这里要把每个分页面链接成Activity,Tab页面的跳转,即是Activity的跳转,以上操作实现了Tab分页标签。

3 客户端实现与测试

3.1客户端功能模块的实现

由于篇幅有限,现展示部分功能实现效果图,如图5为搜索医生功能实现界面,图6为查看预约信息功能实现界面,图7为预约成功界面。

图5 搜索医生功能实现界面

图6 查看预约信息功能实现界面

图7 预约成功界面

3.2客户端兼容性测试

兼容性测试是指在不同分辨率、不同版本操作系统的移动终端上,客户端能否正常显示界面。本测试过程选用三款不同品牌及型号、不同屏幕尺寸、不同分辨率、不同版本操作系统的Android移动终端进行兼容性测试[10]。测试结果如图8所示,在测试过程中三款Android移动终端均能正常使用该智慧医疗预约挂号客户端,没有界面失真及组件位置失真现象出现,测试结果表明该智慧医疗预约挂号客户端具有良好的兼容性。

图8 兼容性测试结果图

4 结论

本文结合了当今预约挂号过程中预约挂号时间长、费用交付时间长、候诊排队时间长、就诊过程短的“三长一短”现状,针对医疗信息实时性差,透明度低,就医环境差等问题,设计实现了一种基于Android平台和移动终端的新型预约挂号方式。该预约挂号方式方便就医人员快速查找医疗信息,更便捷地完成预约挂号流程,缩短排队等候的时间,从而实现了信息查找、预约挂号、在线交费为一体的智能预约挂号医疗服务。

[1]胡燕华.关于中国医院网上预约挂号系统发展趋势的研究综述[J].科技致富向导,2014(26):97.

[2]刘安战,车战斌,郭丽.基于Android和Web的设备维修动态管理系统[J].计算机应用与软件,2014(11):245-247.

[3]Weidig C,Menck N,Aurich J C.Systematic development of mobile AR-Applications supporting production planning[J].Springer International Publishing,2014:219-224.

[4]Ghose A,Biswas P,Bhaumik C,et al.Road condition monitoring and alert application:Using in-vehicle smartphone as internet-connected sensor[C]//Pervasive Computing and Communications Workshops,2012.IEEE International Conference on.IEEE,2012:489-491.

[5]段昌奉,张巨发,唐雄,等.基于Android智能终端的医院移动护理系统应用效果评价[J].中国数字医学,2013(2):95-96.

[6]Hsieh C,Yun D,Bhatia A C,et al.Patient Perception on the Usage of Smartphones for Medical Photography and for Reference in Dermatology[J].Dermatologic Surgery,2015,41(1):149-154.

[7]Fisher M,Ellis J,Bruce J C.JDBC API tutorial and reference[M].Addison-Wesley Professional,2003.

[8]Fielding R T,Kaiser G.The Apache HTTP server project[J]. Internet Computing.IEEE,1997,1(4):88-90.

[9]施先旺,王鹏武.发动机工况实时调节软件设计[J].火箭推进,2012(5):70-76.

[10]李军浩,胡泉伟,吴磊,等.极化/去极化电流测试技术的仿真研究[J].陕西电力,2011(4):1-5.

Design and implementation of appointment registration client for wisdom medical treatment based on Android

ZHANG He,ZHANG Wei
(School of Electronics and Information Engineering,Dalian Jiaotong University,Dalian 116028,China)

To solve the problem of traditional appointment,in which the tedious process and the non-transparent of information have brought great inconvenience to the patients,a new way for appointment registration in the thesis is designed and implemented based on android and mobile terminals.According to the investigation,the outline needs of client for wisdom medical are analyzed.Divided the client into four function modules:user management,find and booking,online payment,order management.We complete and implement the design,and go through the client's function and compatibility test,proving that the client can realize to integrate information search,appointment making and payment online,and realize intelligent medical service appointment.

wisdom medical;android;appointment register;client design

TN929.5

A

1674-6236(2016)12-0100-04

2015-07-09稿件编号:201507074

张鹤(1992—),女,山西忻州人,硕士研究生。研究方向:通信理论及关键技术。

猜你喜欢

功能模块挂号客户端
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
基于ASP.NET标准的采购管理系统研究
输电线路附着物测算系统测算功能模块的研究
功能模块的设计与应用研究
挂号中介服务“赔本赚吆喝”
“医信通”对降低门诊预约挂号失约率的效果评价
分时段预约挂号的实现与应用