Example #1
0
        private void GuardarDescripcionAlarma(string descripcionAlarma, SolicitudScreening oSolicitud)
        {
            AlarmaScreening oRegistro = new AlarmaScreening();

            oRegistro.IdSolicitudScreening = oSolicitud;
            oRegistro.IdEfector            = oSolicitud.IdEfector;
            oRegistro.Descripcion          = descripcionAlarma;
            oRegistro.IdUsuarioRegistro    = int.Parse(Session["idUsuario"].ToString());
            oRegistro.FechaRegistro        = DateTime.Now;
            oRegistro.Save();
        }
Example #2
0
 protected void btnGuardar_Click(object sender, EventArgs e)
 {
     if (Page.IsValid)
     {
         SolicitudScreening oRegistro = new SolicitudScreening();
         if (Request["idSolicitud"] != null)
         {
             oRegistro = (SolicitudScreening)oRegistro.Get(typeof(SolicitudScreening), int.Parse(Request["idSolicitud"].ToString()));
         }
         Guardar(oRegistro);
     }
 }
Example #3
0
        private void GuardarAlarmas(SolicitudScreening oSolicitud)
        {
            if (Request["idSolicitud"] != null)
            { ///Elimina Alarmas///
                EliminarAlarmas(oSolicitud);
            }
            string descripcionAlarma = "";


            double   horasolaNac         = double.Parse(txtHoraNacimiento.Value.Substring(0, 2));
            double   minutosoloNac       = double.Parse(txtHoraNacimiento.Value.Substring(3, 2));
            DateTime fechaHoraNacimiento = DateTime.Parse(lblFechaNacimiento.Text).AddHours(horasolaNac).AddMinutes(minutosoloNac);

            double   horasolaExt         = double.Parse(txtHoraExtraccion.Value.Substring(0, 2));
            double   minutosoloExt       = double.Parse(txtHoraExtraccion.Value.Substring(3, 2));
            DateTime fechaHoraExtraccion = DateTime.Parse(txtFechaExtraccion.Value).AddHours(horasolaExt).AddMinutes(minutosoloExt);


            TimeSpan diferencia       = fechaHoraExtraccion - fechaHoraNacimiento;
            double   diferenciasHoras = diferencia.TotalHours;

            if (diferenciasHoras < 36)
            {
                descripcionAlarma = "La extracción se realizó antes de las 36 horas de vida.";
                GuardarDescripcionAlarma(descripcionAlarma, oSolicitud);
            }


            if (oSolicitud.EdadGestacional < 35)
            {
                descripcionAlarma = "Deberá repetirse la muestra a los 15 días: La edad gestacional es menor a 35 semanas.";
                GuardarDescripcionAlarma(descripcionAlarma, oSolicitud);
            }
            if (oSolicitud.Transfusion)
            {
                descripcionAlarma = "Deberá repetirse la muestra a los 7 días: Por terapia transfuncional.";
                GuardarDescripcionAlarma(descripcionAlarma, oSolicitud);
            }
            if (oSolicitud.Prematuro)
            {
                descripcionAlarma = "Deberá repetirse la muestra: Por prematuro.";
                GuardarDescripcionAlarma(descripcionAlarma, oSolicitud);
            }
            if (oSolicitud.IngestaLeche24Horas)
            {
                descripcionAlarma = "El RN tuvo ingesta de leche en las primeras 24 horas";
                GuardarDescripcionAlarma(descripcionAlarma, oSolicitud);
            }
        }
Example #4
0
        private void EliminarAlarmas(SolicitudScreening oSolicitud)
        {
            ISession  m_session = NHibernateHttpModule.CurrentSession;
            ICriteria crit      = m_session.CreateCriteria(typeof(AlarmaScreening));

            crit.Add(Expression.Eq("IdSolicitudScreening", oSolicitud));

            IList detalle = crit.List();

            if (detalle.Count > 0)
            {
                foreach (AlarmaScreening oDetalle in detalle)
                {
                    oDetalle.Delete();
                }
            }
        }
 protected void gvLista_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     if (e.CommandName == "Editar")
     {
         Response.Redirect("IngresoEdit.aspx?idSolicitud=" + e.CommandArgument, false);
     }
     if (e.CommandName == "Protocolo")
     {
         SolicitudScreening oRegistro = new SolicitudScreening();
         oRegistro = (SolicitudScreening)oRegistro.Get(typeof(SolicitudScreening), int.Parse(e.CommandArgument.ToString()));
         int idProtocolo = oRegistro.IdProtocolo;
         if (idProtocolo == 0)///alta de protocolo
         {
             Response.Redirect("../Protocolos/ProtocoloEdit2.aspx?idPaciente=" + oRegistro.IdPaciente.IdPaciente.ToString() + "&Operacion=Alta&idServicio=1&idSolicitudScreening=" + oRegistro.IdSolicitudScreening.ToString());
         }
         else/// modificar protocolo
         {
             Response.Redirect("../Protocolos/ProtocoloEdit2.aspx?idServicio=1&Operacion=Modifica&idProtocolo=" + idProtocolo.ToString() + "&idSolicitudScreening=" + oRegistro.IdSolicitudScreening.ToString());
         }
     }
 }
Example #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                if (Request["idProtocolo"] != null)
                {
                    Business.Data.Laboratorio.Protocolo oRegistro = new Business.Data.Laboratorio.Protocolo();
                    oRegistro = (Business.Data.Laboratorio.Protocolo)oRegistro.Get(typeof(Business.Data.Laboratorio.Protocolo), int.Parse(Request["idProtocolo"].ToString()));

                    SolicitudScreening oSolicitud = new SolicitudScreening();
                    oSolicitud = (Business.Data.Laboratorio.SolicitudScreening)oSolicitud.Get(typeof(Business.Data.Laboratorio.SolicitudScreening), "IdProtocolo", oRegistro);

                    if (oSolicitud != null)
                    {
                        MostrarSolicitudScreeening(oSolicitud);
                    }

                    //    CargarItems();
                    //    CargarScreening(int.Parse(Request["idSolicitudScreening"].ToString()));
                    //    CargarAlarmas(int.Parse(Request["idSolicitudScreening"].ToString()));
                }
            }
        }
Example #7
0
        private int Decodificar(string texto)
        {
            //@PAC|114335^ABADIA RIVERO^PEDRO JULIAN^50242914^3^28/02/2010^1^-^1
            //@PAR|20121445^RIVERO^JUANA^12/12/1980
            //@SOL|114335^39^RIVERO^ABADIA RIVERO^12:30^35^3521,00^False^True^10/03/2012^12:00^True^0^False^False^False^False^False^^^13
            //@ALA|La extracción se realizó antes de las 36 horas de vida.^El RN tuvo ingesta de leche en las primeras 24 horas@PAC|114335^ABADIA RIVERO^PEDRO JULIAN^50242914^3^28/02/2010^1^-^1@PAR|20121445^RIVERO^JUANA^12/12/1980@SOL|114335^59^RIVERO^ABADIA RIVERO^12:00^30^2513,00^False^False^01/03/2012^12:00^False^1^False^False^False^False^False^cualquier antecedente de prueba.cualquier antecedente de prueba.cualquier antecedente de prueba.cualquier antecedente de prueba.cualquier antecedente de prueba.cualquier antecedente de prueba.^^14@ALA|La extracción se realizó antes de las 36 horas de vida.^Deberá repetirse la muestra a los 15 días: La edad gestacional es menor a 35 semanas.

            Usuario oUser = new Usuario();

            oUser = (Usuario)oUser.Get(typeof(Usuario), int.Parse(Session["idUsuario"].ToString()));;


            string[] arr = texto.Split(("@").ToCharArray());
            int      idPaciente = 0; int idSolicitud = 0;
            int      cantidadPacientes = 0;

            if (arr.Length > 0)
            {
                for (int j = 0; j < arr.Length; j++)
                {
                    string   s_tipoSegmento = arr[j].ToString();
                    string[] arrSegmento    = s_tipoSegmento.Split(("|").ToCharArray());

                    for (int i = 0; i < arrSegmento.Length; i++)
                    {
                        switch (arrSegmento[i].Trim())
                        {
                        case "PAC":
                            idPaciente = 0;
                            Efector oEfector = new Efector();
                            cantidadPacientes += 1;
                            string   s_DatosPaciente  = arrSegmento[1].ToString();
                            string[] arrDatosPaciente = s_DatosPaciente.Split(("^").ToCharArray());

                            Paciente oPaciente = new Paciente();

                            oPaciente.Apellido = arrDatosPaciente[1].ToString();
                            oPaciente.Nombre   = arrDatosPaciente[2].ToString();

                            int numeroDocumento = int.Parse(arrDatosPaciente[3].ToString());
                            int idestado        = int.Parse(arrDatosPaciente[6].ToString());
                            idPaciente = existe(numeroDocumento, idestado);
                            if (idPaciente == 0)
                            {
                                oPaciente.NumeroDocumento     = numeroDocumento;
                                oPaciente.IdSexo              = int.Parse(arrDatosPaciente[4].ToString());
                                oPaciente.FechaNacimiento     = DateTime.Parse(arrDatosPaciente[5].ToString());
                                oPaciente.IdEstado            = int.Parse(arrDatosPaciente[6].ToString());
                                oPaciente.InformacionContacto = arrDatosPaciente[7].ToString();
                                oPaciente.IdEfector           = (Efector)oEfector.Get(typeof(Efector), int.Parse(arrDatosPaciente[8].ToString()));


                                oPaciente.FechaAlta                = DateTime.Now;
                                oPaciente.FechaDefuncion           = Convert.ToDateTime("01/01/1900");
                                oPaciente.FechaUltimaActualizacion = DateTime.Now;

                                oPaciente.HistoriaClinica      = 0;
                                oPaciente.IdPais               = 0;
                                oPaciente.IdProvincia          = 0;
                                oPaciente.IdNivelInstruccion   = 0;
                                oPaciente.IdSituacionLaboral   = 0;
                                oPaciente.IdProfesion          = 0;
                                oPaciente.IdOcupacion          = 0;
                                oPaciente.IdLocalidad          = 0;
                                oPaciente.IdBarrio             = 0;
                                oPaciente.IdDepartamento       = 0;
                                oPaciente.IdProvinciaDomicilio = 0;
                                oPaciente.IdObraSocial         = 0;
                                oPaciente.IdUsuario            = 2;
                                oPaciente.IdEstadoCivil        = 0;

                                oPaciente.Save();
                                idPaciente = oPaciente.IdPaciente;
                            }
                            break;

                        case "PAR":
                            if (idPaciente != 0)
                            {
                                string   s_DatosParentesco  = arrSegmento[1].ToString();
                                string[] arrDatosParentesco = s_DatosParentesco.Split(("^").ToCharArray());

                                if (arrDatosParentesco.Length > 2)
                                {
                                    Paciente oPac = new Paciente();
                                    oPac = (Paciente)oPac.Get(typeof(Paciente), idPaciente);

                                    Parentesco par = new Parentesco();
                                    par.IdPaciente         = oPac;
                                    par.NumeroDocumento    = Convert.ToInt32(arrDatosParentesco[0].ToString());
                                    par.Apellido           = arrDatosParentesco[1].ToString();
                                    par.Nombre             = arrDatosParentesco[2].ToString().ToUpper();
                                    par.IdTipoDocumento    = 1;
                                    par.FechaNacimiento    = Convert.ToDateTime(arrDatosParentesco[3].ToString());
                                    par.IdPais             = Convert.ToInt32(1);
                                    par.IdProvincia        = 0;
                                    par.IdNivelInstruccion = 0;
                                    par.IdSituacionLaboral = 0;
                                    par.IdProfesion        = 0;
                                    par.IdUsuario          = oUser;
                                    par.FechaModificacion  = DateTime.Now;
                                    par.Save();
                                }
                            }
                            break;

                        case "SOL":
                            if (idPaciente != 0)
                            {
                                idSolicitud = 0;
                                string   s_DatosSolicitud  = arrSegmento[1].ToString();
                                string[] arrDatosSolicitud = s_DatosSolicitud.Split(("^").ToCharArray());
                                int      numeroOrigen      = int.Parse(arrDatosSolicitud[20].ToString());
                                if (!existe(numeroOrigen))
                                {
                                    SolicitudScreening oSolicitud          = new SolicitudScreening();
                                    Efector            oEfectorSolicitante = new Efector();
                                    Paciente           oPac = new Paciente();
                                    oPac = (Paciente)oPac.Get(typeof(Paciente), idPaciente);
                                    oSolicitud.IdPaciente = oPac;

                                    oSolicitud.IdEfector            = oUser.IdEfector;
                                    oSolicitud.IdEfectorSolicitante = (Efector)oEfectorSolicitante.Get(typeof(Efector), int.Parse(arrDatosSolicitud[1].ToString()));
                                    oSolicitud.ApellidoMaterno      = arrDatosSolicitud[2].ToString();
                                    oSolicitud.ApellidoPaterno      = arrDatosSolicitud[3].ToString();
                                    oSolicitud.HoraNacimiento       = arrDatosSolicitud[4].ToString();
                                    oSolicitud.EdadGestacional      = int.Parse(arrDatosSolicitud[5].ToString());
                                    oSolicitud.Peso = decimal.Parse(arrDatosSolicitud[6].ToString());

                                    if (arrDatosSolicitud[7].ToString() == "False")
                                    {
                                        oSolicitud.Prematuro = false;
                                    }
                                    else
                                    {
                                        oSolicitud.Prematuro = true;
                                    }

                                    if (arrDatosSolicitud[8].ToString() == "False")
                                    {
                                        oSolicitud.PrimeraMuestra = false;
                                    }
                                    else
                                    {
                                        oSolicitud.PrimeraMuestra = true;
                                    }

                                    oSolicitud.FechaExtraccion = DateTime.Parse(arrDatosSolicitud[9].ToString());
                                    oSolicitud.HoraExtraccion  = arrDatosSolicitud[10].ToString();

                                    if (arrDatosSolicitud[11].ToString() == "False")
                                    {
                                        oSolicitud.IngestaLeche24Horas = false;
                                    }
                                    else
                                    {
                                        oSolicitud.IngestaLeche24Horas = true;
                                    }


                                    oSolicitud.TipoAlimentacion = int.Parse(arrDatosSolicitud[12].ToString());

                                    if (arrDatosSolicitud[13].ToString() == "False")
                                    {
                                        oSolicitud.Antibiotico = false;
                                    }
                                    else
                                    {
                                        oSolicitud.Antibiotico = true;
                                    }

                                    if (arrDatosSolicitud[14].ToString() == "False")
                                    {
                                        oSolicitud.Transfusion = false;
                                    }
                                    else
                                    {
                                        oSolicitud.Transfusion = true;
                                    }

                                    if (arrDatosSolicitud[15].ToString() == "False")
                                    {
                                        oSolicitud.Corticoides = false;
                                    }
                                    else
                                    {
                                        oSolicitud.Corticoides = true;
                                    }

                                    if (arrDatosSolicitud[16].ToString() == "False")
                                    {
                                        oSolicitud.Dopamina = false;
                                    }
                                    else
                                    {
                                        oSolicitud.Dopamina = true;
                                    }

                                    if (arrDatosSolicitud[17].ToString() == "False")
                                    {
                                        oSolicitud.EnfermedadTiroideaMaterna = false;
                                    }
                                    else
                                    {
                                        oSolicitud.EnfermedadTiroideaMaterna = true;
                                    }

                                    oSolicitud.AntecedentesMaternos = arrDatosSolicitud[18].ToString();

                                    oSolicitud.Observaciones = arrDatosSolicitud[19].ToString();
                                    oSolicitud.NumeroOrigen  = int.Parse(arrDatosSolicitud[20].ToString());

                                    oSolicitud.FechaRegistro     = DateTime.Parse(DateTime.Now.ToShortDateString());
                                    oSolicitud.IdUsuarioRegistro = oUser;
                                    oSolicitud.Save();
                                    idSolicitud = oSolicitud.IdSolicitudScreening;
                                }
                            }
                            break;

                        case "ALA":
                            if (idSolicitud != 0)
                            {
                                string   s_DatosAlarmas  = arrSegmento[1].ToString();
                                string[] arrDatosAlarmas = s_DatosAlarmas.Split(("^").ToCharArray());

                                for (int k = 0; k < arrDatosAlarmas.Length; k++)
                                {
                                    string s_descripcionAlarma = arrDatosAlarmas[k].ToString();
                                    if (s_descripcionAlarma.Trim() != "")
                                    {
                                        SolicitudScreening oSolicitud = new SolicitudScreening();
                                        oSolicitud = (SolicitudScreening)oSolicitud.Get(typeof(SolicitudScreening), idSolicitud);

                                        AlarmaScreening oRegistro = new AlarmaScreening();
                                        oRegistro.IdSolicitudScreening = oSolicitud;
                                        oRegistro.IdEfector            = oSolicitud.IdEfector;
                                        oRegistro.Descripcion          = s_descripcionAlarma;
                                        oRegistro.IdUsuarioRegistro    = int.Parse(Session["idUsuario"].ToString());
                                        oRegistro.FechaRegistro        = DateTime.Now;
                                        oRegistro.Save();
                                    }
                                }
                            }
                            break;
                        }
                    }
                }
            }

            return(cantidadPacientes);
        }
Example #8
0
        private void mostrarSolicitud(string p)
        {
            SolicitudScreening oRegistro = new SolicitudScreening();

            oRegistro = (SolicitudScreening)oRegistro.Get(typeof(SolicitudScreening), int.Parse(p));

            mostrarPaciente(oRegistro.IdPaciente.IdPaciente);
            ddlEfector.SelectedValue      = oRegistro.IdEfectorSolicitante.ToString();
            ddlEspecialista.SelectedValue = oRegistro.IdMedicoSolicitante.ToString();
            txtApellidoMaterno.Text       = oRegistro.ApellidoMaterno.ToUpper(); /// puede salir de los datos de la madre
            txtApellidoPaterno.Text       = oRegistro.ApellidoPaterno.ToUpper();
            txtHoraNacimiento.Value       = oRegistro.HoraNacimiento;
            txtEdadGestacional.Value      = oRegistro.EdadGestacional.ToString();
            txtPeso.Value = oRegistro.Peso.ToString();
            if (oRegistro.Prematuro)
            {
                rdbNacimiento.SelectedValue = "1";
            }
            else
            {
                rdbNacimiento.SelectedValue = "0";
            }
            if (oRegistro.PrimeraMuestra)
            {
                rdbMuestra.SelectedValue = "1";
            }
            else
            {
                rdbMuestra.SelectedValue = "0";
            }
            txtFechaExtraccion.Value = oRegistro.FechaExtraccion.ToShortDateString();
            txtHoraExtraccion.Value  = oRegistro.HoraExtraccion;
            if (oRegistro.IngestaLeche24Horas)
            {
                rdbIngestaLeche.SelectedValue = "1";
            }
            else
            {
                rdbIngestaLeche.SelectedValue = "0";
            }
            rdbAlimentacion.SelectedValue = oRegistro.TipoAlimentacion.ToString();
            if (oRegistro.Antibiotico)
            {
                rdbAntibiotico.SelectedValue = "1";
            }
            else
            {
                rdbAntibiotico.SelectedValue = "0";
            }
            if (oRegistro.Transfusion)
            {
                rdbTransfusion.SelectedValue = "1";
            }
            else
            {
                rdbTransfusion.SelectedValue = "0";
            }
            if (oRegistro.Corticoides)
            {
                rdbCorticoide.SelectedValue = "1";
            }
            else
            {
                rdbCorticoide.SelectedValue = "0";
            }
            if (oRegistro.Dopamina)
            {
                rdbDopamina.SelectedValue = "1";
            }
            else
            {
                rdbDopamina.SelectedValue = "0";
            }
            if (oRegistro.EnfermedadTiroideaMaterna)
            {
                rdbAntecedenteTiroidea.SelectedValue = "1";
            }
            else
            {
                rdbAntecedenteTiroidea.SelectedValue = "0";
            }
            txtAntecedenteMadre.Text = oRegistro.AntecedentesMaternos;
            CargarGrillaAlarmas();
        }
Example #9
0
        private void Guardar(SolicitudScreening oRegistro)
        {
            Usuario oUser = new Usuario();

            oUser = (Usuario)oUser.Get(typeof(Usuario), int.Parse(Session["idUsuario"].ToString()));;

            Efector oEfectorSolicitante = new Efector();

            if (Request["idSolicitud"] == null)
            {
                Paciente oPaciente = new Paciente();
                oRegistro.IdPaciente = (Paciente)oPaciente.Get(typeof(Paciente), int.Parse(Request["idPaciente"].ToString()));
            }
            oRegistro.IdEfectorSolicitante = (Efector)oEfectorSolicitante.Get(typeof(Efector), int.Parse(ddlEfector.SelectedValue));
            oRegistro.IdMedicoSolicitante  = int.Parse(ddlEspecialista.SelectedValue);
            oRegistro.IdEfector            = oUser.IdEfector;
            oRegistro.ApellidoMaterno      = txtApellidoMaterno.Text.ToUpper(); /// puede salir de los datos de la madre
            oRegistro.ApellidoPaterno      = txtApellidoPaterno.Text.ToUpper();
            oRegistro.HoraNacimiento       = txtHoraNacimiento.Value;
            oRegistro.EdadGestacional      = int.Parse(txtEdadGestacional.Value);
            oRegistro.Peso = decimal.Parse(txtPeso.Value);

            if (rdbNacimiento.SelectedValue == "1")
            {
                oRegistro.Prematuro = true;
            }
            else
            {
                oRegistro.Prematuro = false;
            }
            if (rdbMuestra.SelectedValue == "1")
            {
                oRegistro.PrimeraMuestra = true;
            }
            else
            {
                oRegistro.PrimeraMuestra = false;
            }

            oRegistro.FechaExtraccion = DateTime.Parse(txtFechaExtraccion.Value);
            oRegistro.HoraExtraccion  = txtHoraExtraccion.Value;

            if (rdbIngestaLeche.SelectedValue == "1")
            {
                oRegistro.IngestaLeche24Horas = true;
            }
            else
            {
                oRegistro.IngestaLeche24Horas = false;
            }

            oRegistro.TipoAlimentacion = int.Parse(rdbAlimentacion.SelectedValue);

            if (rdbAntibiotico.SelectedValue == "1")
            {
                oRegistro.Antibiotico = true;
            }
            else
            {
                oRegistro.Antibiotico = false;
            }
            if (rdbTransfusion.SelectedValue == "1")
            {
                oRegistro.Transfusion = true;
            }
            else
            {
                oRegistro.Transfusion = false;
            }
            if (rdbCorticoide.SelectedValue == "1")
            {
                oRegistro.Corticoides = true;
            }
            else
            {
                oRegistro.Corticoides = false;
            }
            if (rdbDopamina.SelectedValue == "1")
            {
                oRegistro.Dopamina = true;
            }
            else
            {
                oRegistro.Dopamina = false;
            }
            if (rdbAntecedenteTiroidea.SelectedValue == "1")
            {
                oRegistro.EnfermedadTiroideaMaterna = true;
            }
            else
            {
                oRegistro.EnfermedadTiroideaMaterna = false;
            }

            oRegistro.AntecedentesMaternos = txtAntecedenteMadre.Text;
            oRegistro.IdUsuarioRegistro    = oUser;
            oRegistro.FechaRegistro        = DateTime.Parse(DateTime.Now.ToShortDateString());
            oRegistro.Save();

            GuardarAlarmas(oRegistro);
            //GuardarProtocolo(oRegistro);

            Response.Redirect("../Protocolos/ProtocoloEdit2.aspx?idPaciente=" + oRegistro.IdPaciente.IdPaciente.ToString() + "&Operacion=Alta&idServicio=1&idSolicitudScreening=" + oRegistro.IdSolicitudScreening.ToString());
            //  Response.Redirect("IngresoMensaje.aspx?id=" + oRegistro.IdSolicitudScreening.ToString(), false);
        }
        private void GuardarAlarmas(SolicitudScreening oSolicitud)
        {
            oSolicitud.EliminarAlarmas();


            string descripcionAlarma = "";////Alarma: (fecha/hora nacimiento-fecha/hora extraccion)<36 --> Generar alarma.

            double   horasolaNac         = double.Parse(oSolicitud.HoraNacimiento.Substring(0, 2));
            double   minutosoloNac       = double.Parse(oSolicitud.HoraNacimiento.Substring(3, 2));
            DateTime fechaHoraNacimiento = DateTime.Parse(oSolicitud.IdProtocolo.IdPaciente.FechaNacimiento.ToShortDateString()).AddHours(horasolaNac).AddMinutes(minutosoloNac);

            double   horasolaExt         = double.Parse(oSolicitud.HoraExtraccion.Substring(0, 2));
            double   minutosoloExt       = double.Parse(oSolicitud.HoraExtraccion.Substring(3, 2));
            DateTime fechaHoraExtraccion = DateTime.Parse(oSolicitud.FechaExtraccion.ToShortDateString()).AddHours(horasolaExt).AddMinutes(minutosoloExt);


            TimeSpan diferencia       = fechaHoraExtraccion - fechaHoraNacimiento;
            double   diferenciasHoras = diferencia.TotalHours;

            int s_idusuario = int.Parse(Session["idUsuario"].ToString());

            if (diferenciasHoras < 36)
            {
                descripcionAlarma = "La extracción se realizó antes de las 36 horas de vida.";
                oSolicitud.GuardarDescripcionAlarma(descripcionAlarma, oSolicitud, s_idusuario);
            }

            if (oSolicitud.EdadGestacional < 35)/// es prematuro
            {
                descripcionAlarma = "Deberá repetirse la muestra a los 15 días: La edad gestacional es menor a 35 semanas.";
                oSolicitud.GuardarDescripcionAlarma(descripcionAlarma, oSolicitud, s_idusuario);
            }

            if (oSolicitud.Transfusion)
            {
                descripcionAlarma = "Deberá repetirse la muestra a los 7 días: Por terapia transfuncional.";
                oSolicitud.GuardarDescripcionAlarma(descripcionAlarma, oSolicitud, s_idusuario);
            }

            if (!oSolicitud.IngestaLeche24Horas)
            {
                descripcionAlarma = "El RN no tuvo ingesta de leche en las primeras 24 horas";
                oSolicitud.GuardarDescripcionAlarma(descripcionAlarma, oSolicitud, s_idusuario);
            }

            if (oSolicitud.Antibiotico)
            {
                descripcionAlarma = "Deberá repetirse la muestra: Por ingesta de antibióticos";
                oSolicitud.GuardarDescripcionAlarma(descripcionAlarma, oSolicitud, s_idusuario);
            }

            if (oSolicitud.Corticoides)
            {
                descripcionAlarma = "Deberá repetirse la muestra: Por ingesta de corticoides";
                oSolicitud.GuardarDescripcionAlarma(descripcionAlarma, oSolicitud, s_idusuario);
            }

            if (oSolicitud.Dopamina)
            {
                descripcionAlarma = "Deberá repetirse la muestra: Por ingesta de dopamina";
                oSolicitud.GuardarDescripcionAlarma(descripcionAlarma, oSolicitud, s_idusuario);
            }

            if (oSolicitud.TipoAlimentacion == "2")
            {
                descripcionAlarma = "Deberá repetirse la muestra: Al normalizar la alimentación";
                oSolicitud.GuardarDescripcionAlarma(descripcionAlarma, oSolicitud, s_idusuario);
            }
        }
        public void GuardarSolicitudScreeening(Business.Data.Laboratorio.Protocolo oRegistro, int i_idsolicitud, string s_operacion)
        {
            //SolicitudScreening oSolicitud = new SolicitudScreening();
            //if (i_idsolicitud>0)  oSolicitud = (SolicitudScreening)oSolicitud.Get(typeof(SolicitudScreening), i_idsolicitud);
            SolicitudScreening oSolicitud = new SolicitudScreening();

            if (s_operacion == "Modifica")
            {
                oSolicitud = (SolicitudScreening)oSolicitud.Get(typeof(SolicitudScreening), "IdProtocolo", oRegistro);
            }

            oSolicitud.HoraNacimiento   = txtHoraNacimiento.Value;
            oSolicitud.EdadGestacional  = int.Parse(txtEdadGestacional.Value);
            oSolicitud.Peso             = int.Parse(txtPeso.Value);
            oSolicitud.FechaExtraccion  = DateTime.Parse(txtFechaExtraccion.Value.Trim());
            oSolicitud.HoraExtraccion   = txtHoraExtraccion.Value.Trim();
            oSolicitud.MotivoRepeticion = ddlMotivoRepeticion.SelectedValue;
            oSolicitud.TipoAlimentacion = rdbTipoAlimentacion.SelectedItem.Text;
            if (rdbPrimeraMuestra.SelectedValue.Trim() == "0")
            {
                oSolicitud.PrimeraMuestra = false;
            }
            else
            {
                oSolicitud.PrimeraMuestra = true;
            }
            if (rdbIngestaLeche24Horas.SelectedValue.Trim() == "0")
            {
                oSolicitud.IngestaLeche24Horas = false;
            }
            else
            {
                oSolicitud.IngestaLeche24Horas = true;
            }
            if (rdbAntibiotico.SelectedValue.Trim() == "0")
            {
                oSolicitud.Antibiotico = false;
            }
            else
            {
                oSolicitud.Antibiotico = true;
            }
            if (rdbTransfusion.SelectedValue.Trim() == "0")
            {
                oSolicitud.Transfusion = false;
            }
            else
            {
                oSolicitud.Transfusion = true;
            }
            if (rdbCorticoide.SelectedValue.Trim() == "0")
            {
                oSolicitud.Corticoides = false;
            }
            else
            {
                oSolicitud.Corticoides = true;
            }
            if (rdbDopamina.SelectedValue.Trim() == "0")
            {
                oSolicitud.Dopamina = false;
            }
            else
            {
                oSolicitud.Dopamina = true;
            }
            if (rdbEnfermedadTiroideaMaterna.SelectedValue.Trim() == "0")
            {
                oSolicitud.EnfermedadTiroideaMaterna = false;
            }
            else
            {
                oSolicitud.EnfermedadTiroideaMaterna = true;
            }
            oSolicitud.AntecedentesMaternos = txtAntecedenteMaterno.Text.Trim();
            if (rdbCorticoideMaterno.SelectedValue.Trim() == "0")
            {
                oSolicitud.CorticoidesMaterno = false;
            }
            else
            {
                oSolicitud.CorticoidesMaterno = true;
            }
            if (oRegistro.NumeroOrigen != "")
            {
                oSolicitud.IdSolicitudScreeningOrigen = int.Parse(oRegistro.NumeroOrigen);
            }
            else
            {
                oSolicitud.IdSolicitudScreeningOrigen = 0;
            }
            oSolicitud.IdProtocolo = oRegistro;

            if (txtNumeroTarjeta.Text != "")
            {
                oSolicitud.NumeroTarjeta = int.Parse(txtNumeroTarjeta.Text);
            }
            else
            {
                oSolicitud.NumeroTarjeta = 0;
            }
            oSolicitud.MedicoSolicitante = lblMedicoSolicitante.Text;
            oSolicitud.ApellidoMaterno   = txtApellidoMaterno.Text;
            oSolicitud.ApellidoPaterno   = oRegistro.IdPaciente.Apellido;// lblApellidoPaterno.Text;
            oSolicitud.NombreParentesco  = txtNombreParentesco.Text;
            if (txtDniMaterno.Text != "")
            {
                oSolicitud.NumerodocumentoParentesco = int.Parse(txtDniMaterno.Text);
            }
            else
            {
                oSolicitud.NumerodocumentoParentesco = 0;
            }

            if (txtFechaNacimientoParentesco.Value != "")
            {
                oSolicitud.FechaNacimientoParentesco = DateTime.Parse(txtFechaNacimientoParentesco.Value);
            }
            else
            {
                oSolicitud.FechaNacimientoParentesco = DateTime.Parse("01/01/1900");
            }
            oSolicitud.IdLugarControl = int.Parse(ddlLugarControl.SelectedValue);

            if (hfFechaRegistro.Value != "")
            {
                oSolicitud.FechaCargaOrigen = DateTime.Parse(hfFechaRegistro.Value);
            }
            else
            {
                oSolicitud.FechaCargaOrigen = oRegistro.FechaRegistro;
            }

            if (hfFechaEnvio.Value != "")
            {
                oSolicitud.FechaEnvioOrigen = DateTime.Parse(hfFechaEnvio.Value);
            }
            else
            {
                oSolicitud.FechaEnvioOrigen = oRegistro.FechaRegistro;
            }

            oSolicitud.Save();

            oSolicitud.GuardarParentesco();

            GuardarAlarmas(oSolicitud);
        }