当前位置: 首页 > web >正文

七 医学影像云平台-影像检验互联互认平台建设中遇到的问题

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 互认平台

互认后台管理
互认客户端UI

 

互认中,几个关键的概念:

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数据中心,安全性确实也没有什么好的办法,只能通过设置黑白名单,单台机器的网络策略来防止外部攻击。

某个项目中的网络
http://www.xdnf.cn/news/14497.html

相关文章:

  • WIP数据,有bad wafer/lot,追踪设备/机台问题
  • Java 变量类型转换的选择题
  • react小白学习快速上手
  • Appium+python自动化(二十四) - 元素等待
  • 在虚拟机 银河麒麟|ubuntu 中安装和配置NVIDIA显卡驱动
  • 设计模式精讲 Day 2:工厂方法模式(Factory Method Pattern)
  • 多模态学习路线(3)——MLLMs主流大模型
  • 基于统计检验与机器学习模型对牛油果数据的分析与预测
  • Python 文件操作详解
  • 算法题(170):地毯填补问题
  • Proteus8.17-安装说明
  • 揭开MongoDB的神秘面纱:从陌生到初识
  • 【Elasticsearch】文档(一):新增 删除
  • vue中的h渲染函数
  • Java项目中使用到的技术——《异步调用》
  • java+vue+SpringBoo摄影师分享交流社区(程序+数据库+报告+部署教程+答辩指导)
  • 大模型笔记6:微调
  • Go多个协程实现顺序打印
  • 华为OD机试_2025 B卷_运维日志排序(Python,100分)(附详细解题思路)
  • sudo apt-get install openssh-serve安装失败解决
  • 自定义Spring Boot Starter开发指南
  • JS当中怎么定义一个类
  • 【Quest开发】初始项目环境配置
  • Hive集成Paimon
  • 华为云国际版有区块链吗
  • Windows 系统中扩大 WSL2 的内存限制
  • YSYX学习记录(九)
  • 2026 AAAI 投稿要求
  • vscode-monitor-pro | 提升开发效率的利器
  • 【递归】两两交换链表中的节点(medium)