Я хочу фильтровать Encounter
по их первому или последнему Encounter.location[]
.
Спецификация API FHIR REST имеет только 1 параметр поиска, связанный со значением местоположения встречи: location
, и он не определяет поведение поиска в случае, когда кардинальность больше 1.
Я надеялся, что суффикс модификатора, такой как :first
или :last
, будет поддерживать location:first
, location:last
т.е.
{base_url}/Encounter?location:last=Location/123
но такой опции нет, и я не вижу способа добавить модификаторы пользовательских параметров.
Есть ли более предпочтительный способ, чем добавление пользовательских параметров поиска, таких как location-last
, location-first
?
Спасибо!
Первое, что нужно знать, это то, что порядок имеет значение только тогда, когда базовая спецификация FHIR объявляет его важным, чего не происходит для Encounter.location. В результате вы должны ожидать, что местоположения будут перечислены в произвольном порядке, и «первое» местоположение не будет означать ничего особенного. Период времени, когда местоположение является/было релевантным, передается Encounter.location.period, а не упорядочением в коллекции. Несовместимо применять какие-либо правила упорядочения, когда FHIR не определил их.
В настоящее время нет квалификаторов для поддержки поиска по определенному повторению. Однако можно определить пользовательские параметры поиска, которые можно привязать к определенному повторению. Например. Если вы хотите искать только по «первому» имени пациента, а не по всем именам. Имейте в виду, что определение настраиваемых параметров поиска полезно только в том случае, если вы находитесь в среде, где вы можете подтолкнуть как клиентов, так и серверы к поддержке настраиваемого параметра.
Вы можете отправить запрос на изменение (используйте ссылку внизу любой страницы в спецификации), предлагая модификаторы :first и :last для включения в R5 FHIR, но вам нужно будет предоставить несколько примеров мест, где это может быть. полезно (ограничено местами, где порядок действительно важен)
Address.line, Bundle.entry, HumanName.given, префикс и суффикс — единственные места, где порядок определен как значимый. Совершенно нормально (и уместно) добавлять расширения к вещам, чтобы передать порядок/предпочтение/важность. Для этого есть стандартные расширения для нескольких мест, но не для Encounter.location. Однако, учитывая, что у Encounter.location есть период, это, вероятно, удовлетворяет требованиям большинства разработчиков для заказа.
Спасибо, @lloyd-mckenzie. Имеет смысл. Есть ли в базовой спецификации FHIR экземпляр, в котором порядок объявлен значимым? Кроме того, соответствует ли принудительное выполнение/запекание информации о порядке для Encounter.location с использованием расширения для указания позиции/индекса в повторении? Насчет запроса на изменение, когда-нибудь, наверное. У нас пока не так много вариантов использования.