Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Внимание
Поддержка Azure API для FHIR будет прекращена 30 сентября 2026 г. Следуйте стратегиям миграции, чтобы перейти в службу FHIR® служб azure Health Data Services к этой дате. Из-за прекращения использования AZURE API для FHIR новые развертывания клиентов не будут разрешены с 1 апреля 2025 г. Служба FHIR служб azure Health Data Services — это развивающаяся версия Azure API для FHIR, которая позволяет клиентам управлять службами FHIR и DICOM с интеграцией с другими службами Azure.
Спецификация "Ресурсы быстрого взаимодействия здравоохранения" (FHIR) определяет основы поиска ресурсов FHIR®. В этой статье описаны некоторые ключевые аспекты поиска ресурсов в FHIR. Полные сведения о поиске ресурсов FHIR см . в разделе "Поиск " в спецификации HL7 FHIR. В этой статье приведены примеры синтаксиса поиска. Каждый поиск находится на сервере FHIR, который обычно имеет URL-адрес https://<FHIRSERVERNAME>.azurewebsites.net. В примерах для этого URL-адреса используется заполнитель {{FHIR_URL}}.
Поиск FHIR может быть в отношении определенного типа ресурса, указанного отсека или всех ресурсов. Самый простой способ выполнения поиска в FHIR — использовать GET запрос. Например, если вы хотите извлечь всех пациентов в базе данных, можно использовать следующий запрос.
GET {{FHIR_URL}}/Patient
Вы также можете выполнить поиск по запросу POST, что полезно, если строка запроса длинна. Для поиска с POSTпомощью , параметры поиска можно подать в виде тела формы, что позволяет создавать более длинную и сложную серию параметров запроса, которые могут быть трудно увидеть и понять в строке запроса.
Если запрос поиска выполнен успешно, вы получите ответ пакета FHIR с типом searchset. Если поиск завершается ошибкой, вы можете найти сведения об ошибке в OperationOutcome этой статье, чтобы понять, почему поиск завершился ошибкой.
В следующих разделах мы рассмотрим различные аспекты, связанные с поиском. После изучения этих деталей обратитесь к нашей странице с примерами , где есть примеры поиска, которые можно выполнить в Azure API для FHIR.
Параметры поиска
Поиски основаны на различных атрибутах ресурса. Эти атрибуты называются параметрами поиска. Каждый ресурс имеет набор определенных параметров поиска. Параметр поиска должен быть определен и индексирован в базе данных для успешного поиска по нему.
Каждый параметр поиска имеет определенные типы данных. В следующей таблице описана поддержка различных типов данных.
Предупреждение
Была проблема с использованием _sort Azure API для FHIR с цепочным поиском. Это было решено в более позднем релизе. Дополнительные сведения см. в статье о проблеме с открытым исходным кодом #2344.
| Тип параметра поиска | Azure API для FHIR | Служба FHIR в Службах данных работоспособности Azure | Комментарий |
|---|---|---|---|
| number | Да | Да | |
| Дата | Да | Да | |
| строка | Да | Да | |
| token | Да | Да | |
| Получение | Да | Да | |
| составной | Частично | Частично | Список поддерживаемых составных типов описан далее в этой статье. |
| quantity | Да | Да | |
| uri | Да | Да | |
| специальный | No | No |
Распространенные параметры поиска
Существуют распространенные параметры поиска, которые применяются ко всем ресурсам. Эти параметры приведены в следующем списке вместе с их поддержкой в Azure API для FHIR.
| Распространенный параметр поиска | Azure API для FHIR | Служба FHIR в Службах данных работоспособности Azure | Комментарий |
|---|---|---|---|
| _id | Да | Да | |
| _lastUpdated | Да | Да | |
| _ярлык | Да | Да | |
| _type | Да | Да | |
| _security | Да | Да | |
| _профиль | Да | Да | |
| _Имеет | Частично | Да |
_has Поддержка используется в MVP в AZURE API для FHIR и версии OSS, поддерживаемой Azure Cosmos DB. Дополнительные сведения включены в следующий раздел цепочки. |
| _запрос | No | No | |
| _фильтр | No | No | |
| _список | No | No | |
| _СМС | No | No | |
| _содержание | No | No |
Параметры, относящиеся к ресурсу
С помощью Azure API для FHIR мы поддерживаем почти все параметры поиска, относящиеся к ресурсам, определенные спецификацией FHIR. В следующих ссылках доступны только параметры поиска, которые мы не поддерживаем.
Вы также можете увидеть текущую поддержку параметров поиска в инструкции функции FHIR со следующим запросом.
GET {{FHIR_URL}}/metadata
Чтобы просмотреть параметры поиска в инструкции возможностей, перейдите к CapabilityStatement.rest.resource.searchParam просмотру параметров поиска для каждого ресурса и CapabilityStatement.rest.searchParam поиск параметров поиска для всех ресурсов.
Примечание.
Azure API для FHIR не создаёт и не индексирует автоматически параметры поиска, не определённые спецификацией FHIR. Однако мы предоставляем поддержку для определения собственных параметров поиска.
Составные параметры поиска
Составной поиск позволяет выполнять поиск по парам значений. Например, если вы искали наблюдение высоты, где человек был 60 дюймов, необходимо убедиться, что один компонент наблюдения содержал код высоты и значение 60. Если нет, можно получить результаты, включающие 60, но не по росту. Например, вес 60 и рост 48. Оба параметра соответствуют условию поиска, но не в одном поле.
С помощью Azure API для FHIR мы поддерживаем следующие пары типов параметров поиска.
- Справочник, маркер
- Токен, дата
- Токен, число, число
- Токен, количество
- Токен, строка
- Токен, токен
Дополнительные сведения см. в параметрах составного поиска HL7.
Примечание.
Композитные параметры поиска не поддерживают модификаторы согласно спецификации FHIR.
Модификаторы и префиксы
Модификаторы позволяют изменять параметр поиска. В следующей таблице представлен обзор всех модификаторов FHIR и их поддержки в API Azure для FHIR.
| Модификаторы | Azure API для FHIR | Служба FHIR в Службах данных работоспособности Azure | Комментарий |
|---|---|---|---|
| :недостающий | Да | Да | |
| :точный | Да | Да | |
| :Содержит | Да | Да | |
| текст: | Да | Да | |
| :тип (ссылка) | Да | Да | |
| :не | Да | Да | |
| :ниже (URI) | Да | Да | |
| :above (URI) | Да | Да | |
| :in (токен) | No | No | |
| :ниже (токен) | No | No | |
| :выше (токен) | No | No | |
| :not-in (токен) | No | No |
Для параметров поиска, имеющих определенный порядок (числа, даты и количества), можно использовать префикс параметра для поиска совпадений. API Azure для FHIR поддерживает все префиксы.
Параметры результата поиска
Для управления возвращаемыми ресурсами можно использовать параметры результата поиска. Дополнительные сведения об использовании каждого из параметров результата поиска см. на веб-сайте HL7 .
| Параметры результата поиска | Azure API для FHIR | Служба FHIR в Службах данных работоспособности Azure | Комментарий |
|---|---|---|---|
| _азы | Да | Да | |
| _считать | Да | Да | _count ограничен 1000 ресурсами. Если установка выше 1 000, возвращается только 1 000, и в пучке возвращается предупреждение. |
| _включать | Да | Да | Включенные элементы ограничены 100. _include в PaaS и OSS в Azure Cosmos DB не включают поддержку :iterate (#2137). |
| _revinclude | Да | Да | Включенные элементы ограничены 100. _revinclude в PaaS и OSS в Azure Cosmos DB не включают :итерацию поддержки (No 2137). Существует также неправильный код состояния для плохого запроса #1319 |
| _сводка | Да | Да | |
| _итог | Частично | Частично | _total=none и _total=точный |
| _сортировать | Частично | Частично | sort=_lastUpdated поддерживается в Azure API для FHIR и службе FHIR. Для Azure API для баз данных FHIR и OSS Azure Cosmos DB, созданных после 20 апреля 2021 года, поддерживается сортировка по имени, фамилии, дате рождения и клинической дате. |
| _содержащийся | No | No | |
| _containedType | No | No | |
| _счёт | No | No |
Примечание.
По умолчанию _sort выполняет сортировку записи по возрастанию. Префикс '-' можно использовать для сортировки в порядке убывания. Кроме того, служба FHIR и AZURE API для FHIR позволяют выполнять сортировку только по одному полю одновременно.
По умолчанию API Azure для FHIR устанавливается на строгой обработку. Это означает, что сервер игнорирует любые неизвестные или неподдерживаемые параметры. Если вы хотите использовать строгую обработку, можно использовать заголовок "Предпочитать" и задать.handling=strict
Поиск в цепочке и обратной цепочке
Поиск в цепочке позволяет выполнять поиск с помощью параметра поиска в ресурсе, на который ссылается другой ресурс. Например, если вы хотите найти встречи, где имя пациента — Джейн, используйте следующую команду:
GET {{FHIR_URL}}/Encounter?subject:Patient.name=Jane.
Аналогичным образом можно также выполнять обратный связный поиск. Это позволяет получить ресурсы, указав критерии на других ресурсах, которые ссылаются на них. Дополнительные примеры цепочки и обратного поиска см. на странице примеров поиска FHIR.
Примечание.
В Azure API для FHIR и в открытом исходном коде, поддерживаемом Azure Cosmos DB, есть ограничение: каждый подзапрос, необходимый для цепочного и обратного поиска, возвращает только 1000 элементов. Если найдено более 1 000 элементов, вы получаете следующее сообщение об ошибке: «Подзапросы в цепочном выражении не могут вернуть более 1 000 результатов, пожалуйста, используйте более избирательные критерии.» Успешный запрос должен быть конкретен в отношении того, что вы ищете.
Разбиение на страницы
Как упоминалось ранее, результаты поиска — это пакет страниц. По умолчанию поиск даёт 10 результатов на страницу, которые можно увеличить (или уменьшить) при указании _count. В пакете будет локальная ссылка, содержащая текущий результат поиска. Если есть другие совпадения, в наборе будет следующая ссылка. Чтобы получить последующие страницы результатов, можно продолжить использовать следующую ссылку.
_count ограничено 1000 элементами или меньше.
Следующая ссылка в пакете имеет ограничение на размер маркера продолжения в 3 КБ. Вы можете настроить размер маркера продолжения в диапазоне от 1 КБ до 3 КБ, используя заголовок x-ms-documentdb-responsecontinuationtokenlimitinkb.
В настоящее время API Azure для FHIR поддерживает только следующую ссылку в пакетах, и она не поддерживает первые, последние или предыдущие ссылки.
Следующие шаги
Теперь, когда вы узнали об основах поиска, ознакомьтесь со страницей примеров поиска, чтобы узнать, как выполнять поиск с помощью различных параметров поиска, модификаторов и других сценариев поиска FHIR.
Примечание.
FHIR® является зарегистрированным товарным знаком HL7 и используется с разрешением HL7 .