首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得排序/嵌套的FHIR包响应?

如何获得排序/嵌套的FHIR包响应?
EN

Stack Overflow用户
提问于 2021-04-22 16:25:46
回答 3查看 117关注 0票数 0

我是fhir的新手,我想知道是否有可能为Bundle做一个api调用,以便使响应更排序/嵌套?因此,我的请求应该类似于“给我该组织与相关患者的所有接触”:

代码语言:javascript
复制
[Base]/Encounter?service-provider=Organization/<id>&_include=Encounter:subject

实际上,响应是这样的包(简写版本):

代码语言:javascript
复制
{
  "resourceType": "Bundle",
  "entry": [
    {
      "resource": {
        "resourceType": "Encounter",
      }
    },
    {
      "resource": {
        "resourceType": "Encounter",
      }
    },
    {
      "resource": {
        "resourceType": "Patient",
      }
    },
    {
      "resource": {
        "resourceType": "Patient",
      }
    }
  ],
  [...]
}

但我想要这样的东西,一个更嵌套的对象,在那里我不需要对病人进行排序:

代码语言:javascript
复制
{
  "resourceType": "Bundle",
  "entry": [
    {
      "resource": {
        "resourceType": "Encounter",
        "subject": {
            "resource": {
               "resourceType": "Patient",
             }
         }
    },
    {
      "resource": {
        "resourceType": "Encounter",
        "subject": {
            "resource": {
               "resourceType": "Patient",
             }
         }
    },
  ],
  [...]
}

有没有办法做到这一点?或者我需要使用像fhirpath这样的东西来对结果进行排序?我需要一个客户端的解决方案,因为将有不同的fhir服务器使用我的应用程序。

EN

回答 3

Stack Overflow用户

发布于 2021-04-22 17:17:22

不可能要求服务器以您在这里描述的方式嵌入资源。使用你已经得到的结果是要走的路。

票数 0
EN

Stack Overflow用户

发布于 2021-04-22 22:19:33

FHIR不允许嵌套资源,因为FHIR中没有隐含的层次结构。当考虑到扩展时,单个资源可能与多个患者、多次相遇等相关联(可能使用不同的关系)。因此,任何层次结构/网络都需要通过遍历Bundle中找到的资源中存在的关系来在内存中重新建立。

不过,排序是可能的-在查看搜索集时,可以使用_sort搜索参数。详情可以在here上找到。(在其他类型的捆绑包中,例如文档、批处理、事务等,顺序通常是无意义的,并且无法控制,除了文档和消息总是以特殊的资源开头--分别是组合和MessageHeader。)

票数 0
EN

Stack Overflow用户

发布于 2021-04-25 05:10:00

是的,但不是在您提供的URI上。你可以实现一个自定义的FHIR操作,它可以做你需要做的任何事情。检查此链接https://www.hl7.org/fhir/operations.html#extensibility

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67209490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档