
MEDAUTH
Carlos Morales Aguilera
¿Qué es MedAuth?
MedAuth es una plataforma para empresas en el sector de la salud, destinada a resolver los problemas derivados de la gestión de autorizaciones médicas.
¿Por qué usar MedAuth?
Es una herramienta que pretende realizar el proceso de una autorización médica de un modo ágil, no presencial y lo más automatizado posible.
Funcionalidad
- Administración de usuarios.
- Administración de pólizas.
- Administración de autorizaciones.
- Administración de citas médicas.
- Gestión de prescripciones y autorizaciones.
- Gestión de citas médicas.

Lenguaje de programación

Python
¿Por qué Python?
- Interactivo
- Interpretado
- Modular
- Dinámico
- Orientado a objetos
- Librerías
- Interés personal

Problemas encontrados
| Problemas | Soluciones |
|---|---|
| Tipado estático y atributos privados | Investigar y definir correctamente con get/set |
| Importaciones de módulos | Definir estructura y utilizar librería sys |
| Excepciones | Excepciones específicas |
| Enumerados | Utilizar serialización JSON |
| Herencia | Método super() |
Gestor de tareas
Invoke
Características
- Dirigido por código
- Sintaxis Pythónica
- Independiente de la plataforma
- Errores programación Python
- Hereda de GNU Make

Ejecución: Invoke test
Alternativas




Biblioteca de aserciones
assertpy
Alternativas

Unittest
Verify
assertpy

- assert_that
- Comprobaciones sobre objetos complejos
- Funciones pythonicas
- Compatible con principales marcos de prueba
- Aserciones mediante funciones
- Sin verborrea.
Marco de pruebas
Alternativas

Nose2
Testify
Pytest

- Compatible con Unittest
- Visualización óptima de errores
- Compatible con la mayoría de bibliotecas de aserciones conocidas
- Setup mediante fixtures
- Ejecución individual de tests
- Tests como funciones
- No depende de releases de Python
Contenerización

Requisitos
- Tamaño del contenedor base
- Librería Libc6
- Python3.8
- Pip3
- LTS

Contenedores





Contenedor base
Python 3.8-slim
- 106.6MB
- Libc6
- Python3.8
- Pip3
- LTS: 2024
Herramientas
- Skopeo
- Container-diff

Registros

Integración continua




Travis CI

Circle CI

Shippable

GitHub Action

Framework

Alternativas





Quart
Aplicación
Blueprint


Test Fixture
Test


API
Usuarios
Pólizas
Prescripciones
Autorizaciones
Citas
- /usuarios POST
- /usuarios/<dni> POST
- /usuarios/<dni> DELETE
- /usuarios/<dni> GET
- /polizas POST
- /polizas/<id_poliza> POST
- /polizas/<dni> GET
- /prescripciones POST
- /autorizaciones POST
- /autorizaciones/<id_autorizacion> POST
- /autorizaciones/<id_autorizacion> GET
- /citas POST
- /citas/<id_autorizacion> POST
- /citas/<id_autorizacion> GET
ASGI

Configuración distribuida


etcd


dotenv


Logs

Alternativas


Logging
Logs


Definición
Ejemplos
Middleware



Definición
Uso
Ejemplo
Cluster

Persistencia



MongoDB



Contenedor
PyMongo
Consulta
Cliente


Conexión
Petición
Composición
- MongoDB
- MedAuth
- Cliente


Benchmarks
wrk
WRK



Ejecución
Ejemplo
Gráficas
Despliegue

Droplet

Despliegue

¡Gracias por su atención!


¿Alguna duda?
MedAuth
By carlosma7
MedAuth
Presentation for MedAuth Project. You can see it on GitHub: https://carlosma7.github.io/MedAuth
- 341