基于安卓平台的导医导药系统的设计与实现_第1页
基于安卓平台的导医导药系统的设计与实现_第2页
基于安卓平台的导医导药系统的设计与实现_第3页
基于安卓平台的导医导药系统的设计与实现_第4页
基于安卓平台的导医导药系统的设计与实现_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于安卓平台的导医导药系统的设计与实现摘要随着4G时代的来临和智能终端的普及,移动应用正在潜移默化的影响着人们的生活。移动医疗解决了医疗资源分配不均匀的问题,使用户能够足不出户,就能得到远程的医疗服务。本系统采用C/S和B/S结构,采用MVC设计模式,实现了移动医疗的功能,将线上和线下医疗相结合,为用户提供了方便快捷的服务。摘要移动医疗智能终端MVC设计模式DESIGNANDIMPLEMENTATIONOFANDROIDPLATFORMBASEDDRUGDELIVERYSYSTEMVACCINEIMMUNOLGUIDEABSTRACTWITHTHEPOPULARITYOF4GCOMINGANDINTELLIGENTTERMINALS,MOBILEAPPLICATIONSARESUBTLEIMPACTONPEOPLESLIVESMOBILEHEALTHSOLUTIONTOTHEPROBLEMOFUNEVENDISTRIBUTIONOFMEDICALRESOURCES,ALLOWINGUSERSTOSTAYATHOME,YOUCANGETREMOTEMEDICALSERVICESTHESYSTEMUSESC/SANDB/SSTRUCTURE,USINGTHEMVCDESIGNPATTERN,TOACHIEVEAMOBILEMEDICALFUNCTIONS,THEONLINEANDOFFLINEMEDICALCARECOMBINETOPROVIDEUSERSWITHACONVENIENTANDEFFICIENTSERVICEKEYWORDSMOBILEHEALTHINTELLIGENTTERMINALMVCDESIGNPATTERN0引言移动医疗APP,指基于安卓、苹果等移动终端操作系统的医疗类移动应用。医疗APP的功能是集门诊全流程服务及移动金融支付功能的智慧型医疗APP应用。具有分诊咨询、预约挂号、排队叫号、检验结果、缴费、等功能,将看病所需的一体化流程全部纳入。使用医疗APP的患者只需看手机上APP的提醒或动动手指查阅,便可知道就诊时间、检验结果等,无需再和以往一样,在医院大排长龙漫长地等待医护人员的叫唤。本系统WEB管理端采用了B/S结构模式,ANDROID端采用了C/S的结构模式。安卓客户端采用了MVC分层的设计模式、UI界面设置技术和JSON进行通信,使用了开源安卓框架,封装了异步网络操作,异步图片操作,和UI控件绑定技术。WEB管理端采用JSP技术,使用SPRINGMVCHIBERNATESPRING框架,采用MVC分层模式和IOC编程思想,通过SPRING框架对SERVICE和DAO自动注入,通过HIBERNATE对数据进行持久化,通过SPRINGMVC对URL进行解析和过滤。安卓客户端采用HTTP通信与WEB服务端进行数据交互,同时采用轻量级JSON数据格式对数据进行封装。通过GSON反序列化JSON数据,注入实体类。服务器端采用JSTL标签在页面进行变量输出,布局上通过HTML,CSS和JAVASCRIPT技术实现页面的设计。数据库采用中小型的MYSQL,错误日志采用LOG4J对错误进行输出。1系统设计11概要设计1系统数据流程设计概要设计需要根据用户的需求和交互,形成框架的过程,最后用框架图的形式来呈现。本设计包括医生,病人和管理员的信息的维护,管理员管理以及医生和患者交互管理等模块的设计;医生和患者首先到主页进行注册。,填写一些必须的信息。然后,管理员可以对这些用户进行管理,对医生的资格认证和对用户信息的管理。最后,患者可以根据医生提供的时间进行预约,形成预约单,患者对医生进行筛选,进行网上就诊,形成就诊单和就诊记录。以下是系统的数据流图。系统数据流如下/图11顶层数据流图123451678109123图12一层数据流图2表结构设计本系统设计的表有患者表,管理员表,医生表,文件表,就诊单表,就诊记录表,临时文件表,日程表。由于涉及到的表比较多,这里我就举几个典型的表结构列出,以下是相关表的表结构1)名称医生表(DOCTOR)该表主要是存放了一些医生的信息,方便管理员进行认证。详细见表13表13医生表(DOCTOR)序号列名数据类型长度允许空1IDINT10否2AREAVARCHAR50是3PROVINCEVARCHAR50是4HEAD_PIC_IDINT10是5NAMEVARCHAR50是6INTROVARCHAR50是7TAGVARCHAR50是8HOSPITALVARCHAR50是91011121314151617181920ISIDENTIFIEDDEPARTMENTCERTIFICATE_PIC_IDPHONEDEPARTMENT_TELAGEGENDERIS_TOPMOD_DATEAVERAGE_STARUSERNAMEPASSWORDINTVARCHARINTVARCHARVARCHARINTVARCHARINTDATEDATEVARCHARVARCHAR1050105050105010005050是是是是是是是是是是是是2)名称医生日程信息表(DOC_SCHEDULE)该表主要是存放了一些医生日程的信息,将医生的排班信息显示给患者,方便患者进行预约。详细见表14表42医生日程信息表(DOC_SCHEDULE)序号列名数据类型长度允许空说明1IDINT10否日程ID(主键)2DOC_IDINT10否3STATEINT10否4RATE_NUMBERINT10否5DEPARTMENTVARCHAR50是6CRT_DATEDATE0否7MOD_DATEDATE0是8HOSPITALVARCHAR50是910TREATMENTSTARTINTDATETIME100是是11ENDDATETIME0是12PEOPLE_LIMITINT10是13RATE_NUMBERINT10是12详细设计详细设计是软件工程中,对概要设计的细化的过程,对每个模块的局部的结构进行分析。本系统主要有三种角色患者软件模仿淘宝的样式,列出医生的简介和评价指数。软件模仿淘宝的样式列出医生的简介和评价指数。患者可以根据这些信息,选择自适合自己的医生,填写自己的症状和疑问。医生会根据患者描述的症状,给出互动性就医建议。用户可以根据医生提供就医意见,根据药店评价选择就近的药店购药(仅限非处方药)或者根据医院评价选择就近的医院进行就医。患者根据就医效果,对医生,药店,医院进行评价和打分。用户还可以选择就近的医院进行预约挂号。医生医生可以提交相关资料,系统会对医生进行实名审核。通过审核后,医生可以填写自己的简介。收到用户就医请求时,可以互动地给患者提供就医建议。系统管理员系统管理员负责审核用。管理各类用户。对信息的归类整理。根据各类用户,划分出了在线咨询,在线诊断,查询附近药店,医生和患者管理,医生认证,药品查询,个人信息管理,在线预约,日程安排,修改密码,用户登录注册等十一个功能模块,以下根据流程图阐述思路1登录注册在本系统主要分为三类用户,医生、患者和管理员,管理员只有系统分配的账号和密码,所以管理员不带有注册功能。医生和患者,如果已经拥有账号,可以选择登录系统,如果没有账号,可以选择在线注册。在用户注册时,会检查用户输入数据的合法性,并给用户提示。在用户医生登陆时,会对医生的资格认证进行判断,如果医生未认证,则没有登录权限。流程图见图15图15登录注册流程图2在线诊断医生登陆后,可以选择在线咨询的病人,针对病人的症状,给出相关的就医和治疗的建议。流程图见图16。图16在线诊断流程图3在线咨询患者在登陆后,可以检索相应科室的医生,点击查看医生的个人信息后,填写自己的症状,进行在线咨询。流程图见图17图17在线咨询流程图4查询附近药店患者在登陆后,可以查询附近的药店。首先设置区域大小,查询后,会显示附近区域的药店列表,患者选择药店后,会显示相应的药店详细信息,流程图见图18图18附近药店查询流程图5医生认证管理员可以选择未认证的医生,查看医生的详细信息,对医生进行资格认证。认证后,医生便有了登陆的权限,流程图见图19I图19医生认证流程图6个人信息管理各类用户登陆后,可以选择对个人信息进行查看和修改。当然,在修改时,会对用户输入的数据进行检查,如不合法,会提示用户更正,流程图见图110图110个人信息管理流程图7修改密码用户登陆后,可以修改自己的密码。需要用户输入原始密码并且旧密码正缺后,才能设置新的密码。系统会对数据进行校验。如果数据不合法,会给用户相应的提示。流程图见图111图111修改密码流程图8药品查询患者登陆后,可以输入需要查询的药品,查询后,会显示查询的药品列表,用户选择后,可以看到详细的药品信息。如果没有找到相应的药品,会给用户相应的提示。流程图见图112图112药店查询流程图9日程安排医生在登陆后,可以选择添加、删除或者修改日程。在用户修改和添加日程时,会对用户输入数据的合法性进行校验,并且给用户相应的提示。流程图见图113图113日程安排流程图10在线预约患者在进行登陆后,可以检索相应的医生,对医生进行选择,查看医生的详细信息,可以填写预约信息。流程图见图114图114在线预约流程图11医生患者管理后台管理员登陆后,可以对医生和患者信息进行管理。可以选择添加、删除或者修改用户。在用户修改和添加时,会对用户输入数据的合法性进行校验,并且给出相应的提示。流程图见图1154图115医生患者管理流程图2系统实现1医生日程安排和患者在线预约医生可以根据自己的排班,来制定自己的日程,供患者预约。具体实现如下医生可在WEB管理端,来制定自己的的形成,单位以星期计算,如图21所示图21医生日程安排医生可以选择修改或者删除相关日程。医生可以制定日期,和预约的种类、最大预约人数以及预约的时间范围。患者根据医生制定的日程安排进行预约,如果预约超过最大人数,则不能预约。患者可以在线选择医生。系统会显示医生信息,患者可以从中对医生信息浏览和选择,患者可以看到医生的名字和所在医院。选择相应的医生后,根据医生的日程安排,进行预约,如图22图22医生列表2图片的异步上传和异步读取。在网页端,医生提交个人信息时,需要提交图片。其中包含个人的头像和资料的照片,在WEB端,图片的异步上传采用了AJAXUPLOADJS来实现图片的异步上传。实现过程如下在WEB端,用户点击上传按钮时候,通过AJAX上传图片,将图片信息提交到控制器,后台控制器通过文件流读取图片,按特定算法生成图片名,存储到指定路径中,并且将图片ID,图片名,图片所属模块和图片存储路径存储到临时文件表(FILE_TEMP_STORE)中。如图23所示图23图片异步上传上传成功后,将临时图片ID返回给前台,前台通过图片ID,将图片显示到页面上。其中,后台通过解析特定的图片路径,通过形如“模块名/图片ID”,将图片的真实路径进行映射。具体做法是在临时文件表中,通过ID寻找图片路径。在医生提交后,将最终的图片提交到后台控制器,后台控制器将临时文件表中的记录删除,同时将文件转存到普通文件的文件夹,将文件路径和文件ID存储到文件表(表FILE_STORE)中。在安卓端,通过开源框架AFINAL,对图片进行异步读取。框架底层封装了异步读取的方法,只需要简单调用,便可以对BITMAP进行赋值。具体过程如下FINALBITMAPBITMAPFINALBITMAPCREATEGETACTIVITYGETAPPLICATIONBITMAPDISPLAYIMAGEVIEW,图片URL同时对于读取过程,可以进行配置,避免了图片OUTOFMEMERY的异常和超时异常。3安卓端和服务端的通信通过开源的AFINAL框架封装的FINALHTTP对象,可以通过HTTP协议,跟WEB服务端进行数据通信。FINALHTTP对象中,封装了GET和POST方法,提交的参数,可以通过键值对的方式,放置在MAP中。具体过程如下FINALHTTP1GET指定URL,参数MAP数组,NEWAJAXCALLBACK/回调方法通过GET或者POST方法,将参数提交到指定的URL中,WEB端的控制器执行相应方法,将返回值返回给安卓客户端。安卓客户端通过回调方法,通信失败(ONFAILURE)和通信成功(ONSUCCESS),根据返回的参数,执行相应的方法。4JSON数据的序列化和反序列化在服务端和客户端进行通信时,通过JSON这种轻量级数据格式进行通信,为了方便JSON的序列化和反序列化,我们采用了第三方JAR,JACKSON和GSON。WEB端需要序列化JSON数据给客户端,在这里,我们通过JACKSON来实现,只需一行注解,REQUESTBODY来实现,在控制器方法前进行生命,方法返回时,可以自动将返回值例如实体类自动序列化成JSON数据格式。同时,对于DATE类型,我们通过INITBINDER,控制器初始化绑定,通过SIMPLEDATEFOMATER,根据需求,格式化日期成形如”YYMMDD”的字符串。具体实现如下INITBINDERPUBLICVOIDINITBINDERBINDERREGISTERCUSTOMEDITORDATECLASS,NEWCUSTOMDATEEDITORNEWSIMPLEDATEFORMAT“HHMMSS“,TRUEANDROID端,在解析WEB服务端返回的JSON数据时,通过GSON对JSON数据进行反序列化,同时对POJO类进行注射。实现过程如下GSONGSONNEWGSONDOCTORSGSONFROMJSONJSON数据,NEWTYPETOKENGETTYPE在这里,实体泛型的属性必须和JSON数据中的数据名称相一致。5药店查询的实现通过百度地图POI(POINTOFINTEREST)接口,通过兴趣点查询,通过手机GPS获取当前的位置,同时用户设置范围的大小,可以对周围的药店进行查询,实现过程如下MPOISEARCHSEARCHINCITYNEWPOICITYSEARCHOPTIONCITY“苏州”KEYWORD“药店”PAGENUM10图22附近药店查询3结论实验及运行结果表明,本文所介绍的系统在以ANDROID为平台的智能移动终端中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论