欢迎来到专业的宏发范文网平台! 心得体会 党建材料 工作总结 工作计划 思想汇报 事迹材料 发言讲话 述职报告
当前位置:首页 > 范文大全 > 公文范文 > 正文

Ajax技术在B/S医院信息系统建设中的应用

时间:2022-03-08 15:15:33 浏览量:

(同济大学软件学院,上海 201804)
摘 要: 根据目前医院信息系统(HIS)大多是C/S模式,而基于B/S模式的HIS因性能和技术等 原因未能推广的情况,文章对Ajax技术的特点、应用范围、Ajax在HIS中的适用场合、Ajax 的应用可能带来的问题进行了分析,探讨了在HIS中如何规避Ajax的弊端的方法,研究表明 ,在B/S模式的HIS中采用Ajax技术,可以明显优化HIS系统性能、改善用户体验。
关键词:医院信息系统;Ajax;B/S;分析
中图分类号:TP319∶R197.324 文献标识码:A 文 章编号:1007—6921(2008)18—0044—02

信息管理系统兴起已久,而医院信息系统(HIS) 由于专业复杂性等原因,发展相对缓慢。随 着Internet蓬勃发展并深入到各行各业,基于B/S模式的信息系统正在兴起,各种新概念和 新技术的出现,也使得B/S模式信息系统的功能和用户体验得到很大改善。但HIS一般只面向 局域网终端服务,加上纯B/S模式的HIS因性能和易用性问题饱受争议,以致国内外大中医院 大多采用C/S模式HIS,仅少数医院采用B/S模式,且往往依靠集成一些客户端插件来发挥正 常功能。近年来web2.0概念和Ajax技术的兴起,让我们有机会改变这种现状。本文对Ajax技 术在HIS系统中的应用做出分析和尝试。
1 Ajax技术及其应用范围

Ajax(Asynchronous javascript And XML)也称增强的javascript,只是新生概念,并非 新生技术,它是多种技术的综合,由javascript脚本语言、XMLHttpRequest对象、CSS样式 表和DOM文档对象等组成,核心是XmlHttpRequest对象,是一种支持异步请求的技术。使用A jax,客户端脚本与Web服务器交换数据,Web页面不用打断交互流程进行重新加裁,就可以 动态地更新,用户可以创建接近本地桌面应用的直接易用、丰富、动态的Web页面[1]。

Ajax技术的应用范围有:①局部刷新;②获取其他网页的内容;③需要异步通信;④web应 用的桌面化、改善用户体验[2]。对于一般网站,应用最多的是局部刷新,常使用 于以下场合[3]:①使用网页表单与服务器交互;②提交简单的数据;③页面无刷 新与服务器同步数据;④页面输入时的数据交互;⑤深层次树的显示与控制;⑥网页中的数 据处理。
2 Ajax在B/S模式HIS中的适用场合

B/S模式HIS相对于C/S模式,在建造和维护成本上均有明显优势。在HIS中使用Ajax技术,其 主要目的是提高B/S模式HIS的性能和改善用户体验,主要手段是在合适的场合使用局部刷新 和异步读取。我们根据Ajax的特性,从以下方面在HIS中寻找其适用场合。
2.1 不刷新页面提交数据

这是Ajax技术最多的应用,在任何交互程式中,必然需要频繁提交数据,利用Ajax技术提交 数据而不重新加载整个页面,可以减轻服务器和带宽的负担。HIS系统交互极多,不断发生 在门诊、病房、药房、辅检各终端和服务器之间,这些交互,大部分适合Ajax技术的应用。 以下达医嘱为例,使用Ajax,可以快速提交新下达医嘱,并且不离开也不重新加载页面,边 下达、边提交,既优化了性能,又方便了操作。
2.2 不刷新页面与服务器同步数据

因为多个客户机与服务器进行交互,就可能出现多客户同时访问同一数据的情况,一个客户 对数据的修改如果不能及时反映给另一个正在访问此数据的客户,就会影响后者收到信息和 下达指令的准确性。解决这个问题的传统方法是定时刷新整个页面(也可能是frame页面) ,而Ajax可以不刷新页面与后台同步数据,并将新的数据显示于指定区域。上例中的医嘱下 达页面,若操作过程中另一位医生也对当前患者下达了医嘱,需要及时与后台同步,呈现最 新数据,以免下达重复的医嘱。类似的场合有:住院登记、手术预约等。另有一个值得考虑 的问题,如上述(1)和(2)的应用场合,如果没有明显的页面变化,用户可能不知道数据已经 提交或者数据已经同步,当然这个细节可以通过醒目的标注来解决或使用称为“褪色模式” 的方法[4]。
2.3 后台验证

用户登录是此类需求的一个典型,利用Ajax技术,可以很轻松地做到不刷新页面完成身份验 证并在局部改变在线状态。另外,使用Ajax可实现对输入内容的即时校验而无需打断用户当 前的操作,例如在下达医嘱页面对医嘱的合法性校验、门诊挂号病人信息录入页面的属性检 查。
2.4 动态加载数据

在HIS系统中,列表框的使用非常频繁,如医嘱有检查、药疗、化验、护理等不同类别,当 在类别列表框中选中后,医嘱主体内容将提供相应的选择范围。传统的web方式,需要加载 网页时一次性加载所有类别的所有内容,而使用Ajax技术,可以动态加载所选取的类别下的 相应内容。另一个例子是动态加载FAQ,对于有提供帮助信息的菜单、按钮甚至是某个词语 ,在鼠标移动到它们上面的时候加载相关帮助信息,而不是在页面加载时一次性载入所有数 据。动态加载数据还可以实现深层次树的显示和控制,可用来制作HIS中的联动菜单和树形 列表。
2.5 动态更新web图表、主从表同步

HIS的信息统计功能需要采集数据建立图表,使用Ajax技术,可以根据数据动态更新图表显 示,或是做到主从表/关联表的数据同步。
2.6 输入时自动完成

HIS中除电子病历的编辑外,输入框一般使用拼音词头输入法。上例的医嘱下达页面,因医 嘱条目繁多,即使只按选定类别加载,也是很大量的数据,手工在列表框中查找条目效率低 下,自由录入则不便于规范医嘱,而利用Ajax,基于B/S模式的HIS也可以做出拼音词头输入 法。
2.7 信息排序

传统web方式,信息重新排序需要向服务器发送新的请求,并重新加载整个页面,使用Ajax ,部分业务逻辑迁移到客户端,可以在客户端就对页面内数据进行处理后重新展示在指定位 置。在HIS中面向信息分析人员(如医院管理层)的模块,排序是最常用的操作之一,可应 用于病源地理分布、病源年龄分布、科室数质量统计、科室/人员考评、病案检索等众多场 合。
2.8 实现可拖放DOM

拖曳窗口对改善用户体验有显著的作用,让用户在B/S的web应用中享受桌面应用程序的感觉 。鉴于一般HIS特点和要求,其基础的应用无须实现拖放。小范围的尝试,可以从辅助信息 窗口着手,例如在电子病历编辑页面,调出病人属性、辅助检查结果等资料,此处设计可拖 放DOM,以便按操作者习惯充分利用视窗。
2.9 大量数据动态浏览查询

当查询结果数据量较大时(如在病案检索中),传统的数据反馈方式会要求一次传输大量数 据,当分页浏览时又会造成服务器重复工作,使用Ajax技术,可以根据用户操作动态加载数 据,节约服务器资源和带宽,相关开源组件Rico LiveGrid适合于此类场景[5]。
2.10 大图像异步传输

HIS中大图像来源于辅助科室如X光、CT、MRI等扫描仪器生成的病人影像资料,这些资料不 是用于艺术欣赏,而是用于辅助诊断,要求图像的完整和准确,但这并不妨碍我们使用异步 传输,因为这些影像的大小往往大于客户端显示区域大小,而且经常是多张图像。使用Ajax 技术,可以像Google Maps一样建立可拖动、有缩放比例、定位点或对话框的具有良好功能 和良好的体验性的图像浏览工具[6]。
2.11 所见即所得编辑器

电子病历是HIS的重要组成部分,一般(包括C/S和B/S模式)可以采取调用MS word等字处理 软件的方法提供病历编辑功能。利用Ajax技术,可以开发功能强大的所见即所得的web编辑 器,从而脱离第三方字处理软件,这点对于B/S模式HIS的推广应用是必须的。
以上列举的Ajax应用,并非都能适用于HIS。盲目在HIS中运用Ajax技术,可能反而造成性能 的下降和其他后果(如代码复杂性、安全性问题)。
3 规避Ajax的缺点

Ajax技术自推广起,缺陷也一直为人所诟病。在HIS中应用Ajax技术,应了解Ajax本身的缺 陷和分析Ajax在HIS中可能产生的问题。
3.1 不被搜索引擎支持

此缺点对于需要被推广的网站颇有影响,幸运的是HIS本身不需要被搜索引擎支持。这和HIS 中的检索功能是两个概念。
3.2 javascript是客户端脚本,是一种弱语言

其特点是灵活,但代码编写复杂而执行效 率低下。HIS主要开发语言并非javascript, 主体不由javascript构建,只是用来增强客户 端功能,以便改善HIS系统性能和用户体验,对javascript做到扬长避短,在设计中应严格 把握该技术的适应症。
3.3 浏览器对javascript的兼容问题

微软和网景各自推出了自己的javascript语言,不同厂商的浏览器和浏览器的不同版本对Ja vaScript的支持有所不同,使用Ajax技术必须考虑这一点。HIS系统一般只面向医院局域网 用户,客户端浏览器易控制,但若考虑HIS可能面对远程用户(包括远程医疗和远程办公) ,在系统设计和程式编写时就应考虑兼容性问题。至于PDA和智能手机等终端设备,其所配 备的浏览器目前都无法支持Ajax技术,只能回避。
3.4 业务逻辑统一性问题

Ajax可能导致业务逻辑由集中变得分散,系统结构更加分散、不易进行结构的调整和再设计 。高内聚低偶合的观点,一直是软件设计师的指导方针和必然目的,使用Ajax之后,将会有 一部分业务逻辑向客户端迁移。与C/S模式的HIS相比,这并非问题,但哪些业务逻辑允许迁 移到客户端,设计中应做考究。另外,应设计在线更新模块控制服务器端和客户端程序版本 的统一性。
3.5 Ajax强制改变用户使用浏览器的习惯

Ajax局部刷新不改变浏览器地址栏网址,会使浏览器原有的“回退”和“历史记录”功能失 去意义,而且难以收藏网页特定状态。让浏览器厂商大幅修改业已成熟的浏览器标准和技术 显然不太现实,所以只能由AJAX框架提供商或者开发者自己解决这个弊端。对于HIS,Ajax 这个缺陷的影响较小,企业内的信息管理系统不同于一般网站,C/S模式的HIS也不会有“后 退”和“历史记录”功能。但为了提高易用性,设计时应考虑构造HIS自己的导航栏,以便 脱离对浏览器导航功能的依赖,并获得优于C/S模式HIS的用户体验[7]。
3.6 安全性问题

局部刷新和异步读取可能造成的多线程竞争和拒绝服务更易发生的问题,业务逻辑的分散也 可能增加系统漏洞,使系统更易受到攻击。安全控制应完全由服务器端控制或在服务器端进 行验证,不能以客户端的系统验证代替服务器端的应用验证[8]。HIS如果面向广域 网提供远程服务,应考虑使用加密措施(如使用安全的Http、javascript加密数据)。多线程 竞争的可能性,应在设计和开发中予以避免。
3.7 性能问题

在HIS中使用Ajax是为了解决性能问题,但未必达到预期的效果。以在前文中反复提到的医 嘱下达页面为例,医嘱条目数量是非常大的,再如药品条目,其数量也属客观,即使使用Aj ax,过大的数据量也会拖慢速度,不仅增加带宽压力,而且破坏用户体验。Ajax的性能优化 除代码本身的优化外,浏览器缓存、预先获取、推测估计、多阶段下载、胖客户端等也是可 考虑手段[9]。在HIS中,将部分数据存到客户端是必要的,并通过版本校验保持客 户端数据和服务器端的同步。
4 结语

Ajax技术是完全基于Web标准的技术,其所用到的所有技术都符合Web2.0标准[10] 。HIS是特 殊行业的复杂信息管理系统,对系统设计、技术实现的各环节有着复杂的要求,这种复杂性 阻碍Ajax在HIS中迅速渗透,但从另一方面,却是给Ajax更广阔的应用空间和进化要求。RIA (富英特网 程序)也许是今后软件发展的一个重要方向,很多软件曾经放弃B/S,如今又回 到B/S。本研究只是对Ajax在HIS中的应用进行了初步的分析和尝试,实验证明恰当使用Ajax ,能够明显减轻HIS服务器数据处理负担、减轻数据传输对带宽的压力,缩短用户等待时间 、改善用户体验,但Ajax的使用必须适度,应坚持只在确有需要的地方使用Ajax这个原则。A jax技术的应用,赋予B/S模式HIS在将来取代C/S模式HIS的可能性。
[参考文献]
[1] Cristian Darie,Filip Chereches-Tosa,Bogdan Brinzarea,Mihai Bucica.Aj ax and PHP Building Responsive Web applications.Ptpress,Inc. 2007.7~9.
[2] 冯曼菲.精通Ajax-基础概念、核心技术与典型案例[M].北京:人民邮电出版 社,2008.
[3] Xia Hui-Jun,Wei Xue-Hui.Approach to Ajax.Publishing House of Electr onics Industry,Beijing.2007.4.77~140.
[4] Nicholas C.Zakas,Jeremy McPeak,Joe Fawcett.Professional Ajax.Wiley  Publishing,Inc.2006.63~65.
[5] Wang Jia.Classic Collections of Ajax Development cases.Publishing Ho use of TsingHua University.2007.6.72~73.
[6] Justin Gehtland,Ben Galbraith,Dion Almaer.Pragmatic Ajax.The Pragm atic Programmer,LLC.2006.13~47.
[7] Patterns and Best Practices.Apress L.P.2006.266~300.
[8] Christian Gross.Ajax and REST Recipes.Apress L.P.2007.134~145. 
[9] Michael Mahemoff.Ajax Design Patterns.O"Reilly Media,Inc.2006.289~3 26.
[10] Jeremy Keith.Bulletproof Ajax.Pearson Education,Inc.2007.194~195.

推荐访问:信息系统 医院 建设中 技术 Ajax

猜你喜欢