当前位置: 首页 > 期刊 > 《中国医疗器械杂志》 > 2000年第2期
编号:10272142
用海伦娜(Helena)报告生成语言优化海伦娜电泳仪报告
http://www.100md.com 《中国医疗器械杂志》 2000年第2期
     作者:李初民 杨丽华

    单位:李初民(重庆新桥医院计算中心(重庆,400037));杨丽华(重庆西南医院检验科(重庆,400038)

    关键词:检验报告;语言;电泳仪

    中国医疗器械杂志000212 提 要:介绍了HRGL(Helena Report Generating Language-海伦娜报告生成语言)的结构和相应细节。在此基础上分析和实现了对报告打印的优化。

    分类号:R318.6 文献标识码:C

    文章编号:1000-6974(2000)02-0107-02

    Optimizing the Lab Reports of Helena Electrophoresis Analyser with HRGL
, 百拇医药
    LI Chu-Min

    (Xing Qiao Hospital,Chong Qing,China)

    YAN Li-Hua

    (Xi Nan Hospital,Chong Qing, China)

    Abstract:The Paper describes HRGL(Helena Report Generating Language)general structure in detail and then introduces a method to optimize the report outcome, and an example is given for illustration.

    Key words:Report;Language;Electrophoresis analyser▲
, 百拇医药
    海伦娜(Helena)电泳仪是世界上先进的自动电泳检测设备,它能够方便地进行电泳的各项指标的生成,并通过HRGL(Helena Report Generating Language)将实验结果输出到一外部计算机,并打印输出。HRGL语言是一套完全结构化的专用报告语言,它方便实用、高效、可读性强。深入理解HRGL语言对优化电泳仪报告生成,提高工作效率,有很现实的意义。

    1 HRGL简介

    HRGL语言是专为检验人员设计的一套报告制作语言,配置在海伦娜电泳仪前端的计算机中,解释执行。它结构化程度高,可读性强,很容易使用。HRGL语言的内容全放在一个以“RPT”为后缀的文本文件中,用任何标准的文本文件编辑软件都可以对其进行编辑修改。例如:示例Example的报告语言脚本存储在Example.rpt文本文件之中。我们只要对该文本文件中的HRGL语言元素进行优化修改,就可将原每页窄行打印纸打一例报告优化为可打印两例,大大提高了功效。
, http://www.100md.com
    一个HRGL语言编写的程序由一系列的块“BLOCK”组成,每一块又包括一系列的语言元素,也可以再包含块“BLOCK”。一个程序起码应包含有两个块;一个$DefineFormat/$ EndFormat块(如示例中的2—12行);一个$ DefineReport/$ EndReport块(如示例中的13—118行)。本文主要对以上两个块,以及$ DefineGraph/$ EndGraph(如示例中的22—36行)块进行解释描述,以说明如何改进报告的生成。

    (1)$ DefineFormat /*打印格式块开始*/……

    $ EndFormat /*打印格式块结束*/

    $ DefineFormat必须是HRGL语言程序的第一个块,在该块中不能再包含其他任何别的块元素。在$ DefineFormat块中定义了报告的类型,扫描的最大个数,打印报告纸的类型和大小,每英寸的打印行数,打印报告字体类型和打印图象的分辨率。如在示例程序的1—11行就定义一个$ DefineFormat格式。其中每个报告扫描内容数为二。打印纸为80列,60行。
, 百拇医药
    (2)$ DefineReport /*生成报告块开始*/……

    $ Endreport /*生成报告块结束*/

    $ DefineReport是HRGL语言程序的主块,每个程序必须仅有一个$ DefineReport块,并且该块不能为其它任何块的子块。该块负责定义整个报告的打印方式。如示例程序。

    (3)$ DefineGraph /*图象块开始*/……

    $ EndGraph /*图象块结束*/

    $ DefineGraph块只能写在$ DefineReport块中,并且只有当$ FormatType为STANDARD或Profile时才有效。它定义了报告中图象的位置,打印风格、开始列、打印图象的宽度、打印图象的长度和一些可选内容。
, 百拇医药
    (4)HRGL语言可读性极强(例如$ newline为新起一行;$ newpage为新起一页;$ Width为打印宽度;$ length为打印长度),只要学过一般编程的检验人员,只要简单理解每行的英文意思,大胆实践一定能掌握其编程技巧。

    2. 具体改进方法

    在Example.RPT未改动前一位病人的报告占据一页窄行纸的全幅。要在一页窄行纸中打印两份病人报告,就要针对Example.RPT做相应修改。修改方法如下:

    (1)压缩打印格式

    在$ DefineFormat/$ Endformat块中(2—12行)已定义的报告原宽度($ width)为80,现将其改为40为原值的一半;已定义的报告原长度($ length)为60,现将其改为30为原值的一半。

, http://www.100md.com     在$ DefineGragh/$ EndGragh块中(22—36行)已定义的报告中的图形的宽度($ width)为50,现适当缩小为40;已定义的报告中的图形的长度($ length)为20,现将其改为10为原值的一半。

    (2)去除额外空余行

    在HRGL语言中重起一行是用$ Newline来实现的,在未修改前示例程序加入了许多$ Newline来控制行与行间的间隔,为了在一页中打印两例报告,需删除不必要的空行。具体删除的空行为:20行、38行、64行、67行、105行、116行。

    (3)删除换页命令

    在HRGL语言中换页是用$ Newpage来实现的,要在一页中打印两例报告,则应屏蔽该换页命令,使一页中可连打两例报告,如117行。

    3. 结束语

    通过以上分析和实例修改,我们实现了一页窄行打印两例报告,和一次性多页连打,大大的提高了功效。由此可进一步看出HRGL语言是一种易学、易用的结构化语言,一般检验人员只要大胆实践就可以大大地改进工作。■, http://www.100md.com