recomendaciones_de_arquitectura

Recomendaciones de Arquitectura

La información presentada a continuación, intenta ser una guía con recomendaciones de arquitectura, para implementar los medios interoperables, consensuados por el Proyecto MAIS, para establecer un modelo único de transacción para los ítems de facturación y débitos, entre Prestadores y Financiadores.

  • Todas las definiciones se fundamentan en lo consensuado por el Proyecto MAIS.
  • El formato seleccionado para la transferencia de los ítems de facturación y débitos están basados en los recursos FHIR (https://www.hl7.org/fhir/)
  • Los servicios definidos, fueron consensuados bajo el contexto de transferencia entre Prestadores y Financiadores.

Arquitectura

Los servicios definidos y que se deben implementar para respetar lo establecido son:

  • Login: Servicio de autenticación de Prestadores en el servidor del Financiador.
  • Facturación: Recibe los ítems de facturación enviados por los Prestadores para su posterior validación por parte del Financiador.
  • Débitos: Retorna el resultado de la validación de los ítems de facturación que fueron enviados con anterioridad a través del servicio de Facturación.
  • Documentación de Respaldo: Servicio para transferir la documentación digitalizada que será referenciada en los trámites de facturación.

Todos los servicios pueden trabajar con JSON o XML (según definición de FHIR), por defecto utiliza JSON, ya que con esta implementación, la información que se transmite es menor. Para seleccionar un formato u otro se debe definir el HEADER HTTP “Accept” en “application/xml” o “application/json”.
Además están securizados con oAuth2, con excepción del endpoint de Autenticación.

Autenticación:

POST /<context>/auth

  • Se debe enviar el usuario y la password. La gestión del usuario lo realiza el Financiador.
  • Retorna token para utilizar en los endpoints restantes. El token tiene una validez establecida.

Este servicio permite a las aplicaciones que deseen enviar información a un Financiador conectarse, autenticarse y obtener un token que habilita el acceso a los otros servicios. Ver bibliotecas que permiten la implementación de oAuth2 en http://oauth.net/2/

La secuencia es la siguiente:

  1. El Cliente FHIR (CF) envía el pedido de token al servicio de autenticación (SA) con un usuario y password asignado por la organización que controla al servicio.
  2. El servicio verifica el usuario y la password, devuelve al CF un token con una validez o vencimiento.
  3. Mientras el token sea válido, el CF puede utilizar este token para acceder a los servicios de documentos, facturación, débitos, de acuerdo a sus roles asignados. El token se incluye en el header HTTPS de la solicitud al los diferentes servicios, según lo establecido por oAuth.
  4. En caso que el usuario/password no sea válido, el servidor de autenticación devolverá error HTTP 401 (Unauthorized Access) .
  5. Si el token no es válido o expiró, cualquiera de los servidores devolverá error HTTP 401.

Ejemplos xml o json con parametros definidos en formato Raw: http://mais.dasu.com.ar/index.php

Documentos

POST /<context>/documento

  • Se debe enviar una lista de objetos Binary (Documentos/CDA).
  • Retorna una lista de ID de objetos (Documentos/CDA) almacenados.

Este servicio permite enviar al financiador la documentación de respaldo de la facturación, se puede tranferir los CDA recomendados por MAIS o documentos en cualquier otro formato. Estos documentos se pueden asociar a los ítems de facturación por medio de un ID o URL generada por el Financiador. El documento enviado se debe transformar al formato binario base 64.

Ejemplos xml o json con parametros definidos en formato Raw: http://mais.dasu.com.ar/index.php

Facturación

POST /<context>/facturacion

  • Se debe enviar los ítems de facturación en formato Bundle/Claim definido.
  • Retorna errores de formato del archivo, error de autenticación o un ID de trámite para ser consultado posteriormente. La validación de negocio de la información enviada es asincrónica.

A este servicio se envían las transacciones de facturación desde los Prestadores hacia los Financiadores, que las procesan y devuelven el estado inicial de aceptación de cada renglón. La validación completa es asincrónica y la respuesta de esta validación se gestiona con el servicio de Débitos. Por pruebas realizadas, se recomienda enviar archivos no mayores a 1000 items, utilizando formato JSON.

Ejemplos xml o json con parametros definidos en formato Raw: http://mais.dasu.com.ar/index.php

Débitos

GET /<context>/debitos/fecha_rango/<desde (ddMMyyyy)>/<hasta (ddMMyyyy)>
GET /<context>/debitos/nro_factura/<nro_factura (Letra%20Delegación%20Número)>
GET /<context>/debitos/transaccion/<ID Transacción (ID que retorna servicio de facturación)>

Pedido de estado del análisis de los items de facturación., puede ser por fechas, número de factura o id de transacción.

  • Retorna los débitos con el formato definido Bundle/ClaimsResponse.
    • Por rango de fechas, retorna los débitos o una respuesta con el estado de los ítems contenidos en las facturas dentro del rango de fechas consultado.
    • Por número de factura retorna los débitos o una respuesta con el estado de los ítems contenidos en la factura consultada.
    • Por ID de transacción retorna los débitos o una respuesta con el estado de los ítems con el ID consultado.

A este servicio los Prestadores envían las consultas para conocer el estado de los trámites y ver si hay débitos generados por los Financiadores. Retornará una lista con información del estado del trámite, (en proceso, en proceso con débitos, finalizado y finalizado con débitos).

Ejemplos xml o json con parámetros definidos en formato Raw: http://mais.dasu.com.ar/index.php

Diagrama de Secuencia de Uso de los Servicios

Comienzo del proceso de transferencia de Información: Facturación

www.mais.org.ar_storage_app_media_arquitectura_facturacion.jpg

Consulta de Débitos, al mes o a los 15 días.

www.mais.org.ar_storage_app_media_arquitectura_consulta-de-debitos.jpg

Documentación Adjunta

  • recomendaciones_de_arquitectura.txt
  • Última modificación: 2017/11/16 18:05
  • por emanuel.yanez_dasu