Руководство. Получение сообщений устройства с помощью Центр Интернета вещей Azure

Это важно

Прекращение использования службы MedTech было инициировано 3 мая 2025 года. Если использование службы MedTech больше не является приоритетом, удалите экземпляр, который можно найти здесь. Поддержка активных инстанций в следующих регионах завершится 3 мая 2028 г.: Западная часть США 2, Южная часть Великобритании, Западная Европа, Восточная часть США, Восточная часть США 2, Центральная Индия, Северная Европа. Здесь можно найти версию службы MedTech с открытым исходным кодом.

Служба MedTech может получать сообщения с устройств, которые вы создаете и управляете с помощью Центра Интернета вещей в Центр Интернета вещей Azure. В этом руководстве используется шаблон Azure Resource Manager (шаблон ARM) и кнопка Deploy to Azure для развертывания службы MedTech. Шаблон также развертывает Центр Интернета вещей для создания устройств и управления ими, а также маршрутизации сообщений устройств в концентратор событий для службы MedTech для чтения и обработки. После обработки данных устройства ресурсы FHIR сохраняются в службе FHIR®, которая также включена в шаблон.

Схема потока сообщений об устройстве Интернета вещей через Центр Интернета вещей и центр событий, а затем в службу MedTech.

Подсказка

Сведения о преобразовании и сохранении данных устройства в службе FHIR в качестве ресурсов FHIR см. в разделе "Обзор этапов обработки данных устройства службы MedTech".

Из этого руководства вы узнаете, как:

  • Откройте шаблон ARM на портале Azure.
  • Настройте шаблон для развертывания.
  • Создайте устройство.
  • Отправьте тестовое сообщение.
  • Просмотрите метрики для тестового сообщения.

Подсказка

Дополнительные сведения о шаблонах ARM см. в статье "Что такое шаблоны ARM?"

Необходимые условия

Чтобы начать развертывание и завершить обучение, необходимо иметь следующие необходимые требования:

  • Активная учетная запись подписки Azure. Если у вас нет подписки на Azure, см. руководство по принятию решений по подписке .

  • Owner или Contributor и администратор доступа пользователей назначения ролей в подписке Azure. Для получения дополнительной информации см. раздел Что такое управление доступом, основанное на ролях в Azure (Azure RBAC)?

  • Майкрософт. HealthcareApis, Майкрософт. EventHub и Майкрософт. Поставщики ресурсов устройств, зарегистрированные в подписке Azure. Дополнительные сведения см. в разделе Поставщики и типы ресурсов Azure.

  • Visual Studio Code установлен локально.

  • Azure IoT Tools установлен в Visual Studio Code. Azure IoT Tools — это коллекция расширений, которые упрощают подключение к центрам Интернета вещей, созданию устройств и отправке сообщений. В этом руководстве вы используете расширение Центр Интернета вещей Azure в Visual Studio Code для подключения к развернутому центру IoT, создания устройства и отправки тестового сообщения с устройства в центр IoT.

Если у вас есть эти предварительные требования, вы можете настроить шаблон ARM с помощью кнопки Deploy для Azure.

Просмотр шаблона ARM

Шаблон ARM, используемый для развертывания ресурсов в этом руководстве, доступен по адресу Azure Шаблоны быстрого запуска с помощью файла azuredeploy.json в GitHub.

Кнопка «Развернуть в Azure»

Чтобы начать развертывание на портале Azure, нажмите кнопку Развернуть в Azure.

Развернуть в Azure

Настройка развертывания

  1. На портале Azure на вкладке Basics шаблона Azure краткого запуска выберите или введите следующие сведения для развертывания:

    • Subscription: подписка Azure, используемая для развертывания.

    • Группа ресурсов: существующая группа ресурсов или вы можете создать новую группу ресурсов.

    • Region: регион группы ресурсов Azure, используемой для развертывания. Регион автоматически заполняется на основе региона группы ресурсов.

    • Basename: значение, добавленное к имени развернутых ресурсов и служб Azure. В примерах этого руководства используется имя базы данных azuredocsdemo. Вы можете выбрать собственное значение basename.

    • Location: поддерживаемый регион Azure для Службы Azure для работы с медицинскими данными (значение может совпадать с регионом, в котором находится группа ресурсов). Список регионов Azure, в которых доступны службы данных о здоровье, см. в разделе Продукты, доступные по регионам.

    • Основной идентификатор участника FHIR (необязательно): ID объекта пользователя Microsoft Entra, обеспечивающий разрешения на чтение и запись для службы FHIR.

      Эту учетную запись можно использовать для предоставления доступа к службе FHIR для просмотра наблюдений FHIR, созданных в этом руководстве. Мы рекомендуем использовать собственный идентификатор объекта пользователя Microsoft Entra, чтобы получить доступ к сообщениям в службе FHIR. Если вы решили не использовать опцию идентификатора участника Fhir, очистите текстовое поле.

      Чтобы узнать, как получить идентификатор объекта пользователя Microsoft Entra, см. статью Поиск идентификатора объекта пользователя. Идентификатор объекта пользователя, используемый в этом руководстве, является лишь примером. Если вы используете этот параметр, используйте собственный идентификатор объекта пользователя или идентификатор объекта другого пользователя, которому требуется получить доступ к службе FHIR.

    • Сопоставление устройств. Оставьте значения по умолчанию для этого руководства.

    • Сопоставление назначения. Оставьте значения по умолчанию для этого руководства.

    Screenshot с параметрами развертывания службы MedTech для служб данных о здоровье на портале Azure.

  2. Чтобы проверить конфигурацию, нажмите кнопку "Проверить и создать".

    Скриншот с кнопкой

  3. В разделе "Проверка и создание" проверьте состояние проверки шаблона. Если проверка выполнена успешно, шаблон отображает пройденную проверку. Если проверка завершается ошибкой, исправьте проблему, указанную в сообщении об ошибке, а затем нажмите кнопку "Проверить и создать еще раз".

    Снимок экрана: панель

  4. После успешной проверки, чтобы начать развертывание, выберите Создать.

    Снимок экрана: выделенная кнопка

  5. Через несколько минут на портале Azure отображается сообщение о завершении развертывания.

    Снимок экрана: зеленая галочка и сообщение о завершении развертывания.

    Это важно

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

    Группы потребителей позволяют нескольким приложениям-потребителям обеспечивать отдельное представление потока событий и читать поток независимо в своем темпе и с собственными смещениями. Дополнительные сведения см. в разделе "Группы потребителей".

    Примеры:

    • Две службы MedTech, обращающиеся к одному концентратору событий.

    • Служба медицинских технологий и приложение для записи данных, обращающиеся к той же шине событий.

Просмотр развернутых ресурсов и разрешений на доступ

После завершения развертывания создаются следующие ресурсы и роли доступа:

  • Пространство имен Центров событий и концентратор событий. В этом развертывании концентратор событий называется devicedata.

    • Группа потребителей концентратора событий. В этом развертывании группа потребителей называется $Default.

    • роль отправителя данных Центры событий Azure. В этом развертывании роль отправителя называется devicedatasender и может использоваться для предоставления доступа к концентратору событий с помощью подписанного URL-адреса (SAS). Дополнительные сведения о авторизации доступа с помощью SAS см. в статье "Авторизация доступа к ресурсам Центров событий с помощью подписанных URL-адресов". Роль Центры событий Azure отправителя данных в этом руководстве не используется.

  • Центр Интернета вещей с маршрутизацией сообщений , настроенным для маршрутизации сообщений устройства в концентратор событий.

  • Управляемое удостоверение, назначаемое пользователем, которое предоставляет доступ из Центра Интернета вещей в концентратор событий. Управляемое удостоверение имеет роль Отправитель данных для Центры событий Azure в разделе Управление доступом (IAM) концентратора событий.

  • Рабочая область служб данных о здоровье.

  • Служба FHIR сервисов данных о здоровье.

  • Служба Health Data Services MedTech с включенным управляемым удостоверением, назначенным системой и предоставленными следующими ролями доступа:

  • Соответствие и допустимые сопоставления служб MedTech и назначения FHIR. Для типа разрешения задано значение Create.

Это важно

В этом руководстве шаблон ARM настраивает службу MedTech для работы в режиме Create. Ресурс пациента и ресурс устройства создаются для каждого устройства, отправляющего данные в службу FHIR.

Чтобы узнать о типах разрешения услуг MedTech Create и Lookup, см. вкладку "Настройка назначения.

Создание устройства и отправка тестового сообщения

После успешного развертывания ресурсов вы можете подключиться к центру Интернета вещей, создать устройство и отправить тестовое сообщение в Центр Интернета вещей. Выполнив следующие действия, служба MedTech может:

  • Прочитайте маршрутизируемое тестовое сообщение IoT из узла событий.
  • Преобразуйте тестовое сообщение в пять наблюдений FHIR.
  • Сохраните наблюдения FHIR в вашем сервисе FHIR.

Выполните действия с помощью Visual Studio Code с расширением Центр Интернета вещей Azure:

  1. Откройте Visual Studio Code с установленными средствами Azure IoT.

  2. В обозревателе в разделе Центр Интернета вещей Azure выберите ... и выберите Select Центр Интернета вещей.

    Скриншот Visual Studio Code с расширением Центр Интернета вещей Azure, с выбранным развернутым центром Интернета вещей.

  3. Выберите подписку Azure, в которой был создан ваш IoT-хаб.

  4. Выберите нужный Центр Интернета вещей. Имя вашего IoT-центра — это базовое имя, которое вы указали при создании ресурсов, с добавленным префиксом ih-. Пример имени концентратора — ih-azuredocsdemo.

  5. В обозревателе в Центр Интернета вещей Azure выберите ... и выберите Create Device. Примером имени устройства является iot-001.

    Снимок экрана, на котором показан Visual Studio Code с расширением Центр Интернета вещей Azure и выбранной опцией

  6. Чтобы отправить тестовое сообщение с устройства на IoT-узел, щелкните правой кнопкой мыши устройство и выберите Отправить D2C сообщение в IoT-узел.

    Замечание

    В этом примере cloud — это центр IoT в Центр Интернета вещей Azure, который получает сообщение от устройства. Центр Интернета вещей Azure поддерживает двустороннее взаимодействие. Чтобы настроить сценарий "облако — устройство" ( C2D), выберите "Отправить сообщение C2D в облако устройства".

    Screenshot, который отображает Visual Studio Code с расширением Центр Интернета вещей Azure и параметром "Отправить сообщение D2C в Центр Интернета вещей выбрано.<>/c2>

  7. В поле "Отправить сообщения D2C" выберите или введите следующие значения:

    • Устройства для отправки сообщений из: имя созданного устройства.

    • Сообщения на устройство: 1.

    • Интервал между двумя сообщениями: 1 секунды.

    • Сообщение: обычный текст.

    • Изменить: очистить любой существующий текст, а затем скопируйте и вставьте следующее тестовое сообщение JSON.

      Подсказка

      Можно использовать параметр "Копировать " в правом углу приведенного ниже тестового сообщения, а затем вставить его в окно "Изменить ".

      {
          "PatientId": "patient1",
          "HeartRate": 78,
          "RespiratoryRate": 12,
          "HeartRateVariability": 30,
          "BodyTemperature": 98.6,
          "BloodPressure": {
             "Systolic": 120,
             "Diastolic": 80
          }
      }  
      
  8. Чтобы начать процесс отправки тестового сообщения в Центр Интернета вещей, нажмите кнопку "Отправить".

    Скриншот, показывающий Visual Studio Code с расширением Центр Интернета вещей Azure и выбранными параметрами сообщений устройства.

    После выбора "Отправить" может потребоваться до пяти минут, чтобы ресурсы FHIR были доступны в службе FHIR.

    Это важно

    Чтобы избежать спуфинга устройства в сообщениях типа "устройство — облако" (D2C), Центр Интернета вещей Azure обогащает все сообщения устройства дополнительными свойствами перед маршрутизацией их в концентратор событий. Например: SystemProperties: iothub-connection-device-id и Properties: iothub-creation-time-utc. Дополнительные сведения см. в разделе о свойствах защиты от спуфинга и использовании шаблонов IotJsonPathContent с сопоставлением устройств службы MedTech.

    Вы не хотите отправлять это примерное сообщение об устройстве в IoT-хаб, поскольку обогащения будут повторяться IoT-хабом и вызывать ошибку в вашем MedTech-сервисе. Это только пример обогащения сообщений устройства центром Интернета вещей.

    Пример:

    Снимок экрана обогащенного сообщения устройства Центр Интернета вещей Azure.

    patientIdExpression требуется только для служб MedTech в режиме создания , однако, если используется поиск , ресурс устройства с соответствующим идентификатором устройства должен существовать в службе FHIR. В этом примере предполагается, что служба MedTech находится в режиме создания . Для этого учебника тип разрешения установлен на Создать. Дополнительные сведения о свойствах назначения: создание и поиск см. на вкладке "Настройка назначения".

Проверка метрик из тестового сообщения

После успешной отправки тестового сообщения в Центр Интернета вещей теперь можно просмотреть метрики службы MedTech. Проверьте метрики, чтобы убедиться, что служба MedTech получила, сгруппировала, преобразовала и сохранила тестовое сообщение в сервис FHIR. Дополнительные сведения см. в разделе "Использование вкладок мониторинга и проверки работоспособности службы MedTech".

Для метрик службы MedTech можно увидеть, что служба MedTech выполнила следующие действия для тестового сообщения:

  • Количество входящих сообщений: получено входящее тестовое сообщение из концентратора событий.
  • Число нормализованных сообщений: создано пять нормализованных сообщений.
  • Количество измерений: создано пять измерений.
  • Количество ресурсов FHIR: создано пять ресурсов FHIR, которые сохраняются в вашей службе FHIR.

Снимок экрана: плитка метрик службы MedTech и тестовые метрики данных.

Снимок экрана, на котором показана вторая плитка метрик службы MedTech и тестовые метрики данных.

Просмотр тестовых данных в службе FHIR

Если вы указали ваш собственный идентификатор объекта пользователя Microsoft Entra в качестве необязательного значения для параметра Fhir Contributor Principal ID в шаблоне развертывания, вы можете выполнить запрос на ресурсы FHIR в вашей службе FHIR. Вы можете увидеть следующие ресурсы наблюдения FHIR в службе FHIR на основе тестового сообщения, отправленного в Центр Интернета вещей и обработанных службой MedTech:

  • HeartRate
  • Частота дыхания
  • Вариабельность сердечного ритма
  • Температура тела
  • Кровяное давление

Сведения о том, как получить маркер доступа Microsoft Entra и просмотреть ресурсы FHIR в службе FHIR, см. в статье Access с помощью REST Client. Чтобы просмотреть ресурсы наблюдения FHIR, созданные тестовым сообщением, необходимо использовать следующие значения GET : {{fhirurl}}/Observation

Дальнейшие действия

Выбор метода развертывания для службы MedTech

Обзор этапов обработки данных устройства службы MedTech

Часто задаваемые вопросы о службе MedTech

Замечание

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