在使用标准 SQL 或 InterSystems IRIS 中的对象层时,元数据的一致性通常通过内置验证和类型执行来保持。但是,绕过这些层直接访问global的传统系统会带来微妙而严重的不一致性。

了解驱动程序在这些边缘情况下的行为,对于诊断遗留数据问题和确保应用可靠性至关重要。

DATATYPE_SAMPLE数据库旨在帮助分析列值不符合元数据中定义的数据类型或约束的错误情形。我们的目标是评估 InterSystems IRIS 及其驱动程序(JDBC、ODBC、.NET)和不同工具在发生此类不一致时的表现。 在本篇文章中,我将重点介绍JDBC 驱动程序


问题出在哪里?

一些传统应用程序会直接写入globals。如果使用关系模型(通过 CREATE TABLE 创建或使用全局映射手动定义)来公开这些数据,那么映射定义 的底层值就会与每列的声明元数据一致。

0 0
0 7
文章
· 十一月 6 阅读大约需 6 分钟
FHIR 环境设置指南

我很清楚对于那些完全不熟悉 VS Code、Git、Docker、FHIR 和其他工具的人来说,设置环境时会遇到一些困难。 所以我决定写这篇文章,详细介绍整个设置过程,以便大家能够轻松上手。

如果您能在本文最后留下评论,告诉我说明是否清楚,是否有遗漏,或者是否有其他您觉得有用的东西,我将不胜感激。

设置包括:

✅ VS Code – 代码编辑器
✅ Git – 版本控制系统
✅ Docker – 运行 IRIS for Health Community 的实例
✅ VS Code REST 客户端扩展程序 – 用于运行 FHIR API 查询
✅ Python – 用于编写基于 FHIR 的脚本
✅ Jupyter Notebook – 用于 AI 和 FHIR 任务

准备工作:确保您在系统上拥有管理员权限

除了阅读本指南,您还可以按照视频中的步骤操作:

如果您是 Windows 系统(请注意:原文是YouTube视频,请跳转至EN原帖查看)

https://www.youtube.com/embed/IyvuHbxCwCY
[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。]

0 0
0 15
文章
· 十一月 6 阅读大约需 7 分钟
Interoperability on Python (IoP) 简介

Interoperability on Python (IoP) 是一个概念验证项目,旨在展示与 Python 优先方式相结合时 InterSystems IRIS Interoperability Framework 的强大功能。IoP 利用Embedded Python(嵌入式 Python,InterSystems IRIS 的一个功能)使开发者能够用 Python 编写互操作性组件,从而可以与强大的 IRIS 平台无缝集成。本指南专为初学者编写,全面介绍了 IoP、其设置以及创建第一个互操作性组件的操作步骤。 阅读完本文,您将能够清楚地了解如何使用 IoP 构建可扩缩、基于 Python 的互操作性解决方案。

0 0
0 12
文章
· 十月 28 阅读大约需 2 分钟
如何比较两个全局变量的内容

InterSystems 常见问题解答标题

^%GCMP 实用工具可用于比较两个全局变量的内容。

例如,要比较 USER 和 SAMPLES 命名空间中的 ^test 和 ^test,过程将与下面类似:
*以下示例在这两个命名空间中创建了 700 个相同的全局变量,并更改了其中一个的内容,使其成为检测目标。

0 0
0 21
文章
· 九月 19 阅读大约需 12 分钟
利用 FHIR 简化健康数据集成

数字健康解决方案提供者面临的压力越来越大,他们不仅要集成复杂的健康数据系统,还要确保可扩缩性、安全性和符合 HL7 FHIR 等标准。 Fast Healthcare Interoperability Resources (FHIR) 提供了一个标准化框架,使不同的健康 IT 系统能够毫不费力地进行通信,彻底改变了健康数据的交换方式。 但是,仅仅遵循 FHIR 标准并不足以应对健康数据集成错综复杂的问题。 解决方案合作伙伴必须利用 FHIR 代理、装饰和仓库等先进的架构组件来构建可扩缩的高效解决方案。 无论是本地部署、在公共云中,还是作为 InterSystems 管理的基于云的服务,InterSystems 提供为您的健康数据实现 FHIR 所需的所有必要功能。

Medical Science Hospital Lab Meeting healthcare

0 0
0 55

数据是席卷医疗保健行业的数字化转型的核心。 要想发生根本性转变,需要一个新的基础来处理现代医疗保健的海量数据需求。

在您开发下一个治疗性突破、基因组见解和智能临床工作流时,上市速度至关重要。 您需要立即交付它们。

这就是我们为何扩展 InterSystems IRIS 数据平台的能力,以应对医疗保健信息的独特特征。 InterSystems IRIS for Health 是世界上第一个也是唯一一个专为快速开发医疗保健应用程序而设计的数据平台,管理着世界上最关键的数据。

IRIS Health diagram

0 0
0 29

image

您知道当您拿到验血结果时一切看起来都像天书的那种感觉吗? 这就是 FHIRInsight 要解决的问题。 它最初的理念是,医疗数据不应该令人恐惧或困惑 – 它应该是我们所有人都能使用的东西。 验血是健康检查中十分常见的检查,但说实话,大多数人都很难理解它们,有时甚至对不擅长实验室工作的医务人员来说也是如此。 FHIRInsight 希望整个过程能够变得更简单,信息更富有实用价值。

🤖我们为什么要构建 FHIRInsight

这一切都始于一个简单而有力的问题:

“为什么验血结果仍然很难读懂 — 有时甚至对医生来说也是如此?”

0 0
0 29

2024年10月19日,首都医科大学附属北京安贞医院(简称“北京安贞医院”)通州院区开诊,医院迈入两院区一体化发展新阶段。“随着手术量的增加,术中监测设备上的指标自动采集,对于术中工作效率的提高就更加重要了,但有些设备尚未做到国产化,例如心脏搭桥手术血流监测仪是挪威进口设备,只支持通过FHIR标准与HIS对接。于是,我们在院区开业一个月后启动了基于FHIR(Fast Healthcare Interoperability Resources,快速医疗保健互操作性资源)的医疗信息系统集成技术路线与开发项目,以心脏搭桥手术血流监测仪为突破口,实现此类设备的结构化数据采集、存储及应用。”北京安贞医院信息中心技术总监周奕介绍。

0 0
0 33

2025年7月25日,我们邀请了InterSystems销售工程师 @Kate Lau 分享了关于“InterSystems FHIR to OMOP数据管道”的内容。

如果说FHIR是数据资产化的“起点”,通过实时交换和标准化接口,将分散的医疗数据转化为可流通的资产;那么OMOP就是科研价值的“终点”,通过标准化模型和工具链,挖掘数据资产中的知识,支撑临床决策和药物研发。从FHIR到OMOP,灵活的转换能够有效推动数据资产的应用落地。

InterSystems FHIR to OMOP数据管道提供了解决方案。通过标准互操作(基于FHIR R4标准构建数据接口)、自动化映射(内置OMOP CDM预构建映射规则,大大缩短传统ETL开发周期)、 自动化数据质量分析和云原生架构(依托AWS HealthLake实现弹性扩展),可以帮助用户快速实现数据资产的OMOP化,为用户在数字时代占据先机!

0 0
0 47
文章
· 七月 18 阅读大约需 2 分钟
Fhir-丙型肝炎预测应用

大家好!

本文主要丰富了上一篇文章的内容,并介绍了应用程序的使用方法。

也许您已经读过上一篇文章,但我还是想说,
在完成初始化操作(包括模型创建和训练)后,Fhir HepatitisC Predict 应用程序将预测丙型肝炎(HepatitisC)。

首先

您需要在应用程序上输入一些信息,当然,只是一些检查结果,不包括隐私数据

SHOW显示

点击显示按钮,将显示该指标的数据是否在正常范围内,指标是高还是低。当然,每个指标的数据范围都是通过查询信息获得的,可能与实际范围略有不同。

0 0
0 46
InterSystems 官方
· 六月 19 阅读大约需 4 分钟
2025.1 打造时尚现代的互操作性用户体验

互操作性用户界面现在包括可以在所有互操作性产品中使用的 DTL 编辑器生产配置应用程序的现代化用户体验。您可以在现代化视图与标准视图之间切换。所有其他互操作性屏幕仍采用标准用户界面。请注意,仅对这两个应用程序进行了更改,我们在下面确定了当前可用的功能。

要在升级前试用新屏幕,您可以点击这里,从我们的社区工具包网页中下载 2025.1 版:https://evaluation.intersystems.com/Eval/。请观看“学习服务”中的简短教程构建集成:一种新的用户体验,了解对这些屏幕进行的用户增强!

0 0
0 48
文章
· 六月 5 阅读大约需 7 分钟
发布使用 IRIS for Health 的 SMART on FHIR EHR

在过去的几个月里,我一直在从事 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 和 豆包。

1 0
1 76
文章
· 六月 3 阅读大约需 2 分钟
IRIS Interop DevTools: CCDA 和 FHIR 的 IRIS 转换入门

IRIS 支持开箱即用的 CCDA 和 FHIR 转换,但访问和查看这些功能需要大量的时间设置和产品知识。IRIS Interop DevTools 应用程序旨在弥补这一差距,让实施人员能够立即进入并查看产品的内置转换功能。

除了 IRIS XML、XPath 和 CCDA 转换环境,Interop DevTools 软件包现在还提供:

  • FHIR-SDA 转换设置
  • SDA-FHIR 转换设置
  • 构建 FHIR 错误验证
  • 加载 FHIR 转换所需的内容

已经更新仪表板的外观和感触,看起来更加直观和用户友好。在 IRIS 中执行,以便充分利用环境,同时用户界面允许可见性、可重复性以及隔离修改和模块进行测试的能力。

以下是5个功能支持:

1. XPath 评估器: 根据输入 CCD 评估 XPath 并返回结果

0 0
0 78
文章
· 五月 15 阅读大约需 1 分钟
一些 FHIR 互操作性适配器示例

各位开发者,大家好!

或许您不得不实现一些场景,这些场景不需要 FHIR 仓库但需要转发 FHIR 请求、管理响应,并且可能运行转换或在两者之间提取一些值。 在这里,您会找到一些可以使用 InterSystems IRIS For HealthHealthShare Health Connect 实现的示例。

在这些示例中,我使用了具有 FHIR 互操作性适配器HS.FHIRServer.Interop.Request 消息的互操作性生产配置。

第一个场景从头开始构建 FHIR 请求(可以来自文件,也可以来自 SQL 查询),然后将其发送到外部 FHIR 服务。图片

0 0
0 67

Hi 大家好

在本文中,我讲介绍我的应用 iris-AgenticAI .

代理式人工智能的兴起标志着人工智能与世界互动方式的变革性飞跃--从静态响应转变为动态、目标驱动的问题解决方式。参看 OpenAI’s Agentic SDK , OpenAI Agents SDK使您能够在一个轻量级、易用且抽象程度极低的软件包中构建代理人工智能应用程序。它是我们之前的代理实验 Swarm 的生产就绪升级版。

该应用展示了下一代自主人工智能系统,这些系统能够进行推理、协作,并以类似人类的适应能力执行复杂任务。

应用功能

  • Agent Loop 🔄 一个内置循环,可自主管理工具的执行,将结果发回 LLM,并迭代直至任务完成。
  • Python-First 🐍 利用本地 Python 语法(装饰器、生成器等)来协调和连锁代理,而无需外部 DSL。
  • Handoffs 🤝 通过在专业代理之间委派任务,无缝协调多代理工作流程。
  • Function Tools ⚒️ 用 @tool 修饰任何 Python 函数,可立即将其集成到代理的工具包中。
  • Vector Search (RAG) 🧠 原生集成向量存储(IRIS),用于 RAG 检索。
  • Tracing 🔍 内置跟踪功能,可实时可视化、调试和监控代理工作流(想想 LangSmith 的替代方案)。
  • MCP Servers 🌐 通过 stdio 和 HTTP 支持模型上下文协议(MCP),实现跨进程代理通信。
  • Chainlit UI 🖥️ 集成 Chainlit 框架,可使用最少的代码构建交互式聊天界面。
  • Stateful Memory 🧠 跨会话保存聊天历史、上下文和代理状态,以实现连续性和长期任务。

0 0
0 119

社区朋友们好,

传统的基于关键词的搜索方式在处理具有细微差别的领域特定查询时往往力不从心。而向量搜索则通过语义理解能力,使AI智能体能够根据上下文(而非仅凭关键词)来检索信息并生成响应。

本文将通过逐步指导,带您创建一个具备代理能力的AI RAG(检索增强生成)应用程序。

实现步骤:

  1. 添加文档摄取功能
    • 自动获取并建立文档索引(例如《InterSystems IRIS 2025.1版本说明》)
    • 实现向量搜索功能
  2. 构建向量搜索智能体
  3. 移交至主智能体(分流处理)
  4. 运行智能体

1. Create Agent Tools 添加文档摄取功能

Implement Document Ingestion: Automated ingestion and indexing of documents


1.1 - 以下是实现文档摄取工具的代码:

    def ingestDoc(self):
        #Check if document is defined, by selecting from table
        #If not defined then INGEST document, Otherwise back
        embeddings = OpenAIEmbeddings()	
        #Load the document based on the fle type
        loader = TextLoader("/irisdev/app/docs/IRIS2025-1-Release-Notes.txt", encoding='utf-8')      
        
        documents = loader.load()        
        text_splitter = RecursiveCharacterTextSplitter(chunk_size=400, chunk_overlap=0)
        
        texts = text_splitter.split_documents(documents)
                       
        #COLLECTION_NAME = "rag_document"
        db = IRISVector.from_documents(
            embedding=embeddings,
            documents=texts,
            collection_name = self.COLLECTION_NAME,
            connection_string=self.CONNECTION_STRING,
        )

        db = IRISVector.from_documents(embedding=embeddings,documents=texts, collection_name = self.COLLECTION_NAME, connection_string=self.CONNECTION_STRING,)

向量搜索智能体(Vector Search Agent)能够自动完成文档的摄取(ingest)索引构建(index), 该新功能在InterSystems IRIS 2025.1的数据资源文件夹里) 至 IRIS 向量存储, 只有当数据尚未存在时,才执行该操作。



运行以下查询以从向量存储中获取所需数据:

SELECT
id, embedding, document, metadata
FROM SQLUser.AgenticAIRAG



1.2 - 实现向量搜索功能


以下代码为智能体提供了搜索能力:

 def ragSearch(self,prompt):
        #Check if collections are defined or ingested done.
        # if not then call ingest method
        embeddings = OpenAIEmbeddings()	
        db2 = IRISVector (
            embedding_function=embeddings,    
            collection_name=self.COLLECTION_NAME,
            connection_string=self.CONNECTION_STRING,
        )
        docs_with_score = db2.similarity_search_with_score(prompt)
        relevant_docs = ["".join(str(doc.page_content)) + " " for doc, _ in docs_with_score]
        
        #Generate Template
        template = f"""
        Prompt: {prompt}
        Relevant Docuemnts: {relevant_docs}
        """
        return template


分流代理处理传入的用户查询,并将其委托给矢量搜索代理,后者执行语义搜索操作,以检索最相关的信息。

0 0
0 97
文章
· 二月 19 阅读大约需 2 分钟
第二十九章 U - V 开头的术语

第二十九章 U - V 开头的术语

以 U 开头的术语

用户识别码 (UIC)

系统

用户识别码(User Identification Code,UIC)决定了谁可以访问该数据库中的全局。在 UNIX® 系统上,UICgroupid、逗号(,)和 userid 组成;系统管理员在 UNIX® 级别为用户分配 UIC,并使用 IRIS MSU 工具为每个数据库分配 UIC

未认证访问 (unauthenticated access)

系统

IRIS 的访问不基于任何用户身份验证。

Unicode

系统

0 0
0 70
文章
· 二月 18 阅读大约需 2 分钟
第二十八章 T 开头的术语

第二十八章 T 开头的术语

以 T 开头的术语

表 (table)

InterSystems SQL

表是一种由表示特定实体的行和表示每个实体特定数据点的列组成的数据结构。

目标角色 (target role)

系统

在受保护的 IRIS 应用中,由应用程序授予给已经是其他角色(称为匹配角色)成员的用户的角色。如果用户拥有匹配角色,则在使用应用程序时,用户还可以被授予一个或多个额外的目标角色。

目标用户 (target user)

系统

0 0
0 107
文章
· 二月 17 阅读大约需 2 分钟
第二十七章 S 开头的术语

第二十七章 S 开头的术语

存储接口 (storage interface)

对象(Objects)

使用自定义存储或编写自己的存储类时必须实现的一组方法。

存储策略 (storage strategy)

对象(Objects)

类使用的存储策略在编译时评估为存储定义,决定数据的存储方式。

存储过程 (stored procedure)

SQL

存储过程允许你从 ODBCJDBC 执行查询或类方法。

流接口 (stream interface)

对象(Objects)

IRIS 流接口用于在 ObjectScriptSQLJava 中操作流。

流 (stream)

对象(Objects)

0 0
0 92
文章
· 二月 16 阅读大约需 2 分钟
第二十六章 S 开头的术语

第二十六章 S 开头的术语

共享锁 (shared lock)

对象(Objects)

共享锁在对象从数据库加载期间保持共享锁,并在保存期间保持独占锁(如果跨多个节点或正在更新)。对于第一次在单个节点上保存的对象,不会获取锁。

共享保留锁 (shared retained lock)

对象(Objects)

共享保留锁从对象从数据库加载到关闭期间保持共享锁,并在保存期间保持独占锁(如果跨多个节点或正在更新)。对于第一次在单个节点上保存的对象,不会获取锁。

SOAP

通用

用于实现 Web 服务的协议规范。它使用 XML 作为消息格式,通常依赖其他应用层协议,例如远程过程调用(RPC)和 HTTP,用于消息协商和传输。`` 曾是“简单对象访问协议”(Simple Object Access Protocol)的缩写,但现在不再是缩写——它只是该协议的名称。

0 0
0 78
文章
· 二月 16 阅读大约需 2 分钟
第二十五章 S 开头的术语

第二十五章 S 开头的术语

以 S 开头的术语

模式演变 (schema evolution)

对象(Objects)

模式演变允许你在不丢失使用旧类定义存储的数据访问能力的情况下,为类添加新的类成员。

搜索用户 (search user)

系统

IRIS 连接到 LDAP 服务器的用户,其权限允许搜索 LDAP 数据库。其值在 LDAP 配置页面(系统管理 > 安全 > 系统安全 > LDAP 配置)的 LDAP 搜索用户 DN 或用于搜索的 LDAP 用户名字段中指定。(请注意,如果启用了 Kerberos,页面名称和菜单选项中会包含 Kerberos。)

次要卷 (secondary volume)

系统

0 0
0 91
文章
· 二月 14 阅读大约需 2 分钟
第二十四章 R 开头的术语

第二十四章 R 开头的术语

结果集 (result set)

对象(Objects)

结果集包含查询返回的数据。可以使用查询接口处理结果集。

角色 (role)

系统

InterSystems 安全系统中的实体,可以接收执行操作和查看或更改数据的能力。这些能力以特权的形式授予角色。当用户成为角色的成员时,它会获得角色的特权。

角色分配机制 (role-assignment mechanism)

系统

将各种角色赋予用户以使用 IRIS 的方式。角色分配可以使用 IRIS 原生机制、LDAP 或委托(即用户定义)代码进行。这是授权过程的一部分。

回滚 (roll back)

系统

在系统故障后从 IRIS 数据库中移除不完整事务的过程。IRIS 在其恢复程序中移除这些更改。请参见日志记录、事务。

0 0
0 84
文章
· 二月 13 阅读大约需 2 分钟
第二十三章 R 开头的术语

第二十三章 R 开头的术语

恢复 (recovery)

系统

在系统故障后恢复数据完整性的方法。

重定向 (redirection)

系统

使全局的位置对应用程序不可见的一种方式。IRIS 支持两种类型的重定向:命名空间定义和复制。

引用 (reference)

对象(Objects)

引用指向另一个对象或表,创建属性或字段与引用对象或表之间的单向关系。

注册类 (registered class)

对象(Objects)

注册类源自 %RegisteredObject 类。IRIS 自动管理注册类的对象引用,并支持多态性。

关系型数据库 (relational database)

通用

根据关系模型组织的相关数据集合。

0 0
0 80
文章
· 二月 12 阅读大约需 2 分钟
第二十二章 P - R 开头的术语

第二十二章 P - R 开头的术语

程序员模式 (programmer mode)

系统

所有程序开发活动进行的模式。在程序员模式下,你从 IRIS 提示符启动程序,并且每个运行的程序结束后提示符会重新出现。程序员模式涵盖了 IRIS 环境及其所有可调用的程序,包括 SQL 开发环境。在程序员模式下,你可以创建用户随后在应用程序模式下运行的应用程序。

项目 (project)

系统

用户定义的相关源文档(如例程或类定义)列表。Visual Studio Code 使用项目来帮助组织应用程序开发。

属性 (property)

对象(Objects)

表示与类相关联的特定特性的一个数据元素。该类的每个对象包含属性的字面值或指向表示数据的另一个对象的引用。一个类的所有属性共同表示其状态。

属性排序 (property collation)

对象(Objects)

0 0
0 84