安康电子病历编辑器系统的设计与实现

2018-01-03 02:14张灵光
电子测试 2017年22期
关键词:编辑器单元格控件

张灵光

(新疆农业职业技术学院,新疆昌吉,831100)

安康电子病历编辑器系统的设计与实现

张灵光

(新疆农业职业技术学院,新疆昌吉,831100)

电子病历系统实现病历信息的采集、传递、表现、存储和加工利用,其中病历书写编辑器是其关键技术之一。病历书写系统面向临床医生,实现了医生日常按照《病历书写规范》来完成病历的书写,将病人在院期间的所有医疗信息通过计算机管理,并给医生的临床工作提供许多有益帮助。

电子病历;编辑器;病历书写;医院管理

0 引言

医院信息系统的发展趋势将是以病人为中心的医院信息管理,医院内所有的信息都将以无纸化为目标,并以数字化形式存储,医院内的所有终端及医学检查设备均与计算机相连通,各种医嘱和检查结果均由网络相互传送,从而达到充分利用和共享丰富的信息资源。

安康电子病历系统的开发,是医疗卫生行业政策的导向,也是公司客户的迫切需求。公司在开发安康电子病历管理系统的过程中,将病历书写系统作为一个独立的功能模块,其中病历书写编辑器是其关键技术之一。因此,项目组在电子病历系统开发过程中,将电子病历编辑器产品化,使其单独成为公司的一个软件产品。

1 需求分析

1.1 需求概述

电子病历编辑器可以制作出尽可能适用和方便的病历文件模板,使医生可以流畅的使用书写病历。顾名思义,编辑器需要具备类WORD的编辑功能,可以设置结构化及痕迹保留。设置结构化的需要,我们引入了“元素”,这个是知识点语法,它只在编辑状态下显示,在阅读和状态下不显示,用于语义内容的分界。固定元素:对于病历中不允许随意删除的内容,称之为固定元素,固定元素由“保留标题”和所有“静态属性元素”组成。选择元素:对于病历编辑过程中具有已知条目可供选择的元素,称之为选择元素,选择元素包括:单选、多选、有无选、行选。

1.2 业务分析

根据病历书写中关于电子病历编辑器的功能需求,电子病历编辑器系统的编辑功能分析如下。

(1)文档操作:包括新建、打开、保存、另存为、剪切、复制、粘帖、选择性粘帖、撤销、重做、单选、全选、删除、清除格式、格式刷、查找和替换、OLE拖拽等。

(2)页面设置:支持多种常用纸张大小设置,也可自定义设置纸张大小。可设置页面的页边距、X/Y方向偏移量、页眉/页脚位置。可设置打印份数、纵向打印或横向打印。可指定打印机、指定纸张来源。可设置整体缩放适应纸张大小、可自动选择最佳纸张大小。支持设置页面背景图片。支持设置页面边框和底纹。支持设置图片水印和文字水印,文字水印可设置文字的颜色、字体、斜式或水平版式。支持页面设置的快捷操作,包含:使用IE默认设置、使用MS Word默认设置、保存设置到文件和从文件加载设置。

(3)打印:支持所见即所得的打印和打印预览,包含续打、套打、整洁打印、留痕打印、区域选择打印。支持多个文档在一个界面中预览和打印。

(4)视图:支持多种视图模式,包含页面视图模式、普通视图模式、普通居中视图模式、自动换行视图模式、阅读视图模式。支持放大和缩小显示比例操作,支持自动适应页面的视图设置。支持标尺功能。

(5)文字编辑:可自由输入文字,可设置文字的字体名称、大小、粗体、斜体、下划线、删除线样式。可设置文字的颜色和背景色。可设置文字的字符集。支持文字套圈。支持设置文字的边框和底纹。支持设置文档默认字体。支持上下标文字。支持插入特殊字符。

(6)段落:可设置段落的行间距、段前间距、段后间距。可设置段落的首行缩进和整体缩进量。可设置段落的对齐方式。可设置多种段落列表头显示样式。可设置标题层次,实现文档结构图功能。

(7)页眉页脚:支持设置页眉页脚,其内容和正文一样编辑和排版。能插入页码元素,支持设置页码的格式化字符串。可设置页面隐藏页眉页脚。

(8)表格:支持单元格的横向合并和纵向合并。支持表格单元格内部的图文混排,支持单元格内自动缩小字体,支持表格套嵌表格,支持设置单元格内边距、支持设置单元格内容对齐方式。支持鼠标拖拽表格线来设置表格列的宽度和表格行的高度。支持设置每页都显示的标题行,支持设置同行是否可以跨页。支持表格单元格边框线的设置和背景颜色的设置。支持单元格斜线。支持单元格网格线。可设置单元格边框线、背景是否可以打印输出。支持突出显示单元格边框线。支持表格行的多种复制模式。支持增加行/列、删除行/列操作,包括在当前行的上边/下边插入表格行、在当前列的左边/右边插入表格列。

(9)图片和图形:可插入图片,图文混排,能手动拖拽设置图片的宽度和高度,能保持图片的宽度高度比例。图片的图像数据可保持在文档中,也可链接引用其他地方的图像数据。能设置文字围绕模式。支持替换文字、平滑缩放。支持图形的编辑操作,包括选择、插入矩形、插入线段、插入折线、插入椭圆、插入多边形、删除、左对齐、右对齐、居中对齐、字体设置、文字背景、文本颜色、线条颜色、设置边框、设置背景。

(10)快捷辅助录入:根据输入内容,把提示或关联内容快速填充到下拉框,实现快捷辅助录入。支持首字辅助和自定义筛选辅助录入。支持回车辅助录入。

(11)表达式:支持类似EXCEL的表达式,表达式包含多种内置函数,可以实现逻辑运算和数学运算。表达式支持变量。

(12)审阅:支持批注操作。

(13)工具:支持常用快捷工具,包含:字数统计、截屏、内容校验、文档参数、文档选项。

(14)条形码:支持多种一维条形码和常用二维条形码。

(15)VBA宏:支持在文档中嵌入VBA宏代码,实现VBA脚本功能。才有VB.NET语法,调用MS.NET框架中的标准类库,在发生文档事件时运行宏代码。

(16)DOM:提供可开发和扩展的文档内容DOM开发模型,支持自定义文档元素类型。

1.3 需求小结

本系统主要用于医院医生书写电子病历,可以任意程度结构化医疗记录;用户可以实时在病历编辑器界面中编辑排版各类医疗记录。主要实现新建病历文件、打开病历文件、保存、打印预览、打印、整洁病历、自动排版、删除未使用元素、清除注释和关键词语法、撤销键入和恢复键入、复制、粘贴、剪切、查找、替换查找、特殊字符输入框、插入图片、插入横线、插入表格、退出。类WORD编辑功能要求如下:设置字体、字号、加粗、斜体、下划线、左对齐、居中、右对齐、行距、指数和脚数等功能。

2 系统设计

系统运行在Windows平台上,不依赖其他任何第三方组件,不直接关联数据库,对电子病历软件的系统结构和数据库没有要求。系统开发采用组件化设计,保证系统可维护性和可扩展性,支持W3C XML标准,适应文档的长期存储要求。符合卫生部《电子病历系统功能规范(试行)》中对病历编辑器的41个必需功能和推荐功能的要求。编辑器系统可将病历中的全部或部分内容保存为XML文件,也能导出RTF、PDF、HTML、MHT、ODT(非加密)等各种开放文档格式。

本系统使用面向数据流的方法对书写病历的处理流程进行设计,分为两部分:其一、服务器程序,其二、客户端程序。以下将分别对系统的这两大部分进行流程设计:

2.1 服务器程序流程

将服务器程序服务包文件拷贝到服务器某个目录下,推荐为发布目录的DCLib子目录下。在WEB页面中插入以下HTML代码:

classid=”clsid:00012345-6789-abcd-ef01-2345678900ff”

codebase=”http://localhost:5086/DCWriterWeb.cab#1.2015.1217.10”>

value=”http://localhost:5086/DCWriterWeb.cab#1.2015.1217.10”>

其中,ID为web控件的编号,JavaScript代码通过ID可以获取web控件,RegisterCode设置注册码,codebase为安装控件使用的CAB文件URL。

2.2 客户机程序流程

由于采用IE嵌控件的形式,对客户端有限制,该功能在客户端中仅支持IE7.0或者更高版本,不支持其他浏览器,对于高版本IE浏览器请以兼容视图模式显示网页。JavaScript代码可能需要响应编辑器事件来完成一些操作,比如当用户修改了文档内容,则需要更新HTML页面的状态。

编辑控件具有以下签名的方法“public string GetLast EventNames( )”。该方法用于获得收集到的事件名称列表,各个事件名称之间用逗号分开。

当编辑器控件嵌入在HTML页面中运行时,JavaScript可能无法响应控件事件,此时可以调用定时器定期调用这个函数来获得已经触发的事件名称,然后进行事件处理。例如以下JavaScript代码就模拟实现了控件事件。

window.setInterval(“UpdateState()” ,500);

function UpdateState()

{ var ctl = document.getElementById(“myWriter”);

var events = ctl.GetLastEventNames();

if (events.indexOf(“SelectionChanged”) >= 0) {

window.status = ctl.PositionInfoText; } }

图1 接口设计

2.3 接口设计

为了更好地在实现与电子病历管理系统及HIS系统的完整对接,以便在电子病历系统中可以直接使用现有系统中的相关数据,同时,又能互动地把相关数据反馈给现有HIS系统中,制定本接口方案。

3 系统关键技术的实现与测试

本系统实现临床科研一体化的结构化电子病历,即满足临床,又服务于科研;类WORD动能的结构化书写器,既可以做到结构化,又可以随意灵活地编辑描述性语言。

3.1 编辑器菜单栏

图2 编辑器菜单栏a

编辑模板我们主要使用插入下拉菜单中包含了模板制作过程中所需的各种元素、符号等;通过插入元素,我们可以实现各种不同的语法。如:单选、多选、有无选择等。

图3 编辑器菜单栏b

3.2 模板设计途径

(1)新建:在编辑器中直接书写病历模板,设置不同的语法和特殊符号用来增加模板的方便性和适用性。

(2)打开:打开现有的模板,修改后另存,从而实现快速设计模板。

(3)插入:把一个纯文本文件的内容或者图像插入的编辑器中,当作模板。

(4)粘贴:纯粹的使用复制、粘贴,从外部文件中复制病历文件数据,然后粘贴到编辑器中。

3.3 系统的测试

经测试,本系统能满足在需求分析时期所确立的各项功能需求,已经与管理系统正常接口,用户可正常登录,登记信息准确,管理员可顺利地进行各项操作,整个功能模块均能顺利完成。

4 结束语

本文阐述了安康电子病历编辑器系统的设计开发。本系统使电子病历管理工作更快捷、更规范、更方便;使管理流程得到进一步的优化,加快医院内部信息的传送,改善信息共享状况,提高了系统开发及扩展性的工作效率。

[1]张灵光,王学.安康电子病历管理系统的设计与实现[J].电子技术与软件工程.2014.11.

[2]徐振峰.以扫描仪为硬件核心,以专业软件为操作平台[J].中国计算机报.2004.05.

[3]刘宗华.医院电子病案管理系统应用与思考[J].民营科技.2014.04.

Design and implementation of Ankang electronic medical record editor system

Zhang Lingguang
(Xinjiang Agricultural Vocational Technical College,Changji Xinjiang,831100)

Electronic medical record system realizes the collection, transmission, performance, storage,processing and utilization of medical record information, in which the medical record writing editor is one of the key technologies. For clinicians in medical record writing system, realizes the doctor daily according to “record writing standard” to complete medical records, the patients in the hospital all medical information through computer management, and give the doctor’s clinical work provides many useful help.

electronic medical record; editor; medical record writing; hospital management

新疆维吾尔自治区科技厅电子创新基金资助课题(项目编号:2014531075)。

张灵光(1971年4月),男,汉族,北京工业大学软件工程硕士,软件工程师,研究方向:主要从事软件设计和信息管理系统研究。

猜你喜欢
编辑器单元格控件
流水账分类统计巧实现
玩转方格
玩转方格
你距离微信创作达人还有多远?
车辆段收发车运行图编辑器的设计与实现
关于.net控件数组的探讨
浅谈Excel中常见统计个数函数的用法
基于VLIW目标机的ELF二进制编辑器设计与实现
ASP.NET服务器端验证控件的使用
基于嵌入式MINIGUI控件子类化技术的深入研究与应用