Exemple #1
0
        private void sListView_BoolListViewSubItemValueChanged(object sender, EXBoolListViewSubItemEventArgs e)
        {
            ARTSite site = (ARTSite)e.ListVItem.Tag;

            site.NTTApplyLinerGrowth = e.Subitem.BoolValue;
            _edited = true;
        }
Exemple #2
0
        private Color CheckForAttritionAndMigration(ARTSite site, int columnIndex, Color defColor)
        {
            if (columnIndex == 1)
            {
                if (site.AITAnnualPatientAttrition > _maxAttrition)
                {
                    return(_colorMaxAttrition);
                }
            }
            else if (columnIndex == 2)
            {
                if (site.AIPAnualPatientAttrition > _maxAttrition)
                {
                    return(_colorMaxAttrition);
                }
            }
            else if (columnIndex == 3)
            {
                if (site.AIPAnnualMigration < _minMigration)
                {
                    return(_colorMinMigration);
                }
            }

            return(defColor);
        }
Exemple #3
0
        private void lqtListView1_SubitemTextChanged(object sender, SubitemTextEventArgs e)
        {
            ListViewItem li = e.ListVItem;

            ARTSite site = (ARTSite)li.Tag;
            double  newvalue;

            switch (e.ColumnIndex)
            {
            case 2:
                if (double.TryParse(li.SubItems[2].Text, out newvalue))
                {
                    if (site.OldDataPatientOnTreatment != newvalue)
                    {
                        SetOnTreatmentAllocation(site, newvalue);
                        RefreshListView();
                    }
                }
                break;

            case 3:
                if (double.TryParse(li.SubItems[3].Text, out newvalue))    //b
                {
                    if (site.OldDataPatientOnPreTreatment != newvalue)
                    {
                        SetOnPreTreatmentAllocation(site, newvalue);
                        RefreshListView();
                    }
                }
                break;
            }
            _edited = true;
        }
Exemple #4
0
        private void lqtListView1_SubitemTextChanged(object sender, SubitemTextEventArgs e)
        {
            ListViewItem li = e.ListVItem;

            ARTSite site = (ARTSite)li.Tag;
            int     newvalue;

            if (e.ColumnIndex == 2)
            {
                if (int.TryParse(li.SubItems[2].Text, out newvalue))//b
                {
                    SetOnTreatmentAllocation(site, newvalue);
                }
            }
            else
            {
                if (int.TryParse(li.SubItems[3].Text, out newvalue))
                {
                    SetOnPreTreatmentAllocation(site, newvalue);
                }
            }


            _edited = true;
        }
Exemple #5
0
        public bool AddSitesToCategory()
        {
            FrmSelectSite frm;

            if (_forecast.UseRegionAsCat)
            {
                frm = new FrmSelectSite(GetSelectedSiteId(), _sites, _activeCategory.RegionId);
            }
            else
            {
                frm = new FrmSelectSite(GetSelectedSiteId(), _sites);
            }
            if (frm.ShowDialog() == DialogResult.OK)
            {
                foreach (ForlabSite site in frm.SelectedSites)
                {
                    ARTSite artsite = new ARTSite();
                    artsite.Site = site;
                    artsite.MorbidityCategory = _activeCategory;

                    //_activeCategory.ARTSites.Add(site);
                    _artSites.Add(artsite);
                }

                //OnForecastInfoDataChanged();
                return(true);
            }
            return(false);
        }
        private void lstSites_SubitemTextChanged(object sender, SubitemTextEventArgs e)
        {
            ListViewItem li = e.ListVItem;

            ARTSite site = (ARTSite)li.Tag;
            double  Num;                                                               //b
            bool    isNum = double.TryParse(li.SubItems[e.ColumnIndex].Text, out Num); //b

            if (isNum)                                                                 //b
            {
                double newvalue = double.Parse(li.SubItems[e.ColumnIndex].Text);

                if (e.ColumnIndex == 2)
                {
                    site.AdultTestingEfficiency = newvalue;
                }
                else if (e.ColumnIndex == 3)
                {
                    site.PediatricTestingEfficiency = newvalue;
                }
                else if (e.ColumnIndex == 4)
                {
                    site.PediatricsPreExistingPatients = newvalue;
                }
                _edited = true;
            }
        }
Exemple #7
0
 protected BaseCalc(ARTSite site, MorbidityForecast forecast, BudgetPeriodInfo periodinfo, int target)
 {
     ArtSite        = site;
     Forecast       = forecast;
     PeriodInfo     = periodinfo;
     TargetSelected = target;
     RTestAlgorithm = null;
 }
        private void SetOnPreTreatmentAllocation(ARTSite site, double newvalue)
        {
            double total = SumOfOldDataPatientOnPreTreatment.Value;

            total = (total - site.EverSPatientOnPreTreatment) + newvalue;
            site.EverSPatientOnPreTreatment     = newvalue;
            _sumofTimeZeroPatientOnPreTreatment = total;
            SetAllOnPreTreatmentAllocation();
        }
Exemple #9
0
        private void SetOnPreTreatmentAllocation(ARTSite site, int newvalue)
        {
            double total = SumOfTimeZeroPatientOnPreTreatment.Value;

            total = (total - site.EverSTimeZeroPatientOnPreTreatment) + newvalue;
            site.EverSTimeZeroPatientOnPreTreatment      = newvalue;
            _sumofTimeZeroPatientOnPreTreatment          = total;
            _forecast.EverSTimeZeroPatientOnPreTreatment = _sumofTimeZeroPatientOnPreTreatment.Value;
        }
        private void RefreshListView()
        {
            foreach (ListViewItem li in lqtListView1.Items)
            {
                ARTSite site = (ARTSite)li.Tag;

                li.SubItems[4].Text = site.EverSPatientOnTreatmentPercent.ToString();
                li.SubItems[5].Text = site.EverSPatientOnPreTreatmentPercent.ToString();
                li.SubItems[6].Text = site.EverSTimeZeroPatientOnTreatment.ToString();
                li.SubItems[7].Text = site.EverSTimeZeroPatientOnPreTreatment.ToString();
            }
        }
Exemple #11
0
        private void lqtListView1_SubitemTextChanged(object sender, SubitemTextEventArgs e)
        {
            ListViewItem li = e.ListVItem;

            ARTSite site  = (ARTSite)li.Tag;
            int     index = e.ColumnIndex;
            double  Num;                                                       //b
            bool    isNum = double.TryParse(li.SubItems[index].Text, out Num); //b

            if (isNum)                                                         //b
            {
                if (e.ColumnIndex == 2)
                {
                    site.ScrTest1Percent = double.Parse(li.SubItems[index].Text);
                }
                if (e.ColumnIndex == 4)
                {
                    site.ScrTest2Percent = double.Parse(li.SubItems[index].Text);
                }
                if (e.ColumnIndex == 6)
                {
                    site.ScrTest3Percent = double.Parse(li.SubItems[index].Text);
                }

                if (e.ColumnIndex == 8)
                {
                    site.ConTest1Percent = double.Parse(li.SubItems[index].Text);
                }
                if (e.ColumnIndex == 10)
                {
                    site.ConTest2Percent = double.Parse(li.SubItems[index].Text);
                }
                if (e.ColumnIndex == 12)
                {
                    site.ConTest3Percent = double.Parse(li.SubItems[index].Text);
                }

                if (e.ColumnIndex == 14)
                {
                    site.TieTest1Percent = double.Parse(li.SubItems[index].Text);
                }
                if (e.ColumnIndex == 16)
                {
                    site.TieTest2Percent = double.Parse(li.SubItems[index].Text);
                }
                if (e.ColumnIndex == 18)
                {
                    site.TieTest3Percent = double.Parse(li.SubItems[index].Text);
                }

                _edited = true;
            }
        }
Exemple #12
0
        private void _sListView_EditableListViewSubitemValueChanged(object sender, EXEditableListViewSubitemEventArgs e)
        {
            ARTSite site = (ARTSite)e.ListVItem.Tag;

            if (e.SubItem.ColumnName.ToString() == "PercentOfChildren")
            {
                site.NTTPercentOfChildren = double.Parse(e.SubItem.Text);
            }
            if (e.SubItem.ColumnName.ToString() == "GrowthTarget")
            {
                site.NTTGrowthTarget = double.Parse(e.SubItem.Text);
            }
            _edited = true;
        }
Exemple #13
0
        private void ApplyDefaultValues()
        {
            double tempV;

            foreach (ListViewItem li in lqtListView1.Items)
            {
                ARTSite site = (ARTSite)li.Tag;

                if (!string.IsNullOrEmpty(txtS1.Text) && double.TryParse(txtS1.Text, out tempV))
                {
                    site.ScrTest1Percent = tempV;
                }
                if (!string.IsNullOrEmpty(txtS2.Text) && double.TryParse(txtS2.Text, out tempV))
                {
                    site.ScrTest2Percent = tempV;
                }
                if (!string.IsNullOrEmpty(txtS3.Text) && double.TryParse(txtS3.Text, out tempV))
                {
                    site.ScrTest3Percent = tempV;
                }

                if (!string.IsNullOrEmpty(txtC1.Text) && double.TryParse(txtC1.Text, out tempV))
                {
                    site.ConTest1Percent = tempV;
                }
                if (!string.IsNullOrEmpty(txtC2.Text) && double.TryParse(txtC2.Text, out tempV))
                {
                    site.ConTest2Percent = tempV;
                }
                if (!string.IsNullOrEmpty(txtC3.Text) && double.TryParse(txtC3.Text, out tempV))
                {
                    site.ConTest3Percent = tempV;
                }

                if (!string.IsNullOrEmpty(txtT1.Text) && double.TryParse(txtT1.Text, out tempV))
                {
                    site.TieTest1Percent = tempV;
                }
                if (!string.IsNullOrEmpty(txtT2.Text) && double.TryParse(txtT2.Text, out tempV))
                {
                    site.TieTest2Percent = tempV;
                }
                if (!string.IsNullOrEmpty(txtT3.Text) && double.TryParse(txtT3.Text, out tempV))
                {
                    site.TieTest3Percent = tempV;
                }
            }
            _edited = true;
        }
Exemple #14
0
        private void lbtRemovesite_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            ARTSite art = (ARTSite)_sListView.SelectedItems[0].Tag;

            _artSites.Remove(art);
            _deletedArtSites.Add(art);

            BindArtSites();

            if (_artSites.Count == 0)
            {
                OnNextButtonStatusChanged(false);
            }
            _isedited = true;
        }
Exemple #15
0
        private void butSave_Click(object sender, EventArgs e)
        {
            var count = 0;

            try
            {
                foreach (var ims in _rdata.Where(ims => !ims.HasError))
                {
                    count++;
                    var artsite = new ARTSite
                    {
                        Site = ims.Site,
                        MorbidityCategory                  = ims.MCategory,
                        ForecastCD4                        = ims.CD4 > 0,
                        ForecastChemistry                  = ims.Chemistry > 0,
                        ForecastHematology                 = ims.Hematology > 0,
                        ForecastViralLoad                  = ims.ViralLoad > 0,
                        ForecastOtherTest                  = ims.OtherTest > 0,
                        ForecastConsumable                 = ims.Consumable > 0,
                        ForecastVCT                        = ims.Vct > 0,
                        TimeZeroPatientOnTreatment         = ims.PatientOnTreatment,
                        TimeZeroPatientOnPreTreatment      = ims.PatientOnPreTreatment,
                        EverSTimeZeroPatientOnTreatment    = ims.EverStartedPonT,
                        EverSTimeZeroPatientOnPreTreatment = ims.EverStartedPonPreT
                    };

                    _artSites.Add(artsite);
                }

                PerformAddition();
                _forecast.TimeZeroPatientOnTreatment    = _sumofTimeZeroPatientOnTreatment;
                _forecast.TimeZeroPatientOnPreTreatment = _sumofTimeZeroPatientOnPreTreatment;

                DataRepository.BatchSaveARTSite(_artSites);

                MessageBox.Show(count + " ART sites are imported and saved successfully.", "Importing", MessageBoxButtons.OK, MessageBoxIcon.Information);
                DialogResult = DialogResult.OK;
                Close();
            }
            catch
            {
                MessageBox.Show("Error: Unable to import and save ART sites data.", "Importing", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                DataRepository.CloseSession();
            }
        }
Exemple #16
0
        private void lqtListView1_SubitemTextChanged(object sender, SubitemTextEventArgs e)
        {
            ListViewItem li = e.ListVItem;

            ARTSite site = (ARTSite)li.Tag;
            double  Num;                                                               //b
            bool    isNum = double.TryParse(li.SubItems[e.ColumnIndex].Text, out Num); //b

            if (isNum)                                                                 //b
            {
                if (e.ColumnIndex == 2)
                {
                    site.ScrTest1Percent = double.Parse(li.SubItems[2].Text);
                    site.ScrTest1        = screening[0].Product != null ? screening[0].Product.Id : 0;
                    site.ConTest1        = conf[0].Product != null ? conf[0].Product.Id : 0;
                }
                if (e.ColumnIndex == 5)
                {
                    site.ScrTest2Percent = double.Parse(li.SubItems[5].Text);
                    site.ScrTest2        = screening[1].Product != null ? screening[1].Product.Id : 0;
                    site.ConTest2        = conf[1].Product != null ? conf[1].Product.Id : 0;
                }
                if (e.ColumnIndex == 8)
                {
                    site.ScrTest3Percent = double.Parse(li.SubItems[8].Text);
                    site.ScrTest3        = screening[2].Product != null ? screening[2].Product.Id : 0;
                    site.ConTest3        = conf[2].Product != null ? conf[2].Product.Id : 0;
                }

                if (e.ColumnIndex == 11)
                {
                    site.TieTest1Percent = double.Parse(li.SubItems[11].Text);
                    site.TieTest1        = tieb[0].Product != null ? tieb[0].Product.Id : 0;
                }
                if (e.ColumnIndex == 13)
                {
                    site.TieTest2Percent = double.Parse(li.SubItems[13].Text);
                    site.TieTest2        = tieb[2].Product != null ? tieb[1].Product.Id : 0;
                }
                if (e.ColumnIndex == 15)
                {
                    site.TieTest3Percent = double.Parse(li.SubItems[15].Text);
                    site.TieTest3        = tieb[2].Product != null ? tieb[2].Product.Id : 0;
                }
                _edited = true;
            }
        }
        private void lstSites_SubitemTextChanged(object sender, SubitemTextEventArgs e)
        {
            ListViewItem li = e.ListVItem;

            ARTSite site = (ARTSite)li.Tag;
            double  Num;                                                               //b
            bool    isNum = double.TryParse(li.SubItems[e.ColumnIndex].Text, out Num); //b

            if (isNum)                                                                 //b
            {
                double newvalue = double.Parse(li.SubItems[e.ColumnIndex].Text);

                if (e.ColumnIndex == 2)
                {
                    site.PITAnnualPatientAttrition = newvalue;
                }
                else if (e.ColumnIndex == 3)
                {
                    site.PITExistingPatientBloodDraws = newvalue;
                }
                else if (e.ColumnIndex == 4)
                {
                    site.PITNewPatientBloodDraws = newvalue;
                }
                else if (e.ColumnIndex == 5)
                {
                    site.PIPAnualPatientAttrition = newvalue;
                }
                else if (e.ColumnIndex == 6)
                {
                    site.PIPAnnualMigration = newvalue;
                }
                else if (e.ColumnIndex == 7)
                {
                    site.PIPExistingPatientBloodDraws = newvalue;
                }
                else if (e.ColumnIndex == 8)
                {
                    site.PIPNewPatientBloodDraws = newvalue;
                }
                _edited = true;
            }
        }
Exemple #18
0
        private string IsValidRow(ARTSite site, ClassOfMorbidityTestEnum ctest)
        {
            if (ctest == ClassOfMorbidityTestEnum.RapidTest || ctest == ClassOfMorbidityTestEnum.Consumable)
            {
                return(null);
            }

            if (site.TestWasSelected(ctest) && !site.TestWasReffered(ctest))
            {
                if (site.NoOfPlatform(ctest) == 0)
                {
                    return("Site has not instrument listed under this test category.");
                }
                return(null);
            }

            if (site.TestWasSelected(ctest) && site.TestWasReffered(ctest))
            {
                if (site.NoOfPlatform(ctest) > 0)
                {
                    return("Site has instrument listed under this test category but it refer it's samples to other.");
                }

                int refId = site.TestRefferedSiteId(ctest);
                foreach (ARTSite s in _artSites)
                {
                    if (refId == s.Site.Id)
                    {
                        if (s.TestWasSelected(ctest))
                        {
                            return(null);
                        }
                        return("Site listed to refer it's samples was not selected to do this test category.");
                    }
                }
                return("Site listed to refer it's samples was not included in this forecast.");
            }

            return(null);
        }
Exemple #19
0
        private void sListView_BoolListViewSubItemValueChanged(object sender, EXBoolListViewSubItemEventArgs e)
        {
            ARTSite site = (ARTSite)e.ListVItem.Tag;

            BooleanColumnName colname = (BooleanColumnName)e.Subitem.ColumnName;

            switch (colname)
            {
            case BooleanColumnName.VCT:
                site.ForecastVCT = e.Subitem.BoolValue;
                break;

            case BooleanColumnName.CD4:
                site.ForecastCD4 = e.Subitem.BoolValue;
                break;

            case BooleanColumnName.Chemistry:
                site.ForecastChemistry = e.Subitem.BoolValue;
                break;

            case BooleanColumnName.Hematology:
                site.ForecastHematology = e.Subitem.BoolValue;
                break;

            case BooleanColumnName.ViralLoad:
                site.ForecastViralLoad = e.Subitem.BoolValue;
                break;

            case BooleanColumnName.OtherTest:
                site.ForecastOtherTest = e.Subitem.BoolValue;
                break;

            case BooleanColumnName.Consumable:
                site.ForecastConsumable = e.Subitem.BoolValue;
                break;
            }
            _isedited = true;
        }
Exemple #20
0
        private void RefreshListView()
        {
            foreach (ListViewItem li in _sListView.Items)
            {
                ARTSite site = (ARTSite)li.Tag;

                //li.SubItems[2].Text = site.NTTPercentOfChildren.ToString();

                //li.SubItems[3].Text = site.TimeZeroPatientOnTreatment.ToString();
                li.SubItems[4].Text  = site.NTTJanuary.ToString();
                li.SubItems[5].Text  = site.NTTFebruary.ToString();
                li.SubItems[6].Text  = site.NTTMarch.ToString();
                li.SubItems[7].Text  = site.NTTApril.ToString();
                li.SubItems[8].Text  = site.NTTMay.ToString();
                li.SubItems[9].Text  = site.NTTJune.ToString();
                li.SubItems[10].Text = site.NTTJuly.ToString();
                li.SubItems[11].Text = site.NTTAugust.ToString();
                li.SubItems[12].Text = site.NTTSeptember.ToString();
                li.SubItems[13].Text = site.NTTOctober.ToString();
                li.SubItems[14].Text = site.NTTNovember.ToString();
                li.SubItems[15].Text = site.NTTDecember.ToString();
            }
        }
Exemple #21
0
        private void lstSites_SubitemTextChanged(object sender, SubitemTextEventArgs e)
        {
            ListViewItem li = e.ListVItem;

            ARTSite site = (ARTSite)li.Tag;
            double  Num;                                                               //b
            bool    isNum = double.TryParse(li.SubItems[e.ColumnIndex].Text, out Num); //b

            if (isNum)                                                                 //b
            {
                double newvalue = double.Parse(li.SubItems[e.ColumnIndex].Text);


                if (e.ColumnIndex == 2)
                {
                    site.AdultTestingPopulation = newvalue;
                }
                else if (e.ColumnIndex == 3)
                {
                    site.PediatricTestingPopulation = newvalue;
                }
                else if (e.ColumnIndex == 4)
                {
                    site.AdultDepartWoutFollowup = newvalue;
                }
                else if (e.ColumnIndex == 5)
                {
                    site.PediatricDepartWoutFollowup = newvalue;
                }
                else if (e.ColumnIndex == 6)
                {
                    site.DiagnosesReceiveCD4 = newvalue;
                }
                _edited = true;
            }
        }
 public CalcRapidTest(ARTSite site, MorbidityForecast forecast, BudgetPeriodInfo periodinfo, int target, RapidTestAlgorithm rtestAlgorithm)
     : base(site, forecast, periodinfo, target, rtestAlgorithm)
 {
     _lstPrimaryQuanReagents = new ListOfPrimeryQR(ClassOfMorbidityTestEnum.RapidTest);
 }
Exemple #23
0
 public CalcOtherTest(ARTSite site, MorbidityForecast forecast, BudgetPeriodInfo periodinfo, int target)
     : base(site, forecast, periodinfo, target)
 {
     _lstPrimaryQuanReagents = new ListOfPrimeryQR(ClassOfMorbidityTestEnum.OtherTest);
 }
Exemple #24
0
 public static void SaveOrUpdateARTSite(ARTSite artsite)
 {
     DaoFactory.GetDaoFactory().CreateARTSiteDao().SaveOrUpdate(artsite);
 }
Exemple #25
0
        public CalcPatientNumber(ARTSite site, MorbidityForecast forecast, BudgetPeriodInfo periodinfo, int target)
            : base(site, forecast, periodinfo, target)
        {
            _calcPatientNos = new Dictionary <int, CalculatedSitePatientNumber>();

            if (site.NTTPercentOfChildren > 0)
            {
                ArtPedTargetOnMonth0  = site.GetNTTMonthValue(0) * (site.NTTPercentOfChildren / 100d);
                ArtAdulTargetOnMonth0 = site.GetNTTMonthValue(0) - ArtPedTargetOnMonth0;

                for (int i = 1; i <= 12; i++)
                {
                    CalculatedSitePatientNumber calcPatientNo = new CalculatedSitePatientNumber();
                    calcPatientNo.Month = i;
                    calcPatientNo.ArtPedMonthlyTarget   = site.GetNTTMonthValue(i) * (site.NTTPercentOfChildren / 100d);
                    calcPatientNo.ArtAdultMonthlyTarget = site.GetNTTMonthValue(i) - calcPatientNo.ArtPedMonthlyTarget;
                    _calcPatientNos.Add(i, calcPatientNo);
                }
            }
            else
            {
                ArtPedTargetOnMonth0  = periodinfo.DefultMonthValue[0];
                ArtAdulTargetOnMonth0 = site.GetNTTMonthValue(0) - ArtPedTargetOnMonth0;

                for (int i = 1; i <= 12; i++)
                {
                    CalculatedSitePatientNumber calcPatientNo = new CalculatedSitePatientNumber();
                    calcPatientNo.Month = i;
                    calcPatientNo.ArtPedMonthlyTarget   = periodinfo.DefultMonthValue[i];
                    calcPatientNo.ArtAdultMonthlyTarget = site.GetNTTMonthValue(i) - calcPatientNo.ArtPedMonthlyTarget;
                    _calcPatientNos.Add(i, calcPatientNo);
                }
            }

            //Pre-ART Target Breakdown (as entered by the user)
            if (site.NTPTPercentOfChildren > 0)
            {
                PreArtPedTargetOnMonth0  = site.GetNTPTMonthValue(0) * (site.NTPTPercentOfChildren / 100d);
                PreArtAdulTargetOnMonth0 = site.GetNTPTMonthValue(0) - PreArtPedTargetOnMonth0;

                for (int i = 1; i <= 12; i++)
                {
                    _calcPatientNos[i].PreArtPedMonthlyTarget   = site.GetNTPTMonthValue(i) * (site.NTPTPercentOfChildren / 100d);
                    _calcPatientNos[i].PreArtAdultMonthlyTarget = site.GetNTPTMonthValue(i) - _calcPatientNos[i].PreArtPedMonthlyTarget;
                }
            }
            else
            {
                PreArtPedTargetOnMonth0  = periodinfo.DefultMonthValue[0];
                PreArtAdulTargetOnMonth0 = site.GetNTPTMonthValue(0) - PreArtPedTargetOnMonth0;

                for (int i = 1; i <= 12; i++)
                {
                    _calcPatientNos[i].PreArtPedMonthlyTarget   = periodinfo.DefultMonthValue[i];
                    _calcPatientNos[i].PreArtAdultMonthlyTarget = site.GetNTPTMonthValue(i) - _calcPatientNos[i].PreArtPedMonthlyTarget;
                }
            }


            AdultsMonthlyAttritionRateInTreatment = Math.Round(1d - (Math.Pow(1d - (site.AITAnnualPatientAttrition / 100d), 1d / 12d)), 4, MidpointRounding.ToEven);
            AdultsMonthlyAttritionRateInPreART    = Math.Round(1d - (Math.Pow(1d - (site.AIPAnualPatientAttrition / 100d), 1d / 12d)), 4, MidpointRounding.ToEven);

            AdultMonthlyMigrationtoTreatment = Math.Round(1d - (Math.Pow(1d - (site.AIPAnnualMigration / 100d), 1d / 12d)), 4, MidpointRounding.ToEven);
            AdultCombinedMonthlyRate         = AdultsMonthlyAttritionRateInPreART + AdultMonthlyMigrationtoTreatment;

            PediatricsMonthlyAttritionRateinTreatment = Math.Round(1d - Math.Pow((1d - (site.PITAnnualPatientAttrition / 100d)), (1d / 12d)), 4, MidpointRounding.ToEven);
            PediatricsMonthlyAttritionRateinPreART    = Math.Round(1 - (Math.Pow(1d - (site.PIPAnualPatientAttrition / 100d), 1d / 12d)), 4, MidpointRounding.ToEven);
            PedMonthlyMigrationtoTreatment            = Math.Round(1 - (Math.Pow(1d - (site.PIPAnnualMigration / 100d), 1d / 12d)), 4, MidpointRounding.ToEven);
            PedCombinedMonthlyRate = PediatricsMonthlyAttritionRateinPreART + PedMonthlyMigrationtoTreatment;

            //CurrentPatientsAtSiteInTreatment = site.TimeZeroPatientOnTreatment;
            //CurrentPatientsAtSiteInPreArt = site.TimeZeroPatientOnPreTreatment;
            CurrentAdultinTreatment     = site.TimeZeroPatientOnTreatment * (1d - (site.NTTPercentOfChildren / 100d));
            CurrentPediatricinTreatment = site.TimeZeroPatientOnTreatment * (site.NTTPercentOfChildren / 100d);
            CurrentAdultinPreArt        = site.TimeZeroPatientOnPreTreatment * (1d - (site.NTPTPercentOfChildren / 100d));
            CurrentPediatricinPreArt    = site.TimeZeroPatientOnPreTreatment * (site.NTPTPercentOfChildren / 100d);

            TestingEfficiency = Math.Round((site.AdultTestingEfficiency / 100d), 4, MidpointRounding.ToEven);
            UseTestingE       = forecast.PreTreatmentPatinetTargetEnum == Core.Util.OptPreTreatmentPatinetTargetEnum.TestingEfficiency;
        }
        private void _sListView_EditableListViewSubitemValueChanged(object sender, EXEditableListViewSubitemEventArgs e)
        {
            ARTSite site = (ARTSite)e.ListVItem.Tag;

            _edited = true;

            if (e.SubItem.ColumnName.ToString() == "PercentOfChildren")
            {
                site.NTTPercentOfChildren = double.Parse(e.SubItem.Text);
            }
            else
            {
                MonthNameEnum month = (MonthNameEnum)e.SubItem.ColumnName;
                switch (month)
                {
                case MonthNameEnum.January:
                    site.NTTJanuary = double.Parse(e.SubItem.Text);
                    break;

                case MonthNameEnum.February:
                    site.NTTFebruary = double.Parse(e.SubItem.Text);
                    break;

                case MonthNameEnum.March:
                    site.NTTMarch = double.Parse(e.SubItem.Text);
                    break;

                case MonthNameEnum.April:
                    site.NTTApril = double.Parse(e.SubItem.Text);
                    break;

                case MonthNameEnum.May:
                    site.NTTMay = double.Parse(e.SubItem.Text);
                    break;

                case MonthNameEnum.June:
                    site.NTTJune = double.Parse(e.SubItem.Text);
                    break;

                case MonthNameEnum.July:
                    site.NTTJuly = double.Parse(e.SubItem.Text);
                    break;

                case MonthNameEnum.August:
                    site.NTTAugust = double.Parse(e.SubItem.Text);
                    break;

                case MonthNameEnum.September:
                    site.NTTSeptember = double.Parse(e.SubItem.Text);
                    break;

                case MonthNameEnum.October:
                    site.NTTOctober = double.Parse(e.SubItem.Text);
                    break;

                case MonthNameEnum.November:
                    site.NTTNovember = double.Parse(e.SubItem.Text);
                    break;

                case MonthNameEnum.December:
                    site.NTTDecember = double.Parse(e.SubItem.Text);
                    break;
                }
            }
        }
Exemple #27
0
 public static void DeleteARTSite(ARTSite artsite)
 {
     DaoFactory.GetDaoFactory().CreateARTSiteDao().Delete(artsite);
 }