Saltar al contenido principal

Integración por URLs


Propósito y alcance del sistema

Este documento describe cómo realizar la integración vía URLs de tal manera que estas urls puedan integrarse dentro de WebViews, iframes nativos de cualquier lenguaje de programación o en una pestaña de un navegador Web.


Como integrarse con las URLs de TRAK

La integración se realiza en dos pasos:

  1. Autenticación, mediante la solicitud de un token temporal.
  2. Acceso a diferentes vistas mediante urls de acceso

Autenticación y autorización

Antes de realizar la petición de la vista que se desee mostrar (patient, prescription y metrics) se debe de realizar una petición para obtener el token temporal (accessToken) qué será utilizado para el proceso de autentificación.

Nota: Si no conoce el token, por favor, póngase en contacto con su contacto comercial.

La validez del token temporal es de 5 minutos, por lo que si no se realiza la petición de panel antes de ese tiempo, el token habrá expirado y no se podrá acceder, y deberá de realizar otra petición de solicitud de token temporal.

En el endpoint de la petición se debe indicar el nombre de usuario.

El nombre de usuario puede ser un id anónimo i.e 1eaf3421hes213 (recomendado) o cualquier dato personal cómo el email email@dominio.com que corresponda para la obtención del panel, por ello:

  • Panel paciente, el nombre de usuario (<email@dominio.com>) que se debe de utilizar es el del paciente que se desea mostrar los datos.

  • Panel prescripción y métricas, el nombre de usuario (<email@dominio.com>) que se debe de indicar es del profesional médico

URL del frontend a utilizar

Dependiendo del entorno que se esté utilizando se debe usar una URL del frontend u otra.

Acceso a paneles

Una vez obtenido el token temporal, ya se puede acceder a las diferentes vistas de la aplicación.

Todas las urls tienen un parámetro opcional que se añade al final de la url donde se indica el idioma del contenido a mostrar.

Las opciones de este parámetro son “es” y “en” para mostrar el contenido en español e inglés respectivamente. Si no se especifica ninguno se utiliza por defecto el idioma español.

Vista del profesional sanitario

Vista del paciente


Eventos

Desde la aplicación de TRAK se envían eventos a la aplicación que lo envuelve en determinados momentos de la integración.

Estos eventos han de ser capturados por la aplicación que envuelve la vista para que se actúe en consecuencia al evento que recibe.

Cuando se acaba la rehabilitación o la escala que se realiza, desde la aplicación de TRAK se envía un evento a la aplicación que lo envuelve para que ésta oculte la vista de TRAK.

Captura de los eventos

Para capturar estos eventos, la aplicación que integra TRAK ha de tener un listener que escuche eventos dentro de la aplicación. Por ejemplo, en javascript este event listener sería así:

    window.addEventListener('message', (event) => console.log(event.data), false)

Tipos de eventos

Los tipos de eventos que se mandan desde TRAK a la aplicación que lo envuelve son:

Finalización de rehabilitación o escala

Cuando se termina la rehabilitación o escala que se está realizando, desde TRAK se envía el siguiente objeto:

    { "source": "TRAK", "message": "INTEGRATION_CLOSE" }

Tras este evento, la aplicación que integra TRAK puede decidir si redirigir a otra vista o si ocultar la vista de TRAK.

Uso de las URLs

Estas URLs pueden ser incluidas en cualquier iframe o WebView nativa de cualquier lenguaje de programación para ser incrustadas de forma personalizada en cualquier otra aplicación.

En HTML:

<iframe
src="url"
allow="camera 'src'; magnetometer 'none'; microphone 'none'; geolocation 'none'; display-capture 'none'; screen-wake-lock 'self'"
title="Trak"
width="800px"
height="600px"
></iframe>

En React Native:

    <WebView
source={{ uri: URL }}
allowsInlineMediaPlayback
mediaPlaybackRequiresUserAction={false}
useWebKit
javaScriptEnabled
javaScriptEnabledAndroid
startInLoadingState={true}
/>

En una pestaña de navegador:

Estas URLs pueden ser utilizadas directamente en una pestaña de un navegador, de tal manera que desde una web que no es de TRAK, se envíe al usuario a otra pestaña con esta URL de TRAK.

Parámetros a cambiar en lenguajes nativos

Para algunos lenguajes de programación nativos hay que añadir alguna configuración extra para que funcione la vista de TRAK.

A continuación se muestran algunos ejemplos.

Cordova:

Añadir la siguiente configuración al fichero "config.xml":

    <platform name="ios">
<preference name="AllowsInlineMediaPlayback"
value="true">
</platform>

Si se está utilizando el componente WKWebView para embeber TRAK, se ha de añadir el siguiente parámetro a la WebView:

    let webConfiguration = WKWebViewConfiguration()
webConfiguration.allowsInlineMediaPlayback = false
return WKWebView(frame: .zero, configuration: webConfiguration)

React Native:

Añadir a la WebView la siguiente propiedad:

    allowsInlineMediaPlayback={true}.