Есть ли способ поиска fhir-ресурсов по параметру текстового поиска с использованием подстановочных знаков?

Я пытаюсь найти все наблюдения, где «кровь» связана с кодом, используя:

GET [base]/Observation?code:text=blood

Похоже, что поиск соответствует наблюдениям, где связанный текст начинается с «кровь», но не соответствует связанному тексту, который содержит «кровь».

Используя следующее, я получаю результаты с помощью Coding.display «Систолическое кровяное давление», но я также хотел бы получить эти наблюдения, выполнив поиск по тексту «кровь».

GET [base]/Observation?code:text=sys

Есть ли другой модификатор, который я должен использовать, или подстановочные знаки, которые я должен использовать?


person Amy Ballard    schedule 01.12.2015    source источник
comment
Какой сервер вы используете? Возможно, что не все серверы полностью реализовали спецификацию (или реализовали ее правильно). Я думаю, цель состоит в том, чтобы текст содержал совпадение, но сама спецификация кажется немного двусмысленной (а также грамматически неправильной...)   -  person Lloyd McKenzie    schedule 02.12.2015
comment
Я использую развертывание HSPC Hapi 1.2 в Ex. sandbox.hspconsortium.org/dstu2/ open-hsp-reference-api/data/ Я также протестировал сервер HL7:fhir2.healthintersections.com.au/open/ Что работает, пока строка является началом слова, поэтому sys работает, а tolic нет, что не делает много смысла.   -  person Amy Ballard    schedule 02.12.2015
comment
Также fhir2.healthintersections.com.au/open/ возвращает нет результатов.   -  person Amy Ballard    schedule 02.12.2015
comment
Привет, Эми. Я думаю, что это большая проблема для сервера HAPI. Вы правы, у нас должно быть хотя бы левое совпадение, если не полное совпадение. Похоже, мы оставили совпадение для текстовых параметров, но только полное совпадение для параметров Coding.text. Посмотрим, сможем ли мы исправить это для предстоящего выпуска 1.4.   -  person James Agnew    schedule 03.12.2015


Ответы (1)


Похоже, серверы работают так, как требует спецификация: при использовании модификатора :text в параметре поиска токена (например, code здесь) спецификация говорит:

":text Параметр поиска обрабатывается как строка, которая ищет текст, связанный с кодом/значением"

Если мы посмотрим, как сервер должен искать строку, мы обнаружим:

«По умолчанию поле соответствует строковому запросу, если значение поля равно или начинается с предоставленного значения параметра после того, как оба были нормализованы по регистру и акценту».

Теперь, если бы code был истинным параметром поиска строки, мы могли бы применить модификатор contains, однако мы не можем складывать модификаторы, поэтому в этом случае code:text:containts может быть логичным, но не является частью текущей спецификации.

Итак, я боюсь, что в настоящее время нет «стандартного» способа делать то, что вы хотите.

person Ewout Kramer    schedule 02.12.2015
comment
Если это сервер, которым вы управляете, и реализация его поддерживает, параметр поиска можно добавить непосредственно в code.text. - person Chris Grenz; 02.12.2015