Normalize FHIR 将数据捆绑到单独的数据库表中
Normalize FHIR bundles data into separate database tables
我们从供应商处获得 FHIR 包,主要是患者、遭遇、观察、标记和一些其他资源(总共 10 个)。我们可以选择将资源存储为 json 值,或者我们可以想出一个将所有嵌套结构规范化到单独表中的过程。我们将使用传统的 BI 工具进行一些分析并构建一些仪表板,这些工具本身不支持 json。我们应该做前者还是后者?以编程方式 build/generate 这些规范化表格的 best/easiest 方法是什么?
最终你决定如何存储这些不属于 FHIR 的范围,你在这里得到的任何答案都将是一个人的意见。您需要弄清楚哪种方法对您正在构建的 product/business 最有意义。
以下是一些可能对您有所帮助的首要原则:
不同的供应商会向您发送不同的 FHIR。字段可能会丢失,可能会使用不同的代码系统。
FHIR 扩展包含很多有价值的信息,JSON 表示是 Entity Attribute Value。 EAV 是关系数据库的反模式。
FHIR 版本将随时间变化 - 将添加字段并更改其名称,并且新的扩展将是相关的。
关于您关于生成表格的第二个问题 - 我认为您最好通过设计您需要的数据模型并将 FHIR 数据映射到它来提供服务。也就是说,您可以研究许多 open source FHIR implementations 以获取灵感。
postgresql、oracle 和 mssql 等现代数据库对 json 数据类型有很好的支持。要为 BI 扁平化 FHIR 资源,您可以考虑构建关系(可能是标准化的)视图。我们构建了简单的 DSL,它允许您将目标关系描述为资源中的一组 (fhir) 路径。
我们从供应商处获得 FHIR 包,主要是患者、遭遇、观察、标记和一些其他资源(总共 10 个)。我们可以选择将资源存储为 json 值,或者我们可以想出一个将所有嵌套结构规范化到单独表中的过程。我们将使用传统的 BI 工具进行一些分析并构建一些仪表板,这些工具本身不支持 json。我们应该做前者还是后者?以编程方式 build/generate 这些规范化表格的 best/easiest 方法是什么?
最终你决定如何存储这些不属于 FHIR 的范围,你在这里得到的任何答案都将是一个人的意见。您需要弄清楚哪种方法对您正在构建的 product/business 最有意义。
以下是一些可能对您有所帮助的首要原则:
不同的供应商会向您发送不同的 FHIR。字段可能会丢失,可能会使用不同的代码系统。
FHIR 扩展包含很多有价值的信息,JSON 表示是 Entity Attribute Value。 EAV 是关系数据库的反模式。
FHIR 版本将随时间变化 - 将添加字段并更改其名称,并且新的扩展将是相关的。
关于您关于生成表格的第二个问题 - 我认为您最好通过设计您需要的数据模型并将 FHIR 数据映射到它来提供服务。也就是说,您可以研究许多 open source FHIR implementations 以获取灵感。
postgresql、oracle 和 mssql 等现代数据库对 json 数据类型有很好的支持。要为 BI 扁平化 FHIR 资源,您可以考虑构建关系(可能是标准化的)视图。我们构建了简单的 DSL,它允许您将目标关系描述为资源中的一组 (fhir) 路径。