如何使用扩展字段搜索声明

How to search a Claim using extension field

我有一个 Claim 负载,我在其中添加了一个 extension 块:(不知道 url 是从哪里来的)

"extension" : [{
   "url" : "http://hl7.org/fhir/StructureDefinition/iso-21090-EN-use",
   "valueString" : "MAPD"
}],

我想使用 extension 搜索此索赔记录,但不知道该怎么做。
我尝试使用 GET 请求 https://<azure_fhir_server>/Claim?extension=MAPD 但它说

 {
     "severity": "warning",
     "code": "not-supported",
     "diagnostics": "The search parameter 'extension' is not supported for resource type 'Claim'."
 }

===================== 编辑:
正如@Nik Klassen 所建议的,我将以下有效负载发布到 /SearchParameter

{
    "resourceType" : "SearchParameter",
    "id": "b072f860-7ecd-4d73-a490-74acd673f8d2",
    "name": "extensionValueString",
    "status": "active",
    "url" : "http://hl7.org/fhir/SearchParameter/extension-valuestring",
    "description": "Returns a Claim with extension.valueString matching the specified one in request.",
    "code" : "lob",
    "base" : [
        "Claim"
    ],
    "type" : "string",
    "expression" : "Claim.extension.where(url ='http://hl7.org/fhir/SearchParameter/extension-valuestring').extension.value.string"
}

另外,$reindex 声明,但找不到列 lob$reindex 响应如下):

{
    "resourceType": "Parameters",
    "id": "ee8786d2-616a-4b81-8f6a-8089591b1225",
    "meta": {
        "versionId": "1"
    },
    "parameter": [
        {
            "name": "_id",
            "valueString": "28e808d6-e420-4a33-bb0b-7cd325c8c169"
        },
        {
            "name": "status",
            "valueString": "http://hl7.org/fhir/fm-status|active"
        },
        {
            "name": "priority",
            "valueString": "http://terminology.hl7.org/CodeSystem/processpriority|normal"
        },
        {
            "name": "facility",
            "valueString": "Location/Location"
        },
        {
            "name": "patient",
            "valueString": "Patient/f8d8477c-1ef4-4878-abed-51e514bfd91f"
        },
        {
            "name": "encounter",
            "valueString": "Encounter/67062d00-2531-3ebd-8558-1de2fd3e5aab"
        },
        {
            "name": "use",
            "valueString": "http://hl7.org/fhir/claim-use|claim"
        },
        {
            "name": "identifier",
            "valueString": "TEST"
        },
        {
            "name": "_lastUpdated",
            "valueString": "2021-08-25T07:39:15.3050000+00:00"
        },
        {
            "name": "created",
            "valueString": "1957-04-12T21:23:35+05:30"
        }
    ]
}

我在某处读到我需要创建 StructureDefinition,但不知道该怎么做。
基本上我想添加一个字段“LOB”作为我所有资源的扩展,并使用以下方式搜索它们:GET: https://fhir_server/{resource}?lob=<value>

默认情况下,您只能搜索属于 FHIR 规范的字段。这些列在页面上每种资源类型的“搜索参数”部分中,即 https://hl7.org/fhir/claim.html#search. To search on extensions you will need to create a custom SearchParameter https://docs.microsoft.com/en-us/azure/healthcare-apis/fhir/how-to-do-custom-search,即

POST {{FHIR_URL}}/SearchParameter

{
  "resourceType" : "SearchParameter",
  "id" : "iso-21090-EN-use",
  "url" : "ttp://hl7.org/fhir/SearchParameter/iso-21090-EN-use",
  ... some required fields ...
  "code" : "iso-use",
  "base" : [
    "Claim"
  ],
  "type" : "token",
  "expression" : "Claim.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso-21090-EN-use').value.string"
}