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

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

Diagram of the IoT device message flow through an IoT hub and event hub, and then into the MedTech service.

Совет

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

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

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

Совет

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

Необходимые компоненты

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

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

  • Назначение ролей владельца или участника и доступа пользователей Администратор istrator в подписке Azure. Общие сведения см. в статье Что такое управление доступом на основе ролей в Azure (Azure RBAC)?

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

  • Версия Visual Studio Code, установленная локально.

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

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

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

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

Использование кнопки "Развернуть в Azure"

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

Deploy to Azure

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

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

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

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

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

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

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

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

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

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

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

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

    Screenshot that shows deployment options for the MedTech service for Health Data Services in the Azure portal.

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

    Screenshot that shows the Review + create button selected in the Azure portal.

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

    Screenshot that shows the Review + create pane displaying the Validation Passed message.

  4. После успешной проверки нажмите кнопку "Создать".

    Screenshot that shows the highlighted Create button.

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

    Screenshot that shows a green checkmark and the message Your deployment is complete.

    Важно!

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

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

    Примеры:

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

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

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

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

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

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

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

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

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

  • Рабочая область служб работоспособности.

  • Служба FHIR служб данных работоспособности.

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

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

    • Для службы FHIR роль доступа к записи данных FHIR назначается в разделе управления доступом (IAM) службы FHIR.

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

Важно!

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

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

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

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

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

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

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

  2. В Обозреватель в разделе Центр Интернета вещей Azure выберите ..., а затем нажмите кнопку "Выбрать Центр Интернета вещей".

    Screenshot of Visual Studio Code with the Azure IoT Hub extension with the deployed IoT hub selected.

  3. Выберите подписку Azure, в которой был подготовлен центр Интернета вещей.

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

  5. В Обозреватель в Центр Интернета вещей Azure выберите ..., а затем нажмите кнопку "Создать устройство". Примером имени устройства является iot-001.

    Screenshot that shows Visual Studio Code with the Azure IoT Hub extension with Create device selected.

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

    Примечание.

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

    Screenshot that shows Visual Studio Code with the Azure IoT Hub extension and the Send D2C Message to IoT Hub option selected.

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

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

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

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

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

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

      Совет

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

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

    Screenshot that shows Visual Studio Code with the Azure IoT Hub extension with the device message options selected.

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

    Важно!

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

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

    Пример:

    Screenshot of an Azure IoT Hub enriched device message.

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

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

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

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

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

Screenshot that shows a MedTech service metrics tile and test data metrics.

Screenshot that shows a second MedTech service metrics tile and test data metrics.

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

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

  • HeartRate
  • RespiratoryRate
  • HeartRateVariability
  • BodyTemperature
  • BloodPressure

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

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

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

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

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

Примечание.

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