吵吵   2013-12-13  阅读:2,988

普利生全自动40孔动态血沉测试仪是北京普利生生产的血沉仪,它可以通过电脑的软件端来进行编号,操作十分简单。吵吵跑过去看的时候,发现这个东西和科室的血液流变仪一样是普利生生产的。

该仪器性能稳定,使用方便,血沉仪,原本就没有啥可说的,读数准确就可以了。整体评价不错,只是一是与原来的100孔血沉仪相比能测试的标本量就小了些,第二是它连盖子也省了,难道不怕掉灰尘进去么?

回归正题,我们来看看如何连接LIS。

1、血沉是不扫条码的,因此接口只需要考虑发送结果就可以了。将结果取出来,按照样本号,发送到LIS中对应的地方就ok了。

2、血沉的接口可以通过com等方法通信获取,但是没有这个必要了,我们直接从血沉控制软件的数据库中取数据。该数据库位于血沉软件的根目录下的database文件夹,文件名称为LBY.mdb。我们可以看看这几个字段:

用ACCESS打开LBYTable可以看到数据如下:

date:时间
sampleNum:样本号;
TestStatus_XC:测试状态,一般情况下是0,当完成之后变成了187,我们可以通过这个来判断是否是已经做完的结果。
Data_XC:结果,为整数型。在异常测量的时候,结果会为1.

血沉XC40

3、那么我们直接去这表中的数据然后传输就行了。一开始,吵吵直接监控这张表,设定一个一分钟的计时器,将日期为今天的未传输的结果发送到LIS。后来发现传输的都是0。因为血沉软件编号之后,就将数据插入了数据库,且结果为0,所以一定要根据TestStatus_XC来判断是否测试后的结果。

4、怎么判断这个结果已经发送过了呢?我找他们的北京的工程师,看看能否用一个空的字段来记录结果已经发送了,他说了半天,也没说哪个字段是没用的。那我就只好自己测试了,找到了remartk_7这个字段,当一条记录已经发送到LIS之后,我就将其改为“1”(默认情况是为空的);测试N天,发现没有啥问题,该字段可以使用。

以下是连接血沉数据库的一些代码,delphi的:

procedure TfrmELAB.CheckData;
var
ID:array of string[30];
Num:array of Integer;
R:array of string[30];
i,count:Integer;
begin
date:=GetServerTime;

dbquery.SQL.Clear;
dbquery.SQL.Add(‘select * from LBYTable where Date=datediff(‘+””+’d’+””+’,0,’+””+Formatdatetime(‘YYYY-MM-DD’,DATE)+””+’)’+ ‘ and Remark_7=’+””+””+’ and TestStatus_XC>0′);
//ShowMessage(‘select * from LBYTable where Date>’+””+Formatdatetime(‘YYYY-MM-DD’,DATE)+””);
dbquery.Open;
if dbquery.RecordCount=0 then Exit;
count:= dbquery.RecordCount;
SetLength(ID,count);
SetLength(Num,count);
SetLength(R,count);
for I := 0 to count-1 do
begin
//ShowMessage(dbquery.FieldByName(‘SampleNum’).AsString);
ID[i]:=dbquery.FieldByName(‘ID’).AsString;
Num[i]:=dbquery.FieldByName(‘SampleNum’).asInteger;
R[i]:=dbquery.FieldByName(‘Data_XC’).AsString;

dbquery.Next;
end;
for i := 0 to count-1 do
begin
if (SampleExist(num[i])=false) then
begin
if SendToLIS(Num[i],R[i])=true then
begin
mmTips.Lines.Add(DateTimeToStr(date)+’:发送结果 ESR ‘+inttostr(num[i])+’=’+R[i]);
Self.Caption:=inttostr(num[i])+’ ESR = ‘+R[i];
SetSampleSended(ID[i]);
end;

end
else
begin
//mmTips.Lines.Add(‘LIS结果存在:’+inttostr(NUM[i]));
end;
end;

SetLength(ID,0);
SetLength(Num,0);
SetLength(R,0);

end;

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

吵吵 吵吵

一条回应:“普利生血沉仪LBY-XC40B的LIS接口”

  1. 731163060说道:

    请教下这个—–找到了remartk_7这个字段,当一条记录已经发送到LIS之后,我就将其改为“1”(默认情况是为空的)——-。当该标本号复查时,结果不同了,是不是结果就不能上传了?

发表评论

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