POWERBUILDER12.6开发实验室管理系统[LIS](一),迈瑞三分类血球仪 BC-20S\BC-30S接收、解析数据

一、机器设置

迈瑞三分类血球仪 BC-20S\BC-30S

网络通讯方式--采用TCP协议

仪器设置:
通信设置:网口通信
协议设置:IP地址 10.0.0.2 子网掩码 255.255.255.0 通信协议 HL7
传输模式:√ 自动通信
                   √ 以打印位图数据传输
                   直方图传输方式:以位图方式传输
                  (其他未说明项不要打勾)
LIS电脑设置:IP地址 10.0.0.1 子网掩码 255.255.255.0

LIS通信程序设置:网络通讯,本地侦听端口0(或置空),远程电脑IP 10.0.0.2 远程侦听端口 5100
LIS通信其他设置:√启用双工 双工模式:BC5300

二、接收到的数据

MSH|^~\&|||||20200411123920||ORU^R01|6|P|2.3.1||||||UNICODE PID|1||^^^^MR PV1|1 OBR|1||78|00001^Automated Count^99MRC|||20200410090045|||||||||||||||||HM||||||||瀛eぇ浼?OBX|1|IS|08001^Take Mode^99MRC||O||||||F OBX|2|IS|08002^Blood Mode^99MRC||W||||||F OBX|3|IS|01002^Ref Group^99MRC||閫氱敤||||||F OBX|4|NM|6690-2^WBC^LN||12.2|10*9/L|4.0-10.0|H~N|||F OBX|5|NM|731-0^LYM#^LN||2.4|10*9/L|0.8-4.0|N|||F OBX|6|NM|736-9^LYM%^LN||19.8|%|20.0-40.0|L~N|||F OBX|7|NM|789-8^RBC^LN||4.47|10*12/L|3.50-5.50|N|||F OBX|8|NM|718-7^HGB^LN||128|g/L|110-160|N|||F OBX|9|NM|787-2^MCV^LN||86.5|fL|80.0-100.0|N|||F OBX|10|NM|785-6^MCH^LN||28.6|pg|27.0-34.0|N|||F OBX|11|NM|786-4^MCHC^LN||330|g/L|320-360|N|||F OBX|12|NM|788-0^RDW-CV^LN||14.4|%|11.0-16.0|N|||F OBX|13|NM|21000-5^RDW-SD^LN||41.8|fL|35.0-56.0|N|||F OBX|14|NM|4544-3^HCT^LN||38.6|%|37.0-54.0|N|||F OBX|15|NM|777-3^PLT^LN||215|10*9/L|100-300|N|||F OBX|16|NM|32623-1^MPV^LN||8.1|fL|6.5-12.0|N|||F OBX|17|NM|32207-3^PDW^LN||15.4||15.0-17.0|N|||F OBX|18|NM|10002^PCT^99MRC||0.175|%|0.108-0.282|N|||F OBX|19|NM|10027^MID#^99MRC||0.8|10*9/L|0.1-1.5|N|||F OBX|20|NM|10029^MID%^99MRC||6.8|%|3.0-15.0|N|||F OBX|21|NM|10028^GRAN#^99MRC||9.0|10*9/L|2.0-7.0|H~N|||F OBX|22|NM|10030^GRAN%^99MRC||73.4|%|50.0-70.0|H~N|||F OBX|23|NM|10014^PLCR^99MRC||14.8|%|11.0-45.0|N|||F

MSH|^~\&|||||20200411123920||ORU^R01|6|P|2.3.1||||||UNICODE
PID|1||^^^^MR PV1|1 OBR|1||78|00001^Automated Count^99MRC|||20200410090045|||||||||||||||||HM||||||||瀛eぇ浼?
OBX|1|IS|08001^Take Mode^99MRC||O||||||F
OBX|2|IS|08002^Blood Mode^99MRC||W||||||F
OBX|3|IS|01002^Ref Group^99MRC||閫氱敤||||||F
OBX|4|NM|6690-2^WBC^LN||12.2|10*9/L|4.0-10.0|H~N|||F
OBX|5|NM|731-0^LYM#^LN||2.4|10*9/L|0.8-4.0|N|||F
OBX|6|NM|736-9^LYM%^LN||19.8|%|20.0-40.0|L~N|||F
OBX|7|NM|789-8^RBC^LN||4.47|10*12/L|3.50-5.50|N|||F
OBX|8|NM|718-7^HGB^LN||128|g/L|110-160|N|||F
OBX|9|NM|787-2^MCV^LN||86.5|fL|80.0-100.0|N|||F
OBX|10|NM|785-6^MCH^LN||28.6|pg|27.0-34.0|N|||F
OBX|11|NM|786-4^MCHC^LN||330|g/L|320-360|N|||F
OBX|12|NM|788-0^RDW-CV^LN||14.4|%|11.0-16.0|N|||F
OBX|13|NM|21000-5^RDW-SD^LN||41.8|fL|35.0-56.0|N|||F
OBX|14|NM|4544-3^HCT^LN||38.6|%|37.0-54.0|N|||F
OBX|15|NM|777-3^PLT^LN||215|10*9/L|100-300|N|||F
OBX|16|NM|32623-1^MPV^LN||8.1|fL|6.5-12.0|N|||F
OBX|17|NM|32207-3^PDW^LN||15.4||15.0-17.0|N|||F
OBX|18|NM|10002^PCT^99MRC||0.175|%|0.108-0.282|N|||F
OBX|19|NM|10027^MID#^99MRC||0.8|10*9/L|0.1-1.5|N|||F
OBX|20|NM|10029^MID%^99MRC||6.8|%|3.0-15.0|N|||F
OBX|21|NM|10028^GRAN#^99MRC||9.0|10*9/L|2.0-7.0|H~N|||F
OBX|22|NM|10030^GRAN%^99MRC||73.4|%|50.0-70.0|H~N|||F
OBX|23|NM|10014^PLCR^99MRC||14.8|%|11.0-45.0|N|||F

三、与机器连接

//【检验设备名称】
 gi_device_name= ls_devicename
//【关闭连接】
winsock.object.close()
//【设置为TCP协议  TCP-0、UDP-1】
winsock.object.protocol = 0
//【对方的IP地址】
winsock.object.remotehost='10.0.0.2'
//【对方的通讯端口号】
winsock.object.remoteport=5100
//【发出连接请求】
winsock.object.connect()

/*【1、属性】
BytesReceived属性(接收数据的字节数),
LocalHostName属性(本地主机名称),
LocalIP属性(本地主机IP),
LocalPort属性(本地主机端口),
RemoteHost属性(ActiveX控件)(远程主机名称),
SocketHandle属性(Socket句柄),
State属性(Winsock控件)(网络状态【连接、未连接】),
Protocol属性(Winsock控件)(协议【TCP、UDP】),
Name属性(控件的名称),Parent属性(上级),
RemotePort属性(ActiveX控件)(远程主机端口),
Index属性(ActiveX控件)(上下文,一般不用),
Tag属性(ActiveX控件)(标记,一般不用),
Object属性(ActiveX控件)。

【2、方法】
方法编辑
Accept方法(接受TCP连接请求),
Bind方法,
Close方法(Winsock控件)(关闭TCP连接),
Listen方法(监听TCP数据),
PeerData方法(获得数据),
SendData方法(传输数据),
GetData方法(WinSock控件),
GetData方法(ActiveX控件)(获得数据)。
注意:GetData方法取回数据后,将清除缓冲区,
而PeerData方法只是获取当前接收到的数据拷贝,而不清除缓冲区。

【3、事件】
Close事件(连接被关闭),
ConnectionRequest事件(连接请求),
DataArrival事件(数据到达),
SendComplete事件(数据传输完毕),
SendProgress事件(数据传输中),
Error事件(发生错误),
Connect事件(Winsock控件)(连接已经建立),
Connect事件(ActiveX)。

【4、TCP 基础】
数据传输协议允许创建和维护与远程计算机的连接。连接两台计算机就可彼此进行数据传输。
如果创建客户应用程序,就必须知道服务器计算机名或者 IP 地址(RemoteHost 属性),
还要知道进行“侦听”的端口(RemotePort 属性),然后调用 Connect 方法。
如果创建服务器应用程序,就应设置一个收听端口(LocalPort 属性)并调用 Listen 方法。
当客户计算机需要连接时就会发生 ConnectionRequest 事件。为了完成连接,
可调用 ConnectionRequest 事件内的 Accept 方法。
建立连接后,任何一方计算机都可以收发数据。
为了发送数据,可调用 SendData 方法。当接收数据时会发生 DataArrival 事件。
调用 DataArrival 事件内的 GetData 方法就可获取数据。

【5、UDP 基础】
用户数据报文协议 (UDP) 是一个无连接协议。
跟 TCP 的操作不同,计算机并不建立连接。
另外 UDP 应用程序可以是客户机,也可以是服务器。
为了传输数据,首先要设置客户计算机的 LocalPort 属性。
然后,服务器计算机只需将 RemoteHost 设置为客户计算机的 Internet 地址,
并将 RemotePort 属性设置为跟客户计算机的 LocalPort 属性相同的端口,
并调用 SendData 方法来着手发送信息。于是,客户计算机使用 DataArrival 事件内的
GetData 方法来获取已发送的信息。
*/

四、POWERBUILDER12.6解析数据

string ls_orisampno
string ls_today
string ls_channel
string ls_samtype
string ls_resultflag
string ls_pdname
string ls_temp
string ls_result
string ls_testday
integer li_flag
integer li_pd
integer li_i
integer li_count
integer li_length
integer li_update
integer li_gt
integer li_gt1
integer li_gt2
integer li_gt3
integer li_gt4
datetime ld_qcdate
double ld_result
//【服务器端日期】
ld_qcdate = f_sysdate()
ls_today = string(ld_qcdate,"yyyymmdd")
//【取表中接收的数据】
is_sourfull = gf_commtimer1(is_deviceid)
//【如果为空】
if is_sourfull = "" then
    timer(3)
    inv_tray.modifytray(0,handle(this),'mysoft\ico\NETHOOD.ico',gi_device_name +' - 数据接收系统【等待接收数据】')
    return
end if
//【数据不为空】
timer(0)

inv_tray.modifytray(0,handle(this),'mysoft\ico\liscom.ico',gi_device_name +' - 数据接收系统【正在接收数据】')

li_gt = pos(is_sourfull,"OBR")

if li_gt > 0 then
    is_sourfull = mid(is_sourfull,li_gt)
    li_gt1 = f_atc(is_sourfull,"|",3)
    li_gt2 = f_atc(is_sourfull,"|",4)
    li_gt3 = f_atc(is_sourfull,"|",7)
    li_gt4 = f_atc(is_sourfull,"|",8)
    ls_testday = left(mid(is_sourfull,li_gt3 + 1,li_gt4 - li_gt3 - 1),8)
    ls_orisampno = "0000" + trim(mid(is_sourfull,li_gt1 + 1,li_gt2 - li_gt1 - 1))

if len(ls_orisampno) > 5 then
        is_sampleno = right(ls_orisampno,5)
    else
        is_sampleno = fill("0",5 - len(ls_orisampno)) + ls_orisampno
    end if

is_sampleno = gf_commtimer2(is_sampleno,is_deviceid,is_profilename,ls_testday)
        is_type = "P"

end if

li_gt = pos(is_sourfull,"OBX")
ls_channel = ""

if li_gt > 0 then
    li_gt1 = f_atc(is_sourfull,"^",1)
    li_gt2 = f_atc(is_sourfull,"^",2)
    ls_channel = mid(is_sourfull,li_gt1 + 1,li_gt2 - li_gt1 - 1)
    li_gt1 = f_atc(is_sourfull,"|",5)
    li_gt2 = f_atc(is_sourfull,"|",6)
    //【结果】
    is_result = mid(is_sourfull,li_gt1 + 1,li_gt2 - li_gt1 - 1)
    //【测试项目ID】
    is_testid = gf_commchannel(ls_channel,is_sampletype,is_deviceid,is_bzybh)
    li_flag = 1
    gf_commdata(is_type,is_testid,is_sampleno,is_result,ld_qcdate,is_sampletype,is_deviceid,li_flag)
    wf_settext(is_sampleno,is_testid,is_result)
end if

timer(0.9)
return

QQ交流:103556710

POWERBUILDER12.6开发实验室管理系统[LIS](一),迈瑞三分类血球仪 BC-20S\BC-30S接收、解析数据相关推荐

  1. POWERBUILDER12.6开发实验室管理系统[LIS](三),罗氏cobas411发光仪接口

    POWERBUILDER12.6开发实验室管理系统[LIS](三),罗氏cobas411发光仪接口 一.接收到的数据 1H|\^&||||||||||P|| 05 2P|1|||||||||| ...

  2. 大型医院云LIS系统源码 学实验室管理系统LIS源码 SaaS服务

    一套云LIS系统源码,基于B/S架构的医学实验室管理系统,整个系统的运行基于WEB层面,只需要在对应的工作台安装一个浏览器软件有外网即可访问.SaaS服务,无需部署,开通账号接口快速入门使用,集齐前处 ...

  3. mindray心电监护仪使用说明_迈瑞监护仪使用指南12

    5 :监护时间超过 24 小时的,请更换电极片, 并且更换电极片粘贴的位置: ------------------------------------------------------------- ...

  4. 迈瑞监护仪对接(iMEC、PM、D系列等)

    从监护仪采集的数据主要有:心率.收缩压.舒张压.血氧饱和度.呼吸.脉搏等 读取监护仪波形数据,通过websocket实时可在各个终端(手机web,pc端web,winform等)展现. 生理数据: H ...

  5. Springboot+vue项目实验室管理系统

    摘要 社会的发展和科学技术的进步,互联网技术越来越受欢迎.网络计算机的生活方式逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用.互联网具有便利性,速度快,效率高,成本低等优点. 因此,构建符合自 ...

  6. 计算机毕业设计java+springboot+vue的实验室管理系统

    本文从用户的功能要求出发,建立了实验室管理系统,系统中的功能模块主要是实现管理员:首页.个人中心.实验室管理.用户管理.实验室申请管理.设备管理.设备报备管理.设备申请管理.消耗品管理.消耗品领取管理 ...

  7. java计算机毕业设计基于springboot+vue+elementUI的实验室管理系统(前后端分离)

    项目介绍 科技水平一直是体现一个国家强弱的重要标志,而科技的一点诞生地是实验室,如果能够更好的对实验室进行管理是很多实验室管理人员一直研究的一个问题.只有更加科学和合理化的利用实验室才能够更好的让科技 ...

  8. mindray心电监护仪使用说明_迈瑞心电监护仪说明书

    迈瑞心电监护仪常用问题及报警处理_基础医学_医药卫生_专业资料.精品文档 迈瑞心电监护仪常用问题及报警处理 一. 打开监护仪的电源,需按住该按键 2 秒钟以上.(...... 监护仪的简单使用说明 A ...

  9. 医院实验室管理系统开发功能设计详解来自博奥智源公司

    1.检前管理 1.1.检验申请 (1)提供检验开单功能(开单模式支持勾选.支持通过检验项目代码\名称快速模糊查找.混合录入查找模式等),并提供集成接口直接嵌入到HIS系统. (2)提供检验项目套单组合 ...

  10. 浙江师范大学实验室开放项目《应用水晶报表快速开发数据库管理系统》学生名单登记表(给学分名单)

    浙江师范大学实验室开放项目学生名单登记表 项目名称 应用水晶报表快速开发数据库管理系统 所在实验室 公共基础实验室 实验类型 □综合设计  □科学研究  □自拟课题  □计算机应用  □人文素质 指导 ...

最新文章

  1. 20160115广州MVP线下聚会
  2. 死锁产生的原因以及解决方法
  3. php 判断是否gzip,PHP网站判断页面文件或图片是否经过gzip压缩
  4. Java对日期操作处理类
  5. [architecture]-ARMV8的一些总结-一篇就够了
  6. hibernate createsqlquery delete多个表_go语言教程哪里有?xorm表基本操作及高级操作...
  7. 甜甜圈和拓扑学也有关系,你想的到吗?
  8. Problem B: 求各位数字之和
  9. Java基础学习总结(137)——Java ClassLoader再总结
  10. 《自己动手写操作系统》第二章——Bochs调试及相关仿真工具的使用方法
  11. KEPWARE通过MODBUS_TCP连接西门子PAC3200电能表
  12. oracle dbv验证,关于dbv检测的结果,有些不懂,请各位指点
  13. 酷家乐服务网格与Serverless落地情况
  14. 服务器显示连接网络连接失败是怎么回事儿,app出现网络连接失败是什么原因
  15. 【附源码】Python计算机毕业设计七七美食汇
  16. oracle subsatr 分隔符,Oracle函数列表速查-数据库专栏,ORACLE
  17. 转贴: 傅立叶级数(Fourier Series) 推导
  18. 玩转四旋翼无人机(仿真)
  19. Roboware Studio教程 (ROS kinetic)
  20. JAVA构造器、静态上下文的执行时机与代码执行顺序详解

热门文章

  1. 基于SpringBoot+Bootstrap【爱码个人博客系统】附源码
  2. 数字孪生--技术介绍
  3. 求模 和 求余 的区别
  4. JAVA后台,对上传资源限定大小
  5. 22. CTF综合靶机渗透(十五)
  6. HowTo——cotex-m3处理器HardFault事后分析方法
  7. 强化学习读书笔记(一)
  8. Fragment already added解决
  9. 《炬丰科技-半导体工艺》集成微加工平台各向异性腐蚀
  10. 基于openstack的云桌面开源框架