Compartilhar via


Configurar o suporte de dados do dispositivo no gerenciamento de cuidados (versão preliminar)

Importante

  • Esse é um recurso de versão preliminar.
  • A versão preliminar dos recursos não foi criada para uso em ambientes de produção e pode ter funcionalidade restrita. Esses recursos são disponibilizados antes de um lançamento oficial para que os clientes possam ter acesso antecipado e forneçam comentários.

No gerenciamento de cuidados crônicos, monitorar os sinais vitais de um paciente durante um longo período é importante para gerenciar as condições com eficiência. A dependência de consultas presenciais de rotina e a impossibilidade de compreender regularmente os sinais vitais do paciente tornam os recursos de gerenciamento de cuidados crônicos intensos para os hospitais e inconvenientes para os pacientes.

O suporte de dados do dispositivo no gerenciamento de cuidados (versão preliminar) é um recurso do Microsoft Cloud for Healthcare que visa facilitar o acesso e o rastreamento dos sinais vitais de seus pacientes pelos cuidadores. Os cuidadores podem atribuir dispositivos de saúde apropriados a um paciente com base em suas doenças crônicas e, em seguida, acessar os dados vitais do paciente regularmente para exibir as tendências correspondentes nos dados. Com base nesses dados, os gerentes de atendimento podem decidir se solicitam que o paciente compareça a uma consulta. Ele também permite que os usuários clínicos mantenham-se atualizados sobre as tendências de saúde de longo prazo de seus pacientes.

Uso pretendido

  • Uso pretendido: esse recurso visa estritamente oferecer suporte a casos de uso de cuidados crônicos para que os usuários clínicos possam exibir informações sobre os sinais vitais de um paciente e interpretar os dados com base em seu próprio julgamento.

  • Uso não pretendido: esse recurso não se destina a oferecer suporte

    1. Cuidados críticos ou casos de uso de cuidados agudos.
    2. Alarmes ou alertas de qualquer tipo com base nos dados capturados.
    3. Exibição em tempo real dos dados capturados ou sua posterior análise.
  • Não é um dispositivo médico: esse recurso

    1. Não foi projetado, não é destinado nem é disponibilizado como um dispositivo médico.
    2. Não foi projetado nem destinado a ser um substituto para aconselhamento, diagnóstico, tratamento ou julgamento médico profissional e não deve ser usado com esse fim.

Pré-requisitos de licenciamento e de software

Sua organização precisa das seguintes licenças para usar esse recurso:

  • Licença do Microsoft Cloud for Healthcare
  • Licença do Microsoft Power BI Pro

Configurações pós-implantação

Você pode instalar a solução usando o Centro de Soluções do Microsoft Cloud. A versão preliminar desse recurso vem com o aplicativo Gerenciamento de Dispositivo. As organizações de saúde podem usar esse aplicativo para adicionar novos dispositivos de saúde quando necessário, manualmente ou sincronizando com um fornecedor de dispositivos, e manter um inventário desses dispositivos.

Após a instalação, a organização deverá configurar os seguintes aplicativos e serviços para usar esse recurso:

Configurar o pipeline de serviços do Azure

Esta seção fornece um guia passo a passo para configurar um ambiente do Azure para ingerir os sinais vitais do dispositivo para um serviço de Hubs de Eventos.

Ao instalar a solução Gerenciamento de Dispositivo, você deve implantar o pipeline do serviço de tecnologia médica dos Serviços de Dados de Saúde do Azure no locatário do usuário. Esse pipeline ingere os dados de um dispositivo médico ou de um aplicativo de remetente de dados de exemplo no serviço de hub de eventos. O serviço de tecnologia médica então extrai os dados para transformá-los em observações FHIR e os armazena no servidor FHIR.

Como parte da implantação, você deve criar e configurar os seguintes recursos no locatário do usuário:

  • Servidor FHIR (se o locatário do usuário ainda não o tiver)
  • Namespace dos Hubs de Eventos
  • Espaço de trabalho dos Serviços de Dados de Saúde do Azure (se o locatário do usuário ainda não o tiver)
    • Serviço de tecnologia médica
  • Rede Virtual do Azure
    • Endereço IP público do Azure
    • Firewall do Azure
    • Zona DNS privada do Azure
  • Ponto de extremidade privado para o serviço de hub de eventos dentro da rede virtual
    • Cartão da interface de rede

A implantação e a configuração incluem as seguintes etapas:

  1. Analisar requisitos
  2. Criar grupo de recursos e rede virtual
  3. Criar o espaço de trabalho dos Serviços de Dados de Saúde do Azure
  4. Criar o serviço de hub de eventos
  5. Configurar o serviço de tecnologia médica
  6. Definir a configuração de rede
  7. Configurar o registro de aplicativo
  8. Criar uma máquina virtual para a aplicação de dados de exemplo

Analisar requisitos

Antes de prosseguir com a implantação, verifique se você tem os seguintes requisitos:

  • Um conta do Azure e assinatura no mesmo locatário em que você implantou a solução Gerenciamento de Dispositivo. Se você não tiver uma assinatura, inscreva-se para receber uma conta gratuita do Azure antes de começar.
  • Acesso nessa assinatura do Azure com as permissões apropriadas para criar grupos de recursos e recursos.
  • Aderência às diretrizes de segurança descritas pelos administradores do Azure e política da organização.

Criar grupo de recursos e rede virtual

  1. Crie um grupo de recursos do Azure usando as instruções em Criar grupos de recursos. Certifique-se de selecionar o valor de Região com cuidado. Você deve usar a mesma região ao configurar o restante dos recursos neste artigo.

  2. Crie uma rede virtual dentro deste grupo de recursos usando as instruções em Início Rápido: Usar o portal do Azure para criar uma rede virtual. Você pode ignorar as etapas de criação da máquina virtual no início rápido.

  3. Implante um firewall padrão para essa rede virtual usando as instruções em Implantar e configurar o Firewall do Azure usando o portal do Azure.

Observação

Para todas as seções de implantação e configuração a seguir, certifique-se de sempre usar o grupo de recursos e a rede virtual criada nesta etapa, a menos que explicitamente indicado de outra forma.

Criar o espaço de trabalho dos Serviços de Dados de Saúde do Azure

  1. Implante o espaço de trabalho dos Serviços de Dados de Saúde do Azure usando as instruções em Implantar o espaço de trabalho dos Serviços de Dados de Saúde do Azure usando o portal do Azure.

  2. Implante um serviço FHIR no mesmo espaço de trabalho usando as instruções em Implantar o serviço FHIR usando o portal do Azure.

Criar o serviço de hub de eventos

  1. Crie o namespace dos Hubs de Eventos usando as instruções em Criar um namespace dos Hubs de Eventos.

    Certifique-se de usar um nível Padrão ou um nível superior. Não use o nível Básico.

  2. Crie o serviço do hub de eventos com o mesmo namespace usando as instruções em Criar um hub de eventos. Certifique-se de definir o valor de Retenção da Mensagem como, pelo menos, 24 horas.

Configurar o serviço de tecnologia médica

Implante e configure o serviço de tecnologia médica usando as etapas explicadas em Início Rápido: Implantar e configurar o serviço MedTech usando o portal do Azure. As seções anteriores já abordaram os Pré-requisitos de implantação no início rápido de implantação do serviço de tecnologia médica.

Se os dados do dispositivo que chegam ao serviço do hub de eventos estiverem no formato explicado em Formato dos dados, use o seguinte código JSON para a etapa do serviço de tecnologia médica Configurar a guia mapeamento do dispositivo. Caso contrário, você também poderá definir seus próprios mapeamentos de dispositivo. Para obter mais informações sobre os mapeamentos de dispositivo, acesse Visão geral do mapeamento de dispositivos do serviço MedTech.

{
  "templateType": "CollectionContent",
  "template": [    
    {
      "templateType": "JsonPathContent",
      "template": {
        "typeName": "Weight",
        "typeMatchExpression": "$..[?(@metrics.weight)]",
        "timestampExpression": "$.measuredAt",
        "deviceIdExpression": "$.metrics.imei",
        "patientIdExpression": "$.externId",
        "values": [
          {
            "valueName": "Weight",
            "valueExpression": "$.metrics.weight",
            "required": true
          }
        ]
      }
    },
    {
      "templateType": "JsonPathContent",
      "template": {
        "typeName": "Pulse Oxygen",
        "typeMatchExpression": "$..[?(@metrics.spo2 && @metrics.pulse)]",
        "timestampExpression": "$.measuredAt",
        "deviceIdExpression": "$.metrics.imei",
        "patientIdExpression": "$.externId",
        "values": [
          {
            "valueName": "Spo2",
            "valueExpression": "$.metrics.spo2",
            "required": true
          },
          {
            "valueName": "Pulse",
            "valueExpression": "$.metrics.pulse",
            "required": true
          }
        ]
      }
    },
    {
      "templateType": "JsonPathContent",
      "template": {
        "typeName": "Blood Pressure",
        "typeMatchExpression": "$..[?(@metrics.systolic && @metrics.diastolic)]",
        "timestampExpression": "$.measuredAt",
        "deviceIdExpression": "$.metrics.imei",
        "patientIdExpression": "$.externId",
        "values": [
          {
            "valueName": "Systolic",
            "required": true,
            "valueExpression": "$.metrics.systolic"
          },
          {
            "required": true,
            "valueName": "Diastolic",
            "valueExpression": "$.metrics.diastolic"
          },
          {
            "valueName": "Pulse",
            "valueExpression": "$.metrics.pulse",
            "required": true
          }
        ]
      }
    },
    {
      "templateType": "JsonPathContent",
      "template": {
        "typeName": "Temperature",
        "typeMatchExpression": "$..[?(@metrics.temp)]",
        "timestampExpression": "$.measuredAt",
        "deviceIdExpression": "$.metrics.imei",
        "patientIdExpression": "$.externId",
        "values": [
          {
            "valueName": "Temperature",
            "valueExpression": "$.metrics.temp",
            "required": true
          }
        ]
      }
    }
  ]
}

Da mesma forma, se você estiver usando o mesmo formato de dados, copie o seguinte código JSON para a etapa do serviço de tecnologia médica Configurar a guia de destino.

Observação

Na guia Destino , especifique o Tipo de Resolução como Pesquisa.

{
  "templateType": "CollectionFhir",
  "template": [    
    {
      "templateType": "CodeValueFhir",
      "template": {
        "typeName": "Weight",
        "value": {
          "valueName": "Weight",
          "valueType": "Quantity",
          "code": "[lb_av]",
          "unit": "lbs",
          "system": "http://unitsofmeasure.org"
        },
        "codes": [
          {
            "code": "29463-7",
            "display": "Body Weight",
            "system": "http://loinc.org"
          }
        ],
        "category": [
          {
            "codes": [
              {
                "system": "http://terminology.hl7.org/CodeSystem/observation-category",
                "code": "vital-signs",
                "display": "Vital Signs"
              }
            ],
            "text": "Vital Signs"
          }
        ]
      }
    },
    {
      "templateType": "CodeValueFhir",
      "template": {
        "typeName": "Pulse Oxygen",
        "value": {
          "valueName": "",
          "valueType": "Quantity"
        },
        "components": [
          {
            "codes": [
              {
                "code": "59408-5",
                "system": "http://loinc.org",
                "display": "Oxygen saturation in Arterial blood by Pulse oximetry"
              }
            ],
            "value": {
              "valueName": "Spo2",
              "valueType": "Quantity",
              "unit": "%",
              "system": "http://unitsofmeasure.org",
              "code": "%"
            }
          },
          {
            "codes": [
              {
                "display": "Heart Rate",
                "system": "http://loinc.org",
                "code": "8867-4"
              }
            ],
            "value": {
              "valueName": "Pulse",
              "valueType": "Quantity",
              "code": "beats/minute",
              "unit": "/min",
              "system": "http://unitsofmeasure.org"
            }
          }
        ],
        "codes": [
          {
            "code": "20564-1",
            "system": "https://loinc.org/",
            "display": "Oxygen saturation in Blood"
          }
        ],
        "category": [
          {
            "text": "Vital Signs",
            "codes": [
              {
                "system": "http://terminology.hl7.org/CodeSystem/observation-category",
                "code": "vital-signs",
                "display": "vital-signs"
              }
            ]
          }
        ]
      }
    },
    {
      "templateType": "CodeValueFhir",
      "template": {
        "typeName": "Blood Pressure",
        "periodInterval": "0",
        "components": [
          {
            "codes": [
              {
                "code": "8480-6",
                "display": "Systolic blood pressure",
                "system": "http://loinc.org"
              }
            ],
            "value": {
              "valueName": "Systolic",
              "valueType": "Quantity",
              "code": "mm[Hg]",
              "system": "http://unitsofmeasure.org",
              "unit": "mmHg"
            }
          },
          {
            "codes": [
              {
                "code": "8867-4",
                "display": "Diastolic blood pressure",
                "system": "http://loinc.org"
              }
            ],
            "value": {
              "valueName": "Diastolic",
              "valueType": "Quantity",
              "system": "http://unitsofmeasure.org",
              "code": "mm[Hg]",
              "unit": "mmHg"
            }
          },
          {
            "codes": [
              {
                "code": "8889-8",
                "system": "http://loinc.org",
                "display": "Heart Rate"
              }
            ],
            "value": {
              "valueName": "Pulse",
              "valueType": "Quantity",
              "code": "beats/minute",
              "system": "http://unitsofmeasure.org",
              "unit": "/min"
            }
          }
        ],
        "codes": [
          {
            "system": "http://loinc.org",
            "display": "Blood Pressure",
            "code": "55284-4"
          }
        ],
        "category": [
          {
            "text": "vitals",
            "codes": [
              {
                "code": "vital-signs",
                "display": "vital-signs",
                "system": "http://terminology.hl7.org/CodeSystem/observation-category"
              }
            ]
          }
        ]
      }
    },
    {
      "templateType": "CodeValueFhir",
      "template": {
        "typeName": "Temperature",
        "value": {
          "valueName": "Temperature",
          "valueType": "Quantity",
          "system": "http://unitsofmeasure.org",
          "code": "[degF]",
          "unit": "F"
        },
        "components": [],
        "codes": [
          {
            "code": "8310-5",
            "display": "Body temperature",
            "system": "http://loinc.org"
          }
        ],
        "category": [
          {
            "text": "Vital Signs",
            "codes": [
              {
                "code": "vital-signs",
                "system": "http://terminology.hl7.org/CodeSystem/observation-categor",
                "display": "vital-signs"
              }
            ]
          }
        ]
      }
    }
  ]
}

Definir a configuração de rede

  1. Use as instruções em Criar uma zona DNS privada para criar uma zona DNS privada com o nome privatelink.servicebus.windows.net

  2. Desabilite o acesso público ao namespace dos Hubs de Eventos:

    1. Acesse o recurso de namespace que você criou e selecione a guia Rede.

    2. Para a opção Acesso à rede pública, selecione Desabilitado e salve as configurações atualizadas.

  3. Crie um ponto de extremidade privado para o namespace dos Hubs de Eventos usando as seguintes etapas:

    1. Alterne para a guia Conexões do ponto de extremidade privado do namespace e selecione + Ponto de extremidade privado.

    2. Continue criando o ponto de extremidade com as configurações padrão. Nas guias Rede Virtual e DNS, selecione a rede virtual e a zona DNS privada criadas nas seções anteriores.

    3. Depois de criar o ponto de extremidade, volte para a guia Conexões do ponto de extremidade privado e verifique se o ponto de extremidade privado recém-criado exibe Com Êxito como o estado de provisionamento.

  4. Configure a zona DNS privada que você criou usando as seguintes etapas:

    1. Selecione + Conjunto de registros, na guia Visão Geral e insira estes valores:

      Campo Valor
      Nome Nome do namespace dos Hubs de Eventos que você criou
      Endereço IP Endereço IP do ponto de extremidade privado que você criou

      Você poderá ignorar essa etapa se o conjunto de registros for adicionado automaticamente.

    2. Selecione Links de rede virtual em Configurações, selecione + Adicionar e selecione a rede virtual que você criou.

Configurar o registro de aplicativo

Crie e configure o registro de aplicativo usando as seguintes etapas:

  1. No portal do Azure, procure e selecione Registros de aplicativo.

  2. Selecione + Novo registro.

  3. Insira um nome para o registro de aplicativo.

  4. Em Tipos de conta compatíveis, selecione a opção Contas somente neste diretório organizacional (somente Diretório Padrão – Locatário único) e selecione Registrar.

  5. Abra o registro de aplicativo.

  6. Selecione Certificados e segredos e selecione + Novo segredo do cliente na guia Segredos do cliente. Defina o valor de expiração para seis meses e adicione o segredo.

  7. Depois de criar o segredo, anote seu valor.

    Observação

    Por segurança, o valor do segredo é visível somente durante o processo de criação. Se você esquecer de anotar o valor do segredo nesta etapa, crie outro segredo.

  8. Anote o ID do aplicativo (cliente) e o valor do segredo do registro. Use esses valores para definir as configurações do Kit de Ferramentas de Integração de Dados explicadas na seção Configuração complementar.

  9. Acesse o serviço FHIR que você criou na etapa Criar Serviços de Dados de Saúde do Azure. Selecione Controle de acesso (IAM).

  10. Selecione + Adicionar, selecione a opção Adicionar atribuição de função e selecione a função Colaborador de dados de FHIR na lista.

  11. Selecione Avançar.

  12. Na guia Membros , selecione + Selecionar membros para pesquisar e selecionar o registro de aplicativo que você criou anteriormente.

  13. Revise e adicione a atribuição de função.

Criar uma máquina virtual para a aplicação de dados de exemplo

Esta etapa mostra como configurar uma Máquina Virtual do Azure que pode executar um aplicativo de remetente de dados de exemplo para enviar dados para o serviço do hub de eventos. O aplicativo imita os dados que os dispositivos de saúde enviam.

  1. Crie uma máquina virtual com uma imagem do sistema operacional Windows 11 usando as instruções em Criar máquina virtual.

  2. Gere e envie dados de exemplo usando as orientações em Gerar dados de exemplo para o suporte de dados do dispositivo (versão preliminar).

Configurar o gráfico de observação do paciente usando o Power BI

Esta seção lista os pré-requisitos e as etapas para instalar e configurar o gráfico de observação do paciente.

Pré-requisitos

  1. Você deve ter uma licença do Microsoft Power BI Pro para configurar e publicar relatórios.

  2. Entre no Power BI, selecione o ícone de engrenagem, selecione Portal de administração, Configurações de locatário e habilite a configuração para instalar aplicativos de modelo não listados no AppSource. Para obter mais informações, acesse Configurações de locatário de aplicativo de modelo.

  3. Você deve ter uma função Leitor de Dados FHIR no servidor FHIR para ler dados do servidor. Para obter mais informações sobre a atribuição de funções, acesse Atribuir funções para o serviço FHIR.

Instalar e configurar

  1. Selecione o aplicativo de modelo Gráfico de observação do paciente na seção de pós-implantação.

  2. Entre no Power BI e, em seguida, selecione o botão Instalar para prosseguir.

  3. Depois de instalar o aplicativo, ele será exibido na página Aplicativos do Power BI.

  4. Selecione o aplicativo e abra-o.

  5. Selecione Conectar seus dados.

    Uma captura de tela exibindo a opção para a conexão de dados do Power BI.

  6. No campo FHIRServerUrl, insira a URL do servidor FHIR ao qual deseja conectar o relatório.

    Uma captura de tela exibindo o campo de URL do servidor FHIR na página de conexão do gerenciamento de dispositivo.

  7. Conecte sua conta:

    • Para Método de autenticação, selecione OAuth2.
    • Em Configuração de nível de privacidade para esta fonte de dados, selecione Organizacional.
    • Selecione Entrar e conectar.
  8. Depois que o aplicativo atualizar o conjunto de dados, o relatório do Power BI deverá refletir os dados de informações vitais do paciente.

Inserir o relatório do Power BI

Você pode inserir os relatórios do Power BI em formulários do Dataverse usando o recurso Inserir com filtragem contextual do Power BI. Para obter mais informações sobre esse recurso, acesse Inserir um relatório em um portal ou site seguro.

Use as etapas a seguir para inserir seu relatório do Power BI no Dataverse:

  1. Após a conclusão da instalação do aplicativo, acesse o aplicativo instalado e abra o relatório.

  2. No menu Arquivo, selecione Inserir relatório e selecione Site ou portal.

    Captura de tela exibindo as opções de inserção.

  3. Na caixa de diálogo Proteger código de inserção, copie o valor da URL fornecida em Este é um link que você pode usar para inserir este conteúdo..

    Captura de tela exibindo um valor de URL de exemplo na caixa de diálogo Proteger código de inserção.

  4. Atualize a variável de ambiente URL do gráfico de observação do paciente no Dataverse.

    No Dataverse, acesse a experiência de pesquisa avançada e procure a definição da variável de ambiente usando o filtro Schema name equals msemr_PatientObservationChartUrl.

  5. Abra o registro e acesse a seção de valores.

  6. Selecione + Nova Variável de Ambiente para criar um valor de variável de ambiente usando a URL do relatório do Power BI copiada na Etapa 3.

    Captura de tela mostrando como criar uma variável de ambiente.

Ao configurar os relatórios do Power BI, você pode encontrar alguns problemas comumente observados. Para obter orientações sobre como solucionar esses problemas, acesse Solução de problemas de relatórios do Power BI.

Configurar fluxos do Power Automate

Você deve configurar fluxos do Power Automate para integrar seus serviços de gerenciamento de dispositivos com o recurso de suporte de dados do dispositivo (versão preliminar). Para obter informações sobre as etapas de configuração, acesse Integração do parceiro para o suporte de dados do dispositivo (versão preliminar).

Configuração complementar

  1. Ao usar o recurso no aplicativo de gerenciamento de cuidados, certifique-se de habilitar as notificações no aplicativo. Você pode usar o designer de aplicativo para habilitar essa configuração. Para obter mais informações, acesse Habilitar o recurso de notificação no aplicativo.

  2. No aplicativo Kit de Ferramentas de Integração de Dados, habilite o processo de write-back usando as seguintes etapas:

    1. Navegue até a área de configurações de integração do Kit de Ferramentas de Integração de Dados.

    2. Selecione Dataverse Healthcare API e ative o write-back.

    3. Se você estiver configurando um novo servidor FHIR, use as informações anotadas durante a etapa Configurar o registro de aplicativo para definir as configurações de write-back e salve as alterações.

    4. Acesse Mapas de Entidades.

    5. Habilite os mapas e o write-back do FHIR para as seguintes entidades:

      • Contato
      • Identificador médico do contato
      • Dispositivo
      • Identificador do dispositivo