Beispiel #1
0
        private System.Data.DataTable ObtenerTablaFormatoDatosReporteResultado(int ano, int mes)
        {
            BLTarifario enlace = new BLTarifario();
            Tarifario   tar    = enlace.ObtenerTarifario();

            System.Data.DataTable tablaInterna = new System.Data.DataTable();
            try
            {
                LogicaOrden     enlaceOrden = new LogicaOrden();
                List <object[]> resultados  = enlaceOrden.ObtenerReporteResultado(ano, mes);

                tablaInterna.Columns.Add("dni", typeof(string));
                tablaInterna.Columns.Add("nombre", typeof(string));
                tablaInterna.Columns.Add("apellido1", typeof(string));
                tablaInterna.Columns.Add("apellido2", typeof(string));
                tablaInterna.Columns.Add("edad", typeof(double));
                tablaInterna.Columns.Add("sexo", typeof(string));
                tablaInterna.Columns.Add("gestante", typeof(string));
                tablaInterna.Columns.Add("Examen", typeof(string));
                tablaInterna.Columns.Add("respuesta", typeof(string));
                tablaInterna.Columns.Add("nota", typeof(string));
                tablaInterna.Columns.Add("cobertura", typeof(string));
                tablaInterna.Columns.Add("estado", typeof(string));

                foreach (object[] obt in resultados)
                {
                    DataRow row = tablaInterna.NewRow();
                    row[0]  = obt[1].ToString();
                    row[1]  = obt[2].ToString();
                    row[2]  = obt[3].ToString();
                    row[3]  = obt[4].ToString();
                    row[4]  = obt[5];
                    row[5]  = DiccionarioGeneral.GetInstance().TipoSexo[(int)obt[6]];
                    row[6]  = Convert.ToBoolean(obt[7])?"SI":"NO";
                    row[7]  = Plantillas.GetInstance().GetPlantilla((int)obt[0]).Nombre;
                    row[8]  = obt[8].ToString().Replace('.', ',');
                    row[9]  = obt[9];
                    row[10] = DiccionarioGeneral.GetInstance().TipoCobertura[(int)obt[10]];
                    row[11] = DiccionarioGeneral.GetInstance().EstadoExamen[(int)obt[11]];

                    tablaInterna.Rows.Add(row);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return(tablaInterna);
        }
Beispiel #2
0
        private void RellenarExamenesEnTabla()
        {
            LogicaCuenta oLCuenta     = new LogicaCuenta();
            LogicaExamen enlaceExamen = new LogicaExamen();

            if (ordenes.Count > 0)
            {
                tabla.Clear();

                Cuenta account;

                examenesGeneral = new Dictionary <int, Examen>();
                Orden orden = ordenes[(int)ComboBoxOrden.SelectedValue];
                Dictionary <int, Examen> temp = enlaceExamen.RecuperarExamenes(orden);
                foreach (Examen ex in temp.Values)
                {
                    if (ex.Estado == Examen.EstadoExamen.Terminado)
                    {
                        this.SuspendLayout();
                        examenesGeneral.Add(ex.IdData, ex);
                        DataRow row = tabla.NewRow();
                        row[0] = ex.IdOrdenDetalle; //Orden Detalle
                        row[1] = ex.IdData;         //Examen
                        String nombrePaquete   = ControlSistemaInterno.ListaAnalisis.GetInstance().GetAnalisisById(orden.Detalle[ex.IdOrdenDetalle].IdDataPaquete).Nombre;
                        String nombrePlantilla = Plantillas.GetInstance().GetPlantilla(ex.IdPlantilla).Nombre;
                        row[2]  = (nombrePaquete == nombrePlantilla) ? nombrePaquete : (nombrePaquete + ":" + nombrePlantilla);
                        account = oLCuenta.ObtenerCuenta(ex.IdCuenta);
                        row[3]  = (account.Nombre + account.PrimerApellido).ToUpper() + " (" + account.Dni + ")";
                        row[4]  = ex.UltimaModificacion;
                        row[5]  = orden.IdData;
                        tabla.Rows.Add(row);
                        this.ResumeLayout(false);
                    }
                }

                BtnPrint.Visible = examenesGeneral.Count > 0;
            }
        }
Beispiel #3
0
 public static Dictionary <int, PlantillaItem> GetAllItemsByPlantilla(int idPlantilla)
 {
     return(Plantillas.GetInstance().GetPlantilla(idPlantilla).ItemsIndexed);
 }
Beispiel #4
0
        public FormatoImpresion CrearDocumento(Orden orden, Paciente paciente, Dictionary <int, Examen> examenPorOrden)
        {
            List <Examen>    examenSelectedTemp;
            FormatoImpresion pagina = new FormatoImpresion();

            pagina.Orden    = "O" + orden.IdData;
            pagina.Nombre   = paciente.Nombre + " " + paciente.ApellidoPaterno + " " + paciente.ApellidoMaterno;
            pagina.Historia = paciente.Historia;
            pagina.Edad     = this.GetAge(paciente);
            FormatoImpresion.PaginaLinea lineaTemp;
            foreach (OrdenDetalle detalle in orden.Detalle.Values)
            {
                examenSelectedTemp = GetExamenes(examenPorOrden, detalle);
                string nombreTar = Tarifario.GetInstance().Paquetes[detalle.IdDataTarifa].Nombre;
                string nombreEx  = null;
                lineaTemp           = new FormatoImpresion.PaginaLinea();
                lineaTemp.TipoLinea = FormatoImpresion.PaginaLinea.TipoPaginaLinea.TituloInicio;
                lineaTemp.Nombre    = nombreTar;
                pagina.Detalles.Add(lineaTemp);
                foreach (Examen ex in examenSelectedTemp)
                {
                    nombreEx = Plantillas.GetInstance().GetPlantilla(ex.IdPlantilla).Nombre;
                    if (!nombreEx.Equals(nombreTar))
                    {
                        lineaTemp           = new FormatoImpresion.PaginaLinea();
                        lineaTemp.TipoLinea = FormatoImpresion.PaginaLinea.TipoPaginaLinea.SubTitulo;
                        lineaTemp.Nombre    = nombreEx;
                        pagina.Detalles.Add(lineaTemp);
                    }
                    Dictionary <int, PlantillaDetalle> detalles = Plantillas.GetInstance().GetPlantilla(ex.IdPlantilla).Detalle;
                    for (int i = 0; i < detalles.Count; i++)
                    {
                        switch (detalles[i].Tipo)
                        {
                        case PlantillaDetalle.TipoDetalle.Grupo:
                            lineaTemp           = new FormatoImpresion.PaginaLinea();
                            lineaTemp.TipoLinea = FormatoImpresion.PaginaLinea.TipoPaginaLinea.GrupoInicio;
                            lineaTemp.Nombre    = detalles[i].Grupo.Nombre;
                            pagina.Detalles.Add(lineaTemp);
                            if (detalles[i].Grupo.IdData == 4)    //Para el grupo especial Medicina // Luego se puede mejorar Agregando un elemento deseado incorporandolo
                            {
                                foreach (Item itemG in detalles[i].Grupo.Items.Values)
                                {
                                    lineaTemp           = new FormatoImpresion.PaginaLinea();
                                    lineaTemp.TipoLinea = FormatoImpresion.PaginaLinea.TipoPaginaLinea.ItemSimple;
                                    lineaTemp.Nombre    = " * " + itemG.Nombre;
                                    int indice = Convert.ToInt32(ex.DetallesByItem[itemG.IdData].Campo);
                                    if (indice != 0)
                                    {
                                        lineaTemp.Resultado = itemG.OpcionesByIndice[indice];
                                        pagina.Detalles.Add(lineaTemp);
                                    }
                                }
                            }
                            else
                            {
                                foreach (Item itemG in detalles[i].Grupo.Items.Values)
                                {
                                    lineaTemp           = new FormatoImpresion.PaginaLinea();
                                    lineaTemp.TipoLinea = FormatoImpresion.PaginaLinea.TipoPaginaLinea.ItemSimple;
                                    lineaTemp.Nombre    = " * " + itemG.Nombre;
                                    switch (itemG.TipoCampo)
                                    {
                                    case TipoCampo.Input:
                                        lineaTemp.Resultado = ex.DetallesByItem[itemG.IdData].Campo.ToString();
                                        if (itemG.TieneUnidad)
                                        {
                                            lineaTemp.Resultado += itemG.Unidad;
                                        }
                                        lineaTemp.Resultado += ClasificarItem(paciente, ex.DetallesByItem[itemG.IdData]);
                                        break;

                                    case TipoCampo.Lista:
                                        lineaTemp.Resultado = itemG.OpcionesByIndice[Convert.ToInt32(ex.DetallesByItem[itemG.IdData].Campo)];
                                        break;

                                    case TipoCampo.Texto:
                                        lineaTemp.TipoLinea = FormatoImpresion.PaginaLinea.TipoPaginaLinea.ItemTexto;
                                        lineaTemp.Resultado = ex.DetallesByItem[itemG.IdData].Campo.ToString();
                                        break;
                                    }
                                    pagina.Detalles.Add(lineaTemp);
                                }
                            }
                            lineaTemp           = new FormatoImpresion.PaginaLinea();
                            lineaTemp.TipoLinea = FormatoImpresion.PaginaLinea.TipoPaginaLinea.GrupoFin;
                            break;

                        case PlantillaDetalle.TipoDetalle.Item:
                            Item item = detalles[i].Item;
                            lineaTemp           = new FormatoImpresion.PaginaLinea();
                            lineaTemp.TipoLinea = FormatoImpresion.PaginaLinea.TipoPaginaLinea.ItemSimple;
                            if (!nombreEx.Equals(item.Nombre))
                            {
                                lineaTemp.Nombre = item.Nombre;
                            }
                            else
                            {
                                lineaTemp.Nombre = "RESULTADO";
                            }
                            switch (item.TipoCampo)
                            {
                            case TipoCampo.Input:
                                lineaTemp.Resultado = ex.DetallesByItem[item.IdData].Campo.ToString();
                                if (item.TieneUnidad)
                                {
                                    lineaTemp.Resultado += "  " + item.Unidad;
                                }
                                switch (item.TipoDato)
                                {
                                case TipoDato.Entero:
                                    lineaTemp.Resultado += ClasificarItem(paciente, ex.DetallesByItem[item.IdData]);
                                    break;

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

                            case TipoCampo.Lista:
                                lineaTemp.Resultado = item.OpcionesByIndice[Convert.ToInt32(ex.DetallesByItem[item.IdData].Campo)];
                                break;

                            case TipoCampo.Texto:
                                lineaTemp.TipoLinea = FormatoImpresion.PaginaLinea.TipoPaginaLinea.ItemTexto;
                                lineaTemp.Resultado = ex.DetallesByItem[item.IdData].Campo.ToString();
                                break;
                            }
                            pagina.Detalles.Add(lineaTemp);
                            break;
                        }
                    }
                }
            }
            return(pagina);
        }
Beispiel #5
0
        private void CargarPlantillaEnPanel(Examen examen)
        {
            LogicaCuenta oLCuenta  = new LogicaCuenta();
            Plantilla    plantilla = Plantillas.GetInstance().GetPlantilla(examen.IdPlantilla);

            CheckEstado.Checked = Convert.ToBoolean((int)examen.Estado);
            LabelExamen.Text    = Plantillas.GetInstance().Coleccion()[examen.IdPlantilla].Nombre;

            Cuenta account = oLCuenta.ObtenerCuenta(examen.IdCuenta);

            LabelUsuarioLast.Text = (account.Nombre + account.PrimerApellido).ToUpper() + " (" + account.Dni + ")";


            this.SuspendLayout();
            List <ExamenEditorFila> filas = new List <ExamenEditorFila>();

            panelActual = new ExamenEditorContenedor(PanelExamen.Width - 10, PanelExamen.Height - 10);
            PanelExamen.SuspendLayout();

            ExamenEditorFila  filaForm  = null;
            ExamenEditorItem  itemForm  = null;
            ExamenEditorGrupo grupoForm = null;
            PlantillaItem     item;
            int posicion = 0;

            for (int indice = 0; indice < plantilla.Filas.Count; indice++)
            {
                if (PlantillaFila.PlantillaFilaTipo.Agrupada == plantilla.Filas[indice].Tipo)
                {
                    PlantillaFilaGrupo filaGrupo = (PlantillaFilaGrupo)plantilla.Filas[indice];
                    filaForm = new ExamenEditorFila(panelActual.Width - 10, 25);
                    filaForm.SuspendLayout();
                    filaForm.Tipo = ExamenEditorFila.TipoForm.Grupo;
                    grupoForm     = new ExamenEditorGrupo(filaForm.Width - 5, 0);
                    grupoForm.SuspendLayout();
                    grupoForm.Location = new Point(0, 0);
                    grupoForm.Nombre   = filaGrupo.Nombre;
                    List <ExamenEditorItem> items = new List <ExamenEditorItem>();
                    for (int j = 0; j < filaGrupo.Items.Count; j++)
                    {
                        item     = filaGrupo.Items[j];
                        itemForm = new ExamenEditorItem(grupoForm.Width - 20, 25, item.TieneUnidad);

                        itemForm.SuspendLayout();
                        itemForm.TabIndex = posicion;
                        posicion++;
                        itemForm.IdItem    = item.IdData;
                        itemForm.Nombre    = item.Nombre;
                        itemForm.TipoDato  = item.TipoDato;
                        itemForm.TipoCampo = item.TipoCampo;
                        if (item.TipoCampo == TipoCampo.Lista)
                        {
                            itemForm.Opciones = item.OpcionesByIndice;
                        }
                        else if (item.TipoCampo == TipoCampo.Texto)
                        {
                            filaForm.Height = 80;
                            itemForm.Height = 80;
                        }

                        if (item.TipoDato == TipoDato.Entero || item.TipoDato == TipoDato.Bool)
                        {
                            itemForm.RegEx = DiccionarioGeneral.GetInstance().Expression[(int)item.TipoDato];
                        }
                        if (item.TieneUnidad)
                        {
                            itemForm.Unidad = item.Unidad;
                        }
                        itemForm.Location = new Point(10, 20);
                        items.Add(itemForm);
                        itemForm.ResumeLayout(false);
                    }
                    grupoForm.Items = items;
                    filaForm.Grupo  = grupoForm;
                    filas.Add(filaForm);
                    grupoForm.ResumeLayout(false);
                    filaForm.ResumeLayout(false);
                }
                else
                {
                    item     = ((PlantillaFilaSimple)plantilla.Filas[indice]).Item;
                    filaForm = new ExamenEditorFila(panelActual.Width - 10, 25);
                    filaForm.SuspendLayout();
                    filaForm.Location = new Point(10, 10);
                    filaForm.Tipo     = ExamenEditorFila.TipoForm.Item;

                    itemForm = new ExamenEditorItem(filaForm.Width - 5, 25, item.TieneUnidad);

                    itemForm.SuspendLayout();
                    itemForm.Location = new Point(0, 0);
                    itemForm.IdItem   = item.IdData;
                    itemForm.Nombre   = item.Nombre;
                    itemForm.TabIndex = posicion;
                    posicion++;
                    itemForm.TipoCampo = item.TipoCampo;
                    itemForm.TipoDato  = item.TipoDato;
                    if (item.TipoCampo == TipoCampo.Lista)
                    {
                        itemForm.Opciones = item.OpcionesByIndice;
                    }
                    else if (item.TipoCampo == TipoCampo.Texto)
                    {
                        filaForm.Height = 80;
                        itemForm.Height = 80;
                    }
                    if (item.TieneUnidad)
                    {
                        itemForm.Unidad = item.Unidad;
                    }
                    filaForm.Item = itemForm;
                    filas.Add(filaForm);
                    itemForm.ResumeLayout(false);
                    filaForm.ResumeLayout(false);
                }
            }

            panelActual.Filas = filas;
            PanelExamen.Controls.Add(panelActual);
            PanelExamen.ResumeLayout(false);
            this.ResumeLayout(false);
        }
Beispiel #6
0
        private void CargarDatosEnDGVExamen(Orden orden)
        {
            LogicaOrden  enlaceOrden  = new LogicaOrden();
            LogicaExamen enlaceExamen = new LogicaExamen();

            DGVExamen.SuspendLayout();
            tabla.Clear();
            examenes = enlaceExamen.RecuperarExamenes(orden);

            foreach (Examen ex in examenes.Values)
            {
                DataRow row             = tabla.NewRow();
                String  nombrePaquete   = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToLower(ControlSistemaInterno.ListaAnalisis.GetInstance().GetAnalisisById(orden.Detalle[ex.IdOrdenDetalle].IdDataPaquete).Nombre));
                String  nombrePlantilla = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToLower(Plantillas.GetInstance().GetPlantilla(ex.IdPlantilla).Nombre));
                row[0] = (nombrePaquete == nombrePlantilla) ? nombrePaquete : (nombrePaquete + ":" + nombrePlantilla);
                row[1] = DiccionarioGeneral.GetInstance().EstadoExamen[(int)ex.Estado];
                row[2] = ex.IdData;//Examen
                tabla.Rows.Add(row);
            }
            DGVExamen.ResumeLayout(false);
        }
Beispiel #7
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);
        }