fhir сортировка и поискПараметр

Я использую 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"
  ]

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

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


person Christian    schedule 06.08.2020    source источник


Ответы (1)


Вы правы в том, что вам понадобится действительный параметр поиска для использования в сортировке, но, насколько я знаю, это не может быть цепочка. См. 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. для синтаксиса выражения. Другой вопрос, может ли сервер поддерживать такую ​​сортировку автоматически.

person Mirjam Baltus    schedule 06.08.2020