七 医学影像云平台-影像检验互联互认平台建设中遇到的问题
1 政策要求
2025年底,将基本完成医保影像云共享基础设施建设,实现全国医疗机构通过国家医保影像数据云共享中心可调阅北京、上海、广东等全国知名医疗高地医学影像信息。2027年底,医保影像数据云互通云互认全面扩面,实现全国医保影像云数据“一张网”“路路通”。所以,这几年这方面的项目,应该不少。
2 系统组成

2.1 影像和报告汇聚(云PACS/RIS)
由于接口文档是统一下发给各个医院,所以,院方有义务将检查数据以视图模式或WebAPI模式提供给平台方,或者按照平台提供的接口进行信息上报。检查要在[登记完成]状态,[检查完成]状态(即为所有影像数据全部传输完成,可以书写报告前的时刻),[报告完成]状态,全部提供给平台方,当检查数据状态发生变更时,需及时更新State字段,并且更新UpdateTime字段;当其他字段发生更改时,同样需要更新UpdateTime字段到最新时间。
影像上传,责任人也是院方,必须协调PACS厂商需要提供Q/R服务,通过C-Move方式获取影像数据;或者院内PACS提供DICOM影像的FTP路径,由平台方通过接口来获取影像数据。
2.2 检验数据上报
检验数据院方也可以通过开放视图,由平台方主动获取检验结果。或按照平台提供的WebAPI进行主动上报。
检验数据包括1. 常规检验结果明细;2.微生物培养及涂片结果;3.微生物鉴定药敏结果
2.3 EMPI
一个好的EMPI设计,实际上应该考虑在不同域内,不同标识身份的索引,都可以用来合并检查检验信息,这个过程类似一个冒泡过程。实际项目中,都是很暴力的使用身份证,平台方往往没有精力去想其他逻辑归并这些信息。
2.4 互认平台


互认中,几个关键的概念:
1.“查询次数”指标解释:医院 HIS系统可通过时间段、医院、医生、患者、互认码等信息进行查询。在这些条件中,如果医院、医生、患者相同时,记为一次“查询”;统计一天00:00:00-23:59:59以内“查询”的次数,作为“查询次数”的统计结果。 实际上就是Query。
2.“提醒次数”指标解释:互认平台通过允许的条件进行查询,如果有符合条件的数据,返回这些符合条件的检查、检验数据。如果以上流程中,医院、医生、患者相同,记为一次“提醒”。统计一天00:00:00-23:59:59以内“提醒”的次数,作为“提醒次数”的统计结果。 实际上就是针对Query的返回结果。
3.“调阅次数”指标解释:医生点击返回的检验、检查列表查看具体明细信息,如果医院、医生、检查相同时,记为一次“调阅”。统计一天00:00:00-23:59:59以内“调阅”的次数,作为“调阅次数”的统计结果。
4.“互认次数”、“不互认次数”指标解释:医生查看检查、检验报告明细后,若医生选择“互认”并将项目报告结果引入电子病历中,如果以上操作流程,医院,医生,检查相同时,记为一次“互认”;否则记录一次“不互认”。统计一天00:00:00-23:59:59以内“互认”和“不互认”次数,作为“互认次数”和“不互认次数”的统计结果。
5.互认率 = 互认次数/调阅次数*100%。通过以上公式,可以统计一个医院,市平台的互认率。
3 实际项目中出现过的问题
项目的落地过程中,遇到最麻烦的事情,还是回款或者商务的事情以及和项目进度协调的问题。目前大部分项目可能前期都没有什么钱,需要厂商投入、进度、验收、回款之间不断的切换挡位,挺磨人。下面说以下技术上遇到的问题。
3.1 医院对接
3.1.1 接口准则
由于对接文档是统一下发的,所以,接口必须要接入提供的方法要尽量多一点。LIS和PACS所收集的信息,要尽量多,以备后续进行使用。
另外,尽量项目中,统一购买前置机,否则,那么多医院会提出各种问题,既影响信创验收,又影响项目进度;唯一的好处就是没有前期硬件投入,但是太费人。
3.1.2 第三方系统统一调用接口
另外一个重要问题是如何让所有的院内的第三方厂商,有统一的调用接口,进行开发,而不必等待实施的进度,再确定调用的ip地址和端口号。
例如,在文档中,我们直接提供一个域名形式的接口,用来查询病例,
http://hr.northmedplat.com/query
但是,需要调用此接口的Windows电脑,设置路由信息,这个路由信息可以转到前置机ip地址上,也可以转到项目要求的ip地址上。如下:
192.168.2.172 ris.hr.northmedplat.com
192.168.2.173 pacs.hr.northmedplat.com
3.1.3 老系统使用IE浏览器,无法支持H5影像浏览器
通过判断当前的浏览器版本,如果是IE,就通过ActiveX来调用其chrome浏览器的方式来解决
function openChrome(url) {var fireFox1 = "C:\\Program Files\\Mozilla Firefox\\firefox.exe";var chromePath1 = "C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe";var chromePath2 = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe";var chromePath3 = "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe";var chromePath4 = "C:\\Documents and Settings\\Administrator\\Local Settings\\Application Data\\Google\\Chrome\\Application\\chrome.exe";var chromePath5 = "D:\\Chrome\\chrome.exe";var ua = navigator.userAgent;var fso = new ActiveXObject("Scripting.FileSystemObject");var o = new ActiveXObject("WScript.Shell");if (ua.indexOf("Windows NT 5") != -1) {//xpvar downFirefoxUrl = "http://" + location.host.split(':')[0] + "/pacs/Firefox.exe";if (fso.FileExists(fireFox1)) {o.exec(fireFox1 + " " + url);} else {window.location.href = downFirefoxUrl;}}else {//win7if (fso.FileExists(chromePath1)) {o.exec(chromePath1 + " " + url);}else if (fso.FileExists(chromePath2)) {o.exec(chromePath2 + " " + url);}else if (fso.FileExists(chromePath3)) {o.exec(chromePath3 + " " + url)}else if (fso.FileExists(chromePath4)) {o.exec(chromePath4 + " " + url)}else if (fso.FileExists(chromePath5)) {o.exec(chromePath5 + " " + url)}else {var downChromeUrl = "http://" + location.host.split(':')[0] + "/pacs/ChromeWin7.exe";window.location.href = downChromeUrl;}}
}
3.2 基础设置和网络构成的复杂性
3.2.1 项目的基础设置
项目部署的基础设置层次不齐,很多中标单位提供的基础设置,实际就是个虚拟机,剩下的系统,数据库,中间件,网络安全策略,甚至于文件系统,全部需要承建方自己来解决。远远落后这个时代,更重要的是,不利于整个平台医疗信息化系统资源的统一管理。
另外就是网络,网络通常是各种转发,也不提供硬件,都是厂商自己通过代理来解决的。如下图中,就是一个例子,所有的系统都部署在XX数据中心,XX数据中心,实质上就是提供了一堆有外网的虚机。
院内机器必须通过政务网络来访问到这些资源,而政务网也是需要厂家自己去设置代理来将网络都打通,医院就可以通过这些政务网,访问到XX数据中心的资源。但是,0.1级医院,实际上是没有政务网的,但是又需要使用XX数据中心的RIS,PACS等业务,这种的就直接通过互联网连接到数据中心。
另外,XX数据中心,安全性确实也没有什么好的办法,只能通过设置黑白名单,单台机器的网络策略来防止外部攻击。
