#InterSystems IRIS for Health

0 关注者 · 898 帖子

InterSystems IRIS for Health™ 是全球第一个也是唯一一个专门为医疗应用程序的快速开发而设计的数据平台,用于管理全世界最重要的数据。它包括强大的开箱即用的功能:事务处理和分析、可扩展的医疗保健数据模型、基于 FHIR 的解决方案开发、对医疗保健互操作性标准的支持等等。所有这些将使开发者能够快速实现价值并构建具有突破性的应用程序。了解更多信息

文章 Lilian Huang · 三月 30, 2022 3m read

这篇文章的目的是为了说明如何使用互操作菜单实现系统集成。

 

 

图片左侧窗口是接受外部系统发送信息的窗口。

信息接收方式种类很多,如定时监控指定目录来读取文件,定期查询数据库,输入且等待信息输出,或直接调用其他应用程序系统传送信息。

在系统集成配置中创建IRIS 互操作性菜单,接收到存储在一个对象中的信息被称为一条消息message以下统称为消息)。消息被发送到组件component 以下统称为组件)中做后续处理。

使用所有接收到的信息或仅使用其中的一部分就能用来创建消息

假设您要将信息中包含的消息发送给外部系统。这种情况下,需要将该消息发送给负责请求外网处理的组件(图右侧)。接收到消息的组件会请求外部系统对其进行处理。

此外,假设一条消息需要人工审查、数据转换或附加数据。这种情况下,消息会被发送到图表中间的业务流程管理组件(BPM),该组件负责协调处理业务流程。

消息用于在每个组件之间发送和接收数据。当发送或接收消息时,消息会被自动存储在数据库中。

由于消息存储在数据库中,因此在数据转换前后可以检查其差异性。在操作期间,或过程中间重新开始(重新发送),可以检查作为问题根源的消息。在开发、测试和操作的每个阶段可以验证正在使用的消息状态。

0
0 232
公告 Michael Lei · 五月 8, 2021

在这个一小时的互动课程中,用户可以参与了涉及多个Docker容器的复合应用程序的开发。此外,学员们还学习如何创建数据转换和业务规则,使用业务流程设计器来建立病人护理的逻辑,并使用Spark和PMML将业务操作与机器学习模型连接起来。

赶快来参加我们的线上课程吧:

https://learning.intersystems.com/course/view.php?id=1662&ssoPass=1

2
0 277
文章 Jingwei Wang · 三月 24, 2022 3m read

 

REST是一种架构风格,而不是一种格式。尽管REST经常使用HTTP来传输消息,使用JSON来传递数据,但你也可以用XML或纯文本来传递数据。REST利用了现有的网络标准,如HTTP、URL、XML和JSON。

虽然它可以使用XML来描述数据,但它更常使用JSON,这是一个轻量级的数据封装器。

InterSystems REST服务

InterSystems REST服务由以下组件组成:

规范类(%REST.Spec的一个子类):这个类包含了REST服务的OpenAPI 2.0规范(Swagger)。InterSystems支持几个扩展属性,你可以在规范中使用。

调度类(%CSP.REST的一个子类):这个类负责接收HTTP请求并在实现类中调用合适的方法。

实现类(%REST.Impl的子类):这个类定义了实现REST调用的方法。

Web应用程序:它通过InterSystems Web Gateway提供对REST服务的访问。

 

使用API 管理工具创建REST服务 - 基于 OpenAPI 2.0规范

/api/mgmnt/

可以使用/api/mgmnt服务来创建、更新和删除REST服务。

  1. 使用/api/mgmnt创建 .disp .impl 和 .
0
0 170
文章 Weiwei Gu · 三月 14, 2022 3m read

大家好!

 

InterSystems IRIS有一个叫做互操作性Interoperability的菜单。

 

它提供了轻松创建系统集成的机制(适配器、记录图、BPM、数据转换等),因此不同的系统可以轻松地连接起来。

 

在数据中继过程中可以包括各种操作,比如:为了连接那些通常不连接的系统,可以根据目的系统的规格要求来接收(或发送)数据。另外,在发送数据之前,可以从另一个系统获取和添加信息。以及,信息可以从数据库(IRIS或其他)获取和更新。

 

为此,我们会撰写一系列的文章,将讨论以下主题,同时看一下示例代码,以帮助你了解它是如何工作的,以及在用互操作性整合系统时需要什么样的开发。

* How it works 它是如何工作的
* What a Production is 什么是Production ?
* Message 消息
* Component Creation 组件的创建

* 1)Business Operations  业务操作

*2)Business Processes 业务流程
*3) Business Services 业务服务


  首先,介绍一下我们在这个系列中要使用的案例。

 一家经营着一个购物网站的公司,目前正在改变其产品信息的显示顺序,以配合季节的变化。 然而,有些商品无论在什么季节都能卖得很好,而有些商品却在意想不到的时候卖得很好,这与目前改变顺序的显示规则不相符。

1
0 388
文章 Michael Lei · 三月 21, 2022 2m read

IRIS Healthtoolkit Service 软件即服务

Video

轻松实现HL7v2 转 FHIR, CDA 转 FHIR, FHIR 转 HL7v2 即服务.

这个项目的目标是提供 REST API 可以轻松转化不同的医疗行业格式。 在Rest body 发布需要的格式,在答案中获得新的格式。

安装

克隆这个 repository

git clone https://github.com/grongierisc/iris-healthtoolkit-service.git

Docker

docker-compose up --build -d

使用

0
0 327
文章 Claire Zheng · 三月 21, 2022 7m read

谈到开发体验,什么最重要?如何为客户提供更好的开发体验?InterSystems IRIS的最新版本有哪些新特性极大优化了用户的开发体验?这是本月“极客聊吧”的话题,我们计划通过上、下两期视频探讨这一话题。在第一期视频中(点击查看),InterSystems中国销售工程师吕正之、马浩和WRC产品支持专家杨乐乐针对以下两点分享了他们的观点:(1)开发语言的多样性与对FHIR的支持; (2)开发平台的前瞻性:对Smart Data Fabric架构的支持。

0
0 226
文章 Lilian Huang · 三月 15, 2022 3m read

这篇文章的目的是为了说明如何使用互操作菜单实现系统集成。


 

图片左侧窗口是接受外部系统发送信息的窗口。

信息接收方式种类很多,如定时监控指定目录来读取文件,定期查询数据库,输入且等待信息输出,或直接调用其他应用程序系统传送信息。

在系统集成配置中创建IRIS 互操作性菜单,接收到存储在一个对象中的信息被称为一条消息message以下统称为消息)。消息被发送到组件component 以下统称为组件)中做后续处理。

使用所有接收到的信息或仅使用其中的一部分就能用来创建消息。

假设您要将信息中包含的消息发送给外部系统。这种情况下,需要将该消息发送给负责请求外网处理的组件(图右侧)。接收到消息的组件会请求外部系统对其进行处理。

此外,假设一条消息需要人工审查、数据转换或数据附加。这种情况下,消息会被发送到图表中间的业务流程管理组件(BPM),该组件负责协调处理流程。

消息用于在每个组件之间发送和接收数据。当发送或接收消息时,消息会被自动存储在数据库中。

由于消息存储在数据库中,因此在数据转换前后可以检查其差异性。在操作期间,或过程中间重新开始(重新发送),可以检查作为问题根源的消息。在开发、测试和操作的每个阶段可以验证正在使用的消息状态。

一个简单的系统集成图将分为三个部分(业务服务、业务流程和业务操作),如下图所示。

0
0 506
文章 Qiao Peng · 三月 10, 2022 8m read

3.1 InterSystems IRIS内码与多语言支持

3.1.1 InterSystems IRIS内码与字符集转换

InterSystems IRIS的内码是UTF-16,因此它支持Unicode多语言字符集。对于其它字符编码,例如UTF-8、GB18030、Big 5,它会自动进行转码。例如对于简体中文,它将GB18030输入数据转换为UTF-16,或者将UTF-16数据转换为GB18030输出。

0
0 415
文章 Michael Lei · 三月 6, 2022 3m read

我们所有的工作环境都是Ensemble 2017.2。但我们最近将迁移到IRIS for Health 2021.1版本。这是一个复杂的过程,但经过仔细考虑,我们找到了实现这一目标的方法。

我们有一个开发服务器和两个生产服务器的镜像,采用Failover模式。我们有40多个名称空间在使用中,有些有HL7集成,有些有Soap服务、Rest服务、文件处理......什么都有点。我们需要确定向IRIS的迁移不会出现问题,最重要的是,我们需要不惜一切代价避免服务中断。因此,我们必须做的第一件事是建立一个计划。

0
1 191
文章 Claire Zheng · 二月 23, 2022 1m read

最新一期“极客聊吧”,InterSystems销售工程师们聊了聊这些话题:为什么有些医院和某些商保之间可以直接结算,有些又不能?医院和保险之间的结算难在哪儿?在InterSystems 2021全球线上峰会中提到的医保结算案例对国内实践有哪些借鉴意义?FHIR又能起到什么关键作用?医疗数据实现互联互通的关键是什么?来听听的答案。

0
0 222
文章 Qiao Peng · 二月 18, 2022 6m read

在InterSystems IRIS和InterSystems Caché 里,是否您遇到过执行一个SQL Insert/Update语句,明明给的是正确的日期值,但被告知“值‘2022-01-01’ 校验失败”的类似情况,并感到困惑?

如果有,那么您需要了解一下InterSystems IRIS和InterSystems Caché保存和显示数据的模式。


一 数据模式

InterSystems IRIS和InterSystems Caché里,数据有3种模式,称之为SELECT MODE:
逻辑模式:这是数据被保存到InterSystems IRIS和InterSystems Cache'时的格式。例如,%Date类型的数据,在数据库里被保存为一个整数,即从1840年12月31号到这个日期的天数,而不是YYYY-MM-DD的格式。

ODBC模式:这是ODBC对数据定义的格式。在这个模式下,%Date类型的数据就会显示为YYYY-MM-DD的格式。

显示模式:这是数据在InterSystems IRIS和InterSystems Caché里默认的显示格式。例如在美国语言环境下,%Date的默认显示格式是DD/MM/YYYY格式。

InterSystems IRIS和InterSystems Caché只会使用逻辑模式保存数据,但可以以任何模式显示数据。

0
0 345
文章 Jingwei Wang · 二月 17, 2022 1m read

windows 前台调试

  1. 在Production配置中,勾选 ‘开发与调试’ 中的 ‘测试开启’ 。 
  2. 选中需要调试的组件(业务服务,业务流程,业务操作),在'设置'中勾选 ‘开发与调试’ 中的 ‘在前台运行’ 。 
  3. 继续选中需要调试的组件,在'操作'中点击 ‘测试’ 。 
  4. 选择相应的请求类型,点击‘调用测试服务’。
  5. 前台窗口会被弹出。

 

Container 前台调试

可以在运行容器时直接发布63300端口,主机的telnet客户端将能够连接到前台端口。

如果你愿意,你可以改变这个端口号,直接设置到全局的

Set tPortRangeStart=$G(^Ens.Config("FGTelnetRange","start"),63300)
Set tPortRangeEnd=$G(^Ens.Config("FGTelnetRange","end"),63499)

Linux 前台调试

Do $system.Process.Terminate(<BO JOB>)
Do ##class(Ens.Job).Start("BO CONFIGNAME", 1)
0
1 211
文章 Jingwei Wang · 二月 15, 2022 3m read

1. 使用PyODBC访问InterSystems IRIS数据库

pyodbc是一个开源的Python模块,可以利用ODBC来访问底层数据库。InterSystems支持使用pyodbc作为使用关系模式从Python访问数据库的一种方式。这个模块也可以用于InterSystems IRIS的早期版本。

代码示例

import pyodbc
 
def run():
   # connection information
   ip = localhost
   port = 51773 # IRIS超级服务端口号
   namespace = USER
   username = <userName>
   password = <password>
   driver = "{InterSystems IRIS ODBC35}" # ODBC data source名称, IRIS 安装时一般自带ODBC驱动,所以不需要独立安装
​
   # Create connection to InterSystems IRIS
   connection_string = 'DRIVER={};SERVER={};PORT={};DATABASE={};UID={};PWD={}' \
      .
0
0 461
文章 Michael Lei · 二月 14, 2022 5m read

痴呆症是一个重大的全球性问题,困扰着5400万人,到2050年这个数字将上升到1.3亿。由英国剑桥大学的学者创立的Cognetivity Neurosciences公司设计了一个尖端的解决方案,以帮助缓解全球痴呆症的流行。

根植于先进神经科学的简单解决方案

在出现临床症状之前的早期检测,为专家干预和改变生活方式打开了大门,可以减缓痴呆症的发展,提高生活质量。生活方式的改变有可能将症状的出现推迟五年,进而将普通人群中的痴呆症发病率降低50%。

Cognetivity Neurosciences的综合认知评估测试(ICA)是基于人类对动物刺激的强烈反应,以及健康的大脑在不到200毫秒内处理动物图像的能力。

ICA将基于云的人工智能和神经科学的进展结合起来,进行快速的动物/非动物视觉分类测试,目的是在记忆症状出现之前发现疾病的迹象。它涉及在阿尔茨海默症的前症状阶段受到影响的大脑区域,并检测出信息处理速度的细微损伤。

ICA基于云的敏捷性使临床医生和用户能够在熟悉的硬件上进行ICA测试,如iPad和智能手机,并在任何有互联网连接的地方进行。

Cognetivity Neurosciences正在通过一个先进的、可扩展的解决方案,利用神经科学的进步、人工智能和InterSystems IRIS for Health云数据管理平台的力量,重新发明痴呆症检测。

0
0 362
文章 Michael Lei · 二月 8, 2022 12m read

说明

欢迎来到InterSystems广播站--数据点!在这一集里,我们和在线培训团队负责人Jenny Ames聊了聊InterSystems IRIS--稳定、灵活、可扩展、可互操作的数据平台,它为世界上许多最关键的核心应用提供支持。从它的多模型性质到它的集成引擎,再到它的医疗保健功能,在一次谈话中,有很多东西需要解读。

本期节目回放:https://datapoints.castos.com/episodes/1-what-is-intersystems-iris-jenn…

关于InterSystems广播站的更多信息,请访问https://datapoints.intersystems.com

今天就试用InterSystems IRIS,请到https://www.intersystems.com/try,启动你的实例!

更多资料欢迎访问:https://gettingstarted.intersystems.com&#12290;

以下是本期对话中文全文。

德里克-罗宾逊 00:01 欢迎来到InterSystems 在线培训的播客。请确保在你最喜欢的播客应用程序上订阅播客,如Spotify、苹果播客、谷歌播放或Stitcher。你可以通过搜索 "数据点 "并点击订阅按钮来做到这一点。

0
0 290
文章 TZ Zhuang · 一月 30, 2022 1m read

如果想快速查看锁表空间的使用情况,可以通过GetLockSpaceInfo()方法来获得。

%SYS>w ##class(SYS.Lock).GetLockSpaceInfo()
4717392,4712512,1200

返回值是 "AvailableSpace,UsableSpace,UsedSpace",每个值的单位都是Byte。

AvailableSpace:锁表的总空间减去已用空间的大小(UsedSpace)。
UsableSpace:预估的可用空间。AvailableSpace里有一些空间是系统内部保留的,所以UsableSpace比AvailableSpace要小。UsableSpace是用户在锁表中可用的自由空间的数量。
UsedSpace:已经使用的空间。

0
0 141
文章 Michael Lei · 一月 24, 2022 5m read

现代医疗有无数来自数字技术的机会,包括优化流程的指挥中心、支持洞察力和决策的人工智能和机器学习、提供实时数据的物联网和连接设备,以及管理和保护大型数据流的强大数字基础设施。创建数字孪生和使用虚拟技术来推动医疗行业的真实世界价值将这一切结合起来。

数字孪生在医疗领域的真实世界价值

数字孪生是一个物理对象或过程的虚拟副本,通过模拟和反馈物理对应物来学习和发展。它在动态系统建模的同时部署了人工智能和机器学习,并适用于医疗保健和生命科学环境。数字孪生创造了一个机会,在实施干预措施、路径变化和操作改进之前,对系统的影响进行建模和预测,以实现效益最大化和风险最小化。

这种模拟创造了以下机会:测试情景以预测影响和帮助决策(例如,在系统设计和病人治疗中);识别低效、瓶颈和机会,并模拟效益/副作用(例如,在流程优化中);自动化反应和决策(例如,在环境控制中);以及越来越多地在虚拟环境中进行测试(例如,硅研究 - 美国和欧洲监管机构都在探索在新医疗药物和技术的审批中使用此类 "数字证据")。

0
0 224
文章 Qiao Peng · 一月 17, 2022 8m read

      各大技术社区常年充斥着关于字符集支持、乱码的问题。Cache’/Ensemble/HealthConnect/IRIS的用户也经常遇到这类问题。为何文字乱码在信息化发展这么久后还会困扰我们?因为字符集、多语言实在有点复杂。

      我计划写三篇:第一篇花点时间回顾一下多语言字符集的简史,第二篇介绍一下各种技术对于字符集和字符编码的使用声明,最后一篇会介绍常见的ISC技术和工具的乱码、尤其是中文乱码的现象和解决办法。

0
3 754
公告 Claire Zheng · 一月 17, 2022

为了帮助您开始使用FHIR,我们发布了一个新的学习路径: Building Basic FHIR Integrations with InterSystems IRIS for Health. 通过这个路径,您可以学习FHIR的基础知识,学习如何在InterSystems IRIS医疗版中设置FHIR端点,将数据应用到FHIR存储库并转换FHIR数据,使用InterSystems API管理器管理FHIR API,以及使用客户端应用查询FHIR资源。该路径包括一些建议,例如使用SDA-FHIR转换将其他数据格式转换为FHIR。   

我们还在考虑如何创建额外的内容,以指导您启用现有的应用程序并利用存储在FHIR存储库之外的数据。这些对您有用吗?关于如何使用FHIR和InterSystems产品,您还想学习什么?

0
0 199
文章 Michael Lei · 一月 14, 2022 6m read

我们为什么要关注医疗领域的数字孪生?


环顾四周,你会看到无数的设备监测和收集我们身体状态数据的例子。可穿戴智能手表和健身追踪器、医疗成像设备、数字健康应用程序、温度计等。同样,这些设备本身也在产生关于其当前运行环境和状况的大量数据。但是,我们如何才能理解所有这些数据,并从中获得有意义的洞察?一种可能性是对这些数据进行动态展示,即所谓的数字孪生。

数字孪生是一个物理对象或系统在其生命周期内的虚拟表达。这意味着,数字孪生包含了关于其现实世界对应物状态的最新和历史数据。将这些动态数据纳入不同医疗应用的虚拟表示中,可以实现主动决策、流程优化和医疗领域的完整生命周期管理。

0
0 495
文章 Michael Lei · 一月 6, 2022 1m read

医疗数据集应用(这个应用主要目的是获得医疗数据样本来进行自动化机器学习和其他应用)现在有了6个真实世界的医疗数据集(更多数据集在路上,敬请期待!)

  • 糖尿病数据集: 预测糖尿病诊断
  • 心脏病数据集: 预测心脏病
  • 肾病数据集: 预测肾病
  • 乳腺癌数据集: 预测乳腺癌
  • 孕产妇风险数据集 (新): 预测孕产妇风险等级
  • 医院死亡率数据集 (新): 预测医院死亡率

赶快来下载吧: https://openexchange.intersystems.com/package/Health-Dataset

0
0 1348
文章 Michael Lei · 十二月 30, 2021 1m read

对于那些在某种程度上需要测试ECP的水平可扩展性(计算能力和/或用户和进程的并发性),但又懒得建立环境、配置服务器节点等的人来说,我刚刚在Open Exchange上发布了OPNEx-ECP部署的应用/示例。 

0
0 182
文章 Jingwei Wang · 十二月 30, 2021 7m read

可以使用内嵌REST API用描述文件生成REST服务

请求消息如下:

POST: http://[YourServer]/api/mgmnt/v2/INTEROP/cmAPI

Body: API 描述文件,例如下面的Json文件
Basic Authorization Username: 用户名

Basic Authorization Password: 密码

Content-Type Header: application/json

** 注意**:调用接口前,需要创建相应命名空间,本示例为INTEROP

API 描述文件:


    {
     "swagger": "2.0",
     "info": {
       "description": "An API for coffee sales using InterSystems IRIS",
       "version": "1.0.0",
       "title": "Coffee Maker API",
       "license": {
         "name": "Apache 2.0",
         "url": "http://www.apache.org/licenses/LICENSE-2.0.
    0
    0 295