Могу ли я иметь два модификатора в одном и том же параметре запроса?

#hl7-fhir

Вопрос:

Мы пытаемся создать метод @Search на сервере FHIR для поиска всех наблюдений пациента. Я видел, что параметром может быть subject или patient . Мы хотим, чтобы вы могли искать пациента по идентификатору, поэтому запрос должен быть примерно таким:

GET [base]/Observation?subject:identifier=http://acme.org/fhir/identifier/mrn|123456

или

GET [base]/Observation?patient:identifier=http://acme.org/fhir/identifier/mrn|123456

Наша проблема в том, что у нас есть только идентификаторы пациентов с типом. Чтобы искать пациента по идентификатору с типом, вам необходимо добавить модификатор :of-type. Мой вопрос в том, правильно ли иметь запрос с двумя модификаторами? Точно так же, как в приведенном ниже примере

GET [base]/Observation?patient:identifier:of-type=http://terminology.hl7.org/CodeSystem/v2-0203|MR|446053

Ответ №1:

Модификаторы изменяют поведение поиска по умолчанию, а не фильтр, который вы хотите применить к типу ресурса. Вы можете использовать только модификатор, указанный FHIR. Они перечислены на этой странице: http://hl7.org/fhir/search.html.

Ваши первые два поиска выше недействительны. Чтобы выполнить поиск наблюдений на основе идентификатора пациента, вам придется выполнить цепной поиск:

GET [base]/Observation?patient.identifier=http://acme.org/fhir/identifier/mrn|123456

Это ярлык для «субъекта» с модификатором типа ресурса:

GET [base]/Observation?subject:Patient.identifier=http://acme.org/fhir/identifier/mrn|123456

Если вам нужно включить модификатор «типа», поиск может выглядеть следующим образом:

GET [base]/Observation?patient.identifier:of-type=[codesystem_for_type]|MR|123456

Я предпочитаю использовать параметр «пациент», когда это применимо, но это также было бы допустимо subject:Patient.identifier:oftype . Отредактируйте, чтобы добавить: на данный момент это действительно, но смотрите Ответ Ллойда для будущих версий FHIR.

Ответ №2:

На основе https://jira.hl7.org/browse/FHIR-20641, цель состоит в том, чтобы уточнить, что несколько модификаторов запрещены и что, если у вас есть такое требование, вам необходимо определить свой собственный параметр поиска, который не требует модификаторов. Обратите внимание, что это решение еще не прошло голосование. В R4 нет документированных ожиданий поддержки, но и запрета тоже нет. На практике нам неизвестно о каких-либо стандартных серверах, которые предоставляют поддержку, и, учитывая планируемый запрет в R5, маловероятно, что такая поддержка будет создана.

Комментарии:

1. Я согласен с замечанием, сделанным в билете о сложении модификаторов, но поиск в вопросе был на самом деле неверным и нуждается в цепочке вместо сложенных модификаторов.

2. @MirjamBaltus — спасибо, что прочитали внимательнее, чем я 🙂