Tacticas Sprint 4 - ISIS2503-202310-S2-LasDivinas/Documentacion_Arquitectura GitHub Wiki

Decisiones de arquitectura para satisfacer los ASR

Facilidad de modificación

  • Se utiliza el patrón de despliegue de instancia de (micro)servicio por máquina virtual: Service Instance per VM.
  • Se utiliza el patrón de base de datos por (micro)servicio: Database per Service
  • El microservicio de historias clínicas expone a los demás únicamente un API, con servicios ya definidos, por lo que cualquier bug que ocurra en su lógica se soluciona modificando únicamente el microservicio de historias clínicas. No afecta la interacción con los demás microservicios, estos siguen llamando las mismas funciones de su API de la misma manera. (Diferente sería el caso en el que por ejemplo se añadiera un nuevo servicio al API de historias clínicas, ahí sí sería necesario modificar otros componentes, pero no para arreglar un bug.).

En la sustentación, se sustenta este requerimiento haciendo uso de los diagramas de componentes y despliegue.

Seguridad, Integridad

  • Autenticar actores: Se utiliza autenticación con el fin de garantizar que el usuario que está ingresando al sistema es quien dice ser: identificar su identidad.
  • Con eso, se usa la táctica de autorizar actores: Con base en la identidad, se le asignan permisos de que puede o no hacer.
  • Se hace uso de un Access token que mantiene la información del usuario que ha iniciado sesión.

image

Desempeño, Latencia de la base de datos

  • Subset: Se implementó el patrón subset para incorporar una nueva categoría de pacientes llamada "pacientes prioritarios". Este subconjunto se creó con el objetivo de mejorar la eficiencia en la atención médica de aquellos pacientes que cumplen con criterios específicos. Los pacientes prioritarios son aquellos mayores de edad que padecen de obesidad u obesidad mórbida. Mediante el uso del patrón subset, se extrajeron y seleccionaron únicamente aquellos pacientes que se ajustaban a estas condiciones, lo que permitió agilizar y enfocar la consulta del ASR de desempeño en dicha población.
  • Computed: Se implementó el patrón computed para calcular automáticamente dos valores a partir de los parámetros de los pacientes. En primer lugar, se buscó calcular el índice de masa corporal (BMI) utilizando el peso y la altura del paciente. Además, se incorporó un segundo atributo "nivel_peso" que se determina según el valor calculado del BMI, el cual puede ser "bajo peso, normal, sobrepeso, obesidad, obesidad tipo I, obesidad tipo II y obesidad tipo III". Al precalcular estos valores, se consigue reducir el tiempo que toma llevar a cabo la consulta del ASR de desempeño. Esto se debe a que los cálculos se realizan anticipadamente y se almacenan en los atributos correspondientes, evitando tener que repetirlos cada vez que se requiera obtener el BMI o el nivel de peso de un paciente. De esta manera, se optimizó el rendimiento y se agilizó el acceso a la información en el sistema.