How agenda-viva-grupo6/agenda-viva works
Agenda Viva lets clinic staff manage patients and appointments, with its central workflow pairing same-day slots across two areas, ranking options by predicted absence risk, then reserving both atomically. Separate agenda and monitor workflows show booked-turn risk and expected weekly absences. The Java service owns domain operations and PostgreSQL state; its optional Python analytics service predicts risk from four anonymized numeric attributes. The README documents graceful chronological fallback when analytics is unavailable. Some subsystems are represented by their exact source directories because their implementation was not sampled.
Main entry points: api.js Browser app · ConcertacionService.java Pair and reserve · AgendaService.java Agenda operations · AgendaController.java Agenda API
Components 23
Web interface
- Browser app
front/js/api.js - Patient management
front/js/pacientes.js - Concertation screen
front/js/concertar.js - Agenda screen
front/js/agenda.js - Login screen
front/js/login.js
Clinic operations
- Patient API
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/web/PacienteController.java - Patient operations
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/servicio/PacienteService.java - Concertation API
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/web/ConcertacionController.java - Pair and reserve
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/servicio/ConcertacionService.java - Agenda API
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/web/AgendaController.java - Agenda operations
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/servicio/AgendaService.java - Absence monitor
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/servicio/MonitorService.java - Clinical catalog
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/modelo
Identity and access
- Authentication API
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/web/AuthController.java - Authentication service
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/servicio/AuthService.java - JWT services
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/config/JwtService.java - Request security
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/config/JwtAuthFilter.java
Risk analytics
- Analytics client
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/servicio/AnaliticaClient.java - Anonymized attributes
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/servicio/Atributos.java - Prediction endpoint
ms-analitica/app/main.py - Risk model
ms-analitica/app/modelo.py
Persistent state
- PostgreSQL
Other components
- Clinic staff
Connections 29
- Clinic staff → Browser app: uses
README.md - Browser app → Authentication API: calls
README.md - Browser app → Patient API: calls
README.md - Browser app → Concertation API: calls
README.md - Browser app → Agenda API: calls
README.md - Login screen → Authentication API: submits login
README.md - Patient management → Patient API: manages patients
README.md - Concertation screen → Concertation API: requests options
README.md - Agenda screen → Agenda API: loads agenda
README.md - Authentication API → Authentication service: delegates to
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/servicio/AuthService.java - Authentication service → JWT services: issues token
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/servicio/AuthService.java - Request security → JWT services: verifies token
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/config/JwtService.java - Authentication service → PostgreSQL: reads and writes
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/servicio/AuthService.java - Patient API → Patient operations: delegates to
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/web/PacienteController.java - Patient operations → PostgreSQL: stores records
- Concertation API → Pair and reserve: delegates to
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/web/ConcertacionController.java - Pair and reserve → Agenda operations: checks permissions
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/servicio/ConcertacionService.java - Pair and reserve → Anonymized attributes: builds features
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/servicio/ConcertacionService.java - Pair and reserve → Analytics client: requests predictions
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/servicio/ConcertacionService.java - Pair and reserve → PostgreSQL: reads and reserves
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/servicio/ConcertacionService.java - Agenda API → Agenda operations: delegates to
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/web/AgendaController.java - Agenda operations → Anonymized attributes: builds features
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/servicio/AgendaService.java - Agenda operations → Analytics client: requests prediction
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/servicio/AgendaService.java - Agenda operations → PostgreSQL: reads and updates
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/servicio/AgendaService.java - Agenda API → Absence monitor: serves monitor
- Absence monitor → PostgreSQL: queries risk totals
ms-clinica/src/main/java/ar/edu/ciudad/agendaviva/servicio/MonitorService.java - Analytics client → Prediction endpoint: posts predictions
README.md - Prediction endpoint → Risk model: loads model
ms-analitica/app/main.py - Clinical catalog → PostgreSQL: persists entities