吵吵   2014-07-26  阅读:2,619

AU640是一个比较老的机器,老到还不支持条码,也就没有办法实现双向。

吵吵是个机遇接触到了这台仪器,这么老的机器,硬是搞出一个伪双向的过程来了:

在该仪器的User菜单下是有一个可以向Host请求项目的界面的,在协议说明里面,它把这个叫做Test Requisition Information (T.R.I.) ,然后Host(即我们的LIS接口),按照它请求的样本号,把相应样本号要做的项目发给它。


下图为机器上输入样本号请求项目的界面:

AU640

通过这种方式我们确实能够减少选择项目的时间,但是,要绑定样本和架子依旧是要费力不少的,所以这种双向太原始,真正的双向还是要通过条形码扫面的方式。

接下来看看这个协议吧:

一、项目请求:

这个是仪器向LIS接口发送多的请求信息:

RB01

R 01 0013
R 01 0014

RE01

RB代表的是请求消息开始;r_代表的就是请求的内容,RE代表的就是请求结束。

值得注意的是,AU640通过Com口接收消息是一小段一小段发送的,如日志:

2014-07-24 07:30:14;COM接收消息:RB01
2014-07-24 07:30:14;请求消息开始:
2014-07-24 07:30:16;COM接收消息:R 01
2014-07-24 07:30:16;COM接收消息: 0013
2014-07-24 07:30:16;COM接收消息:
2014-07-24 07:30:16;COM接收消息:
2014-07-24 07:30:16;COM接收消息:
2014-07-24 07:30:16;组成一个请求消息:R 01 0013

因此,你需要如上所说,将其组合成一个完整的请求消息。

上面看到仪器请求的是0013和0014两个样本,在这两条请求消息之间会有两秒左右的时间间隔,这个是用来干啥的呢?给你回复请求的项目的(注意!!!,一定是仪器发送一条,你回复一条,它再发送一条,你再回复一条… …)

看看我们回复的消息内容是什么吧:

S 000101 0013 0000000110 E01021338

0013是样本号,01021338分别代表四个检验项目的通道编码。

二、结果传输。

以下是结果传输的格式:
DB01

D 01001001 0001 E01 18.9r 02 14.5r 03 14.5r 04 71.6r 05 43.0r 06 45.0r 07 8.8r 08 9.7r 09 14.6r 10 6.3r 11 8.3r 12 28.6r 13 8516.4r 14 6.05r 15 0.70r 16 5.29r 17 2.58r 18 1.68r 19 3.22r 20 0.84r 21 5.19r 22 51.9r 23 33.4r 24 225.7r 25 89.2r 26 8.19r 27 177.5r 28 182.1r 40 1.5r

DE01

DB代表结果传输开始,D_代表传输结果数据,DE代表结果传输结束。

有人可能会比较郁闷后面的项目结果怎么循环去出来,告诉你个诀窍,每个项目结果字符串长度为13,按照这个长度循环去取就ok了。

相比请求消息来说,处理结果消息就简单的多了,你可以全部都拼接在一起,全部都接收完成后,一个个的往LIS里面发送!

AU640不愧是古老的机器,古老的协议啊!

吵吵微信朋友圈,请付款实名加入:

吵吵 吵吵

一条回应:“奥林巴斯AU640生化仪LIS接口协议”

  1. 疯狂的石头说道:

    能问下你给仪器回复的这条消息 S 000101 0013 0000000110 E01021338里面的000101 和0000000110是从哪来的吗

发表评论

电子邮件地址不会被公开。 必填项已用*标注