文章 Lilian Huang · 二月 10 6m read

有时,根据预先定义的资源 "列表(List)"限制 FHIR 搜索会更方便、更高效、更安全。

自 2025.1 版起,我们的 FHIR 服务器支持多个与列表相关的功能

我将在此重点介绍这些功能,并提供一些示例。

0
0 38
文章 Lilian Huang · 十二月 11, 2025 2m read

在当今的医疗数据领域,FHIR 已成为结构化临床数据交换的标准。然而,虽然 FHIR 擅长互操作性,但其 JSON 格式却给分析带来了挑战——包括FHIR QuestionnaireResponse数据

本项目演示了如何将 FHIR QuestionnaireResponse 数据从嵌套 JSON 转换为关系 SQL 表和向量嵌入。通过集成 InterSystemsIRIS FHIR SQL 生成器向量搜索,我们揭开了患者回答背后的语义。

构建的三个步骤

1.设计和收集问卷

首先使用 美国国家医学图书馆(NLM)表格生成器。该工具有助于设计符合 FHIR 标准的结构化临床表格在本项目中,收集了 100 份合成患者回复,并将其保存为 FHIR QuestionnaireResponse JSON 文件,准备导入 FHIR 服务器。

2.通过 SQL 转换和查询问卷数据

将 FHIR QuestionnaireResponse 资源加载到服务器后,使用InterSystems IRIS FHIR SQL 生成器自动创建关系 SQL 表。这将使嵌套的 JSON 结构扁平化,从而能够使用标准 SQL 轻松分析问卷数据——所有配置只需点击几下即可完成。

  • 有关 FHIR SQL 生成器的完整配置,请参阅README。

0
0 116
文章 Lilian Huang · 十二月 8, 2025 10m read

什么是 XML?

XML(可扩展标记语言)是一种灵活的、基于文本的、独立于平台的格式,用于以结构合理 、人机可读的方式存储和传输数据 。XML 允许用户定义自定义标签来描述数据的含义和组织结构。例如:<book><title>The Hitchhiker's Guide</title></book>.

XML 文档具有自描述性,其结构是一棵分层的元素树。每个文档都有一个封装所有其他内容的根元素。元素可以包含文本、子元素和属性(提供补充信息的名-值对)。这些文档通常用 .xml 文件存储

这种结构的完整性可以通过以下方式实现:

  • DTD(文档类型定义):提供基本的验证规则。
  • XSD(XML 模式定义):提供高级规则,包括数据类型和约束。

转换 XML 文档

这部分内容介绍如下:

  1. 解析一般 XML 并将其转换为 HL7 标准。
  2. 解析 CCDA(综合临床文档架构)文档(XML)并将其转换为 HL7 格式。

在这些实施过程中,两种格式都会首先转换为 InterSystems IRIS SDA(标准化数据架构)格式。这被认为是一种标准、高效、不易出错的方法,因为它有效地利用了平台的 预置类。数据采用 SDA 格式后,可无缝转换为任何目标标准,如 HL7 v2FHIRCCDA

解析通用 XML 文档

通用 XML 文档具有自描述功能,可与 <name>、<sex> 和

0
0 106
文章 Lilian Huang · 十二月 4, 2025 4m read

当我们在 IRIS 中创建 FHIR 资源库时,我们有一个端点来访问信息、创建新资源等。但 FHIR 中有些资源可能不会出现在我们的资源库中,例如二进制资源(该资源返回文档,如 PDF)。

我创建了一个例子,当请求二进制资源时,FHIR 端点会返回一个响应,就像它存在于资源库中一样。

首先,我们需要一个命名空间和一个 FHIR 端点。然后,我们需要配置一个将连接到 FHIR 端点的互操作生产环境。该生产环境必须包含以下项目:

  • 业务操作:
    • HS.Util.Trace.Operations(事实上这是可选项,但非常有用)
    • HS.FHIRServer.Interop.OperationTraceOperations属性设置为 *FULL*
  • 业务服务:
    • HS.FHIRServer.Interop.ServiceTraceOperations属性设置为 *FULL*,目标配置名称设置为 HS.FHIRServer.Interop.Operation名称

生产环境如下所示:

创建此生产环境后,我们需要将其与FHIR端点连接。因此,编辑FHIR端点并将Service Config Name参数设置为业务服务(Business Process的名称:

现在,如果我们开始向 FHIR 资源库发送请求,就会在消息查看器(Message Viewer中看到所有跟踪信息:

现在

0
0 98
文章 Lilian Huang · 十一月 23, 2025 10m read

现代数据架构利用实时数据捕获、转换、移动和加载解决方案来构建数据湖、分析仓库和大数据存储库。它能够分析来自不同来源的数据,而不会影响使用这些数据的操作。要实现这一目标,必须建立连续、可扩展、弹性和稳健的数据流。最常用的方法是 CDC(变更数据捕获)技术。CDC 监控小型数据集的生产,自动捕获这些数据,并将其传送到一个或多个接收方,包括分析数据存储库。这样做的主要好处是消除了分析中的 D+1 延迟,因为数据一产生就会在源端被检测到,随后被复制到目的地。

本文将展示 CDC 场景中最常见的两种数据源,既可以是源数据源,也可以是目的地数据源。对于数据源(origin),我们将探讨 SQL 数据库和 CSV 文件中的 CDC。对于数据目的地,我们将使用列式数据库(典型的高性能分析数据库场景)和 Kafka 主题(将数据流传输到云和/或多个实时数据消费者的标准方法)。

概述

本文将为以下互操作场景提供一个示例:

0
0 116
文章 Lilian Huang · 十一月 6, 2025 6m read

我很清楚对于那些完全不熟悉 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原帖查看)

0
0 71
文章 Lilian Huang · 十一月 6, 2025 7m read

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

0
0 113
文章 Lilian Huang · 十月 24, 2025 14m read

学习如何使用 LangGraph 设计结合了推理、矢量搜索和工具集成的可扩缩自主 AI 智能体。

cover

概括

  • AI 智能体是一种超越简单的聊天机器人的自主系统,它结合了记忆库、上下文,并具有自动完成任务的主动性。
  • LangGraph 是一种框架,它使我们能够利用具有内置状态管理的节点(任务)和边缘(连接),构建复杂的 AI 工作流。
  • 本指南将指导您构建 AI 赋能的客户支持智能体,该智能体可以划分优先级,识别相关主题,并确定是上报还是自动回复。

那么,AI 智能体究竟是什么?

让我们直面它吧 —“AI 智能体”听起来就像可以接管会议室的机器人。 实际上,它们是您得力的助手,可以简化复杂的工作流,消除重复性任务。 您可以把它们看作是聊天机器人的下一个进化阶段:它们不只是简单地等待提示;它们可以发起行动,协调多个步骤,并随时进行调整。

过去,打造一个“智能”系统意味着兼顾语言理解、代码生成、数据查找等各种不同的模型,然后将它们粘合在一起。 您的一半时间花在了集成上,另一半时间则花在了调试上。

智能体彻底颠覆了这一切。 它们将上下文、主动性和适应性融合在一个精心编排的流程中。 它们不仅实现了自动化,更是肩负使命的智者。 借助 LangGraph 之类的框架,我相信,组建一支自己的智能体团队实际上会很有趣。

image

LangGraph 究竟是什么?

LangGraph

0
0 114
文章 Lilian Huang · 九月 19, 2025 12m read

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

Medical Science Hospital Lab Meeting healthcare

0
0 103
文章 Lilian Huang · 九月 19, 2025 2m read

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

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

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

IRIS Health diagram

0
0 86
文章 Lilian Huang · 九月 19, 2025 5m read

image

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

FHIRInsight logo

🤖我们为什么要构建 FHIRInsight

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

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

如果您看过化验结果,您可能会看到一大堆数字、隐晦的缩写和“参考范围”,这些可能适用于您的年龄、性别或身体状况,也可能不适用。 毫无疑问,它是一种诊断工具,但如果没有背景信息,它就变成了一个猜谜游戏。 即使是经验丰富的医疗保健专业人员有时也需要交叉参考指导方针、研究论文或专家意见才能理解所有内容。

这正是 FHIRInsight 的用武之地。

我们不只是为患者而构建,也为一线医护人员而构建。 为轮流值班的医生,为捕捉生命体征细微变化的护士,为每一位试图在有限的时间和巨大的责任下做出正确决定的医护人员而构建。 我们的目标是让他们的工作简单一点,将密集的临床 FHIR 数据转化为清晰、有用、以真正的医学科学为基础的东西, 讲人类语言的东西。

FHIRInsight

0
0 82
文章 Lilian Huang · 七月 18, 2025 2m read

大家好!

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

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

首先

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

SHOW显示

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

Prediction预测

完成信息输入后,点击预测实际上涉及到应用程序中的许多操作。

1. 将发送的 JSON 格式检查结果转换为 FHIR 资源(对部分患者基本信息和其他隐私数据使用模拟数据)
2. 通过 FHIR Server 提供的 API 接口(ip: port/hir/r4/)将转换后的 FHIR 资源注册到 FHIR 资源库,类似于使用 Postman 进行接口调用。需要注意的是,将内容类型设为 application/JSON+fhir

ClassMethod HTTPSend(IPAddress As%String, Port As%String, Url As%String, Body As%String, Output HttpResponse As%String(MAXLEN=256000)) 
0
0 127
文章 Lilian Huang · 六月 3, 2025 2m read

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

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

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

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

以下是5个功能支持:

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

2. CCDA 到 SDA 转换: 通过选定的基本 XSL 转换运行输入的 CCD,并显示 SDA 结果。

3. XSL 模板测试器: 针对输入 CCD 应用单个 XSL 模板,并显示生成的 CCD。

4. FHIR 到 SDA 转换: 在输入的 FHIR 资源或捆绑包上运行标准的 FHIR 到 SDA 转换,并显示 SDA 结果或 FHIR 验证错误响应。

5.5.

0
0 121
文章 Lilian Huang · 四月 16, 2025 7m read

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 190
文章 Lilian Huang · 四月 10, 2025 6m read

社区朋友们好,

传统的基于关键词的搜索方式在处理具有细微差别的领域特定查询时往往力不从心。而向量搜索则通过语义理解能力,使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 - 以下是实现文档摄取工具的代码:

defingestDoc(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 向量存储, 只有当数据尚未存在时,才执行该操作。


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

SELECTid, embedding, document, metadata
FROM SQLUser.AgenticAIRAG


1.2 - 实现向量搜索功能


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

defragSearch(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 153
文章 Lilian Huang · 三月 14, 2024 3m read

使用 FHIR SQL BUILDER 处理 FHIR 资源以预测患丙型肝炎疾病的概率

随着科技的发展,医疗行业也在不断的进步,人类也往往更加关注自身的健康,
通过计算机学习和处理数据集,可以预测疾病。

前提条件:使用 FHIR 和 ML的能力
首先,我们的数据集从kaggle获得,并根据患者性别、年龄、ALP或ALT转化为FHIR资源,并导入到FHIR资源库中

要导入FHIR资源库,我们可以使用以下命令:

Set sc= ##class (HS.FHIRServer.Tools.DataLoader).SubmitResourceFiles( "/usr/local/src/json/" , "FHIRSERVER" , "/csp/healthshare/fhirserver/fhir/r4" )

其中文件地址和fhir资源库URL可以根据情况进行修改。

完成导入后,下一步是配置FHIR SQL Builder,包括FHIR Analysis、转换规则和Projections

配置转换规则,这一点非常重要。它们可以获得你想要的数据,也可以省略患者的一些敏感信息,保证数据安全

配置完成后,创建一个投影,以查询数据库中的相应表

创建投影后,通过创建表或视图将表汇总成训练所需的结构

createview T2.HepatitisData ASSELECT TP.ID, TP.BirthDate, DA
0
0 176
文章 Lilian Huang · 三月 14, 2024 5m read

在上一篇文章中,我们了解了如何恢复存储在特定 HIS 数据库中的资源,因此今天我们将了解如何在 HIS 中添加新记录,其来源是我们在系统中收到的 FHIR 资源。

FHIR 的 CRUD 操作

FHIR 的主要功能之一是通过 Rest API 支持 CRUD 操作,这意味着任何使用 FHIR 的系统都必须提供对 GET、POST、PUT 和 DELETE 类型的 HTTP 调用的支持。在今天的文章中,我们将了解如何管理对安装 FHIR 适配器时自动配置的端点的 POST 调用。

如果我们回顾资源存储调用的 FHIR 规范,我们会发现它告诉我们,用于调用的 URL 必须遵循以下格式:

http(s)://server_url/{endpoint}/{Resource}

在我们的示例中,我们将不使用安全调用,因此我们的 URL 将如下所示:

http://localhost:52774/Adapter/r4/Patient

由于我们想要记录新患者,因此我们必须在调用正文中使用患者数据进行 POST 调用。在我们的例子中,调用格式将是 application/fhir+json,不过我们也可以使用XML格式的application/fhir+xml,不会有任何问题。

保存患者资源

在上一篇文章中我们已经看到了Patient资源的定义,所以这里不再重复,我们将看到的是我们格式化的测试患者是什么样子的。这将是

0
0 155
文章 Lilian Huang · 三月 14, 2024 6m read

人工智能(AI)最近受到广泛关注,因为它可以改变我们生活的许多领域。更好的计算机能力和更多数据帮助人工智能完成了许多惊人的事情,例如改进医学测试和制造自动驾驶汽车。人工智能还可以帮助企业做出更好的决策,提高工作效率,这也是人工智能越来越流行和广泛应用的原因。如何将 OpenAI API 调用集成到现有的 IRIS 互操作性应用程序中?

 

0
0 245
文章 Lilian Huang · 十二月 29, 2023 9m read

我们继续推出有关可供 HealthShare HealthConnect 和 InterSystems IRIS 用户使用的 FHIR 适配器工具的系列文章。

在前几篇文章中,我们介绍了小型应用程序,并在此基础上建立了我们的工作,并展示了安装 FHIR 适配器后在 IRIS 实例中部署的架构。在今天的文章中,我们将看到一个示例,说明如何执行最常见的 CRUD(创建 - 读取 - 更新 - 删除)操作之一,即读取操作,我们将通过恢复资源来完成此操作。

什么是资源?

FHIR 中的一个资源对应一种相关的临床信息,这种信息可以是病人(Patient)、对实验室的请求(ServiceRequest)或诊断(Condition)等。每种资源都定义了组成它的数据类型,以及对数据的限制和与其他类型资源的关系。每个资源都允许对其包含的信息进行扩展,从而满足 FHIR 80% 以外的需求(满足 80% 以上用户的需求)。

在本文的示例中,我们将使用最常见的资源 "Patient"。让我们来看看它的定义:

{ "resourceType" : "Patient" , // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and
0
0 225
文章 Lilian Huang · 十一月 24, 2023 3m read

我们继续使用FHIR适配器的示例,在本文中,我们将回顾如何在我们的IRIS实例中进行配置以及安装的结果。

配置项目的步骤与官方文档中所示的相同,您可以直接在此处查看。好吧,让我们开始工作吧!

安装

正如您在与本文相关的项目中看到的,我们将 IRIS 实例部署在 Docker 中,因此初始配置的主要部分将在 Dockerfile 中完成。别担心,我们不会详细介绍 Docker 配置。

要安装 FHIR 适配器,我们只需:

  1. 在我们的 IRIS 实例中使用互操作性功能创建一个名为ADAPTER的命名空间。
  2. 从 IRIS 终端访问我们的命名空间并执行以下命令。
set status = ##class (HS.FHIRServer.Installer).InteropAdapterConfig( "/Adapter/r4" )

在我们的例子中,我们定义了将接收 REST 请求的 IRIS 端点的 URL 为/Adapter/r4

安装结果

FHIR 适配器安装完成后,我们可以查看 IRIS 实例中发生的情况。为此,我们首先查看 Web 应用程序菜单(系统管理 -> 安全 -> 应用程序 -> Web 应用程序

正如我们所看到的,一个新的 Web 应用程序已添加到列表中,表明它对应于我们的 ADAPTER 命名空间。让我们访问它以更详细地查看其配置。

正如我们所看到的,创建的 Web

0
0 243
文章 Lilian Huang · 十一月 24, 2023 2m read

想必大家都听说过 FHIR 是解决系统间所有互操作性和兼容性问题的灵丹妙药和解决方案。就在这里,我们可以看到他手持一份 FHIR 资源,愉快地享受其中:

但对于我们这些普通人,我们将做一个小小的介绍。

什么是 FHIR?

让我们直接进入定义:FHIR(Fast Healthcare Interoperability Resource)是由HL7(Health Level 7标准组)开发的一种互操作性标准,旨在实现医疗行业中不同系统之间的电子医疗数据交换。

FHIR 从根本上基于哪些技术?

主要是通过 REST API 和 JSON 格式进行 HTTP 调用的结合(尽管它可以是 XML 以及我们可用的任何其他通信,具体根据我们的使用情况)。

我们如何与 FHIR 合作?

一般来说,最简单的方式是拥有一个FHIR服务器,我们将使用诸如GET(从服务器获取数据)、PUT(更新数据)、POST(保存数据)和DELETE(删除数据)等HTTP调用与其通信。

FHIR处理了“资源”(Resource)的概念,用于在服务器和客户端之间发送和接收数据。这些资源旨在涵盖系统间80%的互通性需求。在这里,我们可以看到默认情况下可用的资源图示。

如您所见,每个资源都附带一个表示资源成熟度的数字或字母(其中N = 正式)。如果您访问官方的FHIR文档,您将能够获取到众多示例。

资源的一种扩展是“Bundle”,简言之,它是

0
0 307
文章 Lilian Huang · 九月 7, 2023 7m read

您好!社区的各位老师,

在我的上一篇文章中,我们学习了以下主题:

  1. 什么是 Docker?
  2. Docker 的一些好处
  3. Docker 是如何工作的?
  4. Docker 镜像
  5. Docker容器
  6. Docker 镜像存储库
  7. InterSystems 的 Docker 镜像存储库
  8. Docker安装
  9. Docker 基本命令
  10. 使用 Docker 运行 IRIS 社区版
  11. Docker 桌面图形用户界面

在本文中,我们将讨论以下主题:

  1. 使用 Docker Compose 文件( YAML 文件)
  2. Docker 文件的使用(用于构建 Docker 镜像)
  3. Docker 卷的使用

那么让我们开始吧。

0
0 220
文章 Lilian Huang · 九月 5, 2023 11m read

嗨,开发者们!

今天我想谈谈一个让我感到困难的话题。我相信你们中的很多人一定已经遇到过这种情况(所谓的“瓶颈”)。由于这是一个广泛的主题,因此本文将仅重点关注识别可能导致缓慢问题的传入 HTTP 请求。我还将向您提供我开发的一个小工具来帮助识别它们。

我们的软件变得越来越复杂,处理来自不同来源的大量请求,无论是前端还是第三方后端应用程序。为了确保最佳性能,必须有一个能够记录一些关键测量的日志系统,例如响应时间、global引用的数量以及每个 HTTP 响应执行的代码行数。作为工作的一部分,我参与了 EMR 软件的开发以及事件分析。由于用户负载主要来自 HTTP 请求(REST API 或 CSP 应用程序),因此在发生普遍缓慢问题时进行此类测量的需求变得显而易见。

0
0 327
文章 Lilian Huang · 八月 1, 2023 5m read

VR ICU® 是 InterSystems FHIR 创新孵化器 Caelestinus 的参与者。这篇文章将向您介绍我们利用 InterSystems FHIR Server 为医疗保健提供的 VR 解决方案。

我们是一家技术初创企业虚拟实验室,利用先进的 VR/AR 技术开发解决方案。VR ICU® 是一个针对重症监护室医务人员的培训平台,是在 Covid 时代为满足医院需求而创建的。

与InterSystems合作的优势

我们的 VR ICU® 解决方案符合实践需求,是与医院合作开发的。

除了技术解决方案和技能学习本身,记录培训课程、培训进度和成功率对于医院或麻醉学和重症监护部门的有效管理也至关重要。医务长可以通过了解谁在何时接受了培训,清楚地掌握能够在重症监护室使用设备的人员数量,从而有效地对他们进行培训,以保持技能、有控制地规划人员技能储备并提高他们的能力。

在这方面,与 InterSystems 的合作对我们来说至关重要,它使我们能够在应用程序中存储每次培训期间的数据。目前,我们会记录参与者的姓名、培训日期和时长、培训类型、设备类型、错误数量和类型,必要时还会记录培训成功完成的信息。

如何使用?用户登录应用程序并选择一个账户。

根据 HL7 标准,该账户作为从业人员存在于数据库的资源下。培训课程开始时,会在应用程序中创建一个新的

0
0 248
文章 Lilian Huang · 七月 31, 2023 2m read

FHIR® SQL Builder或 Builder 是 InterSystems IRIS 医疗版数据平台 的一个组件。它是一种复杂的投射工具,用于将 InterSystems IRIS  医疗版数据平台FHIR 存储库中的数据创建为自定义的 SQL 模式,而无需将数据移动到单独的 SQL 存储库中。 Builder 专门设计用于与 InterSystems IRIS 医疗版数据平台中的 FHIR 存储库和多模型数据库配合使用。

Builder 的目标是使数据分析师和商业智能开发人员能够使用熟悉的SQL分析工具使用 FHIR,而无需学习新的查询语法。 FHIR 数据以复杂的有向图编码,无法使用标准 SQL 语法进行查询。基于图的查询语言 FHIRPath 旨在查询 FHIR 数据,但它是非关系型的。 Builder 使数据管理员能够使用表、列和索引创建其 FHIR 存储库的自定义 SQL 来投射,使数据分析师能够查询 FHIR 数据,而无需学习 FHIRPath 或 FHIR 搜索语法的复杂性。
存储库将加载 FHIR 资源,您所需要做的就是配置 FHIR SQL BUILDER。
对于配置,导航到http://localhost:55037/csp/fhirsql/index.csp# /

有关如何进行配置的更多详细信息,请观看此教程视频


要查看配置,请导航到http://localho

0
0 282
文章 Lilian Huang · 七月 9, 2023 5m read

#Embedded Python #HL7 #InterSystems IRIS for Health

写在回复社区帖子《Python能否动态创建HL7消息》中。

前提条件和设置

使用一个启用了集成的命名空间。
注意:USER命名空间默认不启用互操作性。
如果以下建议创建一个新的互操作性命名空间来探索功能。

# 切换到
ZN "[互操作性名称空间名称]"

# 启动交互式Python shell:
Do $SYSTEM.Python.Shell()

启动脚本

#Load dependencies

import datetime as dt
import uuid

# Cache current time in CCYYMMDDHHMMss format
hl7_datetime_now=dt.datetime.now().strftime('%Y%m%d%H%M%S')

# Create HL7 Message
hl7=iris.cls("EnsLib.HL7.Message")._New()

# Set the doc type
# 2.5.1:ORU_R01 - Unsolicited transmission of an observation message
hl7.PokeDocType("2.5.1:ORU_R01")

这些信息的结构可以从管理门户中获取

 

创建M

0
0 386
文章 Lilian Huang · 七月 9, 2023 7m read

您好!社区的各位老师,

在本文中,我们将学习以下主题:

  1. 什么是 Docker?
  2. Docker 的一些好处
  3. Docker 是如何工作的?
  4. Docker 镜像
  5. Docker容器
  6. Docker 镜像存储库
  7. InterSystems 的 Docker 镜像存储库
  8. Docker安装
  9. Docker 基本命令
  10. 使用 docker 运行 IRIS 社区版
  11. Docker 桌面图形用户界面

那么让我们开始吧。


1.什么是Docker?

Docker 初学者指南 — 如何创建您的第一个 Docker 应用程序
Docker 是一种虚拟化软件,可以让应用程序的开发和部署变得非常简单。 Docker 通过将应用程序打包到所谓的容器中来实现此目的,该容器保留应用程序运行所需的所有内容,包括应用程序的实际代码、其库和依赖项、运行时和环境配置。

Docker 是一个容器化平台,允许开发人员在容器化环境中创建、部署和运行应用程序。 Docker 提供了一种将应用程序及其依赖项打包到单个容器中的方法,该容器可以在任何支持 Docker 的计算机上运行。这使得创建可快速、轻松部署的可移植、轻量级应用程序变得容易。


2. Docker 的一些好处

您可以在下面找到使用 Docker 的一些好处:

  • 可移植性Docker 容器可以在任何支持 Docker 的机器上运行,从而可以轻松地跨不同环境部署应用程序。
  • 一致性通过将应用程序及其依赖项
2
0 228
文章 Lilian Huang · 四月 28, 2023 8m read

     

嗨社区,
在本文中,我将演示 InterSystems Embedded Python 的用法,我们将涵盖以下主题:

  • 1-嵌入式Python概述
  • 2-嵌入式Python的使用
    • 2.1- 从 ObjectScript 使用 Python 库
    • 2.2- 从 Python 调用 InterSystems API
    • 2.3- 一起使用 ObjectScript 和 Python
  • 3-使用python内置函数
  • 4-Python 模块/库
  • 5 个嵌入式 Python 用例
  • 6-总结

我们从概述开始
 

1-嵌入式Python概述

嵌入式 Python 是 InterSystems IRIS 数据平台的一项功能,它允许 Python 开发人员完全直接地访问 InterSystems IRIS 中的数据和功能。

InterSystems IRIS 带有一种名为 ObjectScript

0
0 340
文章 Lilian Huang · 二月 28, 2023 3m read

嗨,InterSystems 开发人员!

最近我更新了FHIR 开发模板,它发布了一个 IPM 包fhir-server ,使 InterSystems FHIR 服务器的设置成为一个微不足道的手动或自动或编程的程序,只需一条命令。

请参阅下文,了解如何从中受益。

TLDR

USER>zpm "install fhir-server"

以下所有详细信息。

0
0 163
文章 Lilian Huang · 一月 19, 2023 10m read

在上一篇文章中,我们看到了最常用的HL7消息类型之一--ADT(入院、出院、转院)的结构,以及ADT^A04的例子和它所有字段的描述。现在让我们来看看另一个数据流,它与测试订单的订购和履行有关。我说的是ORM(从2.5版本开始,你应该使用特定的消息来订购测试,如OMG、OML、OMD、OMS、OMN、OMI和OMP),ORL和ORU消息。在一个非常简化的情况下,数据的交换可能看起来像这样。

让我们更详细地看一下这些消息。

0
0 911