FHIR:如何处理资源内的资源?

时间:2014-03-24 06:27:16

标签: hl7-fhir

我是FHIR的新手,我想用C#开发FHIR服务器,请帮我解决如何在资源中处理资源问题。例如,在Encounter Resource中,(partOf:Resource(Encounter)),类似于组织资源,有组织等,我正在尝试,但它转到无限循环。不要继续下一课。我暂时从数据库中检索数据......提前致谢

2 个答案:

答案 0 :(得分:1)

当您查看资源的定义并且您看到一个数据类型为Resource(X)的元素时(如您提到的示例,partOf:Resource(Encounter)),这意味着资源引用另一个资源(在这种情况下,一个遭遇)。 ' partOf' element实际上是指向同一RESTful端点上其他位置的另一个资源(或者如果您使用这些构造,则位于同一消息或文档中)的URL(或者更确切地说,是一个uri)。所以,这更像是一个外键' in"传统"数据库技术。

所以,是的,组织可以参考组织,邂逅可以参考邂逅! 在我的FHIR教程(可在http://www.slideshare.net/ewoutkramer/fhir-tutorial-morning获得)中,您可以从幻灯片29中找到一些示例和背景。基本上,这是参考文献的样子:

<partOf>
  <reference value='http://spark.furore.com/fhir/Organizaiton/4433EF-33'/>
  <display value="Some other organization"/>
</partOf>

请注意,这与收容非常不同。如果你看一下相同的Encounter资源(http://www.hl7.org/implement/standards/fhir/encounter.html),你会看到一个组件&#39;住院&#39;,这个组件嵌套在资源中(所以 no < / em>参考),如&#34;封闭的钻石&#34; UML中的形状。

如果您需要一个如何实现.NET FHIR服务器的示例,请在此处查看我们的开源实现:http://www.github.com/furore-fhir/spark。另外,一定要通过NuGet获取.NET帮助程序API(只需查看FHIR)。

答案 1 :(得分:0)

关于无限循环,引用完全可以循环回启动资源。虽然资源通常不直接指向自己,但是通过资源链并在起始资源上回流是非常有可能的。遍历链接的系统需要考虑这种潜在的循环。