Экспорт данных FHIR в Azure API для FHIR

Внимание

Поддержка Azure API для FHIR будет прекращена 30 сентября 2026 г. Следуйте стратегиям миграции, чтобы перейти в службу FHIR служб azure Health Data Services к этой дате. Из-за прекращения поддержки Azure API для FHIR с 1 апреля 2025 г. новые развертывания будут невозможны. Служба FHIR служб работоспособности Azure — это развивающаяся версия Azure API для FHIR, которая позволяет клиентам управлять службами FHIR, DICOM и MedTech с интеграцией с другими службами Azure.

Функция массового экспорта позволяет экспортировать данные с сервера FHIR в соответствии со спецификацией FHIR.

Прежде чем использовать $export, необходимо убедиться, что api Azure для FHIR настроен для его использования. Сведения о настройке параметров экспорта и создании учетной записи хранения Azure см. на странице настройки данных экспорта.

Примечание.

Только учетные записи хранения в той же подписке, что и для Azure API для FHIR, могут быть зарегистрированы в качестве назначения для $export операций.

Использование команды $export

После настройки API Azure для FHIR для экспорта можно использовать команду $export для экспорта данных из службы. Данные будут храниться в учетной записи хранения, указанной при настройке экспорта. Чтобы узнать, как вызвать команду $export на сервере FHIR, ознакомьтесь со документацией по спецификации HL7 FHIR $export.

Задания застряли в плохом состоянии

В некоторых ситуациях есть потенциал для работы застрять в плохом состоянии. Это может произойти, особенно если разрешения учетной записи хранения не настроены должным образом. Один из способов проверки экспорта — проверка учетной записи хранения, чтобы узнать, присутствуют ли соответствующие файлы контейнера (тndjson. е. ) . Если они отсутствуют, и нет других заданий экспорта, возможно, текущее задание зависает в плохом состоянии. Необходимо отменить задание экспорта, отправив запрос на отмену и повторите попытку повторного создания задания. Время выполнения по умолчанию для экспорта в плохом состоянии составляет 10 минут, прежде чем он остановится и переместится на новое задание или повторите экспорт.

Api Azure для FHIR поддерживает $export на следующих уровнях:

  • Система: GET https://<<FHIR service base URL>>/$export>>
  • Пациент: GET https://<<FHIR service base URL>>/Patient/$export>>
  • Группа пациентов* — Azure API для FHIR экспортирует все связанные ресурсы, но не экспортирует характеристики группы: GET https://<<FHIR service base URL>>/Group/[ID]/$export>>

При экспорте данные экспортируются в несколько файлов, содержащих ресурсы только одного типа. Количество ресурсов в отдельном файле будет ограничено. Максимальное количество ресурсов основано на производительности системы. В настоящее время он установлен на 5000, но может измениться. Результатом является то, что вы можете получить несколько файлов для типа ресурса. Имена файлов будут соответствовать формату resourceName-number-number.ndjson. Порядок файлов не гарантируется в соответствии с порядком ресурсов в базе данных.

Примечание.

Patient/$export и Group/[ID]/$export может экспортировать повторяющиеся ресурсы, если ресурс находится в отсеке нескольких ресурсов или находится в нескольких группах.

Кроме того, проверка состояние экспорта через URL-адрес, возвращаемый заголовком расположения во время очереди, поддерживается вместе с отменой фактического задания экспорта.

Экспорт данных FHIR в ADLS 2-го поколения

В настоящее время мы поддерживаем $export для учетных записей хранения с поддержкой ADLS 2-го поколения со следующим ограничением:

  • Пользователь не может воспользоваться иерархическими пространствами имен, но в контейнере нет способа целевого экспорта в определенный подкаталог. Мы предоставляем доступ только к определенному контейнеру (где мы создадим новую папку для каждого экспорта).
  • После завершения экспорта мы никогда не экспортируем ничего в ту папку снова, так как последующие экспорты в тот же контейнер будут находиться в только что созданной папке.

Настройки и параметры

Заголовки

Для заданий $export необходимо задать два обязательных параметра заголовка. Значения определяются текущей спецификацией $export.

  • Accept — application/fhir+json
  • Предпочитать — ответ-асинхронный

Параметры запроса

API Azure для FHIR поддерживает следующие параметры запроса. Все эти параметры являются необязательными:

Параметр запроса Определяется спецификацией FHIR? Description
_outputFormat Да В настоящее время поддерживает три значения для выравнивания по спецификации FHIR: application/fhir+ndjson, application/ndjson или ndjson. Все задания экспорта возвращаются ndjson и переданное значение не влияет на поведение кода.
Да Позволяет экспортировать только измененные ресурсы с момента предоставления
_type Да Позволяет указать, какие типы ресурсов будут включены. Например, _type=Пациент вернет только ресурсы пациентов
_typefilter Да Чтобы запросить более детальное фильтрацию, можно использовать _typefilter вместе с параметром _type. Значение параметра _typeFilter — это разделенный запятыми список запросов FHIR, которые дополнительно ограничивают результаты.
_Контейнер No Указывает контейнер в настроенной учетной записи хранения, в которой должны экспортироваться данные. Если указан контейнер, данные будут экспортированы в папку в этот контейнер. Если контейнер не указан, данные будут экспортированы в новый контейнер.
_До No Позволяет экспортировать только ресурсы, которые были изменены до указанного времени. Этот параметр применим только к экспорту на уровне системы. В этом случае, если исторические версии не были отключены или удалены, экспорт гарантирует истинное представление моментальных снимков или, другими словами, позволяет перемещаться по времени.
includeAssociatedData No Позволяет экспортировать журнал и обратимо удаленные ресурсы. Этот фильтр не работает с параметром запроса _typeFilter. Включите значение как "_history" для экспорта журналов или не последних версий ресурсов. Включите значение как "_deleted" для экспорта обратимо удаленных ресурсов.
_isparallel No Параметр запроса "_isparallel" можно добавить в операцию экспорта, чтобы повысить пропускную способность. Для включения параллелизации необходимо задать значение true. Важно отметить, что использование этого параметра может привести к увеличению потребления единиц запросов за время экспорта.

Примечание.

Существует известная проблема с операцией $export, которая может привести к неполному экспорту с успехом состояния. Проблема возникает при использовании флага is_parallel. Задания экспорта, выполняемые с параметром запроса _isparallel начиная с 13 февраля 2024 г., влияют на эту проблему.

Безопасный экспорт в служба хранилища Azure

Azure API для FHIR поддерживает безопасную операцию экспорта. Выберите один из следующих двух вариантов:

  • Разрешение Azure API для FHIR в качестве доверенной службы Майкрософт для доступа к учетной записи хранения Azure.

  • Разрешение доступа к учетной записи хранения Azure с определенными IP-адресами, связанными с AZURE API для FHIR. Этот параметр предоставляет две разные конфигурации в зависимости от того, находится ли учетная запись хранения в том же расположении, что и в другом расположении api Azure для FHIR.

Разрешение AZURE API для FHIR в качестве доверенной службы Майкрософт

Выберите учетную запись хранения из портал Azure и выберите колонку "Сеть". Выберите выбранные сети на вкладке "Брандмауэры" и "Виртуальные сети ".

Внимание

Убедитесь, что вы предоставили разрешение на доступ к учетной записи хранения для AZURE API для FHIR с помощью управляемого удостоверения. Дополнительные сведения см. в разделе "Настройка параметра экспорта" и настройка учетной записи хранения.

Azure Storage Networking Settings.

В разделе "Исключения" выберите поле Разрешить доверенным службы Майкрософт для доступа к этой учетной записи хранения и сохранения параметра.

Allow trusted Microsoft services to access this storage account.

Теперь вы готовы экспортировать данные FHIR в учетную запись хранения безопасно. Обратите внимание, что учетная запись хранения находится в выбранных сетях и не является общедоступной. Чтобы получить доступ к файлам, можно включить и использовать частные конечные точки для учетной записи хранения или включить все сети для учетной записи хранения в течение короткого периода времени.

Внимание

Пользовательский интерфейс будет обновлен позже, чтобы вы могли выбрать тип ресурса для Azure API для FHIR и конкретный экземпляр службы.

Разрешить доступ к учетной записи хранения Azure с помощью определенных IP-адресов из других регионов Azure

  1. В портал Azure перейдите к учетной записи Azure Data Lake Storage 2-го поколения.

  2. В меню слева выберите "Сеть".

  3. Выберите "Включено" из выбранных виртуальных сетей и IP-адресов.

  4. В разделе "Брандмауэр" в поле диапазона адресов укажите IP-адрес. Добавьте диапазоны IP-адресов, чтобы разрешить доступ из Интернета или локальных сетей. IP-адрес можно найти в следующей таблице для региона Azure, где подготовлена служба FHIR.

    Регион Azure Общедоступный IP-адрес
    Восточная Австралия 20.53.44.80
    Центральная Канада 20.48.192.84
    Центральная часть США 52.182.208.31
    Восточная часть США 20.62.128.148
    Восточная часть США 2 20.49.102.228
    Восточная часть США 2 (EUAP) 20.39.26.254
    Северная Германия 51.116.51.33
    Центрально-Западная Германия 51.116.146.216
    Восточная Япония 20.191.160.26
    Республика Корея, центральный регион 20.41.69.51
    Центрально-северная часть США 20.49.114.188
    Северная Европа 52.146.131.52
    Северная часть ЮАР 102.133.220.197
    Центрально-южная часть США 13.73.254.220
    Юго-Восточная Азия 23.98.108.42
    Северная Швейцария 51.107.60.95
    южная часть Соединенного Королевства 51.104.30.170
    западная часть Соединенного Королевства 51.137.164.94
    Центрально-западная часть США 52.150.156.44
    Западная Европа 20.61.98.66
    западная часть США 2 40.64.135.77

Разрешить доступ к учетной записи хранения Azure в одном регионе с определенными IP-адресами.

Процесс конфигурации ДЛЯ IP-адресов в том же регионе похож на предыдущую процедуру, за исключением того, что вы используете определенный диапазон IP-адресов в формате маршрутизации без классов (CIDR) (то есть 100.64.0.0/10). Необходимо указать диапазон IP-адресов (100.64.0.0 до 100.127.255.2555), так как IP-адрес службы FHIR выделяется каждый раз при выполнении запроса на операцию.

Примечание.

Частный IP-адрес можно использовать в диапазоне от 10.0.2.0/24, но в таком случае операция не будет выполнена. Вы можете повторить попытку, если запрос операции завершится ошибкой, но пока не будет использоваться IP-адрес в диапазоне от 100.64.0.0/10, запрос не будет выполнен.

Это поведение сети для диапазонов IP-адресов по проектированию. Альтернативой является настройка учетной записи хранения в другом регионе.

Следующие шаги

В этой статье вы узнали, как экспортировать ресурсы FHIR с помощью команды $export. Далее, чтобы узнать, как экспортировать деидентированные данные, см. раздел

FHIR® является зарегистрированным товарным знаком HL7 и используется с разрешением HL7 .