Commit Graph
294 Commits
Author SHA1 Message Date
snlavaise 91836d44fe Create admin via API after server starts 2026-04-24 14:51:46 -03:00
snlavaise 37cf46663e Simplify admin user creation in entrypoint 2026-04-24 14:51:17 -03:00
snlavaise efc7b70998 Use node crypto for UUID instead of uuidgen 2026-04-24 14:45:53 -03:00
snlavaise 07e51710d4 Restore nginx volume 2026-04-24 14:38:41 -03:00
snlavaise c6e1853034 Fix env vars and remove nginx volume 2026-04-24 14:37:03 -03:00
snlavaise a1a61e5306 Fix MariaDB initialization with mysql_install_db 2026-04-24 14:28:53 -03:00
snlavaise ae25a7c88f Fix Docker: add nginx volume, simplify entrypoint 2026-04-24 14:01:49 -03:00
snlavaise b4f3e2ba7a Fix Docker build and entrypoint script 2026-04-24 13:50:05 -03:00
snlavaise 39dd7cd374 Add volume for MariaDB data persistence 2026-04-24 13:40:42 -03:00
snlavaise 5761e8339c Add admin user creation on first run 2026-04-24 13:27:02 -03:00
snlavaise 21080c1fa3 Fix docker-entrypoint to wait longer for DB and pass commands correctly 2026-04-24 13:19:38 -03:00
snlavaise cc47981915 Add Docker with MariaDB support
- 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
2026-04-24 13:17:31 -03:00
snlavaise f5e43de192 Fix API URL - include /api path 2026-04-24 12:05:35 -03:00
snlavaise 52aa6688b8 Allow external API access via env config 2026-04-24 12:00:36 -03:00
snlavaise 96058f5275 Fix bed management: preserve camaId from frontend 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
2026-04-24 11:46:01 -03:00
snlavaise 705c200f1b Migrate to MariaDB backend and fix bed management
- 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
2026-04-24 10:50:05 -03:00
snlavaise 175e2d285a Fix: corregir script de migración MariaDB
- 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.
2026-04-24 03:02:28 -03:00
snlavaise 828b56b15c Feat: completar actualización de todas las funciones del store para MariaDB
- 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
2026-04-24 02:54:41 -03:00
snlavaise c9ed9b37f7 Feat: avanzar actualización del store para MariaDB
- Actualizar laboratorios: agregar, eliminar, actualizar con API inmediata
- Actualizar acidos base: agregar, eliminar, actualizar con API inmediata
- Funciones actualizadas: iniciarInternacion, finalizarInternacion, actualizarInternacion
- Funciones actualizadas: evoluciones CRUD
- Pendiente: cultivos, estudios, interconsultas, ATB, indicaciones, pacientes, camas, areas
2026-04-24 02:41:05 -03:00
snlavaise fe699fecf5 Feat: crear version del store para MariaDB con API calls inmediatas
- 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)
2026-04-24 02:38:10 -03:00
snlavaise f80879779a Feat: agregar soporte para MariaDB y API routes individuales
- 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
2026-04-24 02:35:09 -03:00
snlavaise 8a617265b2 Fix: asegurar que los cambios en el estado se guarden en la base de datos
- 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
2026-04-24 02:22:35 -03:00
snlavaise e887d66411 Fix: solucionar error SQLITE_BUSY y mejorar backend
- 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
2026-04-24 02:06:21 -03:00
snlavaise d30dbab8f0 Fix: corregir permisos en Cultivos y limpiar código
- 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
2026-04-24 01:30:17 -03:00
snlavaise 079e3bd82c Refactor: reorganizar arquitectura de permisos y corregir bug de camaS
- 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
2026-04-24 01:07:02 -03:00
snlavaise 1d0065683e Fix: cualquier usuario puede crear ingresos en cualquier cama 2026-04-24 00:37:59 -03:00
snlavaise 5110211dfb Fix: permisos para crear ingresos y corregir actualización de estado de 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)
2026-04-24 00:35:51 -03:00
snlavaise c54aa09b15 Fix: corregir lógica de permisos
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
2026-04-24 00:28:16 -03:00
snlavaise d0b25480c9 Fix: corregir lógica de permisos para iniciar internación
- Verifica que usuario tenga areaId asignada antes de restricciones
- Usuarios sin área asignada solo pueden usar 'Fuera de área'
2026-04-24 00:16:58 -03:00
snlavaise ec71eadd42 Fix: permisos para crear/editar ingresos en área 'Fuera de área'
- Usuarios pueden crear ingresos en 'Fuera de área'
- Usuarios pueden editar ingresos en 'Fuera de área'
- canEditInArea permite editar ingresos de 'Fuera de área'
2026-04-24 00:11:37 -03:00
snlavaise ed76be8351 Fix: carga áreas en modal de edición de usuarios
- Agrega endpoint GET /api/areas en servidor
- Carga áreas desde API en GestionUsuarios en lugar de usar store
2026-04-23 23:58:59 -03:00
snlavaise a27487363d Fix: corrige error de sintaxis en server.js 2026-04-23 23:51:29 -03:00
snlavaise e996f92d71 Fix: actualiza estado de cama en tabla camas al cambiar internacion
- Agrega endpoint PUT /api/camas/:id en servidor
- Corrige nombre de tabla SQL de cama a camas
- Actualiza estado de camas en memoria al cambiar internacion
- Agrega retry logic para evitar SQLITE_BUSY
- Mejora delay entre actualizaciones de cama
2026-04-23 23:44:28 -03:00
snlavaise 9f29e2adc5 Fix bed status update when changing bed in edit internacion 2026-04-23 20:27:09 -03:00
snlavaise cb163b227e Remove área de trabajo dropdown, now auto-selected from bed 2026-04-23 20:19:51 -03:00
snlavaise 63d01cad8d Fix areaId update when editing internacion 2026-04-23 20:15:00 -03:00
snlavaise eadf44a168 Add outside area bed workflow
- Add input for writing bed number in NuevoIngreso and EditIngreso
- Auto-complete area when selecting bed from dropdown
- Automatically create new bed with 'Fuera de area' when typing number
- Modify finalizarInternacion to delete bed only for outside area
- Add two-mode selection: select bed or write bed
2026-04-23 20:09:33 -03:00
snlavaise ccb2d9c80b Fix bed number regex to match MapaCamas sorting order 2026-04-23 19:21:46 -03:00
snlavaise 56402563fb Add area assignment to internaciones and permission controls
- Add areaId field to Internacion type and database schema
- Add area selection in NuevoIngreso, EditIngreso, and Internaciones forms
- Filter out 'Fuera de area' from area selection dropdowns
- Add permission controls for users to only edit internaciones in their area
- Add canEdit check to hide 'Editar Ingreso' button in HistoriaClinica
- Fix getInternacionAreaId to use new areaId field first, fallback to cama area
- Add INSERT OR IGNORE to prevent duplicate errors
2026-04-23 17:49:07 -03:00
snlavaise 6611258ce9 Fix type errors in HistoriaClinica component 2026-04-23 12:23:50 -03:00
snlavaise e6e1582b25 feat: implementar permisos por área de trabajo
- Agregar funciones de verificación de área en useHospitalStore
- canEditInArea, canEditCama, canEditInternacion, canEditPaciente
- Leer datos de tablas individuales en lugar de tabla kv
- Usar sessionStorage para persistir sesión de usuario
- Agregar prop canEdit a componentes de secciones en HC
- Ocultar botones de edición para usuarios sin permisos en el área
- MapaCamas: ocultar botones de edición para camas fuera del área
2026-04-23 02:18:42 -03:00
snlavaise 76e01bfd79 feat: agregar sistema de autenticación con usuarios y roles
- Agregar Login con autenticación por DNI y contraseña
- Crear tabla de usuarios con roles (admin, médico, enfermero)
- Implementar gestión de usuarios (CRUD) para administradores
- Agregar control de permisos basado en roles en el menú
- Persistir estado de sesión en backend
- Inicializar usuario admin por defecto (DNI: 12345678, pass: admin123)
- Corregir inicialización de arrays en el store para evitar errores al cargar estado
2026-04-23 01:09:29 -03:00
snlavaise 1d7a5e893f chore: update default server port from 3000 to 4000 2026-04-22 23:14:15 -03:00
snlavaise a6903afb07 Correcion ortografica 2026-04-22 23:07:01 -03:00
snlavaise 9b51ffd546 Merge branch 'master' of https://git.pi.neuroblastos.ar/snlavaise/administracionHospital 2026-04-22 23:05:05 -03:00
snlavaise f32f1b1988 style: update background color of resolved interconsultation badge to green-500 2026-04-22 23:01:11 -03:00
snlavaise 22b3fe2c6a Actualizar README.md 2026-04-22 18:40:45 -03:00
snlavaise bedca9c123 Actualizar README.md 2026-04-22 18:36:42 -03:00
snlavaise 7bbea9c8be feat: update Glucemias tab implementation 2026-04-22 17:35:06 -03:00
snlavaise 086b63dd50 feat: add Glucemias tab to HistoriaClinica 2026-04-22 17:34:26 -03:00