Как искать рождения данных в fhir, используя _content? - PullRequest
0 голосов
/ 18 марта 2020

Когда я ищу только данные рождения в ФХИР, я получаю результаты.

Например: http://localhost:8080/hapi-fhir-jpaserver/fhir/Patient?_pretty=true&birthdate=2020-03-16 вернет пациента с датой рождения как 2020-03-16.

Когда я ищу с _content, я не получаю никаких результатов. Как то так:

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

Ответы [ 2 ]

2 голосов
/ 23 марта 2020

Этого можно достичь с помощью параметров поиска.

Параметры поиска - это, по сути, именованные пути в ресурсах, которые индексируются системой, чтобы их можно было использовать для поиска ресурсов, соответствующих заданным критериям.

Используя параметр поиска

  • , мы можем добавить дополнительные параметры поиска, которые будут индексировать поля, для которых не определен стандартный параметр поиска.

  • we мы можем добавить дополнительные параметры поиска, которые будут индексировать расширения, используемые вашими клиентами.

  • мы можем отключить параметры поиска

Пример:

Допустим, у меня есть 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 будет выполнять поиск с помощьюPatient.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

2 голосов
/ 19 марта 2020

_content для поиска текстового содержимого.

Если вы хотите искать даты, вам нужно использовать параметр поиска по дате. Например:

http://localhost: 8080 / hapi-fhir-jpaserver / fhir / Patient? Дата рождения = 2019-09-05

...