该演示基于原始类描述。
使用的数据类包括地址、人员、雇员和公司。
为使演示更具吸引力,添加了按 ID 命名的 JSONtoString 方法。
InterSystems IRIS 是一个完整的数据平台
InterSystems IRIS 为您提供了捕获、共享、理解组织最宝贵的资产(数据)并采取相应行动所需的一切。
作为一个完整的平台,InterSystems IRIS 不需要集成多种开发技术。应用程序需要更少的代码、更少的系统资源和更少的维护。
InterSystems IRIS 是一个完整的数据平台
InterSystems IRIS 为您提供了捕获、共享、理解组织最宝贵的资产(数据)并采取相应行动所需的一切。
作为一个完整的平台,InterSystems IRIS 不需要集成多种开发技术。应用程序需要更少的代码、更少的系统资源和更少的维护。
该演示基于原始类描述。
使用的数据类包括地址、人员、雇员和公司。
为使演示更具吸引力,添加了按 ID 命名的 JSONtoString 方法。
InterSystems 常见问题
使用 TCP 适配器的业务主机保持连接和池大小的默认设置如下:
如果网络问题导致与业务主机的连接丢失,生产端将无法检测到这一情况,也不会接受新的连接。 在这种情况下,事件日志中不会记录任何事件。 如果将 StayConnected 设置为默认值(-1),连接将不会超时,您需要重启业务主机后才能接受新的连接。 我们建议将 StayConnected 设置为大于或等于 0 的值,以避免出现这种情况。
例如,如果将其设置为 300(秒),TCP 业务主机在 300 秒或更长时间内没有收到任何新信息,就会自动断开连接并重新连接。
对于繁忙的系统,通常会将 StayConnected(保持连接)值设为一个较小的值,如 5 秒。
本文将讨论 Microsoft Visual Studio Code IDE中包含的所有调试工具 。
内容包括
让我们从了解调试要求开始!
前提条件
有两个插件(扩展)可用于调试 ObjectScript:
第一个是 InterSystems ObjectScript 扩展包的一部分 。第二个是 Serenji,它是一个独立的插件,提供编辑器、文件管理器和调试功能。这两个插件都可以从插件商店安装。要激活关键功能,Serenji 需要许可证。在本文中,我们将使用 InterSystems ObjectScript 扩展包来降低学习难度。在掌握基础知识后,您可以考虑购买 Serenji 的付费许可证。
IPM 0.10.6 版于 2026 年 2 月 24 日发布。该版本主要是错误修复,但在软件包中添加了-export-python-deps标志,并发布了将 Python 依赖关系与 IPM 模块本身包含在一起的命令。像往常一样,你可以在GitHub 页面或社区注册中心查看。
以下是完整的更新日志:
已添加
- #1024:为发布命令添加了 -export-python-deps 标志
修复
- #996:确保 COS 命令在专用、隔离的上下文中执行
- #1002:列出已配置的软件源时,只有在定义了令牌时才显示 TokenAuthMethod。
- #1024:在 -export-python-deps 下,带有 PythonWheels 的模块已正确打包。
- #1061:修复从 OCI/ORAS 注册表安装时的问题
- #1065:修正了 IPM 0.10.3 中引入的回归,该回归删除了对以目录作为名称的资源(例如 /inc )的支持
- #1072:修复了测试或验证阶段未加载作用域依赖关系的问题。
如果您有任何问题、建议或需要关注的 bug,请随时在这里或GitHub 页面上提出。(在 GitHub 上,问题和建议应放在讨论页面,而错误应放在问题页面)。
大家好,
我们非常高兴地与大家分享,我们刚刚推出了一个新的免费互动教程,专门为那些刚刚接触 InterSystems IRIS 并希望了解其核心概念的人设计。
🧑🏫InterSystems IRIS 的数据模型🧑💻

在现代医疗保健领域,寻找临床上相似的患者往往感觉像大海捞针。传统的关键字搜索往往会失败,因为医学语言具有高度的细微差别;搜索 "心力衰竭 "可能会漏掉包含 "充血性心力衰竭 "的记录。
我很高兴与大家分享 iris-medmatch,这是一个基于InterSystems IRIS for Health的人工智能患者匹配引擎。通过利用矢量搜索(vector search),该工具能够理解临床意图,而不仅仅是匹配字面字符串。
## 核心创新:语义临床搜索
iris-medmatch "在原始FHIR数据和可操作的人工智能洞察力之间架起了一座桥梁。该引擎利用 "all-MiniLM-L6-v2 "模型,将临床条件转化为数学向量。
标准搜索查找的是准确的单词,而该引擎能理解**临床上下文**。例如,它可以使用数学向量相似性将 "高血压 "患者与 "高血压 "搜索匹配起来。
该解决方案的优势在于其架构效率。通过嵌入式 Python 运行 Transformers,我们消除了 "数据重力 "问题。数据留在 IRIS 中,人工智能处理在数据所在的地方进行。
🚀应用演练
1.
概述
嵌入式 Python改变了 InterSystems IRIS 的游戏规则,可直接在数据库中访问庞大的 Python 生态系统。但是,在 ObjectScript 和 Python 之间架起桥梁有时会让人感觉像是在两个不同的世界之间转换。
为了实现这种无缝过渡,请使用embeddedpy-bridge。
该软件包是一个以开发人员为中心的实用工具包,旨在为嵌入式 Python 提供高级 ObjectScript 封装、熟悉的语法和强大的错误处理功能。它允许开发人员使用他们已经熟悉的本地 IRIS 模式与 Python 数据结构交互。
虽然 %SYS.Python 库功能强大,但开发人员经常面临一些障碍:
While 循环无法与 Python 迭代器进行本地 "对话"。embeddedpy-bridge我的目标是创建一个 "桥梁",让 Python 感觉像是 ObjectScript 中的一等公民。
py 前缀约定:%ZPython.你好
数据迁移通常听起来像是一个简单的 "将数据从 A 转移到 B 的任务",直到你真正去做。实际上,这是一个融合了规划、验证、测试和技术精度的复杂过程。
我曾在多个项目中负责将数据迁移到在 IRIS(TrakCare)上运行的 HIS 中,在这些项目中,我认识到成功来自于纪律和自动化的结合。
以下是我想强调的几个要点。
1.从定义好的数据格式开始。
在打开第一个文件之前,确保每个人,尤其是数据提供者,都清楚地了解您所期望的确切数据格式。尽早定义模板可以避免不必要的来回奔波和返工。
虽然 Excel 或 CSV 格式很常见,但我个人认为使用制表符分隔的文本文件(.txt)上传数据是最好的。它既轻便又一致,还能避免文本字段内的逗号问题。
PatID DOB Gender AdmDate
10001 2000-01-02 M 2025-10-01
10002 1998-01-05 F 2025-10-05
10005 1980-08-23 M 2025-10-15确保文件中提供的日期格式正确且在整个文件中保持不变,因为所有这些文件通常都是从 Excel 文件转换而来,而 Basic excel 用户可能会在提供错误的日期格式时犯错。错误的日期格式在转换为 horolog 时会让您恼火。
在最近的竞赛中,看到更多的人在创建 VS Code 扩展程序,这令人鼓舞。不过我注意到,在三个需要使用凭据进行连接的扩展中,只有我的gj :: dataLoader 利用了历史悠久、官方支持的InterSystems Server Manager扩展来获取连接定义并安全地处理凭据。
我有一个新项目,要将 REST 响应中的信息存储到 IRIS 数据库中。我需要同步来自至少二十几个不同 REST 端点的信息,这意味着需要创建将近这么多的 ObjectScript 类来存储来自这些端点的结果。
我能否使用 ChatGPT 来创建这些类?答案是 "可以",这非常好,因为这是我第一次尝试使用生成式人工智能来做一些有用的事情。生成长颈鹿喝汤的图片有点老....。
我是这么做的:
我在 "Message ChatGPT "提示符中输入了以下请求:
我:Generate an ObjectScript class that will hold data from the following JSON(生成一个 ObjectScript 类,用于保存以下 JSON 中的数据):
在输入 JSON 之前,我点击了 "Return",因此 ChatGPT 给我的提示如下:
ChatGPT:Please provide the JSON structure you'd like me to generate the ObjectScript class
InterSystems IRIS的嵌入式向量搜索功能使我们能够搜索非结构化和半结构化数据。数据被转换为向量(也称为 "嵌入"),然后存储在 InterSystems IRIS 中并编制索引,用于语义搜索、检索增强生成(RAG)、文本分析、推荐引擎和其他用例。
这是一个将 IRIS 用作向量数据库和在 IRIS 上进行相似性搜索的简单演示。
先决条件:
存储库: https://github.com/piyushisc/vectorsearchusingiris
操作步骤
InterSystems IRIS 的架构将数据的逻辑组织(命名空间)与其物理存储位置(数据库)分开。理解这种分离以及命名空间和数据库之间的区别对于有效的数据管理、安全性,尤其是高性能数据共享至关重要。
在本文中,我将讨论这些基础组件,并提供利用全局映射跨不同逻辑环境共享本地数据结构(全局)的实用指南。
数据库代表了数据存储在磁盘上的物理现实。首先,它是文件系统中名为 IRIS.dat 的文件(例如,<安装文件夹>\mgr\user\IRIS.DAT )。该文件的最大容量为 32TB。它是所有实际数据和代码的容器。数据库由 IRIS 内核管理,它在物理文件级别处理缓存、日志和事务日志。
安装 InterSystems IRIS DBMS 时,会自动安装以下数据库:

有时,根据预先定义的资源 "列表(List)"限制 FHIR 搜索会更方便、更高效、更安全。
自 2025.1 版起,我们的 FHIR 服务器支持多个与列表相关的功能。
我将在此重点介绍这些功能,并提供一些示例。
InterSystems IRIS® data platform, InterSystems IRIS® for Health, and HealthShare® Health Connect 2026.1 的第三次开发人员预览版已发布到 WRC 开发人员预览版网站。 容器可在我们的容器注册表中找到,其标签为latest-preview。
这些开发人员预览版包括从 2026.1.0 开始放弃对 Mac Intel 的支持,以及将 Windows Server 2019 支持添加回 2026.1.0。
初始文档可在以下链接中找到:
这些文档链接目前只是占位符,随着最终版本的推出和更多细节的分享,这些链接将不断更新。以下是 2026.1 文档的一些显著新增内容:
由于这是早期的开发人员预览版,一些内容仍在开发中,我们将在功能最终完成后提供完整的文档。我们感谢您在此阶段的耐心等待和反馈!
该版本为所有支持的平台提供了经典安装包,如需完整列表,请参阅 "支持的平台 "文档。
在使用InterSystems 互操作性(Iris/Health Connect/Ensemble)时,配置数据通常分散在许多生产项目中:服务、流程、操作、适配器及其设置。
常见的操作或安全需求是回答以下问题:
下面的 ObjectScript 工具正是通过将选定的配置设置导出到 CSV 文件来解决这个问题的。
该脚本
Ens_Config.Item)
:、/ 或 \ 的值)
当您需要时,应使用此实用程序:
这对使用许多接口和适配器的多个产品的大型实例尤其有用。
您可能知道这种情况:
前段时间,你发现了一个非常特殊的 $ZU 函数,可以解决一种非常特殊的问题。某种神秘的公式。它变得很流行,被许多开发人员在您的代码和所有安装中使用。
几个版本和更新之后,ISC 通知你,你的神秘 $ZU 已经过时,不再支持。建议您用新的 $something() 替换它。
那么,如何找到并记录这段神秘代码的用法呢?
它可能位于类、MAC、INT 或 INC 代码中。
它也可能分布在多个命名空间中。
在过去,Studio 还不够完善:它不适用、速度慢、不准确。
我在不同的安装中不止一次遇到过这种情况。
当时还没有源代码控制功能,即使最终引入了源代码控制功能,也很少有人使用。
由于 ObjectScript 是应对这一挑战的唯一可能选择,我编写了自己的实用程序。
我的解决方案经过了多年的发展,一旦计划迁移到 IRIS,我就会再次检查它的实用性。
由于它是用纯 ObjectScript 编写的,因此在 IRIS 中无需修改任何字符即可运行。
如您所知,在 ObjectScript 中搜索特定文本的问题一直没有改变。
您发送了一个 HTTP 请求,但得到了一个 HTTP 错误,而且是一个您意想不到的 HTML 错误页面......这是怎么回事?
具体举例来说,也许您尝试读取 FHIR 资源(例如 /Patient/123),但得到的是 404 错误页面,尽管使用其他患者 ID 时,您得到的是资源有效载荷,因此 "页面 "肯定存在......为什么会得到 404 错误页面?
我曾多次遇到一种模式,即我需要使用临时文件/文件夹,并在稍后的某个时候将其清理掉。
在这种情况下,自然是遵循"Robust Error Handling and Cleanup in ObjectScript "中的模式,使用 try/catch/pseudo-finally 或注册对象来管理析构函数中的清理工作。%Stream.File*也有一个 "RemoveOnClose "属性,您可以对其进行设置,但要小心使用,因为您可能会不小心删除一个重要文件,而且这个标志会在调用%Save()时被重置,因此您需要在重置后将其设回 1。
不过,有一个棘手的情况——假设你需要临时文件在外部堆栈级别中继续存在。例如:
大家好,现在我想继续我们之前讨论过的话题
使用 Postman 测试 InterSystems FHIR 存储库的 OAuth2.0 - 第一部分
.png)
问题1:我的client_id和client_secret是从哪里来的?
简短回答:身份验证服务器(Authentication Server)。
如果没有身份验证服务器,可按以下方法设置一个
.png)
提供主机名(主机必须支持 Https)、至少 1 种大类型(这里我们选择客户端凭证)和 SSL/TSL 配置
.png)
输入作用域(这里我们输入user/*.read和user/ *. write,这是基于 FHIR 服务器(资源服务器)支持的作用域)。万一我们遗漏了某些作用域,请检查 "允许不支持的作用域(Allow unsupported scope)"。
.png)
JWT 设置选择 RS256(这只是一个示例,您可以选择适合您架构的设置)
.png)
将生成令牌类(Generate token class)更改为%OAuth2.Server.JWT。如果需要,还可以更新命名空间。
.png)
保存(Save)设置
问题 2:如何查看身份验证服务器的 client_id 和 client_secret?
简短回答: 设置 OAuth2.0 客户端(如果没有)并创建一个客户端
以下是设置 OAuth2.0 客户端的步骤。
.png)
如果要从 x509 证书/密钥生成JWT,对%SYS.X509Credentials的任何操作(包括读取)都需要 %Admin_Secure 资源上的 U。之所以需要 %Admin_Secure,是因为 %SYS.X509Credentials 是持久的,这样做是为了防止所有用户访问私钥。
如果 %Admin_Secure 资源在运行时不可用,可以使用以下变通方法。
在查看 JWT 生成代码时,我发现 JWT 代码仅利用 %SYS.X509Credentials 作为 PrivateKey、PrivateKeyPassword 和 Certificate 的运行时数据源。作为一种变通方法,您可以使用 X.509 接口的运行时非持久化实现,只公开这些属性。如果要使用互操作性,证书/PK 可以存储在凭证中,以便安全访问:
Class User.InterSystems IRIS 数据平台是所有 InterSystems 应用程序以及医疗保健、金融服务、供应链和其他生态系统中数以千计的客户和合作伙伴应用程序的基础。它是一个融合平台,提供交易分析数据管理、集成互操作性和数据集成,以及集成分析和人工智能。它支持 InterSystems Smart Data Fabric 方法,用于管理多样化的分布式数据。
.png)
IPM 0.10.5 版已于 2026 年 1 月 15 日发布。新版本包含大量改进和错误修复,请务必直接从GitHub 页面或社区注册中心查看!
主要变化如下
<Invoke> 将更直观地表现为始终检查 %Status 返回值,前提是且仅当方法签名声明返回 %Status。这意味着如果没有返回任何值、返回值不是 %Status 或不是 $$$OK,就会产生错误。
以下是完整的变更列表:
已添加
- #938:为软件包命令添加了 -export-python-deps 标志
- #462:用于版本库配置的
repo命令现在支持使用-password-stdin标志的密码秘密输入终端模式。
- #935:添加通用的 JFrog Artifactory tarball 资源处理器,用于将工件与软件包捆绑,并在安装时部署到最终位置。
InterSystems IRIS 提供广泛的可配置安全选项,但许多开发人员主要使用角色和资源来保护整个表或例程。今天,我们将深入探讨。我们也可以分别确保单个列和行的安全,但这两种机制的操作方式截然不同。让我们从列开始。
列安全
为便于测试和演示,我们将保持表结构简洁明了。我们在 USER 名称空间中有一个名为 "Person "的表,其中包含 ID 列、出生日期列 (DOB)、名和姓。
在上一篇文章中,我们谈到了 ODBC 和 C# 连接,现在让我们看看 JDBC 和 Java。InterSystems JDBC 驱动程序是集成 Java 应用程序的高性能推荐方式。
以下是使用 JDBC 驱动程序将 Java 应用程序连接到 IRIS 实例的分步指南。
JDBC 驱动程序与 ODBC 驱动程序不同,后者通常安装在整个系统中,而 JDBC 驱动程序通常以JAR 文件的形式发布,必须包含在 Java 项目的类路径中。
如果 InterSystems IRIS 安装在本地计算机或您可以访问的其他计算机上,您可以在 install-dir/dev/java/lib/ 或类似位置找到该文件,其中 install-dir 是实例的安装目录。反之,您也可以从驱动程序软件包页面下载 jar 文件。
或者按照 @Dmitry Maslennikov 在评论中的建议 ,使用 Maven 的maven 中央仓库:
<dependency>
<groupId>com.intersystems</groupId>
<artifactId>intersystems-jdbc</artifactId>
<version>3.10.5</version>
</dependency>或 Gradle:
implementation("com.intersystems:intersystems-jdbc:3.10.5")在项目中包含 jar 文件:
pom.xml 或 build.gradle 文件中。这会自动下载并管理 JAR。/lib)中,并在编译和运行时将其明确添加到 classpath 中。对于构建外部应用程序的开发人员,尤其是使用C# 等熟悉技术的开发人员来说,ODBC(开放数据库连接)是连接任何关系数据库(包括 InterSystems IRIS)的重要标准化桥梁。虽然 InterSystems 提供了自己的本地 ADO.NET 提供商,但 ODBC 驱动程序通常是与通用数据库工具和框架集成的最直接途径。
以下是使用 ODBC 驱动程序将 C# 应用程序连接到 IRIS 实例的分步指南,重点是无 DSN 连接字符串。
在 Windows 机器上安装 InterSystems IRIS 时,默认会安装 InterSystems ODBC 驱动程序。
安装完成后,可在 Windows 的ODBC 数据源管理员(ODBC Data Source Administrator)工具中验证其是否存在(查找 InterSystems IRIS ODBC35 驱动程序)。
.png)
Hi开发者们!
我们很高兴地宣布今年首次举办 InterSystems 在线编程竞赛:
比赛时间:2026年2月2日至3月1日(美国东部时间)
奖金:12,000 美元
不可避免的是,您最终需要将您的代码从一个版本的 IRIS 或 Cache 升级到最新版本的 IRIS。在这一过程中,您可以采取一些好的步骤来为自己的成功做好准备。
仔细阅读文档
在迁移任何代码之前,你应该先查看IRIS 文档页面,其中包含许多关于IRIS不同版本变更的有用资源。如果你需要跨多个版本升级,请查阅所有相关版本的文档,而不仅仅是目标升级版本。对于每个版本,点击“维护版本变更”(Maintenance Release Changes)链接,你将看到一份开发人员升级清单,对指导你需要进行的修改非常有帮助。你还应查看“发布说明”(Release Notes),其中列出了可能对你有用的新功能,以及已被弃用的功能。此外,建议访问“产品新闻与警报”(Product News and Alerts)页面,以获取最新的紧急事项。事实上,即使不进行升级,定期查看该页面或订阅警报通知也是个好主意,以便及时了解变更。
了解你的替代方案
根据你在文档中阅读到的内容,你可能会看到一堆问题。不过,在开始处理这些问题之前,您应该花些时间了解一下有哪些替代方案。如果您喜欢使用的特定 ObjectScript 类已被弃用或移除,那么如果您打算使用集成的 Python,就不要只寻找 ObjectScript 的替代品。如果您是 Zen 报表的用户,InterSystems Reports 就是该工具的替代品。
互操作性用户界面项目从 2025.1 版继续 进行,并纳入了许多我们的客户和合作伙伴建议和观察到的项目。 我们将继续投资于反馈和更新这一重要的用户体验。在最新发布的 2025.3 版(适用于 IRIS、 IRIS for Health、 HealthConnect 和 Health Connect Cloud) 中 , DTL 编辑器 和 生产配置 应用程序可选择
NOTE:
大家好,社区成员们:
对于刚接触InterSystems IRIS的开发者而言,这有个好消息!我们现已在Instruqt平台上推出了实操互动教程!这些教程非常适合希望快速上手、在真实环境中演练,并建立对基于IRIS的开发信心的开发者。(译者注:国内需要🪜)
.png)
概述
25.24.1 版对 DNS 功能、平台可靠性、升级工作流和开发人员体验进行了重大增强。该版本还包括关键修复和平台限制的增加,以更好地支持现代工作负载。
新功能和增强功能
|
类别 |
功能/改进 |
详细信息 |
| 网络 - DNS | DNS 映射(静态 DNS 支持) | DNS 支持从仅转发扩展到完整的 DNS 映射,允许创建和管理静态 DNS 条目,以提高服务发现和配置的灵活性。 |
| 可靠性和恢复能力 | 增强的自愈检查 | 改进了内部自愈验证例程,能够更快地恢复和更精确地检测运行异常。 |
| 高级安全性 | 改进的子网计算 | 增强了子网验证和计算逻辑,减少了配置错误,确保在不同部署中实现一致的网络分段。 |
| 升级和更新流程 | 改进 HCC 和 IRIS 托管服务 | 简化和强化了 Health Connect Cloud 和 IRIS 托管服务的升级/更新工作流,提高了可靠性和自动化准确性。 |
| DNS 修复 | DNS 别名错误修复 | 修复了 DNS 别名在特定配置中无法正确应用或传播的问题。 |
| 网络服务器 | 最大有效负载增至 200 MB | 允许的最大有效载荷大小从 10 MB 增加到 200 MB,支持更大的上传和更复杂的 API 交互。 |
| 开发人员工具 | InterSystems Data Studio 默认版本 1. |