#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 — спасибо, что прочитали внимательнее, чем я 🙂