AESAN
A partir del documento AESAN.docx
Se trata sobre las distintas posibilidades de exportación de datos de la aplicación RAAL a la AESAN. En todos los casos, la información enviada se refiere a autorizaciones sanitarias de ámbito nacional, que son las que tienen número RGSEAA.
Envío mediante servicios web¶
Consiste en el envío de datos automatizado a un servicio web, publicado por la AESAN, de los datos de altas y modificaciones de las autorizaciones de RAAL, así como consultas de los nuevos códigos de registro tras enviar altas.
El proceso que se sigue es el siguiente:
- En la aplicación RAAL han de estar definidos los siguientes parámetros en “app-config.properties”:
hello.service.url
: URL proporcionada por la AESAN, punto de entrada del WS para testeo de la conexión (en principio no utilizada).industria.service.url
: URL proporcionada por la AESAN, punto de entrada del WS utilizado para enviar los datos de las entidades alimentarias: muy importante que esté definido correctamente según el entorno, si es que se van a activar los envíos a la AESAN en entornos diferentes al de explotación.producto.service.url
: URL proporcionada por la AESAN, punto de entrada del WS utilizado para enviar los datos de productos. Este entrada de WS no se utilice, al no gestionarse “productos” en la aplicación RAAL.EXPORTAR_DATOS_WSAESAN
: valor “true” o “false”. Indica si el envío de datos automático al servicio web de la AESAN está activado o desactivado.EXPORTAR_DATOS_WSAESAN_ALTAS
: valor “true” o “false”. Si está activado, indica si enviar o no las altas.EXPORTAR_DATOS_WSAESAN_MODIFICACIONES
: valor “true” o “false”. Si está activado, indica si enviar o no las modificaciones.IMPORTAR_DATOS_WSAESAN_NUMEROS_REGISTRO
: valor “true” o “false”. Si está activado, indica si consultar o no los nuevos códigos de registro.F_INICIO_EXPORTACION
: Indica la fecha límite inferior que se tendrá en cuenta a la hora de buscar modificaciones en autorizaciones para enviar a la AESAN. Este parámetro está pensado para evitar que, en la primera ejecución del envío de datos, se envíen todos los datos de RAAL.N_REINTENTOS_ENVIO_AESAN
: Número máximo de reintentos de envío de datos de una entidad a la AESAN, en caso de error. Si vale 0, sin límite.DIAS_NOTIFICAR_RECIBIDO_NUMERO_REGISTRO
: Número de días durante los cuales se mostrará en la pantalla de inicio de la aplicación un aviso indicando que se ha recibido un número nuevo de registro.N_MAX_ERRORES_ENVIOS_AESAN
: Número máximo de errores acumulados en envíos a AESAN permitido. Si se supera este número máximo se detiene el proceso de envío.SIMULAR_ENVIO_AESAN
: No intenta enviar los datos a través del WS de la AESAN, sino que simula que los ha enviado y recibido una respuesta correcta, para propósitos de desarrollo y depuración.EXPORTAR_DATOS_WSAESAN_USR
: Usuario acceso WS de la AESAN. Proporcionado por la AESAN.EXPORTAR_DATOS_WSAESAN_PWD
: Contraseña acceso WS de la AESAN. Proporcionada por la AESAN.- En la aplicación RAAL, debe estar activado el “planificador” (framework JCYL, JCYLPlanificador.properties) y definida la tarea “tarea.AESAN” que, de forma similar a otras tareas de la aplicación RAAL, queda configurada en app-config.properties con los siguientes parámetros:
RAALAesanTarea_ACTIVADA
: S ó NRAALAesanTarea_PERIODO
: D: diario, S: semanal (lunes), M: mensual (primer lunes de cada mes)RAALAesanTarea_HORA
: Hora del día en la que se ejecuta el proceso.
Por defecto se ha establecido periodo diario a las 20 horas.
Con lo anterior correctamente configurado, cada vez que se ejecuta la tarea del “planificador”:
- Se comprueba cual ha sido la fecha y hora de inserción del último “envío” de datos a la AESAN: los “envíos” se almacenan en la tabla RAAL_ENVIOS_AESAN. Si no hay datos del último envío (primera vez que se ejecuta la tarea) se toma como fecha de referencia la definida como F_INICIO_EXPORTACION en “app-config.properties”.
- Se obtienen las autorizaciones que han sido dadas de alta o modificadas a partir de la fecha anterior, así como aquellas que aún no tienen número de registro asignado.
Las autorizaciones que han sido dadas de alta / modificadas se determinan de la siguiente forma: - Altas, son aquellas autorizaciones que cumplen lo siguiente:- Fecha de alta efectiva en la aplicación (la fecha en la cual el usuario terminó con el “proceso de alta” de la misma) superior a la fecha de referencia.
- Modificaciones, son aquellas autorizaciones que cumplen lo siguiente:
- Fecha de última modificación de datos realizada en la aplicación para esa autorización superior a la fecha de referencia.
- La última modificación realizada fue algo diferente a finalizar el proceso de alta.
- Con número RGSEAA asignado.
- Con los datos anteriores, se generan los “envíos” a realizar (de altas, de modificaciones o consultas de número de registro) y se insertan en la tabla RAAL_ENVIOS_AESAN como pendientes de enviar.
- Se obtienen de la tabla RAAL_ENVIOS_AESAN los “envíos” pendientes de enviar (todos los pendientes de envío, no sólo los que se hayan insertado en el paso anterior).
- Se intenta enviar cada uno de los “envíos” al servicio web de la AESAN, anotando en la tabla RAAL_ENVIOS_AESAN si el envío se ha realizado correctamente o no (caso en el cual el envío quedaría marcado como pendiente).
Cada vez que se realiza un envío correcto a la AESAN se almacena en la tabla RAAL_ENVIOS_AESAN el xml enviado: esta información se utiliza para, en el momento de enviar posteriormente cambios tipificados como “Otras gestiones”, comparar lo nuevo que se va a enviar con lo último que se envió. Si resulta que son los mismos datos, no se realizará tal envío. Esto puede ocurrir si en la aplicación se modifican datos no gestionados por la AESAN.
Adicionalmente, un usuario con los permisos adecuados, podrá consultar los diferentes envíos pendientes/realizados a la AESAN (contenido de la tabla RAAL_ENVIOS_AESAN) desde la propia aplicación RAAL.
Envío de forma manual¶
Se puede realizar el envío manualmente, desde la opción Admin > Envíos AESAN > Test WS AESAN
.
Configuración del servidor¶
Es necesario habilitar la conexión desde el servidor donde está desplegado RAAL con el servidor web del ministerio (rgseaa-aecosan.mscbs.es
).
En el caso de que cambiara la dirección del servicor del ministerio será necesario pedir permisos para el nuevo acceso.
Es suficiente con hacer una petición no estándar por GSTA.
Integración librería aesan_rgsa_wsclient-5.2.jar proporcionada por la AESAN¶
La implementación de la llamada al servicio Web se hace utilizando la librería aesan_rgsa_wsclient-5.2.jar proporcionada por la AESAN.
Para poder integrarlo con la aplicación RAAL fue necesario añadir gran cantidad de librerías de clases java, algunas relacionadas con el “framework” Spring, y adaptar la aplicación para que funcionase correctamente en servidores TOMCAT.
En la librería .jar proporcionada por la AESAN hay que realizar modificaciones para configurar correctamente la URL del servidor de la AESAN: esto hay que tenerlo en cuenta si se reciben nuevas versiones del mismo.
Dicho .jar contiene un archivo ws.properties en el cual se indica la URL del servidor de la AESAN a utilizar. Como esta URL cambia por entorno, lo que se ha hecho es sacar del .jar esta información, para no tener que crear un .jar diferente por entorno.
Para ello, hay que realizar las siguientes modificaciones en el .jar:
- Eliminar del mismo el archivo ws.properties. Las “propiedades” que estaban definidas en ese archivo se pasan al app-config.properties de la aplicación. Éstas son: hello.service.url, industria.service.url y producto.service.url (ver más arriba).
- Modificar el archivo
org\avalon\AESAN_RGSA\wsclient\applicationContext-aesan-rgsa-wsclient.xml
del .jar para que las “propiedades” anteriores no se busquen ya en el extinto ws.properties y sí en app-config.properties.
Para ello, cambiar
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="placeholderPrefix" value="#wsc{"/>
<property name="locations">
<list>
<value>classpath:ws.properties</value>
<value>classpath:clientKeystore.properties</value>
</list>
</property>
</bean>
por:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="placeholderPrefix" value="#wsc{"/>
<property name="locations">
<list>
<value>classpath:../config/app-config.properties</value>
<value>classpath:clientKeystore.properties</value>
</list>
</property>
</bean>
Existe otro applicationContext-aesan-rgsa-wsclient.xml
fuera del .jar, en el directorio WEB-INF de la aplicación: por alguna razón tienen que existir los dos, aunque en este otro no haría falta cambiar nada al actualizar la versión del .jar
Relación entre el tipo de cambio en RAAL y el tipo de envío AESAN¶
Tipo cambio(s) RAAL, según denominación en menú aplicación | Tipo de envío AESAN, según su propia terminología |
---|---|
Alta (finalización) | Solicitud de Inscripción |
Cambio de titular, Cambio de domicilio social | Cambio Razón Social |
Cambio de domicilio industrial, Cambio de tipo de I/E/A | Cambio de domicilio |
Alta / Cese de actividades | Ampliación / baja actividades |
Suspensión temporal de alguna actividad | Suspensión de actividades |
Suspensión temporal de todas las actividades | Suspensión completa 2 |
Fin suspensión temporal de alguna actividad | Reinicio de actividades |
Fin suspensión temporal de actividad cuando todas estaban suspendidas | Reapertura 3 |
Cese definitivo | Baja de la Industria 1 |
Corregir datos u otros tipos de cambios, pero sólo en datos que se envían a la AESAN | Otras gestiones |
Otros tipos de envíos¶
También se han utilizado los siguientes tipos de envío, pero hoy están obsoletos:
- Envíos por correo electrónico
- Envíos mediante archivos de intercambio en formato XML