首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将非标准JSON数据从REST映射到FHIR。

将非标准JSON数据从REST映射到FHIR。
EN

Stack Overflow用户
提问于 2020-07-09 10:47:35
回答 1查看 1.2K关注 0票数 0

我目前正在构建一个没有数据库附加的REST 'bridge‘,我希望从另一个API中转换一个JSON响应,将它转换为FHIR,然后将它传递给请求它的客户机。

由于FHIR本身的详细实现需求,我考虑使用node-fhir-server-core来实现它。在哪里实现非FHIR到FHIR的映射功能?可以使用node-fhir-server-core吗?如果不是,如何使用普通的express应用程序实现FHIR验证/支持?

EN

回答 1

Stack Overflow用户

发布于 2020-07-21 13:28:22

简短版本:

你需要弄清楚"https://github.com/Asymmetrik/node-fhir-server-core“是否支持什么

Hapi服务器调用“普通服务器”::https://hapifhir.io/hapi-fhir/docs/server_plain/introduction.html

冯克称“正面”::https://fire.ly/products/vonk/vonk-fhir-facade/

在他们的图表(右下角的below...towards)中,我看到了“资源提供者”,但我不确定这是“您的自定义资源提供程序”还是“我们的(不对称的)资源提供者”。

我查看了他们的一些文档,没有看到任何关于“如何实现您自己的自定义资源提供程序”的内容。(我从这里开始挖了些东西)。https://github.com/Asymmetrik/node-fhir-server-core/blob/master/docs/GettingStarted.md

但希望这些面包屑能达到其他人所说的这种设置。将有助于你的搜索。

如果你发现一些具体的东西,那么请报告,我自己很好奇。

但是,使用hapi或vonk,您将有一个fhir服务器设置,它将接收请求(通常是GET),将请求转换为(其他)内部REST server...get返回数据,将其转换为fhir (此时通常为r4 ) resource........and,该resource........and将被发送到最终客户端。简而言之,“适配器”设计模式。

较长版本:

如果您将数据“收集”到您的专有数据库中,这是很好的。然后,您将设置一个fhir服务器来公开该数据。Hapi Fhir“普通服务器”或Vonk (付费产品)外观模式将是向外界公开该数据的途径。你将取得你的所有权,并将它转换成fhir对象并暴露。

选项2.由于您有新代码,所以可以尝试将数据作为FHIR对象存储到数据存储区(db或nosql)。然后你把这些东西暴露给外面的世界。

FHIR是.一个众所周知的对象模型。医疗保健聊天的“语言”。

我个人的比喻是..。这就好像每个人都开始互相说英语,但更多的人说美式英语和说英式英语的人。我的意思是is...its并不总是完美的。在有些情况下,聊天并不完美。但距离很近。总比每件事都有一个翻译好得多。

如果您阅读这篇关于“普通服务器”(普通fhir服务器)的文章(这是关于将现有的专有数据转换为fhir资源)

https://hapifhir.io/hapi-fhir/docs/server_plain/introduction.html

vs ( hapi所称的"jpa",但通常是一个“全在”fhir服务器。

https://hapifhir.io/hapi-fhir/docs/server_jpa/introduction.html

.

您将开始看到设置fhir服务器的不同选择。

如果您有一个空白数据存储(数据库、nosql等),则有几个选项可用于设置fhir服务器。

Hapi Fhir + JPA支持数据存储。

使用CosmoDB或Server的MS Fhir Server (开放源码)。

(付费产品) Vonk“满”服务器。

“火花”是一个较旧的(但开源的) fhir服务器。

.

然而,大多数人都无法从空白的数据存储开始。

那你就有几个选择。

Hapi :您为IResourceProvider编写实现的Hapi(其中您将编写一个PatientResourceProvider,(任何/大多数其他Fhir资源)。等等

Vonk (付费产品)的概念与他们所说的Facade模式相同。

.

现在,我不知道混血儿。您必须选择一个或另一个(空白板岩数据存储或适配器/iresourceprovider/facade模式)。

.

好的,如果你想创建一个fhir服务器的话。

.

你可能只想使用别人的fhir服务器。然后,你想看看"fhir客户端“与某人一起工作,fhir服务器。

hapi有个fhir客户

https://hapifhir.io/hapi-fhir/docs/client/introduction.html

可能还有其他人。

.

现在让我们谈谈你的具体选择。

您可能不想维护对象模型。您希望重用已创建对象模型的其他人的工作。

https://www.nuget.org/packages/Hl7.Fhir.R4/2.0.0-beta1

Firely (Vonk背后的公司)提供了一个开放源码的dotnet对象库。hapi有一个java对象库。

您应该选择一种可以使用这些可重用对象库的语言。如果python有一个,那么我想您可以使用python。就我个人而言,我不会。我将继续使用dotnet(这是开源的)或java。可能有一个python对象模型库,但是如果没有.我不会选择python。太难模仿那些图书馆的东西了。

.

以下是一些一般文档的起点。

https://hapifhir.io/hapi-fhir/docs/model/working_with_resources.html

(以links...with中的以下信息为例,有些信息已经过时了)

https://wiki.hl7.org/Open_Source_FHIR_implementations

https://wiki.hl7.org/Publicly_Available_FHIR_Servers_for_testing

https://en.wikipedia.org/wiki/Fast_Healthcare_Interoperability_Resources

.

个人想法。

我会选择dotnet-core或java作为fhir项目。同样,在fhir中找到更成熟的语言(现在,不希望未来的东西)。

不是每个人都在谈论的东西:

当您公开特定于病人的数据(也就是,以非聚合的方式)时,您必须考虑病人匹配问题。你不能只说“这是观察”。你必须能够说“这是病人‘约翰史密斯’的观察,我99.9999%肯定我给你的数据(正确)约翰史密斯。不要低估这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62813158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档