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.
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:
- CalculatedContent para mensagens de dispositivo enviadas diretamente ao hub de eventos do serviço de tecnologia médica. CalculatedContent dá suporte a funções JSONPath, JMESPath, JMESPath e a funções personalizadas do serviço de tecnologia médica.
e/ou
- IotJsonPathContent para mensagens de dispositivo que estão sendo roteadas por meio de um Hub IoT do Azure para o hub de eventos do serviço de tecnologia médica. IotJsonPathContent dá suporte a JSONPath.
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.