温 源,王佳嘉,刘建华,杜明义
(1.北京建筑大学 测绘与城市空间信息学院,北京 100044;2.现代城市测绘国家测绘地理信息局重点实验室, 北京 100044)
北京市汇集了上百家著名的医疗机构,吸引着全国各地前来就医的众多患者,外地患者来京之后时常遇到诸多就医问题,此外一些急诊患者不能快速定位到附近医院耽误治疗的情况亦时有发生。如何正确地引导患者就医,快速找到专病专治的医院医生,切实解决随行陪护家属的吃住行等生活问题,在医患之间建立起便捷的绿色通道显得尤为迫切[1-3]。目前,随着便携式智能移动终端设备(如智能手机、PAD等)的普及、移动3G/4G通信技术和移动互联网技术的高速发展,以及移动GIS技术在社会化服务领域的深入应用[4-7],为医疗资源移动GIS服务系统App软件的研发奠定了坚实的技术基础。
本文针对北京市医疗资源需求现状以及老百姓看病难和医患关系矛盾突出等社会不稳定因素,以服务广大患者为根本宗旨,以服务政府对医患关系信息监管为抓手,提出了基于Android操作系统的北京市医疗资源移动GIS服务系统,为患者在就医过程中提供全方位的“一站式”医疗资源自助服务。
通过对北京市医疗资源现状调研以及医疗市场需求进行分析,目前系统划分为6个功能模块,包括医院导诊、疾病导诊、附近医院、医院周边、健康导航以及风雨同医。后期将逐步对移动支付、电子病历、智能分诊以及物联网智能排号取药等模块进行扩展。模块设计需要准确定位功能需求并思考移动端技术实现和数据有限存取约束等因素,同时对模块界面进行优化以便达到流畅的用户体验效果。
图1和图2分别描述了北京市医疗资源移动GIS服务系统体系架构和系统功能模块。
图1 系统体系架构
为满足数据内容多元化、大容量存储需求以及优化客户端数据存取性能,系统数据库服务器采用PostgreSQL存储医院信息、医生信息以及用户信息等数据。Android系统的SQLite数据库存储用户收藏的医院、医生以及预约记事本等本地数据。系统采用的PostgreSQL数据库是基于BSD协议的一款完全免费的数据库,在执行复杂SQL查询、存储过程、触发器、多线程、索引等方面均具有一定的优势[8]。
图2 系统功能模块
针对业务数据需求本系统设计相应的数据表来存储不同类别的数据;主要有医院详细信息数据表hospitalinfo、医生详细信息数据表doctorinfo、用户注册信息数据表userinfo以及风雨同医模块发表信息表sayupinfo等。对于地图空间数据以及社会服务类基础数据的访问主要通过在线调用高德地图(或者天地图、百度地图)SDK提供的API接口予以实现。
北京市医疗资源移动GIS服务系统App的集成技术开发环境包括Eclipse、JDK、Android SDK,高德地图(或Google地图、百度地图、天地图)SDK以及Tomcat等。
Android是一个开放式智能手机和平板电脑移动端操作系统[9],它采用一种被称为软件叠层(Software Stack)的方式进行构建[10],Android系统由5部分组成,叠层结构使得各层之间相互分离,分工明确。
1)Linux内核。Linux作为Android系统的基础,提供了安全性、内存管理、进程管理等方面的核心系统服务。Android系统建立在Linux 2.6之上,是系统硬件和软件叠层之间的抽象层。
2)Android运行库。Android运行库由Android核心库集和Dalvik虚拟机两部分构成。Android核心库集提供了Java语言核心库所能使用的大部分功能;Dalvik虚拟机提供一个虚拟的Android环境,负责运行Android应用程序。
3)函数库。Android系统提供一套可以被不同组件使用的C/C++库的集合。Android程序开发者通过Android应用程序框架调用这些函数库,并不直接接触这些C/C++库集。Android函数库包含的主要核心库有系统C库、媒体库、Surface Manager、LibWebCore、SGL、3D libraries、FreeType、SQLite等。
4)应用程序框架。Android应用程序框架是开发Android应用程序的基础,并提供大量API供开发者使用,任何遵守框架约定的Android应用程序都可以发布它的功能模块,因此Android应用程序框架也是软件复用的重要手段。
5)应用程序层。Android系统提供由Java语言编写的核心应用程序包括日历、地图、浏览器、联系人、邮件客户端以及SMS程序等,此外由开发者自行编写的应用程序也位于该层。
移动GIS是一种全新的空间信息服务应用模式,是移动互联网技术与传统地理空间信息技术相结合的产物。随着移动互联网技术的高速发展,移动地理信息服务技术不仅继承了GIS对地理空间数据进行综合管理的特点,同时又扩展了地理信息服务技术的便捷性优势。地理空间信息技术为广大移动用户提供丰富的空间位置关联性服务,移动互联网技术则为移动地理信息服务提供良好的网络承载环境[11],智能移动终端良好的掌上便捷性和软硬件可扩展性为移动GIS服务开发提供了理想的平台[12-15]。
一般移动GIS地图服务模式包括本地离线缓存、网络在线和混合服务3种模式。本文基于Android平台的互联网地图API技术,采用Mobile/Server移动互联网服务架构对平台进行搭建,依据实际网络环境提供上述3种模式的服务。在Android平台下地图API应用开发的基本架构由3部分组成:接口应用层、业务逻辑层和数据管理层。开发者通过接口应用层选择开发语言,编辑业务逻辑,处理用户请求,获取基于底层数据与资源文件的地图服务。本文基于高德(或天地图、百度地图、Google地图)发布的地图服务SDK开发包及API接口,利用移动地理信息开发技术,实现在智能移动端的GIS服务应用。
Tomcat服务器是一款开源的免费Web应用服务器;是Apache软件基金会Jakarta计划核心项目[16]。Tomcat采用最新的Servlet和JSP规范,具有性能稳定、扩展性好、支持负载平衡等特点,使其成为目前比较流行的Web应用服务器,是开发和调试Servlet和JSP程序的首选[17]。
本文采用Tomcat服务器发布移动GIS相关服务,涉及移动客户端与服务器交互的多方面需求,涉及用户登录、权限设置、请求医院信息和上传论坛消息等。
Apache HttpClient是Apache开源组织为了更好地处理Web站点请求问题,提出的一个Http客户端,可以发送Http请求、接收Http响应。Apache HttpClient与HttpURLConnect类似,但只关注如何发送请求、接收响应以及管理Http链接。同时不会缓存服务器的响应,不执行HTML页面中嵌入的JavaScript代码,不对页面内容进行任何解析和处理。
本文在移动端接收医院信息、用户上传等功能上使用了Apache HttpClient技术,以便达到更好地处理Web站点请求的目的,增强用户的体验效果。
北京市医疗资源移动GIS服务系统以智能手机客户端App形式供用户免费下载使用,该系统各模块功能需求定位明确,可以满足患者的多方面需求,图3为系统主界面。
1)医院导诊模块。医院导诊模块提供北京市所有三甲医院信息以及医生信息。该模块应用图片热区方式直观地展示北京市三甲医院的信息,用户点击需要查询的地图区域后即可方便地查看该区的医院资源。
在技术实现方面,首先应用Dreamweaver软件预处理整张地图,在新建热区后,将热区点数据映射到手机相应区域,在arrays.xml文件中规定相应区域的热点数据。通过图片热区方式使得文字选择框变为生动的图片区域选择方式,达到了更好的用户体验效果。图4为医院导诊界面,点击各个地图区域即可弹出该区所有三甲医院列表,患者可以选择感兴趣的医院进一步了解。
图3 系统主界面
图4 医院导诊界面
2)疾病导诊模块。疾病导诊模块以全面的科室划分方式,应用滑动框的形式展现医院科室。在每一个科室里提供北京市该科排名前3位的医院信息,并推荐该科不同疾病治疗专长的医生信息。
疾病导诊模块满足患者对症医治需求,避免患者择医的盲目性和医疗资源浪费。该子系统提供的医院信息十分详尽,包括医院地址、电话、官方网站、特色科室、医院简介等信息。在医院地址处,点击地图图标可以直接定位到该医院所处位置,此外点击“到这里去”按钮即可查询规划路线,满足“一站式”路线导航服务需求。图5为疾病导诊界面,用户通过触屏左右滑动查找科室,点击进入到如图6的科室医院推荐界面,在该界面中推荐3所知名医院,点击相应医院便可进一步了解该医院信息。
图5 疾病导诊界面
图6 分科室医院推荐界面
3)附近医院模块。附近医院模块调用目前应用比较广泛的公益地图(如天地图、高德地图、百度地图、Google地图)API开发接口,实现卫星图和电子地图的交互显示、附近医院的快速定位以及实时路况信息的查询显示。该模块辅助用户在遇到紧急就医需求时快速找到附近的医院,适用于急诊等突发状况发生时对医院的快速定位与路线导航。图7为附近医院主界面,点击卫星地图图标,切换卫星地图显示模式;图8为附近医院的位置以及实时路况信息。
图7 附近医院界面
图8 附近医院实时路况展示
4)医院周边模块。医院周边模块分为“我的周边”和“医院周边”两种情况,该子系统提供医院周边的吃住行等信息,方便患者及家属。当用户点击“我的周边”按钮,系统自动定位到用户所在位置,选择吃住行相应按钮即可查询到所在位置附近的吃住行信息。当用户需要预先查询在某个医院附近的吃住行信息时,点击“医院周边”按钮,输入医院名称,即可满足对相应信息的查询。图9为医院周边主界面,点击“我的周边”按钮,弹出吃住行按钮;图10点击“医院周边”按钮,输入医院名称,选择吃住行信息,在地图像即可显示相应的信息。
图9 医院周边界面
图10 医院周边功能展示
5)健康导航模块。健康导航模块提供权威的医药数据,开设医疗保健相关信息浏览,方便用户了解更多医疗医药以及就医政策等信息。
6)风雨同医模块。 风雨同医模块为用户提供一个开放式的移动端就医交流平台,用户可以在该平台分享就医经历和感触,很多患者的亲身经历对有相关需求的其他患者具有很高的参考价值。
7)其他功能。为方便用户使用,系统还提供了我的定制(图11)、便捷挂号(图12)等子模块。在我的定制模块里有提醒小闹钟、就医记事本以及收藏医院和医生信息功能。在便捷挂号模块提供北京市预约挂号统一平台的联系方式以及按城区划分的医院便捷挂号入口,使得就医挂号更加便捷。
图11 我的定制界面
图12 便捷挂号界面
北京市医疗资源移动GIS服务系统利用智能移动终端的便携式特点,通过开发集成移动互联网和移动GIS等关键技术实现了对北京市医疗资源的有力整合,为广大患者提供了一个开放性的“一站式”医疗资源服务平台。未来系统将与各大医院进行广泛合作,逐步对移动支付、电子病历、智能分诊、排号取药等模块进行开发,着力构建智慧医疗服务新体系,为广大患者和医院提供更加优质的服务。
[1]孟宏佳.北京中心城医疗功能疏导的现状、问题及对策研究[D].北京:首都经济贸易大学,2014
[2]刘华云.北京市医疗旅游发展环境分析及对策建议[D].北京:北京中医药大学,2014
[3]陈颖.北京市医疗资源配置与人口发展关系研究[D].北京:首都经济贸易大学,2008
[4]孟群智.移动网络环境下移动终端设备的发展与应用[J].网络安全技术与应用,2013(7):49-50
[5]刘如海.3G通信技术发展现状探析[J].中国新通信,2014(16):76-77
[6]富丽曼.新时期4G移动通信技术要点和发展趋势探究[J].通讯世界,2014(2):14-15
[7]马敏,王旗.中国移动互联网现状与发展趋势分析[J].互联网天地,2014(2):29-32
[8]彭智勇,彭煜玮.PostgreSQL数据库内核分析[M].北京:机械工业出版社,2012
[9]谢博晖.基于Android操作系统的GIS软件开发与研究[D].上海:华东师范大学,2012
[10]李刚.疯狂Android讲义[M].北京:电子工业出版社,2013
[11]孟令奎,史文中,张鹏林.网络地理信息系统原理与技术[M].北京:科学出版社,2005
[12]王颖颖.无线网络通信在Mobile GIS中的应用研究[D].郑州:信息工程大学,2006
[13]陈能成.网络地理信息系统的方法与实践[M].武汉:武汉大学出版社,2009
[14]Prasad R, Dixit S, Nee R V, et al.Globalization of Mobile and Wireless Communications[M].France:Springer,2012
[15]Bolay J C, Schmid M, Tejada G, et al.Technologies and Innovations for Development[C].France: Springer, 2012
[16]张兴会.基于Java EE的高等学校绩效考核系统的设计和实现[D].济南:山东大学,2012
[17]虞小湖.基于Android平台的手机投票系统[D].合肥:安徽大学,2014