清除过滤器
文章
Lilian Huang · 15 hr 前
数字健康解决方案提供者面临的压力越来越大,他们不仅要集成复杂的健康数据系统,还要确保可扩缩性、安全性和符合 HL7 FHIR 等标准。 Fast Healthcare Interoperability Resources (FHIR) 提供了一个标准化框架,使不同的健康 IT 系统能够毫不费力地进行通信,彻底改变了健康数据的交换方式。 但是,仅仅遵循 FHIR 标准并不足以应对健康数据集成错综复杂的问题。 解决方案合作伙伴必须利用 FHIR 代理、装饰和仓库等先进的架构组件来构建可扩缩的高效解决方案。 无论是本地部署、在公共云中,还是作为 InterSystems 管理的基于云的服务,InterSystems 提供为您的健康数据实现 FHIR 所需的所有必要功能。
InterSystems IRIS for Health 是一个全面的数字健康开发平台,提供处理 FHIR 数据和开发 FHIR 应用程序所需的所有要素。 InterSystems 平台包括可靠、高效的数据管理栈,并无缝实现 FHIR,使开发者能够创建可扩缩、可互操作的医疗保健解决方案。
为了支持这些功能,InterSystems IRIS for Health 包括下列一整套强大的功能,不仅可以简化 FHIR 集成,还能最大限度地提高互操作性:
FHIR 服务器 – 一个开箱即用的完全兼容 FHIR 的服务器,也可以作为 FHIR 装饰的前端。 此服务器可以接受、处理 FHIR 请求,并将其转换为底层系统使用的旧版格式,或反之。
批量 FHIR – 一组独特的功能,可以导入和导出大型 FHIR 数据集,用于研究、分析、数据迁移和其他用途。 批量 FHIR 让您可以在一个高效的请求中轻松检索主要 FHIR 资源,并管理多个系统和位置中的大型数据集。
FHIR 转换 – 一组独特的工具,可以让您在 FHIR 资源和旧版数据格式(例如,HL7 v2、CDA、自定义模式)之间无缝转换。 该平台可以将这些旧版格式实时映射到 FHIR 中,从而高效地检索和更新数据。
FHIR SQL Builder – 一个供分析师和开发者使用的独特工具,他们可以使用 ANSI SQL、Power BI 或 Tableau 等熟悉的工具安全地实时查询 FHIR 数据。 由于采用复杂的有向图进行编码,FHIR 无法使用标准 SQL 进行查询。 使用 FHIR SQL Builder,您可以基于 FHIR 仓库本身创建自定义 SQL 架构,无需将数据移动到额外的 SQL 仓库。
数据规一化和访问 – 支持数据规一化,以便从旧版系统中检索到的数据具有良好的结构并能够以 FHIR 格式进行访问。 此功能对于确保汇总并一致地显示来自不同系统的数据至关重要。
FHIR 对象模型 – 使用支持代码补全和 IntelliSense 的 FHIR 模型类自定义代码编程。
FHIR 组件、架构和模式
FHIR 提供了一个灵活的可扩缩框架来实现医疗保健数据的互操作性。 为了有效利用 FHIR,我们需要了解实现数据集成和数据交换所需的关键组件、架构和模式。 概括来讲,FHIR 的功能分为以下几个组成部分:
FHIR 代理 充当多路由中介,简化了各种系统之间健康数据的流动和交换。 它通过管理事务、协调不同的系统并确保高效安全地移动数据,实现了无缝的互操作性。 对于数字健康解决方案合作伙伴,FHIR 代理充当“交换所”的角色,简化了数据交换过程,这让他们可以更轻松地在复杂的生态系统中集成和扩缩应用程序,无需从数据库中额外检索 FHIR 数据。
FHIR 装饰充当单一接口,可以降低底层非 FHIR 数据库的复杂性,使开发者能够专注于应用程序功能,而不是低层次的数据管理。 装饰立于非 FHIR 系统“之前”,因此基于 FHIR 的操作能够应用于该系统。
FHIR 仓库提供了一个集中式数据存储库,用于以 FHIR 格式原生管理和提供健康数据,并确保数据的完整性、安全性和访问控制。 仓库的优点是更容易集成和管理,以及更好的性能和更高效的查询和更新。
同时,这些 FHIR 组件还使开发者能够创建灵活、高性能、安全的医疗保健应用程序,在提高患者治疗效果的同时,还可以减少开发和维护开销。
InterSystems FHIR 栈为 FHIR 实现者提供了一种选择,他们可以利用强大的数据集成和管理专业知识为所有主要的 FHIR 架构模式提供支持,这些模式会以不同的方式组合前述的 FHIR 组件。 InterSystems 提供了一整套全面的 FHIR 功能,这不仅有助于遵守 FHIR 标准,还会增强不同系统之间的数据互操作性。 通过将技术能力与深厚的行业知识相结合,InterSystems 帮助开发者应对 FHIR 应用的复杂性,并实现最适合其需求的 FHIR 解决方案。
安全性是医疗保健数据管理的一个关键因素,InterSystems 提供了强大的工具来确保其 FHIR 接口的安全。 这包括基于角色的访问控制 (RBAC)、对 FHIR 的 OAuth2 支持,以及审核日志记录,以确保符合 HIPAA 等医疗保健法规。
我们来检验一下这些 FHIR 组件如何在 InterSystems 软件中协同工作,帮助您选择最符合您需求的架构模式。
FHIR 代理
FHIR 代理是一个使用 FHIR 标准的多路由中介,它能够促进医疗保健数据的交换。 它充当不同健康信息系统之间的连接器,使它们能够通过转换和路由 FHIR 资源进行有效通信。 在多个系统(如电子健康记录 (EHR)、临床应用程序和患者管理系统)需要无缝共享数据,同时仍需遵守 FHIR 标准的环境中,FHIR 代理必不可少。
InterSystems FHIR 代理功能为数据转换、验证和聚合提供了强大的工具,这些功能共同构筑了 FHIR 架构的基石。 这可以简化基于 FHIR 的解决方案的实现,而这些解决方案可以应对集成多个旧版系统之类的特定挑战。 例如,医院网络可能会整合各种 EHR 系统中的患者数据,而 InterSystems FHIR 代理可以聚合这些系统中的信息,将其标准化为 FHIR 格式并以统一的视图呈现。 然后,临床医生可以实时访问全面的患者信息,从而改善医护协调,降低出错风险。 此外,FHIR 代理还可以促进人口健康管理的安全、可扩缩的数据共享,使医疗保健提供者能够分析趋势,改善不同人群的患者的治疗效果(例如,心脏病、戒烟和儿童肥胖症)。
InterSystems SDA(摘要文档架构)数据模型旨在确保更加高效地将旧版医疗保健数据格式转换为现代标准(如 FHIR)。 SDA 为各种旧版医疗保健数据格式(如 HL7 v2、CDA(临床文档架构)或自定义平面文件格式)提供了统一的数据表示。 这种中间格式弥合了高度结构化的旧版系统与更加模块化、更灵活的 FHIR 结构之间的差距,并将作为 FHIR 代理解决方案的一部分。
SDA 还充当抽象层,将不同来源的数据标准化为通用格式。 这种抽象降低了将每种格式直接转换为 FHIR 的复杂性,因为 SDA 提供了一种规一化的结构。
数据转换为 SDA 格式后,即可在多个系统中重复使用。 对于每种旧版格式,只需进行一次 SDA 格式转换即可。 通过 SDA,数据可以导出为各种现代标准,包括 FHIR,从而减少了多次点对点转换的需求。
InterSystems 提供内置的工具和连接器,可以让您轻松地从旧版格式转换为 SDA 以及从 SDA 转换为 FHIR。 这包括预定义的映射、解析器和转换逻辑。 InterSystems 还支持自定义 FHIR 配置文件,可以将 SDA 数据转换为满足特定组织或监管要求的 FHIR 配置文件。
FHIR 装饰
FHIR 装饰是医疗保健系统中使用的一种架构模式,可以在现有的不兼容 FHIR 的系统之上提供兼容 FHIR 的接口。 它充当实现接口,以标准化的 FHIR 格式公开来自旧版非 FHIR 系统的数据和服务,从而实现与现代医疗保健应用程序的互操作性,而无需对底层旧版系统进行重大更改。 与协调多个系统的 FHIR 代理不同,FHIR 装饰立于非 FHIR 系统“之前”。
许多医疗保健系统都基于早期标准构建,如 HL7 v2、CDA(临床文档架构)或与 FHIR 不兼容的自定义数据格式。 FHIR 装饰通过将旧版格式的数据按需转换为 FHIR,提供了一种满足现代互操作性标准,并与电子健康记录 (EHR) 系统、健康信息交换 (HIE) 和患者应用等新应用程序相集成的解决方案。
通过 InterSystems 和 FHIR 实现客户成功
以色列的一家健康维护组织 Leumit Health Services 试图改善付款人与服务提供者之间的数据共享,使其成员更容易获得医疗护理。
通过与 HL7 FHIR 实现方面的当地专家和当地医疗中心合作,Leumit 开发出一种通过 FHIR 装饰集成其各个系统的解决方案。 此解决方案可以自动登记患者:通过 InterSystems IRIS for Health,立即现场确定是否有资格共享基于 FHIR 的数据。
FHIR 装饰的主要特征
实时数据转换 – FHIR 装饰可以实时转换数据,在旧版系统的原生格式与 FHIR 资源之间转换请求和响应。
不干扰现有系统 – 底层系统继续像往常一样运行,而装饰会处理 FHIR 交互,最大限度地减少对旧版基础架构进行代价高昂的破坏性更改的需求。
逐步实现现代化 – FHIR 装饰可以让组织公开兼容 FHIR 的 API 供外部使用,逐步实现现代化,而不必一步到位地改革旧版系统。
互操作性 – 通过将旧版格式转换为 FHIR,FHIR 装饰可以与其他需要兼容 FHIR 的医疗保健系统、应用程序和平台实现互操作性。
InterSystems IRIS for Health 提供了一套理想的工具和技术来实现 FHIR 装饰,因为它原生支持 FHIR 和 FHIR 数据转换。
InterSystems IRIS for Health 支持使用自定义 FHIR 配置文件和扩展,使组织能够根据其特定需求调整 FHIR 装饰。 这种灵活性使 FHIR 装饰能够满足地区或组织的数据交换要求,同时遵守 FHIR 标准。
FHIR 仓库
与 FHIR 装饰相比,FHIR 仓库提供了一种更方便、更高效的医疗保健数据管理方式。 虽然这两种方式都旨在提供互操作性并促进 FHIR 的使用,但 FHIR 仓库在数据管理、性能和易于集成方面具有许多优势。 FHIR 仓库以 FHIR 格式原生存储、管理和展示医疗保健数据,提供了一个可以高效查询和更新数据的集中式平台。 这与 FHIR 装饰形成鲜明对比,后者用作旧版系统的前端,在非 FHIR 格式与 FHIR 格式之间实时转换。
InterSystems FHIR 仓库经过专门设计,支持以 FHIR 格式存储和管理数据,无需实时转换数据。 通过原生存储 FHIR 资源,仓库可以更高效地处理复杂的 FHIR 查询和更新。
无需中间映射,直接对 FHIR 仓库进行查询,这对于复杂搜索特别有用,例如跨多个 FHIR 资源(如患者、病情、观察)的患者记录查询。 所有数据都以 FHIR 格式存储在一个地方。 这提高了数据存储和访问的一致性、效率和可靠性。
InterSystems FHIR 仓库可以随着医疗保健组织的不断发展而高效扩缩并处理越来越多的数据。 由于仓库存储了预转换的 FHIR 数据,在处理来自多个系统的并发请求时,系统会进行性能优化。 InterSystems 具有一个可扩缩性实验室,用于对 FHIR 的性能进行基准测试。 该实验室定期运行一整套 FHIR 基准测试,结果显示在复杂的 FHIR 搜索查询方面取得了显著的进步。 简单的仓库搜索每秒可以检索超过 160,000 个 FHIR 资源,在要求更高的情况下具有类似的性能 (Jamieson & Banand, 2024)。¹
InterSystems 提供了一个开箱即用的完全兼容 FHIR 的仓库。 这使医疗保健机构不必进行复杂的设置即可快速部署符合最新 FHIR 标准的 FHIR 仓库。 此栈支持所有主要的 FHIR 交互,包括资源创建、检索、更新和删除。 InterSystems 确保其 FHIR 仓库与不断发展的 FHIR 标准保持一致,提供对最新的 FHIR 资源和功能支持。 这可以确保与其他基于 FHIR 的系统兼容,并适应不断发展的医疗保健标准。
利用 InterSystems IRIS 扩展 FHIR 仓库的功能
内置的 FHIR 仓库与 InterSystems IRIS for Health 数据平台原生集成,可以实现与其他医疗保健系统和应用程序的无缝交互。 这使摄取、存储和检索 FHIR 资源变得更加容易,不会带来额外的复杂性。
InterSystems IRIS for Health 包含一个多模型数据库,并支持高级分析、AI 和机器学习模型。 此平台的 FHIR 仓库可以用作构建分析解决方案的基础,分析解决方案能够从结构化和规一化的医疗保健数据中提取信息。 InterSystems 独特的 FHIR SQL Builder 工具使开发者能够以关系格式“投射”FHIR 资源,从而轻松使用 ANSI SQL 或 BI 工具进行分析。 由于此平台是一个真正的多模型数据库,它可以实时进行这些投射,分析用户始终具有最新的信息,无需在数据仓库中复制其数据。
InterSystems IRIS for Health 以 FHIR 格式存储和查询数据,使组织能够应用人口健康分析、预测患者治疗效果,以及优化临床操作。
为什么选择 InterSystems FHIR 解决方案
无论您是构建 FHIR 代理、FHIR 装饰还是 FHIR 仓库,技术栈的选择都会对您的成功产生重大影响。 以下是 InterSystems FHIR Stack 应当成为您的首选的原因:
全面、可扩缩的 FHIR 支持 – InterSystems 为所有版本的最新 FHIR 标准提供全面的支持。 InterSystems IRIS for Health 拥有处理大量临床数据的可靠记录,
专为可扩缩性而设计。 无论您是开发简单的 FHIR 代理还是复杂的 FHIR 仓库,InterSystems 都可以确保即使在高容量环境中也可以进行高效扩缩,而不会影响性能。 我们独特的 InterSystems Bulk FHIR Coordinator 可以让您从支持批量 FHIR 的其他 FHIR 服务器和 EMR 进行批量导出,从而可以在一个地方轻松管理您的所有 FHIR 数据。
与现有系统无缝集成 – 医疗保健 IT 面临的一个最大挑战就是将新解决方案与旧版系统集成在一起。 InterSystems 的 FHIR Stack 在基于 FHIR 的新型应用程序与较早的 HL7 v2、HL7 v3 和 CDA 标准之间提供了无缝衔接。 这种互操作性可以确保在贵组织的 IT 环境中持续通信,而无需调整现有的基础架构,这使其成为 FHIR 装饰和我们独特的 FHIR 转换服务的理想选择。
经过验证的性能和可靠性 – 在医疗保健领域,可靠性不容商议。 InterSystems 一直以提供高可用性和低延迟的企业级性能而闻名。 FHIR Stack 基于 InterSystems IRIS for Health 构建,是专门针对医疗保健工作负载而设计的数据平台。 无论您是管理 FHIR 仓库还是充当 FHIR 代理,它都可以确保一致的正常运行时间和高效的实时数据交换。
高级数据管理和安全 – 数据安全和患者隐私在医疗保健领域至关重要。 InterSystems FHIR Stack 提供了强大的内置安全功能来保护敏感的医疗保健数据。 它完全符合 HIPAA 和其他全球标准,提供基于角色的访问控制、审核日志和加密功能。 对于构建 FHIR 仓库的组织来说,符合这些标准意味着可以放心地存储和交换大型数据集。
广泛的开发和自定义工具 – InterSystems 提供全面的开发环境,包括 API、SDK 和 FHIR SQL Builder,可以帮助您根据特定需求自定义和扩展 FHIR 解决方案。 无论您需要轻量级 FHIR 代理还是功能丰富的 FHIR 仓库,我们的工具和强大的支持服务都可以实现快速定制,加快上市速度。
卓越的供应商支持和生态系统 – InterSystems 以其出色的客户支持而闻名,其中包括全天候获取技术资源和广泛的开发者社区。 我们强大的合作伙伴和解决方案生态系统确保您在工作中永远不会孤单。 无论您是要就 FHIR 装饰的最佳做法进行咨询,还是要为您的 FHIR 仓库进行技术故障排除,都可以随时获取帮助。
更多关于此主题的文章:
FHIR-HL7v2-SQL-Demo
我的 FHIR 使用经验
iOS、FHIR 和 IRIS for Health
fhir-integratedml-example 概述
Iris FHIR Python 策略
一个使用 Python 编写的 FHIR 客户端的简单示例
一个使用 C# 编写的 FHIR 客户端的简单示例
一个使用 Java 编写的 FHIR 客户端的简单示例
使用嵌入式 Python 自定义 FHIR 仓库
FHIR 环境设置指南
来源:利用 FHIR 简化健康数据集成
文章
Lilian Huang · 15 hr 前

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

## 🤖我们为什么要构建 FHIRInsight
这一切都始于一个简单而有力的问题:
> “为什么验血结果仍然很难读懂 — 有时甚至对医生来说也是如此?”
>
如果您看过化验结果,您可能会看到一大堆数字、隐晦的缩写和“参考范围”,这些可能适用于您的年龄、性别或身体状况,也可能不适用。 毫无疑问,它是一种诊断工具,但如果没有背景信息,它就变成了一个猜谜游戏。 即使是经验丰富的医疗保健专业人员有时也需要交叉参考指导方针、研究论文或专家意见才能理解所有内容。
这正是 **FHIRInsight** 的用武之地。
我们不只是为患者而构建,也为一线医护人员而构建。 为轮流值班的医生,为捕捉生命体征细微变化的护士,为每一位试图在有限的时间和巨大的责任下做出正确决定的医护人员而构建。 我们的目标是让他们的工作简单一点,将密集的临床 FHIR 数据转化为**清晰、有用、以真正的医学科学为基础**的东西, 讲人类语言的东西。
FHIRInsight 不仅仅是解释化验结果。 它还:
- **提供化验结果是轻度、中度还是重度的情境建议**
- 根据临床症状**提出潜在病因和鉴别诊断**
- **提出下一步行动建议** — 是后续检查、转诊还是紧急护理
- **利用 RAG(检索增强生成)**拉取**相关科学文章**,为分析提供支持
想象一下,一位年轻的医生正在查看患者的贫血检查结果。 他们不需要在 Google 上搜索每一个异常值或翻阅医学期刊,而是收到一份报告,上面不仅总结了问题,还引用了最近的研究或世界卫生组织的指导方针来支持这一推理。 这就是将 **AI** 与**针对精选研究的矢量搜索**相结合的力量。
那患者呢?
他们再也不用盯着满屏的数字,猜想“胆红素 2.3 mg/dL”是什么意思,或者他们是否应该担心了。 他们会得到简单、周全的解释。 感觉更像是一场对话,而不是一份临床报告。 一些他们能真正理解的东西 — 并与他们的医生进行讨论,让人感觉更有准备,不那么焦虑。
因为这就是 **FHIRInsight** 的真正意义**:将复杂的医疗数据转化为清晰的见解**,**帮助医疗保健专业人员和患者共同制定更好、更自信的决策**。
## 🔍 表象之下
当然,所有这些表面上的简单,背后可能由一些默默运行的强大技术提供支持。
以下是 FHIRInsight 的构建基础:
- **FHIR (Fast Healthcare Interoperability Resources)** — 这是健康数据的全球标准。 它是我们接收化验结果、患者病史、受众特征和诊疗等结构化信息的方式。 FHIR 是医疗系统使用的语言,我们将这种语言翻译成人们可以真正使用的东西。
- **RAG(检索增强生成)的矢量搜索**:FHIRInsight 通过在**使用 InterSystems IRIS 原生矢量搜索的矢量数据库**中建立**科学 PDF 论文和可信 URL** 索引,增强其诊断推理能力。 当化验结果看起来模棱两可或差别细微时,系统会检索相关内容来支持其建议,它不是从记忆库中进行检索,而是从**真实的、最新的研究**中进行检索。
- **医学推理提示工程**:我们对提示进行了微调,以指导 LLM 识别各种血液相关疾病。 无论是缺铁性贫血、凝血功能障碍、激素失衡还是自身免疫触发因素,提示都会引导 LLM 了解症状、检验室模式和可能病因的变化。
- **LiteLLM 集成**:自定义适配器通过统一的接口将请求路由到多个 LLM 提供程序(OpenAI、Anthropic、Ollama 等),从而轻松实现回退、流式传输和模型切换。
无论您是查看 30 个患者图表的医生,还是想要理解数字含义的患者,都可以在几秒钟内将原始的化验数据转化为**可解释、富有实用价值的医学见解**。
## 🧩 创建 LiteLLM 适配器:使用一个接口管理所有模型
在后台,FHIRInsight 的 AI 赋能报告由 **LiteLLM** 驱动,后者是一个出色的抽象层,可以使我们通过一个 OpenAI 风格的界面调用 **100 多个 LLM**(OpenAI、Claude、Gemini、Ollama 等)。
但是要想将 LiteLLM 集成到 **InterSystems IRIS** 中,需要比隐藏在业务操作中的 Python 脚本更持久、更能重复使用的东西。 所以,我们创建了自己的 **LiteLLM 适配器**。
### 认识 `LiteLLMAdapter`
此适配器类可以处理您希望从一个强大的 LLM 集成中获得的所有东西:
- 接受 `prompt`、`model` 和 `temperature` 等参数
- 动态加载环境变量(例如,API 密钥)
为了将其嵌入我们的互操作性生产中,我们将其包装在一个专门的**业务操作**中:
- 通过标准的 `LLMModel` 设置处理生产配置
- 与 FHIRAnalyzer 组件集成,以实时生成报告
- 作为未来任何需要访问 LLM 的组件的中心“AI 桥”
以下是简化的核心流程:
```
set response = ##class(dc.LLM.LiteLLMAdapter).CallLLM("Tell me about hemoglobin.", "openai/gpt-4o", 0.7)
write response
```
## 🧭 结语
当我们开始构建 FHIRInsight 时,我们的使命很简单**:让验血结果对每个人来说都更容易理解**。 不仅仅是患者,还有医生、护士、护理人员… 任何曾经盯着化验结果苦思冥想的人,“*好吧,这到底是什么意思*?”
我们都有过这样的经历。
通过融合 FHIR 的结构、InterSystems IRIS 的速度、LLM 的智能,以及通过矢量搜索实现真实医学研究的深度,我们创造了一个可以将令人困惑的数字转化成有意义的叙述的工具。 帮助人们对自己的健康做出更明智的决定,甚至可能及早发现一些被忽视的疾病。
但 FHIRInsight 不仅仅与数据相关。 它还与**我们查看数据时的感受**相关。 我们希望它给人一种清晰、支持和赋能的感觉。 我们希望这种体验… 有点像**“氛围编程”医疗保健** — 在智能的代码、优秀的设计和人类同理心方面达到最佳平衡点。
我们希望您能尝试它,打破它,质疑它,并帮助我们改进它。
告诉我们您接下来想看到什么。 更多条件? 更具可解释性? 更加个性化?
这只是一个开端 — 我们希望您能帮助塑造它的未来。