Поделиться через


Экспорт данных 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. Этот параметр предоставляет две разные конфигурации в зависимости от того, находится ли учетная запись хранения в одном или другом расположении, что и AZURE API для FHIR.

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

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

Внимание

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

служба хранилища Azure параметры сети.

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

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

Теперь вы готовы экспортировать данные 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 .