#InterSystems IRIS for Health

0 关注者 · 978 帖子

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

文章 Kelly Huang · 十月 9 5m read

简而言之:

omniEmbedding 是一个 100% 基于 ObjectScript 的网关,它将来自 10 家不同提供商(Ollama、OpenAI、Azure、Cohere、Gemini、Mistral、Voyage、 Jina、Bedrock、VertexAI)的嵌入数据,将其集中管理于 InterSystems IRIS 平台内,因此您既不会被锁定在单一提供商,也不会因在 RAG 管道中混合使用不兼容的向量而陷入困境。

rule them all

我的想法并不是要锻造“至尊戒”——这事儿就留给托尔金和索伦去搞吧,😅。

事实上,原生类 %Embedding 和 %Embedding.OpenAi 让任何在 InterSystems IRIS 上进行向量搜索的人都轻松得不可思议。

不过,去年我不得不整合一个必须完全依赖 Azure OpenAI 平台的项目。情况变得有些复杂。我不得不对解决方案进行定制(在此要特别感谢 @Alex Woodhead在社区帖子中提供的关键帮助)。

现向大家介绍omniEmbedding:一个精简的、100% 基于 ObjectScript 的网关,用于在 10 家不同的 LLM 提供商之间路由嵌入向量。

方法论:基于规格的开发与人工智能

该项目的真正差异化优势在于其背后的工程实践。

0
0 8
文章 Nicky Zhu · 十月 8 8m read

在 4.0.0 发布一周后,SQL DATA LENS 4.01 于 2026 年 8 月 30 日正式发布——这是一次重大版本更新,而非补丁更新。 其78项变更中的大部分都围绕一个主题:如何建立、保护和标记与IRIS或Caché的连接。本文将带您了解对于日常使用InterSystems数据库的用户而言最重要的部分,首先从我被问及最多的那个问题开始。

问题在于:对于 InterSystems JDBC 客户端而言,TLS 配置从来都不是“只需勾选一个复选框”就能解决的

如果您曾使用 TLS 保护过 IRIS 超级服务器,然后尝试让 Java 客户端与其通信,您一定深有体会。在客户端,您需要

  • 一个SSL 配置文件(即 InterSystems JDBC 驱动程序读取的 SSLDefs.ini- 风格的属性文件),
  • 一个使用 keytool 构建的信任库,其中包含服务器或 CA 证书,
  • 主机名验证必须与证书 SAN 字段中的 条目完全匹配,
  • 以及重启客户端以验证上述操作是否生效。

社区中有关此主题的优秀文章不少——Mauro Aguirre 针对 ODBC/JDBC 客户端的分步指南以及Eduard Lebedyuk 的 Tableau 操作指南都值得一读。但这些文章之所以需要存在,且篇幅长达 6 到 13 分钟这一事实,本身就说明了一些问题。

0
0 9
文章 Nicky Zhu · 九月 30 4m read
大家好,这是关于 InterSystems IRIS 中镜像(Mirroring)和分片(Sharding)技术的三篇系列文章中的第一篇。第一部分将介绍如何启动三个容器并加入镜像。第二部分将介绍如何正确读取仲裁器(Arbiter)状态、一夜之间自动发生的故障转移,以及因我过于心急而导致的数据库“孤立”问题。第三部分将深入探讨分片技术,其中包含一个曾让我对整个配置产生怀疑的查询结果,直到我弄清楚它为何实际上是正确的。
本系列中的所有内容均在 Docker 上构建并测试,每张截图均直接来自该运行环境的管理门户。

步骤 1:配置三个容器

镜像功能需要三个角色:主节点(Primary)、备用节点(Backup)和仲裁者(Arbiter)——当两者对对方是否仍处于活动状态存在分歧时,仲裁者将打破平局。我将这三个角色作为独立的 Docker 容器在同一网络上运行,这样既保证了整个实验环境的可重复性,又便于在出现问题时快速拆卸环境。
在运行任何内容之前,您需要实际的 IRIS 镜像和一个许可证密钥文件。该镜像来自 InterSystems 容器注册表,因此请先使用您自己的凭据登录该注册表:
docker login -u="your-username" -p="your-token" containers.intersystems.com

然后拉取镜像:

docker pull containers.intersystems.com/intersystems/irishealth:2025.3
0
0 12
文章 Jeff Liu · 九月 27 8m read

为 InterSystems AI Hub 代理和外部 MCP 客户端构建一套受管控的 FHIR 工具集——以及那个让每次拒绝都拥有完美借口的日志记录漏洞。

大家好,社区的朋友们! 我终于下定决心写下我的第一篇帖子——并决定直接挑战两个当下最热门的话题:AI 和安全。

先做个简短的免责声明:这是试图将两个在很长一段时间内都不会真正交汇的世界结合起来:AI 和老派的安全人员。让我来解释一下。

几年前,我曾参与一个非常老旧的航空医疗认证系统项目——该系统负责判定人员是否具备在航空领域工作和学习的体能及心理健康条件。项目本身以及我在其中的角色并不怎么有趣:主要是将系统从Cache迁移到IRIS,并根据新法规对客户端进行现代化改造。 但我至今仍记得那支由审计员和安全官员组成的团队:每次新的集成、每个新的封装层、每一步数据提取操作,都会引发数十个问题,产生数页的文档和数据流图。其中有三个问题让我印象深刻:

  • 什么能阻止这个函数读取它无权访问的记录?
  • 这些规则记录在哪里?我能否在不阅读你们代码的情况下查阅它们?
  • 谁发起了这个调用,记录在哪里?

前两个问题我们轻松通过了。但第三个问题却让审计搁浅了:审计员要求提供针对医疗数据的特定访问记录,却未能找到。这并非因为没有发生访问:这些访问是合法的,检查机制也有效——我们只是在错误的层级上进行了日志记录。

0
0 16
InterSystems 官方 Claire Zheng · 九月 21

InterSystems 宣布推出第四个预览版,作为 2026.3 版本开发者预览计划的一部分。该版本将包含 InterSystems IRIS® 数据平台、InterSystems IRIS® for Health™ 以及InterSystems Health Connect™。

亮点

2026.3 版本中已新增多项更新和增强功能:

  • 对 更多 SQL 表类型提供了更广泛的 表分区支持 。 
  • 新增 Config Store 功能,可通过安全钱包管理应用程序配置和密钥。
  • 优化了云原生运维能力,并对容器相关可观测性进行了调整。 

初始文档可通过以下链接查阅。这些文档将在未来几周内持续更新,直至正式发布(一般可用版 - GA):

未来的预览版本预计每两周更新一次,我们将根据功能开发进度陆续添加新特性。请通过开发者社区分享您的反馈,让我们共同打造更优质的产品。

早期访问计划 (EAP)

目前有多个 EAP 项目可供选择。请访问此页面,并注册您感兴趣的项目。

可用性与软件包信息

此版本提供了适用于所有受支持平台的经典安装包,以及 Docker 容器格式的容器镜像。完整列表请参阅《受支持平台》文档。

0
0 23
InterSystems 官方 Claire Zheng · 九月 20

摘要 

警报 ID 受影响的产品及版本 风险类别与评分 明确要求
DP-453448

InterSystems IRIS® 数据平台  

InterSystems IRIS® for Health  

InterSystems Health Connect™  

 
版本  
2026.1、2026.2 

运行状态:4 – 高风险  发生空闲超时,或者现代互操作性应用程序中的会话 
应用程序的会话意外退出。

问题 

当用户单击打开任何现代(新)互操作性应用程序(生产配置、规则编辑器、DTL 编辑器、BPL 编辑器、消息搜索/查看器),然后让应用程序处于非活动状态(根据每个应用程序的闲置超时时间)时,会发生此问题。 此操作会将用户注销,随后应用程序将丢失命名空间的上下文。 因此,应用程序会错误地向服务器发送未在 URL 中指定命名空间的查询;由于 URL 格式不正确,当 ^%ISCLOG 设置为 1 或更高值时,该请求会在 messages.log 中生成一个或多个条目。 随着时间的推移,这些请求可能会导致大量错误消息。  

影响 

当通过将 ^%ISCLOG 设置为 1 或更高值来启用该选项时,messages.log 中生成的海量错误可能会占用大量磁盘空间。此外,还可能会在审核日志和日志文件中生成重复条目。

0
0 27
文章 Nicky Zhu · 九月 16 10m read

SQL DATA LENS 4.02 于 2026 年 9 月 4 日发布。在其各项更新中,有一项我特别想重点提及,因为这是我多年来一直期待却从未在其他地方找到的功能:SQL DATA LENS 现在可以直接在“Global Browser”中打开一个 .gof 文件——即 InterSystems 的 %GOF 块格式global导出文件——直接在“Global Browser”中,因此您可以在收到导出文件后立即浏览其内容,而无需先将其导入任何地方。

这是一项全新的功能,而块格式最初是作为 IRIS 实例之间的内部传输格式设计的,从未被设想为第三方工具可读取的格式——因此我们是通过研究 IRIS 的写入内容来理解它的,而非基于任何规范。 这正是我撰写此文的原因:希望您能用自己的导出文件试用该功能,并告诉我们您的使用体验。下文将介绍该功能的工作原理、我认为其有用的原因、当前的局限性,以及哪些反馈对我们最有帮助。

问题在于:.gof 文件必须先导入才能查看

如果你长期使用 IRIS 或 Caché,.gof 文件就会开始堆积如山。 管理门户会生成这些文件(系统资源管理器 ▸ 全局变量 ▸ 导出,“块格式” | System Explorer ▸ Globals ▸ Export, "block format" ),^%GOF 会生成这些文件,##class(%Library.Global).Export(...)

0
0 33
文章 Lilian Huang · 九月 11 11m read

大家好,社区的朋友们!

IRIS Interoperability 中的业务规则属于那种原本运行顺畅,却会突然失效的功能之一。您构建了一条规则,条件看起来正确,路由目标也无误,但消息却一直被转发到默认操作。事件日志中没有错误,可视化跟踪中也没有明显的线索。

最常见的原因之一是动态对象的属性无法按预期方式访问。本系列文章共分两部分,将全面介绍这一问题。 第 1 部分将引导我们使用 HL7 消息类型设置一个生产环境,并构建一个 BPL 业务流程,该流程通过动态对象对传入的 HL7 消息进行数据增强。第 2 部分将使用同一生产环境,演示七个在生产集成中导致“无声故障”的实际属性访问陷阱。


简而言之

  • IRIS 中的 A %DynamicObject 是一个无需定义类即可动态创建的无模式对象。
  • 在 BPL 业务流程中使用它,可在路由规则对其进行评估之前,将丰富数据随 HL7 消息一同传输。
  • 利用 %Set() 设置包含下划线等特殊字符的属性,并使用 %Get() 将其读回。
  • 本系列的第 2 部分将介绍七个属性访问陷阱,这些情况都会在无任何错误提示的情况下静默返回空值。

本文适合哪些读者

本指南面向处理 BPL 业务流程和 HL7 路由的 IRIS 互操作性开发人员,旨在帮助他们了解如何在做出路由决策之前,通过动态对象来丰富消息内容。


什么是业务规则?

0
0 35
公告 Claire Zheng · 八月 30


Rule Editor的用户们,我们需要你们!我们正在重新设计规则编辑器的部分功能,希望那些每天都在使用这个工具的用户能来体验一下我们的设想!👩‍💻

如果您已经试用过新的(Angular)规则编辑器,并遇到了奇怪的边际情况,或者曾疑惑“为什么它会这样工作”,现在就是您畅所欲言的好时机!🗣️

以下是新版界面的抢先预览:

如果您有兴趣体验我们的交互式原型,请通过 📧 邮件联系InteropUXFeedback@intersystems.com,告知您的意向以及本周的空闲时间。

🗨️ 告诉我们你愿意参加!
📅 请附上你本周的空闲时间
🎯 帮助打造一款你真正“想用”的工具

您回复得越早,我们能为您做的就越多,所以请尽管联系我们!

0
0 39
文章 Lilian Huang · 八月 28 10m read

本系列的第一部分。第二部分将介绍完整的工具目录。第三部分将介绍 ObjectScript 技能。第四部分将介绍基准测试以及如何衡量实际的改进效果。


隐藏在注释中的问题

托马斯·马祖尔(Thomas Mazur)关于 VS Code 生产力——Peacock、作用域工作区文件、Copilot 代理模式——的 博文《青蛙、鸡、AI 和 VS Code》 在评论区揭示了一个更尖锐的问题。皮耶特罗·迪·莱奥(Pietro Di Leo)和 Mike.W 指出,当你在 VS Code 中进行服务器端开发时, isfs:// 大多数 IRIS 生产环境所使用的“工作区”中,Copilot 只能看到编辑器中打开的文件,无法对虚拟文件系统进行索引。对于拥有数千个类的成熟 IRIS 应用程序而言,AI 的工作效果就像是透过钥匙孔观察一样。

John Murray 向大家推荐了我正在开发的项目——iris-agentic-dev——并指出目前开发者社区中尚无相关文章。因此,本文将阐述:该问题产生的原因、该工具如何解决该问题,以及如何在约五分钟内完成部署。


为什么 AI 无法“看到”你的命名空间

当你打开一个 isfs:// 工作区时,你的 IRIS 类存储在服务器上,而非本地磁盘。

0
0 36
文章 Nicky Zhu · 八月 19 17m read

处理遗留代码时的差异与注意事项

刚开始接触 ObjectScript 时,我编写的大部分代码都遵循了 InterSystems 的现代编程模式。我使用类、方法、REST 服务、互操作性生产、JSON 对象以及 %Status 值。

与此同时,我负责维护的生产系统中,很大一部分代码采用的编写风格却截然不同。

该系统使用了例程、标签、global、缩写命令、“点-do”语法、共享局部变量以及错误处理模式——这些在基于类的 ObjectScript 普及之前就已经存在了。

起初,我曾以为这仅仅是旧语法与新语法的区别。随着时间的推移,我意识到最大的差异并非表面上的。传统的MUMPS风格代码与现代ObjectScript在变量作用域、执行层级、数据流和错误处理方面往往基于不同的假设。这种区别至关重要,因为旧代码很容易被误读。

某个例程看似未接收任何参数,却依赖于调用者创建的多个变量;某个标签在某处表现得像一个过程,在另一处却表现得像一个函数;一个点块(dot block)虽然会创建另一个执行层级,却可能看起来像缩进;一段代码在移入类后虽然能编译通过,但在运行时却可能表现得截然不同。

代码看起来依然很熟悉。语言依然是 ObjectScript。然而,它可能已经发生了变化。

本文介绍了我在处理遗留代码并将其与更现代的 ObjectScript 应用程序集成时所遇到的一些最重要的差异。

1.

0
0 60
InterSystems 官方 Claire Zheng · 八月 18

互操作性用户界面项目自 2025.1 版本以来持续推进,并已采纳了各位——我们的客户和合作伙伴——提出的许多建议和反馈。  我们将持续重视用户反馈,并不断优化这一重要的用户体验。在IRIS、IRIS for Health、Health Connect及 Health Connect Cloud 的最新版本 2026.2 中,“模式查看器”(只读模式)现已开放选配!
注意:

  • 现有用户可在现代化界面与标准界面之间切换。 
  • 所有其他互操作性界面仍保留在标准用户界面中。 
  • 随着新工作流在新用户界面中陆续推出,在相关工作持续进行期间,预计两种体验模式将同时提供。 

生产环境配置——配置任务简介
  • 改进了 用于在“生产工具栏”视图与“主机工具栏”视图之间切换的 切换选项的可见性。

  • 现在,即使未选择主机,主机操作也会始终显示在“主机工具栏”中。在选择主机且选项有效之前,这些操作处于禁用状态。

  • 新增了在“类别”字段中以 逗号分隔的列表形式输入多个值 的功能。

  • 新增了重命名现有类别的功能。

  • 创建新流程类时,现在可以配置新规则以自动调用源代码控制操作,从而简化类导出和源代码控制集成工作流。

DTL 编辑器——DTL 工具简介
  • 在 图形编辑器的顶部面板中 添加了用于独立滚动的边界 。

  • 新增了按字母顺序对段字段路径表达式进行排序的功能。

  • 现在,只读和内部属性 在 DTL 编辑器中会显示为灰色 ,以防止出现无效的映射。

0
0 60
公告 Claire Zheng · 八月 17

IRIS 实例突然起不来。 WRC 工单已经提了,但生产环境还在等——这种时候,每一分钟都是煎熬。

Hi 开发者们,

我们将在8月21日带来一期线上分享,点击👉此处报名参会👈。

很多工程师都遇到过类似的场景:翻文档、跑指令、看日志,但真出问题时还是不确定自己排查的方向对不对,也不敢贸然操作。 

这是一期实战排查分享。

我们将在30分钟的分享时间内,从一条 messages.log 开始,带你走完 IRIS 启动失败的完整排查链路:

✅ 哪些指令必须跑、输出怎么看 

✅ 什么时候该继续自查、什么时候该等 WRC 

✅ 一套 6 步法,最快速度把实例拉起来

1.报名参会

8月21日下午14:00-14:30分,欢迎参会!

👉报名参会👈

2. 提问 & 答疑

在会议进行过程中,如果您有任何疑问,或者希望与我们进一步讨论,可以在屏幕上方点击“提问”按钮,提交您的问题,我们会在分享结束后整理问题,并通过邮件向您回复。


3. 有奖调研

参会期间,点击屏幕右上角“有奖调研”完成问卷,将有机会获得定制小礼品。

👉报名参会👈

欢迎跟帖告诉我们您的想法!

0
0 67
文章 Jeff Liu · 八月 16 6m read

大家好,

我在 IRIS for Health 上构建了一个小型临床 AI FHIR 代理网络,想和大家分享让它正常运行的关键组件。

本文将涵盖以下内容:

  • 基于代理的AI技术栈
  • 代理路由逻辑
  • FHIR 读写访问(工具)
  • 带备用方案的 RAG 加载
  • 肿瘤学智能体:从配置到检测结果
  • 双智能体路由示例
0
0 88
文章 Kelly Huang · 八月 13 7m read

如果你在开发者社区待过一段时间,就会发现许多问题以不同形式反复出现:如何将持久化对象转换为 JSON?如何遍历一个结构未知的 JSON 有效载荷? 为什么 Required 对我的 %DynamicArray 属性 没有任何作用 ?为什么我的日期会被返回为 31390 ? 

注意到这一点后,我们决定撰写一篇文章,总结所有那些仅凭文档无法解答的问题:实践。

让我们从基础开始

InterSystems IRIS 为无模式数据提供了两个类:%DynamicObject 和 %DynamicArray。它们都继承自 %DynamicAbstractObject,两者的实例均被称为动态实体。 它们与 JSON 映射得非常自然:对象是一组键值对,数组是有序列表。与持久化类或注册类不同,动态对象不保留预定义的有效属性名列表——任何字符串键都是合法的,并且可以在运行时添加或移除成员。

最令人愉悦的部分是字面量语法,对于来自 JavaScript 背景的开发者来说,这看起来会很熟悉:

你也可以逐个字段构建它们。 会返回其修改后的实体,因此可以进行调用链:

Set obj = {}.%Set("a",1).%Set("b",2) // now obj is {"a":1,"b":2}

Do scores.%Push(100)          		 // now scores is [90, 85, 77, 100]

Set last = scores.%Pop()      		 // now scores is [90, 85, 77] and last is 100
0
0 87
文章 Jeff Liu · 八月 11 10m read

借助 PollingBusinessService 提升开发者体验

4.0.0 版本中最引人注目的新增功能之一是 PollingBusinessService。

在此版本之前,创建定时 Python 业务服务意味着需要 直接处理低级入站适配器模式。在 4.0.0 版本中,定时 Python 入口点可以直接编写为 PollingBusinessService, 框架会在后台自动使用默认的 IRIS 入站适配器。

以下是一个完整的小型示例:

from dataclasses import dataclass

from iop import BusinessOperation, Message, PollingBusinessService, Production, target


@dataclass
class HelloRequest(Message):
    text: str = "Hello World"


class HelloService(PollingBusinessService):
    Output = target()

    def on_poll(self):
        self.send_request_async(self.Output, HelloRequest())


class HelloOperation(BusinessOperation):
    def on_message(self, request: HelloRequest):
        self.log_info(request.text)
        return request


prod = Production("HelloWorld.Production", testing_enabled=True)
service = prod.service("HelloService", HelloService)
operation = prod.operation("HelloOperation", HelloOperation)
service.connect(HelloService.Output, operation)

PRODUCTIONS = [prod]
0
0 71
文章 Lilian Huang · 八月 6 9m read

大家好,

数据转换语言(DTL)是那种乍看之下简单得令人误判的工具之一——拖动一个源字段,将其拖放到目标字段上,就大功告成了。然而,一旦开始处理实际的集成项目,你很快就会意识到,仅靠简单的字段映射是远远不够的。 当你需要验证字段长度、清理输入字符串、从 ID 中去除不需要的字符,或者生成下游系统要求的特定格式的时间戳时,真正的挑战才刚刚开始。

在本文中,我们将超越基础知识,探讨实际集成中经常出现的四个实用 DTL 场景。每个部分都围绕一个示例 HL7 消息展开,方便您在自己的环境中跟随操作,并亲眼查看结果。

本文将涵盖的内容:

  • 在管理门户中从零开始创建 DTL。
  • 基于字段长度($Length、$Extract)的条件逻辑。
  • 使用 ReplaceStr 去除和替换文本。
  • 使用链式 从患者 ID 中去除特殊字符。
  • 将 HL7 时间戳重新格式化为自定义显示格式。

先决条件

  • 配备了支持互操作性命名空间的 InterSystems IRIS 或 HealthShare。
  • 可访问管理门户。
  • 对 HL7 v2 消息结构有基本了解。

注意:虽然所有示例均使用 HL7 v2 ADT 消息,但相同的 DTL 函数同样适用于 XML、JSON 或自定义消息类。


什么是 DTL?

0
0 98
文章 Claire Zheng · 七月 28 2m read

作为我们致力于提升 FHIR 有效载荷导入速度工作的一部分,在 v2026.2 版本(目前已作为开发者预览版发布)中,我们引入了一项可选功能,用于跳过资源的结构验证。 例如,此举可节省 25% 的时间,在大规模数据导入场景中,这一时间节省将十分可观。

0
0 98
文章 Lilian Huang · 七月 26 12m read
  1. 引言

流行病学监测是公共卫生的基石之一。 Régis Júnior等人(2026)将其定义为一个针对健康事件的持续性数据收集、分析、解读和传播系统——该功能的有效性在很大程度上取决于信息系统的质量、数据分析能力以及不同医疗层级之间的协调。 在新冠疫情期间,这一职能的战略重要性已毋庸置疑:世界卫生组织(2021)的记录显示,拥有更健全监测系统的国家始终表现得更好,而监测能力方面的区域差异则直接导致了应对措施的不一致,并在发病率和死亡率方面产生了可测量的差异。

尽管医疗系统如今能够收集海量的标准化临床数据,但挑战在于如何将这些数据转化为及时且可付诸行动的洞见。传统的流行病学报告往往依赖于人工分析和定制数据库查询,由此产生的延迟可能会阻碍公共卫生部门的快速响应。

EpInsights通过整合 InterSystems IRIS for Health、嵌入式 Python 临床向量化技术、IRIS Vector Search 以及 LangChain4j 对话式智能助手,填补了这一空白。 该平台使流行病学家和卫生管理者能够提出自然语言问题,并即时获得基于真实FHIR数据的地理空间热力图、区域排名、相似聚类检测以及AI生成的建议,所有结果均在数秒内呈现。


  •  
  1. 架构概述

EpInsights 采用三层架构,各层职责划分明确。

0
0 61
文章 Lilian Huang · 七月 23 5m read

InterSystems 编程竞赛: https://openexchange.intersystems.com/contest/46上的 FHIR 人工智能代理 。 

代码: https://github.com/eungi-hong/central-park

演示: https://triagepark.78-47-167-98.sslip.io/ 


就诊的前十分钟总是千篇一律:采集病史、调取病历、核对用药情况、判断病情紧急程度。Triage Park通过一支完全在 InterSystems IRIS for Health 内部运行的 AI 代理团队来完成这一初步筛查,并向临床医生提供一份附有依据且可解释的交接报告。 大多数“AI分诊”演示所忽略的部分,恰恰是我们最重视的:安全性。这里的所有安全机制都是确定性的且单向的。系统只能提高病例的紧急程度,绝不会降低,因此患者的安全绝不会取决于模型是否判断正确。

代理、检查与技能

该平台经过刻意划分:需要大量判断的工作以代理的形式运行(即使用工具的循环,负责决策和执行),安全关键型工作以确定性检查的形式运行(基于规则,而非大型语言模型),其余部分则专注于大型语言模型技能

0
0 53
公告 Claire Zheng · 七月 23

InterSystems IRIS® 数据平台、InterSystems IRIS®for Health™ 以及InterSystems Health Connect™的2026.2版本现已正式发布(GA)。这是一个持续交付(CD)版本。

版本亮点:

  • SQL 和数据管理增强功能:InterSystemsSQL 现已在存储过程中支持通用表表达式(CTE)。此版本还改进了表分区功能,包括优化了 ALTER TABLE ... MOVE PARTITION 的行为,并修复了包含大写字母字段的分区键问题。
  • 商业智能增强:InterSystems IRIS BI 现可在定义分析模型时利用 SQL外键关系,从而更轻松地对通过关系型结构表达的运营数据进行建模。
  • 数据库操作改进:cvendian实用程序(用于在 big-endian 和 little-endian 平台之间迁移数据库)已得到优化,转换速度更快——某些情况下速度最高可达原来的两倍——并且在转换中断时,错误报告功能也得到了改进。
  • 互操作性用户体验改进:全新的互操作性用户界面持续完善,在生产配置、消息查看器和消息搜索、可视化跟踪、DTL 和 BPL 编辑器、模式查看器以及规则编辑器等方面均进行了优化。 这些功能对现有客户仍为可选功能,我们鼓励您尝试新体验,并将反馈发送至:InteropUXFeedback@intersystems.com
0
0 59
文章 Claire Zheng · 七月 21 1m read

在即将发布的 2026.2 版本(目前已开放预览)中,我们将新增对 FHIR 读取操作中一种特定情况的支持。

该功能针对二进制资源 ——当通过 GET 请求获取具有特定 MIME 类型的二进制资源,且请求的 Accept 头也包含相同的 MIME 类型时,返回的内容将不是 FHIR 资源(JSON)本身,而是实际的二进制内容。详情请参阅FHIR 文档。

0
0 58
文章 Claire Zheng · 七月 21 1m read

随着 v2026.1 版本的发布,HL7 FHIR 引入了一项非常重要的功能——支持SMART on FHIR v2 的细粒度作用域。

这使您能够对 FHIR 存储库中数据的访问权限进行更严格、更精确的控制。

这项新功能的一部分是拒绝不符合范围的请求,但更有趣的功能是能够根据提供的范围过滤结果。

0
0 56
文章 Claire Zheng · 七月 21 2m read

在 v2026.2 版本(现已开放预览)中,我最期待的新功能之一就是“FHIR 资源管理器”。

作为 InterSystems FHIR 服务器的一部分,这项新功能允许用户通过友好且直观的用户界面探索 FHIR 数据:该界面能够构建(可能较为复杂的)FHIR 搜索 URL,将其发送至您的 FHIR 服务器(实际上是任何 FHIR 服务器……)进行查询,并显示查询结果。

以下是一个简单的操作流程:

0
0 79
文章 Nicky Zhu · 七月 15 4m read

项目链接

概述

FHIR 患者快照代理(FHIR Patient Snapshot Agent)是一款专为 InterSystems AI 代理和 FHIR 编程竞赛开发的小型开源应用程序。

该项目实现了建议的“智能患者摘要生成器”构想:它检索所选患者的结构化 FHIR 资源,并生成一份简明扼要、针对特定角色的患者摘要。

其目的并非进行诊断或推荐治疗方案。该代理仅作为摘要生成助手,所有生成的内容都必须与源FHIR数据进行核对验证。

InterSystems IRIS for Health 的应用方式

该应用程序使用 InterSystems IRIS for Health 作为 FHIR 互操作性层。

在本地部署环境中,IRIS for Health 提供了一个 FHIR R4 API。Python 应用程序通过查询该 API 来获取与患者相关的资源,包括:

  • 患者
  • 病情
  • 用药请求
  • 过敏与不耐受
  • 观察
  • 就诊
  • 护理计划

该 Python 应用程序不会直接读取本地临床文件。

0
0 83
文章 Nicky Zhu · 七月 15 5m read

在我的第一篇文章中,我介绍了 FHIR 患者快照代理的基础版本:这是一个基于 Streamlit 和 Python 的应用程序,它从 InterSystems IRIS for Health 中检索 FHIR 资源,并利用大型语言模型(LLM)生成简明扼要的患者摘要。

本文作为后续文章,将介绍我是如何通过添加两项针对 InterSystems 的功能来扩展该项目的:

  • 源上下文向量搜索
  • 用于 IRIS 兼容审查的嵌入式 Python 组件

目标是让该项目作为临床摘要原型更具实用性,同时保持设计足够精简,以便于理解和复现。

项目回顾

FHIR 患者快照代理(FHIR Patient Snapshot Agent)是一款基于人工智能的 FHIR 患者数据摘要工具。

该应用程序可检索所选患者的结构化资源:

  • 患者
  • 病情
  • 用药请求
  • 过敏与不耐受
  • 观察
  • 就诊
  • 护理计划

Python 层将这些资源整合为一个紧凑的患者背景。用户随后可以生成以下任一内容:

  • 确定性摘要,或
  • 由大型语言模型(LLM)生成的针对特定角色的摘要

该 LLM 集成通过兼容 OpenAI 的聊天补全 API 使用 Nebius Token Factory。演示中使用的模型为:

meta-llama/Llama-3.3-70B-Instruct

该项目为开源项目:

0
0 65