예제 #1
0
        public void pruebainsertarActualizarHistorialClinico_ThrowsNull()
        {
            BLHistoriaClinica          histClin  = null;
            BLManejadorHistoriaClinica manejHist = new BLManejadorHistoriaClinica();

            manejHist.insertarActualizarHistorialClinico(histClin);
        }
예제 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            revisarLogin();

            try {
                if (!IsPostBack)
                {
                    if (!Convert.ToString(Session["cedula"]).Equals(""))
                    {
                        BLManejadorHistoriaClinica manej       = new BLManejadorHistoriaClinica();
                        BLHistoriaClinica          histClinica = manej.consultarHistorialClinico(Convert.ToString(Session["cedula"]));
                        txtGrupoSanguineo.Text      = histClinica.grupo_Sanguineo;
                        htaCheck.Checked            = histClinica.HTA;
                        dMCheck.Checked             = histClinica.DM;
                        asmaCheck.Checked           = histClinica.Asma;
                        epilepsiaCheck.Checked      = histClinica.Epilepsia;
                        txtenfCardiacas.Text        = histClinica.Enferm_Cardiacas;
                        displidemiaCheck.Checked    = histClinica.Displidemias;
                        txtpsiquiatricas.Text       = histClinica.Enferm_Psiquiatricas;
                        txtOtraspatolog.Text        = histClinica.Otros_Person_Patologic;
                        fumaCheck.Checked           = histClinica.Fuma;
                        licorCheck.Checked          = histClinica.Licor;
                        drogasCheck.Checked         = histClinica.Drogas;
                        Textalergias.Text           = histClinica.Alergias;
                        TextotrasNoPatologicas.Text = histClinica.Otros_Person_No_Patologic;
                        menarcaCheck.Checked        = histClinica.Menarca;
                        furCalend.Text                = histClinica.FUR;
                        embarazosText.Text            = Convert.ToString(histClinica.Embarazos);
                        abortosText.Text              = Convert.ToString(histClinica.Abortos);
                        quistesOvaricosText.Text      = Convert.ToString(histClinica.QuistesOvaricos);
                        endometriosisCheck.Checked    = histClinica.Endometriosis;
                        otrosGinecobstetricoText.Text = histClinica.Otros_Ginecobstetrico;
                        medicamentosText.Text         = histClinica.Medicamentos;
                        otrosMedicamentosText.Text    = histClinica.IndicacionesMedicamentos;
                        fracturasText.Text            = histClinica.Fracturas;
                        vesiculaText.Text             = histClinica.Vesicula;
                        apendiceCheck.Checked         = histClinica.Apendice;
                        cordalesCheck.Checked         = histClinica.Cordales;
                        litiasisText.Text             = histClinica.Litiasis;
                        columnaText.Text              = histClinica.Columna;
                        otrosQuirugicosText.Text      = histClinica.Otros_Quirurgico;
                        dMFamText.Text                = histClinica.DM_Fam;
                        HTAFamText.Text               = histClinica.HTA_Fam;
                        asmaFamText.Text              = histClinica.Asma_Fam;
                        cancerFamText.Text            = histClinica.Cancer_Fam;
                        epilepsiaFamText.Text         = histClinica.Epilepsia_Fam;
                        demenciasFamText.Text         = histClinica.Demencias_Fam;
                        psicofamiliaresText.Text      = histClinica.Enferm_Psiq_Fam;
                        psicofamiliaresText.Text      = histClinica.Otros_Fam;
                    }
                }
            } catch (Exception) {
                lblMensaje.Text    = "<div class=\"alert alert-danger alert - dismissible fade show\" role=\"alert\"> <strong>Error al cargar los datos del historial clínico </strong>Regrese a la página principal.<button type = \"button\" class=\"close\" data-dismiss=\"alert\" aria-label=\"Close\"> <span aria-hidden=\"true\">&times;</span> </button> </div>";
                lblMensaje.Visible = true;
            }
        }
예제 #3
0
        public void pruebaInsertarHistorial_ThrowsSqlException()
        {
            BLHistoriaClinica hist = new BLHistoriaClinica(0, "123", "ABCDEF", false, true, false, false, "Enfermedades cardiacas", false, "No tiene", "otros patologic", true,
                                                           true, true, "alergias", "dsd", false, "14/02/2018", 0, 0, 0, false, "otros gineco", "medicamentos", "indic medicam", "no tiene", "vesicula",
                                                           true, true, "asdas", "rer", "otros quirugic", "dm familiares", "hta familiares", "asma familiar", "cancer familiar", "epilepsia familiar", "demencias familiares",
                                                           "enf psiquiatricas familiares", "otros famili");
            BLManejadorHistoriaClinica manejHistClin = new BLManejadorHistoriaClinica();

            manejHistClin.insertarHistorialClinico(hist);
        }
예제 #4
0
        public void MetInsertarHistorialClinico()
        {
            BLHistoriaClinica historial = new BLHistoriaClinica(0, "101230546", "O+", false, true, false, false, "Enfermedades cardiacas", false, "No tiene", "otros patologic", true,
                                                                true, true, "alergias", "dsd", false, "14/02/2018", 0, 0, 0, false, "otros gineco", "medicamentos", "indic medicam", "no tiene", "vesicula",
                                                                true, true, "asdas", "rer", "otros quirugic", "dm familiares", "hta familiares", "asma familiar", "cancer familiar", "epilepsia familiar", "demencias familiares",
                                                                "enf psiquiatricas familiares", "otros famili");

            BLManejadorHistoriaClinica manejadHistorClin = new BLManejadorHistoriaClinica();

            manejadHistorClin.insertarHistorialClinico(historial);
        }
예제 #5
0
        private void mostrarExpediente(string codigo)
        {
            BLExpediente           expediente      = new BLExpediente();
            BLDireccion            expDireccion    = new BLDireccion();
            BLEncargado_Facturante encargado       = new BLEncargado_Facturante();
            BLDireccion            encDireccion    = new BLDireccion();
            BLEncargado_Facturante facturante      = new BLEncargado_Facturante();
            BLDireccion            facDireccion    = new BLDireccion();
            BLHistoriaClinica      historiaClinica = new BLHistoriaClinica();

            ManejadorExpediente manejador = new ManejadorExpediente();

            manejador.mostrarExpediente(codigo, expediente, expDireccion, encargado, encDireccion, facturante, facDireccion, historiaClinica);

            Session["expediente"] = expediente;


            // Aqui recupero los datos que se van a mostrar en el pdf de la referencia medica y el esquema de vacunacion

            ManejadorEdad manejadorEdad = new ManejadorEdad();

            Session["nombrePaciente"] = expediente.Nombre + " " + expediente.PrimerApellido + " " + expediente.SegundoApellido;
            Session["edadPaciente"]   = manejadorEdad.ExtraerEdad(expediente.FechaNacimiento);
            Session["fechaNacimento"] = expediente.FechaNacimiento;

            Session["direccionPaciente"]  = expDireccion.Distrito + ", " + expDireccion.Canton + ", " + expDireccion.Provincia;
            Session["nombreEncargado"]    = encargado.Nombre + " " + encargado.PrimerApellido + " " + encargado.SegundoApellido;
            Session["telefonoEncargado"]  = encargado.Telefono;
            Session["direccionEncargado"] = encDireccion.Barrio + ", " + encDireccion.Distrito + ", "
                                            + encDireccion.Canton + ", " + encDireccion.Provincia;


            /////////////////////////////////////////////////////////////////////////////////

            asignarTab_1(expediente, expDireccion);
            asignarTab_2(encargado, encDireccion);
            asignarTab_3(facturante, facDireccion);
            asignarTab_4(historiaClinica);
        }
예제 #6
0
        protected void guardarExpediente_Click(object sender, EventArgs e)
        {
            string confirmacion;

            BLExpediente           expediente      = new BLExpediente();
            BLDireccion            direccionExp    = new BLDireccion();
            BLEncargado_Facturante encargado       = new BLEncargado_Facturante();
            BLDireccion            direccionEncar  = new BLDireccion();
            BLEncargado_Facturante facturante      = new BLEncargado_Facturante();
            BLDireccion            direccionFactu  = new BLDireccion();
            BLHistoriaClinica      historiaClinica = new BLHistoriaClinica();

            ManejadorExpediente manejador = new ManejadorExpediente();



            //Revisar si cuando se presiona el boton de guardar es para actualizar un expediente o ingresar un nuevo expediente
            if ((string)Session["pagina"] == "listaExpedientes-seleccionado")
            {
                actualizarExpediente(expediente, direccionExp, direccionEncar, direccionFactu, encargado, facturante, historiaClinica);
                confirmacion = manejador.actualizarExpediente(expediente, direccionExp, direccionEncar, direccionFactu, encargado, facturante, historiaClinica);
                ActualizarEsquemaVacunacion();
            }
            else
            {
                infoTab_1(expediente, direccionExp);
                infoTab_2(encargado, direccionEncar);
                infoTab_3(facturante, direccionFactu);
                infoTab_4(historiaClinica);

                // Enviar datos para guardar en BD
                confirmacion = manejador.crearExpediente(expediente, direccionExp, direccionEncar, direccionFactu, encargado, facturante, historiaClinica);
            }

            MostrarMensaje(confirmacion);

            Response.Redirect("ListaExpedientes.aspx");
        }
예제 #7
0
        private void infoTab_4(BLHistoriaClinica historiaClinica)
        {
            historiaClinica.AP_Talla             = float.Parse(tallaNacer.Text);
            historiaClinica.AP_Peso              = float.Parse(pesoNacer.Text);;
            historiaClinica.AP_PerimetroCefalico = float.Parse(perimetroCefalico.Text);;
            string calificacion = clasificacionUniversal.Value;

            calificacion += " ";
            if (opcion_pequeno.Checked)
            {
                calificacion += "pequeño";
            }

            if (opcion_grande.Checked)
            {
                calificacion += "grande";
            }

            if (opcion_adecuado.Checked)
            {
                calificacion += "adecuado";
            }

            historiaClinica.AP_CalificacionUniversal = calificacion;
            historiaClinica.AP_APGAR           = decimal.Parse(apgar.Text);
            historiaClinica.AP_EdadGestacional = decimal.Parse(edadGestacional.Text);


            if (otrasComplicacionesAP.Value == "ausentes")
            {
                historiaClinica.AP_OtrasComplicaciones            = false;
                historiaClinica.AP_OtrasComplicacionesDescripcion = "";
            }
            else
            {
                historiaClinica.AP_OtrasComplicaciones            = true;
                historiaClinica.AP_OtrasComplicacionesDescripcion = complicacionPerinatal.Value.Trim();
            }


            if (asmaCheck.Checked)
            {
                historiaClinica.HF_Asma = true;
            }

            if (diabetesCheck.Checked)
            {
                historiaClinica.HF_Diabetes = true;
            }

            if (hipertensionCheck.Checked)
            {
                historiaClinica.HF_Hipertension = true;
            }

            if (cardiovascularCheck.Checked)
            {
                historiaClinica.HF_Cardivasculares = true;
            }

            if (displidemiaCheck.Checked)
            {
                historiaClinica.HF_Displidemia = true;
            }

            if (epilepsiaCheck.Checked)
            {
                historiaClinica.HF_Epilepsia = true;
            }


            historiaClinica.HF_DescripcionOtros = "";
            if (otrosCheck.Checked)
            {
                historiaClinica.HF_Otros            = true;
                historiaClinica.HF_DescripcionOtros = descripcionOtrosHF.Value.Trim();
            }

            historiaClinica.APAT_Descripcion = "";
            if (apatEstado.Value == "presentesPat")
            {
                historiaClinica.APAT_Estado      = true;
                historiaClinica.APAT_Descripcion = descripcionPatologicos.Value.Trim();
            }

            historiaClinica.AT_Descripcion = "";
            if (atEstado.Value == "presentesTrau")
            {
                historiaClinica.AT_Estado      = true;
                historiaClinica.AT_Descripcion = descripcionTraumatico.Value.Trim();
            }

            historiaClinica.AQ_Descripcion = "";
            if (aqEstado.Value == "presentesQui")
            {
                historiaClinica.AQ_Estado      = true;
                historiaClinica.AQ_Descripcion = descripcionQuirurgico.Value.Trim();
            }

            historiaClinica.AlegergiasDescripcion = "";
            if (alergiasEstado.Value == "presentesAlergia")
            {
                historiaClinica.Alergias = true;
                historiaClinica.AlegergiasDescripcion = descripcionAlergia.Value.Trim();
            }
        }
예제 #8
0
        private void actualizarExpediente(BLExpediente expediente, BLDireccion direccionExpediente, BLDireccion direccionEncargado, BLDireccion direccionFacturante, BLEncargado_Facturante encargado, BLEncargado_Facturante facturante, BLHistoriaClinica historiaClinica)
        {
            //Obtener info actualizable del tab-1
            expediente.Codigo = Session["expedienteSeleccionado"].ToString();

            direccionExpediente.Provincia = proEX.Value.Trim();
            direccionExpediente.Canton    = canEX.Value.Trim();
            direccionExpediente.Distrito  = disEX.Value.Trim();
            string codigoDirExpediente = codigoDireccion(proEX.Value, canEX.Value, disEX.Value, "");

            direccionExpediente.Codigo = codigoDirExpediente;

            if (pacienteNoCedula.Checked)
            {
                expediente.Cedula = "";
            }
            else
            {
                expediente.Cedula = cedulaPaciente.Text.Trim();
            }
            expediente.Nombre = nombrePaciente.Text.Trim();

            if (fotoPaciente.PostedFile.ContentLength > 0)
            {
                expediente.Foto = guardarImag();
            }
            else
            {
                expediente.Foto = expAnti.Foto;
            }

            expediente.ExpedienteAntiguo = VincExpedientePaciente.Text.ToString().Trim();
            expediente.Direccion         = codigoDirExpediente;
            expediente.Encargado         = cedulaEncargado.Text.Trim();
            expediente.Facturante        = cedulaFacturante.Text.Trim();

            //Obtener info actualizable del tab-2
            direccionEncargado.Provincia = proEN.Value.Trim();
            direccionEncargado.Canton    = canEN.Value.Trim();
            direccionEncargado.Distrito  = disEN.Value.Trim();
            direccionEncargado.Barrio    = barEN.Value.Trim();
            string codigoDirEncargado = codigoDireccion(proEN.Value.Trim(), canEN.Value.Trim(), disEN.Value.Trim(), barEN.Value.Trim());

            direccionEncargado.Codigo = codigoDirEncargado;

            encargado.Nombre            = nombreEncargado.Text.Trim();
            encargado.PrimerApellido    = primerApellidoEncargado.Text.Trim();
            encargado.SegundoApellido   = segundoApellidoEncargado.Text.Trim();
            encargado.Cedula            = cedulaEncargado.Text.Trim();
            encargado.Telefono          = decimal.Parse(telefonoEncargado.Text);
            encargado.Parentesco        = parentezcoEncargado.Text.Trim();
            encargado.CorreoElectronico = correoEncargado.Text.Trim();
            encargado.Direccion         = codigoDirEncargado;

            //Obtener info actualizable del tab 3
            direccionFacturante.Provincia = proFA.Value.Trim();
            direccionFacturante.Canton    = canFA.Value.Trim();
            direccionFacturante.Distrito  = disFA.Value.Trim();
            direccionFacturante.Barrio    = barFA.Value.Trim();
            string codigoDirFacturante = codigoDireccion(proFA.Value.Trim(), canFA.Value.Trim(), disFA.Value.Trim(), barFA.Value.Trim());

            direccionFacturante.Codigo = codigoDirFacturante;

            facturante.Nombre            = nombreFacturante.Text.Trim();
            facturante.PrimerApellido    = primerApellidoFacturante.Text.Trim();
            facturante.SegundoApellido   = segundoApellidoFacturante.Text.Trim();
            facturante.Cedula            = cedulaFacturante.Text.Trim();
            facturante.Telefono          = decimal.Parse(telefonoFacturante.Text);
            facturante.CorreoElectronico = correoFacturante.Text.Trim();
            facturante.Direccion         = codigoDirFacturante;

            //Obtener info actualizable del tab 4
            if (asmaCheck.Checked)
            {
                historiaClinica.HF_Asma = true;
            }

            if (diabetesCheck.Checked)
            {
                historiaClinica.HF_Diabetes = true;
            }

            if (hipertensionCheck.Checked)
            {
                historiaClinica.HF_Hipertension = true;
            }

            if (cardiovascularCheck.Checked)
            {
                historiaClinica.HF_Cardivasculares = true;
            }

            if (displidemiaCheck.Checked)
            {
                historiaClinica.HF_Displidemia = true;
            }

            if (epilepsiaCheck.Checked)
            {
                historiaClinica.HF_Epilepsia = true;
            }


            historiaClinica.HF_DescripcionOtros = "";
            if (otrosCheck.Checked)
            {
                historiaClinica.HF_Otros            = true;
                historiaClinica.HF_DescripcionOtros = descripcionOtrosHF.Value.Trim();
            }

            historiaClinica.APAT_Descripcion = "";
            if (apatEstado.Value == "presentesPat")
            {
                historiaClinica.APAT_Estado      = true;
                historiaClinica.APAT_Descripcion = descripcionPatologicos.Value.Trim();
            }

            historiaClinica.AT_Descripcion = "";
            if (atEstado.Value == "presentesTrau")
            {
                historiaClinica.AT_Estado      = true;
                historiaClinica.AT_Descripcion = descripcionTraumatico.Value.Trim();
            }

            historiaClinica.AQ_Descripcion = "";
            if (aqEstado.Value == "presentesQui")
            {
                historiaClinica.AQ_Estado      = true;
                historiaClinica.AQ_Descripcion = descripcionQuirurgico.Value.Trim();
            }

            historiaClinica.AlegergiasDescripcion = "";
            if (alergiasEstado.Value == "presentesAlergia")
            {
                historiaClinica.Alergias = true;
                historiaClinica.AlegergiasDescripcion = descripcionAlergia.Value.Trim();
            }
        }
예제 #9
0
        private void asignarTab_4(BLHistoriaClinica his)
        {
            tallaNacer.Text        = Convert.ToString(his.AP_Talla);
            pesoNacer.Text         = Convert.ToString(his.AP_Peso);
            edadGestacional.Text   = Convert.ToString(his.AP_EdadGestacional);
            apgar.Text             = Convert.ToString(his.AP_APGAR);
            perimetroCefalico.Text = Convert.ToString(his.AP_PerimetroCefalico);

            string cali = his.AP_CalificacionUniversal;

            string[] caliDiv = cali.Split();
            clasificacionUniversal.Value = caliDiv[0].ToString().Trim();
            if (caliDiv[1] == "pequeño")
            {
                opcion_pequeno.Checked = true;
            }

            if (caliDiv[1] == "grande")
            {
                opcion_grande.Checked = true;
            }

            if (caliDiv[1] == "adecuado")
            {
                opcion_adecuado.Checked = true;
            }

            if (his.AP_OtrasComplicaciones == true)
            {
                otrasComplicacionesAP.Value = "presentes";
                complicacionPerinatal.Value = his.AP_OtrasComplicacionesDescripcion;
            }

            if (his.HF_Asma == true)
            {
                asmaCheck.Checked = true;
            }

            if (his.HF_Diabetes == true)
            {
                diabetesCheck.Checked = true;
            }

            if (his.HF_Hipertension == true)
            {
                hipertensionCheck.Checked = true;
            }

            if (his.HF_Cardivasculares == true)
            {
                cardiovascularCheck.Checked = true;
            }

            if (his.HF_Displidemia == true)
            {
                displidemiaCheck.Checked = true;
            }

            if (his.HF_Epilepsia == true)
            {
                epilepsiaCheck.Checked = true;
            }

            if (his.HF_Otros == true)
            {
                otrosCheck.Checked       = true;
                descripcionOtrosHF.Value = his.HF_DescripcionOtros;
            }
            else
            {
                descripcionOtrosHF.Value = "";
            }

            if (his.APAT_Estado == true)
            {
                apatEstado.Value             = "presentesPat";
                descripcionPatologicos.Value = his.APAT_Descripcion;
            }
            else
            {
                descripcionPatologicos.Value = "";
            }

            if (his.AQ_Estado == true)
            {
                aqEstado.Value = "presentesQui";
                descripcionQuirurgico.Value = his.AQ_Descripcion;
            }
            else
            {
                descripcionQuirurgico.Value = "";
            }

            if (his.AT_Estado == true)
            {
                atEstado.Value = "presentesTrau";
                descripcionTraumatico.Value = his.AT_Descripcion;
            }
            else
            {
                descripcionTraumatico.Value = "";
            }

            if (his.Alergias == true)
            {
                alergiasEstado.Value     = "presentesAlergia";
                descripcionAlergia.Value = his.AlegergiasDescripcion;
            }
            else
            {
                descripcionAlergia.Value = "";
            }
        }
예제 #10
0
        private BLExpediente ValidarDatos()
        {
            BLEncargado           encargado       = null;
            BLDestinatarioFactura destinatario    = null;
            BLSolicitanteCita     solicitante     = null;
            BLDatosNacimiento     datosNacimiento = null;
            BLHistoriaClinica     historiaClinica = null;
            BLExpediente          expediente      = new BLExpediente();


            // Datos de PACIENTE

            string cedulaP               = cedulaPaciente.Text.Trim();
            string nombreP               = nombrePaciente.Text.Trim();
            string primerApellidoP       = primerApellidoPaciente.Text.Trim();
            string segundoApellidoP      = segundoApellidoPaciente.Text.Trim();
            string fechaNacimientoP      = fechaNacimientoPaciente.Text.Trim();
            string sexoP                 = sexoPaciente.Text.Trim();
            string urlExpedienteAntiguoP = urlExpedienteAntiguoPaciente.Value.Trim();
            string provinciaP            = provinciaPValue.Value.Trim();
            string cantonP               = cantonPValue.Value.Trim();
            string distritoP             = distritoPValue.Value.Trim();
            string direccionExactaP      = direccionExactaPaciente.Value.Trim();

            string idMedico = "";

            if (Session["codigoMedico"] != null)
            {
                idMedico = Session["codigoMedico"].ToString();
            }

            string fechaCreacion = fechaActual.Text.Trim();

            // Comienza a validar

            if (nombreP.Equals("") || primerApellidoP.Equals("") || fechaNacimientoP.Equals("") || sexoP.Equals("nulo") ||
                provinciaP.Equals("nulo") || cantonP.Equals("nulo") || distritoP.Equals("nulo") ||
                fechaCreacion.Equals("") || idMedico.Equals(""))
            {
                return(null);
            }
            else
            {
                // Asigna primeros datos

                expediente.Cedula               = cedulaP;
                expediente.Nombre               = nombreP;
                expediente.PrimerApellido       = primerApellidoP;
                expediente.SegundoApellido      = segundoApellidoP;
                expediente.FechaNacimiento      = fechaNacimientoP;
                expediente.Sexo                 = sexoP;
                expediente.UrlExpedienteAntiguo = urlExpedienteAntiguoP;
                expediente.CodigoDireccion      = provinciaP + "-" + cantonP + "-" + distritoP;
                expediente.DireccionExacta      = direccionExactaP;
                expediente.IDMedico             = idMedico;
                expediente.FechaCreacion        = fechaCreacion;
                expediente.Encargado            = null;
                expediente.DestinatarioFactura  = null;
                expediente.SolicitanteCita      = null;
            }

            // Datos de ENCARGADO

            string cedulaE          = cedulaEncargado.Text.Trim();
            string nombreE          = nombreEncargado.Text.Trim();
            string primerApellidoE  = primerApellidoEncargado.Text.Trim();
            string segundoApellidoE = segundoApellidoEncargado.Text.Trim();
            string telefonoE        = inputTelefonoEncargado.Text.Trim();
            string correoE          = inputCorreoEncargado.Text.Trim();
            string parentescoE      = parentesco.Text.Trim();
            string provinciaE       = provinciaEValue.Value.Trim();
            string cantonE          = cantonEValue.Value.Trim();
            string distritoE        = distritoEValue.Value.Trim();
            string direccionExactaE = direccionExactaEncargado.Value.Trim();

            if (!nombreE.Equals("") || !primerApellidoE.Equals("") || !segundoApellidoE.Equals("") || !telefonoE.Equals("") ||
                !correoE.Equals("") || !parentescoE.Equals("") || !direccionExactaE.Equals("") || !cedulaE.Equals(""))
            {
                if (cedulaE.Equals(""))
                {
                    return(null);
                }
                else
                {
                    if (!provinciaE.Equals("nulo") || !cantonE.Equals("nulo") || !distritoE.Equals("nulo"))
                    {
                        if (provinciaE.Equals("nulo") || cantonE.Equals("nulo") || distritoE.Equals("nulo"))
                        {
                            return(null);
                        }
                    }
                    string codigoDireccion = provinciaE + "-" + cantonE + "-" + distritoE;

                    encargado = new BLEncargado(cedulaE, nombreE, primerApellidoE, segundoApellidoE, telefonoE, correoE, parentescoE,
                                                codigoDireccion, direccionExactaE);
                    expediente.Encargado = encargado;
                }
            }

            // Datos de DESTINATARIO

            if (esDestinatario.Checked == false)
            {
                string cedulaD          = cedulaDestinatario.Text.Trim();
                string nombreD          = nombreDestinatario.Text.Trim();
                string primerApellidoD  = primerApellidoDestinatario.Text.Trim();
                string segundoApellidoD = segundoApellidoDestinatario.Text.Trim();
                string telefonoD        = telefonoDestinatario.Text.Trim();
                string correoD          = correoDestinatario.Text.Trim();
                string provinciaD       = provinciaDValue.Value.Trim();
                string cantonD          = cantonDValue.Value.Trim();
                string distritoD        = distritoDValue.Value.Trim();
                string direccionExactaD = direccionExactaDestinatario.Value.Trim();


                if (cedulaD.Equals(""))
                {
                    return(null);
                }
                else
                {
                    if (!provinciaD.Equals("nulo") || !cantonD.Equals("nulo") || !distritoD.Equals("nulo"))
                    {
                        if (provinciaD.Equals("nulo") || cantonD.Equals("nulo") || distritoD.Equals("nulo"))
                        {
                            return(null);
                        }
                    }
                    string codigoDireccion = provinciaD + "-" + cantonD + "-" + distritoD;

                    destinatario = new BLDestinatarioFactura(cedulaD, nombreD, primerApellidoD, segundoApellidoD, telefonoD,
                                                             correoD, codigoDireccion, direccionExactaD);

                    expediente.DestinatarioFactura = destinatario;
                }
            }

            // Datos de SOLICITANTE

            if (esSolicitante.Checked == false)
            {
                string cedulaS = cedulaSolicitante.Text.Trim();

                string correoS = correoSolicitante.Text.Trim();

                string telefonoS = telefonoSolicitante.Text.Trim();

                if (correoS.Equals("") || cedulaS.Equals(""))
                {
                    return(null);
                }
                else
                {
                    string contrasenna = "CAMBIAR";
                    solicitante = new BLSolicitanteCita(cedulaS, correoS, contrasenna, telefonoS);
                    expediente.SolicitanteCita = solicitante;
                }
            }
            else
            {
                if (expediente.Encargado != null)
                {
                    if (expediente.Encargado.Correo.Equals("") || expediente.Encargado.Cedula.Equals(""))
                    {
                        return(null);
                    }
                }
            }

            // Datos de DATOS DE NACIMIENTO

            string tempTalla         = tallaNacimiento.Text.Trim();
            string tempPeso          = pesoNacimiento.Text.Trim();
            string tempPerimCefalico = perimetroCefalico.Text.Trim();
            string tempEdadGest      = edadGestacional.Text.Trim();
            string tempApgar         = apgar.Text.Trim();


            double talla           = 0.0;
            double peso            = 0.0;
            double perimCefalico   = 0.0;
            double edadGest        = 0.0;
            int    apg             = 0;
            string clasifUniversal = clasificacionUniversal.Text.Trim();

            try
            {
                if (!tempTalla.Equals(""))
                {
                    talla = double.Parse(tempTalla);
                }
                if (!tempPeso.Equals(""))
                {
                    peso = double.Parse(tempPeso);
                }
                if (!tempPerimCefalico.Equals(""))
                {
                    perimCefalico = double.Parse(tempPerimCefalico);
                }
                if (!tempEdadGest.Equals(""))
                {
                    edadGest = double.Parse(tempEdadGest);
                }
                if (!tempApgar.Equals(""))
                {
                    apg = int.Parse(tempApgar);
                }
            }
            catch (Exception)
            {
                return(null);
            }

            datosNacimiento = new BLDatosNacimiento(talla, peso, perimCefalico, apg, edadGest, clasifUniversal);


            // Datos de HISTORIA CLINICA

            string perinatales      = descripcionPerinatal.Value.Trim();
            string patologicos      = descripcionPatologico.Value.Trim();
            string quirurgicos      = descripcionQuirurgico.Value.Trim();
            string traumaticos      = descripcionTraumatico.Value.Trim();
            string heredoFamiliares = descripcionHeredoFamiliar.Value.Trim();
            string alergias         = descripcionAlergia.Value.Trim();
            string vacunas          = descripcionVacuna.Value.Trim();

            if ((anormalPerinatal.Checked && perinatales.Equals("")) ||
                (positivoPatologico.Checked && patologicos.Equals("")) ||
                (positivoQuirurgico.Checked && quirurgicos.Equals("")) ||
                (positivoTraumatico.Checked && traumaticos.Equals("")) ||
                (positivoHeredoFamiliar.Checked && heredoFamiliares.Equals("")) ||
                (positivoAlergias.Checked && alergias.Equals("")) ||
                (pendientesVacunas.Checked && vacunas.Equals("")))
            {
                return(null);
            }

            if (normalPerinatal.Checked)
            {
                perinatales = "";
            }
            if (negativoPatologico.Checked)
            {
                patologicos = "";
            }
            if (negativoQuirurgico.Checked)
            {
                quirurgicos = "";
            }
            if (negativoTraumatico.Checked)
            {
                traumaticos = "";
            }
            if (negativoHeredoFamiliar.Checked)
            {
                heredoFamiliares = "";
            }
            if (negativoAlergias.Checked)
            {
                alergias = "";
            }
            if (aldiaVacunas.Checked)
            {
                vacunas = "";
            }

            historiaClinica = new BLHistoriaClinica(perinatales, patologicos, quirurgicos, traumaticos,
                                                    heredoFamiliares, alergias, vacunas, datosNacimiento);

            expediente.HistoriaClinica = historiaClinica;

            return(expediente);
        }