根据其配置文件的 StructureDefinition 动态创建 Fhir 对象

问题描述 投票:0回答:2

我是 FHIR 新手,实际上我正在为现有后端服务器开发 FHIR 外观。 目前,我开发了一个 /GET 路由,它查询我现有的后端,将对象映射到 FHIR 对象,并在映射后返回 FHIR 对象。

我正在尝试使用配置文件FrCorePatientProfile,但它需要开发大量代码。 我意识到映射本身必须手动完成,但我想知道是否可以解析 IG 中给出的 StructureDefinition 文件,并使用它根据其 StructureDefinition 创建具有正确结构的 FHIR 患者(例如扩展的结构或切片)。

将患者从我的后端映射到 FHIR 患者时,是否可以使用配置文件的 StructureDefinition JSON 文件动态创建 FHIR 患者,而无需为定义的每个扩展编写代码?

我是一名使用 Hl7.Fhir.R4 nugget 包的 C# 开发人员,但我认为我的问题可以应用于尝试根据配置文件的 StructureDefinition 映射某些资源的任何语言。

我已经为后端患者和 FhirPatient 之间的所有字段编写了映射。

在此映射中,我必须为我正在使用的配置文件中的每个扩展和切片编写一些代码,因为这些配置文件具有一些我必须遵守的已定义结构。

我已经在解析 ValueSet 文件以动态使用为代码绑定的值,因此解析 JSON 文件应该不成问题。

c# hl7-fhir hl7 hapi-fhir fhir-net-api
2个回答
0
投票

.NET SDK 使用 Gino 的 FHIR 到 C# 生成器 (https://github.com/microsoft/fhir-codegen)。多年来我们一直在讨论创建特定于个人资料的课程,我认为吉诺已经在他的项目中进行了试点,但目前还没有任何确定的结果。

如果我们拥有它,它当然仍然不是真正动态的,因为您必须为配置文件生成 C#,对其进行编译,然后将其包含在您的项目中。此外,解析器需要知道如何将实例(在“完整 FHIR”中说明)解析为生成的类(例如映射切片和更具体成员的扩展)。

总而言之,这是一大堆工作,我还没有找到足够的优先级来实际执行......


0
投票

要做您正在考虑的事情肯定需要大量工作 - 需要大量复杂的代码。我知道这一点是因为我写了我认为您在 HAPI FHIR 核心中寻找的内容 - https://github.com/hapifhir/org.hl7.fhir.core/tree/master/org.hl7.fhir.r5 /src/main/java/org/hl7/fhir/r5/profilemodel。我不知道该代码在 C# 中有任何等效项。但最终,它并没有为你节省那么多代码(即使你在它前面编写了生成代码,尽管还没有人这样做)

© www.soinside.com 2019 - 2024. All rights reserved.