疾病专题:前列腺炎颈椎病高血压心内科糖尿病痛风冠心病宫颈疾病关节炎肝病癌症呼吸内科感冒神经内科分泌内科泌尿内科消化内科整形

用海伦娜(Helena)报告生成语言优化海伦娜电泳仪报告

www.cnkang.com  2007-3-26 10:35:00  中华康网

  提 要:介绍了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语言元素进行优化修改,就可将原每页窄行打印纸打一例报告优化为可打印两例,大大提高了功效。


  一个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为原值的一半。


  在$ 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语言是一种易学、易用的结构化语言,一般检验人员只要大胆实践就可以大大地改进工作。

  • 两性
  • 男人
  • 女性
  • 母婴