-- https://www.phpmyadmin.net/
--
-- Servidor: 127.0.0.1
-- Tiempo de generación: 01-12-2025 a las 06:50:59
-- Versión del servidor: 11.8.2-MariaDB
-- Versión de PHP: 8.2.12

START TRANSACTION;



--
-- Base de datos: `gs_hospital`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `controlaccesos`
--

CREATE TABLE `controlaccesos` (
  `IdAcceso` int(11) NOT NULL,
  `IdUsuario` int(11) NOT NULL,
  `Accion` varchar(200) DEFAULT NULL,
  `FechaAcceso` datetime DEFAULT current_timestamp(),
  `IpOrigen` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `controlaccesos`
--

INSERT INTO `controlaccesos` (`IdAcceso`, `IdUsuario`, `Accion`, `FechaAcceso`, `IpOrigen`) VALUES
(1, 1, 'Inicio de sesion', '2025-11-25 23:02:38', NULL),
(2, 1, 'Cierre de sesion', '2025-11-25 23:03:11', NULL),
(3, 2, 'Inicio de sesion', '2025-11-25 23:03:54', NULL),
(4, 2, 'Cierre de sesion', '2025-11-25 23:17:58', NULL),
(5, 1, 'Inicio de sesion', '2025-11-25 23:18:04', NULL),
(6, 1, 'Inicio de sesion', '2025-11-26 07:21:11', NULL),
(7, 1, 'Cierre de sesion', '2025-11-26 07:45:06', NULL),
(8, 1, 'Inicio de sesion', '2025-11-26 07:45:48', NULL),
(9, 1, 'Inicio de sesion', '2025-11-29 17:51:18', NULL),
(10, 5, 'Inicio de sesion', '2025-11-29 18:01:31', NULL),
(11, 5, 'Cierre de sesion', '2025-11-29 18:01:52', NULL),
(12, 5, 'Inicio de sesion', '2025-11-30 00:42:14', NULL),
(13, 5, 'Cierre de sesion', '2025-11-30 00:45:40', NULL),
(14, 7, 'Inicio de sesion', '2025-11-30 00:47:39', NULL),
(15, 7, 'Cierre de sesion', '2025-11-30 00:48:51', NULL),
(16, 5, 'Inicio de sesion', '2025-11-30 00:48:57', NULL),
(17, 5, 'Cierre de sesion', '2025-11-30 01:00:31', NULL),
(18, 1, 'Inicio de sesion', '2025-11-30 18:03:39', NULL),
(19, 1, 'Inicio de sesion', '2025-11-30 18:03:55', NULL),
(20, 6, 'Inicio de sesion', '2025-11-30 18:04:43', NULL),
(21, 6, 'Cierre de sesion', '2025-11-30 18:08:22', NULL),
(22, 9, 'Inicio de sesion', '2025-11-30 18:08:31', NULL),
(23, 9, 'Cierre de sesion', '2025-11-30 18:08:58', NULL),
(24, 10, 'Inicio de sesion', '2025-11-30 18:09:35', NULL),
(25, 10, 'Cierre de sesion', '2025-11-30 18:31:40', NULL),
(26, 5, 'Inicio de sesion', '2025-11-30 18:31:45', NULL),
(27, 5, 'Cierre de sesion', '2025-11-30 18:36:16', NULL),
(28, 11, 'Inicio de sesion', '2025-11-30 18:36:30', NULL),
(29, 11, 'Cierre de sesion', '2025-11-30 18:37:04', NULL),
(30, 12, 'Inicio de sesion', '2025-11-30 18:39:47', NULL),
(31, 12, 'Cierre de sesion', '2025-11-30 18:40:27', NULL),
(32, 9, 'Inicio de sesion', '2025-11-30 22:29:44', NULL),
(33, 9, 'Cierre de sesion', '2025-11-30 22:39:25', NULL),
(34, 12, 'Inicio de sesion', '2025-11-30 22:39:42', NULL),
(35, 12, 'Cierre de sesion', '2025-11-30 22:41:35', NULL),
(36, 11, 'Inicio de sesion', '2025-11-30 22:41:47', NULL),
(37, 11, 'Cierre de sesion', '2025-11-30 22:42:14', NULL),
(38, 12, 'Inicio de sesion', '2025-11-30 22:42:21', NULL),
(39, 12, 'Cierre de sesion', '2025-11-30 22:42:54', NULL),
(40, 9, 'Inicio de sesion', '2025-11-30 22:43:30', NULL),
(41, 9, 'Cierre de sesion', '2025-11-30 22:43:58', NULL),
(42, 10, 'Inicio de sesion', '2025-11-30 22:44:06', NULL),
(43, 10, 'Cierre de sesion', '2025-11-30 22:44:13', NULL),
(44, 12, 'Inicio de sesion', '2025-11-30 22:44:38', NULL),
(45, 12, 'Cierre de sesion', '2025-11-30 22:44:57', NULL),
(46, 9, 'Inicio de sesion', '2025-11-30 22:45:10', NULL),
(47, 9, 'Cierre de sesion', '2025-11-30 22:47:42', NULL),
(48, 5, 'Inicio de sesion', '2025-11-30 22:47:47', NULL),
(49, 5, 'Cierre de sesion', '2025-11-30 23:49:31', NULL),
(50, 9, 'Inicio de sesion', '2025-11-30 23:49:38', NULL),
(51, 9, 'Cierre de sesion', '2025-11-30 23:50:01', NULL);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `controlagenda`
--

CREATE TABLE `controlagenda` (
  `IdCita` int(11) NOT NULL,
  `IdPaciente` int(11) NOT NULL,
  `IdMedico` int(11) NOT NULL,
  `FechaCita` datetime NOT NULL,
  `MotivoConsulta` varchar(250) DEFAULT NULL,
  `Sintomas` text DEFAULT NULL,
  `NotasAdicionales` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `controlagenda`
--

INSERT INTO `controlagenda` (`IdCita`, `IdPaciente`, `IdMedico`, `FechaCita`, `MotivoConsulta`, `Sintomas`, `NotasAdicionales`) VALUES
(4, 4, 5, '2025-12-01 22:36:00', 'dolor de cabeza', 'cebza duele', 'aahhhhhhh'),
(5, 5, 6, '2025-11-22 22:37:00', 'duele el pecho', 'corazon duele', 'ay me duele'),
(8, 4, 5, '2025-11-30 13:39:00', 'wedwfqw', 'qwefwef', 'qwfwef');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `controlmedicos`
--

CREATE TABLE `controlmedicos` (
  `IdMedico` int(11) NOT NULL,
  `NombreCompleto` varchar(150) DEFAULT NULL,
  `CedulaProfesional` varchar(50) DEFAULT NULL,
  `EspecialidadId` int(11) NOT NULL,
  `Telefono` varchar(20) DEFAULT NULL,
  `CorreoElectronico` varchar(100) DEFAULT NULL,
  `HorarioAtencion` varchar(100) DEFAULT NULL,
  `FechaIngreso` datetime DEFAULT current_timestamp(),
  `Estatus` tinyint(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `controlmedicos`
--

INSERT INTO `controlmedicos` (`IdMedico`, `NombreCompleto`, `CedulaProfesional`, `EspecialidadId`, `Telefono`, `CorreoElectronico`, `HorarioAtencion`, `FechaIngreso`, `Estatus`) VALUES
(5, 'derek shepherd', 'GS-12332', 1, '8342668119', 'derekshep@gmail.com', 'Lun-Vie 9:00 - 18:00', '2025-11-11 00:00:00', 1),
(6, 'Sofia Cano', 'GS-1334', 2, '8342668777', 'sofi@g.com', 'Lun-Vie 9:00 - 18:00', '2025-11-30 18:39:36', 1),
(7, 'Mario Rodriguez', 'GS-12332', 2, '8342668999', 'vivalaschivas@gmail.com', 'Lun-Vie 9:00 - 16:00', '2025-11-11 00:00:00', 1);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `controlpacientes`
--

CREATE TABLE `controlpacientes` (
  `IdPaciente` int(11) NOT NULL,
  `NombreCompleto` varchar(150) DEFAULT NULL,
  `CURP` varchar(18) DEFAULT NULL,
  `FechaNacimiento` date DEFAULT NULL,
  `Sexo` char(1) DEFAULT NULL,
  `Telefono` varchar(20) DEFAULT NULL,
  `CorreoElectronico` varchar(100) DEFAULT NULL,
  `Direccion` varchar(250) DEFAULT NULL,
  `ContactoEmergencia` varchar(150) DEFAULT NULL,
  `TelefonoEmergencia` varchar(20) DEFAULT NULL,
  `Alergias` varchar(250) DEFAULT NULL,
  `AntecedentesMedicos` text DEFAULT NULL,
  `FechaRegistro` datetime DEFAULT current_timestamp(),
  `Estatus` tinyint(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `controlpacientes`
--

INSERT INTO `controlpacientes` (`IdPaciente`, `NombreCompleto`, `CURP`, `FechaNacimiento`, `Sexo`, `Telefono`, `CorreoElectronico`, `Direccion`, `ContactoEmergencia`, `TelefonoEmergencia`, `Alergias`, `AntecedentesMedicos`, `FechaRegistro`, `Estatus`) VALUES
(3, 'Sofi Cano', 'CASA060520MTSNNNA1', '2006-05-20', 'F', '8342668119', 'sofi@g.com', 'tangamandapio', 'mamá', '8661234567', 'pasto', 'no', '2025-11-30 00:00:00', 1),
(4, 'leslie paz', 'CASA060520MTSNNNA1', '2003-06-23', 'F', '8342668119', 'lelipaz@gmail.com', 'tangamandapio', 'mamá', '8661234567', 'si', 'si', '2025-12-01 00:00:00', 1),
(5, 'norma', '', NULL, NULL, '', '', NULL, NULL, NULL, NULL, NULL, '2025-11-30 18:09:27', 1),
(6, 'valeria morales', 'VACA060520MTSNNNA1', '2025-11-12', 'F', '8342668777', 'vale@m.com', 'tangamandapio', 'mamá', '8661234567', 'no', 'no', '2025-12-01 00:00:00', 1);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `especialidades`
--

CREATE TABLE `especialidades` (
  `IdEspecialidad` int(11) NOT NULL,
  `NombreEspecialidad` varchar(100) DEFAULT NULL,
  `Descripcion` varchar(250) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `especialidades`
--

INSERT INTO `especialidades` (`IdEspecialidad`, `NombreEspecialidad`, `Descripcion`) VALUES
(1, 'Neurologia', 'Cosas del cerebro y asi'),
(2, 'Cardiologia', 'corazon y asi');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `expedienteclinico`
--

CREATE TABLE `expedienteclinico` (
  `IdExpediente` int(11) NOT NULL,
  `IdCita` int(11) NOT NULL,
  `Diagnostico` text DEFAULT NULL,
  `Tratamiento` text DEFAULT NULL,
  `RecetaMedica` text DEFAULT NULL,
  `ProximaCita` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `gestortarifas`
--

CREATE TABLE `gestortarifas` (
  `IdTarifa` int(11) NOT NULL,
  `DescripcionServicio` varchar(150) DEFAULT NULL,
  `CostoBase` decimal(10,2) DEFAULT NULL,
  `EspecialidadId` int(11) DEFAULT NULL,
  `Estatus` tinyint(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `gestortarifas`
--

INSERT INTO `gestortarifas` (`IdTarifa`, `DescripcionServicio`, `CostoBase`, `EspecialidadId`, `Estatus`) VALUES
(1, 'Consulta general', 450.00, 2, 1);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `pagos`
--

CREATE TABLE `pagos` (
  `IdPago` int(11) NOT NULL,
  `IdCita` int(11) NOT NULL,
  `IdPaciente` int(11) NOT NULL,
  `IdTarifa` int(11) NOT NULL,
  `Monto` decimal(10,2) DEFAULT NULL,
  `MetodoPago` varchar(50) DEFAULT NULL,
  `FechaPago` datetime DEFAULT current_timestamp(),
  `Referencia` varchar(100) DEFAULT NULL,
  `EstatusPago` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Volcado de datos para la tabla `pagos`
--

INSERT INTO `pagos` (`IdPago`, `IdCita`, `IdPaciente`, `IdTarifa`, `Monto`, `MetodoPago`, `FechaPago`, `Referencia`, `EstatusPago`) VALUES
(5, 4, 4, 1, 450.00, 'Efectivo', '2025-12-01 00:00:00', '24234', NULL),
(6, 4, 4, 1, 450.00, 'Efectivo', '2025-12-01 00:00:00', '2134', NULL);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `reportes`
--

CREATE TABLE `reportes` (
  `IdReporte` int(11) NOT NULL,
  `TipoReporte` varchar(50) DEFAULT NULL,
  `IdPaciente` int(11) DEFAULT NULL,
  `IdMedico` int(11) DEFAULT NULL,
  `FechaGeneracion` datetime DEFAULT current_timestamp(),
  `RutaArchivo` varchar(250) DEFAULT NULL,
  `Descripcion` varchar(250) DEFAULT NULL,
  `GeneradoPor` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Índices para tablas volcadas
--

--
-- Indices de la tabla `controlaccesos`
--
ALTER TABLE `controlaccesos`
  ADD PRIMARY KEY (`IdAcceso`),
  ADD KEY `IdUsuario` (`IdUsuario`);

--
-- Indices de la tabla `controlagenda`
--
ALTER TABLE `controlagenda`
  ADD PRIMARY KEY (`IdCita`),
  ADD KEY `IdPaciente` (`IdPaciente`),
  ADD KEY `IdMedico` (`IdMedico`);

--
-- Indices de la tabla `controlmedicos`
--
ALTER TABLE `controlmedicos`
  ADD PRIMARY KEY (`IdMedico`),
  ADD KEY `EspecialidadId` (`EspecialidadId`);

--
-- Indices de la tabla `controlpacientes`
--
ALTER TABLE `controlpacientes`
  ADD PRIMARY KEY (`IdPaciente`);

--
-- Indices de la tabla `especialidades`
--
ALTER TABLE `especialidades`
  ADD PRIMARY KEY (`IdEspecialidad`);

--
-- Indices de la tabla `expedienteclinico`
--
ALTER TABLE `expedienteclinico`
  ADD PRIMARY KEY (`IdExpediente`),
  ADD UNIQUE KEY `IdCita` (`IdCita`);

--
-- Indices de la tabla `gestortarifas`
--
ALTER TABLE `gestortarifas`
  ADD PRIMARY KEY (`IdTarifa`),
  ADD KEY `EspecialidadId` (`EspecialidadId`);

--
-- Indices de la tabla `pagos`
--
ALTER TABLE `pagos`
  ADD PRIMARY KEY (`IdPago`),
  ADD KEY `IdCita` (`IdCita`),
  ADD KEY `IdPaciente` (`IdPaciente`),
  ADD KEY `IdTarifa` (`IdTarifa`);

--
-- Indices de la tabla `reportes`
--
ALTER TABLE `reportes`
  ADD PRIMARY KEY (`IdReporte`),
  ADD KEY `IdPaciente` (`IdPaciente`),
  ADD KEY `IdMedico` (`IdMedico`),
  ADD KEY `GeneradoPor` (`GeneradoPor`);

--
-- AUTO_INCREMENT de las tablas volcadas
--

--
-- AUTO_INCREMENT de la tabla `controlaccesos`
--
ALTER TABLE `controlaccesos`
  MODIFY `IdAcceso` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=52;

--
-- AUTO_INCREMENT de la tabla `controlagenda`
--
ALTER TABLE `controlagenda`
  MODIFY `IdCita` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;

--
-- AUTO_INCREMENT de la tabla `controlmedicos`
--
ALTER TABLE `controlmedicos`
  MODIFY `IdMedico` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;

--
-- AUTO_INCREMENT de la tabla `controlpacientes`
--
ALTER TABLE `controlpacientes`
  MODIFY `IdPaciente` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- AUTO_INCREMENT de la tabla `especialidades`
--
ALTER TABLE `especialidades`
  MODIFY `IdEspecialidad` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT de la tabla `expedienteclinico`
--
ALTER TABLE `expedienteclinico`
  MODIFY `IdExpediente` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `gestortarifas`
--
ALTER TABLE `gestortarifas`
  MODIFY `IdTarifa` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT de la tabla `pagos`
--
ALTER TABLE `pagos`
  MODIFY `IdPago` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- AUTO_INCREMENT de la tabla `reportes`
--
ALTER TABLE `reportes`
  MODIFY `IdReporte` int(11) NOT NULL AUTO_INCREMENT;

--
-- Restricciones para tablas volcadas
--

--
-- Filtros para la tabla `controlaccesos`
--
ALTER TABLE `controlaccesos`
  ADD CONSTRAINT `controlaccesos_ibfk_1` FOREIGN KEY (`IdUsuario`) REFERENCES `usuariossistema` (`IdUsuario`);

--
-- Filtros para la tabla `controlagenda`
--
ALTER TABLE `controlagenda`
  ADD CONSTRAINT `controlagenda_ibfk_1` FOREIGN KEY (`IdPaciente`) REFERENCES `controlpacientes` (`IdPaciente`),
  ADD CONSTRAINT `controlagenda_ibfk_2` FOREIGN KEY (`IdMedico`) REFERENCES `controlmedicos` (`IdMedico`);

--
-- Filtros para la tabla `controlmedicos`
--
ALTER TABLE `controlmedicos`
  ADD CONSTRAINT `controlmedicos_ibfk_1` FOREIGN KEY (`EspecialidadId`) REFERENCES `especialidades` (`IdEspecialidad`);

--
-- Filtros para la tabla `expedienteclinico`
--
ALTER TABLE `expedienteclinico`
  ADD CONSTRAINT `expedienteclinico_ibfk_1` FOREIGN KEY (`IdCita`) REFERENCES `controlagenda` (`IdCita`);

--
-- Filtros para la tabla `gestortarifas`
--
ALTER TABLE `gestortarifas`
  ADD CONSTRAINT `gestortarifas_ibfk_1` FOREIGN KEY (`EspecialidadId`) REFERENCES `especialidades` (`IdEspecialidad`);

--
-- Filtros para la tabla `pagos`
--
ALTER TABLE `pagos`
  ADD CONSTRAINT `pagos_ibfk_1` FOREIGN KEY (`IdCita`) REFERENCES `controlagenda` (`IdCita`),
  ADD CONSTRAINT `pagos_ibfk_2` FOREIGN KEY (`IdPaciente`) REFERENCES `controlpacientes` (`IdPaciente`),
  ADD CONSTRAINT `pagos_ibfk_3` FOREIGN KEY (`IdTarifa`) REFERENCES `gestortarifas` (`IdTarifa`);

--
-- Filtros para la tabla `reportes`
--
ALTER TABLE `reportes`
  ADD CONSTRAINT `reportes_ibfk_1` FOREIGN KEY (`IdPaciente`) REFERENCES `controlpacientes` (`IdPaciente`),
  ADD CONSTRAINT `reportes_ibfk_2` FOREIGN KEY (`IdMedico`) REFERENCES `controlmedicos` (`IdMedico`),
  ADD CONSTRAINT `reportes_ibfk_3` FOREIGN KEY (`GeneradoPor`) REFERENCES `usuariossistema` (`IdUsuario`);
COMMIT;

