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

  1. MongoDB
  2. MedAuth
  3. 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