< THIS4.0与其他信息系统接口规范>
版本 <4.0>
一.概述
目前,已经有很多医院采用了上海金仕达卫宁公司的医院体检管理系统,而对于医院的LIS、RIS、PACS及其他信息系统(以下统称为其他信息系统)可能采用其他公司的产品,这些系统与体检系统都是医院信息化范畴内的相互完全独立的子系统,没有实现数据的共享,例如一个检验系统里的检验结果还需要在体检系统里再次录入,因此这种重复录入工作占据了很大的工作比重,既影响了医院的工作效率又常常因为重复录入不一致造成数据不准确。
基于以上原因,我们提供第三方的开放性接口实现各子系统之间的数据共享,从而大大提高了医院资源的合理利用率。
二.医院系统的环境与接口方式
根据目前医院使用的操作系统,客户端基本采用Windows环境,采用客户端直接调用接口程序(DLL),以函数的参数方式传递要发送的输入信息,并以XML字符串格式返回输出信息。
直接访问 | DLL调用/HL7 | 中间库 | |
接口方式 | 通过直接读写对方系统数据库来完成数据交换(比如调用存储过程、库表、视图) | 通过调用对方系统提供的接口DLL程序或者通过HL7协议来完成数据交换 | 通过读写双方约定的中间数据库来完成数据交换 |
安全性 | 差,直接访问对方系统数据库,进行表或者视图操作,数据完全可见,有安全隐患 | 好,接口调用完全通过程序调用的方式,数据不可见,数据库不可直接访问 | 较好,不直接访问对方数据库,但是如果权限设置不完善,容易发生中间库数据出错或者丢失后,责任无法鉴定的问题 |
独立性 | 差,双方程序耦合程度高,一方修改程序如果涉及到接口表结构,影响到另外一方 | 好,只要保证接口调用函数参数和返回结果格式不变,对程序没有任何影响 | 较好,一般来说只要不改动中间库中对方接口表的结构,就不会带来程序问题 |
维护性 | 差,接口表共同维护,责任不清,容易造成混乱 | 好,接口提供方维护接口程序 | 差,中间库功能维护,责任不清,容易造成混乱 |
规范性 | 差,接口实现方式随意,没有规范 | 好,采用同一的函数调用方式和参数格式,规范统一 | 差,接口实现方式随意,没有规范 |
工作量 | 小,直接访问对方数据表,可以当作自己系统中的表同样处理,接口提供方工作量较小,但是接口调用方接口功能需要自己实现 | 小,调用接口函数程序,但是不用关心接口功能实现,接口调用方工作量较小 | 一般,双方都访问中间库,接口功能需要自己实现。 |
性能隐患 | 高,直接访问数据,如果编程效率不高将直接对对方系统性能造成重大影响 | 低,接口由对方提供,性能由接口提供方负责 | 较低,不直接访问数据,可能因为编程原因对中间数据库性能造成影响 |
使用范围 | 常见于公司内部系统之间的接口 | 普遍使用,例如医保接口、软硬件接口等 | 使用面窄,多用于在数据库环境相同的系统之间接口 |
接口示意图:
三.调用接口程序的操作步骤
1.调用下述接口程序(DLL),以函数参数的方式传递要发送的消息。
DLL名:Hisinterface.dll
字符串长度可以为1吗Ini配置文件 kwv40.ini
函数列表
a.SendEmr (AMsgCode: pChar; AsSendXml: pChar; AsRetXml: pChar): Integer;stdcall;
功能说明:数据传输接口
参数描述:
参数1:调用类型 (4位字符串)
参数2:输入的XML字符串消息
参数3:输出的XML字符串消息
返回值:返回的消息码(0-成功,-1-失败,7-获取参数失败,8-参数无效,9-连接失败)
通过传入消息、参数、接收返回的Xml字符串
b.Init(AIniDir: pChar):integer;
检查整个网络环境是否畅通,包括客户端与his服务器之间连接是否正常以及配置his数据库连接。
可以指定His的配置文件的路径,如kwv40.ini 在\\server\his路径下
UnInit;stdcall; //释放
退出时释放His连接
2.接收到接口程序的返回消息后,根据此返回结果,进行后续处理
3.XML的字符串消息格式示例如下:
<?xml version="1.0" standalone="yes"?> <DATAPACKET Version="2.0"><METADATA><FIELDS><FIELD attrname="id" fieldtype="string" SUBTYPE="FixedChar" WIDTH="6"/><FIELD attrname="name" fieldtype="string" SUBTYPE="FixedChar" WIDTH="12"/></FIELDS><PARAMS LCID="1033"/></METADATA><ROWDATA><ROW id="00" name="supervisor"/><ROW id="0001" name="门诊"/><ROW id="0002" name="住院"/></ROWDATA></DATAPACKET>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论