我正在使用资源中具有自定义成员的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而无需触及源代码?
答案 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/