fhir sorting and searchParameter - PullRequest
       209

fhir sorting and searchParameter

0 голосов
/ 06 августа 2020

Я использую hapi-fhir и хочу отсортировать список процедур по фамилии их пациентов.

Насколько я понимаю, для этого требуется подходящий serchParameter.

В документации говорится, что цепочка также поддерживается для searchParameter, если это ссылка на тип.

И есть поле «цепочка» в строке searchParameter (0 .. *), «Поддерживаются связанные имена») но я понятия не имею, как его использовать, и я не нашел никаких примеров.

Я думаю, что этот подход немного наивен и не сработает:

"description": "Search by patients lastname",
  "code": "function",
  "base": [
    "Procedure"
  ],
  "type": "reference",
  "expression": "Procedure.subject.name.family",
  "xpath": "f:Procedure/f:subject/f:name/f:family",
  "xpathUsage": "normal",
  "multipleOr": true,
  "multipleAnd": true,
  "comparator": [
    "eq",
    "ne"
  ]

Кто-нибудь может дать объясните или предоставьте образец?

Заранее спасибо Крис

1 Ответ

0 голосов
/ 06 августа 2020

Вы правы, что вам понадобится действующий параметр поиска для использования в сортировке, но насколько я знаю, это не может быть цепочка. См. https://chat.fhir.org/#narrow / stream / 179166-Implementers / topic / _sort.20-.20sorting.20on.20refs для обсуждения этого вопроса.

Для обычного поиска вы можете использовать цепочку , а указанные вами параметры поиска уже есть в спецификации. Таким образом, GET <hapi>/Procedure?patient.family=Chalmers будет работать, но GET <hapi>/Procedure?_sort=patient.family даст ошибку.

Выражение в вашем параметре поиска неверно, поскольку оно указывает на поле имени в поле темы, но его не существует. Имя пациента не является частью ресурса "Процедура", но находится в ресурсе "Пациент". Вам нужно сначала разрешить ссылку от процедуры к пациенту, чтобы затем вы могли посмотреть имя второго. Я не знаю ни одного примера в выражении параметра поиска, которое бы делало что-то подобное, но вы можете посмотреть в спецификации FHIRPath синтаксис выражения. Другое дело, может ли сервер поддерживать такую ​​сортировку автоматически.

...