Compartir a través de


Dataverse Healthcare API: configurar Azure Logic App con un desencadenador HTTP

Este artículo proporciona una guía paso a paso para crear su propia Azure Logic App para ingerir datos FHIR en Dataverse Healthcare APIs, Azure Health Data Services, o ambos. Esta Logic App, configurada con un desencadenador HTTP, actúa como un relé Azure Health Data Services y las API de atención médica de Dataverse.

También puede usar una plantilla de Azure Resource Manager (ARM) titulada Plantilla de canalización de datos sanitarios para implementar un grupo de Logic Apps que organizan la ingesta de paquetes FHIR en Dataverse API de atención médica y Azure Health Data Services. Para más información, consulte Dataverse API de atención médica: use la plantilla de canalización de datos de Healthcare para implementar Azure Logic Apps.

Nota

Este ejemplo se porporciona como un punto de entrada para los datos de registros sanitarios electrónicos (HME) entrantes, lo que garantiza que los datos de FHIR se publiquen en los servicios correctos. No pretende ser una solución final en su estado actual.

La configuración incluye los siguientes pasos:

Este servicio de aplicación lógica proporciona una entrada apuntar para los mensajes del paquete FHIR que se publican primero en el punto de conexión de Azure Health Data Services. Después de una publicación exitosa, el mensaje se enruta al punto de conexión de la Dataverse healthcare API. Este ejemplo garantiza que cuando los paquetes FHIR se publiquen en Azure Health Data Services, las Dataverse Healthcare APIs también reciban el mensaje.

Nota

No es necesaria una Azure Logic App para publicar datos de FHIR en los puntos finales de la Dataverse Healthcare API. Puede crear su propia solución para transmitir datos de su EHR a las API y manejar las respuestas.

La aplicación lógica de muestra usa identidades administradas de Microsoft Entra ID para autenticarse entre la instancia de la aplicación lógica y los dos servicios.

Revisar los requisitos

Debe asegurarse de tener los siguientes requisitos antes de poder crear una aplicación lógica:

  • Una cuenta de Azure y suscripción. Si no dispone de una suscripción, regístrese para una cuenta de Azure gratuita antes de comenzar.
  • Un grupo de recursos Azure configurado con los recursos adecuados para crear Logic Apps.
  • Acceda dentro del grupo de recursos para crear y editar aplicaciones lógicas e identidades administradas.
  • Cumplimiento de las pautas de seguridad descritas por los administradores de Azure y la política de la organización.

Configurar la autenticación

Antes de crear y configurar la aplicación lógica, debe configurar una identidad administrada para que los servicios externos puedan autenticarse con la aplicación lógica. El uso de identidades administradas es un método para configurar la autenticación. Asegúrese de seguir las prácticas recomendadas y las políticas de la organización al configurar la autenticación.

Las identidades administradas en Azure permiten la autenticación entre servicios sin conservar las credenciales dentro de la aplicación lógica. Esta aplicación lógica utiliza una identidad administrada asignada por el usuario para la autenticación entre servicios. Los administradores de Azure suelen restringir esta configuración. Si el acceso está disponible, puede usar los siguientes pasos para crear una identidad administrada para conectarse a puntos de conexión de Azure Health Data Services y Dataverse Healthcare API.

Para obtener más información acerca de las identidades administradas, vaya a ¿Qué son las identidades administradas para los recursos de Azure?

Para configurar la autenticación con una identidad administrada, debe realizar los siguientes pasos:

Creación de una solución administrada

Cree una identidad administrada asignada por el usuario mediante los siguientes pasos:

  1. Desde el menú Azure portal, seleccione Crear un recurso y busque Identidad administrada. En las opciones proporcionadas, seleccione Identidad administrada asignada por el usuario y luego seleccione Crear.

  2. Seleccione los valores correctos de Suscripción, Grupo de recursos y Cuenta de almacenamiento. La región debe ser la misma que la aplicación lógica.

  3. En el campo Nombre, seleccione FHIRRelayManagedIdentity o cualquier otro nombre exclusivo del grupo de recursos. El resto de este artículo se refiere al nombre FHIRRelayManagedIdentity para la identidad administrada.

    Seleccione Crear.

  4. Una vez completada la implementación, abra el recurso de identidad administrada.

Conceder acceso a Azure Health Data Services

El acceso a Azure Health Data Services desde la aplicación lógica requiere la asignación de rol Colaborador de datos FHIR, que permite publicar nuevos datos en el servicio. Debería agregar esta asignación de rol Azure a la identidad administrada utilizada por la aplicación lógica.

  1. Vaya a la instancia de Azure Health Data Service, seleccione Control de acceso (IAM) y luego seleccione Agregar asignación de roles.

  2. En la pestaña Rol, seleccione el rol Colaborador datos FHIR.

  3. Seleccione la pestaña Miembros. Seleccione Identidad administrada y luego seleccione + Seleccionar miembros. Agregue la identidad administrada que creó en Crear una identidad administrada.

  4. La asignación puede tardar unos minutos en reflejarse en la identidad administrada. Puede ver la asignación de roles de la identidad administrada seleccionando Asignaciones de roles de Azure.

Otorgar acceso a Dataverse Healthcare APIs

La misma identidad administrada se usa en la aplicación lógica para acceder a las Dataverse Healthcare APIs al conectarlo a un usuario de la aplicación en la instancia de destino de Dataverse. Para obtener más información sobre los usuarios de la aplicación, vaya a ,Administración de usuarios de la aplicación en el centro de administración de Power Platform.

  1. Necesita el ID de cliente de Azure de la identidad administrada para configurar el usuario de la aplicación. Para recuperar el ID de cliente, abra la identidad administrada FHIRRelayManagedIdentity y copie el valor Identificación del cliente del área Visión general.

  2. En el Centro de administración de Power Platform, abra el entorno de Microsoft Cloud for Healthcare de destino. En la sección Acceso, seleccione Aplicaciones S2S y luego seleccione Nuevo usuario de la aplicación.

    En el panel Crear un nuevo usuario de la aplicación, seleccione la Unidad de negocio adecuada y luego seleccione Agregar una aplicación.

  3. En el panel Agregar una aplicación desde Microsoft Entra ID, busque el id. de cliente que copió de la identidad administrada. Seleccione FHIRRelayManagedIdentity en la lista, seleccione Agregar y, a continuación, edite los roles de seguridad.

  4. Seleccione el rol Usuario de registro de la aplicación Administración de sincronización para FHIR y seleccione Guardar. Seleccione Crear para crear el nuevo usuario de la aplicación.

Crear aplicación lógica

  1. Desde el menú Azure Portal, seleccione Crear un recurso, busque Aplicación lógica y, a continuación, seleccione el elemento de los resultados de búsqueda.

  2. Seleccione Crear.

  3. En el panel Crear aplicación lógica, proporcione la información relevante para la aplicación lógica. Revise el tipo de plan, la seguridad y los detalles de la red con los administradores de Azure en función de la carga de procesamiento esperada.

    Las siguientes configuraciones son ejemplos de un orquestador de aplicación lógica simple para probar la conectividad que usaría en secciones posteriores de este artículo. Si no se especifica una configuración, suponga que se usan los valores predeterminados.

    Ajuste valor
    Nombre de Logic Apps FhirRelaySample
    Publicar Flujo de trabajo
    Región Este de EE. UU.
    Tipo de plan Consumo
  4. Seleccione Crear. El aprovisionamiento de la nueva aplicación lógica puede tardar unos minutos.

Configurar aplicación lógica

Después de crear la aplicación lógica, abra el recurso de la aplicación lógica para abrir el Diseñador de aplicaciones lógicas en Herramientas de desarrollo. Siga estos pasos para configurar la aplicación lógica:

Configurar la identidad

Ahora que se crearon la aplicación lógica y la identidad administrada, debe vincularlas.

  1. Seleccione Identidad en el menú de la aplicación lógica, seleccione la pestaña Usuario asignado y, a continuación, seleccione + Agregar.

  2. En el panel abierto, seleccione la identidad administrada creada y luego seleccione Agregar.

La aplicación lógica ahora debería vincular a la nueva identidad administrada. Se puede utilizar para procesar pasos y acciones.

Configuración del desencadenador

El primer paso para configurar el flujo de trabajo de una aplicación lógica es definir el punto de entrada o desencadenador. El activador Cuando se recibe una solicitud HTTP permite que los sistemas externos publiquen datos a través de solicitudes HTTP en la aplicación lógica para su procesamiento. Este activador permite que la aplicación lógica de retransmisión FHIR reciba una solicitud HTTP con una carga JSON. Para obtener más información sobre cómo crear un desencadenador, vaya a Agregar un desencadenador de solicitud.

Esta aplicación lógica espera una solicitud entrante que contenga un paquete FHIR estándar. El esquema JSON de Cuerpo de la solicitud se deja vacío, porque cada paquete entrante puede ser único. Esta configuración permite que la aplicación lógica reciba varias cargas JSON en lugar de vincularla a un contrato de datos específico.

Captura de pantalla que muestra el activador de la aplicación lógica.

Guarde la configuración para generar la URL del mensaje HTTP. Use esta URL más tarde para probar la aplicación lógica.

Configurar parámetros

Los parámetros permiten flexibilidad en la creación e implementación de aplicaciones lógicas a través de plantillas de Azure Resource Manager. En este ejemplo, agregue los siguientes dos parámetros en las acciones de la aplicación lógica:

  • DataverseURL: la URL completa de la instancia de Dataverse que aloja Dataverse Healthcare APIs.
  • FhirURL: la dirección URL completa de Azure Health Data Services.
  1. Para crear un nuevo parámetro, seleccione Parámetros en la barra de herramientas para abrir el panel de parámetros.

  2. Para cada nuevo parámetro, siga estos pasos:

    1. Seleccione Agregar parámetro.

    2. Escriba un Nombre para el parámetro. Para Tipo, seleccione Cadena e introduzca el valor predeterminado para cada parámetro según la configuración de la organización.

      Captura de pantalla que muestra el panel de parámetros de la aplicación lógica.

  3. Seleccione Guardar en la barra de herramientas para guardar los nuevos parámetros con la aplicación lógica.

Llamar a la API FHIR

Necesita una nueva acción para publicar la carga útil de la solicitud entrante en Azure Health Data Services punto de conexión a través de un método HTTP POST.

  1. En el Diseñador de aplicaciones lógicas, seleccione Nuevo paso para agregar una nueva acción HTTP POST. La acción HTTP es común y puede mostrarse como una acción recomendada. Si aparece, seleccione HTTP como la operación para este paso.

    Si la recomendación no está presente, busque HTTP y luego seleccione HTTP de la lista de acciones disponibles.

  2. Nombra esta acción Llamar a la API de FHIR. En la configuración de la acción HTTP, actualice la siguiente configuración:

    Ajuste valor
    método PUBLICAR
    URI FhirURL
    Encabezados Agregue un nuevo valor para cada uno de los siguientes encabezados:

    Content-Type: application/json
    OData-Version: 4.0
    Cuerpo Cuerpo

    Los campos URI y Cuerpo requieren contenido dinámico. El URI usa el valor del parámetro FhirURL, y el campo Cuerpo usa el cuerpo de la solicitud entrante manejada por el desencadenador.

  3. Seleccione Guardar para asegurarse de guardar las configuraciones actuales antes de pasar al siguiente paso.

  4. Seleccione Agregar nuevo parámetro y después seleccione Autenticación.

    • Para el campo Tipo de autenticación, seleccione Identidad administrada.
    • Para el campo Identidad administrada, seleccione la identidad administrada creada previamente y vinculada al recurso Azure Health Data Services.
    • Seleccione el valor del parámetro FhirURL para el campo Audiencia.

    Una captura de pantalla que muestra el parámetro de identidad administrada.

La llamada HTTP ahora tiene acceso para POST los datos FHIR al punto de conexión de servicio.

Evaluar la respuesta de FHIR

Después de que se publiquen los datos de FHIR, use una acción de condición para evaluar la respuesta del punto de conexión de Azure Health Data Services.

  1. Seleccione Nuevo paso.

  2. En el cuadro de diálogo Acción, seleccione la pestaña Incorporado y Control y luego seleccione Condición para la acción Asigne un nombre a esta acción Evaluar la respuesta de FHIR.

  3. En el parámetro Condición, seleccione el valor dinámico del Código de estado devuelto por la acción HTTP anterior. Establezca el operador de condición en es igual a y el valor del resultado de 200 para el código de éxito.

    Si se cumple esta condición, se evalúa la rama True.

    Captura de pantalla que muestra el parámetro de condición.

  4. Para asegurarse de que se ejecuta la acción Evaluar la respuesta FHIR, seleccione los puntos suspensivos en la parte superior de la tarjeta de acción y luego seleccione Configurar ejecutar después. Seleccione todas las opciones enumeradas para que la aplicación lógica pueda proporcionar una respuesta a la persona que llama. Estas actualizaciones garantizan que la acción se ejecute incluso si el paso anterior encuentra una condición de falla.

    Captura de pantalla que muestra la configuración de Ejecutar después

Condición: respuesta correcta

Si la POST de Azure Health Data Services se realiza correctamente, el cuerpo de la solicitud se publica en las Dataverse Healthcare APIs.

Compilar el cuerpo de la solicitud de Dataverse

  1. Dentro de la rama Verdadero, seleccione Agregar una acción y luego seleccione Incorporada.

  2. Busque Componentes. Bajo Operaciones de datos, seleccione la acción Componer.

  3. Para el campo Entradas, agregue el siguiente JSON fragmento de código:

      {
       "msind_BundleTag": "",
       "msind_JSON": ""
      }
    
  4. En las comillas vacías para el nodo msind_JSON, agregue el contenido dinámico para el valor del cuerpo del disparador.

    Captura de pantalla que muestra el cuerpo de la solicitud de Dataverse.

    Este paso agrega los valores JSON del cuerpo del desencadenador como un parámetro a la llamada a la Dataverse Healthcare API. Nombre este paso Construir cuerpo de solicitud de Dataverse

Llamar a la API de Dataverse

El siguiente paso publica este nuevo JSON en el punto de conexión de Dataverse Healthcare APIs.

  1. Seleccione Agregar una acción y cree otra acción HTTP. Nombre este paso Llamar a la API de Dataverse.

  2. En la configuración de la acción HTTP, actualice la siguiente configuración:

    Ajuste valor
    método PUBLICAR
    URI (expresión)
    Encabezados Agregue un nuevo valor para cada uno de los siguientes encabezados:

    Content-Type: application/json
    OData-Version: 4.0
    Cuerpo (Salida del paso Componer)

    El campo URI es un valor de expresión dinámica que combina el parámetro DataverseURL y el nombre de la API personalizada del punto de conexión. La expresión completa debería ser la siguiente:

    concat(parameters('DataverseURL'), '/api/data/v9.1/msind_UpsertBundle')

    Captura de pantalla que muestra la expresión del URI de la acción de la API de Dataverse.

    El campo Cuerpo es un valor dinámico que captura la salida del paso Componer.

    Captura de pantalla que muestra el cuerpo de la acción de la API de Dataverse.

  3. Seleccione Agregar nuevo parámetro y después seleccione Autenticación. En Tipo de autenticación, seleccione Identidad administrada.

    Seleccione la identidad administrada creada previamente y vinculada al recurso Azure Health Data Services. Para esta acción, seleccione el valor del parámetro DataverseURL para el campo Audiencia.

    Captura de pantalla que muestra el parámetro de autenticación de identidad administrada para la acción de API de Dataverse de la llamada.

La llamada HTTP ahora tiene acceso para POST al punto de conexión de servicio de Dataverse Healthcare APIs.

Responder con la respuesta de Dataverse

Después de publicar los datos en Dataverse, componga la respuesta para la llamada de la aplicación lógica usando el respuesta de la acción Llamar Dataverse API.

  1. Seleccione Agregar una acción y después Integrada.

  2. Seleccione Respuesta en la lista de acciones disponibles. Nombre esta nueva acción Responder con respuesta de Dataverse.

    En esta acción, los valores de retorno de las Dataverse Healthcare APIs se devuelven como respuesta para la aplicación lógica mediante el uso de valores dinámicos en los campos correspondientes.

    Captura de pantalla que muestra la configuración de la respuesta con la acción de respuesta de Dataverse.

  3. Para garantizar que la acción Responder con respuesta de Dataverse se ejecute, seleccione puntos suspensivos en la parte superior de la tarjeta de acción y luego seleccione Configurar ejecutar después de. Seleccione todas las opciones enumeradas para que la aplicación lógica pueda proporcionar una respuesta a la persona que llama incluso si falla la acción Llamar Dataverse API.

Condición: respuesta fallida

Si falla la llamada a Azure Health Data Services punto de conexión, la aplicación lógica devuelve los valores de la acción Llamar a la API de FHIR como respuesta.

Responder con la respuesta de error de FHIR

  1. Seleccione Agregar una acción en la rama Falso y luego seleccione Incorporada.

  2. Seleccione Respuesta en la lista de acciones disponibles. Nombre esta nueva acción Responder con respuesta de fallo de FHIR.

    En esta acción, los valores de retorno de Azure Health Data Services se devuelven como respuesta para la aplicación lógica mediante el uso de valores dinámicos en los campos correspondientes.

Enviar el paquete JSON a la URL de la aplicación lógica

  1. Para probar la aplicación lógica con el diseñador, seleccione Activador de ejecución y luego seleccione la opción Ejecutar con carga útil. Esta acción simula llamar a la URL de la aplicación lógica y le permite depurar cualquier problema.

  2. Para el campo Cuerpo, proporcione un paquete FHIR válido. Este paso asume que el resto de la configuración de Microsoft Cloud for Healthcare se ha completado y las API Dataverse de atención médica están listas para recibir un mensaje entrante.

Ejecutar la versión actual con direcciones URL incorrectas para los puntos finales de servicio da como resultado una ejecución correcta de la aplicación lógica aunque falle la acción Llamar a la API de FHIR. Puede ver los resultados de la ejecución en la página principal de la aplicación lógica en Historial de ejecución.

Cuando actualiza correctamente todos los valores de los parámetros, el historial de ejecución rastrea con éxito la ejecución de la aplicación lógica.

Captura de pantalla que muestra una vista del historial de ejecución de la aplicación lógica para una llamada correcta.

Asegurar aplicación lógica

Una vez que complete la prueba y configuración de la aplicación lógica, puede bloquear el seguimiento asegurando las acciones de entrada y salida.

  1. Seleccione los puntos suspensivos en la esquina superior derecha de la tarjeta de acción y después Configuración.

  2. Establezca los valores en Activado para Entradas seguras y Salidas seguras.

  3. Todas las ejecuciones posteriores de la aplicación lógica restringen la visualización de los datos cuando se visualizan los registros de ejecución. Los resultados del disparador ahora deberían proporcionar una vista restringida de los datos de la siguiente manera:

    Una captura de pantalla que muestra el historial de ejecución segura.

Puede aplicar esta configuración a cada acción que admita esta función. Para obtener más información, visite Acceso seguro y datos para flujos de trabajo en Azure Logic Apps.