Изменить URL поиска в HAPI-FHIR

В настоящее время я работаю над проектом Hapi-FHIR. Там я хочу реализовать сборник ответов на вопросник по пациенту. Коллекция возвращает все ответы на вопросник пациента с заданным идентификатором пациента. Это работает без проблем, но я также хочу придерживаться соглашений об именах ресурсов REST. Таким образом, URL-адрес поиска для моей коллекции должен выглядеть примерно как https://example.com/patient/{id}/questionnaireresponses. Прямо сейчас мой URL-адрес поиска выглядит следующим образом: https://example.com/QuestionnaireResponse?patient={id} Я уже пытался установить свой собственный URL-адрес поиска с @Path("/patient/{id}/questionnaireresponses"), но HAPI-FHIR, похоже, игнорирует это. Я уже искал документацию по HAPI-FHIR, но не нашел ничего связанного.

У меня вопрос: где в HAPI-FHIR происходит присвоение имен URL-адресам поиска и как изменить имя URL-адреса поиска?


person thisIsAName    schedule 12.02.2021    source источник


Ответы (2)


Хотя меня также немного раздражают варианты именования и синтаксиса FHIR, они являются неотъемлемой частью спецификации FHIR, а не только для Hapi. Если вы их измените, ваш сервер не сможет использовать клиент, который ожидает стандартизованный FHIR API. Какие недостатки в использовании FHIR, нет?

Изменение имени ресурса в запросе сервера Hapi (от пациента к пациенту или пациентам) может быть тривиальным делом, но, поскольку в этом нет особого смысла, это может быть не так. Таким образом, технически вы можете быть вынуждены предварительно обрабатывать запросы для поддержки даже этой части вашего синтаксиса.

Для того типа иерархического опроса, который вам нужен (пациент / {id} / ответ на вопросник), все сложнее даже чисто семантически, потому что между двумя типами ресурсов может быть более одного отношения. Даже для вашего примера, будут ли ответы пациента / {id} / questionnaireresponses возвращать только ответы, в которых пациент является субъектом, или также те, в которых он является только автором? И как получить только тех, кого он написал? FHIR разработан, чтобы быть как можно более явным, чтобы избежать различных интерпретаций, которые могут привести к отправке неверной информации.

person GertG    schedule 05.03.2021

HapiFhir предлагает механизм для группировки двух ресурсов вместе. Использование отсеков решило мою проблему.

person thisIsAName    schedule 12.03.2021