各位开发者,大家好!👋
我很高兴与大家分享我提交至本期InterSystems .Net、Java、Python 和 JavaScript 竞赛的项目——它名为“支持混合搜索和 AI 摘要的 FHIR 数据探索器”,您可以在InterSystems Open Exchange以及我的GitHub 页面上找到该项目。
InterSystems IRIS 是一个完整的数据平台
InterSystems IRIS 为您提供了捕获、共享、理解组织最宝贵的资产(数据)并采取相应行动所需的一切。
作为一个完整的平台,InterSystems IRIS 不需要集成多种开发技术。应用程序需要更少的代码、更少的系统资源和更少的维护。
我很高兴与大家分享我提交至本期InterSystems .Net、Java、Python 和 JavaScript 竞赛的项目——它名为“支持混合搜索和 AI 摘要的 FHIR 数据探索器”,您可以在InterSystems Open Exchange以及我的GitHub 页面上找到该项目。
欢迎回到关于 AI Hub 的系列入门文章,这是目前处于早期访问计划(EAP)阶段的新产品功能!(链接:EAP 网站下载、文档)
在上一篇文章中,我们介绍了如何使用新的 %AI 类直接在 ObjectScript 中创建代理和代理工具。 不过,有时您可能并不需要创建新的代理,而只是希望向现有代理添加一些自定义工具,以便让本地 claude、codex、copilot 或其他您选择的代理直接查询您的数据。这时,MCP 服务器就派上用场了。
在本指南中,我们将逐步演示如何创建自己的 MCP 服务器来访问您的数据。
免责声明:AI Hub 目前处于早期访问预览阶段,其功能在正式发布前可能会发生变更;如发现任何问题,可通过上述链接的文档 GitHub 仓库提交问题报告。EAP 预览版不适用于生产环境。
我将简要介绍,因为关于 MCP 服务器(模型上下文协议)已有大量其他优质文章(建议从@Pietro Di Leo 的这篇文章或InterSystems 总裁 Don Woodlock 的这段精彩入门视频开始阅读)。
模型上下文协议(Model Context Protocol)是一种传输协议,允许将外部工具添加到代理中 存在一个发现“握手”过程:MCP 服务器会向 MCP 客户端发送工具列表。
对于上周没有参加 READY 大会的朋友们来说,你们可能错过了这一激动人心的消息:AI Hub 的抢先体验计划现已正式启动。这一消息是在@Benjamin De Boe和@Jeff Fried 带来的一场精彩演示中公布的,我建议大家在录像发布后务必观看这段演示! 我有幸提前体验了 AI Hub,想借此机会向社区大家介绍一下。
在深入探讨细节之前,先提供文档链接和EAP 门户链接,您可通过这些链接下载 AI Hub,目前提供独立安装包或容器镜像两种形式。
请注意,这只是预览版,在正式发布前可能会有重大变更,该版本不适用于生产环境,您可能会遇到一些问题——如果遇到问题,请在 GitHub 页面上提交问题!
对我来说,最令人兴奋的功能莫过于全新的 ObjectScript 代理 SDK。现在,您可以使用直观的 SDK,直接在 ObjectScript 中创建代理和工具。
创建代理非常简单:您可以通过 XData INSTRUCTIONS 组件为其指定系统提示,然后只需设置提供程序、模型和工具即可:
Class Sample.Agent Extends %AI.Agent
{
/// LLM Model
Parameter MODEL = "gpt-5-nano";
/// Toolsets that the agent can use
Parameter TOOLSETS = "Sample.ToolSet";
/// System Prompt
XData INSTRUCTIONS [ MimeType = text/markdown ]
{
# Sample Assistant
You are a helpful assistant with access to a set of tools to interact with a database of people.
}
Method %OnInit() As %Status
{
// Set provider with API key from environment variable
Set key = $System.Util.GetEnviron("OPENAI_API_KEY") // or whatever
Set ..Provider = ##class(%AI.Provider).Create("openai", {"api_key": (key)})
Return $$$OK
}
}我正在 QA 环境(InterSystems Caché/IRIS)中运行系统的安装/配置,在创建访问权限配置文件(perfis de acesso)的过程中遇到以下错误:
ERROR #883: Role AcessoTabelas does not exist.
安装过程在此处中断,无法完成权限配置文件的创建。
目前的排查情况:
经过排查,发现该错误的原因是:系统在创建其他角色(roles)时,尝试将一个名为 AcessoTabelas 的角色作为基础角色引用,但该角色在当前环境中并不存在。看起来这个角色应该是预先就存在的,但在 QA 环境中没有被迁移或创建。
想请教社区的问题:
AcessoTabelas 角色是否应该在安装的某个前置步骤中自动创建?非常感谢任何帮助!
需要我调整语气(更正式或更简洁)吗?
在上一篇文章中,我们探讨了 IRIS 中单元测试的基础知识以及将其应用于 REST API 的方法。我们甚至还了解了如何在最终确定网络配置和身份验证之前测试逻辑,从而使我们能够专注于测试 API 内容。
今天,我们将在此基础上使用另一个工具来提升我们的单元测试策略:%Populate。
乍一看,%Populate类似乎非常简单。你可以创建一个同时扩展了 %Persistent和 %Populate的类,并继承一个用于生成随机记录的 方法。该工具可识别某些字段名称(如 "Name"、"SSN" 和 "Phone"),并应用专门的逻辑来确保数据的真实性。如果某个字段名称没有被识别为特殊字段名称,就会按照其指定的数据类型填充随机值。
假设我们开发了这样一个具有以下属性的类,用来跟踪商店中一些基本的客户信息(我们的类还扩展了 ,这在后面会派上用场):
Class User.CustomerList Extends (%Persistent, %Populate, %JSON.Adaptor)
{
Property Name As %String;
Property DOB As %Date;
Property Age As %Numeric(SCALE = 0);
Property IsMember As %Boolean;
Property MemberID As %String(POPSPEC = ".GenID()");
}
Intersystems_pyprod 是InterSystems Python Productions 的简称,它是一个 Python 库,使开发人员能够完全使用 Python 构建这些互操作性组件。该库设计灵活,支持混合方法:您可以将基于 Python 的新组件与现有的基于 ObjectScript 的组件无缝地混合在一起,并充分利用已建立的 IRIS 基础架构。这些 Python 组件一旦定义,就可以像其他组件一样进行管理;可以使用 IRIS 生产配置页面添加、配置和连接这些组件。
.png)
生产的关键要素
图片来自Learning Services培训材料
IRIS 生产系统通常从外部接口接收数据,通过协调的步骤进行处理,并将其传送到目的地。当信息在系统中移动时,它们会被自动持久化,从而通过 IRIS 的可视化跟踪和日志工具对整个流程进行全面跟踪。该架构依赖于某些关键要素:
Status 对象,以确保执行的完整性。在 ObjectScript 代码中,ClassMethods 的使用似乎很普遍。我希望我自己的经历不具有代表性,但我打赌它们确实具有代表性。请原谅我泄露了本文的结尾,但简而言之:不要使用它们。除非你能提出令人信服的理由证明你必须这样做,否则就永远不要使用它们1。
什么是ClassMethod?在 ObjectScript 类中,您可以通过两种不同的方式定义方法:在 Method 中,您必须实例化类的实例才能调用方法;而在 ClassMethod 中,您可以调用方法而无需实例化类。当然,在 ClassMethod 中,你无法访问对象的任何属性(因为没有对象),但你可以访问 globals(毕竟它们是全局的)和 Parameters(即类常量)。
基于时间的一次性密码(TOTP)的两阶段认证是广泛使用的提高安全性手段。
本文以访问IRIS系统管理门户(System Management Portal)为例,介绍如何在IRIS里配置TOTP提高访问IRIS的安全性。
打开IRIS系统管理门户(SMP),进入系统 > 安全管理 > 身份验证/Web 会话选项 - (安全设置),选中Allow Two-factor Time-based One-time Password authentication,然后在出现的Two-factor Time-based One-time Password issuer 中修改issuer名字,例如MyIRISServer

这里以管理门户(SMP)为例,它是一个Web application (/csp/sys)。打开IRIS系统管理门户(SMP),进入系统 > 安全管理 > Web 应用程序 > 编辑 Web 应用程序 - (安全设置) ,点击/csp/sys。然后在安全设置>允许的身份验证方法下选中“基于时间的一次性双重验证密码 ”
确定哪些用户使用基于TOTP的2FA,并修改该用户的配置。这里以用户SuperUser为例。

在基于 InterSystems IRIS 开发 Python 应用时,你很快就会发现存在多种执行上下文:
python3进程;这三种场景都非常有用,但在导入机制、系统配置、对象 API 以及 SQL 访问方面,它们的行为并不完全一致。iris-embedded-python-wrapper项目提供了一个稳定的 Python 门面(Facade),旨在减少这些差异,并提供一个统一的入口点:import iris。
在一个围绕 IRIS 构建的 Python 项目中,同一份代码可能需要在多种环境中运行:
iris python iris或 iris session iris后输入 :py;如果没有抽象层,许多细节往往就需要分别处理:
iris模块只有在 IRIS 运行时被正确加载时才可用;大家好👋
我很高兴与大家分享我提交给本届InterSystems .Net、Java、Python 和 JavaScript 竞赛的项目——它叫做IRIStool 和 Data Manager,您可以在InterSystems Open Exchange和我的GitHub 页面上找到它。
大家好、
请观看在线学习中的这些新视频,熟悉 InterSystems® 产品最新版本中的新功能和界面。学习服务 YouTube 频道也提供所有视频。
此外,您还可以观看面向ObjectScript 新开发人员的视频,以及面向HealthShare® 用户的部署升级指南。
cache到iris的变化中,常用命令的变动有没有归纳的地方
ccontrol start —— iris start
比如在cache中d ^pButtons,但是在IRIS中就无法使用
今天,我发布了一个新的Open Exchange 软件包,用于直接在 IRIS 中生成合成数据。
当你想制作一个演示应用程序时,找到合适的数据集是一个令人沮丧的过程。也许数据集并不那么重要,但您仍然希望它看起来有点真实,并有几个链接表,可以直接在 IRIS 中使用 -> 的隐式连接。也许您只是想让链接表可以很容易地安装到 IPM 中,用于基准查询,那么这种数据集生成方式就再好不过了。
我选择使用嵌入式 Python 创建数据集,这些数据集可通过自定义配置文件进行配置。这些数据集直接用一个 IRIS 类方法生成,并可使用乘数进行缩放,以创建任意大小的数据集,而无需测量配置。
目前我有四个数据集:
- 金融服务(如银行卡、账户、交易)
- 零售(商店、产品、用户、库存)
- 供应链(产品、销售订单、库存移动)
- 主题公园管理(公园、区域、游乐设施、事故)
我不是这些领域的专家,所以我怀疑它们是否超级准确,而且数据生成使用了 faker 等 python 库,统计加权生成使用了 numpy,所以感觉有点人工合成。
老实说,作为一个我无法投入大量时间的副业项目,这个项目的成功离不开人工智能。我在设计数据集和生成创建数据集的代码时广泛使用了人工智能。我监督、测试了个人使用的案例,并积极参与了项目设计,但代码都是人工智能生成的,我没有仔细审查过数据集的生成过程。
本演示将带你体验 IRIS SQL 全新的表分区(Table Partitioning)功能,并沿途讲解其作用与工作原理。
为了验证概念,我们仅使用几十条数据进行演示。但显而易见,该功能的真正威力在于应对体量高出数个数量级的海量数据集。
💡 想要更简短、高屋建瓴的介绍?
不妨查看在线学习模块:Managing Tables with Partitioning in InterSystems IRIS
ℹ️ 表分区(Table Partitioning)功能已作为实验性功能包含在 IRIS 2026.1 中。
为了获得最佳的表分区体验,请注册 InterSystems Early Access Program (EAP)。加入 EAP 后,你将获得:许可证密钥、更新说明、与表分区团队更直接高效的沟通渠道。你的反馈对我们至关重要:我们越了解你希望如何使用表分区,就越能针对性地改进它。在注册Early Access Programs 的同时,也欢迎关注涵盖其他激动人心新功能的早期访问计划!
表分区允许用户依据特定的逻辑规则,将大表中的数据拆分存储到多个数据库中,从而实现高效的管理。
在上一篇文章中, 我谈到了(iris-copilot),这是一种在不久的将来,任何人类语言都可以成为任何机器、系统或产品的编程语言的愿景。它的代理运行程序实际上就是在使用这种所谓的第三代Agent。为了自己的方便,我也想保留/分享一份关于它是什么的详细记录。我在最近的谈话中多次提到过这个问题,所以也许值得一记。
我们正在见证人工智能代理的世代飞跃,这几乎是巧合。
在过去的四年里,人工智能行业已经经历了三代不同的代理技术--每一代都不仅仅代表着渐进式的改进,而是我们对人工智能系统在实际工作中的思考模式的根本性转变。第一代为我们提供了信息(information)。第二代给了我们协调(orchestration)。第三代技术--我称之为 "线束工程"(Harness Engineering)--给我们带来了质的不同:信任。
这种转变最明显的证据是什么?这是在一个 npm 软件包中意外发布的。
2026 年 3 月 31 日,Anthropic 发布了 @anthropic-ai/claude-code v2.1.88 的例行 npm 更新。一个丢失的 .npmignore
高级工程的定义不在于代码量的多少,而在于策略性地避免代码量。在复杂的集成环境中,倾向于利用通用库来满足每一个细分需求会带来不必要的开销。要实现真正的架构成熟,就必须致力于 "最小化工具"--优先考虑有弹性、经过实战检验的系统实用程序,而不是自定义逻辑。本评估将检查我们的 PGP 加密/解密流水线,以展示如何从应用级库转向操作系统本地授权,从而提高系统的耐用性。
我们当前的 MPHP.HS.PGPUtil 类是一种高摩擦设计。现有的 InterSystems IRIS 业务流程虽然功能强大,但依赖性很强。通过桥接嵌入式 Python 来使用 pgpy 库,我们引入了一个 "重型 "堆栈,需要 Python 运行时、第三方库管理和特定的加密二进制文件。
经常有客户就内存大小问题与我联系,因为他们会收到 "可用内存 "低于阈值的警报,或者发现 "可用内存 "突然减少。出现问题了吗?他们的应用程序会不会因为运行系统和应用程序进程的内存不足而停止工作?答案几乎总是否定的,没有什么好担心的。但这个简单的答案通常是不够的。请看下图。它显示的是 vmstat 中 free 指标的输出。还有其他方法可以显示系统的可用内存,例如 free -m 命令。有时,_free 内存_会随着时间的推移而逐渐消失。然而,下图是一个极端的例子,但它很好地说明了发生了什么。
如你所见,在凌晨 2 点左右,一些内存被释放,然后突然下降到接近零。该系统正在 InterSystems IRIS 数据库上运行 IntelliCare EHR 应用程序。vmstat "信息来自一个收集 "vmstat"、"iostat "和许多其他系统指标的"^SystemPerformance "HTML文件。这个系统还发生了什么?现在是半夜,医院里应该没什么事。让我们看看数据库卷的 iostat 情况。 在_free memory_下降的同时,出现了一阵读取。报告的 free memory 下降与数据库磁盘的 中显示的大量块大小读取(2048 KB 请求大小)的峰值一致。这很可能是备份过程或文件复制操作
从 Oracle、MSSQL 或其他纯关系型数据库系统迁移到多模型 InterSystems IRIS 是一项战略决策,需要认真规划和执行。虽然这种过渡具有显著的优势,包括增强性能、可扩展性和对现代架构的支持,但它也伴随着挑战。在本文中,我将重点介绍与编码相关的一些注意事项,以确保成功迁移。与结构和数据的实际迁移相关的所有事项都不在本文讨论范围之内。
.png)
首先,当你考虑迁移到不同的数据库系统时,你需要了解你的业务逻辑,无论是在应用程序(应用服务器)还是数据库服务器端。基本上,你需要重写的 SQL 语句在哪里?
如果您曾经在一个大型的IRIS命名空间中查找某个字符串、方法调用或模式的使用位置,您就会知道其中的痛苦:没有内置的方法可以在VS代码中对服务器端的ObjectScript代码进行grep式搜索--至少不需要跳过一些障碍。
这就是ObjectScript搜索要解决的问题。今天就从VS代码市场中简单安装一下试试吧。
如果不喜欢,卸载也很简单。但我认为你会喜欢它的--对于任何在 VS Code 中进行 ObjectScript 开发的人来说,它都是生活质量的巨大提升。
官方的 vscode-objectscript 扩展确实包含搜索功能。不过,要启用该功能,目前需要等待拟议中的 VS Code API 最终确定,或者手动安装扩展的自定义构建并启用拟议中的 VS Code API。这两种方法对于希望开箱即用的开发人员来说都不理想。
ObjectScript Search 是一个临时、独立的扩展,目前弥补了这一缺陷。它通过 InterSystems 活动栏中的专用面板提供全文服务器端搜索,无需特殊构建或拟议的 API。一旦官方扩展将搜索作为头等功能发布,该扩展将达到其目的,但在此之前,它在这里,它可以工作。
ObjectScript Search 的作用 ObjectScript Search 在 InterSystems 侧边栏中直接添加了搜索视图。
嘿,社区的朋友们大家好!
是的,我知道我们有很多技巧和窍门类的文章-——我们甚至为此专门设置了一个标签(Tips & Tricks),不是吗?但我不能分享我自己的收藏。在这个合集中,您可以找到适合初学者的代码片段,以及一些日常的 ObjectScript 结构。事实上,这也是一种学习我最喜欢的编程语言的新方法。所以,如果你们有什么要补充的,欢迎提出!
这一次,我们使用 React 作为 IRIS 的前端开发工具,这本身并不是真正的编程。在使用网络开发框架(不限于 React)时,一个关键的考虑因素是使用哪种 CSS 框架。到目前为止,我们一直在使用 Bootstrap,它是标准的,也是最容易上手的。
不过,虽然它很容易使用,但我觉得它提供的自定义灵活性有限。也就是说,即使我们要改用其他 CSS 框架,学习它并从头开始重写所有内容也是一项巨大的工作,所以我们就保持原样。
这一次,在获得了名为 "Claude Code "的强大工具后,我试着让它将 Bootstrap 转换为 Materialize。结果是:修改一次性完成。包括验证在内,整个过程不到五分钟。如果我自己研究 Materialize 并实现它,我想至少需要两三天的时间。
引导式屏幕
Materialize 屏幕
简单地更改样式表并不有趣,所以我还要求修复一个我注意到是错误但一直没有解决的问题。
问题是,即使在编辑屏幕上删除了数据,这些数据仍然会出现在左侧的列表中。
只需一个请求就能轻松解决这个问题。
以下是修复请求的内容:
After pressing the delete button in ExpenseItem.tsx and deleting the corresponding record, update the list in ExpenseItemList.txt so that the deleted item is no longer included in the list.
RabbitMQ 是一个消息代理,它允许生产者(发送数据消息的一方)和消费者(接收数据消息的一方)建立异步、实时且高性能的海量数据流。RabbitMQ 支持 AMQP(高级消息队列协议),这是一种开放标准的应用层协议。
采用 RabbitMQ 的主要原因包括以下几点:
我们将利用温度监测器作为案例来详述 RabbitMQ 的概念:
要建立一套自动化的数据转换流程,实现临床数据对真实世界证据的支持,面临着诸多困难:数据标准林立、数据转换难、数据质量差、治理耗时耗力。
InterSystems OMOP 数据管道创新地打通“FHIR + OMOP”两个标准。通过FHIR标准解决数据的“互联互通”问题;通过OMOP解决数据的“科研分析”问题——OMOP 的主导型场景体现在真实世界研究,标准化的数据模型能够降低科研门槛,加速从数据到知识的转化,已在全球 80 多个国家的 4000 多家机构得到应用。
往期技术视频速递:详细拆解InterSystems FHIR to OMOP解决方案,通过Demo演示,向您展示数据如何从FHIR到OMOP无缝流转,助力您实现临床数据转换流程的自动化,提升研究效率。
如果您是 InterSystems 的新用户,欢迎访问InterSystems 开发者交流中心(Developer Hub)。
您可以从这里开始使用 InterSystems 技术——安装 InterSystems IRIS,连接到它,运行一些实际的东西,或者直接在基于浏览器的交互环境中试用产品(无需设置)。
如果你想知道从哪里开始,这里有你会发现的内容:
开发者入门指南 - 介绍 InterSystems IRIS 的结构以及如何设置它
快速入门 - 简短实用的指南,帮助您从零开始进行设置
引言 - ObjectScript 中的人工智能流问题
今天,我想介绍一下我在将 AI API 集成到 ObjectScript 应用程序时遇到的一个问题以及找到的解决方案。我最初的测试很成功,但也有些令人沮丧。
HTTP 调用成功了;请求正确地发送到了我的 LLM API。但随后,沉默......漫长的等待。最终,整个响应以单个块的形式到达。
从技术上讲,它成功了,但与 ChatGPT 会话相比,用户体验令人失望。
现代模型设计为逐个令牌流式输出。这使得等待时间大大缩短,因为即使尚未生成完整的答案,您也可以开始读取响应。 要启用此行为,只 需向 API传递 stream=true。 不过,在这种看似简单的操作背后有一个重要的细节:流媒体依赖于服务器发送事件(Server-Sent Events,SSE)。
如果不支持客户端 SSE,就无法利用这种模式。
对于通常在 ObjectScript 中使用的 %Net.HttpRequest 类,响应会被缓冲,直到连接关闭。换句话说,没有增量读取,没有渐进标记,因此也就没有流。
如果我们希望将 LLM 集成到 IRIS 应用程序中,那么能够处理 文本/事件 流、即时解析事件和实时处理数据是至关重要的 。
持续训练(CT)流水线将基于特定时间点可用数据,通过数据科学实验开发出的机器学习(ML)模型规范化。它不仅为模型部署做好准备,还支持在新数据可用时进行自主更新,同时具备用于审计目的的稳健性能监控、日志记录和模型注册功能。
InterSystems IRIS 已经提供了支持此类流水线所需的几乎所有组件。然而,缺少一个关键要素:标准化的模型注册工具。在本文中,我将介绍一种结合 IRIS 优势与开源 AI 工程平台 MLflow 的方法。它们共同作为构建有效持续训练(CT)流水线的互补工具。
本仓库中的实现利用了 MLflow 的内置配置来存储 SHAP 解释器,以提供对相应模型预测结果的解释,包括随机森林(Random Forest)、XGBoost、神经网络等“黑盒”复杂模型。
**演示视频**:https://youtu.be/qLdc4jhn83c
---
该 CT 流水线模块背后的理论基于 Google 在相关文章中定义的 MLOps 1 级行业标准。每个组件的实现都利用了 IRIS 和 MLflow 的最佳特性(如下图所示,红色部分突出显示):

对于那些刚接触 CT 流水线的人来说,上图描述了数据科学项目中传统的实验阶段(上半部分“实验/开发/测试”,通常在 Jupyter Notebook 中进行)如何转化为生产级模型部署。
如果您有长时间运行的报文,这里有一段简单的代码可以捕获它们。您也可以使用队列等待警报(Queue Wait Alert)来获得相同的结果,不过这段代码甚至可以捕获队列为空的单条活动消息。它还能扫描所有命名空间,且不会对生产进行修改,因此可用于调试。
Include Ensemble
Class User.LongMessagesTask Extends %SYS.Task.Definition
{
Parameter TaskName = "Long running messages";
Property LongRunningMessageThreshold As %Integer(MINVAL = 1) [ InitialExpression = 60 ];
Method OnTask() As %Status
{
set ts = $zdatetime($NOW(0),3,1)
set ns = ""
while 1 {
// Iterate namespaces
set ns = $o($$$EnsJobMonitorRoot(ns))
quit:ns=""
set job =""
while 1 {
// Iterate jobs
set job = $o($$$EnsJobMonitorRoot(ns, job))
quit:job=""
// Get business host name
set bh = $o($$$EnsJobMonitorRoot(ns,job,""))
// Get the time of the last state change
set lastActivity = $$$EnsJobMonitorRoot(ns,job,bh,"%LastActivity")
// Get active message, if any - bh can be just idling
set active = $d(^[ns]Ens.ActiveMessage(job),messageid) // From $$$EnsActiveMessage
if active {
set time = $system.SQL.Functions.DATEDIFF("s", lastActivity, ts)
if time > ..LongRunningMessageThreshold {
set text = $$$FormatText("Long running message %1, in ns: %2, BH: %3, processing since %4, for %5 seconds", messageid, ns, bh, lastActivity, time)
// For debug
// write text, !
do ##class(%SYS.System).WriteToConsoleLog(text)
}
}
}
}
quit $$$OK
}
}有时,客户需要一个小型 IRIS 实例在云中执行某些操作,然后将其关闭,或者他们需要数百个容器(即每个最终用户或每个界面一个容器)来处理小型工作负载。 这个练习的目的是了解 IRIS 实例可以做到多小。在这次练习中,我们重点研究了IRIS 实例可配置的最小内存量。 您知道影响 IRIS 内存分配的所有参数吗?
这些是影响 IRIS 内存分配的不同桶及其相应参数:
在 InterSystems IRIS 中使用 OpenEHR
我们偶尔会收到有关在 InterSystems 中使用 OpenEHR 的问题。 通常,这些讨论的重点是企业为什么以及如何在构建应用程序时实施 OpenEHR。下面是一份简要指南:
作为新的互操作性用户界面浪潮的一部分(请参阅@Aya Heshmat 在2025.1 和2025.3中介绍的新内容),v2026.1已经作为开发者预览版发布,这可能是您尝试一下的理由——它将发布用于消息查看和搜索的新用户界面,包括可视化跟踪(以及其他用户界面好东西)。
以下是一个快速预告:
