新增
文章 Kelly Huang · 六月 8 8m read

在基于 InterSystems IRIS 开发 Python 应用时,你很快就会发现存在多种执行上下文:

  • 由 IRIS 直接启动的 Embedded Python
  • 加载本地 IRIS 安装中 Embedded Python 库的常规 python3进程
  • 通过官方原生驱动连接 IRIS 的外部 Python 应用

这三种场景都非常有用,但在导入机制、系统配置、对象 API 以及 SQL 访问方面,它们的行为并不完全一致。iris-embedded-python-wrapper项目提供了一个稳定的 Python 门面(Facade),旨在减少这些差异,并提供一个统一的入口点:import iris

 

存在的问题

在一个围绕 IRIS 构建的 Python 项目中,同一份代码可能需要在多种环境中运行:

  • 在 IRIS 终端中,通过 iris python irisiris session iris后输入 :py
  • 通过 启动的本地 Python 脚本;
  • 连接到 IRIS 实例的远程 Python 服务。

如果没有抽象层,许多细节往往就需要分别处理:

  • Embedded Python 的 iris模块只有在 IRIS 运行时被正确加载时才可用;
  • 原生 SDK​ 同样暴露了一个 包,这可能导致冲突或产生歧义的导入;
  • 和 DB-API 连接在嵌入式模式
0
0 13
新增
文章 Kelly Huang · 六月 2 1m read

当将 IRIS For Health 从 2024.1 升级到 2024.2+(2025.1、2026.1 等)时,您可能会注意到,在以前访问 FHIR 门户的地方,现在会收到 "未找到 "的提示。

 

2024.2 之前:

截至 2024.2+:

这可能是因为它将进入 /csp/fhir-management,而不是之前的 /csp/healthshare。请参见此处的发布公告。

根据您的升级方式,配置可能是自动的,但如果您使用 IKO,请确保更新您的网络应用程序以包含 /csp/fhir-management:

    webgateway:
      replicas: 1
      image: containers.intersystems.com/intersystems/webgateway:2026.1
      applicationPaths:
        #; All of the IRIS instance's system default applications.
        #; For Management Portal only, just use '/csp/sys'.
        #; To support other applications, please add them to this list.
        - /csp/sys
        - /csp/broker
        - /api
        - /isc
        - /oauth2
        - /ui
        - /csp/healthshare
        - /csp/fhir-management
0
0 17
新增
文章 Kelly Huang · 六月 1 2m read

大家好、

请观看在线学习中的这些新视频,熟悉 InterSystems® 产品最新版本中的新功能和界面。学习服务 YouTube 频道也提供所有视频。

此外,您还可以观看面向ObjectScript 新开发人员的视频,以及面向HealthShare® 用户的部署升级指南。

InterSystems 产品最新版本的视频

  • 目标: 了解 InterSystems 产品 2026.1 版中互操作性用户界面的增强功能。
  • 相关产品:InterSystems IRIS、IRIS for Health、Health Connect
  • 另请参见: 包含所有产品版本类似视频的登陆页面(或查看YouTube 播放列表)
  • 目标:使用 GenAI 快速生成 DTL 转换说明。
  • 相关产品:InterSystems IRIS、InterSystems IRIS for Health、Health Connect
  • 受众: 使用 DTL 转换的集成商
  • 目标: 通过在多个数据库中分配数据,有效地管理和查询数据。
0
0 19
文章 Kelly Huang · 五月 24 3m read

* iris-certified-agents 实际上并没有经过任何官方认证

正在备考 InterSystems 认证?裁员裁掉了整个团队,却需要对 AI 赋能工作负载的承诺负责?刚接触 InterSystems 产品,或者正在基于 InterSystems 技术构建初创公司?那就 onboard 这些与你的模型和智能体 IDE 兼容的 InterSystems 智能体吧,让它们像协议机器人(Protocol Droid)一样流利地“说” InterSystems 技术。

快速开始

如果你只想直奔主题,去这里获取你的智能体:https://github.com/sween/iris-certified-agents

选购智能体

浏览名单,拿一个,拿四个,或者拿社区贡献的其他 100 多个中的任意一个。

安装

Claude
开箱即用,支持 Claude Code。
# 将所有智能体安装到你的 Claude Code 目录
./scripts/install.sh --tool claude-code
Antigravity (其他工具)
需要为其他工具进行转换步骤。
# 步骤 1 -- 为所有支持的工具生成集成文件
./scripts/convert.sh

# 步骤 2 -- 交互式安装(自动检测你已安装的工具)
./scripts/install.sh --tool antigravity
./scripts/install.sh --tool gemini-cli
0
0 21
文章 Kelly Huang · 五月 19 6m read

专业级 FHIR® 到 OMOP 的转换

让我们把 "专业(__professional)"一词的使用归零,并将其放在一定的背景下。 它是由行业专家编写的,他们将其包装成一项收费服务,并提供 支持 和一些围绕 灵活选项的保护措施,以促进其行为。 我认为,无论是开放式还是自家开发的解决方案(尽管可能做的是同一件事),考虑其规模或提供关键任务价值的另一面都是一个重要的区别。OHDSI 社区拥有一整套围绕 OMOP 数据库 ETL 主题的能力,例如,WhiteRabbit可以分析 OMOP 数据库,Rabbit in a Hat可以帮助设计 ETL。 我想做空这只股票,因为我打赌社区工具会应用到 InterSystems 的转换堆栈中,以完善产品。

在这里,我试图让一个社区对数据转换产生兴趣,这个社区可能生活在数据转换中,但可以肯定的是,这是一个快速入门的开始,可以让您进入 OHDSI 社区的大门,获得财富和 "大规模解决方案武器",对您的(或他人的)医疗保健数据进行有意义的大规模分析。

Bulk FHIR

该管道的摄取标准是Bulk FHIR 导出,看看 InterSystems 是如何实现Bulk FHIR 协调器的,导出的有效载荷是一个 zip 文件,其中包含带有 FHIR 资源的ndjson文件,每行一个。

您可以用 json 格式的单个导出资源文件作为示例,在程序中使用.

0
0 31
文章 Kelly Huang · 五月 15 4m read

嘿,社区的朋友们大家好!

是的,我知道我们有很多技巧和窍门类的文章-——我们甚至为此专门设置了一个标签(Tips & Tricks),不是吗?但我不能分享我自己的收藏。在这个合集中,您可以找到适合初学者的代码片段,以及一些日常的 ObjectScript 结构。事实上,这也是一种学习我最喜欢的编程语言的新方法。所以,如果你们有什么要补充的,欢迎提出!

0
0 61
文章 Kelly Huang · 五月 7 5m read

持续训练(CT)流水线将基于特定时间点可用数据,通过数据科学实验开发出的机器学习(ML)模型规范化。它不仅为模型部署做好准备,还支持在新数据可用时进行自主更新,同时具备用于审计目的的稳健性能监控、日志记录和模型注册功能。

InterSystems IRIS 已经提供了支持此类流水线所需的几乎所有组件。然而,缺少一个关键要素:标准化的模型注册工具。在本文中,我将介绍一种结合 IRIS 优势与开源 AI 工程平台 MLflow 的方法。它们共同作为构建有效持续训练(CT)流水线的互补工具。

本仓库中的实现利用了 MLflow 的内置配置来存储 SHAP 解释器,以提供对相应模型预测结果的解释,包括随机森林(Random Forest)、XGBoost、神经网络等“黑盒”复杂模型。

**演示视频**:https://youtu.be/qLdc4jhn83c

---

CT 流水线组件

该 CT 流水线模块背后的理论基于 Google 在相关文章中定义的 MLOps 1 级行业标准。每个组件的实现都利用了 IRIS 和 MLflow 的最佳特性(如下图所示,红色部分突出显示):

对于那些刚接触 CT 流水线的人来说,上图描述了数据科学项目中传统的实验阶段(上半部分“实验/开发/测试”,通常在 Jupyter Notebook 中进行)如何转化为生产级模型部署。

0
0 42
文章 Kelly Huang · 四月 22 6m read

痛点所在

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

解决方案

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

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

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

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

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

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

0
0 64
归档
公告 Kelly Huang · 四月 17

Hi HealthShare 社区,

您使用 HealthShare 统一护理记录系统吗?InterSystems Certification正在为HealthShare 统一护理记录部署专家开发一个新的考试,我们正在寻找测试人员!

关于机会

  • 符合以下条件 的候选人可以提前参加新考试。
  • 这是一次免费参加考试的绝佳机会——我们免收测试人员 150 美元的考试费!
  • 如果您取得及格分数,即可获得认证
  • 测试时间为 2026 年3 月 24 日至 5 月 15 日

考试方式

考试将在在线 监考环境中进行,我们的团队将对所有数据进行仔细的统计分析,以设定合格分数。这一过程通常需要 6-8 周。合格分数确定后,您将收到 InterSystems Certification 的电子邮件通知,告知您考试结果。如果您的考试成绩达到或超过及格分数,您就获得了认证!

注意:测试分数是完全保密的。

考试详情

如果您符合以下候选人条件,我们非常欢迎您参加测试:

具有以下所有经验的 IT 专业人员:

  • 部署和升级Unified Care Record环境
  • 安全配置各个网关和组件
  • 维护 Unified Care Record 环境的运行健康和稳定性

推荐实践经验

  • 至少 6-12 个月全职部署、保护和维护 HealthShare Unified Care Record环境运行健康的经验。

建议的准备工作

查看以下资源。

0
0 33
文章 Kelly Huang · 四月 15 2m read

背景情况

急诊医疗服务(EMS)团队到达急诊科时,常常会遇到人口统计数据不完整或未知的病人——没有病历号(MRN),没有确认的姓名,有时甚至没有出生日期。然而,急救医疗运送记录仍然需要准确无误地记录在病历中。

为了支持安全可靠的记录,急救医疗机构、第三方集成服务和医院集成团队建立了安全接口,用于交换识别码和临床信息。当这些标识符不一致时,下游系统就无法自动发布转运记录,从而产生可避免的人工操作,并延误记录的完整性。本文概述了如何使用 FHIR Patient.Search (R4) 来填补最常见的人口统计空白并改进自动发布。

挑战

在许多 EMS 到医院的集成中,患者最初是以通用或临时标识符注册的。最终登记和任何记录合并可能要到稍后才会发生,有时是在出院后。在这些更新传播之前,EMS 患者标识符和电子病历 (EMR) 标识符可能一直不同步。

当转运记录因不匹配而无法发布时,集成通常会生成一个错误,并转到 EMR 工作队列进行人工审核。在 EMS 处理量大的情况下,队列会迅速增长。

0
0 282
文章 Kelly Huang · 三月 23 6m read

供应链是指由公司业务领域及其供应商和合作伙伴(利益相关者)执行的一系列流程和活动,从原材料采购、生产到交付给最终消费者。利用 InterSystems IRIS 的协调功能,供应链管理解决方案可以更好地管理供应链:

0
0 45
文章 Kelly Huang · 三月 17 10m read

在上一篇文章中,我们介绍了IrisOASTestGen——一个基于OpenAPI 2.0规范为InterSystems IRIS生成REST API测试代码的工具。该文章展示了如何使用OpenAPI Generator附带的默认模板来搭建测试用例。本文将聚焦于接下来的自然步骤**:自定义生成的测试代码**。通过使用Mustache模板扩展代码生成逻辑,我们可以表达更丰富的语义、实现CRUD感知测试,并创建更有意义的测试套件。本文的示例将修改IrisOASTestGen,为createPerson操作生成测试,包括遍历所有预期响应。这将展示如何使用OpenAPI规范中的自定义字段来驱动Mustache模板内的条件渲染。


OpenAPI扩展以支持CRUD操作

为了使代码生成支持CRUD操作,OpenAPI规范可以在vendorExtensions中包含自定义字段。这些自定义字段作为标志,Mustache模板可以检测到它们。

0
0 32
文章 Kelly Huang · 三月 13 4m read

大家好! 👋
欢迎来到IRIS IO 工具系列的第二部分。这个扩展是我提交给InterSystems 2025 年 "将想法变为现实 "竞赛的作品,它为您提供了一个直观而强大的界面,可直接在 VS 代码中导入和导出数据

如果你觉得这个扩展有用,请考虑在竞赛中为我投票!


在上一篇文章中,我们介绍了

  • 扩展概述
  • ODBC 驱动程序配置
  • 导出功能

现在是时候深入了解导入引擎(Import Engin)了_它旨在支持

  • CSV
  • TXT(任意分隔符)
  • JSON
  • XLSX

该扩展具有智能推理层,可分析输入文件并自动建议最佳的 IRIS 表格数据格式,提供有指导的辅助数据建模。


导入模式--两种不同的工作流程

该扩展支持两种不同的方案

  • 创建新表
  • 加载到现有表格

选项 A - 导入新表

在以下情况下,这是理想的选择

  • 加载新数据集
  • 您希望从头开始,使用全新的表和模式
  • 处于原型设计或探索阶段

会发生什么?

0
0 34
文章 Kelly Huang · 三月 4 1m read

在最近的竞赛中,看到更多的人在创建 VS Code 扩展程序,这令人鼓舞。不过我注意到,在三个需要使用凭据进行连接的扩展中,只有我的gj :: dataLoader 利用了历史悠久、官方支持的InterSystems Server Manager扩展来获取连接定义并安全地处理凭据。

0
0 36
文章 Kelly Huang · 一月 31 2m read

此外,在以前的版本中,您可以定义您的 FHIR 服务器接受通过 OAuth 2.0 发送的请求(例如,用于 FHIR 客户端上的 SMART),但在前不久发布的 v2024.3 中,有一项新功能可以更轻松地实现这一点,即OAuth FHIR 客户端快速启动(OAuth FHIR Client QuickStart)

0
0 209
文章 Kelly Huang · 一月 29 6m read

InterSystems API 管理器(IAM)是 InterSystems IRIS 数据平台的核心组件,提供集中式 API 管理,重点强调安全性。IAM 简化了从创建到退出的整个 API 生命周期,并提供了一个开发人员门户,便于发现和集成 API。访问控制功能允许管理员定义精确的权限,IAM 与 IRIS 数据平台无缝集成,增强了数据管理和集成能力。

IAM 的功能包括

  • API 网关:集中式 API 管理和安全中心。
  • API 生命周期管理:从创建到退出的完整生命周期控制。
  • 安全性:身份验证、授权和数据加密。
  • 监控和分析:使用监控和模式分析工具。
  • 开发人员门户网站:具有文档和测试功能的 API 发现门户。
  • 访问控制:对 API 访问和操作进行细粒度控制。
  • 与 InterSystems IRIS 集成:与 IRIS 数据平台无缝集成。

使用案例: 本报告中的用例是身份和访问管理。

符合 OAuth 2.0 标准的身份验证和授权,使用 IAM 确保 FHIR 服务器的安全。

在本文档中,您将了解如何使用 InterSystems API Manager 通过 OAuth 2.0 确保 FHIR 服务器的安全。OAuth 2.0 是一种广泛使用的授权标准,可使应用程序访问 FHIR 服务器上受保护的资源。

0
0 83
文章 Kelly Huang · 一月 29 2m read

您发送了一个 HTTP 请求,但得到了一个 HTTP 错误,而且是一个您意想不到的 HTML 错误页面......这是怎么回事?

具体举例来说,也许您尝试读取 FHIR 资源(例如 /Patient/123),但得到的是 404 错误页面,尽管使用其他患者 ID 时,您得到的是资源有效载荷,因此 "页面 "肯定存在......为什么会得到 404 错误页面?

0
0 547
文章 Kelly Huang · 一月 27 3m read

如果要从 x509 证书/密钥生成JWT,对%SYS.X509Credentials的任何操作(包括读取)都需要 %Admin_Secure 资源上的 U。之所以需要 %Admin_Secure,是因为 是持久的,这样做是为了防止所有用户访问私钥。

如果 资源在运行时不可用,可以使用以下变通方法。

在查看 JWT 生成代码时,我发现 JWT 代码仅利用 作为 PrivateKeyPrivateKeyPassword 和 的运行时数据源。作为一种变通方法,您可以使用 X.509 接口的运行时非持久化实现,只公开这些属性。如果要使用互操作性,证书/PK 可以存储在凭证中,以便安全访问:

ClassExtends%RegisteredObjectAs

您还可以通过以下方式生成 JWT:

0
0 215
文章 Kelly Huang · 一月 25 4m read

在上一篇文章中,我们谈到了 ODBC 和 C# 连接,现在让我们看看 JDBC 和 Java。InterSystems JDBC 驱动程序是集成 Java 应用程序的高性能推荐方式。

以下是使用 JDBC 驱动程序将 Java 应用程序连接到 IRIS 实例的分步指南。

第 1 步:获取并包含 InterSystems IRIS JDBC 驱动程序

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 文件:

  • Maven/Gradle:如果使用构建工具,最简单的方法是将 InterSystems JDBC 驱动程序作为依赖项添加到 pom.xmlbuild.gradle 文件中。这会自动下载并管理 JAR。
  • 手册:对于简单的项目,必须将 JAR 文件放在项目目录(如 /lib)中,并在编译和运行时将其明确添加到 classpath 中。
0
0 112
文章 Kelly Huang · 一月 24 4m read

对于构建外部应用程序的开发人员,尤其是使用C# 等熟悉技术的开发人员来说,ODBC(开放数据库连接)是连接任何关系数据库(包括 InterSystems IRIS)的重要标准化桥梁。虽然 InterSystems 提供了自己的本地 ADO.NET 提供商,但 ODBC 驱动程序通常是与通用数据库工具和框架集成的最直接途径。

以下是使用 ODBC 驱动程序将 C# 应用程序连接到 IRIS 实例的分步指南,重点是无 DSN 连接字符串。

第 1 步:安装 InterSystems IRIS ODBC 驱动程序

在 Windows 机器上安装 InterSystems IRIS 时,默认会安装 InterSystems ODBC 驱动程序。

  • 如果 IRIS 位于同一台计算机上:驱动程序已经存在。
  • 如果 IRIS 位于远程服务器上:如果您是客户机,则必须从 WRC 网站下载并安装适用于客户机操作系统(Windows、Linux 或 macOS)和位元(32 位或 64 位)的独立 ODBC 客户机驱动程序包,或者安装客户机组件并复制 ODBC 驱动程序。

安装完成后,可在 Windows 的ODBC 数据源管理员(ODBC Data Source Administrator)工具中验证其是否存在(查找 InterSystems IRIS ODBC35 驱动程序)。

0
0 189
文章 Kelly Huang · 十一月 11, 2025 5m read

导言

InterSystems IRIS 数据平台一直以其性能、互操作性和跨编程语言的灵活性而著称。多年来,开发人员可以将 IRIS 与 Python、Java、JavaScript 和 .NET 结合使用,但 Go(或Golang)开发人员却只能望洋兴叹。

Golang Logo

这种等待终于结束了。

新的go-irisnative驱动程序为 InterSystems IRIS 带来了GoLang 支持,实现了标准的 database/sql API。这意味着 Go 开发人员现在可以使用熟悉的数据库工具、连接池和查询接口来构建由 IRIS 支持的应用程序。


为什么要支持 GoLang

GoLang 是一种专为简单性、并发性和性能而设计的语言,是云原生和基于微服务架构的理想选择。它为 Kubernetes、Docker 和 Terraform 等一些世界上最具可扩展性的系统提供了支持。

将 IRIS 引入 Go 生态系统可实现以下目标

  • 使用 IRIS 作为后台的轻量级高性能服务
  • 并行查询执行或后台处理的本机并发性
  • 与容器化和分布式系统无缝集成
  • 通过 Go 的 database/sql 界面进行自动化数据库访问

这种集成使 IRIS 成为现代云就绪 Go 应用程序的完美选择。

0
0 155
文章 Kelly Huang · 十一月 11, 2025 3m read

如果你觉得 IRIS 对 Go 的原生支持令人兴奋,那就等着看 GORM 加入后会发生什么吧。


就在最近,随着go-irisnative 的发布,我们迎来了 InterSystems IRIS 的本地 GoLang 支持这仅仅是个开始。现在,我们又推出了gorm-iris ——一个 GORM 驱动程序,旨在为您的 IRIS + Go 堆栈带来对象关系映射 (ORM) 的强大功能。

为什么选择 GORM?

GORM 是 Go 生态系统中最流行的 ORM 库之一。它使使用 Go 结构而不是编写原始 SQL 与数据库交互变得简单。通过自动迁移、关联和查询构建等功能,GORM 极大地简化了后端开发。

因此,在实现 Go 与 IRIS 的本地对话后,下一步自然是让 GORM 与 IRIS 无缝协作。这正是 gorm-iris 所要做的。

0
0 107
文章 Kelly Huang · 十一月 11, 2025 31m read

对于使用 InterSystems IRIS 的 Go 开发人员来说,我们已经达到了两个重要的里程碑:

现在是时候看看一切如何协同工作了。

为了演示 Go 开发人员可以如何轻松地采用 InterSystems IRIS,我使用了一个现有的生产级开源项目——RealWorld 示例应用程序——它展示了使用Go FiberGORMSQLite 实现的 Medium.com 式全栈克隆。

RealWorld Example App

只需稍作配置调整,我就将 SQLite 换成了gorm-iris,其他一切保持不变。结果如何?
一个由 InterSystems IRIS 支持的功能齐全的 Go + Fiber 应用程序——不需要重写代码,不需要 ORM 体操,只需要一个不同的数据库后端。

您可以在这里找到完整的工作演示:github.com/caretdev/golang-fiber-iris-realworld-example-app

0
0 89
文章 Kelly Huang · 十月 23, 2025 21m read

概述

快捷式医疗服务互操作资源 (FHIR) 是一个由 HL7 International 开发的标准化框架,旨在以灵活、对开发者友好且现代的方式促进医疗数据的交换。 它利用现代网络技术来确保在医疗保健系统间实现无缝集成与通信。

关键 FHIR 技术

  • 用于资源交互的 RESTful API
  • 用于数据表示的 JSON 和 XML
  • 用于安全授权和身份验证的 OAuth2

FHIR 围绕着称为资源的模块化组件构建,每个组件代表特定的医疗保健概念,包括:

  • 患者 – 受众特征和标识符
  • 观察数据 – 临床测量数据(例如,生命体征、实验室检测结果)
  • 诊疗 – 患者与医疗服务提供者的互动
  • 药物、过敏不耐受、健康状况等

资源单独定义,并且可以引用其他资源,以构成一个完善的数据模型。


InterSystems IRIS for Health:FHIR 支持

InterSystems IRIS for Health 是一个专为医疗保健行业设计的统一数据平台。 它包含对 HL7 FHIR 的原生支持。 它提供内置工具与服务,能够实现 FHIR 资源的存储、检索、转换和交换。IRIS 通过三大 FHIR 处理组件提升系统的互操作性:

1.

0
0 416
文章 Kelly Huang · 六月 5, 2025 7m read

在过去的几个月里,我一直在从事 SMART on FHIR EHR Launch 的工作,使用 CSIRO 的两个开源应用程序:SMART-EHR-Launcher 和 SMART 表单应用程序来测试 IRIS for Health 的功能。这段旅程非常有趣,我非常感谢能有机会参与这项任务并探索 IRIS for Health 的更多潜力。

在 HL7 AU FHIR Connectathon 上成功演示了多个外部 SMART 应用程序的无缝启动后,我很高兴能与社区分享我的心得。我希望我的见解能帮助其他人更快地开始类似的项目。

这项任务涉及使用 SMART-EHR-Launcher 作为 EHR 来启动 SMART 表单应用程序。同时,IRIS for Health 被用作 EHR 的 FHIR 资源库,其 OAuth2 服务器被用作授权服务器。

在进入激动人心的时刻之前,让我们先仔细了解一下 SMART on FHIR 和 SMART on FHIR EHR 启动仪式。让我们问问我们的好朋友 ChatGPT 和 豆包。

什么是 SMART on FHIR?

SMART on FHIR 是一种用于开发医疗保健应用程序的平台,旨在实现医疗保健系统之间的互操作性、安全性和可扩展性。

0
1 152
文章 Kelly Huang · 九月 3, 2023 8m read

大家好。

在上一篇文章中,我们了解了如何配置 EMPI 来接收 FHIR 消息。为此,我们安装了 InterSystems 提供的 FHIR 适配器,该适配器配置了一个可以向其发送 FHIR 消息的 REST 端点。然后,我们将获取消息并将其转换为 %String,我们将通过 TCP 将其发送到 HSPIDATA 命名空间中配置的 EMPI 的输出。

好吧,是时候看看我们如何检索消息、将其转换回 %DynamicObject 并将其解析为 EMPI 用来存储信息的类。

TCP消息接收

正如我们所指出的,从配置了 FHIR 资源接收的生产中,我们已将消息发送到我们有业务服务侦听的特定 TCP 端口,在我们的例子中,该业务服务将是一个简单的EnsLib.TCP。 PassthroughService的目标是捕获消息并将其转发到业务流程,我们将在其中执行所需的数据转换。

这里有我们的商业服务:

这是它的基本配置:

FHIR 消息的转变

正如你所看到的,我们只配置了通过 TCP 接收消息的端口以及我们将向其发送消息的组件,在我们的例子中我们将其称为 Local.BP.FHIRProcess,让我们看一下说类来看看我们如何从 FHIR 资源中检索信息:

 ClassExtendsAs

让我们更详细地看看我们正在做什么:

0
0 423
文章 Kelly Huang · 九月 3, 2023 7m read

对于即将到来的Python 竞赛,我想制作一个小型演示,介绍如何使用 Python 创建一个简单的 REST 应用程序,该应用程序将使用 IRIS 作为数据库。使用这个工具

  • FastAPI框架,高性能,易学,快速编码,可用于生产
  • SQLAlchemy 是 Python SQL 工具包和对象关系映射器,为应用程序开发人员提供 SQL 的全部功能和灵活性
  • Alembic 是一个轻量级数据库迁移工具,可与 SQLAlchemy Database Toolkit for Python 一起使用。
  • Uvicorn 是 Python 的 ASGI Web 服务器实现。
0
0 355
文章 Kelly Huang · 八月 2, 2023 18m read

k8s

这是一个使用 IKO 在 k3d 上部署  iris-oauth-fhir  的示例。

*  iris-oauth-fhir 是一个示例,用于部署带有 OAuth2 身份验证功能的 FHIR 服务器,InterSystems IRIS for Health 作为资源服务器,Google OpenId 则作为授权服务器。

* k3d 作为一个轻量级封装器,用于在 docker 中运行 k3s (Rancher Lab 的最小 Kubernetes 发行版)

IKO 是一个在 Kubernetes 上部署 InterSystems IRIS for Health 的工具。

2. 目录表

0
0 192
文章 Kelly Huang · 七月 19, 2023 8m read

在之前的文章中,我们已经了解了如何配置和自定义我们的 EMPI,我们已经了解了如何通过 HL7 消息传递将新患者纳入我们的系统中,但当然,并不是所有的东西都是 HL7 v.2!我们如何配置 EMPI 实例以使用 FHIR 消息传递?

什么是FHIR?

对于那些不太熟悉 FHIR 这个术语的人,只需指出它们是Fast Healthcare Interoperability Resource的首字母缩写即可。 FHIR是HL7制定的医疗保健互操作性标准,基于JSON格式和REST通信,建立了一系列不同类型信息(患者数据、医院中心、诊断、医疗预约......)的“资源”。您可以在他们的官方页面上查看所有这些资源

InterSystems 和 FHIR

从 InterSystems 中,我们了解到 FHIR 为医疗保健互操作性领域提供的实用程序,因此我们拥有广泛的产品和功能,使我们能够充分利用并发挥其全部潜力:

0
0 239