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

由于FHIR本身的详细实现需求,我考虑使用node-fhir-server-core来实现它。在哪里实现非FHIR到FHIR的映射功能?可以使用node-fhir-server-core吗?如果不是,如何使用普通的express应用程序实现FHIR验证/支持?
发布于 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%肯定我给你的数据(正确)约翰史密斯。不要低估这个问题。
https://stackoverflow.com/questions/62813158
复制相似问题