新增
文章 Lilian Huang · 四月 30 7m read

我们一开始并没有大的人工智能战略。

我们有一个传统的 InterSystems Caché 2018 应用程序、大量老旧的业务逻辑和一个实际需求:构建一个新的用户界面并改进已运行多年的代码。起初,我认为人工智能编码代理只能帮助完成一小部分工作。也许是一些模板、系统周围的一些 REST 工作,以及帮助阅读旧的 ObjectScript。

但实际上,它的作用远不止这些。

当我们开始认真使用它时,我们意识到它可以跨越庞大的代码库,理解模式,提出重构建议,并帮助我们以比我预期快得多的速度实现 Caché 的现代化。但这只是在开始时经历了一段令人沮丧的时期之后才发生的。

真正的挑战不是获得代码建议。而是教会代理我们的 Caché 环境如何实际运行。

我们为什么能使用它

在进行任何技术工作之前,我们必须回答一个安全问题。

我们不能将企业资源规划代码和内部业务逻辑直接发送给公共人工智能服务,并寄希望于最好的结果。这样做永远无法通过严格的安全审查。

亚马逊 Bedrock 改变了我们的想法。我们的服务器、数据和开发环境已经在 AWS 中,因此 Bedrock 可以很自然地融入我们已经信任和管理的云环境。我们可以使用该模型,同时将流量、访问控制和周边安全控制保持在我们已经在使用的 AWS 框架内。

0
0 4
新增
文章 Claire Zheng · 四月 28 2m read

有时,客户需要一个小型 IRIS 实例在云中执行某些操作,然后将其关闭,或者他们需要数百个容器(即每个最终用户或每个界面一个容器)来处理小型工作负载。 这个练习的目的是了解 IRIS 实例可以做到多小。在这次练习中,我们重点研究了IRIS 实例可配置的最小内存量。 您知道影响 IRIS 内存分配的所有参数吗?

内存设置

这些是影响 IRIS 内存分配的不同桶及其相应参数:

  • 全局缓冲区(Global Buffers)(32 MB) => 8k 数据库的最小值似乎为 32 MB
  • 常规缓冲区(Routine Buffers)(26 MB) => 文档中的理论最小值为 430 个缓冲区 x 每个缓冲区 64k ~ 26 MB,实际为 26 MB
  • 日志缓冲区(Journal Buffers)(16 MB) => 理论上和实际上,Unicode 系统的最小值为 16 MB(8 位为 8 MB)
  • 缓冲区描述符(Buffer descriptors)(3 MB) => 似乎是 3 MB,无法调整
  • gmheap(16 MB) => 最小值为 256 页 x 每页 64k = 16 MB(CPF 中的配置字节数 = 16384)
  • ECP(1 MB) => CPF 中有几个参数控制这个参数。MaxServerConn 和 MaxServers。
0
0 2
新增
InterSystems 官方 Claire Zheng · 四月 27

在 InterSystems IRIS 中使用 OpenEHR

我们偶尔会收到有关在 InterSystems 中使用 OpenEHR 的问题。 通常,这些讨论的重点是企业为什么以及如何在构建应用程序时实施 OpenEHR。下面是一份简要指南:

  • InterSystems 注重互操作性: 我们 优先考虑通过 HL7、IHE、DICOM 和 ISO 等标准实现互操作性。根据我们的经验,没有一种标准能满足复杂医疗数据的所有需求。因此,我们建议在评估 OpenEHR 的任何实施方案时,都要与这些标准结合起来,并分析 每种标准能最好地满足哪些情况的需要。
  • InterSystems IRIS 上的 OpenEHR:对于使用 OpenEHR 模型构建应用程序或数据产品的组织而言,InterSystems IRIS 是一个理想的平台。它具有多模型功能、可扩展性、高性能和可靠性。InterSystems IRIS for Health 还可在同一应用程序中灵活使用包括 HL7 FHIR 在内的许多其他医疗标准。
  • 与 OpenEHR 的互操作性:OpenEHR 早于 HL7 FHIR,但 FHIR 现在涵盖了 OpenEHR 的许多原始用例。
0
0 4
新增
文章 Jeff Liu · 四月 26 1m read

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

以下是一个快速预告:

0
0 10
新增
文章 姚 鑫 · 四月 26 3m read

在这里插入图片描述

📘新书发布|《IRIS(数据平台)编程技术指南》正式发售!

大家好,我是姚鑫

最近一段时间,我把自己过去几年在 InterSystems IRIS 项目中的开发经验,系统整理成了一本书—— 📕 《IRIS(数据平台)编程技术指南》 现已由 北京航空航天大学出版社 正式出版发行。

说实话,写书的过程比我想象中要难很多。 如果说写博客是“随手记录”,那么写书就是一次真正的“工程项目”:要保证结构完整、逻辑严谨、内容能从入门一路带到实战。


🚀这本书写了什么?

本书围绕 InterSystems IRIS 的核心开发语言 ObjectScript 展开,内容不仅讲语法,更注重“工程实践”。

主要包括:

✅ IRIS 平台介绍与开发环境搭建 ✅ ObjectScript 语法规则、变量体系、全局变量机制 ✅ 常用数据类型、表达式、系统命令、系统函数 ✅ 函数与方法、面向对象编程基础 ✅ %Persistent 持久类(ORM 与 SQL 映射) ✅ Storage 存储策略、懒加载机制、并发分析 ✅ 嵌入式数据结构、常见性能问题与技术难点解析

整体内容更偏向“项目实战型”,不是纯概念堆砌。


🎯适合哪些人?

0
0 37
新增
公告 Claire Zheng · 四月 24

Hi 大家好!

备考 InterSystems 认证考试,仅阅读文档远远不够,更需要针对真实考试目标进行集中练习。如果您计划在 HL7、SQL、系统管理或开发领域验证自己的专业技能,系统化的准备将带来显著效果。

 

🧑‍🏫 备考平台

本平台提供了大量与认证领域相匹配的练习题,并附有详细的答案解析,指出相关文档参考。您还可以随时跟踪自己的学习进度,从而更清晰地了解哪些方面有所提升、哪些方面仍需加强。

 

涵盖认证

  • HL7 接口专家
  • IRIS SQL 专家
  • IRIS 系统管理专家
  • IRIS 开发专家
  • ObjectScript 专家

通过教材与互动测验的结合,您可以找出薄弱环节,巩固知识,并以更充分的信心应对考试。

👉 点击此处开始练习

 


请注意,exam-prep.es 是一个独立的练习平台,与 InterSystems 无任何关联。本平台旨在作为备考的辅助工具使用。

0
0 32
新增
文章 Claire Zheng · 四月 23 1m read

InterSystems Ready 2026 大会即将召开——这是您在参加现场认证考试之前进行准备和检查知识的大好时机。

InterSystems 认证并非易事:您需要根据真实考试目标进行试题练习。

exam-prep.es正是为实现这一目标而建立的免费平台:练习、找出薄弱环节并做好充分准备

你会发现

* 1200 多道与官方认证目标一致的练习题 * 带有 InterSystems 文档链接的详细解释 * 涵盖每个考试知识点的学习材料 * 进度跟踪

涵盖的认证

* HL7 接口专家 * IRIS SQL 专家 * IRIS 系统管理专家 * IRIS 开发专家

学习材料+互动测验的组合使其特别适用于在考试前验证您的水平。

https://exam-prep.es

:exam-prep.es 与 InterSystems 无关。它是一个补充练习资源。

0
0 12
新增
文章 Kelly Huang · 四月 22 6m read

痛点所在

我们在将 IRIS 实例迁移到另一台机器(甚至可能是升级版本)后,有多少次是在几天之后才猛然惊觉:我们忘了迁移那个对于业务操作(Business Operations)至关重要的 SSL 配置?或者是漏掉了某个凭据(Credential),又或是某个包里孤零零的一个类?

解决方案

最简单的法子就是列一张清单¹。把我们必须迁移的实体项都罗列出来。但是,Word 文档里的简易清单往往会被人抛诸脑后,甚至干脆被无视。

管理学的基本原理告诉我们:如果你希望人们遵循流程,你可以采取以下手段:

  1. 通过监控行为来强制他们执行;
  2. 将某项活动系统地锁定在某个流程之后(例如使用流水线部署代码,并要求自动化测试通过才能合并 PR);
  3. 让流程比人工操作更便捷、更省力。​ 这样人们才会心甘情愿地去用。(这正是我的目标所在)

Python 脚本固然可行,但人们可能会忘记脚本放在哪儿,或者去哪儿下载。一旦有了新版本,所有使用者都得重新下载。

IRIS 类或任务似乎也是理想选择,直到你意识到有时你是迁移到另一个网络的服务器,一个实例根本无法访问另一个。

这就是为什么我选择了浏览器插件一旦安装,它便触手可及(哪怕你几个月不用它);更新会自动完成。即便你换了浏览器或出于某种原因弄丢了插件,从应用商店重新安装也只是点击一下的事。

0
0 16
新增
文章 Jeff Liu · 四月 21 4m read

尽管LOCK(docs) 是 InterSystems IRIS 的基础部分,负责并发性,但开发者社区上关于它的讨论并不多。这是可以理解的,因为它是一个稳定且相当低级的命令。在本文中,我将举一个简单的例子,说明如何使用互操作性锁。在示例中,我们将有一个本地表,其中的引用数据由两个不同的进程使用:

  • 从表中读取数据的实用功能(由生产中的各种 DTL/Rules 使用)
  • 更新表的专用业务操作

这里的问题是,当业务操作更新表时(最糟糕的情况是进行完全重建),自定义函数将无法从表中获取数据,这将导致 DTL/规则处理出现问题。

锁可以帮助我们解决这个问题。具体方法如下:

  • 实用程序将在获取数据前获得共享锁。任何数量的进程都可以持有共享锁,因此不会出现并发问题。一旦检索到数据,我们就会释放共享锁。
  • 更新器业务操作会先使用共享锁,然后再释放独占锁。一旦某个进程获得独占锁,IRIS 就会保证其他进程无法获得同一资源上的锁。这样,当独占锁被持有时,实用程序就无法获取共享锁。一旦我们的业务操作完成对表的更新,它就会释放独占锁,允许实用程序访问表。

    让我们开始吧

本地表

有点简单(在实际项目中作为 LUT 可能会更好),但我们的目的是展示锁是如何工作的,而不是构建一个复杂的表:

Class Lock.RefData Extends %Persistent
{
Property Value;
}
0
0 16
新增
文章 Claire Zheng · 四月 20 4m read

大家好。又是我!!😀

最近,我试图整理InterSystems IRIS😆的一些学习材料,并意识到这些资源实际上非常分散。

因此,我在这里列出了一个按类别分组的列表,供以下人员使用:

  • 是 InterSystems 的新手
  • 或想深入了解某个特定领域的人

此外,我还补充了一些自己的经验,说明哪些有用(哪些没用,可能只是对我没用🤫🤐)。


1.对于初学者

如果您不知道从哪里开始,请从这里开始:

我的体验 从 Developer Hub + 入门开始效果很好。它提供了快速运行的足够条件(无需安装,直接测试!!!!ᾒ)。

不适合我的地方 一开始就直接进入文档→正如我常说的...我知道句子中的每个单词,但就是不理解🥲。


2.设置/安装/工具

当你想真正开始工作时:

0
0 68