医院信息平台业务系统接口规范范本.docx
《医院信息平台业务系统接口规范范本.docx》由会员分享,可在线阅读,更多相关《医院信息平台业务系统接口规范范本.docx(82页珍藏版)》请在冰点文库上搜索。
医院信息平台业务系统接口规范范本
医院信息平台业务系统接口规范范本
医院信息平台接口规范
新奥博为技术
20一五-04
更换页
序号
版本号
更换内容描述
更换人
更换日期
1
2.0.0
创建文档,定义WS交互点,基础字典同步下载接口
李长松
20一五-04-21
2
2.0.1
平台服务部分接口要求参数结构中添加服务版本参数
李长松
20一五-05-一三
3
2.0.2
添加A00、A02、A03、A04部分交换服务说明
李长松、李峥、王立新
20一五-05-19
4
2.0.3
添加消息公布接口方式,修改A0000参数结构,添加了SERVICE_TYPE参数
李长松
20一五-06-25
5
2.0.4
添加C2406,C2407,C2408及物资申领信息公布服务接口说明
李长松
20一五-07-01
表单流程:
①项目负责人编制→②立项部门审核→③上一级部门批准→④研发中心存档
本表单为一份,由研发中心留存
1文档说明
本文档定义了医院信息平台〔后续简称平台〕和院内业务系统〔HIS、LIS、PACS、EMR〕的接口方式、接口规范。
2引用标准
✓基于电子病历的医院信息平台建设技术解决方案〔1.0版〕2020-03;
✓河南省数字化医院建设指南〔2021版〕2021-05;
✓«电子病历差不多架构与数据标准〔试行)»,2020-12;
✓«基于电子病历的医院信息平台技术规范»,2021-10-01
✓«电子病历差不多数据集»,2021-5-30;
✓河南省基于健康档案的卫生信息平台接口库说明〔医疗服务V1.7.1)试行
✓河南省基于健康档案的卫生信息平台接口库说明〔卫生资源V1.0.1)试行
3接口方式
医院信息集成平台业务协同与数据交换采纳SOA架构设计,需要ESB企业总线支持实现医院业务系统业务协同和数据的交换。
数据交换总线功能要紧包括:
SOA支持,遵循SOA设计原那么和技术标准,提供松耦合模式,实现业务逻辑和应用逻辑、数据逻辑等分离;
智能路由支持,采纳灵活的消息路由方式,支持基于消息内容的处理和路由;
XML支持,支持标准XML数据的格式转换,能够通过图形化映射组件、XSLT、客户化Java程序等多种方式实现转换功能;
消息公布/订阅功能,支持队列和主题两种订阅模式;
3.1WS消息方式
Webservice是一个跨语言的,松耦合、平台独立的、基于可编程的web的应用程序,可使用开放的XML标准来描述、公布、发觉、和谐和配置这些应用程序,用于开发分布式的互操作的应用程序。
医院信息平台定义的WS消息交换接口满足SOAP1.1SOAP1.2、WSDL1.1WSDL2.0标准规范。
WS接口定义说明性描述要紧由以下几部分组成:
✓接口说明:
定义和说明接口的作用和适用范畴
✓场景说明:
定义和描述WS服务接口的调用和使用场景、说明业务处理流程;
✓服务地址:
描述WS服务的调用URL地址;
✓要求数据结构:
定义和描述WS服务的要求数据结构和参数说明;
✓响应数据结构:
定义和描述WS服务的响应数据结构和参数说明;
3.2业务协同与数据交换流程
说明:
1、业务系统A〔入LIS〕订阅相关业务消息,医院信息平台接收消息订阅,并储备订阅信息;
2、业务系统B〔如HIS〕处理业务过程中生成业务关键数据〔如大夫工作站生成实验室化验申请单〕,然后业务系统B生成业务关键数据后,把业务关键数据调用医院信息平台相关接口发送到医院信息平台。
3、医院信息平台接收业务系统B发送的关键业务数据〔实验室化验单申请〕,将数据储备入医院信息平台数据中心,同时将新增或更新业务关键数据的信息生成消息〔实验室化验申请单消息〕通知推送给差不多订阅了相关内容消息的业务系统A(如LIS)
4、业务系统A〔LIS〕接收通知消息,消息内容中包括消息关联业务数据ID〔实验室化验申请单ID〕、消息类型〔实验室化验申请单类型消息〕、猎取业务数据所需要的服务接口地址、猎取业务数据所需要的服务编码〔实验室化验申请单查询服务编码〕;
5、业务系统A〔LIS〕依照消息内容调用消息中包含的服务接口地址,调用相关接口服务〔实验室化验申请单查询服务〕猎取指定ID业务数据;
6、医院信息平台依照业务系统A〔LIS〕传递的服务编码和业务数据ID,从医院信息平台数据中心猎取指定数据;
7、医院信息平台将查询到的业务数据封装为标准接口数据结构〔XML〕结构数据,返回业务系统A〔LIS〕;
8、业务系统A〔LIS〕猎取指定业务数据后进行后续业务处理。
3.3安全访问机制
满足数字化医院信息安全要求,建立健全的信息安全保证体系是保证院内系统安全的基础。
可靠有效的安全访问机制,是保证医院信息平台接口库和各业务系统WS服务的安全,通过身份验证防止非法用户、匿名用户和恶意用户的非法访问。
WS接口方式安全访问机制依靠医院信息平台的令牌动态口令算法,平台定义令牌加密算法,每次产生的令牌在设置时刻内是有效的,超过令牌的有效期那个令牌就失效了,必须重新产生一个令牌。
4平台服务接口
4.1猎取令牌服务接口
4.1.1接口说明
医院信息平台在每次调用接口时需要带上accessToken参数,accessToken参数由systemCode和systemPassword换取。
systemCode是第三方系统编码,每个第三方应用系统拥有一个唯独的systemCode,systemPassword是系统凭证密码。
医院信息平台系统治理员能够通过治理端的权限分配给第三方系统一个唯独的systemPassword。
当第三方系统调用医院信息平台接口时,医院信息平台会依照此次访问的accessToken,校验访问的合法权限以返回相应的结果。
accessToken令牌有时效性,医院信息平台默认设置为7200秒,平台治理员能够通过系统参数修改时效参数。
假如第三方系统调用本接口时accessToken未过期,医院信息平台会自动延长accessToken到期时刻。
假如调用本接口时accessToken过期,那么医院信息平台会生成新的accessToken令牌并返回。
4.1.2场景说明
第三方系统调用医院信息平台业务交换服务接口前,先需要通过本接口猎取accessToken,然后使用accessToken再调用平台其他业务服务接口。
4.1.3调用地址
xip:
port//hipService/GetTokenPort
4.1.4WS接口定义
WSDL文档:
xmlversion="1.0"encoding="UTF-8"?
>
definitionsxmlns:
wsdl="xschemas.xmlsoap.org/wsdl/"xmlns:
soap="xschemas.xmlsoap.org/wsdl/soap/"xmlns:
="xschemas.xmlsoap.org/wsdl//"xmlns:
xs="xxw3.org/2001/XMLSchema"xmlns:
soapenc="xschemas.xmlsoap.org/soap/encoding/"xmlns:
mime="xschemas.xmlsoap.org/wsdl/mime/"xmlns:
xsi="xxw3.org/2001/XMLSchema-instance"xmlns:
tns=":
/xxinbohitx"targetNamespace=":
/xxinbohitx">
types>
schematargetNamespace="xxxinbohitx"elementFormDefault="qualified"/>
types>
messagename="GetTokenRequest">
partname="requestId"type="xs:
string"/>
partname="requestIP"type="xs:
string"/>
partname="systemCode"type="xs:
string"/>
partname="systemPassword"type="xs:
string"/>
message>
messagename="GetTokenResponse">
partname="requestId"type="xs:
string"/>
partname="msgCode"type="xs:
string"/>
partname="msgDesc"type="xs:
string"/>
partname="accessToken"type="xs:
string"/>
message>
portTypename="GetTokenPortType">
operationname="getToken">
inputmessage="tns:
GetTokenRequest"/>
outputmessage="tns:
GetTokenResponse"/>
operation>
portType>
bindingname="GetTokenBinding"type="tns:
GetTokenPortType">
bindingstyle="document"transport="xschemas.xmlsoap.org/soap/"/>
operationname="getToken">
operationsoapAction="xxxinbohitx/services"style="document"/>
input>
bodyuse="literal"/>
input>
output>
bodyuse="literal"/>
output>
operation>
binding>
servicename="GetTokenService">
portname="GetTokenPort"binding="tns:
GetTokenBinding">
addresslocation="xip:
port/hipService/GetTokenService"/>
port>
service>
definitions>
参数说明
要求参数〔GetTokenRequest〕:
参数
数据类型
是否必须
说明
requestId
字符串
是
UUID
requestIP
字符串
是
第三方系统所在服务器的IP地址
systemCode
字符串
是
第三方系统编码
systemPassword
字符串
是
第三方系统要求密码
响应参数〔GetTokenResponse〕:
参数
数据类型
是否必须
说明
requestId
字符串
是
要求是携带的参数requestId
msgCode
字符串
是
要求消息编码〔0000为要求正常,其他为处理专门,具体专门编码参考平台服务消息编码部分〕
msgDesc
字符串
是
要求消息描述
accessToken
字符串
是
返回的第三方系统调用接口令牌
4.2消息公布服务接口
4.2.1接口说明
本接口要紧提供消息通知服务,当医院信息平台数据中心相关业务数据发生变化,本接口会生成相关消息,然后推送到差不多订阅了本消息的三方系统。
本接口推送消息假如失败,医院信息平台5分钟第二次推送消息,假如第二次推送消息失败,在过30分钟第三次推送消息,假如第三次推送消息失败,再过90分钟第四次推送消息,依次类推。
医院信息平台在七次推送消息都失败后,平台停止消息推送。
平台治理员能够设置每次消息推送失败间隔时刻。
七次推送失败的消息医院信息平台提供推送消息失败日志查询。
4.2.2场景说明
当医院信息平台数据中心相应业务数据发生变化时,通过本接口公布给差不多订阅了相关消息的第三方系统。
4.2.3调用地址
业务系统提供
4.2.4接口定义
4.2.4.1WebService接口方式
说明
WebService方式指业务系统作为WebService服务端,医院平台作为WebService客户端,业务系统在消息订阅时提供服务端调用地址〔参见A0000服务的RECEIVE_URL参数说明〕。
当有消息需要公布时,医院平台依照订阅信息,将信息数据通过消息公布接口推送至业务系统。
WSDL定义
WSDL文档:
xmlversion="1.0"encoding="UTF-8"?
>
--被2021()使用XMLSpyv编辑的(xxaltovax)by-->
definitionsxmlns:
wsdl="xschemas.xmlsoap.org/wsdl/"xmlns:
soap="xschemas.xmlsoap.org/wsdl/soap/"xmlns:
="xschemas.xmlsoap.org/wsdl//"xmlns:
xs="xxw3.org/2001/XMLSchema"xmlns:
soapenc="xschemas.xmlsoap.org/soap/encoding/"xmlns:
mime="xschemas.xmlsoap.org/wsdl/mime/"xmlns:
xsi="xxw3.org/2001/XMLSchema-instance"xmlns:
tns="xxxinbohitx"targetNamespace="xxxinbohitx">
types>
schematargetNamespace="xnew.webservice.namespace"elementFormDefault="qualified"/>
types>
messagename="NotifyRequest">
partname="notifyCode"type="xs:
string"/>
partname="callBackServiceVersion"type="xs:
string"/>
partname="callBackServiceCode"type="xs:
string"/>
partname="callBackWsUrl"type="xs:
string"/>
partname="data"type="xs:
string"/>
partname="pubCount"type="xs:
int"/>
message>
portTypename="NotifyPortType">
operationname="Notify">
inputmessage="tns:
NotifyRequest"/>
operation>
portType>
bindingname="NotifyBinding"type="tns:
NotifyPortType">
bindingstyle="document"transport="xschemas.xmlsoap.org/soap/"/>
operationname="Notify">
operationsoapAction="xxxinbohitx/services"style="document"/>
input>
bodyuse="literal"/>
input>
operation>
binding>
servicename="NotifyService">
portname="NotifyPort"binding="tns:
NotifyBinding">
addresslocation="xlocalhost/hipService"/>
port>
service>
definitions>
参数说明
要求参数:
参数
数据类型
是否必须
说明
notifyCode
字符串
是
消息编码,具体编码参考各个信息公布接口定义
callBackServiceVersion
字符串
是
回调服务版本号
callBackServiceCode
字符串
是
回调服务编码,具体编码参考业务交换服务编码定义
callBackWsUrl
字符串
是
回调服务地址
data
字符串
是
消息附带业务数据,多个数据用^^^分隔,例如:
abc^^^123456^^^admin
pubCount
整型
是
消息推送次数
响应参数:
无响应参数,消息公布服务接口负责公布相关业务数据新增、更新消息,消息公布未返回专门医院信息平台即认为消息发送成功
4.2.4.2接口方式
说明
方式指业务系统作为服务端提供服务,医院平台作为调用服务的客户端,业务系统在消息订阅时提供服务端调用地址〔参见A0000服务的RECEIVE_URL参数说明〕。
当有消息需要公布时,医院平台依照订阅信息,将信息数据通过消息公布接口推送至业务系统。
参数以POST方式作为要求参数传递到服务端。
参数说明
要求参数:
参数
数据类型
是否必须
说明
notifyCode
字符串
是
消息编码,具体编码参考各个信息公布接口定义
callBackServiceVersion
字符串
是
回调服务版本号
callBackServiceCode
字符串
是
回调服务编码,具体编码参考业务交换服务编码定义
callBackWsUrl
字符串
是
回调服务地址
data
字符串
是
消息附带业务数据,多个数据用^^^分隔,例如:
abc^^^123456^^^admin
pubCount
整型
是
消息推送次数
响应参数:
无响应参数,消息公布服务接口负责公布相关业务数据新增、更新消息,消息公布未返回专门医院信息平台即认为消息发送成功
4.3业务交换服务接口
4.3.1接口说明
业务交换服务接口要紧完成各类业务交换过程中的功能接口,每个不同的业务功能由服务编码区分〔具体编码见业务交换服务部分的服务编码说明〕。
4.3.2场景说明
当业务系统需要进行数据交换时,第一需要猎取令牌,然后使用令牌调用本接口调用指定服务编码服务,完成数据交换过程。
4.3.3调用地址
xip:
port//hipService/CommonPort
4.3.4WS接口定义
WSDL文档:
xmlversion="1.0"encoding="UTF-8"?
>
--被2021()使用XMLSpyv编辑的(xxaltovax)by-->
definitionsxmlns:
wsdl="xschemas.xmlsoap.org/wsdl/"xmlns:
soap="xschemas.xmlsoap.org/wsdl/soap/"xmlns:
="xschemas.xmlsoap.org/wsdl//"xmlns:
xs="xxw3.org/2001/XMLSchema"xmlns:
soapenc="xschemas.xmlsoap.org/soap/encoding/"xmlns:
mime="xschemas.xmlsoap.org/wsdl/mime/"xmlns:
xsi="xxw3.org/2001/XMLSchema-instance"xmlns:
tns="xxxinbohitx"targetNamespace="xxxinbohitx">
types>
schemaxmlns:
xsi="xxw3.org/2001/XMLSchema"targetNamespace="xxxinbohitx"elementFormDefault="qualified"/>
types>
messagename="CommonRequest">
partname="requestId"type="xs:
string"/>
partname="accessToken"type="xs:
string"/>
partname="requestIP"type="xs:
string"/>
partname="requestUserAccount"type="xs:
string"/>
partname="serviceVersion"type="xs:
string"/>
partname="serviceCode"type="xs:
string"/>
partname="requestData"type="xs:
string"/>
message>
messagename="CommonResponse">
partname="requestId"type="xs:
string"/>
partname="msgCode"type="xs:
string"/>
partname="msgDesc"type="xs:
string"/>
partname="responseData"type="xs:
string"/>
message>
portTypename="CommonPortType">
operatio