FHIR 按扩展名搜索

FHIR search by extension

如何在 FHIR 中搜索扩展值?搜索扩展是否需要 SearchParameter 注册?任何有关示例的帮助都会很棒。我一直在尝试使用我自己的 FHIR 服务器 (https://github.com/Microsoft/fhir-server) 在 SearchParameter 注册后使用 mothersMaidenName 但它提供了来自服务器的所有 Patients

更新

我已将此 JSON 设置为患者资源的扩展。

{
  "extension": [
    {
      "url": "http://hl7.org/fhir/SearchParameter/patient-extensions-Patient-mothersMaidenName",
      "valueString": "trial"
    }
  ]
}

SearchParameters 注册是这样完成的(这些来自https://www.hl7.org/fhir):

{
  "resourceType": "SearchParameter",
  "id": "e3f10e54-f558-49bb-8732-faee3a4dda8d",
  "url": "http://hl7.org/fhir/SearchParameter/patient-extensions-Patient-mothersMaidenName",
  "version": "3.6.0",
  "name": "mothersMaidenName",
  "status": "draft",
  "experimental": true,
  "code": "mothersMaidenName",
  "base": [
    "Patient"
  ],
  "type": "string",
  "description": "Search based on patient's mother's maiden name",
  "expression": "Patient.extension(http://hl7.org/fhir/SearchParameter/patient-extensions-Patient-mothersMaidenName)",
  "xpathUsage": "normal"
}

需要两个步骤:首先,您需要定义一个自定义 SearchParameter,以您希望的方式搜索您希望的元素。其次,必须手动更改所有相关服务器(即编写代码)以支持新的搜索参数。

您仍然错过了 Lloyd 提到的第二步:服务器应该知道 SearchParameter 并且需要实现以支持它。 通过阅读 MS 服务器文档,他们使用了一个包含所有 SearchParameters 的文件。这是由服务器在启动时读取的,因此服务器可以支持它们。所以你需要找到它 (searchparameters.json) 并将你的 SearchParameter 添加到它,然后重新启动并查看它是否有效。

我不确定如何重建搜索索引,因此它可能只适用于新上传的资源,除非您了解它是如何完成的。

我们目前不支持在我们的 FHIR 服务器中搜索扩展。它在我们的路线图上。 https://github.com/Microsoft/fhir-server/blob/master/docs/Roadmap.md#extensions

马杰兹