예제 #1
0
        private void realizar_atencion_citas_gestante()
        {
            DataTable odtCitaPrenatal = new DataTable();

            CapaDeNegocios.CitaPreNatal.cCitaPrenatal oCitaPrenatal = new CapaDeNegocios.CitaPreNatal.cCitaPrenatal();
            DateTime  fecha_cita;
            int       semana_gestacional = 0;
            DataTable odtCitas           = new DataTable();

            /*preparando datatable citas*/


            odtCitas.Columns.Add("N° CITA", typeof(string));
            odtCitas.Columns.Add("FECHA CITA", typeof(string));
            odtCitas.Columns.Add("EDAD GESTACIONAL", typeof(string));


            //oCitaPrenatal.HistoriaClinica.Idthistoriaclinica = HistoriaClinica;
            if (dtgCitasMedicas.Rows.Count > 0)
            {
                /*Si primera cita es diferente a fecha de registro se procede a borrar todas las citas del control de gestante y se añaden nuevamente*/
                //fecha_cita = (DateTime) dtgCitasMedicas.Rows[0].Cells["FECHA CITA"].Value;
                fecha_cita         = (DateTime)dtgCitasMedicas.Rows[0].Cells[3].Value;
                semana_gestacional = (int)dtgCitasMedicas.Rows[0].Cells[4].Value;
                //FUR = FUR.AddDays(Math.Abs(dias_gestacional));
                if (fecha_cita.ToString("dd/MM/yyyy") != Fecha_Registro.ToString("dd/MM/yyyy") || semana_gestacional != Semana_Gestacional)
                {
                    oCitaPrenatal.HistoriaClinica.Idthistoriaclinica = HistoriaClinica;
                    oCitaPrenatal.EliminarCitaXHistoriaClinica(oCitaPrenatal);

                    edad_gestacional_citas = Semana_Gestacional;
                    odtCitas = realizar_citas(odtCitas);
                }
            }
            else
            {
                edad_gestacional_citas = Semana_Gestacional;
                odtCitas = realizar_citas(odtCitas);
            }
            /* SE EVALUA LA SEMANA DE LA PRIMERA ATENCION PRENATAL PARA QUE COHINCIDA CON EL PRONOSTICO */
        }
예제 #2
0
        private DataTable realizar_citas(DataTable odtCitas)
        {
            CapaDeNegocios.CitaPreNatal.cCitaPrenatal oCitaPrenatal = new CapaDeNegocios.CitaPreNatal.cCitaPrenatal();
            DataTable odtCitaPrenatal = new DataTable();
            DateTime  fecha_cita, fecha_prox_cita, fecha_fin;
            int       semana_gestacional = 0;
            DataRow   odrCitas           = odtCitas.NewRow();
            int       k       = 0;
            bool      ocupado = false;

            /*calculando numero de cita*/

            fecha_cita      = Fecha_Registro;
            fecha_prox_cita = Fecha_Registro;
            //fecha_prox_cita = Fecha_Registro.AddMonths(1);
            //fecha_fin = Fecha_Registro.AddDays(28);
            semana_gestacional = edad_gestacional_citas;

            while (semana_gestacional <= 42 && Fecha_Registro.Date < FPP.Date)
            {
                /*nº cita, fecha cita, edad gestacional */
                odrCitas = odtCitas.NewRow();

                /*Numero de cita prenatal*/
                oCitaPrenatal.HistoriaClinica.Idthistoriaclinica = HistoriaClinica;
                odtCitaPrenatal = oCitaPrenatal.ListaCitasPreNatal();
                if (odtCitaPrenatal.Rows.Count > 0)
                {
                    oCitaPrenatal.NumeroCita = Convert.ToInt16(odtCitaPrenatal.Rows[odtCitaPrenatal.Rows.Count - 1][2]) + 1;
                    odrCitas[0] = Convert.ToInt16(odtCitaPrenatal.Rows[odtCitaPrenatal.Rows.Count - 1][2]) + 1;
                }
                else
                {
                    oCitaPrenatal.NumeroCita = 1;
                    odrCitas[0] = 1;
                }

                /*codigo, codigo historia clinica, n° cita, fecha cita, edad gestacional, fua, presion arterial, sulfato ferroso, presion arterial s, presion arterial d, fecha prox. cita*/


                /*codigo cita prenatal*/
                cSiguienteCodigo miSiguienteCodigo = new cSiguienteCodigo();
                foreach (DataRow row in miSiguienteCodigo.SiguientesCodigo("tcitaprenatal", Establecimiento).Rows)
                {
                    oCitaPrenatal.CodigoCitaPrenatal = row[0].ToString();
                }

                if (k != 0)
                {
                    if (edad_gestacional_citas <= 28 && !ocupado)
                    {
                        edad_gestacional_citas += +4;
                        ocupado = true;
                    }
                    if (edad_gestacional_citas >= 29 && edad_gestacional_citas <= 36 && !ocupado)
                    {
                        edad_gestacional_citas = ((edad_gestacional_citas * 7) + 14) / 7;
                        ocupado = true;
                    }
                    if (edad_gestacional_citas >= 37 && edad_gestacional_citas <= 42 && !ocupado)
                    {
                        edad_gestacional_citas += +1;
                        ocupado = true;
                    }
                    ocupado = false;

                    if (edad_gestacional_citas <= 28 && !ocupado)
                    {
                        //Fecha_Registro = Fecha_Registro.AddDays(28);

                        fecha_cita      = fecha_prox_cita;
                        fecha_prox_cita = Fecha_Registro.AddDays(28);
                        Fecha_Registro  = fecha_prox_cita;
                        //fecha_prox_cita = Fecha_Registro.AddDays(28);
                        //edad_gestacional_citas += +4;
                        ocupado = true;
                    }
                    if (edad_gestacional_citas >= 29 && edad_gestacional_citas <= 36 && !ocupado)
                    {
                        //Fecha_Registro = fecha_prox_cita.AddDays(15);
                        fecha_cita = fecha_prox_cita;
                        //fecha_prox_cita = Fecha_Registro;
                        fecha_prox_cita = fecha_prox_cita.AddDays(14);
                        Fecha_Registro  = fecha_prox_cita;
                        //edad_gestacional_citas = ((edad_gestacional_citas * 7) + 15) / 7;
                        ocupado = true;
                    }
                    if (edad_gestacional_citas >= 37 && edad_gestacional_citas <= 42 && !ocupado)
                    {
                        //Fecha_Registro = fecha_prox_cita.AddDays(7);
                        fecha_cita      = fecha_prox_cita;
                        fecha_prox_cita = fecha_prox_cita.AddDays(7);
                        Fecha_Registro  = fecha_prox_cita;
                        //edad_gestacional_citas += +1;
                        ocupado = true;
                    }
                }
                else
                {
                    if (edad_gestacional_citas <= 28 && !ocupado)
                    {
                        fecha_cita      = Fecha_Registro;
                        fecha_prox_cita = Fecha_Registro.AddDays(28);
                        Fecha_Registro  = fecha_prox_cita;
                        ocupado         = true;
                    }
                    if (edad_gestacional_citas >= 29 && edad_gestacional_citas <= 36 && !ocupado)
                    {
                        fecha_cita      = Fecha_Registro;
                        fecha_prox_cita = Fecha_Registro.AddDays(14);
                        Fecha_Registro  = fecha_prox_cita;
                        ocupado         = true;
                    }
                    if (edad_gestacional_citas >= 37 && edad_gestacional_citas <= 42 && !ocupado)
                    {
                        fecha_cita      = Fecha_Registro;
                        fecha_prox_cita = Fecha_Registro.AddDays(7);
                        Fecha_Registro  = fecha_prox_cita;
                        ocupado         = true;
                    }
                }

                semana_gestacional = edad_gestacional_citas;

                ocupado     = false;
                odrCitas[1] = Fecha_Registro;
                odrCitas[2] = edad_gestacional_citas;

                odtCitas.Rows.InsertAt(odrCitas, k);
                k++;


                oCitaPrenatal.HistoriaClinica.Idthistoriaclinica = HistoriaClinica;
                oCitaPrenatal.EdadGestacional  = edad_gestacional_citas;
                oCitaPrenatal.Fua              = "";
                oCitaPrenatal.PresionArterialD = 60;
                oCitaPrenatal.PresionArterialS = 90;
                oCitaPrenatal.SulfatoFerroso   = 30;
                /*calculando fecha cita y proxima cita*/
                oCitaPrenatal.FechaCitaPrenatal        = fecha_cita;
                oCitaPrenatal.FechaProximaCitaPrenatal = fecha_prox_cita;
                oCitaPrenatal.Asistencia = 0;
                oCitaPrenatal.IdObstetra = IdObstetra;
                oCitaPrenatal.AgregarCita(oCitaPrenatal);
            }

            oCitaPrenatal.HistoriaClinica.Idthistoriaclinica = HistoriaClinica;
            dtgCitasMedicas.DataSource = oCitaPrenatal.ListaCitasPreNatal();
            pintar_asistencias();
            return(odtCitas);
        }