Un Entorno de Integración es una aplicación diseñada para generar interoperabilidad entre sistemas, es decir, que independientemente de las partes que intervengan en un sistema, todas se puedan comunicar con todas sin dificultad. Se conoce con el nombre de EAI (Enterprise Application Integration) que son las siglas que definen el Entorno de Integración, con el significado de que es una aplicación que integra todos los elementos de una organización o empresa.
El objetivo, concretamente, es integrar tanto la información como los procesos y los actores. Los entornos de integración también intentan solventar el problema que aparece en los Sistemas de Información cuando estos generan una cantidad de procesos inmensa.
Con un EAI podemos evitar la arquitectura “espagueti”, es decir, implementaciones y conexiones que se realizaban entre múltiples sistemas y que implicaban un sobre-esfuerzo mantenerlas.
Actualmente los entornos de integración más usados en el sector sanitario són Mirth Connect y Ensemble.
Para integrar la información del sistema ha de poder tratar todo tipo de datos. Por un lado, es muy importante poder integrar la información. La idea es que un sistema tiene que poder recibir y enviar cualquier tipo de dato, a través de cualquier protocolo.
Esto permitiría, de cara al futuro, próximas integraciones con todo tipos de tecnologías, e independizando la parte tecnológica de los actores o procesos que la utilizan.
En segundo lugar, los procesos también se tienen que integrar. Se tiene que poder diseñar procesos, sin tener que implicar la parte de datos, es decir, independientemente del formato en el cual lleguen los datos, lo importante es el contenido y como tratarlas.
Por un lado se tienen las reglas de negocio, que definen el flujo que seguirá la información. Podemos tener reglas de decisión (a nivel empresarial, de dirección, etc…), las de gestión (por procesos de administración, empleados, clientes…) y de programación (flujos que siguen los datos recibidos y a enviar, y las operaciones que se aplican a estos datos).
Por otro lado tenemos el lenguaje. Dentro de los procesos de programación, por ejemplo, se tiene que poder programar con varios lenguajes, sin que esto afecte a la lógica de los procesos, es decir, se tiene que poder conseguir obtener los datos de una Base de Datos en SQL, y aprovechar los datos obtenidos para hacer unas operaciones en JAVA, y seguidamente enviar los datos a un fichero. La finalidad es poder utilizar múltiples tecnologías y lenguajes para poder desarrollar estos procesos, pero sin que esto genere problemas de compatibilidad.
La integración de los actores es el otro punto importante de la interoperabilidad en un sistema. Se tiene que conseguir centralizar la gestión de los actores, y hacer que cada uno tenga acceso a unas ciertas funcionalidades y/o aplicaciones.
Por un lado, como tipo de actores en un sistema, podríamos dividir entre gerentes (con permisos para ejecutar los procesos de negocio referentes a la organización), los administrativos (para ejecutar los procesos de gestión) y los técnicos (por los procesos de programación, y para acceder a la configuración del sistema).
Por otro lado, también se centraliza la seguridad, indicando desde un solo lugar qué usuarios tienen determinados permisos.