Esempio n. 1
0
        private void BtnRegistrar_Click(object sender, EventArgs e)
        {
            LogicaPaciente enlace = new LogicaPaciente();

            try
            {
                Paciente paciente = new Paciente();
                paciente.Sexo            = (Sexo)comboSexo.SelectedIndex;
                paciente.Nombre          = campNombre.Text;
                paciente.SegundoApellido = campapellido2erno.Text;
                paciente.PrimerApellido  = campapellido1erno.Text;
                paciente.Historia        = campHistoria.Text;
                paciente.FechaNacimiento = campFecha.Value;
                paciente.Dni             = campDNI.Text;
                paciente.Direccion       = campDireccion.Text;
                paciente.IdDistrito      = (int)ComboBoxDistrito.SelectedValue;
                paciente.IdSector        = (int)ComboBoxSector.SelectedValue;
                enlace.CrearPaciente(paciente);
                MessageBox.Show("Registro Existoso");
                limpiarCampos();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Advertencia");
            }
        }
Esempio n. 2
0
        private void BtnGuardar_Click_1(object sender, EventArgs e)
        {
            Paciente perfilTemp = new Paciente();

            perfilTemp.IdData          = ((PanelPerfil)this.Parent).Perfil.IdData;
            perfilTemp.Dni             = CampDNI.Text;
            perfilTemp.Direccion       = CampDireccion.Text;
            perfilTemp.Sexo            = (Sexo)ComboSexo.SelectedValue;
            perfilTemp.Historia        = CampHistoria.Text;
            perfilTemp.Nombre          = CampNombre.Text;
            perfilTemp.PrimerApellido  = Campapellido1erno.Text;
            perfilTemp.SegundoApellido = Campapellido2erno.Text;
            perfilTemp.FechaNacimiento = CampFecha.Value;
            perfilTemp.IdDistrito      = (int)ComboBoxDistrito.SelectedValue;
            perfilTemp.IdSector        = (int)ComboBoxSector.SelectedValue;

            try
            {
                LogicaPaciente enlacePaciente = new LogicaPaciente();
                enlacePaciente.ActualizarPaciente(perfilTemp);
                ((PanelPerfil)this.Parent).Perfil = perfilTemp;
                ((PanelPerfil)this.Parent).CargarDatos();

                this.Visible = false;
                ((PanelPerfil)this.Parent).Visible = true;
                this.Dispose();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 3
0
        private void CargarDatosEnDGVOrden()
        {
            LogicaOrden    enlaceOrden    = new LogicaOrden();
            LogicaPaciente enlacePaciente = new LogicaPaciente();

            ordenes = enlaceOrden.ObtenerOrdenesByFechaByEstado(PickerInit.Value, PickerEnd.Value, (EstadoOrden)ComboEstado.SelectedIndex);
            tabla.Clear();
            this.SuspendLayout();
            DGVOrden.SuspendLayout();
            foreach (Orden orden in ordenes.Values)
            {
                DataRow  row = tabla.NewRow();
                Paciente pac = enlacePaciente.ObtenerPerfilPorId(orden.IdPaciente);
                row[0] = orden.IdData;                                                                                                                            //Orden Detalle
                row[1] = pac.Dni;
                row[2] = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(pac.Nombre + " " + pac.PrimerApellido + " " + pac.SegundoApellido); //Examen
                row[3] = enlaceOrden.ObtenerDescripcion(orden);
                row[4] = orden.FechaRegistro;
                row[5] = orden.Boleta;
                row[6] = DiccionarioGeneral.GetInstance().EstadoOrden[Convert.ToInt32(orden.Estado)];
                tabla.Rows.Add(row);
            }
            this.DGVOrden.ClearSelection();
            DGVOrden.ResumeLayout(false);
            this.ResumeLayout(false);
        }
Esempio n. 4
0
        private void BtnEliminar_Click(object sender, EventArgs e)
        {
            LogicaPaciente enlacePaciente = new LogicaPaciente();

            enlacePaciente.EliminarPaciente(perfil);
            ((ControlPaciente)this.Parent.Parent).ModeBtnFuncion(true);
            this.Dispose();
        }
Esempio n. 5
0
        private void BtnBuscar_Click(object sender, EventArgs e)
        {
            LogicaPaciente enlace = new LogicaPaciente();

            tablaPaciente.Clear();
            diccionarioPaciente = enlace.ObtenerPerfilPorFiltro(CampDni.Text, CampHistoria.Text, CampNombre.Text, Campapellido1erno.Text, Campapellido2erno.Text);
            this.SuspendLayout();
            foreach (int key in diccionarioPaciente.Keys)
            {
                Paciente pac = diccionarioPaciente[key];
                DataRow  row = tablaPaciente.NewRow();
                row[0] = pac.IdData;
                row[1] = pac.Dni;
                row[2] = pac.Nombre + " " + pac.PrimerApellido + " " + pac.SegundoApellido;
                tablaPaciente.Rows.Add(row);
            }
            this.ResumeLayout(false);
        }
Esempio n. 6
0
        private void IniciarEditorExamen()
        {
            int index;

            if (DGVOrden.SelectedRows.Count > 0)
            {
                index = this.DGVOrden.SelectedRows[0].Index;
                this.DGVOrden.ClearSelection();
                this.DGVOrden.Rows[index].Selected = true;
                LogicaPaciente   enlacePac    = new LogicaPaciente();
                FormExamenEditor VentanaOrden = new FormExamenEditor();
                VentanaOrden.Orden    = ordenes[Convert.ToInt32(DGVOrden.SelectedRows[0].Cells[0].Value)];
                VentanaOrden.Paciente = enlacePac.ObtenerPerfilPorId(ordenes[Convert.ToInt32(DGVOrden.SelectedRows[0].Cells[0].Value)].IdPaciente);
                VentanaOrden.ShowDialog();
                VentanaOrden.Dispose();
                CargarDatosEnDGVOrden();
            }
        }
Esempio n. 7
0
        public void CargarDatos()
        {
            BLMedico bl     = new BLMedico();
            Medico   medico = bl.ObtenerMedico(orden.IdMedico);

            CampUbicacion.Text   = LogicaPaciente.FormatearUbicacion(perfil);
            CampDni.Text         = perfil.Dni;
            CampHistoria.Text    = perfil.Historia;
            CampNombre.Text      = perfil.Nombre + " " + perfil.PrimerApellido + " " + perfil.SegundoApellido;
            CampBoleta.Text      = orden.Boleta;
            CampSexo.Text        = DiccionarioGeneral.GetInstance().TipoSexo[(int)perfil.Sexo];
            CampMedico.Text      = medico.Nombre + " " + medico.PrimerApellido + " " + medico.SegundoApellido;
            CampConsultorio.Text = Consultorios.GetInstance().GetConsultorio(orden.IdConsultorio).Nombre;

            LabelGestacion.Visible = false;
            CampGestacion.Visible  = false;
            if (perfil.Sexo == Sexo.Mujer)
            {
                LabelGestacion.Visible = true;
                CampGestacion.Visible  = true;
                CampGestacion.Text     = orden.EnGestacion ? "Si" : "No";
            }

            PickerTime.Text = orden.FechaRegistro.ToShortDateString();
            tabla.Clear();
            foreach (OrdenDetalle ord in orden.Detalle.Values)
            {
                EntityLayer.Analisis p = ControlSistemaInterno.ListaAnalisis.GetInstance().GetAnalisisById(ord.IdDataPaquete);
                this.SuspendLayout();
                DataRow row = tabla.NewRow();
                row[0] = p.IdData;
                row[1] = p.Codigo;
                row[2] = p.Nombre;
                row[3] = ord.Cobertura;
                row[4] = idUniqueRowCount;
                idUniqueRowCount++;
                tabla.Rows.Add(row);
                this.ResumeLayout(false);
            }
        }
Esempio n. 8
0
        private void BtnBuscarPaciente_Click(object sender, EventArgs e)
        {
            FormBuscarPaciente formBuscarPaciente = new FormBuscarPaciente();

            formBuscarPaciente.ShowDialog();
            if (formBuscarPaciente.Perfil != null)
            {
                this.Perfil        = formBuscarPaciente.Perfil;
                CampDni.Text       = Perfil.Dni;
                CampHistoria.Text  = Perfil.Historia;
                CampNombre.Text    = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(Perfil.Nombre + " " + Perfil.PrimerApellido + " " + Perfil.SegundoApellido);
                CampSexo.Text      = DiccionarioGeneral.GetInstance().TipoSexo[(int)Perfil.Sexo];
                CampUbicacion.Text = LogicaPaciente.FormatearUbicacion(Perfil);

                HabilitarFormulario();
                if (Perfil.Sexo == Sexo.Mujer)
                {
                    CheckBoxGestante.Visible = true;
                }
            }
            formBuscarPaciente.Dispose();
        }
Esempio n. 9
0
        public FormatoImpresion CrearAllDocumento(Dictionary <int, Examen> examenes, Orden orden, float tamañoFuente, Size tamañoPag)
        {
            LogicaPaciente   oLPaciente   = new LogicaPaciente();
            Clasificador     clasificador = new Clasificador();
            FormatoImpresion formato;

            tamañoPag.Height = tamañoPag.Height / 2;
            tamañoPag.Width  = tamañoPag.Width / 2;
            Paciente paciente = oLPaciente.ObtenerPerfilPorId(orden.IdPaciente);

            int      idLastResponsable = 0;
            DateTime tempTime          = DateTime.MinValue;

            foreach (Examen ex in examenes.Values)
            {
                Area area = (Area)Plantillas.GetInstance().GetPlantilla(ex.IdPlantilla).Area;
                repositorio[area].Add(ex.IdData);
                if (ex.UltimaModificacion >= tempTime)
                {
                    tempTime          = ex.UltimaModificacion;
                    idLastResponsable = ex.IdCuenta;
                }
            }


            //CONSTRUCCION DE CABECERA
            formato = new FormatoImpresion();
            FormatoImpresionCabecera cab = new FormatoImpresionCabecera();
            Dictionary <int, FormatoImpresionPagina> paginas = new Dictionary <int, FormatoImpresionPagina>();
            LogicaCuenta oLCuenta = new LogicaCuenta();
            BLMedico     oLMedico = new BLMedico();
            Medico       med      = oLMedico.ObtenerMedico(orden.IdMedico);
            Cuenta       cu       = oLCuenta.ObtenerCuenta(idLastResponsable);
            Tiempo       tiempo   = DiccionarioGeneral.GetInstance().CalcularEdad(paciente.FechaNacimiento);

            cab.Edad     = DiccionarioGeneral.GetInstance().FormatoEdad(tiempo);
            cab.Orden    = "No " + orden.IdData;
            cab.Nombre   = CultureInfo.CurrentCulture.TextInfo.ToTitleCase((paciente.Nombre + " " + paciente.PrimerApellido + " " + paciente.SegundoApellido));
            cab.Historia = paciente.Historia;

            cab.Responsable  = CultureInfo.CurrentCulture.TextInfo.ToTitleCase((cu.Nombre + " " + cu.PrimerApellido + " " + cu.SegundoApellido + " - " + cu.Especialidad));
            cab.Doctor       = CultureInfo.CurrentCulture.TextInfo.ToTitleCase((med.Nombre + " " + med.PrimerApellido + " " + med.SegundoApellido));
            cab.UltimaRev    = (tempTime.ToShortDateString());
            formato.Cabecera = cab;

            Dictionary <int, FormatoImpresionPaginaLinea> lineas = null;
            FormatoImpresionPagina      pagina = null;
            FormatoImpresionPaginaLinea linea  = null;
            int indexLinea = 0;

            foreach (Area key in repositorio.Keys)
            {
                if (repositorio[key].Count > 0)
                {
                    pagina          = new FormatoImpresionPagina();
                    lineas          = new Dictionary <int, FormatoImpresionPaginaLinea>();
                    pagina.Detalles = lineas;
                    indexLinea      = 0;
                    //CONSTRUCCION DE PAGINAS

                    linea           = new FormatoImpresionPaginaLinea();
                    linea.Nombre    = "LABORATORIO DE " + DiccionarioGeneral.GetInstance().Area[(int)key];
                    linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.TituloArea;

                    lineas.Add(indexLinea, linea);
                    indexLinea++;


                    foreach (int idEx in repositorio[key])
                    {
                        Examen ex = examenes[idEx];
                        linea           = new FormatoImpresionPaginaLinea();
                        linea.Nombre    = Plantillas.GetInstance().GetPlantilla(ex.IdPlantilla).Nombre;
                        linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.TituloExamen;
                        lineas.Add(indexLinea, linea);
                        indexLinea++;

                        Dictionary <int, PlantillaFila> plantillaFila = Plantillas.GetInstance().GetPlantilla(ex.IdPlantilla).Filas;
                        for (int i = 0; i < plantillaFila.Count; i++)
                        {
                            switch (plantillaFila[i].Tipo)
                            {
                            case PlantillaFila.PlantillaFilaTipo.Agrupada:

                                PlantillaFilaGrupo filaGrupo = (PlantillaFilaGrupo)plantillaFila[i];
                                linea           = new FormatoImpresionPaginaLinea();
                                linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.TituloGrupo;
                                linea.Nombre    = filaGrupo.Nombre;

                                lineas.Add(indexLinea, linea);
                                indexLinea++;

                                if (filaGrupo.IdData == 4)    //Para el grupo especial Medicina // Luego se puede mejorar Agregando un elemento deseado incorporandolo
                                {
                                    foreach (PlantillaItem itemG in filaGrupo.Items.Values)
                                    {
                                        linea           = new FormatoImpresionPaginaLinea();
                                        linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.ItemSimple;
                                        linea.Nombre    = " * " + itemG.Nombre;
                                        int indice = Convert.ToInt32(ex.DetallesByItem[itemG.IdData].Campo);
                                        if (indice != 0)
                                        {
                                            linea.Resultado = itemG.OpcionesByIndice[indice];
                                            lineas.Add(indexLinea, linea);
                                            indexLinea++;
                                        }
                                    }
                                }
                                else
                                {
                                    foreach (PlantillaItem itemG in filaGrupo.Items.Values)
                                    {
                                        switch (itemG.TipoCampo)
                                        {
                                        case TipoCampo.Input:
                                            linea           = new FormatoImpresionPaginaLinea();
                                            linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.ItemSimple;
                                            linea.Nombre    = " * " + itemG.Nombre;
                                            linea.Resultado = ex.DetallesByItem[itemG.IdData].Campo.ToString();
                                            if (itemG.TieneUnidad)
                                            {
                                                linea.Resultado += itemG.Unidad;
                                            }
                                            linea.Resultado += clasificador.Clasificar(paciente, ex.IdData, ex.DetallesByItem[itemG.IdData]);
                                            lineas.Add(indexLinea, linea);
                                            indexLinea++;
                                            break;

                                        case TipoCampo.Lista:
                                            linea           = new FormatoImpresionPaginaLinea();
                                            linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.ItemSimple;
                                            linea.Nombre    = " * " + itemG.Nombre;
                                            linea.Resultado = itemG.OpcionesByIndice[Convert.ToInt32(ex.DetallesByItem[itemG.IdData].Campo)];
                                            lineas.Add(indexLinea, linea);
                                            indexLinea++;
                                            break;

                                        case TipoCampo.Texto:
                                            if (!ex.DetallesByItem[itemG.IdData].Campo.Equals(""))
                                            {
                                                linea           = new FormatoImpresionPaginaLinea();
                                                linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.ItemSimple;
                                                linea.Nombre    = " * " + itemG.Nombre;
                                                string        temp  = "";
                                                List <string> lista = ConstructorFicha.AcoplarTexto(linea.Nombre + ": " + ex.DetallesByItem[itemG.IdData].Campo.ToString(), "Futura Bk BT", 7.5f, (double)tamañoPag.Width);
                                                for (int ind = 0; ind < lista.Count; ind++)
                                                {
                                                    linea           = new FormatoImpresionPaginaLinea();
                                                    linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.ItemTexto;

                                                    if (itemG.TieneUnidad && indexLinea + 1 == lista.Count)
                                                    {
                                                        temp += itemG.Unidad;
                                                    }
                                                    linea.Resultado = lista[ind];

                                                    lineas.Add(indexLinea, linea);
                                                    indexLinea++;
                                                }
                                            }
                                            break;
                                        }
                                    }
                                }
                                break;

                            case PlantillaFila.PlantillaFilaTipo.Simple:
                                PlantillaItem item = ((PlantillaFilaSimple)plantillaFila[i]).Item;
                                switch (item.TipoCampo)
                                {
                                case TipoCampo.Input:
                                    linea           = new FormatoImpresionPaginaLinea();
                                    linea.Nombre    = item.Nombre;
                                    linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.ItemSimple;
                                    linea.Resultado = ex.DetallesByItem[item.IdData].Campo.ToString();
                                    if (item.TieneUnidad)
                                    {
                                        linea.Resultado += "  " + item.Unidad;
                                    }
                                    switch (item.TipoDato)
                                    {
                                    case TipoDato.Entero:
                                        linea.Resultado += clasificador.Clasificar(paciente, ex.IdData, ex.DetallesByItem[item.IdData]);
                                        break;

                                    case TipoDato.Decimal:
                                        linea.Resultado += clasificador.Clasificar(paciente, ex.IdData, ex.DetallesByItem[item.IdData]);
                                        break;
                                    }

                                    lineas.Add(indexLinea, linea);
                                    indexLinea++;
                                    break;

                                case TipoCampo.Lista:

                                    linea           = new FormatoImpresionPaginaLinea();
                                    linea.Nombre    = item.Nombre;
                                    linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.ItemSimple;
                                    linea.Resultado = item.OpcionesByIndice[Convert.ToInt32(ex.DetallesByItem[item.IdData].Campo)];
                                    lineas.Add(indexLinea, linea);
                                    indexLinea++;
                                    break;

                                case TipoCampo.Texto:
                                    if (!ex.DetallesByItem[item.IdData].Campo.Equals(""))
                                    {
                                        linea        = new FormatoImpresionPaginaLinea();
                                        linea.Nombre = item.Nombre;
                                        string        temp  = "";
                                        List <string> lista = ConstructorFicha.AcoplarTexto(linea.Nombre + ": " + ex.DetallesByItem[item.IdData].Campo, "Futura Bk BT", 7.5f, (double)tamañoPag.Width);

                                        for (int ind = 0; ind < lista.Count; ind++)
                                        {
                                            linea           = new FormatoImpresionPaginaLinea();
                                            linea.TipoLinea = FormatoImpresionPaginaLinea.TipoPaginaLinea.ItemTexto;

                                            if (item.TieneUnidad && ind + 1 == lista.Count)
                                            {
                                                temp += item.Unidad;
                                            }
                                            linea.Resultado = lista[ind];

                                            lineas.Add(indexLinea, linea);
                                            indexLinea++;
                                        }
                                    }
                                    break;
                                }
                                break;
                            }
                        }
                    }
                    formato.Paginas.Add(pagina);
                }
            }
            return(formato);
        }