Plataforma de Gestión Médica Profesional para Doctores
MedicApp es una aplicación web moderna diseñada para médicos que buscan digitalizar y optimizar su práctica clínica. Permite gestionar pacientes, citas, récipes médicos, estudios de laboratorio, imágenes diagnósticas y consultas con inteligencia artificial.
- Gestión de Pacientes: Registro completo con historial clínico, alergias, tipo de sangre y datos de contacto.
- Agenda de Citas: Programación y seguimiento de citas con estado (programada, completada, cancelada).
- Récipes Electrónicas: Creación de récipes con medicamento, dosis, frecuencia y duración.
- Estudios de Laboratorio: Registro de resultados con rangos normales y alertas de valores anormales.
- Imágenes Médicas: Subida y visualización de radiografías, resonancias, tomografías y PDFs.
- AI: Consultas inteligentes sobre síntomas y tratamientos directamente desde el expediente del paciente.
- Dashboard Central: Estadísticas en tiempo real de doctores, pacientes, citas y consultas.
- Directorio Médico Completo: Visualización de todos los doctores registrados.
- Monitor de Actividad: Seguimiento de las últimas actividades en la plataforma.
- Directorio de Doctores: Búsqueda de especialistas por ubicación y especialidad.
- Landing Page: Información sobre la plataforma, características y planes.
- Backend: Node.js + Express.js
- Frontend: HTML5, CSS3, JavaScript
- Template Engine: EJS
- Base de Datos: PostgreSQL
- Autenticación: Cookies firmadas con token
- Criptografía: SHA-256 (node:crypto)
- IA: Integración con AI API
- cookie-parser
- ejs
- express
- pg
medicapp/
├── app.js # Punto de entrada principal
├── database.js # Clase Database con todas las consultas
├── database.sql # Esquema de base de datos
├── dummydata.sql # Datos de prueba
├── package.json # Configuración del proyecto
├── .env # Variables de entorno y configuración
├── readme.md # Este archivo
│
├── views/ # Plantillas HTML (EJS)
│ ├── header.html # Componente de cabecera
│ ├── footer.html # Componente de pie de página
│ ├── index.html # Landing page
│ ├── login.html # Inicio de sesión
│ ├── register.html # Registro de doctores
│ ├── forgot.html # Recuperación de contraseña
│ ├── dashboard.html # Panel de administración
│ ├── doctores.html # Directorio médico
│ ├── panel.html # Panel del doctor
│ └── patient.html # Expediente del paciente
│
└── public/ # Archivos estáticos
├── media/ # Imágenes y recursos multimedia
│ └── favicon.svg # Icono de la aplicación
├── scripts/ # Archivos JavaScript
│ ├── common.js # Scripts compartidos
│ ├── index.js # Landing page
│ ├── login.js # Página de login
│ ├── register.js # Página de registro
│ ├── forgot.js # Recuperación de contraseña
│ ├── dashboard.js # Dashboard admin
│ ├── doctors.js # Directorio médico
│ ├── panel.js # Panel del doctor
│ └── patient.js # Expediente paciente
├── styles/ # Hojas de estilo CSS
│ ├── common.css # Estilos compartidos
│ ├── index.css # Landing page
│ ├── login.css # Login
│ ├── register.css # Registro
│ ├── forgot.css # Recuperación
│ ├── dashboard.css # Dashboard
│ ├── doctors.css # Directorio
│ ├── panel.css # Perfil
│ └── patient.css # Paciente
└── uploads/ # Archivos subidos por doctores
| Tabla | Descripción |
|---|---|
users |
Doctores y administradores del sistema |
patients |
Pacientes registrados por cada doctor |
appointments |
Citas médicas programadas |
labtests |
Estudios y análisis de laboratorio |
recipes |
Récipes y prescripciones médicas |
images |
Imágenes diagnósticas (rayos X, resonancias, etc.) |
queries |
Historial de consultas a AI |
users 1──N patients
users 1──N appointments
users 1──N labtests
users 1──N recipes
users 1──N images
users 1──N queries
patients 1──N appointments
patients 1──N labtests
patients 1──N recipes
patients 1──N images
patients 1──N queries
- Node.js (v16+)
- PostgreSQL (v12+)
- npm
-
Clonar el repositorio
git clone https://github.com/tuusuario/medicapp.git cd medicapp -
Instalar dependencias
npm install
-
Configurar base de datos
# Crear la base de datos y ejecutar el esquema psql -U postgres -f database.sql # Opcional: cargar datos de prueba psql -U postgres -d medicapp -f dummydata.sql
-
Configurar variables de entorno Editar el archivo
.env:PORT=3000 DATABASE=postgres://postgres:password@localhost:5432/medicapp AGENT_API_KEY=tu_agente_api_key_aqui COOKIE_SECRET=12345678-1234-1234-1324-123456789012 ADMIN_EMAIL=admin@example.com ADMIN_PASSWORD=admin123 -
Iniciar la aplicación
npm start
-
Abrir en el navegador
http://localhost:3000
- Email: admin@example.com
- Contraseña: admin123
| Nombre | Especialidad | Ubicación | |
|---|---|---|---|
| Dr. Carlos García | carlos.garcia@example.com | Cardiología | Ciudad de México |
| Dra. María López | maria.lopez@example.com | Pediatría | Monterrey |
| Dr. Juan Martínez | juan.martinez@example.com | Dermatología | Guadalajara |
| Dra. Ana Rodríguez | ana.rodriguez@example.com | Neurología | Ciudad de México |
| Dr. Luis Hernández | luis.hernandez@example.com | Medicina General | Puebla |
MedicApp cuenta con dos temas:
- 🌙 Modo Oscuro (predeterminado): Ideal para entornos con poca luz.
- ☀️ Modo Claro: Perfecto para uso diurno.
Puedes cambiar entre temas usando el botón de alternancia en el footer. La preferencia se guarda en localStorage.
La aplicación está completamente optimizada para:
- ✅ Desktop (1024px+)
- ✅ Tablet (768px - 1024px)
- ✅ Móvil (< 768px)
MedicApp integra la API de IA para consultas médicas inteligentes. Para habilitar esta función:
- Obtén una API Key en platform.deepseek.com
- Agrégala al archivo
.envcomoAGENTE_API_KEY - Sin API Key, el sistema funciona en modo demo con respuestas simuladas
- Formatos permitidos: JPG, PNG, WEBP, GIF, PDF
- Tamaño máximo: 10 MB por archivo
- Almacenamiento: Los archivos se guardan en
public/uploads/
- Contraseñas hasheadas con SHA-256 (node:crypto)
- Tokens de sesión aleatorios de 48 bytes
- Cookies firmadas y httpOnly
- Validación de tipos de archivo en subidas
- Protección contra acceso no autorizado por roles
- Sanitización de entradas de usuario
Para soporte técnico o consultas:
- Email: contacto@example.com
- Teléfono: +1 (555) 1234 5678
- Ubicación: Somewhere
| Característica | Gratuito | Básico ($10/mes) | Profesional ($25/mes) |
|---|---|---|---|
| Pacientes | Hasta 100 | Hasta 1,000 | Ilimitados |
| Citas | ✓ | ✓ | ✓ |
| Récipes | ✓ | ✓ | ✓ |
| Laboratorio | ✓ | ✓ | ✓ |
| Imágenes | ✗ | 100 MB | 1 GB |
| IA | ✗ | 50/mes | Ilimitado |
| Soporte | Básico | Normal | Prioritario |
Desarrollado con ❤️ para la comunidad médica. Transformando la gestión médica con tecnología.
