Ограничено ли использование параметров поиска общими параметрами поиска (например, _id, _text) и теми, которые определены в конце каждого определения ресурса? Например, семья, определенная на ресурсе пациента @ https://www.hl7.org/fhir/patient.html#search.
Я хотел бы знать, можно ли использовать какой-либо элемент ресурса непосредственно в качестве параметра поиска? Например:
- для поиска ImagingStudy по более чем 3 сериям: / ImagingStudy? numberOfSeries> 3
- для поиска ImagingStudy по любым сериям, доступным ОНЛАЙН: /ImagingStudy?series.availability=ONLINE. Это похоже на фильтр сложного типа от Odata (http://www.odata.org/getting-started/basic-tutorial/#filter), где тот же запрос можно записать в OData как / ImagingStudy? $ filter = series / any (s: s / availability eq 'ONLINE')
Следующее добавлено 28 ноября 2015 г .:
Наш сервер - это сервис только для чтения, который объединяет данные из различных исходных систем и реализует API на основе FHIR. Вот несколько интересных фактов и проблем, связанных с инфраструктурой:
- Большинство исходных систем могут обеспечивать только примитивные запросы, например, фильтрацию по дате.
- Мы не можем создавать индексы, поскольку не владеем репозиторием данных.
- В типичном сценарии мы сначала извлекаем фильтр даты из запроса клиента и используем его для уменьшения количества данных, которые должны быть возвращены исходной системой. Затем наш сервис обработает оставшийся фильтр, сортировку и пейджинг агрегированного результата.
Например, у нас есть требование реализовать строковый поиск по ImagingStudy.procedure.code.coding []. Display.
Приятно знать, что сервер имеет возможность определять дополнительные параметры поиска в заявлении о соответствии; однако в нашем сценарии параметры поиска в основном определяются потребностями клиентов. Любое изменение или обновление этой потребности может вызвать изменение соответствия сервера. Это делает соответствие / контракт уязвимым для изменений.
Это мотивация, которая породила мой вопрос: поскольку клиент и сервер FHIR уже имеют четко определенный контракт, определенный через ресурсы FHIR, можно ли будет расширить этот контракт для параметров поиска, где клиент и сервер смогут использовать существующие граф объектов ресурса FHIR в качестве параметров поиска без необходимости определять отдельный список.