FHIR .NET API如何在资源中支持未知成员?

时间:2018-05-25 14:15:25

标签: hl7-fhir

我正在使用资源中具有自定义成员的FHIR服务器。

如果我们收到患有以下

的患者,请说明
xml = "<Patient xmlns='http://hl7.org/fhir'><hasSuperPower></hasSuperPower></Patient>";

如何在FHIR .NET API中添加额外标记支持,以便我可以使用此自定义资源? (以便Deserilizer可以处理它并将其放入患者对象中。)

我从Mirjam Baltus的帖子中读到,Model类可以被增强,因为它们都被声明为“Partial class”。是否 这意味着我必须使用FHIR API源代码并在那里添加我自己的Partial类,然后重新编译它?

我是否可以使用Nuget中的DLL而无需触及源代码?

2 个答案:

答案 0 :(得分:3)

为什么要使用自定义元素而不是标准扩展元素?以这种方式添加自定义元素不符合标准,不能与任何公共测试服务器一起工作,不能与其他FHIR系统互操作,并且不能使用参考实现。您是否查看了规范的可扩展性部分?

答案 1 :(得分:0)

我也在谷歌论坛上回答了这个问题,并同意劳埃德的意见。

如果您收到<hasSuperPower>标签的患者,则该患者不符合FHIR标准。 FHIR有一种很好的方式来传达不适合任何标准字段的数据,称为扩展。如果您使用这些,则无需编写额外的代码来处理非FHIR资源,您只需使用现有的库而无需对其进行任何更改。

超级大国的能力可能如此,并且符合FHIR标准:

<Patient xmlns="http://hl7.org/fhir">
  <extension url="http://mirjams.example.org/fhir/StructureDefinition/super-patient">
    <valueBoolean value="true"/>
  </extension>
</Patient>

我还要指出Brian Postlethwaite关于自定义资源属性的博客:https://brianpos.com/2018/05/03/code-generation-fhir-custom-resources/

相关问题