如何使用 _content 在 fhir 中搜索 birthData?

How to search birthData in fhir using _content?

当我仅使用 fhir 中的 birthData 进行搜索时,我得到了结果。

例如:http://localhost:8080/hapi-fhir-jpaserver/fhir/Patient?_pretty=true&birthdate=2020-03-16 将 return 生日为 2020-03-16 的患者。

当我使用 _content 进行搜索时,我没有得到任何结果。像这样:

http://localhost:8080/hapi-fhir-jpaserver/fhir/Patient?_content=2019-09-05

_content 用于搜索文本内容。

如果您想搜索日期,您需要使用日期搜索参数。例如:

http://localhost:8080/hapi-fhir-jpaserver/fhir/Patient?birthDate=2019-09-05

这可以使用搜索参数来实现。

搜索参数本质上是由系统索引的资源中的命名路径,因此它们可用于查找符合给定条件的资源。

使用搜索参数

  • 我们可以添加额外的搜索参数来索引没有定义标准搜索参数的字段。

  • 我们可以添加额外的搜索参数来为您的客户使用的扩展编制索引。

  • 我们可以禁用搜索参数

示例:

假设我有一个 PractitionerRole

    "resourceType": "PractitionerRole",
    "id": "6639",
    "meta": {
      "versionId": "1",
      "lastUpdated": "2020-03-19T13:26:34.748+05:30",
      "source": "#aYyeIlv9Yutudiwy"
    },
    "text": {
      "status": "generated",
      "div": "<div xmlns=\"<http://www.w3.org/1999/xhtml\">foo</div>">
    },
    "active": true,
    "practitioner": {
      "reference": "Practitioner/6607"
    },
    "organization": {
      "reference": "Organization/6528"
    },
    "specialty": [
      {
        "coding": [
          {
            "system": "<http://snomed.info/sct",>
            "code": "42343242",
            "display": "Clinical immunology"
          }
        ]
      }
    ]
}

PractitionerRole 有自己的搜索参数。除了这些搜索参数之外,我们还希望有一个搜索参数可以根据 practitioner.reference 过滤所有从业者角色。我们可以使用搜索参数来实现这一点。我们需要做的就是创建一个新的搜索参数,如下所示。

{
"resourceType": "SearchParameter",
"title": "Practitioner Referecene",
"base": [ "PractitionerRole" ],
"status": "active",
"code": "practitioner_reference",
"type": "token",
"expression": "PractitionerRole.practitioner.reference",
"xpathUsage": "normal"
}

这里 fhir 告诉的是当用户想用 practitioner_reference 过滤然后寻找 PractitionerRole.practitioner.reference.

看起来像这样: http://localhost:8080/hapi-fhir-jpaserver/fhir/PractitionerRole?practitioner_reference=Practitioner/6607

我们还可以将其扩展为使用多个参数进行搜索。我们可以创建一个带有或条件的搜索参数,以便它可以使用多个参数进行搜索。

  "resourceType": "SearchParameter",
  "title": "Patient Multi Search",
  "base": [ "Patient" ],
  "status": "active",
  "code": "pcontent",
  "type": "token",
  "expression": "Patient.managingOrganization.reference|Patient.birthDate|Patient.address[0].city",
  "xpathUsage": "normal"
}

上面的 SearchParameter 将搜索 withPatient.managingOrganization.reference 或 Patient.birthDate 或 Patient.address[0].city.

查询如下所示:

搜索城市 → http://localhost:8080/hapi-fhir-jpaserver/fhir/Patient?pcontent=Bruenmouth

按出生日期搜索 → http://localhost:8080/hapi-fhir-jpaserver/fhir/Patient?pcontent=2019-04-06