Compartilhar via


Visão geral do mapeamento de dispositivo do serviço de tecnologia médica

Esse artigo fornece uma visão geral do mapeamento do dispositivo do serviço de tecnologia médica.

O serviço de tecnologia médica requer dois tipos de mapeamentos JSON que são adicionados ao serviço de tecnologia médica por meio do portal do Azure ou da API do Azure Resource Manager (ARM). O mapeamento de dispositivo é o primeiro tipo e controla valores de mapeamento nos dados do dispositivo enviados ao serviço de tecnologia médica para um objeto de dados interno normalizado. O mapeamento de dispositivo contém expressões que o serviço de tecnologia médica usa para extrair tipos, identificadores de dispositivo, data e hora da medição e valores de medição. O mapeamento de destino FHIR® é o segundo tipo e controla o mapeamento de Observações FHIR.

Observação

Os mapeamentos de destino do dispositivo e do FHIR são reavaliados sempre que uma mensagem de dispositivo é processada. Todas as atualizações de qualquer mapeamento entrarão em vigor imediatamente.

Noções básicas do mapeamento de dispositivo

O mapeamento de dispositivo contém coleções de modelos de expressão usados para extrair dados de mensagem do dispositivo em um formato interno normalizado para avaliação adicional. Cada mensagem de dispositivo recebida é avaliada em relação a todos os modelos de expressão na coleção. Essa avaliação significa que uma única mensagem de dispositivo pode ser separada em várias mensagens de saída que podem ser mapeadas para várias Observações FHIR no serviço FHIR.

Dica

Para obter mais informações sobre como o serviço de tecnologia médica processa dados de mensagens do dispositivo em observações FHIR para persistência no serviço FHIR, consulte Visão geral dos estágios de processamento de dados do dispositivo do serviço de tecnologia médica.

Este diagrama fornece uma ilustração do que acontece durante o estágio de normalização no serviço de tecnologia médica.

Diagram example of the MedTech service device message normalization stage.

Validações de mapeamento de dispositivo

O processo de normalização valida o mapeamento do dispositivo antes de permitir que ele seja salvo para uso. Esses elementos são necessários nos modelos de mapeamento de dispositivo.

Mapeamento de dispositivo

Element Obrigatório em CalculatedContent Obrigatório em IotJsonPathContent
typeName Verdadeiro Verdadeiro
typeMatchExpression Verdadeiro Verdadeiro
deviceIdExpression Verdadeiro False e ignorado completamente.
timestampExpression Verdadeiro False e ignorado completamente.
patientIdExpression True quando o Tipo de Resolução dos serviços de tecnologia médica é definido como Criar; False quando o Tipo de Resolução do serviço de tecnologia médica é definido como Pesquisa. True quando o Tipo de Resolução do serviço de tecnologia médica é definido como Criar; False quando o Tipo de Resolução do serviço de tecnologia médica é definido como Pesquisa.
encounterIdExpression Falso Falso
correlationIdExpression Falso Falso
values[].valueName Verdadeiro Verdadeiro
values[].valueExpression Verdadeiro Verdadeiro
values[].required Verdadeiro Verdadeiro

Importante

O Tipo de Resolução especifica como o serviço de tecnologia médica associa dados do dispositivo a Recursos do dispositivo e Recursos do paciente. O serviço de tecnologia médica lê recursos do Dispositivo e do Paciente do serviço FHIR usando identificadores de dispositivo e identificadores de pacientes. Se um identificador de encontro for especificado e extraído do conteúdo de dados do dispositivo, ele será vinculado à observação se houver um encontro no serviço FHIR com esse identificador. Se o identificador de encontro for normalizado com êxito, mas nenhum Encontro FHIR existir com esse identificador de encontro, uma exceção FhirResourceNotFound será gerada. Para obter mais informações sobre como configurar o Tipo de Resolução do serviço de tecnologia médica, consulte Como configurar a guia Destino.

Observação

Os elementos values[].valueName, values[].valueExpression e values[].required só serão necessários se você tiver uma entrada de valor na matriz. É válido não ter nenhum valor mapeado. Esses elementos são usados quando a telemetria que está sendo enviada é um evento.

Por exemplo, alguns cenários podem exigir a criação de uma Observação FHIR no serviço FHIR que não contém um valor.

CollectionContent

CollectionContent é o tipo de modelo raiz usado pelo mapeamento do dispositivo do serviço de tecnologia médica. CollectionContent é uma lista de todos os modelos que são usados durante o estágio de normalização. Você pode definir um ou mais modelos em CollectionContent, com cada mensagem de dispositivo recebida pelo serviço de tecnologia médica sendo avaliada em relação a todos os modelos.

Você pode usar esses tipos de modelo em CollectionContent dependendo do seu caso de uso:

e/ou

Diagram showing MedTech service device mapping templates architecture.

Exemplo

Dica

Você pode usar o depurador de mapeamento do serviço de tecnologia médica para obter assistência para criar, atualizar e solucionar problemas do dispositivo do serviço de tecnologia médica e mapeamentos de destino FHIR. O depurador de mapeamento permite que você exiba e faça ajustes embutidos facilmente em tempo real, sem precisar sair do portal do Azure. O depurador de mapeamento também pode ser usado para carregar mensagens de dispositivo de teste para ver como elas serão processadas em mensagens normalizadas e transformadas em observações FHIR.

Nesse exemplo, estamos usando uma mensagem de dispositivo que está capturando dados do heartRate:

{
  "heartRate": "78",
  "endDate": "2023-03-13T22:46:01.8750000",
  "deviceId": "device01"
}

Estamos usando esse mapeamento de dispositivo para o estágio de normalização:

{
  "templateType": "CollectionContent",
  "template": [
    {
      "templateType": "CalculatedContent",
      "template": {
        "typeName": "heartrate",
        "typeMatchExpression": "$..[?(@heartRate)]",
        "deviceIdExpression": "$.matchedToken.deviceId",
        "timestampExpression": "$.matchedToken.endDate",
        "values": [
          {
            "required": true,
            "valueExpression": "$.matchedToken.heartRate",
            "valueName": "hr"
          }
        ]
      }
    }
  ]
}

A mensagem normalizada resultante terá a seguinte aparência após o estágio de normalização:

[
  {
    "type": "heartrate",
    "occurrenceTimeUtc": "2023-03-13T22:46:01.875Z",
    "deviceId": "device01",
    "properties": [
      {
        "name": "hr",
        "value": "78"
      }
    ]
  }
]

Quando o serviço de tecnologia médica está processando a mensagem do dispositivo, os modelos no CollectionContent são usados para avaliar a mensagem. O typeMatchExpression é usado para determinar se o modelo deve ou não ser usado para criar uma mensagem normalizada a partir da mensagem do dispositivo. Se o typeMatchExpression for avaliado como true, os valores deviceIdExpression, timestampExpression e valueExpression serão usados para localizar e extrair os valores JSON da mensagem do dispositivo e criar uma mensagem normalizada. Nesse exemplo, todas as expressões são escritas em JSONPath, no entanto, seria válido escrever todas as expressões no JMESPath. Cabe ao autor do modelo determinar qual linguagem de expressão é mais apropriada.

Dica

Para obter assistência para corrigir erros comuns de implantação do serviço de tecnologia médica, consulte Solucionar problemas de erros de implantação do serviço de tecnologia médica.

Para obter assistência para corrigir erros do serviço de tecnologia médica, consulte Solucionar erros usando os logs do serviço de tecnologia médica.

Próximas etapas

Como usar modelos CalculatedContent com o mapeamento de dispositivo do serviço de tecnologia médica

Como usar modelos IotJsonPathContent com o mapeamento de dispositivo do serviço de tecnologia médica

Como usar funções personalizadas com o mapeamento de dispositivo do serviço de tecnologia médica

Visão geral do mapeamento de destino FHIR do serviço de tecnologia médica

Visão geral dos exemplos de mapeamentos baseados em cenário do serviço de tecnologia médica

Observação

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