Compartir a través de


Configurar la compatibilidad de datos de dispositivo en la Programación de la atención a pacientes (versión preliminar)

Importante

  • Esta es una característica en versión preliminar.
  • Las vistas previas de características no se han diseñado para un uso de producción y pueden tener una funcionalidad restringida. Estas características están disponibles antes del lanzamiento oficial para que los clientes puedan tener un acceso anticipado y proporcionar comentarios.

En la gestión de la atención crónica, el seguimiento de los signos vitales de un paciente durante un largo período de tiempo es importante para gestionar sus afecciones de forma eficaz. La dependencia de las citas rutinarias en persona y la incapacidad de comprender los signos vitales de salud del paciente con regularidad hace que los recursos de gestión de la atención crónica sean intensivos para los hospitales e inconvenientes para los pacientes.

El soporte de datos del dispositivo en la gestión de la atención (versión preliminar) es una capacidad de Microsoft Cloud for Healthcare que tiene como objetivo facilitar a los cuidadores el acceso y el seguimiento de los signos vitales de sus pacientes. Al asignar dispositivos de salud apropiados a un paciente en función de sus afecciones crónicas, los cuidadores pueden acceder a los datos vitales del paciente con regularidad y ver las tendencias correspondientes en los datos. Con base en estos datos, los administradores de atención pueden decidir si solicitar que el paciente asista a una cita. También permite a los usuarios clínicos estar al tanto de las tendencias de salud a largo plazo de sus pacientes.

Uso previsto

  • Uso previsto: esta capacidad tiene como objetivo estrictamente respaldar casos de uso de atención crónica para que los usuarios clínicos puedan ver información sobre los signos vitales de un paciente y luego interpretar los datos según su propio criterio.

  • Uso no previsto: Esta capacidad no está pensada para admitir

    1. Casos de uso de cuidados críticos o agudos.
    2. Alarmas o alertas de cualquier tipo en base a los datos capturados.
    3. Visualización en tiempo real de los datos capturados o su posterior análisis.
  • No es un dispositivo médico: Esta capacidad

    1. No está diseñada, destinada ni puesta a disposición como dispositivo médico.
    2. No está diseñada ni destinada a ser un sustituto del consejo, diagnóstico, tratamiento o juicio médico profesional y no se debe usar para reemplazar o sustituir el consejo, diagnóstico, tratamiento o juicio médico profesional.

Licencias y requisitos previos de software

Su organización necesita las siguientes licencias para poder usar esta función:

  • Licencia de Microsoft Cloud for Healthcare
  • Licencia de Microsoft Power BI Pro

Configuración posterior a la implementación

Puede instalar el soporte de datos del dispositivo en la solución de administración de cuidados (vista previa) usando el Centro de soluciones en la nube de Microsoft. La versión preliminar de esta capacidad viene empaquetada con la aplicación Gestión de dispositivos. Las organizaciones de atención médica pueden usar esta aplicación para agregar nuevos dispositivos de salud cuando sea necesario, ya sea manualmente o sincronizando con un proveedor de dispositivos, y mantener un inventario de estos dispositivos.

Después de la instalación, su organización necesita configurar las siguientes aplicaciones y servicios para usar esta capacidad:

Configurar la canalización de servicios de Azure

Esta sección proporciona una guía paso a paso para configurar un entorno de Azure para ingerir los elementos vitales del dispositivo en un servicio Event Hubs.

Cuando instala la solución Administración de dispositivos, debe implementar la canalización MedTech de Azure Health Data Services en el inquilino del usuario. Esta canalización ingiere los datos de un dispositivo médico o una aplicación de remitente de datos de muestra al servicio del centro de eventos. Luego, el servicio MedTech extrae los datos para transformarlos en observaciones FHIR y almacenarlos en el servidor FHIR.

Como parte de la implementación, debe crear y configurar los siguientes recursos en el inquilino del usuario:

  • Servidor FHIR (si el inquilino del usuario aún no lo tiene)
  • Espacio de nombres de Event Hubs
  • Área de trabajo de Azure Health Data Services (si el inquilino del usuario aún no lo tiene)
    • Servicio MedTech
  • Azure Virtual Network
    • Dirección IP pública de Azure
    • Azure Firewall
    • Zona de DNS privada de Azure
  • Punto de conexión privado al servicio del centro de eventos dentro de la red virtual
    • Tarjeta de interfaz de red

La implementación y configuración incluye los siguientes pasos:

  1. Revisar los requisitos
  2. Crear grupo de recursos y red virtual
  3. Crear el espacio de trabajo de Azure Health Data Services
  4. Crear el servicio del centro de eventos
  5. Configurar el servicio MedTech
  6. Establecer la configuración de red
  7. Configurar el registro de aplicación
  8. Cree una máquina virtual para la aplicación de datos de muestra

Revisar los requisitos

Antes de proceder a implementar, debe asegurarse de tener los siguientes requisitos:

  • Una cuenta de Azure y una suscripción en el mismo inquilino donde implementó la solución Administración de dispositivos. Si no dispone de una suscripción, regístrese para una cuenta de Azure gratuita antes de comenzar.
  • Acceda dentro de esta suscripción de Azure con los permisos adecuados para crear grupos de recursos y recursos.
  • Cumplimiento de las pautas de seguridad descritas por los administradores de Azure y la política de la organización.

Crear el grupo de recursos y la red virtual

  1. Cree un grupo de recursos de Azure siguiendo las instrucciones en Crear grupos de recursos. Asegúrese de seleccionar el valor Región con inteligencia. Debe usar la misma región al configurar el resto de los recursos de este artículo.

  2. Cree una red virtual dentro de este grupo de recursos mediante las instrucciones de Inicio rápido: creación de una red virtual mediante Azure Portal. Puede omitir los pasos de creación de máquinas virtuales en el inicio rápido.

  3. Implemente un firewall estándar para esta red virtual siguiendo las instrucciones en Implementar el firewall.

Nota

Para todas las siguientes secciones de implementación y configuración, asegúrese de usar siempre el grupo de recursos y la red virtual creados en este paso, a menos que se indique explícitamente lo contrario.

Crear el espacio de trabajo de Azure Health Data Services

  1. Implemente el área de trabajo de Azure Health Data Services siguiendo las instrucciones de Implementar el área de trabajo de Azure Health Data Services mediante Azure Portal.

  2. Implemente un servicio FHIR dentro del mismo espacio de trabajo siguiendo las instrucciones en Implementar un servicio FHIR dentro de Azure Health Data Services.

Crear el servicio del centro de eventos

  1. Cree el espacio de nombres Event Hubs siguiendo las instrucciones en Crear un espacio de nombres Event Hubs.

    Asegúrese de que se utilice un nivel Estándar o superior. No utilice el nivel Básico.

  2. Cree el servicio del centro de eventos dentro del mismo espacio de nombres siguiendo las instrucciones en Crear un centro de eventos. Asegúrese de establecer el valor de Retención de mensajes en al menos 24 horas.

Configurar el servicio MedTech

Implemente y configure el servicio MedTech siguiendo los pasos explicados en los siguientes artículos:

Las secciones anteriores ya abordaron los Requisitos previos en el inicio rápido de implementación del servicio MedTech.

Si los datos del dispositivo que ingresan al servicio del centro de eventos tienen el formato que se explica en Formato de datos, use el siguiente código JSON para el paso Configurar la psetaña de asignación de dispositivos. De lo contrario, también puede definir sus propias asignaciones de dispositivos. Para obtener más información sobre las asignaciones de dispositivos, vaya a Descripción general de la asignación de dispositivos del servicio 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
          }
        ]
      }
    }
  ]
}

Del mismo modo, si usa el mismo formato de datos, copie el siguiente código JSON para el paso Configurar la pestaña de destino.

Nota

En la pestaña Destino, especifique el Tipo de resolución como Buscar.

{
  "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"
              }
            ]
          }
        ]
      }
    }
  ]
}

Establecer la configuración de red

  1. Usando las instrucciones en Crear una zona DNS privada, cree una zona DNS privada con el nombre privatelink.servicebus.windows.net

  2. Deshabilite el acceso público al espacio de nombres Event Hubs mediante los siguientes pasos:

    1. Vaya al recurso de espacio de nombres que creó y seleccione la pestaña Redes.

    2. Para la opción Acceso a la red pública, seleccione Deshabilitado y guarde la configuración actualizada.

  3. Cree un punto de conexión privado para el espacio de nombres Event Hubs siguiendo los siguientes pasos:

    1. Cambie a la pestaña Conexiones privadas punto de conexión del espacio de nombres y seleccione + Punto de conexión privado.

    2. Continúe creando el punto de conexión con la configuración predeterminada. En las pestañas Red virtual y DNS , seleccione la red virtual y la zona DNS privada creada en las secciones anteriores.

    3. Después de crear punto de conexión, vuelva a la pestaña Conexiones de punto de conexión privado y verifique si el punto de conexión privado recién creado muestra Correcto para el estado de aprovisionamiento.

  4. Configure la zona DNS privada que creó siguiendo los siguientes pasos:

    1. Seleccione + Conjunto de registros sobre la pestaña Descripción general e ingrese los siguientes valores:

      Campo valor
      Nombre Nombre del espacio de nombres Event Hubs que creó
      Dirección IP Dirección IP del punto de conexión privado que creó

      Puede ignorar este paso si el conjunto de registros se ha agregado automáticamente.

    2. Seleccione Enlaces de red virtual en Configuración, seleccione + Agregar y seleccione la red virtual que creó.

Configurar el registro de aplicación

Cree y configure el registro de la aplicación siguiendo los siguientes pasos:

  1. En el portal de Azure, busque y seleccione Registros de aplicación.

  2. Seleccione + Nuevo registro.

  3. Escriba un nombre para el registro de aplicación.

  4. En Tipos de cuenta admitidos, seleccione la opción Cuentas solo en este directorio organizativo (solo directorio predeterminado: inquilino único) y seleccione Registrar.

  5. Abra el registro de aplicación.

  6. Seleccione Certificados y secretos y seleccione + Nuevo secreto de cliente en la pestaña Secretos del cliente. Establezca el valor de caducidad en seis meses y agregue el secreto.

  7. Después de crear el secreto, anote el valor del secreto.

    Nota

    Por seguridad, el valor del secreto solo es visible durante el proceso de creación. Si no anota el valor del secreto en este paso, cree un nuevo secreto.

  8. Anote tanto el ID de la aplicación (cliente) como el valor secreto del registro. Use estos valores para configurar los ajustes del kit de herramientas de integración de datos que se explican en la sección Configuración adicional.

  9. Vaya al servicio FHIR que creó en el paso Crear espacio de trabajo de Azure Health Data Services . Seleccione Control de acceso (IAM).

  10. Seleccione + Agregar, seleccione la opción Agregar asignación de roles y seleccione el rol Colaborador de datos de FHIR en la lista.

  11. Seleccione Siguiente.

  12. En la pestaña Miembros, seleccione + Seleccionar miembros para buscar y seleccionar el registro de la aplicación que creó anteriormente.

  13. Revise y agregue la asignación de roles.

Cree una máquina virtual para la aplicación de datos de muestra

Este paso le muestra cómo configurar una máquina virtual de Azure para ejecutar una aplicación de remitente de datos de muestra que puede insertar datos en el servicio del centro de eventos. La aplicación imita los datos que envían los dispositivos de salud.

  1. Cree una máquina virtual con una imagen del sistema operativo Windows 11 siguiendo las instrucciones en Crear máquina virtual.

  2. Para obtener información sobre cómo generar y enviar datos de muestra, vaya a Generar datos de muestra para compatibilidad con datos del dispositivo (versión preliminar).

Configurar el cuadro de observación del paciente usando Power BI

En esta sección se enumeran los requisitos previos y los pasos para instalar y configurar el cuadro de observación de pacientes.

Requisitos previos

  1. Debes tener una licencia de Microsoft Power BI Pro para configurar y publicar informes.

  2. Inicie sesión en Power BI, seleccione el ícono de ajustes, seleccione Portal de administración, seleccione Configuración de inquilinos y habilite la configuración para instalar aplicaciones de plantilla que no figuran en AppSource.

  3. Debe tener un rol Lector de datos de FHIR en el servidor FHIR para leer datos del servidor. Para obtener más información sobre la asignación de roles, vaya a Asignar roles para el servicio FHIR.

Instalar y configurar

  1. Seleccione la aplicación de plantilla Gráfico de observación del paciente en la sección posterior a la implementación.

  2. Inicie sesión en Power BI y selccione el botón Instalar para continuar.

  3. Después de instalar la aplicación, aparecerá en su página Power BI Aplicaciones.

  4. Seleccione la aplicaicón para abrirla.

  5. Seleccione Conectar sus datos.

    Una captura de pantalla que muestra la opción de conexión de datos de Power BI.

  6. Para el campo FHIRServerUrl, ingrese la URL del servidor FHIR al que desea conectar el informe.

    Una captura de pantalla que muestra el campo URL del servidor FHIR en la página de conexión de administración de dispositivos.

  7. Conectar su cuenta:

    • Para Método de autenticación, seleccione OAuth2.
    • Para Configuración del nivel de privacidad de este origen de datos, elija Organizativo.
    • Seleccione Iniciar sesión y conectar.
  8. Después de que la aplicación actualice el conjunto de datos, verá los datos de información vital de su paciente reflejados en el informe Power BI.

Incrustar informe de Power BI

Puede incrustar los informes de Power BI en formularios de Dataverse mediante la función de Power BI Incrustar con filtrado contextual. Para obtener más información sobre la función Insertar, vaya a Insertar un informe en un portal o sitio web seguro.

Use los siguientes pasos para insertar el informe de Power BI en Dataverse:

  1. Una vez completada la instalación de la aplicación, vaya a la aplicación instalada y abra el informe.

  2. En el menú Archivo, seleccione Insertar informe y luego seleccione Sitio web o portal.

    Captura de pantalla que muestra las opciones de inserción.

  3. En el cuadro de diálogo Código de incrustación seguro, copie el valor de la URL proporcionado en Aquí hay un enlace que puede usar para incrustar este contenido.

    Una captura de pantalla que muestra un valor de URL de muestra en el cuadro de diálogo de inserción segura.

  4. El siguiente paso sería actualizar la variable de entorno URL del cuadro de observación del paciente en Dataverse.

    En Dataverse, vaya a la experiencia de búsqueda avanzada y busque la definición de variable de entorno mediante el filtro "Nombre de esquema es igual a msemr_PatientObservationChartUrl".

  5. Abra el registro y vaya a la sección de valores.

  6. Seleccione + Nueva variable de entorno para crear un nuevo valor de variable de entorno utilizando la URL del informe de Power BI copiada en el paso 3.

    Captura de pantalla que muestra cómo crear una nueva variable de entorno.

Al configurar los informes de Power BI, es posible que encuentre algunos problemas observados con frecuencia. Para obtener instrucciones sobre cómo solucionar estos problemas, vaya a Solucionar problemas de informes de Power BI.

Configurar flujos de Power Automate

Debe configurar flujos de Power Automate para integrar sus servicios de administración de dispositivos con el soporte de datos del dispositivo en la capacidad de administración de cuidados (vista previa). Para obtener información sobre los pasos de configuración, vaya a Integración de socios para compatibilidad con datos de dispositivos (versión preliminar).

Configuración adicional

  1. Cuando utilice la capacidad en la aplicación de administración de atención, asegúrese de habilitar las notificaciones dentro de la aplicación. Puede usar el diseñador de aplicaciones para habilitar esta configuración. Para más información, vaya a Habilitar la característica de notificación en la aplicación.

  2. En la aplicación Kit de herramientas de integración de datos, habilite el proceso de reescritura mediante los siguientes pasos:

    1. Navegue al área Configuración de integración del Kit de herramientas de integración de datos.

    2. Seleccione Dataverse Healthcare API y habilite la reescritura.

    3. Si está configurando un nuevo servidor FHIR, use la información anotada durante el paso Configurar el registro de la aplicación para configurar los ajustes de reescritura y guardar los cambios.

    4. Vaya a Mapas de entidades.

    5. Habilite los mapas y la reescritura de FHIR para las siguientes entidades:

      • Contacto
      • identificador médico del contacto
      • Dispositivo
      • Identificador de dispositivo

Consulte también

¿Qué es Microsoft Cloud for Healthcare?
Integración de socios para soporte de datos de dispositivos (versión preliminar)
Generar datos de muestra para compatibilidad con datos de dispositivos (versión preliminar)
Solucionar problemas de soporte de datos del dispositivo (versión preliminar)
Usar el soporte de datos del dispositivo (versión preliminar)