- Dockerfile now includes MariaDB server
- Add docker-entrypoint.sh to initialize DB, create user, and set permissions
- docker-compose.yml with configurable environment variables
- Nginx config proxies API to backend
- Use camaId generated in frontend instead of generating new one in backend API
- Remove patientId and internacionId from cama table (use internaciones table instead)
- Fix discharge: delete cama if fuera de area, mark available otherwise
- Fix MapaCamas to find patient via internaciones table
- Switch from SQLite to MariaDB for database backend
- Fix bed state updates on admission (iniciarInternacion)
- Fix bed updates on admission edit (actualizarInternacion)
- Fix bed updates on discharge (finalizarInternacion): delete if fuera de area, mark available otherwise
- Fix NuevoIngreso to wait for cama creation before creating internacion
- Fix patient undefined check in Cultivos
- Update CORS to allow all origins
- Remove unused files
- Agregar creación de tablas antes de insertar datos
- Corregir sintaxis de comillas en SQL para tabla kv
- Eliminar tablas existentes antes de recrear para evitar errores
- Migración ejecutada exitosamente: 2 usuarios, 3 pacientes, 5 areas, 69 camas, 6 internaciones, etc.
- Actualizar AgregarAcidoBase, ActualizarAcidoBase, EliminarAcidoBase con API calls
- Actualizar Movimientos Indicaciones con API call
- Actualizar Areas CRUD con API calls
- Actualizar Pacientes CRUD con API calls
- Actualizar Camas CRUD con API calls
- Todas las funciones ahora usan apiCall y manejan errores con try/catch
- Crear useHospitalStore-mariadb.ts basado en el original
- Agregar helper apiCall para llamadas API
- Actualizar iniciarInternacion y finalizarInternacion para usar API inmediata
- Cambiar API_BASE al puerto 4000 (servidor MariaDB)
- Crear server/db-mariadb.js con conexión a MariaDB usando los datos proporcionados
- Crear server/api-mariadb.js con endpoints individuales para todas las entidades
- Crear server/migrate-to-mariadb.js para migrar datos de SQLite a MariaDB
- Todas las operaciones CRUD disponibles via API REST
- Agregar markChanged en funciones que actualizan estado:
* finalizarInternacion, actualizarInternacion, iniciarInternacion
* agregarEvolucion, eliminarEvolucion, actualizarEvolucion
- Modificar saveChanges para guardar todo el estado cuando no hay claves marcadas
- Soluciona el problema de Registrar Egreso que no se guardaba en la BD
- Migrar de sqlite3 a better-sqlite3 con conexión persistente
- Configurar WAL mode, busy_timeout y PRAGMAs optimizados
- Implementar transacciones para operaciones bulk
- Corregir error initialLoadComplete en useHospitalStore.ts
- Agregar tablas usuarios y kv faltantes
- Actualizar .gitignore para archivos WAL de SQLite
- Agregar canEdit prop a Cultivos.tsx para controlar botones
- Reescribir Cultivos.tsx eliminando código duplicado
- Corregir App.tsx para que cultivos case funcione correctamente
- Hacer patient prop opcional en Cultivos.tsx
- Mover funciones utilitarias y de permisos al principio del hook
- Corregir bug camaS -> camas en iniciarInternacion
- Limpiar funciones duplicadas
- Estructura de permisos clara según reglas:
1. Cualquier usuario puede crear ingresos en cualquier cama
2. Cualquier usuario puede ver todos los pacientes
3. Solo usuarios del área pueden crear/modificar registros
4. Solo usuarios del área pueden cambiar la cama
- Solo usuarios del área pueden crear ingresos en su área
- Solo usuarios del área pueden cambiar la cama
- Corrige typo en clave de estado (camaS -> camaS)
1. Cualquier usuario puede crear ingresos en cualquier cama
2. Cualquier usuario puede ver todos los pacientes
3. Solo usuarios del área pueden modificar registros de su área
4. Solo usuarios del área pueden cambiar la cama de una internación