Tutorial: receber mensagens do dispositivo por meio do Hub IoT do Azure

O serviço de tecnologia médica pode receber mensagens de dispositivos que você cria e gerencia através de um hub IoT no Hub IoT do Azure. Esse tutorial usa um modelo do ARM (modelo do Azure Resource Manager) e um botão Implantar no Azure para implantar um serviço de tecnologia médica. O modelo também implanta um hub IoT para criar e gerenciar dispositivos e a mensagem roteia mensagens de dispositivo para um hub de eventos para que o serviço de tecnologia médica leia e processe. Após o processamento de dados do dispositivo, os recursos FHIR® são mantidos no serviço FHIR, que também é incluído no modelo.

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

Dica

Para saber como o serviço de tecnologia médica transforma e persiste os dados do dispositivo no serviço FHIR como recursos FHIR, consulte Visão geral dos estágios de processamento de dados do dispositivo do serviço de tecnologia médica.

Neste tutorial, você aprenderá a:

  • Abrir um modelo do ARM no portal do Azure.
  • Configurar o modelo para sua implantação.
  • Criar um dispositivo.
  • Envie uma mensagem de teste.
  • Examinar as métricas da mensagem de teste.

Dica

Para saber mais sobre os modelos do ARM, confira O que são os modelos do ARM?

Pré-requisitos

Para iniciar sua implantação e concluir o tutorial, você deve ter os seguintes pré-requisitos:

  • Uma conta de assinatura ativa do Azure. Se você não tiver uma assinatura do Azure, confira o Guia de decisão de assinatura.

  • Atribuições de função de Proprietário ou Colaborador e Administrador de Acesso do Usuário na assinatura do Azure. Para saber mais, confira O que é o Azure o RBAC (controle de acesso baseado em função do Azure)?

  • Os provedores de recursos Microsoft.HealthcareApis, Microsoft.EventHub e Microsoft.Devices registrados com sua assinatura do Azure. Saiba mais sobre os Tipos e provedores de recursos do Azure.

  • O Visual Studio Code instalado localmente.

  • Azure IoT Tools instalado no Visual Studio Code. O Azure IoT Tools é uma coleção de extensões que facilita a conexão com hubs IoT, criação de dispositivos e envio de mensagens. Nesse tutorial, você usará a extensão do Hub IoT do Azure no Visual Studio Code para se conectar ao hub IoT implantado, criar um dispositivo e enviar uma mensagem de teste do dispositivo para o hub IoT.

Quando você tiver esses pré-requisitos, estará tudo pronto para configurar o modelo do ARM usando o botão Implantar no Azure.

Revisar um modelo do ARM

O modelo do ARM usado para implantar os recursos nesse tutorial está disponível nos Modelos de início rápido do Azure usando o arquivo azuredeploy.json no GitHub.

Usar o botão Implantar no Azure

Para iniciar a implantação no portal do Azure, selecione o botão Implantar no Azure:

Deploy to Azure

Configurar a implantação

  1. No portal do Azure, na guia Básico do Modelo de Início Rápido do Azure, selecione ou insira as seguintes informações da sua implantação:

    • Assinatura: a assinatura do Azure a ser usada para a implantação.

    • Grupo de recursos: selecione um grupo de recursos ou crie um grupo de recursos.

    • Região: a região do Azure do grupo de recursos usado para a implantação. A Região filtra automaticamente usando a região do grupo de recursos.

    • Basename: um valor acrescentado ao nome dos recursos e serviços do Azure implantados. Os exemplos nesse tutorial usam o basename azuredocsdemo. Você pode escolher seus próprios valores de basename.

    • Local: uma região do Azure com suporte para os Serviços de Dados de Saúde do Azure (o valor pode ser igual ou diferente da região em que o grupo de recursos está). Para ver a lista das regiões do Azure em que os Serviços de Dados de Saúde do Azure estão disponíveis, confira o site Produtos disponíveis por região.

    • ID de Entidade de Segurança de Colaborador do FHIR (opcional): uma ID de objeto de usuário do Microsoft Entra para fornecer permissões de leitura/gravação do serviço FHIR.

      Você pode usar essa conta para dar acesso ao serviço FHIR para exibir as Observações do FHIR geradas nesse tutorial. Recomendamos que você use sua própria ID de objeto de usuário do Microsoft Entra para poder acessar as mensagens no serviço FHIR. Se você optar por não usar a opção da ID da Entidade de Segurança de Colaborador do FHIR, desmarque a caixa de texto.

      Para saber como obter uma ID de objeto de usuário do Microsoft Entra, confira Localizar a ID de objeto de usuário. A ID de objeto de usuário usada nesse tutorial é apenas um exemplo. Se você usar essa opção, use sua própria ID de objeto de usuário ou a ID de objeto de outra pessoa que você quer que acesse o serviço FHIR.

    • Mapeamento de dispositivo: deixe os valores padrão para esse tutorial.

    • Mapeamento de destino: deixe os valores padrão para esse tutorial.

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

  2. Para validar sua configuração, selecione Examinar + criar.

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

  3. Em Examinar + criar, verifique o status de validação do modelo. Se a validação for bem-sucedida, o modelo exibirá Validação aprovada. Se a validação falhar, corrija o problema indicado na mensagem de erro e selecione Examinar + criar novamente.

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

  4. Após uma validação bem-sucedida, para iniciar a implantação, selecione Criar.

    Screenshot that shows the highlighted Create button.

  5. Em alguns minutos, o portal do Azure exibe a mensagem de que sua implantação foi concluída.

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

    Importante

    Se você quiser permitir o acesso de vários serviços ao hub de eventos, é necessário que cada serviço tenha seu próprio grupo de consumidores do hub de eventos.

    Os grupos de consumidores permitem que vários aplicativos consumidores tenham uma exibição separada do fluxo de eventos e leiam o fluxo independentemente em seu próprio ritmo e com seus próprios deslocamentos. Para obter mais informações, confira Grupos de Consumidores.

    Exemplos:

    • Dois serviços de tecnologia médica que acessam o mesmo hub de eventos.

    • Um serviço de tecnologia médica e um aplicativo gravador de armazenamento acessando o mesmo hub de eventos.

Examinar recursos implantados e permissões de acesso

Quando a implantação for concluída, os seguintes recursos e funções de acesso serão criados:

  • Namespace e hub de eventos dos Hubs de Eventos. Nessa implantação, o hub de eventos é denominado devicedata.

    • Grupo de consumidores do hub de eventos. Nessa implantação, o grupo de consumidores é denominado $Default.

    • Função Remetente de dados dos Hubs de Eventos do Azure. Nessa implantação, a função de remetente é chamada devicedatasender e pode ser usada para fornecer acesso ao hub de eventos usando uma SAS (Assinatura de Acesso Compartilhado). Para saber mais sobre como autorizar o acesso usando uma SAS, confira Autorizar o acesso aos recursos dos Hubs de Eventos usando Assinaturas de Acesso Compartilhado. A função Remetente de Dados dos Hubs de Eventos do Azure não é usada nesse tutorial.

  • Hub IoT com roteamento de mensagens configurado para rotear mensagens do dispositivo para o hub de eventos.

  • Identidade gerenciada atribuída pelo usuário, que fornece acesso de envio do hub IoT para o hub de eventos. A identidade gerenciada tem a função Remetente de Dados dos Hubs de Eventos do Azure na seção de controle de acesso (IAM) do hub de eventos.

  • Workspace dos Serviços de Dados de Saúde.

  • Serviço FHIR dos Serviços de Dados de Saúde.

  • O serviço de tecnologia médica dos Serviços de Dados de Saúde com a identidade gerenciada atribuída pelo sistema habilitada e com as seguintes funções de acesso concedidas:

  • Confirmar e validar mapeamentos de dispositivo e de destino FHIR do serviço de tecnologia médica. O Tipo de resolução é definido como Criar.

Importante

Nesse tutorial, o modelo do ARM configura o serviço de tecnologia médica para operar no modo Criar. Um recurso de Paciente e um recurso de Dispositivo são criados para cada dispositivo que envia dados para seu serviço FHIR.

Para saber mais sobre os tipos de resolução do serviço de tecnologia médica Criar e Pesquisar, consulte Configurar a guia Destino.

Criar um dispositivo e enviar uma mensagem de teste

Com os recursos implantados com sucesso, você se conecta ao hub IoT, cria um dispositivo e envia uma mensagem de teste para o hub IoT. Depois de concluir essas etapas, o seu serviço de tecnologia médica pode:

  • Ler a mensagem de teste roteada pelo hub IoT do hub de eventos.
  • Transformar a mensagem de teste em cinco Observações FHIR.
  • Persistir as Observações FHIR em seu serviço FHIR.

Conclua as etapas usando o Visual Studio Code com a extensão do Hub IoT do Azure:

  1. Abra o Visual Studio Code com o Azure IoT Tools instalado.

  2. No Explorer, em Hub IoT do Azure, selecione e clique em Selecionar Hub IoT.

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

  3. Selecione a assinatura do Azure na qual o hub IoT foi provisionado.

  4. Selecione seu Hub IoT. O nome do hub IoT é o basename fornecido quando você provisionou os recursos prefixados com ih-. Um nome de hub de exemplo é ih-azuredocsdemo.

  5. No Explorer, no Hub IoT do Azure, selecione e clique em Criar Dispositivo. Um nome do dispositivo de exemplo é iot-001.

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

  6. Para enviar uma mensagem de teste do dispositivo para o hub IoT, clique com o botão direito do mouse no dispositivo e selecione Enviar Mensagem D2C para o Hub IoT.

    Observação

    Nesse exemplo de D2C (dispositivo para nuvem), a nuvem é o hub IoT no Hub IoT do Azure que recebe a mensagem do dispositivo. O Hub IoT do Azure dá suporte a comunicações bidirecionais. Para configurar um cenário C2D (nuvem para dispositivo), selecione Enviar Mensagem C2D para a nuvem do dispositivo.

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

  7. Em Enviar Mensagens D2C, selecione ou insira os seguintes valores:

    • Dispositivos do qual enviar mensagens: o nome do dispositivo que você criou.

    • Mensagem por dispositivo: 1.

    • Intervalo entre duas mensagens: 1 segundo.

    • Mensagem: Texto sem formatação.

    • Editar: limpe qualquer texto existente e copie/cole a seguinte mensagem de teste JSON.

      Dica

      Você pode usar a opção Copiar no canto direito da mensagem de teste abaixo e cole-a na janela Editar.

      {
          "PatientId": "patient1",
          "HeartRate": 78,
          "RespiratoryRate": 12,
          "HeartRateVariability": 30,
          "BodyTemperature": 98.6,
          "BloodPressure": {
             "Systolic": 120,
             "Diastolic": 80
          }
      }  
      
  8. Para iniciar o processo de envio de uma mensagem de teste para o hub IoT, selecione Enviar.

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

    Depois de selecionar Enviar, pode levar até cinco minutos para que os recursos FHIR estejam disponíveis no serviço FHIR.

    Importante

    Para evitar falsificação de dispositivo em mensagens D2C (dispositivo para nuvem), o Hub IoT do Azure enriquece todas as mensagens do dispositivo com propriedades adicionais antes de roteá-las para o hub de eventos. Por exemplo: SystemProperties: iothub-connection-device-id e Properties: iothub-creation-time-utc. Para obter mais informações, consulte Propriedades antifalsificação e Como usar modelos IotJsonPathContent com o mapeamento de dispositivo do serviço de tecnologia médica.

    Você não deseja enviar esta mensagem de dispositivo de exemplo para o hub IoT, pois os enriquecimentos serão duplicados pelo hub IoT e causarão um erro em seu serviço de tecnologia médica. Este é apenas um exemplo de como as mensagens do dispositivo são enriquecidas pelo hub IoT.

    Exemplo:

    Screenshot of an Azure IoT Hub enriched device message.

    patientIdExpression só é necessário para serviços de tecnologia médica no modo Criar, no entanto, se a Pesquisa estiver sendo usada, um recurso de Dispositivo com um Identificador de Dispositivo correspondente deverá existir no serviço FHIR. Esse exemplo pressupõe que seu serviço de tecnologia médica esteja em um modo Criar. O tipo de Resolução desse tutorial definido para Criar. Para obter mais informações sobre as Propriedades de destino: Criar e Pesquisa, consulte Configurar a guia Destino.

Examinar as métricas da mensagem de teste

Depois de enviar uma mensagem de teste com êxito ao hub IoT, você pode examinar as métricas do serviço de tecnologia médica. Examine as métricas para verificar se o serviço de tecnologia médica recebeu, agrupou, transformou e persistiu a mensagem de teste em seu serviço FHIR. Para saber mais, consulte Como usar as guias de monitoramento do serviço de tecnologia médica e verificações de saúde.

Para suas métricas do serviço de tecnologia médica, você pode ver que seu serviço de tecnologia médica concluiu as seguintes etapas para a mensagem de teste:

  • Número de Mensagens de Entrada: recebeu a mensagem de teste de entrada do hub de eventos.
  • Número de mensagens normalizadas: criou cinco mensagens normalizadas.
  • Número de Medidas: criou cinco medidas.
  • Número de recursos FHIR: criou cinco recursos FHIR que são persistidos em seu serviço 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.

Exibir dados de teste no serviço FHIR

Se você forneceu a própria ID de objeto de usuário do Microsoft Entra como o valor opcional para a opção ID da entidade de segurança de colaborador do FHIR no modelo de implantação, você poderá consultar os recursos FHIR em seu serviço FHIR. É possível que você veja os seguintes recursos de Observação FHIR no serviço do FHIR com base na mensagem de teste que foi enviada para o hub IoT e processada pelo serviço de tecnologia médica:

  • HeartRate
  • RespiratoryRate
  • HeartRateVariability
  • BodyTemperature
  • BloodPressure

Para saber como obter um token de acesso do Microsoft Entra e exibir recursos FHIR em seu serviço FHIR, consulte Acessar usando o Postman. Será necessário usar os seguintes valores em sua solicitação GET do Postman para exibir os recursos de Observação do FHIR criados pela mensagem de teste: {{fhirurl}}/Observation

Próximas etapas

Escolher um método de implantação para o serviço de tecnologia médica

Visão geral dos estágios de processamento de dados do dispositivo do serviço de tecnologia médica

Perguntas frequentes sobre o serviço de tecnologia médica

Observação

FHIR® é uma marca registrada da HL7 e é usado com a permissão da HL7.