Blog de clase Tecnologías para el desarrollo de aplicaciones web

Blog de clase

View on GitHub
9 October 2021

Backend - Inventario de dispositivos médicos.

by Santiago Henao González, Santiago Gutiérrez Pérez, Angie Dahiana Vargas Serna y Luisa María Zapata Saldarriaga

Introducción

Las instituciones hospitalarias requieren mantener un control estricto de los dispositivos médicos, por lo tanto se debe tener almacenada la información respecto a estos de manera ordenada y concisa, para solventar este problema se definen bases de datos que contienen los datos mas relevantes de cada dispositivo. Esto resulta útil para definir agendas de mantenimieno preventivo, control metrológico y tecnovigilancia, tambien para tener fácil acceso a la información de suministros ofrecidos por los proveedores en caso de requerir algún tipo de servicio.

En este trabajo se busca presentar una servicio Backend para el almacenamiento y consulta de los datos del inventario de un hospital de forma eficiente, para esto se presenta una solución con base en aplicaciones en contenedores Docker, un servidor web Python con el framework Flask y una base de datos mongo.

Metodología

El backend presentado esta basado en el siguiente repositorio: Docker for development environments, específicamente flask-backend-mongo. A partir de esta plantilla se modificaron los métodos de inserción, consulta, actualización y borrado. Los datos de prueba usados para este proyecto solo incluyen información sobre la colección de Existencias y Proveedores presentados en el proyecto de bases de datos no relacionales.

Instrucciones de instalación

Carga de datos

Se deben enviar las siguientes listas de json con un método POST para la carga de información. La valores iniciales para la base de datos se encuentran en el README del repositorio, esto debe hacerse en las rutas http://localhost:8080/existencias y http://localhost:8080/proveedores respectivamente.

A continuación se detallan los métodos empleados usando como ejemplo la colección de existencias:

Create

El servidor backend en la direccion http://localhost:8080/existencias espera recibir un método POST acompañado de un objeto json con la siguiente estructura:

{
  "nombre" : "Bomba de infusion",
  "marca" : "Hospira",
  "referencia" : "Plum A+",
  "cantidad" : "5"
}

Para comprobar el correcto funcionamiento de este método se utiliza la API Postman para enviarlo, obteniendo el siguiente resultado:

El servidor retorna un “OK” demostrando que la instrucción se ejecutó completamente.

Read

Consultar todas las existencias

El servidor backend en la dirección http://localhost:8080/existencias espera recibir un método GET que no requiere un objeto json de entrada. Para comprobar el correcto funcionamiento de este método se utiliza la API Postman para enviarlo, obteniendo el siguiente resultado:

El servidor retorna una lista de objetos json con la información almacenada en la base de datos.

Consultar una existencia

Para consultar un solo dispositivo se requiere enviar su id en la ruta, como se puede observar en la siguiente imagen:

Lo retornado no es una lista, es únicamente un objeto json correspondiente a los datos del id entregado.

Update

El servidor backend en la ruta http://localhost:8080/existencias/<id> recibe el id de un solo dispositivo acompañado de un objeto json que tenga toda la información de el dispositivo a actualizar, este objeto debe tener la misma estructura de un Create, por ejemplo si se quiere aumentar la cantidad de Bombas de infusión anteriormente agregadas se hace de la siguiente manera usando el método PUT:

Delete

El servidor backend en la ruta http://localhost:8080/existencias/<id> recibe el id del conjunto dispositivos que se requiere eliminar, por ejemplo si se quieren eliminar las Bombas de infusión se realiza con un método DELETE:

Repositorio

El código de este proyecto se encuentra disponible en el siguiente repositorio: Inventario Backend

Conclusiones

Referencias bibliográficas

  1. Hospira PLUM A+, System Operating Manual. Tomado de: Manual de usuario