作为新的互操作性用户界面浪潮的一部分(请参阅@Aya Heshmat 在2025.1 和2025.3中介绍的新内容),v2026.1已经作为开发者预览版发布,这可能是您尝试一下的理由——它将发布用于消息查看和搜索的新用户界面,包括可视化跟踪(以及其他用户界面好东西)。
以下是一个快速预告:

InterSystems IRIS for Health™ 是全球第一个也是唯一一个专门为医疗应用程序的快速开发而设计的数据平台,用于管理全世界最重要的数据。它包括强大的开箱即用的功能:事务处理和分析、可扩展的医疗保健数据模型、基于 FHIR 的解决方案开发、对医疗保健互操作性标准的支持等等。所有这些将使开发者能够快速实现价值并构建具有突破性的应用程序。了解更多信息。
作为新的互操作性用户界面浪潮的一部分(请参阅@Aya Heshmat 在2025.1 和2025.3中介绍的新内容),v2026.1已经作为开发者预览版发布,这可能是您尝试一下的理由——它将发布用于消息查看和搜索的新用户界面,包括可视化跟踪(以及其他用户界面好东西)。
以下是一个快速预告:

大家好,我是姚鑫。
最近一段时间,我把自己过去几年在 InterSystems IRIS 项目中的开发经验,系统整理成了一本书—— 📕 《IRIS(数据平台)编程技术指南》 现已由 北京航空航天大学出版社 正式出版发行。
说实话,写书的过程比我想象中要难很多。 如果说写博客是“随手记录”,那么写书就是一次真正的“工程项目”:要保证结构完整、逻辑严谨、内容能从入门一路带到实战。
本书围绕 InterSystems IRIS 的核心开发语言 ObjectScript 展开,内容不仅讲语法,更注重“工程实践”。
主要包括:
✅ IRIS 平台介绍与开发环境搭建 ✅ ObjectScript 语法规则、变量体系、全局变量机制 ✅ 常用数据类型、表达式、系统命令、系统函数 ✅ 函数与方法、面向对象编程基础 ✅ %Persistent 持久类(ORM 与 SQL 映射) ✅ Storage 存储策略、懒加载机制、并发分析 ✅ 嵌入式数据结构、常见性能问题与技术难点解析
整体内容更偏向“项目实战型”,不是纯概念堆砌。
Hi 大家好!
备考 InterSystems 认证考试,仅阅读文档远远不够,更需要针对真实考试目标进行集中练习。如果您计划在 HL7、SQL、系统管理或开发领域验证自己的专业技能,系统化的准备将带来显著效果。
🧑🏫 备考平台

本平台提供了大量与认证领域相匹配的练习题,并附有详细的答案解析,指出相关文档参考。您还可以随时跟踪自己的学习进度,从而更清晰地了解哪些方面有所提升、哪些方面仍需加强。
通过教材与互动测验的结合,您可以找出薄弱环节,巩固知识,并以更充分的信心应对考试。
👉 点击此处开始练习
请注意,exam-prep.es 是一个独立的练习平台,与 InterSystems 无任何关联。本平台旨在作为备考的辅助工具使用。
我们在将 IRIS 实例迁移到另一台机器(甚至可能是升级版本)后,有多少次是在几天之后才猛然惊觉:我们忘了迁移那个对于业务操作(Business Operations)至关重要的 SSL 配置?或者是漏掉了某个凭据(Credential),又或是某个包里孤零零的一个类?
最简单的法子就是列一张清单¹。把我们必须迁移的实体项都罗列出来。但是,Word 文档里的简易清单往往会被人抛诸脑后,甚至干脆被无视。
管理学的基本原理告诉我们:如果你希望人们遵循流程,你可以采取以下手段:
Python 脚本固然可行,但人们可能会忘记脚本放在哪儿,或者去哪儿下载。一旦有了新版本,所有使用者都得重新下载。
IRIS 类或任务似乎也是理想选择,直到你意识到有时你是迁移到另一个网络的服务器,一个实例根本无法访问另一个。
这就是为什么我选择了浏览器插件一旦安装,它便触手可及(哪怕你几个月不用它);更新会自动完成。即便你换了浏览器或出于某种原因弄丢了插件,从应用商店重新安装也只是点击一下的事。
大家好。又是我!!😀
最近,我试图整理InterSystems IRIS😆的一些学习材料,并意识到这些资源实际上非常分散。
因此,我在这里列出了一个按类别分组的列表,供以下人员使用:
此外,我还补充了一些自己的经验,说明哪些有用(哪些没用,可能只是对我没用🤫🤐)。
如果您不知道从哪里开始,请从这里开始:
我的体验 从 Developer Hub + 入门开始效果很好。它提供了快速运行的足够条件(无需安装,直接测试!!!!ᾒ)。
不适合我的地方 一开始就直接进入文档→正如我常说的...我知道句子中的每个单词,但就是不理解🥲。
当你想真正开始工作时:
|
咨询 ID |
受影响的产品和版本 |
风险类别和评分 |
明确要求 |
|
IF-9396 |
InterSystems IRIS® for Health InterSystems Health Connect™ 版本 |
系统稳定性问题:3 |
受影响的配置无法从产品用户界面与 FHIR Server 功能交互 。 现有 API、终端和 ObjectScript 方法不受影响。
这会影响 InterSystems IRIS for Health 和 Health Connect 部署在所有支持 Web 服务器(IIS、Apache 和 Nginx)配置的操作系统上。
InterSystems IRIS® 数据平台、InterSystems IRIS® for HealthTM 和HealthShare® Health Connect 的2025.1.4 和 2024.1.6维护版本现已全面上市 (GA)。这些版本包括对最近发布的一些警报和建议的修复,其中包括以下内容:
请通过Ideas Portal使用 "发布后反馈"类别分享您的反馈意见,以便我们共同打造更好的产品。
您可以在这些页面上找到详细的变更列表和升级检查列表:
现在有许多 EAP 可用。请查看此页面并注册您感兴趣的项目。
|
警报 ID |
受影响的产品和版本 |
风险类别和评分 |
明确要求 |
|
IF-9262 |
InterSystems IRIS® for Health InterSystems HealthConnect™ 版本 |
系统稳定性关注度:5(高) |
FHIR 和 Health 互操作性问题可能导致升级失败和意外或不良的产品行为。 |
尝试升级至受影响产品可能会导致升级步骤失败或产品在以下领域出现不良表现:安装(包括安装向导)、镜像(Mirroring)、FHIR 服务器、批量 FHIR(Bulk FHIR)、IHE 功能、安全角色与资源,以及医疗互操作性功能。
有关 2024.1.4 或 2024.1.5 中关注问题的详细列表,请联系 WRC。
急诊医疗服务(EMS)团队到达急诊科时,常常会遇到人口统计数据不完整或未知的病人——没有病历号(MRN),没有确认的姓名,有时甚至没有出生日期。然而,急救医疗运送记录仍然需要准确无误地记录在病历中。
为了支持安全可靠的记录,急救医疗机构、第三方集成服务和医院集成团队建立了安全接口,用于交换识别码和临床信息。当这些标识符不一致时,下游系统就无法自动发布转运记录,从而产生可避免的人工操作,并延误记录的完整性。本文概述了如何使用 FHIR Patient.Search (R4) 来填补最常见的人口统计空白并改进自动发布。
在许多 EMS 到医院的集成中,患者最初是以通用或临时标识符注册的。最终登记和任何记录合并可能要到稍后才会发生,有时是在出院后。在这些更新传播之前,EMS 患者标识符和电子病历 (EMR) 标识符可能一直不同步。
当转运记录因不匹配而无法发布时,集成通常会生成一个错误,并转到 EMR 工作队列进行人工审核。在 EMS 处理量大的情况下,队列会迅速增长。
关键词 氛围编码(Vibe coding), Windsurf, IRIS, TIE
迄今为止,有人没有尝试过 "氛围编码(vibe coding) "吗?
即使仅仅在三年前,如果有人问
你可能会大笑一声,尽量不生气,找把椅子坐下来,开始计算光是这些分析/SoW/需求/设计/测试/服务文档就需要多少人*日或人*周,以及实际工程工作。
然而,随着基础模型的飞跃和进步,今天的情况肯定会变得更加现实。
我也希望了解其他人是如何使用它的。 以下只是我自己匆忙写下的随笔。
互操作性用户界面项目在 2025.1 版本的基础上继续进行 ,并采纳了客户和合作伙伴提出的许多建议和意见。 我们将继续投资于反馈和更新这一重要的用户体验。 在最新发布的 2026.1 版(适用于 IRIS、 IRIS for Health、 HealthConnect 和 Health Connect Cloud) 中 , BPL 编辑器(BPL Editor) 和 信息查看器/可视跟踪(Message Viewer/Visual Trace) 应用程序现在可供选择使用!
注意:
处理文件通常很简单:打开文件,读取并处理。这种方法非常有效,直到文件碰巧是 Excel 文件。
常见假设
起初,Excel 文件(.xlsx)看起来就像另一个数据文件,行、列和值。因此,我们很自然地认为它可以像 .txt 或 .csv 文件一样被读取。但问题就出在这里。
Excel 文件为何表现不同
关键区别在于数据的存储方式:
-> .txt / .csv - 纯文本,逐行存储。
-> .xlsx - 压缩、结构化格式(非纯文本)
excel 文件实际上不是一个简单的可读行流。从内部看,它是一个包含结构化数据的打包文件,标准文件读取命令无法解释这些数据。
如果把它当作文本文件处理,会发生什么情况?
重要事项 --> 这不是限制,而是工具和文件格式不匹配 。
实用的处理方法
与其只使用基于文本的方法,还有更好的选择、
如果有人曾在 IRIS 中处理过 Excel 文件,或有其他行之有效的方法,请随时分享。)
下面提到几个例子。
本文介绍如何在 InterSystems IRIS 中通过继承
EnsLib.HTTP.GenericOperation(或EnsLib.REST.GenericOperation)实现 OAuth2.0 支持,包括 OAuth2.0 Client 配置、Access Token 自动获取与 Header 注入,适用于各类第三方 REST API 集成场景。
在企业集成项目中,我们经常需要通过 REST API 对接第三方平台,例如 CRM、支付系统、云服务和 Open API 网关。
这些接口大多数采用 OAuth 2.0 作为授权机制。
虽然 InterSystems IRIS 提供了功能强大的通用 HTTP / REST 业务操作类:
EnsLib.HTTP.GenericOperationEnsLib.REST.GenericOperation但目前它们不直接支持 OAuth2.0 Access Token 自动注入。
本文将介绍一种常见且推荐的实现方式:
通过继承 GenericOperation类,自定义一个支持 OAuth2.0 的通用业务操作类(Business Operation)
实现以下能力:
FHIR(快速医疗互操作资源)是存储和交换临床数据的现代标准。但是,一旦您的数据存储在 FHIR 服务器中,如何才能真正浏览这些数据呢?FHIR 数据以 JSON 格式存储,虽然功能强大,但直接读取并不实用。我希望有一种工具,可以让您点击病人,以简洁、可读的格式查看他们的病情、用药、化验结果等。于是,我创建了FHIR 患者查看器(FHIR Patient Viewer)。
该应用完全在 Docker 中运行,并直接连接 InterSystems IRIS for Health FHIR 服务器。启动时,它会自动将 115 个合成患者载入 IRIS,无需手动设置。
点击任何患者,查看其所有临床记录

逐字段展开每条记录

随时查看底层原始 JSON 文件

它预装了由Synthea生成的 115 个合成患者数据
Open Exchange 上有完整的源代码和设置说明:
https://openexchange.intersystems.com/package/FHIR-Patient-Viewer-2
欢迎反馈!
|
警报 ID |
受影响的产品和版本 |
风险类别和评分 |
明确要求 |
|
HSIEC-12800 |
InterSystems IRIS® for Health InterSystems HealthConnect™ 版本 |
系统稳定性关注度:5(高) |
1.正在使用 HL7 到 SDA3 转换 2. 2.用药相关信息包括 TQ1 段 3. 3.TQ1-3 重复模式包含多次重复 |
在 HL7 到 SDA3 转换逻辑中发现了一个问题,在处理某些与药物相关的 HL7 报文时可能会导致无限循环。当报文包含的 TQ1 段在 TQ1-3 重复模式字段中有多个重复时,就会出现这个问题。
出现这种情况时,受影响的 HL7 报文可能无法成功转换为 SDA。在某些情况下,处理可能会挂起、意外终止或中断相关的下游处理。
此问题取决于数据,不会影响所有 HL7 流量。 如果客户 使用 HL7 到 SDA3 转换处理与药物相关的 HL7 报文,而这些报文包含在 TQ1-3 重复模式字段中有多次重复的 TQ1 段,则可能会受到影响。
不处理这种报文格式的客户不太可能受到影响。
大家好!
我们很高兴地宣布推出一项新的实践培训计划:
🧑💻使用 Python 开发 FHIR 应用程序🧑💻

本课程以小组为基础,将开发人员从 FHIR 基础知识带入高级、真实的医疗互操作性解决方案,与典型的行业课程相比,课程内容更深入、更实用,并重点关注使用 InterSystems 技术的生产就绪技能。
第一批学员于 2026 年 2 月 15 日开课 ⚠️ 名额有限(一旦学员满额,报名者将被列入候补名单)。
本课程非常适合以下组织和团队参加
该计划由三个渐进的 5 周模块组成。学员可以参加单个模块的学习,也可以完成为期 15 周的全部课程。
每周包括
InterSystems IRIS® 数据平台、InterSystems IRIS® for HealthTM 和HealthShare® Health Connect 的2026.1版本现已全面上市 (GA)。这是一个扩展维护 (EM) 版本。
版本亮点:
InterSystems IRIS®数据平台的2023.1.7维护版本 、 InterSystems IRIS® for **** for HealthTM和HealthShare®Health Connect的 2023.1.7 维护版本现已全面上市 (GA)。
请通过Ideas Portal使用 "发布后反馈"类别分享您的反馈意见,以便我们共同打造更好的产品。
您可以在这些页面上找到详细的变更列表和升级清单:
现在有许多 EAP 可用。请查看此页面并注册您感兴趣的项目。
InterSystems IRIS 和 InterSystems IRIS for Health 的完整安装包可从 WRC 的InterSystems IRIS 数据平台完整工具包页面获取。HealthShare Health Connect工具包可从 WRC 的HealthShare 完整工具包页面获取。容器映像可从InterSystems 容器注册中心获取。
此版本附带适用于所有支持平台的经典安装包,以及 Docker 容器格式的容器映像。 有关完整列表,请参阅支持的平台文档。这些维护版本的版本号是2023.
我以前可能提到过这一点:我认为可视化跟踪(Visual Traces),即包含每个步骤完整内容的序列图,是 IRIS 数据平台的一项神奇功能!以可视化跟踪的方式提供有关 API 内部工作原理的详细信息,对 IRIS 平台上的项目非常有用。当然,这适用于我们没有开发高负荷解决方案的情况,在这种情况下,我们根本没有时间保存/读取信息。对于所有其他情况,欢迎阅读本教程!
大家好。好久不见。我想再次与大家分享我最近学习的内容 通过 JDBC 使用 SQL 创建外来表。
因为我同时也在学习 IRIS BI,所以我从这个 Sample-BI docker 环境开始。
https://github.com/intersystems/Samples-BI
启动环境后,以超级用户身份登录管理门户http://localhost:52773/csp/sys/UtilHome.csp。
将命名空间切换为IRISAPP。
.png)
我们会发现所有样本数据都存储在IRISAPP 命名空间中。让我们找一张简单的表来测试外来表功能 🤣
System Explorer > SQL
.png)
让我们通过在 "执行查询(Execute Query tab) "选项卡中执行以下 SQL 查询来试试表HoleFoods.Outlet
SELECT
ID, City, Country, Latitude, Longitude, Population, Type
FROM HoleFoods.Outlet
.png)
太棒了!😉 表中有 35 个条目。
| 警报编号 | 受影响的产品和版本 | 风险类别和评分 | 明确要求 |
| DP-448888 | 产品: |
在上述版本中,如果数据库缓存大于或等于 2,097,152 MB(2 TB),实例可能无法启动或在运行过程中挂起。请注意,未配置实例的初始数据库缓存分配是系统物理内存的 25%;因此,如果物理内存≥ 8 TB,则未配置实例可能存在风险。更多信息,请参阅为数据库和常规缓存分配内存以及数据库缓存 (globals) 配置参数。
如果使用高级配置选项分配多个块大小的缓冲区,则必须以global缓冲区为单位计算限制。只要所有大小的缓冲区总和少于 268,435,456 个,就不会有风险。
此问题影响以下产品的 2024.3、2025.1.0 - 2025.1.3、2025.2.0 和 2025.3.
InterSystems 常见问题
如果您尝试从顶级节点删除在子脚本级别映射的全局变量,您将收到一个<SLMSPAN>错误,并且它不会被删除。这是因为用于子脚本级别映射全局变量的kill命令不能跨映射使用。
// Suppose subscript-mapped globals exist in different databases, as shown below:
^TEST(A*~K*) -> database A
^TEST(L*~Z*) -> database B
// Trying to kill from the top level will result in a <SLMSPAN> error.
NAMESPACE>Kill ^TEST
<SLMSPAN> <- This error is output.要只删除当前命名空间(数据库)中的全局,请使用以下命令:
NAMESPACE>Kill ^["^^."]TEST在子脚本级别映射的全局变量必须移动到数据库并直接删除。
要切换到数据库,请使用以下命令:
zn "^^c:\intersystems\iris\mgr\user"
or
set $namespace="^^c:\intersystems\iris\mgr\user"使用 $System.OBJ.
InterSystems 定期更新我们的软件发布政策和实践,以适应客户的需求。
为了让客户和合作伙伴更容易预测,我们现在改变了维护版本的发布节奏,并对其他几个方面进行了调整。
本文总结了我们数据平台产品的发布周期和最近的变化,并宣布了一些新的更新。
有什么相同之处?功能发布节奏提醒
自 2018 年以来,InterSystems 一直在使用 InterSystems IRIS 的双流功能发布节奏(请参阅原始公告)。我们提供
EM 发行版的版本号为 YYYY.1(例如 2022.1 或 2023.1),因此很容易识别。 CD 发行版的版本号为 YYYY.2、YYYY.3 等。
该演示基于原始类描述。
使用的数据类包括地址、人员、雇员和公司。
为使演示更具吸引力,添加了按 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.
什么是 FHIR Profile??
FHIRProfile是规则和约束的集合,用于定制和完善基础快速医疗互操作性资源 (FHIR) 资源(resource)。Profiling是一个重要的过程,它可以调整基础 FHIR 资源标准,以满足特定用例、地理区域、医疗机构或临床工作流程的独特要求。
基础 FHIR 规范为资源(如病人、观察或药物)提供了通用、灵活的定义,而Profiling则将这些通用资源转化为更精确的资源。这就确保了为特定社区或实施量身定制的数据交换的一致性和互操作性。
FHIR 旨在覆盖全球各种医疗保健场景。配置文件允许实施者在不丧失标准化优势的情况下调整这一通用平台。