1、 浙江省医院信息交换技术规范 87 2020年5月29日 文档仅供参考 浙江省医院信息交换技术规范 (试行) (V1.1) 浙江省智慧健康平台项目组 二○一四年五月 修订日志 3 1前言 4 1.1编写目的 4 1.2术语和定义 4 1.3参考标准 5 2接口设计 6 2.1接入流程 6 2.2接口技术 11 2.2.1服务调用 11 2.2.2服务接入 15 2.2.3消息体结构 16 2.2.4数据集结构 19 2.2.5数据集业务时间配置 59
2、 2.3传输监控 60 2.4数据质控 60 2.5医院前置机配置 60 2.6约定说明 61 2.6.1超时控制 61 2.6.2传输频率 61 2.6.3更新上传 62 3.服务调用场景示例 62 3.1数据上传服务调用示例场景 62 3.2 EHRView健康档案浏览器调阅 65 修订日志 修订时间 形成版本 修订内容 备注 -12-10 V1.0 初稿 -4-22 V1.1 修订 -5-13 V1.1 1.修改2.2.1服务调用参数填写说明; 2.新增2.2.2服务接入 1.排队叫号说明 接口服务提供 3.心跳接入
3、说明 心跳接入,还是采用统一的invoke方法,参数不同而已。 -5-14 V1.1 1.门诊处方记录增加5个药物标志 -5-22 V1.1 1.ehrview调用增加调用者参数 -6-19 V1.1 1.修改2.2.2服务接入中排队叫号相关内容 1前言 1.1编写目的 结合卫生部卫生信息化试点项目目标和要求以及浙江省卫生信息化”十二五”规划,搭建浙江省智慧健康平台的基础架构和基本功能;完成卫生信息标准框架建立;依托卫生信息平台建设,实现医疗卫生机构互联互通,支撑广泛的健康档案、临床诊疗和公共卫生服务相关信息的共享和业务协同。实现区域平台的开放运
4、营,从而促进医疗信息化的发展。 本规范以医院信息采集为目标,帮助各接入医疗机构和软件开发商了解和掌握该接口定义的规范和接口的使用方法。 1.2术语和定义 1.2.1健康档案 (Health Record ) 健康档案是居民健康管理(疾病防治、健康保护、健康促进等)过程的规范、科学记录。是以居民个人健康为核心、贯穿整个生命过程、涵盖各种健康相关因素、实现信息多渠道动态收集、满足居民自身需要和健康管理的信息资源(文件记录)。来源:<基于健康档案的区域卫生信息平台建设指南(试行)> 1.2.2 区域卫生信息平台 区域卫生信息平台,是连接区域内的医疗卫生机构基本业务信息系
5、统的数据交换和共享平台,是不同系统间进行信息整合的基础和载体。从业务角度看,平台可支撑多种业务,而非仅服务于特定应用层面。来源:<基于健康档案的区域卫生信息平台建设指南(试行)> 1.2.3 基于健康档案的区域卫生信息平台(EHR/RHIN) (Electronic Health Record /Regional Health Information Network)以区域内健康档案信息的采集、存储为基础,能够自动产生、分发、推送工作任务清单,为区域内各类卫生机构开展医疗卫生服务活动提供支撑的卫生信息平台。平台主要以服务居民为中心,兼顾卫生管理和辅助决策的需要。基于健康档案的区域卫生信
6、息平台,在下文中简称为本平台。来源:<基于健康档案的区域卫生信息平台建设指南(试行)> 1.2.4数据元 数据元是经过定义、标识、表示和允许值等一系列属性进行规范描述的基本数据单元,在特定的语义环境中可认定为不可再细分的最小数据单元。来源:<基于健康档案的区域卫生信息平台建设指南(试行)> 1.2.5值域 值域是一组数据元允许值的集合。一个允许值是某个值和该值的含义(值含义)的组合。 来源:<健康档案基本数据集编制规范(试行)> 1.2.6 主索引(MPI) 用于将不同系统中的个人信息匹配起来,由平台统一生成一个唯一id号(MPIID)。 1.3参考标准 卫生部
7、<卫生信息数据元目录>(WS 363.1- ) 卫生部<卫生信息数据元值域代码>(WS 364.1- ) 卫生部<卫生信息共享文档规范>(征求意见稿) 浙江省卫生厅<卫生数据共享访问接口技术规范 第1部分:电子病历数据传输> 浙江省卫生厅<卫生数据共享访问接口技术规范 第2部分:电子健康档案数据传输> <杭州市卫生信息平台医院信息交换接口规范-V2.04> 2接口设计 2.1接入流程 平台提供WebService服务,供医院接入系统调用,实现与平台的交互。 前置机适配器接入流程图 第一步:ip权限管理、密钥权限管理 维护调用方的接入权限。(医院系统管理员操作) Ip权限维
8、护:用户登录前置机管理系统,在标签栏点击”权限管理”,然后在左边功能区中点击”IP权限管理”模块,界面显示如下图: 在界面上方点击【新建】按钮,打开新建界面,如图 Ø 策略名称、起始地址和结束地址为必填项 Ø 策略名称不能重复 Ø 起始地址和结束地址必须在同一地址段 Ø ”是否可用”选择”是”,才可被密钥权限管理调用 密钥权限维护:用户登录系统,在标签栏点击”权限管理”,然后在左边功能区中点击”密钥权限管理”模块,界面显示如下图: 在界面上方点击【新建】按钮,打开新建界面,如图 Ø 接入系统编号、接入系统名称、密码、ip策略和机构编号为必填项 Ø 接入系统
9、编号不能重复 Ø ip策略调取IP权限管理中设为用的策略 Ø ”是否可用”选择”是”,密钥才能使用 第二步:字典对照维护:如要验证字典文件需要进行这一步操作。(医院系统管理员操作) 字典服务示意图: 平台提供统一的字典服务器,包含所有字典目录,支持各应用系统查询下载字典,也支持医院本地字典的上传,以及医院本地字典和中心字典的对照管理。 操作流程说明: 1) 用户登录系统,在菜单栏选择”标准管理-字典管理-字典分类目录”,打开页面如下图: 图中左侧是医院字典分类列表、右侧是中心数据字典列表。界面上方的文本框是快速查询过滤框。在这里,需要将医院自定义的字典和中心定义的字典进
10、行映射,这样才能进行下一步的操作。 2) 用户登录系统,在菜单栏选择”标准管理-字典管理-字典对照”,打开页面如下图: 图中左侧是字典分类列表、中间是业务字典、右侧是中心数据字典。界面上方的文本框是快速查询过滤框。 在主界面中选择一个字典类型,可根据”字典分类列表”下文本框进行快速查询,如[人的性别],如下图: 界面中医院字典‘状态’为表示字典已匹配,‘状态’为表示未匹配; Ø 添加数据:添加业务字典 点击【添加数据】,会再列表中添加一列,输入医院代码、医院值后,添加完【保存配置】。 Ø 手动匹配: 在医院数据字典下选中一个未匹配的字典,双击中心数据字典下选择需要进行匹
11、配的字典项,即可匹配成功,匹配完【保存配置】; Ø 自动匹配: 点击【自动匹配】,系统会自动将未匹配的医院字典与中心数据字典。匹配规则是将‘医院值’相同的两个字典进行匹配; Ø 【取消】: 将已经匹配的字典进行取消匹配; Ø 【删除】 将已经添加的医院字典项进行删除; 第三步:数据抽取异常配置:维护错误日志发送的邮箱。(医院系统管理员操作)该步骤可选。 用户登录系统,在标签栏点击”参数配置”,然后在左边功能区中点击”数据抽取异常配置”模块,界面显示如下图: 新增源应用:在界面上方点击【新建】按钮,打开新建界面,如图 Ø ‘源应用’为必填项且不能重复,与错误日志中的‘
12、源应用’对应,将错误日志和维护的‘源应用’相同的日志发送到该邮箱; Ø 邮箱地址和手机号码至少需要填一个; Ø 设置是否发送后,系统会自动发送错误报告到用户邮箱或手机; 第四步:接入前置机,录入第一步维护的系统接入编码及密码,并进行权限认证。(系统接入商操作) 第五步:如第四步验证经过的话,则开始上传bsxml结构的数据。 第六步:查看定时上传日志:数据上传正确,点击”传输日志”查看;数据上传失败,点击”错误日志”查看。(系统接入商操作) 2.2接口技术 2.2.1服务调用 平台提供统一WebService服务,调用地址:http://ip:port
13、/WebServiceEntry?wsdl (当前前置机默认端口号为:8888) 1.接口说明: public String invoke (String appID, String pwd, String service, String method, String[] param); 接口名称 invoke 功能描述 数据交换统一入口 参数 参数名称 参数描述 appID Web服务接入应用id (前置机系统维护) pwd Web服务接入密码 (前置机系统维护) service 能够调用的服务名称 method 能够调用的服务名称对应的方法名 pa
14、ram 该参数是字符串数组,包含XML消息体。 异常 当请求内容或格式有误,或者上传过程中发生其它错误时,返回给应用系统 返回结果 结果类型 描述 传输成功 调用成功返回200。 传输失败 返回错误信息 备注 无 2.现有发布功能参数填写说明由参考示例改为”现有发布功能参数填写说明” 接口类型 参数 appID pwd service method param 定时上传 前置机系统维护 adapter.transportService transportDataByXmlContent param是
15、指接入商拼装的bsxml数据集,如果有不同的数据集需要上传,则修改数据集内容就能够传输不同的数据集。 检验实时上传 ehrview.labReportTransportService submitBSXMLDocument 检查实时上传 ehrview.examReportTransportService submitBSXMLDocument 心跳接入 esb.heartbeatService heartbeat appId(医院端应用程序的唯一识别号,由平台提供给医院)、versionNumber(医院端应用程序版本号,由平台提供给医院) 3.示例代码 l JAVA
16、调用示例代码 public static void main(String[] args) { try { URL url = new URL(":XXXX/WebServiceEntry?wsdl"); QName qname = new QName("", "WebServiceEntryService"); Service service = Service.create(url, qname); WebServiceEntry s = service.getPo
17、rt(WebServiceEntry.class); System.out.println(s); String result=getReSult("1412", "123", "esb.serviceInvokeStat", "getStatByHours", {"1"," -10-17 00:00:00"}) System.out.println("result-->"+result); } catch (MalformedURLException e) { e.printStackTrace(); }
18、catch (Exception_Exception e) { e.printStackTrace(); } } public String getReSult(String appId,String pwd,String service,String method,String[] params){ String result=""; if(appId.isEmpty()||pwd.isEmpty()||service.isEmpty()||method.isEmpty()||param.toString().isEmpty()){ res
19、ult="调用方法出错,请检查输入信息!"; return result; } try { URL url = new URL(":XXXX /WebServiceEntry?wsdl"); QName qname = new QName("", "WebServiceEntryService"); Service webService = Service.create(url, qname); WebServiceEntry s = webService.getPort(WebServiceEntry.class);
20、result = s.invoke(appId, pwd, service, method, params);
} catch (Exception_Exception e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
}
return result;
}
1. 应用系统需要取出
21、平台返回XML结构- ->”标签下。
Xml实例:
901
22、 //设置前置机分配的应用标识 adapter.setAppId("his") //设置访问密码 adapter.setPassword("xxxxxx") //设置前置机Web service的url地址 adapter.setUrl(":port/WebServiceEntry") //设置要调用的服务名和方法名 adapter.setupService("serviceName","method"); //以上代码可初始化的时候设置一次,即可使用下面的代码重复调用。 //清除上次调用的参数 adapter.clearParameters() //设置第1个调用参数
23、
adapter.addParameterValue("arg1")
//设置第2个调用参数
adapter.addParameterValue("arg2")
//设置第n个调用参数,具体的参数数量和说明参见详细服务接口
adapter.addParameterValue("argn")
//调用服务,返回结果
string resut
result = adapter.InvokeService()
//业务处理
DESTROY adapter
1. 应用系统需要取出
24、都是基于result的结构的,返回参数全部都在”<--平台返回XML结构- ->”标签下。
Xml实例:
901
25、leObject('BSRHIN.WSAdapter'); //设置前置机分配的应用标识 adapter.setAppId(EditAppId.Text); //设置访问密码 adapter.setPassword(EditPassword.Text); //设置前置机Web service的url地址 adapter.setUrl(' http://'+EditUrl.Text +':8080/WebServiceEntry'); //设置要调用的服务名和方法名 adapter.setupService('adapter.transportService', 'trans
26、portDataByXmlContent');
//设置第1个调用参数
adapter.addParameterValue ('{"dataContent":"'+EditContent.Text+'"}');
//业务处理
str:=adapter.InvokeService;
end;
1. 应用系统需要取出 27、"UTF-8"?>
28、获得本医院的排队叫号信息
方法名称:
map getQueueInfo(String xml)修改参数为xml
接口参数xml说明:
29、terType>
30、特需)、2科室、3检验检查】专家包括名医、特需等,增加检验检查队列
)
docname(队列名称)
currnum(当前队列号)
deptid(科室ID)
deptname(科室名称)
type(时间:1.上午,2.下午)
Position(医生职称)
warea(候诊区)经院方确认,增加候诊区,方便用户。
2.2.3消息体结构
消息体是传递信息的载体,在本文中以XML格式进行描述,意在说明消息体中承载着客户端的请求和服务端响应返回的有关信息。依据XML可扩展标记语言的定义,一个消息体对应着一个名字,而每个XML文件又有特定的 31、根标记,用于记载通讯传输中交互的独立于程序的结构化数据。在本规范中,请求消息用请求消息名(Request)作为根节点,根节点下包括两个部分:消息头Header(文档信息和患者基本信息)与消息体 Body (交易业务内容)。其中,消息头 Header用于存储交易请求的文档信息和患者基本信息方面的数据,而消息体Body作为消息体,用于存储交易请求的业务数据。返回消息用返回消息名(Response)作为根节点,根节点下包含返回消息编码(code)和消息(Message)。
在本文档中以表格的形式表示XML格式,以下为表格中对元素约束(出现次数)的表示方法的描述:
符号
含义
?
0..1 32、可选项
*
0..n,能够没有,也能够有多项
+
..n,至少有1项,也能够有多项
1
数字1,代表必须且只能填1项
1.请求消息
XML结构体
标签说明
必填
备注
33、
记录名称
是
34、入
35、代码
36、dIssuer localText="杭州市一卡通"> 03
发卡机构
否
由第三方系统集成商写入,见发卡机构字典,有卡类型必须填写
37、
文件体(业务数据)
是
DocFormat属性为body中内容的属性,见卫生信息交换类型
<..>
具体业务数据(详见数据集标准)
将来要检查数据项是否符合规范
2.字典上传格式
业务数据集拼装XML消息体时,对字典节点内容的规定:
38、Header一起传输。具体描述请参照2.2.3小节内容。
4.返回消息
返回码Code 为200,说明客户端请求得到了服务端正确响应,返回码Code不是200,请参见返回信息中的错误描述。
XML结构体
备注
39、名称
类型
长度
字典
约束
说明
0
Body
Opt_Register
挂号表
-
-
-
1
节点属性Name必填,如:
40、alText='内科'>1 41、'市民卡'>1 42、属性localText必填,取值为医院内部名称;节点值为医院内部字典编码。如:
43、
本次挂号关联的诊疗费用
13
Opt_Register
QTF
其它费
N
N..10,2
1
本次挂号关联的其它费用
14
Opt_Register
YYLSH
预约流水号
S1
AN..34
?
在本机构内唯一标识本次预约的流水号
消息体内容格式样例
901
901
成功返回200
44、
45、
2.门诊就诊记录
序号
父节点
标识符
名称
类型
长度
字典
约束
说明
0
Body
Opt_Record
门诊就诊记录表
-
-
-
1
节点属性Name必填,如:
46、
3
Opt_Record
SFYY
是否预约
S2
N1
CVX_Right
1
节点属性localText必填,取值为医院内部名称;节点值为医院内部字典编码。如:
47、Opt_Record
KLX
卡类型
S3
N..2
CVX_CardType
1
节点属性localText必填,取值为医院内部名称;节点值为医院内部字典编码。如:
48、X_DepartmentCode
1
节点属性localText必填,取值为医院内部名称;节点值为医院内部字典编码。如:
49、描述 S1 AN..500 ? 对个体出现症状的详细描述 13 Opt_Record XBS 现病史 S1 AN..1000 ? 对患者当前所患疾病情况的详细描述 14 Opt_Record JZRQ 就诊时间 DT D15 1 完整时间表示格式, 即DT15,YYYYMMDDThhmmss的格式 消息体内容格式样例
50、






