【问题标题】:FHIR interoperability platform choiceFHIR 互操作性平台选择
【发布时间】:2020-05-22 08:42:49
【问题描述】:

我想创建一个符合复杂业务逻辑的互操作性平台 FHIR。

我们的客户可以将 FHIR 资源发送到平台。

最佳实践文档中的最佳架构是 ibrid 系统 FHIR + SOA,正如 link 所说。

现在我写了两个我必须管理的场景示例:

第一个:

我想创建一个 ServiceRequest 资源,其中我只知道财政代码作为标识符的主题。如果我需要有关该主题的其他信息,我可以查询外部数据库,例如,了解姓名、姓氏等。

我可以这样做,只向我的互操作性平台发送如下服务请求?

"resourceType" : "ServiceRequest",
"subject" : {
     "reference" : "Patient?identifier=FISCALCODE"
 }

等等

第二个:

我想创建一个 ServiceRequest 资源,并在请求者标签中链接一个 RelatedPerson。

RelatedPerson 不是一个完整的注册表,我只知道姓名和患者的链接。

我必须创建一个 SOA 方法createServiceRequest 我必须在其中传递两个参数 ServiceRequest 和 RelatedPerson?或者我可以对 Bundle 资源使用 CRUD 方法,将我的 ServiceRequest 和我的 RelatedPerson 作为条目放置?

所以如果我尝试总结一下,可能的方法是:

  1. 创建方法createMyMethodName(ServiceRequest serviceRequest, RelatedPerson relatedPerson)

    • 这个方法的创建和曝光是FHIR标准吗?
    • 如果第一个问题的答案是YES,在我的平台上我会有很多自定义方法,但我对输入信息有非常严格的控制
  2. 使用 CRUD Bundle 方法,我将以下条目传递到 Bundle 资源中:ServiceRequest、RelatedPerson

    • 通过这种方式,我只公开了一种在我的平台上编写的方法,但我必须实现大量代码来管理具有多个不同条目的所有输入包(我假设一个大型开关,然后为每个分支应用业务逻辑控制来完成我的业务逻辑规则)

【问题讨论】:

    标签: interop hapi-fhir hl7-fhir


    【解决方案1】:

    此回复并非对您问题的完整回复,而是来自美国的观点;但是,您可能会发现透视图很有用。

    带有标识符查询的陷阱

    "reference" : "Patient?identifier=FISCALCODE"

    如所写,您的?identifier=FISCALCODE 将针对所有代码系统查询FISCALCODE 键。我认为您想要的是指定一个代码系统,例如?identifier=<CodeSystem>|<FiscalCode> 这是隐藏在FHIR search documentation 中的常见问题。

    您要么必须引用现有的代码系统,例如类似于 US Core 的意大利特定实施指南,其中包含 FiscalCodes 列表,或自己编写。

    您使用的是哪种 FHIR 集成范例?

    在深入探讨 createMethod 与 Bundle 问题之前,我认为退后一步并选择整体 FHIR 集成方法会很有用。

    在我看来,主要有以下三种方法:

    • 将数据加载到现有的独立 FHIR 服务器
      • 挑战:在 FHIR 服务器和其他数据仓库中加载的数据之间漂移
    • FHIR 服务器查询非 FHIR API
      • 挑战:FHIR API 和非 FHIR API 之间的重复
      • 注意:在限制情况下,FHIR 服务器中没有存储任何数据。更令人困惑的是,有些人会将此实现称为“FHIR 网关”而不是“FHIR 服务器”。
    • FHIR 服务器查询暂存数据库以获取 FHIR 数据
      • 挑战:必须为每个 FHIR 资源和每个数据元素写入数据访问权限。

    未来,可能会有第四种方法,即使用 FHIR 映射语言从中间源模型实时映射到多个目标。

    您的“CRUD Bundle 方法”更符合将数据发布到独立 FHIR 服务器,而您的“createMyMethodName”更符合将 DAO(数据访问对象)写入外部数据库。

    在您不需要在 FHIR 服务器和源数据系统之间保持同步的情况下,将数据导入独立的 FHIR 服务器的工作量要少得多。

    如果您已经映射到中间数据模型(在美国,许多大型服务提供商将映射到 USCDI 或通用临床数据集),那么您可以更轻松地在针对现有数据库的 FHIR 服务器。

    如需更深入的讨论,请参阅 FHIR 开发日 2018 上的 FHIR 集成模式演讲,starting at Slide 21。请注意,作者假定您熟悉外观模式等架构模式。

    选择独立服务器或库

    除非您有令人信服的要求或者是一家大公司,否则建议使用现有的开源独立服务器或库实现。最受欢迎的三个是:

    • HAPI-FHIR (Java)
    • 微软 (.NET)
    • IBM (Java)

    如果采用独立选项,流行的商业 FHIR 服务器

    • Microsoft(托管在 Azure 中)
    • Smile CDR(HAPI-FHIR 商业版)
    • 火力旺克

    【讨论】:

    • 感谢您的深切回应。祝你有美好的一天
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多