Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Important
A partir de 26/02/2025, o serviço MedTech não estará mais disponível nas seguintes regiões: Oeste do Reino Unido, Norte dos Emirados Árabes Unidos, Norte da África do Sul, Qatar Central.
This article provides an overview of the MedTech service device mapping.
The MedTech service requires two types of JSON mappings that are added to your MedTech service through the Azure portal or Azure Resource Manager (ARM) API. The device mapping is the first type and controls mapping values in the device data sent to the MedTech service to an internal, normalized data object. O mapeamento de dispositivos contém expressões que o serviço MedTech usa para extrair tipos, identificadores de dispositivos, data de medição, hora e valor(es) de medição. The FHIR® destination mapping is the second type and controls the mapping for FHIR Observations.
Observação
Os mapeamentos de destino do dispositivo e FHIR são reavaliados cada vez que uma mensagem de dispositivo é processada. Quaisquer atualizações para qualquer mapeamento entrarão em vigor imediatamente.
Device mapping basics
The device mapping contains collections of expression templates used to extract device message data into an internal, normalized format for further evaluation. Each received device message is evaluated against all expression templates in the collection. This evaluation means that a single device message can be separated into multiple outbound messages that can be mapped to multiple FHIR Observations in the FHIR service.
Tip
For more information about how the MedTech service processes device message data into FHIR Observations for persistence in the FHIR service, see Overview of the MedTech service device data processing stages.
This diagram provides an illustration of what happens during the normalization stage within the MedTech service.
Device mapping validations
The normalization process validates the device mapping before allowing it to be saved for use. These elements are required in the device mapping templates.
Device mapping
Elemento | Required in CalculatedContent | Required in IotJsonPathContent |
---|---|---|
typeName | Verdade | Verdade |
typeMatchExpression | Verdade | Verdade |
deviceIdExpression | Verdade | False and ignored completely. |
timestampExpression | Verdade | False and ignored completely. |
patientIdExpression | True when the MedTech services's Resolution type is set to Create; False when the MedTech service's Resolution type is set to Lookup. | True when the MedTech service's Resolution type is set to Create; False when the MedTech service's Resolution type is set to Lookup. |
encounterIdExpression | Falso | Falso |
correlationIdExpression | Falso | Falso |
values[].valueName | Verdade | Verdade |
values[].valueExpression | Verdade | Verdade |
values[].required | Verdade | Verdade |
Important
O tipo de resolução especifica como o serviço MedTech associa os dados do dispositivo aos recursos do Dispositivo e aos recursos do Paciente. O serviço MedTech lê os recursos do dispositivo e do paciente do serviço FHIR usando identificadores de dispositivo e identificadores de paciente. Se um identificador de encontro for especificado e extraído da carga útil de dados do dispositivo, ele será vinculado à observação se existir um encontro no serviço FHIR com esse identificador. Se o identificador de encontro for normalizado com êxito, mas não existir nenhum Encontro FHIR com esse identificador de encontro, uma exceção FhirResourceNotFound será lançada. Para obter mais informações sobre como configurar o tipo de resolução de serviço MedTech, consulte Configurar a guia Destino.
Observação
The values[].valueName, values[].valueExpression
, and values[].required
elements are only required if you have a value entry in the array. It's valid to have no values mapped. These elements are used when the telemetry being sent is an event.
For example, some scenarios may require creating a FHIR Observation in the FHIR service that does not contain a value.
CollectionContent
CollectionContent is the root template type used by the MedTech service device mapping. CollectionContent is a list of all templates that are used during the normalization stage. You can define one or more templates within CollectionContent, with each device message received by the MedTech service being evaluated against all templates.
You can use these template types within CollectionContent depending on your use case:
- CalculatedContent for device messages sent directly to your MedTech service event hub. CalculatedContent supports JSONPath, JMESPath, JMESPath functions, and the MedTech service custom functions.
and/or
- IotJsonPathContent for device messages being routed through an Azure IoT Hub to your MedTech service event hub. IotJsonPathContent supports JSONPath.
Exemplo
Tip
Você pode usar o depurador de mapeamento do serviço MedTech para obter assistência na criação, atualização e resolução de problemas dos mapeamentos de dispositivos do serviço MedTech e de destino FHIR. O depurador de mapeamento permite que você visualize 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 dispositivos de teste e ver como elas ficarão após serem processadas em mensagens normalizadas e transformadas em Observações FHIR.
Neste exemplo, estamos usando uma mensagem de dispositivo que está capturando heartRate
dados:
{
"heartRate": "78",
"endDate": "2023-03-13T22:46:01.8750000",
"deviceId": "device01"
}
Estamos usando este 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á esta 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"
}
]
}
]
When the MedTech service is processing the device message, the templates in the CollectionContent are used to evaluate the message. 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. If the typeMatchExpression
evaluates to true, then the deviceIdExpression
, timestampExpression
, and valueExpression
values are used to locate and extract the JSON values from the device message and create a normalized message. In this example, all expressions are written in JSONPath, however, it would be valid to write all the expressions in JMESPath. It's up to the template author to determine which expression language is most appropriate.
Tip
Para obter assistência na correção de erros comuns de implantação do serviço MedTech, consulte Solucionar problemas de erros de implantação do serviço MedTech.
Para obter assistência na correção de erros de serviço MedTech, consulte Solucionar erros usando os logs de serviço MedTech.
Próximos passos
Como usar modelos CalculatedContent com o mapeamento de dispositivo de serviço MedTech
Como usar modelos IotJsonPathContent com o mapeamento de dispositivo de serviço MedTech
Como usar funções personalizadas com o mapeamento de dispositivos de serviço MedTech
Visão geral do mapeamento de destino FHIR do serviço MedTech
Visão geral dos exemplos de mapeamentos baseados em cenários do serviço MedTech
Observação
FHIR® é uma marca registada da HL7 e é utilizada com a permissão da HL7.