Пример #1
0
        public ActionResult Buscar(string Texto, string Tipo)
        {
            List <mPaciente> Encontrados = new List <mPaciente>();
            mPaciente        paciente    = new mPaciente();

            switch (Tipo)
            {
            case "Nombre":
                paciente.Nombre = Texto;
                Encontrados     = Caja_BD.Instance.arbol_Nom.Busqueda_Same(paciente, mPaciente.Comparar_Nombre);
                break;

            case "Apellido":
                paciente.Apellido = Texto;
                Encontrados       = Caja_BD.Instance.arbol_Nom.Busqueda_Same(paciente, mPaciente.Comparar_Apellido);
                break;

            case "DPI":
                paciente.Dpi = Texto;
                if (Caja_BD.Instance.arbol_Nom.Buscar(paciente, mPaciente.Comparar_DPI) != null)
                {
                    Encontrados.Add(Caja_BD.Instance.arbol_Nom.Buscar(paciente, mPaciente.Comparar_DPI));
                }
                break;
            }
            return(View("Busquedas", Encontrados));
        }
Пример #2
0
        public ActionResult Buscar(string Texto, string Tipo)
        {
            List <mPaciente> Encontrados = new List <mPaciente>();
            List <mPaciente> Correct     = new List <mPaciente>();
            mPaciente        paciente    = new mPaciente();

            switch (Tipo)
            {
            case "Nombre":
                paciente.Nombre = Texto;
                Encontrados     = Caja_BD.Instance.arbol_Nom.Busqueda_Same(paciente, mPaciente.Comparar_Nombre);
                break;

            case "Apellido":
                paciente.Apellido = Texto;
                Encontrados       = Caja_BD.Instance.arbol_Ape.Busqueda_Same(paciente, mPaciente.Comparar_Apellido);
                break;

            case "DPI":
                paciente.Dpi = Texto;
                if (Caja_BD.Instance.arbol_Dpi.Buscar(paciente, mPaciente.Comparar_DPI) != null)
                {
                    Encontrados.Add(Caja_BD.Instance.arbol_Dpi.Buscar(paciente, mPaciente.Comparar_DPI));
                }
                break;
            }
            if (Encontrados.Count == 0 || Encontrados == null)
            {
                ViewBag.Info = "No se encontraron resultados";
            }
            try
            {
                foreach (mPaciente elem in Encontrados)
                {
                    if (elem == null)
                    {
                        Encontrados = null;
                    }
                    else
                    {
                        Correct.Add(elem);
                    }
                }
            }
            catch
            {
                ViewBag.Info = "No se encontraron resultados";
            }
            return(View("Busquedas", Correct));
        }
Пример #3
0
        // GET: Hospitales/MenuHospital/Infectados
        public ActionResult Infectados(string hosp)
        {
            mPaciente Paciente_Raiz = new mPaciente();

            switch (hosp)
            {
            case "Guatemala":
                if (Caja_Hospitales.Instance.hospitals[0].cola_infect.raiz != null)
                {
                    Paciente_Raiz = Caja_Hospitales.Instance.hospitals[0].cola_infect.raiz.Valor;
                }
                ViewBag.Hospital = "Guatemala";

                break;

            case "Petén":
                if (Caja_Hospitales.Instance.hospitals[1].cola_infect.raiz != null)
                {
                    Paciente_Raiz = Caja_Hospitales.Instance.hospitals[1].cola_infect.raiz.Valor;
                }
                ViewBag.Hospital = "Petén";
                break;

            case "Chiquimula":
                if (Caja_Hospitales.Instance.hospitals[2].cola_infect.raiz != null)
                {
                    Paciente_Raiz = Caja_Hospitales.Instance.hospitals[2].cola_infect.raiz.Valor;
                }
                ViewBag.Hospital = "Chiquimula";
                break;

            case "Escuintla":
                if (Caja_Hospitales.Instance.hospitals[3].cola_infect.raiz != null)
                {
                    Paciente_Raiz = Caja_Hospitales.Instance.hospitals[3].cola_infect.raiz.Valor;
                }
                ViewBag.Hospital = "Escuintla";
                break;

            case "Quetzaltenango":
                if (Caja_Hospitales.Instance.hospitals[4].cola_infect.raiz != null)
                {
                    Paciente_Raiz = Caja_Hospitales.Instance.hospitals[4].cola_infect.raiz.Valor;
                }
                ViewBag.Hospital = "Quetzaltenango";
                break;
            }
            return(View(Paciente_Raiz));
        }
Пример #4
0
        // GET: Hospitales/Sanar/
        public ActionResult Curar(string dpi)
        {
            mPaciente paciente = new mPaciente {
                Dpi = dpi
            };

            paciente = Caja_BD.Instance.arbol_Dpi.Buscar(paciente, mPaciente.Comparar_DPI);
            string Hosp_name = paciente.Name_hosp;
            int    pos       = 0;

            switch (paciente.Name_hosp)
            {
            case "Guatemala":
                pos = 0;
                break;

            case "Petén":
                pos = 1;
                break;

            case "Chiquimula":
                pos = 2;
                break;

            case "Escuintla":
                pos = 3;
                break;

            case "Quetzaltenango":
                pos = 4;
                break;
            }
            Caja_BD.Instance.arbol_Dpi.Modificar_Status(paciente, mPaciente.Cambiar_sano, mPaciente.Comparar_DPI, mPaciente.Comparar_DPI);
            Caja_Hospitales.Instance.hospitals[pos].camillas.Eliminar(paciente.Dpi, mPaciente.Obt_DPI, mPaciente.Del_CodeHash);
            Caja_Hospitales.Instance.Stadistica.Recuperados++;
            Caja_Hospitales.Instance.Stadistica.Activos--;
            mPaciente paciente_aux = Caja_Hospitales.Instance.hospitals[pos].cola_infect.Eliminar(mPaciente.Comparar_Prioridad, mPaciente.EsPrioritario, mPaciente.Comparar_DPI);

            if (paciente_aux != null)
            {
                Caja_Hospitales.Instance.hospitals[pos].camillas.Guardar_V(paciente_aux.Dpi, paciente_aux, mPaciente.Del_CodeHash);
                Caja_Hospitales.Instance.Stadistica.Activos++;
            }
            ViewBag.Info     = "El paciente " + paciente.Nombre + " " + paciente.Apellido + ", identificado con el DPI: " + paciente.Dpi + ". Se ha recuperado.";
            ViewBag.Hospital = Hosp_name;
            return(View("MenuHospital"));
        }
Пример #5
0
 public void Asignar_Camilla(mPaciente paciente_nuevo, int pos)
 {
     Caja_Hospitales.Instance.hospitals[pos].cola_infect.Eliminar(mPaciente.Comparar_Prioridad, mPaciente.EsPrioritario, mPaciente.Comparar_DPI);
     Caja_Hospitales.Instance.hospitals[pos].camillas.Guardar_V(paciente_nuevo.Dpi, paciente_nuevo, mPaciente.Del_CodeHash);
     Caja_Hospitales.Instance.Stadistica.Activos++;
 }
Пример #6
0
        // GET: Hospitales/Simular/
        public ActionResult Simular(string dpi)
        {
            mPaciente paciente = new mPaciente {
                Dpi = dpi
            };

            paciente = Caja_BD.Instance.arbol_Dpi.Buscar(paciente, mPaciente.Comparar_DPI);
            string Hosp_name = paciente.Name_hosp;
            int    pos       = 0;

            switch (paciente.Name_hosp)
            {
            case "Guatemala":
                pos = 0;
                break;

            case "Petén":
                pos = 1;
                break;

            case "Chiquimula":
                pos = 2;
                break;

            case "Escuintla":
                pos = 3;
                break;

            case "Quetzaltenango":
                pos = 4;
                break;
            }
            Caja_Hospitales.Instance.hospitals[pos].cola_sospech.Eliminar(mPaciente.Comparar_Prioridad, mPaciente.EsPrioritario, mPaciente.Comparar_DPI);
            if (Simulacion(paciente.Descripcion_contagio))
            {
                Caja_BD.Instance.arbol_Dpi.Modificar_Status(paciente, mPaciente.Cambiar_infect, mPaciente.Comparar_DPI, mPaciente.Comparar_DPI);

                /*  Caja_BD.Instance.arbol_Nom.Modificar_Status(paciente, mPaciente.Cambiar_infect, mPaciente.Comparar_Nombre, mPaciente.Comparar_DPI);
                 * Caja_BD.Instance.arbol_Ape.Modificar_Status(paciente, mPaciente.Cambiar_infect, mPaciente.Comparar_Apellido, mPaciente.Comparar_DPI);
                 */
                Caja_Hospitales.Instance.hospitals[pos].cola_infect.Agregar(Caja_BD.Instance.arbol_Dpi.Buscar(paciente, mPaciente.Comparar_DPI), mPaciente.EsPrioritario);
                if (Caja_Hospitales.Instance.hospitals[pos].camillas.cant < 10)
                {
                    Asignar_Camilla(paciente, pos);
                    ViewBag.Info = "El paciente " + paciente.Nombre + " " + paciente.Apellido + ", identificado con el DPI: " + paciente.Dpi + ". Fue ingresado a una camilla.";
                }
                else
                {
                    Caja_Hospitales.Instance.Stadistica.Activos++;
                    ViewBag.Info = "El paciente " + paciente.Nombre + " " + paciente.Apellido + ", identificado con el DPI: " + paciente.Dpi + ". Está infectado.";
                }
            }
            else
            {
                Caja_BD.Instance.arbol_Dpi.Modificar_Status(paciente, mPaciente.Cambiar_Noinfect, mPaciente.Comparar_DPI, mPaciente.Comparar_DPI);
                Caja_Hospitales.Instance.Stadistica.No_Infect++;
                ViewBag.Info = "El paciente " + paciente.Nombre + " " + paciente.Apellido + ", identificado con el DPI: " + paciente.Dpi + ". No está infectado.";
            }
            ViewBag.Hospital = Hosp_name;
            return(View("MenuHospital"));
        }
Пример #7
0
        public ActionResult CrearPaciente(FormCollection contenedor)
        {
            try
            {
                string    info           = "";
                mPaciente paciente_nuevo = new mPaciente();
                paciente_nuevo.Nombre            = contenedor["Nombre"];
                paciente_nuevo.Apellido          = contenedor["Apellido"];
                paciente_nuevo.Dpi               = contenedor["Dpi"];
                paciente_nuevo.Fecha_Nac         = Convert.ToDateTime(contenedor["Fecha_Nac"]);
                paciente_nuevo.Municipio_resi    = contenedor["Municipio_resi"];
                paciente_nuevo.Departamento_resi = contenedor["Depart"];
                //Determinar si esta infectado
                if (contenedor["infectado"].Equals("Si"))
                {
                    paciente_nuevo.Infectado = true;
                }
                else
                {
                    paciente_nuevo.Infectado = false;
                }
                paciente_nuevo.Fecha_ingreso        = Convert.ToDateTime(contenedor["Fecha_ingreso"]);
                paciente_nuevo.Sintomas             = contenedor["Sintomas"];
                paciente_nuevo.Descripcion_contagio = contenedor["Descripcion_contagio"];


                //Verificaciones
                if (paciente_nuevo.Nombre == null || paciente_nuevo.Apellido == null || paciente_nuevo.Dpi == null || paciente_nuevo.Sintomas == null || paciente_nuevo.Descripcion_contagio == null)
                {
                    ViewBag.Error = "Debe ingresar datos a los campos de nombre, apellido, DPI, sintomas y descripción de contagio";
                    return(View("CrearPaciente"));
                }
                else if (paciente_nuevo.Nombre == "" || paciente_nuevo.Apellido == "" || paciente_nuevo.Dpi == "" || paciente_nuevo.Sintomas == "" || paciente_nuevo.Descripcion_contagio == "")
                {
                    ViewBag.Error = "Debe llenar datos a los campos de nombre, apellido, DPI, sintomas y descripción de contagio";
                    return(View("CrearPaciente"));
                }
                if (paciente_nuevo.Dpi.Length != 13)
                {
                    ViewBag.Error = "Ingresar DPI correcto";
                    return(View("CrearPaciente"));
                }
                try
                {
                    Convert.ToInt64(paciente_nuevo.Dpi);
                }
                catch
                {
                    ViewBag.Error = "Ingresar DPI correcto";
                    return(View("CrearPaciente"));
                }

                int fecha = (DateTime.Today.Day - paciente_nuevo.Fecha_Nac.Day) + ((DateTime.Today.Month - paciente_nuevo.Fecha_Nac.Month) * 30) + ((DateTime.Today.Year - paciente_nuevo.Fecha_Nac.Year) * 365);
                if (fecha < 0)
                {
                    ViewBag.Error = "Ingresar Fecha de nacimiento  correcta";
                    return(View("CrearPaciente"));
                }
                fecha = (DateTime.Today.Day - paciente_nuevo.Fecha_ingreso.Day) + ((DateTime.Today.Month - paciente_nuevo.Fecha_ingreso.Month) * 30) + ((DateTime.Today.Year - paciente_nuevo.Fecha_ingreso.Year) * 365);
                if (fecha < 0)
                {
                    ViewBag.Error = "Ingresar Fecha de ingreso correcta";
                    return(View("CrearPaciente"));
                }
                //Finaliza Verificaciones

                //Determinar a que hospital debe ser enviado
                if (paciente_nuevo.Departamento_resi.Equals("Alta Verapaz") ||
                    paciente_nuevo.Departamento_resi.Equals("Petén") ||
                    paciente_nuevo.Departamento_resi.Equals("Izabal") ||
                    paciente_nuevo.Departamento_resi.Equals("Quiché"))
                {
                    paciente_nuevo.Name_hosp = "Petén";
                }
                else if (paciente_nuevo.Departamento_resi.Equals("Guatemala") ||
                         paciente_nuevo.Departamento_resi.Equals("Baja Verapaz") ||
                         paciente_nuevo.Departamento_resi.Equals("El Progreso") ||
                         paciente_nuevo.Departamento_resi.Equals("Chimaltenango") ||
                         paciente_nuevo.Departamento_resi.Equals("Sacatepéquez"))
                {
                    paciente_nuevo.Name_hosp = "Guatemala";
                }
                else if (paciente_nuevo.Departamento_resi.Equals("Escuintla") ||
                         paciente_nuevo.Departamento_resi.Equals("Suchitepéquez") ||
                         paciente_nuevo.Departamento_resi.Equals("Retalhuleu") ||
                         paciente_nuevo.Departamento_resi.Equals("Sololá"))
                {
                    paciente_nuevo.Name_hosp = "Escuintla";
                }
                else if (paciente_nuevo.Departamento_resi.Equals("Chiquimula") ||
                         paciente_nuevo.Departamento_resi.Equals("Jalapa") ||
                         paciente_nuevo.Departamento_resi.Equals("Jutiapa") ||
                         paciente_nuevo.Departamento_resi.Equals("Santa Rosa") ||
                         paciente_nuevo.Departamento_resi.Equals("Zacapa"))
                {
                    paciente_nuevo.Name_hosp = "Chiquimula";
                }
                else if (paciente_nuevo.Departamento_resi.Equals("Quetzaltenango") ||
                         paciente_nuevo.Departamento_resi.Equals("Quiché") ||
                         paciente_nuevo.Departamento_resi.Equals("Huehuetenango") ||
                         paciente_nuevo.Departamento_resi.Equals("Totonicapán") ||
                         paciente_nuevo.Departamento_resi.Equals("San Marcos"))
                {
                    paciente_nuevo.Name_hosp = "Quetzaltenango";
                }
                double cant_year = ((DateTime.Today.Day - paciente_nuevo.Fecha_Nac.Day) + ((DateTime.Today.Month - paciente_nuevo.Fecha_Nac.Month) * 30) + ((DateTime.Today.Year - paciente_nuevo.Fecha_Nac.Year) * 365)) / 365;
                //Determinar Prioridad
                if (cant_year < 1)
                {
                    if (paciente_nuevo.Infectado)
                    {
                        paciente_nuevo.Prioridad = 2;
                    }
                    else
                    {
                        paciente_nuevo.Prioridad = 6;
                    }
                }
                else if (cant_year < 18)
                {
                    if (paciente_nuevo.Infectado)
                    {
                        paciente_nuevo.Prioridad = 5;
                    }
                    else
                    {
                        paciente_nuevo.Prioridad = 8;
                    }
                }
                else if (cant_year < 60)
                {
                    if (paciente_nuevo.Infectado)
                    {
                        paciente_nuevo.Prioridad = 3;
                    }
                    else
                    {
                        paciente_nuevo.Prioridad = 7;
                    }
                }
                else
                {
                    if (paciente_nuevo.Infectado)
                    {
                        paciente_nuevo.Prioridad = 1;
                    }
                    else
                    {
                        paciente_nuevo.Prioridad = 4;
                    }
                }


                //Agregar a los arboles
                Caja_BD.Instance.arbol_Dpi.Agregar(paciente_nuevo, mPaciente.Comparar_DPI);
                Caja_BD.Instance.arbol_Nom.Agregar(paciente_nuevo, mPaciente.Comparar_Nombre);
                Caja_BD.Instance.arbol_Ape.Agregar(paciente_nuevo, mPaciente.Comparar_Apellido);
                //Seleccionar a que hospital ira
                int pos = 0;
                if (paciente_nuevo.Name_hosp.Equals("Petén"))
                {
                    pos = 1;
                }
                else if (paciente_nuevo.Name_hosp.Equals("Chiquimula"))
                {
                    pos = 2;
                }
                else if (paciente_nuevo.Name_hosp.Equals("Escuintla"))
                {
                    pos = 3;
                }
                else if (paciente_nuevo.Name_hosp.Equals("Quetzaltenango"))
                {
                    pos = 4;
                }

                //Agregar a la cola
                if (paciente_nuevo.Infectado)
                {
                    Caja_Hospitales.Instance.hospitals[pos].cola_infect.Agregar(paciente_nuevo, mPaciente.EsPrioritario);
                    if (Caja_Hospitales.Instance.hospitals[pos].camillas.cant < 10)
                    {
                        Asignar_Camilla(paciente_nuevo, pos);
                        info = "El paciente " + paciente_nuevo.Nombre + " " + paciente_nuevo.Apellido + ", identificado con el DPI: " + paciente_nuevo.Dpi + ". Fue ingresado a la sala de camillas en el hospital " + paciente_nuevo.Name_hosp + ".";
                    }
                    else
                    {
                        info = "El paciente " + paciente_nuevo.Nombre + " " + paciente_nuevo.Apellido + ", identificado con el DPI: " + paciente_nuevo.Dpi + ". Fue ingresado a la sala de infectado en el hospital " + paciente_nuevo.Name_hosp + ".";
                        Caja_Hospitales.Instance.Stadistica.Activos++;
                    }
                    Caja_Hospitales.Instance.Stadistica.Ingres_infect++;
                }
                else
                {
                    Caja_Hospitales.Instance.hospitals[pos].cola_sospech.Agregar(paciente_nuevo, mPaciente.EsPrioritario);
                    Caja_Hospitales.Instance.Stadistica.Ingres_sospech++;
                    info = "El paciente " + paciente_nuevo.Nombre + " " + paciente_nuevo.Apellido + ", identificado con el DPI: " + paciente_nuevo.Dpi + ". Fue ingresado a la sala de sospechosos en el hospital " + paciente_nuevo.Name_hosp + ".";
                }
                Caja_BD.Instance.List_all.Add(paciente_nuevo);
                return(RedirectToAction("Index_info", "Home", new { inf = info }));
            }
            catch
            {
                ViewBag.Error = "Datos Incorrectos";
                return(View("CrearPaciente"));
            }
        }