因此,我一直在使用 Hapi Fhir Server(几年来)作为在我的公司中公开专有数据的一种方式......也就是为多个资源实现 IResourceProvider。在这个世界上认为“只读”。
现在我正在考虑接受写入。
Hapi Fhir 服务器有这个作用:
JPA 服务器
HAPI FHIR RestfulServer 模块可用于针对任意数据源创建 FHIR 服务器端点,该数据源可以是您自己设计的数据库、现有临床系统、一组文件或您想出的任何其他内容。
HAPI 还提供了一个持久性模块,可用于提供完整的 RESTful 服务器实现,由您选择的数据库提供支持。该模块使用 JPA 2.0 API 将数据存储在数据库中,而不依赖于任何特定的数据库技术。
重要说明:这个实现使用了一个相当简单的表设计,一个表用于保存资源主体(存储为 CLOB,可选 GZipped 以节省空间)和一组表来保存搜索索引、标签、历史详细信息,等等。这种设计只是设计 FHIR 服务器的众多可能方法之一,因此值得考虑它是否适合您要解决的问题。
http://hapifhir.io/doc_jpa.html
所以我做了这个下载(jpa 服务器)并让它在一个真正的 db 引擎上工作(覆盖默认的 jpa 定义)......我观察到“相当简单的表设计”。所以我很感谢这个简单的演示。但从简单的角度来看,它确实让我担心完整的生产设置。
如果我想设置一个 Fhir 服务器,是否有任何“非平凡的”(上面说“相当简单的表设计”)......来实现一个强大的 fhir 服务器......支持资源的版本控制(历史),验证“参考资料(例如,如果有人上传 Encounter,它会检查 Encounter 有效负载中的 Patient(reference)和 Practitioner(reference)……等等?
那是使用强大的 nosql 数据库吗?
还是我要实现一个重要的 nosql 数据库?还是我在 JPA 上走错了路?
我可以从“scratch”(我的 fhir 服务器的一个空数据存储)开始......如果我必须导入任何数据,我明白这会带来什么。
谢谢。
另一种问这个问题的方法......是......是否有一种模仿这个库的 hapi-fhir 方式:(请不要回归到 java 和 dotnet 之间的圣战问题)
但下面更多的是我认为的“完整交钥匙”解决方案。使用 NoSql (CosmoDB)。
https://github.com/Microsoft/fhir-server
FHIR 标准的 .NET Core 实现。
FHIR Server for Azure 是为 Microsoft 云设计的新兴 HL7 快速医疗保健互操作性资源 (FHIR) 规范的开源实现。FHIR 规范定义了如何使临床健康数据跨系统互操作,而用于 Azure 的 FHIR 服务器有助于促进云中的互操作性。此 Microsoft Healthcare 项目的目标是使开发人员能够快速部署 FHIR 服务。
借助 FHIR 格式的数据,用于 Azure 的 FHIR 服务器使开发人员能够快速摄取和管理云中的 FHIR 数据集,跟踪和管理数据访问以及规范机器学习工作负载的数据。FHIR Server for Azure 针对 Azure 生态系统进行了优化: