【问题标题】:Multiple resource parameters in 'Query' resource for getting results in messaging paradigm“查询”资源中的多个资源参数,用于在消息传递范式中获取结果
【发布时间】:2021-09-04 16:20:55
【问题描述】:

我想使用查询资源以二进制格式从存储库中获取文档列表。存储库维护文档参考资源和患者详细信息。我的参数是基于

  1. DocumentReference.type
  2. DocumentReference.subject.Patient.identifier.value@value
  3. DocumentReference.subject.Patient.identifier.system@value

这就是我猜参数的样子 -

<parameter url="http://nhs.uk/fhir/query#_type">
  <valueString value="DocumentReference"/>
</parameter>
<parameter url="http://nhs.uk/fhir/query#type">
  <valueString value="EndofLifeCareRecord"/>
</parameter>
<parameter url="http://nhs.uk/fhir/query#subject:Patient.identifier.value">
  <valueString value="12345"/>
</parameter>
<parameter url="http://nhs.uk/fhir/query#subject:Patient.identifier.system">
  <valueString value="http://nhs.uk/fhir/nhs-number/"/>
</parameter>

我的问题 -

  1. 考虑到我使用的是消息范式(不是 REST),上述参数构造是否正确?
  2. 如何构建响应,即文档资源将填充主题(即患者)。它会是一个包含的资源吗?

【问题讨论】:

    标签: hl7-fhir


    【解决方案1】:

    如果您使用规范中定义的参数,那么它们的 URL 是http://hl7.org/fhir/query。如果您自己定义参数 - 其中 4 个中的 3 个似乎是这种情况(这就是您的意思吗?)然后您提供自己的命名空间,就像您一样。参数格式正确。

    就响应而言,它是一个带有消息头资源的包,以及一个包含对构成查询结果集的资源的引用的查询资源,这些资源必须在包中。文档资源通过 URL 引用主题(患者),您有 3 个选择放置患者资源的位置:

    1. 包含在文档参考资源中
    2. 在捆绑包中
    3. 在其他服务器上

    我认为 #3 在您的情况下不起作用,因此您在 #1 和 #2 之间进行选择。包含的资源总是一个坏主意——它们通过取消标识来阻碍资源的后续使用。因此,您应该只在必要时使用包含的资源,因为您没有足够的信息来构建已识别的资源——这对您的患者资源来说是一个非常糟糕的主意。确实是个坏主意。

    【讨论】:

    • 因此,如果选择了选项 #2 并且患者资源包含在包中,那么出于查询的目的,它的唯一工作就是携带患者标识符。它不能完整地代表患者。
    • 嗯,为什么?我不明白为什么它不能是代表患者的正常患者资源
    • 发送查询的系统可能具有与完成查询的系统完全不同的人口统计信息模型,即使模型相同,内容也可能不同。 “患者”的两个不同观点之间存在重叠的唯一地方是查询中的参数,在本例中是“id”。如果提供的患者资源中包含其他信息,那么它的用途是什么?完成系统希望如何处理这些信息?
    • 所以它可以是正常的患者资源。你只是认为用例没有什么意义——好吧,好吧。尽管在一般情况下,这并不总是正确的。可能是用户直接输入了id,而发起查询的系统没有任何信息。或者,响应查询的系统可能需要进行 3 点身份检查。或者它可能会显示响应者的人口统计数据以及它自己的人口统计数据。因此,返回额外信息可能有用。但说“它不能完全代表患者”是不正确的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 2021-05-20
    • 2014-05-02
    • 1970-01-01
    • 2014-01-11
    • 1970-01-01
    相关资源
    最近更新 更多