Commit Graph
234 Commits
Author SHA1 Message Date
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
snlavaise 97b3af3f96 Actualizar README.md 2026-04-22 16:59:53 -03:00
snlavaise eeec079f21 fix: suspend indications by deleting from table instead of updating state 2026-04-22 16:48:58 -03:00
snlavaise 2d257de8ce Se elimina boton extra de modificacion de indicaciones, que fue puesto para prueba 2026-04-22 00:02:45 -03:00
snlavaise cc9df91ac1 Se corige bug que no permitia que se guarde indicacion no farmacologica 2026-04-21 23:53:31 -03:00
snlavaise 7f87bfe61d Se optimiza estructura de tabla indicaciones, ajustada a funcionalidad actual de registro de cambios 2026-04-21 23:26:39 -03:00
snlavaise 92d69b5d8e fix: correct camaS table name typo and align indicaciones insert statement parameters 2026-04-21 23:12:57 -03:00
snlavaise 9080926ae0 fix: resolve parameter count mismatch in indicaciones INSERT statement 2026-04-21 23:06:47 -03:00
snlavaise 23b1c09b88 fix: resolve indentation issues and correct table name in indications insertion query 2026-04-21 22:20:29 -03:00
snlavaise e1b2e907ca feat: implement tracking for medical indication changes with a new database table and management hooks 2026-04-21 22:18:51 -03:00
snlavaise b7d207bf01 Fix: show modified active indications in history 2026-04-21 16:58:12 -03:00