Introducción a la asignación de dispositivos del servicio de tecnologías médicas

En este artículo, se proporciona información general sobre la asignación de dispositivos del servicio de tecnologías médicas.

El servicio de tecnologías médicas requiere dos tipos de asignaciones JSON que se agregan a este servicio mediante Azure Portal o la API de Azure Resource Manager (ARM). La asignación de dispositivos es el primer tipo y controla los valores de asignación de los datos del dispositivo enviados al servicio de tecnologías médicas, a un objeto de datos normalizado interno. La asignación de dispositivos contiene expresiones que el servicio de tecnologías médicas usa para extraer tipos, identificadores de dispositivo, fecha y hora de medición y valores de medida. La asignación de destino de FHIR® es el segundo tipo y controla la asignación de observaciones de FHIR.

Nota:

Las asignaciones de dispositivos y de destinos de FHIR se vuelven a evaluar cada vez que se procesa un mensaje de dispositivo. Las actualizaciones de cualquiera de las asignaciones surtirán efecto inmediatamente.

Conceptos básicos de la asignación de dispositivos

La asignación de dispositivos contiene colecciones de plantillas de expresiones que se usan para extraer datos de mensajes de dispositivo en un formato interno normalizado para su posterior evaluación. Cada mensaje de dispositivo recibido se evalúa con todas las plantillas de expresiones de la colección. Esta evaluación significa que un único mensaje de dispositivo se puede separar en varios mensajes salientes que se pueden asignar a varias observaciones de FHIR en el servicio FHIR.

Sugerencia

Para obtener más información sobre cómo procesa el servicio de tecnologías médicas los datos de los mensajes de dispositivo en observaciones de FHIR para la persistencia en el servicio FHIR, consulte Información general sobre las fases de procesamiento de datos de dispositivos del servicio de tecnologías médicas.

En este diagrama, se proporciona una ilustración de lo que sucede durante la fase de normalización dentro del servicio de tecnologías médicas.

Diagram example of the MedTech service device message normalization stage.

Validaciones de asignaciones de dispositivos

El proceso de normalización valida la asignación de dispositivos antes de permitir que se guarde para su uso. Estos elementos son necesarios en las plantillas de asignación de dispositivos.

Asignación de dispositivos

Elemento Obligatorio en CalculatedContent Obligatorio en IotJsonPathContent
typeName True True
typeMatchExpression True True
deviceIdExpression True False y se omite por completo.
timestampExpression True False y se omite por completo.
patientIdExpression True cuando el tipo de resolución de los servicios de tecnologías médicas se establece en Crear; False cuando el tipo de resolución del servicio de tecnologías médicas se establece en Búsqueda. True cuando el tipo de resolución del servicio de tecnologías médicas se establece en Crear; False cuando el tipo de resolución del servicio de tecnologías médicas se establece en Búsqueda.
encounterIdExpression False False
correlationIdExpression False False
values[].valueName True True
values[].valueExpression True True
values[].required True True

Importante

El tipo de resolución especifica cómo asocia el servicio de tecnologías médicas los datos del dispositivo a los recursos del dispositivo y a los recursos del paciente. El servicio de tecnologías médicas lee los recursos de dispositivo y paciente del servicio FHIR mediante identificadores de dispositivo e identificadores de paciente. Si se especifica un identificador de encuentro y se extrae de la carga de datos del dispositivo, se vinculará a la observación si existe un encuentro en el servicio FHIR con ese identificador. Si el identificador de encuentro se normaliza correctamente, pero no existe ningún encuentro de FHIR con ese identificador de encuentro, se produce una excepción FhirResourceNotFound. Para más información sobre la configuración del tipo de resolución del servicio de tecnologías médicas, consulte Configuración de la pestaña Destino.

Nota:

Los elementos values[].valueName, values[].valueExpression y values[].required solo son necesarios si tiene una entrada de valor en la matriz. Es válido no tener ningún valor asignado. Estos elementos se usan cuando la telemetría que se envía es un evento.

Por ejemplo, algunos escenarios pueden requerir la creación de una observación de FHIR en el servicio FHIR que no contenga un valor.

CollectionContent

CollectionContent es el tipo de plantilla raíz que usa la asignación de dispositivos del servicio de tecnologías médicas. CollectionContent es una lista de todas las plantillas que se usan durante la fase de normalización. Puede definir una o varias plantillas dentro de CollectionContent, y cada mensaje de dispositivo recibido por el servicio de tecnologías médicas se evalúa con todas las plantillas.

Puede usar estos tipos de plantilla en CollectionContent en función de su caso de uso:

y/o

  • IotJsonPathContent para los mensajes de dispositivo que se enrutan mediante una instancia de Azure IoT Hub al centro de eventos del servicio de tecnologías médicas. IotJsonPathContent admite JSONPath.

Diagram showing MedTech service device mapping templates architecture.

Ejemplo

Sugerencia

Puede usar el depurador de asignaciones del servicio de tecnologías médicas para obtener ayuda para crear, actualizar y solucionar problemas de las asignaciones de destino de FHIR y de dispositivos del servicio de tecnologías médicas. El depurador de asignaciones le permite ver y realizar fácilmente ajustes insertados en tiempo real, sin tener que salir de Azure Portal. El depurador de asignaciones también se puede usar para cargar mensajes de dispositivo de prueba para ver su aspecto después de procesarse en mensajes normalizados y transformarse en observaciones de FHIR.

En este ejemplo, se usa un mensaje de dispositivo que captura datos de tipo heartRate:

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

Usamos esta asignación de dispositivos para la fase de normalización:

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

El mensaje normalizado resultante tendrá este aspecto después de la fase de normalización:

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

Cuando el servicio de tecnologías médicas procesa el mensaje de dispositivo, se usan las plantillas de CollectionContent para evaluar el mensaje. El elemento typeMatchExpression se usa para determinar si se debe usar o no la plantilla para crear un mensaje normalizado a partir del mensaje de dispositivo. Si el elemento typeMatchExpression se evalúa como true, se usan los valores deviceIdExpression, timestampExpression y valueExpression para buscar y extraer los valores JSON del mensaje de dispositivo y crear un mensaje normalizado. En este ejemplo, se han escrito todas las expresiones en JSONPath; sin embargo, sería válido escribir todas las expresiones en JMESPath. Es necesario que el autor de la plantilla determine qué lenguaje de expresión es más adecuado.

Sugerencia

Para obtener ayuda para corregir errores comunes de implementación del servicio de tecnologías médicas, consulte Solución de errores de implementación del servicio de tecnologías médicas.

Para obtener ayuda para corregir los errores del servicio de tecnologías médicas, consulte Solución de errores mediante los registros del servicio de tecnologías médicas.

Pasos siguientes

Uso de plantillas CalculatedContent con la asignación de dispositivos del servicio de tecnologías médicas

Uso de plantillas IotJsonPathContent con la asignación de dispositivos del servicio de tecnologías médicas

Uso de funciones personalizadas con la asignación de dispositivos del servicio de tecnologías médicas

Introducción a la asignación de destino de FHIR del servicio de tecnologías médicas

Introducción a los ejemplos de asignaciones basadas en escenarios del servicio de tecnologías médicas

Nota:

FHIR® es una marca registrada de HL7 y se usa con su permiso.