文章
· 二月 5, 2023 阅读大约需 1 分钟
IRIS小工具--如何以最简单的方式部署生产系统

通常,如果你想部署一个解决方案,你需要手动添加项目、配置你的查找表和默认配置。
如果您拥有执行这些操作的所有权限,那也没关系。如果您想部署到客户的生产服务器,但您没有权限,则需要在文档中指明系统部署必须执行的所有步骤。

0 0
0 103

开发者您好!

这里向介绍@Lorenzo ScaleseOpenAPI-Suite (一个用于从OpenAPI 3.0生成 ObjectScript 代码的工具集)。这个工具集在 2023 年 InterSystems 开发工具大赛的21 个参赛作品中获得专家提名第三名

3 0
1 220
文章
· 三月 14, 2023 阅读大约需 10 分钟
医疗行业的生态创新:如何实现数据利用和应用创新

本文根据InterSystems中国技术总监乔鹏( @Qiao Peng )的演讲“互联互通套件赋能数据利用与应用创新”整理而成。

IRIS医疗版互联互通套件的缘起与发展演进

来源HL7:正在到来的挑战

http://hl7.org/fhir/change.html

这是来自HL7官网上的一张图,描述了我们在医疗卫生行业面临的一些挑战,以及信息化建设在应对挑战中发挥的作用。当今,医疗卫生、生物学、信息技术有很强的融合趋势,加之社会变革带来的经济方面的需求,同时构成颠覆传统医疗卫生行业的因素。

这张图显示了从“被动医疗”转向“主动医疗”过程中信息的爆炸式增长,信息共享交换推动了我们对信息的利用,在这一进程中,医疗卫生信息化起着核心作用——而让信息更具价值,赋予信息标准化和互操作能力的过程,这也是InterSystems一直努力的方向,我们在国内支持大量医院实现了互联互通建设。在建设过程中,我们注意到项目的定量部分的建设成本占比是比较高的,很多的工作都花在了合规性和相关管理工具的开发上——应用标准的实施是有成本的,而对于标准的理解在各个项目上水平不尽相同,这就进一步影响了互联互通项目的建设成果。

1 0
0 190
文章
· 三月 27, 2023 阅读大约需 4 分钟
第十章 镜像架构和规划 - 仲裁器中断的影响

第十章 镜像架构和规划 - 仲裁器中断的影响

仲裁器中断的影响

仲裁器的中断对镜像的可用性没有直接影响。但是,如果在恢复仲裁器之前发生了自动故障转移以响应主中断场景中的主中断场景56,则备份无法自动接管。

备份中断的影响

在主应用程序可以恢复处理之前,某些应用程序可能会经历短暂的暂停(大约是 QoS 超时)。如果没有配置仲裁器,或者如果仲裁器在备份中断之前变得不可用,则经历的暂停可能会稍微长一些(大约是QoS 超时的三倍)。如果在恢复备份之前发生主要中断,则结果是整个镜像中断。

主要和仲裁联合中断的影响

这种情况的后果在响应主要中断情况的自动故障转移中进行了介绍。简而言之,如果备份可以联系主的 ISCAgent,它就会接管;如果不是,结果是整个镜像中断,手动干预强制备份成为主要可能是一个合适的选择。

0 0
0 63

第三十一章 配置镜像 - 删除镜像成员时删除镜像数据库属性

删除镜像成员时删除镜像数据库属性

当从镜像中删除成员时,始终可以选择从属于该镜像的镜像数据库中删除镜像属性。后果如下:

  • 如果保留镜像属性并稍后将 IRIS 实例恢复到镜像,数据库将自动添加到镜像,但必须先激活它们,然后才能赶上并同步(请参阅激活和赶上镜像数据库)。

但是,如果保留镜像属性,则除非先执行以下操作之一,否则无法删除该数据库:

将成员恢复到从中删除它的同一个镜像。 (如果该成员是主故障转移成员,这不是一个选项,因为镜像不再存在。)然后可以从镜像中删除一个或多个数据库(请参阅从镜像中删除镜像数据库)并在以下情况下删除它们你希望。

  • 使用 ^MIRROR 例程的删除一个或多个镜像数据库选项(请参阅使用 ^MIRROR 例程)从一个或多个数据库中删除镜像属性,然后根据需要删除它们。

0 0
0 94
文章
· 五月 2, 2023 阅读大约需 5 分钟
第四十六章 管理镜像 - 更新镜像成员网络地址

第四十六章 管理镜像 - 更新镜像成员网络地址

当必须更新一个或多个镜像成员(包括主要成员)的一个或多个网络地址时,如编辑或删除故障转移成员中所述,通常会在主要成员上更改此信息。当您保存更改时,主节点将它们传播到所有连接的镜像成员(并在它们重新连接时传播到断开连接的成员)。不能更改连接的备份或异步成员上的任何镜像成员网络地址,因为镜像成员必须从主成员接收所有此类信息。但是,一般情况下有一些例外情况,如下所示:

  • 由于 IRIS 实例的超级服务器端口是其常规配置的一部分,因此必须在本地进行更改。因此,镜像成员的超级服务器端口是唯一始终在成员本身上更新的镜像网络信息。要更改主服务器的超级服务器端口,请转到主服务器的“编辑镜像”页面,要更改备份的,请转到备份的“编辑镜像”页面,依此类推。

注意:当在“编辑网络地址”对话框中单击本地成员超级服务器端口的“编辑端口”链接时,将出现一个包含管理门户内存和启动页面的对话框,以便更改端口号。但是,不要直接转到此页面来更改镜像成员的超级服务器端口;始终使用“编辑镜像”或“编辑异步配置”页面和“编辑网络地址”对话框来进行此更改。

0 0
0 59
文章
· 五月 11, 2023 阅读大约需 3 分钟
第一章 IRIS 基础知识:使用互操作性制作连接系统

第一章 IRIS 基础知识:使用互操作性制作连接系统

本文介绍了如何将系统与 IRIS 数据平台互操作性产品连接在一起。

为什么要连接系统?

连接系统涉及允许来自一个系统的消息由另一个系统处理。例如,以下场景需要连接系统:
- 为了提高效率,需要集成最初设计用于执行单一功能的系统。例如,可以通过集成跟踪库存、订购材料、记录销售和控制运输的各个系统来提高效率。
- 合并后,在独立组织中执行相同功能的系统需要协同工作,以使统一组织有效。

将系统连接在一起时,可能会面临以下挑战:

0 0
0 89

开发者们可以让轻松让全世界了解他们如何与Epic软件进行连接

2022年12月,全球排名第一的电子病历厂商Epic宣布发布Connection Hub供应商服务平台,供全球供应商来分享他们与Epic软件实现互操作能力的平台。

这个新网站于2023年1月9日开放,将允许所有与Epic有连接的供应商列出他们的应用,并自我报告他们是否已经实现了成功的数据交换。网站访问者,包括Epic客户,可以看到供应商提供的信息,如应用描述和网站链接。

Connection Hub将对所有供应商开放,目的是使供应商更容易加入其在线产品目录。希望被列入名录的供应商可以通过提供他们的信息和完成一个可选填的问卷来加入。除了Connection Hub,Epic还将推出供应商服务--提供Epic的新闻通讯、详细的教程、扩大的测试沙盒和技术支持的访问。

EPIC现有应用市场将进行更新并计划在今年晚些时候重新启动。 目前在应用市场的供应商将自动迁移到Connection Hub供应商服务平台。所有连接将不会受到影响,在应用市场中接受服务、API和测试工具的供应商将继续通过Connection Hub进行。对于那些目前在应用市场中列有实时连接的供应商,EPIC将为他们提供一个简单的方法,将其现有信息转移到Connection Hub。

0 0
0 104
文章
· 六月 8, 2023 阅读大约需 7 分钟
没有虚拟 IP 地址的数据库镜像

++ 更新:2018 年 8 月 1 日

使用内置于 Caché 数据库镜像的 InterSystems 虚拟 IP (VIP) 地址有一定的局限性。特别是,它只能在镜像成员驻留在同一网络子网时使用。当使用多个数据中心时,由于增加了网络复杂性( 此处有更详细的讨论),网络子网通常不会“延伸”到物理数据中心之外。出于类似的原因,当数据库托管在云端时,虚拟 IP 通常无法使用。

负载均衡器(物理或虚拟)等网络流量管理设备可用于实现相同级别的透明度,为客户端应用程序或设备提供单一地址。网络流量管理器自动将客户端重定向到当前镜像主服务器的真实 IP 地址。自动化旨在满足灾难后 HA 故障转移和 DR 升级的需求。

2 0
0 71
文章
· 六月 19, 2023 阅读大约需 5 分钟
IRIS通过SNMP发送警告通知的操作

上篇文章IRIS, Caché监控指导 - 警告和告警 发出后收到要求介绍一下发送SNMP通知的具体操作,这里介绍一下。

我省去了SNMP的原理,这个有需要的可以网上查找。这里只做一个配置的操作:测试怎么从一个Windows上安装的IRIS实例发送IRIS Alert给另一台Linux服务器。

第一步: 配置 Windows SNMP

因为安全原因,Windows 10不再默认安装中启动SNMP,用户需要手工安装SNMP启动服务。以下两个文章是古老的Window 2003和新的Windows 10中配置SNMP的安装,给各位做个参考。

2 0
1 132

第五十章 开发Productions - ObjectScript Productions - 高效处理批量记录

高效处理批量记录

RecordMap 功能一次导入一条记录,但如果正在导入或导出大量记录,则可以通过使用 RecordMap Batch 获得显着的效率提升。 RecordMap Batch 功能处理同类记录并一次处理一批中的所有记录。可以选择在批次之前加上一个标题记录,然后跟一个尾部记录。

要创建 RecordMap 批处理,需要实现一个继承自中的 %PersistentEnsLib.RecordMap.Batch的类。 Batch 类包含处理解析和写出与特定批次关联的任何标头和尾部的方法。必须提供解析和编写标头的代码。对于简单的表头和表尾,可以使用类中的 EnsLib.RecordMap.SimpleBatch,它继承自 Batch 类,并提供处理简单表头和表尾的代码。如果需要处理更复杂的标头和尾数据,可以扩展这两个批处理实现中的任何一个。

0 0
0 49
文章
· 七月 16, 2023 阅读大约需 13 分钟
一篇文章了解`IRIS/Caché`编码方案

一篇文章了解IRIS/Caché编码方案

一直以来,编码问题像幽灵一般,不少开发人员都受过它的困扰。

试想你请求一个数据,却得到一堆乱码,丈二和尚摸不着头脑。有同事质疑你的数据是乱码,虽然你很确定传了UTF-8 ,却也无法自证清白,更别说帮同事 debug 了。

有时,靠着百度和一手瞎调的手艺,乱码也能解决。尽管如此,还是很羡慕那些骨灰级程序员。为什么他们每次都能犀利地指出问题,并快速修复呢?原因在于,他们早就把编码问题背后的各种来龙去脉搞清楚了。

ASCII

标准ASCII 码,使用7 位二进制数(最高位为0)来表示所有的大写和小写字母,数字09、半角标点符号,以及在英语中使用的特殊控制符号。

1 0
0 191
文章
· 八月 17, 2023 阅读大约需 2 分钟
第一章 IRIS 编程简介

第一章 IRIS 编程简介

简介

IRIS 是一个高性能多模型数据平台,具有内置的通用编程语言 ObjectScript,以及对 Python 的内置支持。

IRIS 支持多进程并提供并发控制。每个进程都可以直接、高效地访问数据。

IRIS 中,可以根据喜好编写类、例程或它们的组合。在所有情况下,存储的数据最终都包含在称为全局变量的结构中。 IRIS 编程具有以下特点:
- 类和例程可以互换使用。
- 类和例程可以互相调用。
- 类提供面向对象的功能。
- 数据库存储已集成到 ObjectScriptPython 中。
- 类可以以简化编程的方式保存数据。如果使用持久类,数据可以同时作为对象、SQL 表和全局变量使用。
- 可以直接从类或例程访问全局变量,这意味着可以灵活地按照想要的方式存储和访问数据。

可以选择适合需求的方法。

0 0
0 86
文章
· 八月 30, 2023 阅读大约需 5 分钟
使用 SQLAlchemy 将表传输到 IRIS 或从 IRIS 获取表

案例描述

假设您是一名 Python 开发人员或拥有一支训练有素的 Python 专业团队,但您分析 IRIS 中某些数据的期限很紧迫。当然,InterSystems 提供了许多用于各种分析和处理的工具。然而,在给定的场景中,最好使用旧的 Pandas 来完成工作,然后将 IRIS 留到下次使用。
对于上述情况和许多其他情况,您可能需要从 IRIS 获取表来管理 InterSystems 产品之外的数据。但是,当您有任何格式(即 CSV、TXT 或 Pickle)的外部表时,您可能还需要以相反的方式执行操作,您需要在其上导入并使用 IRIS 工具。
无论您是否必须处理上述问题,Innovatium让我明白,了解更多解决编码问题的方法总是能派上用场。好消息是,从 IRIS 引入表时,您不需要经历创建新表、传输所有行以及调整每种类型的繁琐过程。
本文将向您展示如何通过几行代码快速将 IRIS 表转换为 Pandas 数据框架并向后转换。您可以在我的GitHub上查看代码,您可以在其中找到包含本教程每个步骤的 Jupiter Notebook。

0 0
0 65
文章
· 九月 11, 2023 阅读大约需 3 分钟
第二十五章 Classes - 基于数据类型的属性

第二十五章 Classes - 基于数据类型的属性

基于数据类型的属性

当定义属性并将其类型指定为数据类型类时,可以使用特殊选项来定义和使用该属性,如本节中所述。

数据类型类

数据类型类使能够强制执行有关属性值的规则集。

IRIS 提供的数据类型类包括 %Library.String%Library.Integer%Library.Numeric%Library.Date等等。因为 %Library 包的类名可以缩写,所以可以缩写其中的许多类;例如, %Date%Library.Date的缩写。

每个数据类型类都具有以下特征:

  • 它指定编译器关键字的值。对于属性,编译器关键字可以执行以下操作:

0 0
0 48

我们继续使用FHIR适配器的示例,在本文中,我们将回顾如何在我们的IRIS实例中进行配置以及安装的结果。

配置项目的步骤与官方文档中所示的相同,您可以直接在此处查看。好吧,让我们开始工作吧!

安装

正如您在与本文相关的项目中看到的,我们将 IRIS 实例部署在 Docker 中,因此初始配置的主要部分将在 Dockerfile 中完成。别担心,我们不会详细介绍 Docker 配置。

要安装 FHIR 适配器,我们只需:

1 0
0 74
文章
· 三月 14 阅读大约需 3 分钟
Fhir-肝炎预测

使用 FHIR SQL BUILDER 处理 FHIR 资源以预测患丙型肝炎疾病的概率

随着科技的发展,医疗行业也在不断的进步,人类也往往更加关注自身的健康,
通过计算机学习和处理数据集,可以预测疾病。

前提条件:使用 FHIR 和 ML的能力
首先,我们的数据集从kaggle获得,并根据患者性别、年龄、ALP或ALT转化为FHIR资源,并导入到FHIR资源库中

要导入FHIR资源库,我们可以使用以下命令:

1 0
0 20
文章
· 四月 10 阅读大约需 7 分钟
IRIS/Caché SQL优化经验分享 - 查询计划(Query Plan)

为什么要读Query Plan, 在线文档中有句话是这么说的:

While the SQL compiler tries to make the most efficient use of data as specified by the query, sometimes the author of the query knows more about some aspect of the stored data than is evident to the compiler. In this case, the author can make use of the query plan to modify the original query to provide more information or more guidance to the query compiler.

翻译一下是这样:系统给你的查询计划并不总是最好的,如果您能对查询计划,可以人工做更精细的优化。

0 0
0 38
文章
· 一月 7, 2021 阅读大约需 2 分钟
认识Global Masters 倡导中心,从这里开始!

亲爱的社区用户,您好! 我们诚挚邀请所有社区成员加入InterSystems Global Masters倡导中心,以便了解最新动态,获取对开发者社区)的贡献积分,并获得奖励!请浏览本文并了解如何加入,有哪些福利可以期待!

点击此处:现在加入


▶️ 什么是 Global Masters?

Global Masters 是一个游戏化平台,您可以在其中完成与InterSystems技术相关的挑战(任务),赢取徽章和积分,并用积分兑换各种奖励!

2 0
0 154
文章
· 一月 8, 2021 阅读大约需 9 分钟
InterSystems IRIS 和 Caché 中的多模型数据并行处理

众所周知,InterSystems IRIS 提供了很多的工具来提升应用系统可伸缩性。尤其在提升数据并行处理能力方面,InterSystems 做了很多努力,例如在 SQL 查询中使用并行处理,以及在 IRIS中引入最具吸引力的特征:分片(sharding)。然而,许多成熟的开发成果最初是在 Caché中完成的,而且已经迁移到 IRIS 中。这些成熟的开发成果大都使用 DBMS(数据库管理系统)的多模型功能,实现在单独的数据库中共存不同的数据模型。例如, HIS qMS 数据库同时包含语义关系(电子病历)、传统关系(与 PACS 的交互)和层次数据模型(实验室数据以及与其他系统的集成)。这些数据模型大多是通过 SP.ARM 的 qWORD 工具(一种直接访问 Global的小型数据库管理系统)实现的。遗憾的是,由于查询未使用 IRIS SQL,无法利用并行查询处理的新功能进行扩展。

而且,随着数据库规模的不断增长,大型关系型数据库所固有的大多数问题开始出现在非关系型数据库中。这就是我们关注可用于扩展的并行数据处理技术的一个主要原因。

在本文中,我将围绕多年来在解决任务时用到的并行数据处理展开多方位讨论,而这些是我在大数据问题探讨中很少提到的。我将重点讨论数据库的技术改造,或者更确切地说,是数据库转换技术。

0 0
0 284
文章
· 一月 15, 2021 阅读大约需 5 分钟
IAM实践指南——OAuth 2.0下的API保卫战(第三部分)

在这个由三个部分组成的系列文章中,介绍了如何在OAuth 2.0标准下使用IAM简单地为IRIS中的未经验证的服务添加安全性。

第一部分介绍了一些OAuth 2.0背景知识,以及IRIS和IAM的一些初始定义和配置,以帮助读者理解确保服务安全的整个过程。

0 0
0 239
文章
· 二月 7, 2021 阅读大约需 2 分钟
第二十七章 Caché 变量大全 $ZEOF 变量

第二十七章 Caché 变量大全 $ZEOF 变量

包含指示是否已到达文件末尾的标志。

大纲

$ZEOF

描述

在每次顺序文件读取之后,Caché设置$ZEOF特殊变量以指示是否已到达文件末尾。提供此特殊变量是为了与使用$ZC设备状态检查的MSM例程兼容。

Caché将$ZEOF设置为上次使用的设备的文件状态。例如,如果从顺序文件读取,然后写入主设备,则Caché会将$ZEOF从顺序文件的文件结束状态重置为主设备状态。因此,应该在顺序文件读取之后立即检查$ZEOF值(如果需要,将其复制到变量)。

Caché将$ZEOF设置为下列值:
- –1 文件结束
- 0 不在文件末尾

要使用此功能,必须对顺序文件禁用<ENDOFFILE>错误。

0 0
0 44
文章
· 二月 23, 2021 阅读大约需 3 分钟
第四十五章 Caché 变量大全 $ZVERSION 变量

第四十五章 Caché 变量大全 $ZVERSION 变量

包含一个字符串,描述do命令后面的InterSystems IRIS.line的当前版本。

大纲

$ZVERSION 
$ZV

描述

$ZVERSION包含一个字符串,该字符串显示当前运行的InterSystems IRIS®Data Platform实例的版本。

以下示例返回$ZVERSION字符串:

0 0
0 54
文章
· 三月 11, 2021 阅读大约需 10 分钟
第八章 SQL修改数据库

第八章 SQL修改数据库

可以对现有的表使用SQL语句,也可以对相应的持久化类使用ObjectScript操作来修改InterSystems IRIS®数据平台数据库的内容。
不能修改定义为只读的持久类(表)。

使用SQL命令为维护数据的完整性提供了自动支持。
SQL命令是一个原子操作(全部或没有)。
如果表上定义了索引,SQL将自动更新它们以反映更改。
如果定义了任何数据或引用完整性约束,SQL将自动执行它们。
如果有任何已定义的触发器,执行这些操作将拉动相应的触发器。

插入数据

可以使用SQL语句或设置和保存持久化类属性将数据插入表中。

使用SQL插入数据

INSERT语句将一条新记录插入SQL表中。
可以插入一条记录或多条记录。

下面的示例插入一条记录。
它是插入单个记录的几种可用语法形式之一:

0 0
0 263

2021年3月19日,在InterSystems极客俱乐部首次进行的直播课中,InterSystems中国售前支持专家刘皆良( @Jieliang.Liu )分享了一个有趣的主题:告诉你从Caché数据库升级到InterSystems IRIS数据平台的N个理由。直播视频贴上,欢迎大家围观。

0 0
0 120
文章
· 四月 6, 2021 阅读大约需 13 分钟
第十八章 定义和使用存储过程

第十八章 定义和使用存储过程

本章介绍如何在IntersystemsIRIS®数据平台上定义和使用Intersystems SQL中的存储过程。它讨论了以下内容:

  • 存储过程类型的概述
  • 如何定义存储过程
  • 如何使用存储过程如
  • 何列出存储过程及其参数。

概述

SQL例程是可执行的代码单元,可以由SQL查询处理器调用。 SQL例程有两种类型:功能和存储过程。从支持FunctionName()语法的任何SQL语句中调用函数。存储过程只能由CALL语句调用。函数接受某些输入定向参数并返回单个结果值。存储过程接受某些输入,输入输出和输出参数。存储过程可以是用户定义的函数,返回单个值。 CALL语句也可以调用函数。

与大多数关系数据库系统一样,Intersystems Iris允许创建SQL存储过程。存储过程(SP)提供存储在数据库中的可调用可调用的程序,并且可以在SQL上下文中调用(例如,通过使用呼叫语句或通过ODBC或JDBC)。

0 0
0 450