基于Caché数据库+jQuery框架开发医院科室药品管理功能
2018-07-20程彪
程彪
摘要:随着互联网技术的发展和医院信息化的建设,B/S架构的前端系统构建面临着用户更高的要求。HIS系统更是一个需求不断更新的产品,要求开发工程师在了解HIS业务的同时,也能够更快速、合理、有效地进行前端页面开发工作和后台业务数据的处理。该文阐述了Caché数据库中基于jQuery框架前端开发流程和后台业务数据的处理过程。首先介绍了HIS系统的开发现状和所面临的问题;然后介绍了在Caché数据库基础上如何利用jQuery框架开发HIS功能界面,通过应用实例阐述jQuery在前端开发中的优势。
关键词:HIS系统,jQuery,Caché数据库,B/S架构,Ajax
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)13-0005-03
Develop Drug Management Module of Department in Hospital Based on Caché Database +jQuery Framework
CHENG Biao
(Information Center of AnHui Provincial Cancer Hospital,Hefei, Hefei 230000, China)
Abstract: As the development of Internet technology and the construction of hospital informatization, system construction of front end is facing higher requirements in B/S architecture. As the update of HIS,it requires development engineers to understand HIS business, and also be able to develop front-end page and handle business data in a faster, more reasonable and more effective way. This paper describes the development process and the processing of the background business data based on jQuery framework in Caché database.First,we introduce the development status and the problems in HIS; then we introduce how to use the jQuery framework to develop the interface of HIS in Caché database, we also described development advantage through application examples in the front-end.
Keywords: HIS; jQuery; Caché Database; B/S architecture; Ajax
基于Caché數据库的HIS系统开发目前是利用组件编辑器进行界面编辑[1],是我院HIS系统开发的主流工具和模式,在这种模式下开发,界面比较单一,用户体验不高,有两个比较突出的问题:
1)界面的csp比较固定,不能添加样式,界面美观性差。在前端代码中,直接用JavaScript编写,代码比较混乱,虽然开发速度快,但是存在调试困难的缺点。
2)兼容性问题。原HIS系统中开发的界面只能在IE6的基础上进行显示和操作,而实际上目前计算机的Web浏览器基本都在IE8或者以上,导致HIS系统用组件编辑器开发的界面在IE8或者以上的版本上运行的时候有很多问题。另外Chrome、FireFox等浏览器的大面积使用,导致HIS系统的运行环境比较单一。其次,随着Ajax技术[5]的普及和发展,页面上的特效需要频繁使用大量的脚本与DOM操作来实现,浏览器兼容性问题在DOM操作、XML解析等过程中逐渐显示出来。
而使用jQuery框架和技术[2],可以避免以上两个问题的出现。
1 jQuery框架在Caché数据库上的应用
1.1 jQuery介绍
jQuery是一个快速、简洁的JavaScript框架,它是一个兼容多浏览器、轻量级的JavaScript库,它兼容CSS3,兼容各种浏览器,例如IE6.0++、Chrome、FireFox、Opera 9.0+等。jQuery能够使用户更方便的处理HTML文档、事件、实现动画效果以及图表等,并且提供AJAX交互。同时,jQuery的文档说明很全面,而且有很多成熟的插件可以使用,能够使使用户的页面内容和代码分离,不需要在页面插入js命令,只需要调用id即可。使用jQuery可以极大地提高编写JavaScript代码的效率,让代码更健壮。
1.2 Caché数据库的介绍
Caché数据库是美国Intersystems公司的产品,属于后关系型数据库(Post Relational Database),主要应用于医疗领域,尤其是国外的医疗领域,是医疗界公认的首选数据库[1]。Caché数据库具有以下的主要特点:
第一,速度快。Caché数据库在同等条件下查询相同数据比Oracle等关系型数据库要快。
第二,使用简单。Caché数据库支持标准的SQL结构化查询语句,就算是不熟悉Caché脚本语言的用户依然可以轻易的对数据库进行操作。
第三,接口容易。Caché数据库支持ODBC标准接口,所以和其他系统进行数据交互的时候非常容易,同时Caché数据库也支持WebService的标准协议[3],可以很方便地和其他数据库进行交互。
第四,实现三层架构。实现真正的分布式服务,升级扩容方便。
第五,支持WEB开发,使用维护方便。
1.3 Caché数据库与jQuery开发流程
采用jQuery与Caché数据库相结合的方式进行界面开发,主要采用三层架构的模式,即:表示层、业务逻辑层和数据访问层。下面结合“科室药品库存管理”实例对这三层架构进行阐述[4]。
1.3.1 表示层
表示层主要指的是前台用户的界面展示。在Caché数据库支持的HIS系统中采用csp文件和jQuery相结合的方式进行展示。
首先在Caché数据库中建立适当的csp文件,csp文件的写法和jsp文件的写法类似,在这里我们需要使用jQuery库,因此我们就需要在csp文件中加载jQuery库,写法如下:
接下来使用CSS样式表和DIV技术进行界面框架的编写。在编写Div的时候需要设计界面的版式和布局,我们设计的版式如图1:
在完成编写jQuery代码之后,界面如图2所示:
1.3.2 业务逻辑层
针对业务逻辑层,我们将在jQuery里面采用和csp文件交互的方式进行业務逻辑控制。编写dhcc.locdrugqtysearch.csp文件,待与数据库进行交互,
其中csp文件如下:
s action = $Get(%request.Data("action",1))
i action="DepList" d
...
i action="CtrlDrugList" d
...
i action="detailDrugList" d
...
其中action="DepList"控制“科室”下拉框数据,action="CtrlDrugList"控制“结果区域”的数据,action="detailDrugList"控制“明细区域”的数据。
1.3.3 数据访问层
采用脚本语言M对Caché数据库进行交互,对数据库进行数据访问和修改。在进行数据交互的时候,需要对M语言的数据输出做一个格式化,采用M语言技术,可以将数据输出设置为[{"value":"6","text":"RXZZZX-乳腺诊治中心"}]的Json格式,查询结果如图3。
输入科室数量,点击保存,即可维护科室使用药品的数量。
2 Caché数据库+jQuery框架的前端页面构建的方法研究
Caché数据库的Web页面实现有很多种方法,可以通过ExtJS脚本语言,也可以通过jQuery脚本进行实现,我们偏向于jQuery脚本进行实现,实现方法比较灵活,而且jQuery脚本写起来比其他的脚本语言要简单、快速,完全支持CSS样式,界面的美观性、可扩展性比其他语言强。
基于Caché数据库+jQuery框架构建前端页面的方法,在HIS系统中实现分为三步:
第一步:用csp文件构建前端显示页面,主要工具利用到的有CSS样式,Div网页编程等;
第二步:用jQuery实现事件和框架的构建,以及业务逻辑的控制;
第三步:用M脚本语言实现后台业务数据的查询、修改、删除、增加等功能。
用此三步在熟悉医院业务的基础上,完全可以在HIS系统中自由开发功能界面,并完成医院业务部门提出的合理需求。
3 小结
基于Caché数据库+jQuery框架可以很方便、快速、自由的开发HIS系统的功能界面,同时代码编写量小,代码结构清晰,业务逻辑控制清晰,浏览器兼容性强,完成业务部门提出的合理需求。
参考文献:
[1] 黄阳君. 基于Caché数据库的医院体检系统的设计与实现[D]. 北京工业大学, 2013.
[2] 黄競. 基于jQuery框架的Web前端系统构建方法的研究与应用[D]. 北京邮电大学, 2013.
[3] 胡泽, 廖闻剑, 彭艳兵. WebService技术研究及应用[J]. 硅谷. Silicon Valley, 2009(5).
[4] 王进. B/S模式下的三层架构模式[J]. 软件导刊, Software Guide, 2011(3).
[5] 陈燕群, 张华贵. Ajax技术在疗养院信息系统目录树菜单中的应用[J]. 电脑知识与技术, 2017(22).