当前位置: 首页 > 期刊 > 《中国医疗器械杂志》 > 1999年第2期
编号:10271955
生化分析仪的软件设计
http://www.100md.com 《中国医疗器械杂志》 1999年第2期
     作者:封洲燕 沈公羽

    单位:浙江大学 (310027)

    关键词:生化分析仪;软件设计;用户界面;数据存储管理

    提要 介绍一种小型全自动生化分析仪软件系统 提要 介绍一种小型全自动生化分析仪软件系统,分析了其结构、功能、用户界面的设计,和数据存储、管理、使用的方法,并详细介绍了系统汉化方法和随机帮助信息显示的实现。

    The Designing of a Software for an

    Automated Biochemistry Analyzer

    Feng Zhouyan Shen Gongyu

    Zhejiang University
, 百拇医药
    ABSTRACT The structure,functions,user's interface,data storage and administration of a software systen for an automated biochemistry analyzer are described. The methods to display the Chinese character menus and on-line help information are discussed in detail.

    KEY WORDS Biochemistry analyzer Software designing User's interface data storage and administration

    近年来,微型计算机硬件和软件在生化仪上的应用,使生化仪的功能迅速增强,提高了自动化水平。生化仪软件系统主要有三个功能:(1) 协调整机硬件的操作和运行,实现加样、稀释、混合、反应、测试和清洗等操作的自动化;(2) 各种数据的采集、分析处理、管理保存和打印显示;(3) 提供方便的人机对话界面,使用户可通过键盘和显示屏,控制、监视或调整仪器的运行状态,得到正确的分析结果。本文介绍SH-C1小型全自动生化分析仪上配备的软件系统的结构和功能,用户界面的设计,以及其数据管理和使用的方法,并详细介绍了系统汉化和随机帮助信息显示等程序实现的方法。
, http://www.100md.com
    该生化分析仪软件系统的特点是:使用了中文菜单操作界面,可较方便地进行病人样品、测试方法和质控数据的编程;能自动保存所有的编程数据和测试数据,并进行分析和统计处理;用直观的图形和文字显示仪器运行状态和测试结果;有蜂鸣和文字提示引导操作,还配有随机帮助信息。此软件在设计过程中,借鉴了一些大中型进口生化仪的功能,使该仪器与其它小型生化仪相比具有操作直观简便、功能强的特点,且使用中文界面,较适合在我国县级以下中小型医院的推广使用。由于目前我国生化分析仪生产水平较低,仅限于半自动和刚刚起步的小型全自动生化仪的生产,因此在与进口大中型自动生化仪的竞争中,应该具有国产仪器的特色和优势,才能占有一席之地,而开发操作方便、功能强的中文界面软件系统可以成为其中的一个方向,使国产仪器能更好地适应于中小型医疗部门医务人员的使用要求。

    1.软件系统功能、结构和界面设计

    该软件在Borland C++3.1平台上开发完成,在DOS系统下运行,不需要中文操作系统的支持。整个软件根据仪器的功能分成12个模块,系统的结构和功能如图1所示。其中,用于仪器运行状态设置的功能有:修改日期、温度调节和空白调零;用于系统数据编程和管理的功能有:测试样品编程、测试方法编程、质量控制编程、报告打印和文件查询;控制整机运行和维护的有:测试运行和液路清洗;还具有参数设置和仪器性能测试等功能用于仪器的调试。90.gif (44071 字节)
, 百拇医药
    图1 软件系统的结构和功能

    软件系统各功能菜单使用统一格式的用户窗口界面,以图2所示的病人样品编程菜单为例,其屏幕显示的几个区域是:

    (1) 左方背景以暗色调显示主菜单,从中可以看出,用户选择“测试样品编程”这一项后,打开屏幕中间区域的显示内容;

    (2) 屏幕上方显示温度、时间和日期;

    (3) 中间为当前菜单内容和输入区,此时,左边窗口显示的是待测试的病人样品数据表,右边窗口是可选择的测试项目表;

    (4) 左下方是按键提示区,列出了当前菜单状态下可以使用的主要按键及其功能,其中,上排是功能,下排是对应的按键;

    (5) 右下方是信息提示区,显示用户操作的提示、仪器的状态等信息,例如,图中光标处病人编号为6080701的样品已选择了ALC等三个测试项目,而操作者试图再重复加入同一个项目ALC时,信息区即提示“此项目已有!”。
, 百拇医药
    由此可见,该用户界面具有简单明了、内容丰富的特点,既体现了当前操作与整个系统之间的关系,显示了常用信息,又有当前操作菜单完整的内容,方便信息的输入。另外,仪器使用标准PC键盘,一些常用按键在各菜单下有一致的功能,如:“↑、↓、←、→”四个箭头键用于移动光标:系统中使用的光标有滚动条、小三角或下划线等形式,当屏幕上同时存在两个光标时,一个光标由箭头键控制,另一个光标则由PgUp、PgDn、Home、End四个键控制;“Enter”键用于接收或确认输入的数据,或开始启动某项操作;“Esc”键用于退出当前菜单,返回前级菜单;“Ctrl-Fl”键用于打开随机操作使用说明书;“PgUp”、“PgDn”键用于翻页显示。

    2 数据存储、管理和使用

    全自动生化分析仪需要处理的数据量很大,可将其分成样品数据、项目测试方法数据、质控数据和仪器参数设置数据等几大类,下面详细介绍各类数据的存储、管理和使用的方法。91.gif (16625 字节)
, 百拇医药
    图(2) 用户界面显示示例

    2.1 样品编程和测试结果数据文件

    样品数据文件存放每个待测试样品的数据,内容有:样品杯号、样品编号、样品所选择的测试项目和总测试项目数、测试分析所得吸光度值和计算结果等,前几项数据由操作人员在“样品编程”菜单中输入,其界面如图2所示,图中左边是待测样品编程表,其中的样品杯号自动产生,样品编号如果是连续的,也可用自动产生的方式输入;总测试项目数由系统自动统计生成;右边是可供选择的测试项目表,其中显示颜色反转的测试项目表示已被选中,移动小三角形光标可任意选择需要测试的项目。样品数据文件的测试分析结果则在仪器测试运行时按上述编程内容自动存储。

    当前使用的样品数据文件保存在工作目录的TEMP子目录下的sample文件中,一旦文件内容被改动,系统即自动保存,因此,即使出现断电等意外,数据仍可保存完好。
, 百拇医药
    当一批样品测试完毕后,可新开另一个样品编程表,此时,表格左上角的文件编号自动增一,成为新的当前样品数据文件。原TEMP目录下的sample文件以文件编号为名被转存入SAMP子目录中,供以后查询用。

    进入系统的数据查询菜单,可查阅以往的样品数据文件,屏幕上以文件号的次序列出文件目录,以及保存日期和时间,可翻页查找目录,也可直接键入文件号检索,然后打开文件,显示或打印编程数据和测试结果数据。打印输出的报告单上都标有文件号,以便于日后查询。

    2.2 测试方法数据文件

    该文件中保存每个测试项目的测试方法参数,系统进行测试分析时,即根据这些参数的设置,协调控制仪器各部件的动作,进行自动测试,得到分析结果。该数据文件的用户编程输入界面格式与上述样品编程类似,右边是测试项目表,表中列出所有仪器可做的测试项目名(用户可增删测试项目,也可更改测试项目名),移动光标可选中其中的任何一个项目进行编程,左边编程表中列出被选中项目的各个参数值,如:测试方法、比色池温度、测试波长、质控品测试个数、延迟时间、测试读数时间、样品和试剂用量、标准品数值等等,用户可修改或输入新值。一旦文件内容有所改动,系统自动保存,该文件保存在TEMP子目录下的item文件中。另外,在ITEM子目录中存有后备的9个测试方法文件,可随时替换TEMP目录下保存的当前使用测试方法文件,以便适应不同试剂厂家产品的测试要求。
, 百拇医药
    2.3 质量控制数据文件

    本系统共可编程10个质控品,对于每个测试项目可任选其中2个作为该项目的质控,至于实际测试运行时是否要做质控品测试,则可在2.2所述的项目测试方法中选择决定,一旦做了测试,则仪器自动记录测试结果,并作统计分析。对每个质控品可编程设置质控品名称、标称值和上下限(2SD)等参数,这些数据自动保存在TEMP子目录下的control文件中。质控品的测试结果则以测试项目编号为文件名自动保存在CONTROL子目录中,每个项目的每个质控品数据单独存于一个文件中。用户在“质量控制”功能菜单中,可随时将质控数据文件调出,按常规质控图形式或按文字形式显示,并同时显示质控测试数据的均值、标准差和变异系数等统计数据,标记失控数据。

    每个项目的质控品测试数据最多可保存300个,当第300个测试数据产生时,系统提示“质控数据已满”,并在第301个测试数据产生时,自动将前200个数据删除,保留最近测试的100个数据和新的测试数据。
, 百拇医药
    2.4 系统调试和性能测试数据文件

    该系统还配备有仪器光电比色部分吸光度值定标软件,用它可方便地对每个测试波长进行吸光度值的校正,校正所得的曲线拟合参数存放在TEMP子目录下的light文件中。系统调试中所需设置的其它参数,如稀释器校正系数、比色池吸样量等参数,保存在TEMP子目录下的setup文件中。每次系统启动时,将这些文件调入,用于硬件参数设置和测试结果的分析计算。

    为了方便仪器的调试和性能检测,系统中还带有仪器性能测试功能,可对仪器比色系统的杂散光、线性度、正确度、重复性、稳定性、交叉污染和稀释系统的加样正确性和重复性等性能进行测试。当前的测试数据保存在TEMP子目录下的test文件中,以往的数据则存放在TEST子目录下,可查阅。

    3 程序实现的一些方法

    3.1 汉字显示的处理
, 百拇医药
    系统使用的汉字点阵均取自UCDOS的标准16点阵和24点阵汉字库,但使用两种方式进行显示,一种是每个汉字的显示都直接从硬盘字库文件中读取点阵数据,系统中随机帮助信息的显示使用这种方式;另一种是从内存小字库中读取汉字点阵用于显示,这是本系统采用的主要汉字显示方式。因为,除了帮助信息的显示以外,其它各菜单屏幕显示所使用的汉字个数有限,总共只有200个左右,所以,为了提高汉字菜单显示的速度,减少频繁读取数据对硬盘寿命的影响,我们将系统菜单中所用到的汉字点阵放入一个字库文件HZZ.DAT中,每当系统启动时,将其调入内存,直接用于汉字显示。

    建立这种专用汉字小字库的关键问题是怎样使用通用的汉字机内码来查找小字库中的汉字点阵数据。汉字机内码由区码和位码两字节组成,在UCDOS标准字库中查找点阵的公式为:区码×每区汉字数94+位码。但对于专用的小字库,每个区包含的汉字个数不同,为此,我们给小字库建立了两个检索表,分别称为区值表和位值表。其中,区值表的长度即为汉字分区数(一般为90个左右),表中每栏的下标即为区码,栏内数值为该区之前各区汉字数之和;位值表中则按照区值从小到大的顺序依次存放汉字的位码,位值表的长度即为小字库的汉字总个数。小字库中点阵数据的存放顺序与位值表中相同,一一对应。这样,即能使字库中的点阵数据连续存放,充分利用内存空间,又有简单快速的字库点阵查找算法。我们配备了专用的汉字小字库生成程序,将系统用到的汉字列于一个汉字文本文件中,作为输入数据文件,运行该程序后,即可得到字库文件HZZ.DAT。
, http://www.100md.com
    3.2 随机帮助信息的实现

    系统在任何状态下按Ctrl-Fl键即可打开操作说明书,首先显示的是当前工作菜单的操作说明,也可翻页查看其它菜单的说明,或翻到目录,查找所需菜单,按Esc键退出说明书后,屏幕即恢复原操作界面。我们使用了一个简单的方法,来实现这种随机随境帮助信息显示功能:系统中每个菜单界面有一编号,以这些编号为文件名在HELP子目录下存放着每个菜单的帮助信息文本文件,这些文件独立于系统程序,用一般的文本编辑器在汉字系统下即可输入或修改。当用户按下Ctrl-Fl键时,系统将屏幕上的整屏显示信息拷贝到取名为image的文件中暂存,并根据当前菜单编号调出相应的帮助信息文件显示;如需翻页(或显示目录),则将邻近编号(或目录编号)的文件调出显示。查阅结束后,系统将image中的内容重新显示到屏幕上,这样,对当前菜单的操作毫无影响。

    4 结束语

    上述自动生化分析仪的软件系统不依赖于任何中文系统,使用自备小字库或HZK目录下的标准字库完成汉字界面的显示,并具有设计合理的数据保护和管理措施,将数据按类分成子目录保存,同时在TEMP子目录下设置当前文件,随时记忆文件的更改信息,使数据保存安全可靠。
, 百拇医药
    另外,系统充分利用屏幕显示的优越性。用图形、曲线形象表示测试结果和仪器工作状态,如:空白调零的吸光度柱状显示、测试运行时吸光度曲线和测试进度显示、温度曲线显示和质控图显示等。

    总之,整个软件系统的设计体现了简单明了,使用方便,易学易懂,功能完整、可靠等特点,能够较好地协调和发挥仪器硬件系统的各种功能。

    参 考 文 献

    1李影林主编.中华医学检验全书.人民卫生出版社,1996.

    2王福兰等编写.用C语言设计屏幕界面技术.海洋出版社,1992

    (1998年6月5日收稿), 百拇医药