LIS是什么?【通讯】
Ⅲ最后一点,通讯。
从字面意义来看,通讯是一种沟通形式,信息交互的媒介。在LIS中,通讯主要指的是仪器通讯,也就是仪器与电脑-LIS系统的信息交互方式,也可以称为仪器接口。
在LIS中,通讯是最基础也是最重要的功能之一,可以说有通讯才能叫做LIS,没有通讯只能叫做中文报告系统。通讯的内容比较烦杂,就一点一点的进行梳理。
1. 常见的硬件通讯部分
常见的仪器与PC工作站连接方式有3中:串口、网卡、USB,其中USB已经非常少了,以串口、网卡为主。
1.1 串口模式:
早期以及现在大部分仪器使用的依然是串口模式,传统的9针9孔,
优点是:只需要一对传输线就可以进行通讯,成本较低;
缺点:传输速度较低,距离过远数据存在丢失的情况。但是在实验室中PC工作站一般与仪器设备的距离都比较近,所以距离过远的问题基本可以忽略。
串口通讯的方式:仪器的出口与PC工作站的入口是相对的,仪器将信息由3号线输出,3号线另一端连接PC的2号口进行接收,反之亦然。这样描述可能十分绕口,下面用图文方式描述:
(例图取自网络)
由前图可以看出串口头中1~9号线的含义,而我们常用的只有2、3、5三线,其中2号线代表“接收数据”,3号线代表“传送数据”,5号线代表“地线”,标注说明已经很明确。
由后图可以看出仪器设备与PC的传输线工作模式,仪器3号线发送数据,PC2号线接收数据,反之亦然。 所以在现场需要制作交叉串口线的时候,要按照上图所示的线序进行制作,这里有一个小口诀:“2、3交叉,5直连。”
1.2 网卡模式
这里所说的网卡模式,为仪器与PC都是通过网线传输,在仪器端也配置了网卡,使用的即是常用的TCP/IP协议,
优点:传输速度高,几乎没有距离的过远导致数据丢失的问题;
缺点:网线的成本随着网络的普及已经可以忽略,但是仪器和PC都需要额外配置网卡,增加了一定的成本,并且还需要额外开发TCP/IP的通讯;
综合上述两点,可以得出:市场上大部分的仪器设备还是以传统的串口模式通讯,部分新型仪器已经开始转向网卡模式,但是随着医疗技术和信息化的飞速发展,实验室的日检测量会越来越大,传统的串口模式传输速度慢的问题会逐步放大,所以仪器传输转向网卡模式是大势所趋。
2. 常见的通讯功能方式
2.1 单向工作模式
也可简称为单工,是最基本的设备通讯模式,意思为PC只被动接收结果数据,和做简单应答,不对仪器设备做指令控制。
2.2 双向工作模式
也可简称为双工,是较单工而言更高级的通讯模式,在包含了单工的基本功能之外,还可以对仪器设备发送请求和指令控制,目前大型实验室基本都以这种模式为主。
样本号双工:仪器无法使用条码双工的时候,在仪器工作台,指定一批标本顺序的样本号作为请求标识,发送给LIS,LIS根据样本号(与仪器样本号一一对应)组织标本项目等信息回传给仪器。
2.3 流水线模式
更高级的一种模式,但是相对于LIS来说,可以理解为功能更丰富的双工模式,LIS主要与流水线中间控制体对接,LIS进行请求发送以及多种结果的控制接收,中间体则是检验设备功能机群的总控制台,由中间体调配标本的流向和检验分配。
由于流水线可以将多种仪器进行串联组合(离心机、拔盖机、分杯仪、血球仪、生化仪、发光仪等等),极大的减少了检验人员人工处理标本的时间消耗和生物接触危险,并且统一了设备,避免了因为设备差异化导致的结果差异性,目前大型先进的实验室已经逐步开始使用流水线作业模式,当然成本也是相当高昂。
(简图)
3. 常见通讯协议
目前检验仪器主要的通讯协议有:HL7、ASTM等等,部分厂家会定义特殊的通讯协议,如贝克曼的LX20等等,还有部分国产仪器不与LIS直接进行数据交互,而是生成本地文件供LIS读取。
从LIS实施工程师角度看,HL7和ASTM在数据的格式上十分相似,且大部分厂家依然使用ASTM格式的数据,所以现在拿ASTM格式进行举例说明。
3.1 单工
1/||/||/|8.39|mmol/l||H||F|||||P1 C|1|I|0|I L|1|N
上方为仪器发送,通过通讯程序监控到并转码后的可识别数据,为方便对比说明,再进行了换行排列处理,不会影响数据的内容。
H:主机信息标识符,代表仪器型号等设备信息;
P:患者信息,一般包含患者ID等,仪器自身有患者结果存储管理,用作历史对比分析;
O:申请信息,包括患者的条码/样本号、项目等;
R:结果信息,包含项目通道号、结果值、单位、结果类型等,其中1、2、3代表数据行号,8、10、40代表项目通道号,188、83、8.39代表结果值,umol/l、mmol/l代表结果单位;
3.2 双工
仪器请求:
收到:收到HOST询问
发送:回复HOST确认
收到:1H|\^&|||H7600^1|||||host|TSREQ^REAL|P|1 P|1 Q|1|^^0/ //R1/R||||||||||O L|1|N
发送:确认收到项目
收到:收到HOST结束信息
LIS通讯发送项目信息:
发送:HOST询问
收到:仪器确认
发送:1H|\^&|||host^2|||||H7600|TSDWN^REPLY|P|1 P|1 O|1|0^ ^|R1|^^^/\^^^/\^^^/\^^^/|R||||||N||^^||||||^^^^||||||O L|1|N
收到:仪器确认
发送:结束信息
解释说明:
:样本架子号;
:1001架的1号标本;
96,12,41,42:项目通道号
几乎大部分的数据传输协议,都有特有的固定格式、段位长度、开始/结束提示符等,所以不仅要详读仪器厂家提供的通讯协议说明书,还要经常的积累经验,比如罗氏、日立等厂家的检验仪器基本都是使用ASTM格式,迈瑞早期和后期有很大不同等等。
这样在进行仪器联机的时候,可以提高效率,并且需要进行开发的时候也会少走很多弯路。
LIS是什么?【通讯】的更多相关文章
- LIS是什么?
在之前的随笔中,大概介绍了医疗系统有哪些,是干什么的,是怎么配合医院业务的.现在就开始主要的说一说我的主要工作业务 — LIS了. 前面说到过LIS(LIMS),名称是实验室信息管理系统,大概可以分解 ...
- SAP增强 和VA01相关增强点介绍
-转 sap寻找用户出口方法 sap的用户出口总共有三代: 一.User EXIT 第一代的用户出口,它们include在SAP标准程序的源代码里,可以说他们是源代码的一部分,你改了这种出口就相当于改 ...
- HIS(LIS、PACS、RIS、EMR)系统简介
HIS(LIS.PACS.RIS.EMR)系统简介 HIS:医院信息系统(Hospital Information System, HIS),利用电子计算机和通讯设备,为医院所属各部 门提供病人诊疗信 ...
- React -- 3/100 】组件通讯
通讯 | props | prop-types 组件通讯 Props: 组件无论是使用函数声明还是通过 class 声明,都决不能修改自身的 props /* class */ .parent-box ...
- 什么是HIS、PACS、LIS、RIS
什么是HIS?医院信息系统的定义(HIS)医院信息系统(Hospital Information System,HIS)在国际学术界已公认为新兴的医学信息学(Medical Informatics)的 ...
- HTML5笔记:跨域通讯、多线程、本地存储和多图片上传技术
最近做项目在前端我使用了很多新技术,这些技术有bootstrap.angularjs,不过最让我兴奋的还是使用了HTML5的技术,今天我想总结一些HTML5的技术,好记性不如烂笔头,写写文章可以很好的 ...
- (转)利用libcurl和国内著名的两个物联网云端通讯的例程, ubuntu和openwrt下调试成功(四)
1. libcurl 的参考文档如下 CURLOPT_HEADERFUNCTION Pass a pointer to a function that matches the following pr ...
- (转)linux下和云端通讯的例程, ubuntu和openwrt下实验成功(二)
前言: 上节用纯linux的函数实现了和云端通讯, 本节开始利用传说中的神器libcurl 话说一个网络程序员对书法十分感兴趣,退休后决定在这方面有所建树. 于是花重金购买了上等的文房四宝. 一 ...
- (转)linux下和云端通讯的例程, ubuntu和openwrt实验成功(一)
一. HTTP请求的数据流总结#上传数据, yeelink的数据流如下POST /v1.0/device/4420/sensor/9089/datapoints HTTP/1.1Host: api. ...
随机推荐
- python实现PCA算法原理
PCA主成分分析法的数据主成分分析过程及python原理实现 1.对于主成分分析法,在求得第一主成分之后,如果需要求取下一个主成分,则需要将原来数据把第一主成分去掉以后再求取新的数据X’的第一主成分, ...
- 线程高级篇-Lock锁实现生产者-消费者模型
Lock锁介绍: 在java中可以使用 synchronized 来实现多线程下对象的同步访问,为了获得更加灵活使用场景.高效的性能,java还提供了Lock接口及其实现类ReentrantLock和 ...
- 基于 QEMU进行 arm 仿真开发 (以 vexpress-a9 为例)
背景 基于 QEMU 的仿真可以节省 硬件成本. 参考:<qemu-system-arm仿真vexpress-a9踩坑记>.<在Ubuntu下使用QEMU搭建arm开发环境(一)搭建 ...
- P1078 字符串压缩与解压
P1078 字符串压缩与解压 转跳点:
- 关于C++中vector<vector<int> >的使用
1.定义 vector<vector<int>> A;//错误的定义方式 vector<vector<int> > A;//正确的定义方式 2.插入元素 ...
- python的super()以及父类继承
Python中子类调用父类的方法有两种方法能够实现:调用父类构造方法,或者使用super函数(两者不要混用). 使用“super”时经常会出现代码“super(FooChild,self).__ini ...
- Day6 - M - 动态逆序对 HYSBZ - 3295
对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数.给1到n的一个排列,按照某种顺序依次删 除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数 I ...
- nginx配置多个项目
使用Nginx要在同一个域名下配置多个项目有两种方式: nginx按不同的目录分发给不同的项目 启用二级域名,不同的项目分配不同的二级域名 1.nginx按不同的目录分发给不同的项目: server ...
- 调用dos
两个方法 function RunDosCommand(Command: string): string; var hReadPipe: THandle; hWritePipe: THandle; S ...
- 吴裕雄--天生自然java开发常用类库学习笔记:一对多关系范例
import java.util.List ; import java.util.ArrayList ; public class School{ private String name ; priv ...