Repository navigation
Product Vision and Scope
SaludVital is a responsive web application for medical appointment management. It centralizes interactions between patients, doctors, and healthcare administrators in a single platform.
The application will use a modular monolith architecture, with server-rendered web pages and a centralized backend. It will support patient registration, appointment scheduling, doctor availability management, basic clinical information, administrative operations, and notifications.
SaludVital will also provide a WhatsApp integration that allows registered patients to request and manage medical appointments through an automated menu, without requiring a web account.
Medical appointment management requires coordination between patients, doctors, schedules, and administrative staff. Without a centralized system, appointment scheduling and communication can become difficult to manage, and conflicting bookings may occur.
SaludVital aims to centralize these processes, simplify appointment management, improve communication, and protect access to patient information according to defined permissions.
To provide an accessible, reliable, and secure digital platform that simplifies medical appointment management and improves coordination between patients, healthcare professionals, and administrative staff.
- Centralize medical appointment scheduling and management.
- Allow patients to find doctors and request appointments through the web application.
- Allow registered patients to request appointments through WhatsApp without requiring a web account.
- Enable doctors to manage their availability and assigned appointments.
- Support the authorized recording and consultation of basic clinical information.
- Provide administrators with tools for operational oversight.
- Send appointment confirmations and reminders through configured notification channels.
- Protect accounts and patient information through authentication and role-based authorization.
- Provide a responsive interface for mobile devices, tablets, and desktop computers.
- Prevent conflicting bookings through centralized appointment validation.
Patients can manage their profiles, find doctors and specialties, request appointments, and consult their appointment history through authorized channels.
Registered patients may request appointments through WhatsApp without creating a web account.
Doctors can manage their availability, review assigned appointments, and record diagnoses and prescriptions according to their permissions.
Administrators can manage users, roles, specialties, schedules, and appointment operations, and consult authorized administrative information.
Administrative access does not automatically grant permission to create or modify clinical records.
- Patient registration and profile management.
- Doctor registration and profile management.
- Authentication and role-based authorization.
- Specialty management.
- Doctor availability and schedule management.
- Appointment creation, consultation, cancellation, and rescheduling.
- Prevention of conflicting appointments.
- Basic medical history, diagnoses, and prescriptions with appropriate permissions.
- Administrative tools and operational dashboard.
- Appointment confirmations and reminders.
- Notification preferences and templates.
- WhatsApp appointment requests through an automated menu.
- Patient lookup in the SaludVital database for WhatsApp appointment requests.
- Collection of the minimum information required to register new patients.
- Appointment request tracking and processing status.
- Automated testing and technical documentation.
WhatsApp will be an alternative channel for appointment management. It will be implemented as an internal module of the SaludVital modular monolith, not as a separate microservice.
The initial automated menu will provide these options:
- Book an appointment.
- Check availability.
- Consult my appointments.
- Reschedule an appointment.
- Cancel an appointment.
The assistant will guide patients through each supported operation.
Registered patients may request appointments through WhatsApp without having a web account or web login credentials.
Patients who are not registered in the SaludVital database must complete the required patient registration process before booking an appointment.
The system will validate appointment availability before creating a booking and will require explicit confirmation before finalizing the request.
Access to existing appointment details, cancellation, and rescheduling must include appropriate controls to prevent unauthorized access or changes.
The WhatsApp integration will not provide access to diagnoses, prescriptions, or medical history.
The production integration will use the official WhatsApp Business Platform, subject to the required configuration, platform policies, and applicable privacy requirements. A simulated messaging adapter may be used during development and testing.
The following features are outside the initial project scope:
- Advanced electronic health record management.
- Medical diagnosis or medical advice generated by an automated assistant.
- Real payment processing.
- Direct integration with external healthcare insurance or EPS systems.
- Access to clinical records through WhatsApp.
- Appointment requests on behalf of family members or other third parties through the initial WhatsApp workflow.
- A separate microservices architecture.
- The application will use a modular monolith architecture.
- The backend will use Node.js and Express.js.
- The web interface will use Pug templates and Tailwind CSS.
- MySQL will be used as the relational database.
- Sequelize will be used for database interaction.
- JWT authentication with token expiration will be implemented according to the project requirements.
- Passwords will be securely hashed.
- Access will be controlled through roles and permissions.
- The user interface will be in Spanish.
- Source code, identifiers, comments, and technical documentation will be in English.
- The application will be responsive on mobile devices, tablets, and desktop computers.
- The WhatsApp integration will reuse existing application services and appointment validation rules.
SaludVital will be considered successful when:
- Patients can register and use the authorized appointment management features.
- Registered patients can request appointments through WhatsApp without requiring a web account.
- Unregistered individuals cannot book appointments until they complete the required registration process.
- Appointment availability is validated before bookings are confirmed.
- Conflicting appointments are prevented.
- Doctors can manage their schedules and assigned appointments according to their permissions.
- Administrators can perform authorized administrative operations.
- Clinical information is accessible only to authorized users.
- The web interface works across mobile devices, tablets, and desktop computers.
- Functional, security, accessibility, and performance requirements can be verified through documented tests.
Any proposed change to the product scope must be documented and reviewed by the project team before implementation.
Detailed functional requirements, security rules, database design, software architecture, testing strategy, and diagrams will be maintained in their respective SaludVital Wiki pages.
The official Software Requirements Specification (SRS) will remain a reference for project requirements and traceability.