吵吵   2014-07-13  阅读:2,073

上篇文章讲述了为什么药重新做血型仪的接口,这篇文章来仔细看看这个接口要怎么做?

这台仪器其实用的也是ASTM协议,但是并不是COM串口通讯的,也不是网口通讯的,那它是啥?文件通讯的!

意思就是血型仪生成的请求和结果文档放在设备电脑的upl文件夹下,LIS接口需要不停的监控该文件夹,发现了相关的文件,就处理,处理完后将已经处理的文件删除。LIS接口生成多项目文件放到dnl文件夹下,血型仪的操作程序也会监控文件夹,将项目读进去。

不管它以什么形式传输,但是,它的协议还是ASTM的:

一、收到请求

以下就是血型仪发送给LIS的文件,用于请求要做的项目,20140630160646.req

H|\^&|||OCD^AV2G^1.0^3949|||||||P|1|20140630160643
Q|1|^151405053190||||||||||O
Q|1|^151403002145||||||||||O
Q|1|^151405068753||||||||||O
L

这个文件其实还蛮好分析的,取出每一行出来,然后判断首字母是不是Q,如果是的,就把条码取出来。

需要注意的是,这个是一次上3个标本,但是只生成一个文件,该文件中包含了3个条码的请求。

刚开始的时候,吵吵以为是一个条码生成一个req文件,因此只取了一条Query Record,上机的时候就发现,只有一个标本做了,其它的标本不做!

二、返回项目

那么当我们收到请求后应该如何返回项目呢,我们可以看应该生成的项目文件20140630161345.dnl

H|\^&|||LIS||||||||1|20140630161345
P|1|||||||||||||||||||||||||||||||||
O|1|151405053190||ABD|S||||||N||||CENTBLOOD|||||||||||||||
L|1|N

我们可以将以上文件做为一个模板,然后替换掉我们要修改的东西,最后再重新生成文件,要替换的字段有:

20140630161345: 这个就是取时间来格式化一下就行了
151405053190:条码
ABD:项目,ABD代表正定型,ABORVS代表正反定型。
S:急诊标志,正常的为N

替换之后,我们同样是根据条码请求的个数,即Q的个数,生成相应的O,最后生成dnl文件,写到它的目录中去

三、收到结果
收到的结果是个比较简单的内容,我们来看20140630155450.upl文件:

H|\^&|||OCD^AV2G^1.0^3949|||||||P|1|20140630155447
P|1|0||||||U||||||||||||||||||||||||||
O|1|151405064209||ABORVS|N|20140630154613|||||||||CENTBLOOD|||||||20140630155445|||F|||||
R|1|ABO|B|||||F||自动||20140630155445|3949
R|2|Rh|POS|||||F||自动||20140630155445|3949
L

里面的R代表的就是结果了,当然,条码是在O里面的,将结果取出来后,可能需要转化一下,例如POS转化为”阳性(+)”,再发送到LIS里面就OK了,发送成功即将该文件删除。

好了,这个就是强生的血型仪的LIS接口的所有内容了,由此看来,文件传输的方式其实比com串口传输都要简单。而且,这个协议其实是简化了很多的,很多ASTM的字段都是直接留空的,你发送给血型仪,它也只取几个需要的字段,其它字段为空或者不合格也不报警。简简单单的确实好!

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

吵吵 吵吵

发表评论

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