示例#1
0
        public static string BuildTestName(string insname, ClassOfMorbidityTestEnum classOfTest)
        {
            string tname = "";

            switch (classOfTest)
            {
            case ClassOfMorbidityTestEnum.CD4:
                tname = String.Format("CD4 Tests-{0}", insname);
                break;

            case ClassOfMorbidityTestEnum.Chemistry:
                tname = String.Format("Total patient samples run on {0}", insname);
                break;

            case ClassOfMorbidityTestEnum.Hematology:
                tname = String.Format("Hematology Tests-{0}", insname);
                break;

            case ClassOfMorbidityTestEnum.OtherTest:
                tname = String.Format("Total {0}", insname);
                break;

            case ClassOfMorbidityTestEnum.ViralLoad:
                tname = String.Format("Viral Load Tests-{0}", insname);
                break;
            }
            return(tname);
        }
示例#2
0
        public virtual int TestRefferedSiteId(ClassOfMorbidityTestEnum ctest)
        {
            int result = 0;

            switch (ctest)
            {
            case ClassOfMorbidityTestEnum.CD4:
                result = Site.CD4RefSite;
                break;

            case ClassOfMorbidityTestEnum.Chemistry:
                result = Site.ChemistryRefSite;
                break;

            case ClassOfMorbidityTestEnum.Hematology:
                result = Site.HematologyRefSite;
                break;

            case ClassOfMorbidityTestEnum.OtherTest:
                result = Site.OtherRefSite;
                break;

            case ClassOfMorbidityTestEnum.ViralLoad:
                result = Site.ViralLoadRefSite;
                break;
            }

            return(result);
        }
        private int InstrumentUsage(ForlabSite s, ClassOfMorbidityTestEnum platform)
        {
            decimal sum = 0;
            // bool error = false;
            int removedInst = 0;
            IList <SiteInstrument> sinst = new List <SiteInstrument>();

            if (s.GetInstrumentByPlatform(platform).Count > 0)//instrument percentage
            {
                sinst = s.GetInstrumentByPlatform(platform);
                foreach (SiteInstrument si in sinst)
                {
                    sum = sum + si.TestRunPercentage;
                }
                if (sum != 100)
                {
                    // error = true;
                    foreach (SiteInstrument si in sinst)
                    {
                        foreach (SiteInstrumentImportData rd in _siteinstrumentdata)
                        {
                            if (rd.InstrumentName == si.Instrument.InstrumentName && rd.SiteName == s.SiteName && !rd.IsExist && !rd.HasError)
                            {
                                s.SiteInstruments.Remove(si);
                                sum = sum + si.TestRunPercentage;
                                removedInst++;
                            }
                        }
                    }
                }
            }
            return(removedInst);
        }
示例#4
0
        public virtual bool TestWasReffered(ClassOfMorbidityTestEnum ctest)
        {
            bool result = false;

            switch (ctest)
            {
            case ClassOfMorbidityTestEnum.CD4:
                result = Site.CD4RefSite > 0;
                break;

            case ClassOfMorbidityTestEnum.Chemistry:
                result = Site.ChemistryRefSite > 0;
                break;

            //case ClassOfMorbidityTestEnum.Consumable:
            //    result = Site.consRefSite > 0;
            //    break;
            case ClassOfMorbidityTestEnum.Hematology:
                result = Site.HematologyRefSite > 0;
                break;

            case ClassOfMorbidityTestEnum.OtherTest:
                result = Site.OtherRefSite > 0;
                break;

            //case ClassOfMorbidityTestEnum.RapidTest:
            //    result = Site.RefSite > 0;
            //    break;
            case ClassOfMorbidityTestEnum.ViralLoad:
                result = Site.ViralLoadRefSite > 0;
                break;
            }

            return(result);
        }
 public CategorizedSitePlatform(string calssOftest, int insId, string insName, int qty, double percent)
 {
     ClassOfTest = (ClassOfMorbidityTestEnum)Enum.Parse(typeof(ClassOfMorbidityTestEnum), calssOftest);
     InstrumentId = insId;
     InstrumentName = insName;
     Quantity = qty;
     Percent = percent;
 }
示例#6
0
 public CategorizedSitePlatform(string calssOftest, int insId, string insName, int qty, double percent)
 {
     ClassOfTest    = (ClassOfMorbidityTestEnum)Enum.Parse(typeof(ClassOfMorbidityTestEnum), calssOftest);
     InstrumentId   = insId;
     InstrumentName = insName;
     Quantity       = qty;
     Percent        = percent;
 }
示例#7
0
        public ListMorbidityTestPane(ClassOfMorbidityTestEnum filiterby)
        {
            this._filiterBy = filiterby;
            this._products  = DataRepository.GetAllProductByClassOfTest(filiterby.ToString());
            this._qMenus    = DataRepository.GetGeneralQuantifyMenuByClass(filiterby.ToString());

            InitializeComponent();

            LoadGeneralQMView();
            PopTests();
            PopGeneralQM();
        }
示例#8
0
        public TestProtocols(MorbidityForecast forecast, ClassOfMorbidityTestEnum classOfTest, Form mdiparent)
        {
            this._forecast    = forecast;
            this._protocol    = DataRepository.GetProtocolByPlatform((int)classOfTest);
            this._mdiparent   = mdiparent;
            this._classOfTest = classOfTest;
            CreatNewProtocol();
            InitializeComponent();

            BindProtocol();
            SelectActiveTab();
        }
        public ListMorbidityTestPane(ClassOfMorbidityTestEnum filiterby)
        {
            this._filiterBy = filiterby;
            this._products = DataRepository.GetAllProductByClassOfTest(filiterby.ToString());
            this._qMenus = DataRepository.GetGeneralQuantifyMenuByClass(filiterby.ToString());

            InitializeComponent();

            LoadGeneralQMView();
            PopTests();
            PopGeneralQM();
        }
示例#10
0
        public int NoOfPlatform(ClassOfMorbidityTestEnum ctest)
        {
            return(_site.Site.GetInstrumentByPlatform(ctest).Count);

            //int no = 0;
            //switch (ctest)
            //{
            //    case ClassOfMorbidityTestEnum.CD4:
            //        no = CD4Paltfroms.Count;
            //        break;
            //}
            //return no;
        }
示例#11
0
        public virtual IList <SiteInstrument> GetInstrumentByPlatform(ClassOfMorbidityTestEnum p)
        {
            IList <SiteInstrument> i = new List <SiteInstrument>();

            foreach (SiteInstrument si in this.SiteInstruments)
            {
                if (si.Instrument.TestingArea.Category == p.ToString())
                {
                    i.Add(si);
                }
            }
            return(i);
        }
示例#12
0
        public int NoOfPlatform(ClassOfMorbidityTestEnum ctest)
        {
            return _site.Site.GetInstrumentByPlatform(ctest).Count;

            //int no = 0;
            //switch (ctest)
            //{
            //    case ClassOfMorbidityTestEnum.CD4:
            //        no = CD4Paltfroms.Count;
            //        break;
            //}
            //return no;
        }
示例#13
0
        public ListSupplyListPane(ClassOfMorbidityTestEnum filiterby)
        {
            _filiterBy = filiterby;
            this._products = DataRepository.GetAllProductByClassOfTest(filiterby.ToString());
            if (filiterby != ClassOfMorbidityTestEnum.Consumable)
                this._qMenus = DataRepository.GetAllQuantifyMenuByClass(_filiterBy.ToString());
            else
                this._qMenus = DataRepository.GetAllGeneralQuantifyMenus();

            InitializeComponent();
            LoadSiteListView();

            PopTests();
        }
示例#14
0
        public ListSupplyListPane(ClassOfMorbidityTestEnum filiterby)
        {
            _filiterBy     = filiterby;
            this._products = DataRepository.GetAllProductByClassOfTest(filiterby.ToString());
            //if (filiterby != ClassOfMorbidityTestEnum.Consumable)
            //    this._qMenus = DataRepository.GetAllQuantifyMenuByClass(_filiterBy.ToString());
            //else
            this._qMenus = DataRepository.GetAllGeneralQuantifyMenus();

            InitializeComponent();
            LoadSiteListView();

            PopTests();
        }
示例#15
0
        public FrmProtocol(ClassOfMorbidityTestEnum classOfTest, Form mdiparent)
        {
            this._protocol = DataRepository.GetProtocolByPlatform((int)classOfTest);
            this._mdiparent = mdiparent;
            this._classOfTest = classOfTest;
            if (_protocol == null)
            {
                CreatNewProtocol();
            }
            InitializeComponent();

            lqtToolStrip1.SaveAndCloseClick += new EventHandler(lqtToolStrip1_SaveAndCloseClick);
            lqtToolStrip1.DisableSaveAndNewButton();
            BindProtocol();
            SelectActiveTab();
        }
示例#16
0
        public FrmProtocol(ClassOfMorbidityTestEnum classOfTest, Form mdiparent)
        {
            this._protocol    = DataRepository.GetProtocolByPlatform((int)classOfTest);
            this._mdiparent   = mdiparent;
            this._classOfTest = classOfTest;
            //if (_protocol == null)
            //{
            CreatNewProtocol();
            //}
            InitializeComponent();

            lqtToolStrip1.SaveAndCloseClick += new EventHandler(lqtToolStrip1_SaveAndCloseClick);
            lqtToolStrip1.DisableSaveAndNewButton();
            BindProtocol();
            SelectActiveTab();
        }
        private IList GetTestSummarys(int forecastid, ClassOfMorbidityTestEnum platform)
        {
            string sql = "SELECT  TestName, sum(TestBasedOnProtocols) as TBP, sum(SymptomDirectedTests) as SD, sum(RepeatedDuetoClinicalReq)as RDC,";

            sql += " sum(InvalidTestandWastage)as ITW, sum(BufferStock) as BS, sum(ReagentstoRunControls)as RRC";
            sql += String.Format(" FROM ChemandOtherNumberofTest  where ForecastId = {0} and Platform = {1}  group by TestName order by TestName", forecastid, (int)platform);

            ISession session = NHibernateHelper.OpenSession();

            return(session.CreateSQLQuery(sql)
                   .AddScalar("TestName", NHibernateUtil.String)
                   .AddScalar("TBP", NHibernateUtil.Double)
                   .AddScalar("SD", NHibernateUtil.Double)
                   .AddScalar("RDC", NHibernateUtil.Double)
                   .AddScalar("ITW", NHibernateUtil.Double)
                   .AddScalar("BS", NHibernateUtil.Double)
                   .AddScalar("RRC", NHibernateUtil.Double)
                   .List());
        }
示例#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);
        }
示例#19
0
        private double[] GetCalculatedReferred(IList <int> siteIds, ClassOfMorbidityTestEnum test)
        {
            double[] result = new double[] { 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d };

            foreach (int id in siteIds)
            {
                MorbidityCalcContainer m = _listOfMorbidityCalcContainers[id];
                switch (test)
                {
                case ClassOfMorbidityTestEnum.CD4:
                    for (int i = 1; i <= 12; i++)
                    {
                        result[i - 1] += m.CD4Calculation.GetCD4TestOutputs[i].TotalCD4TestsReferred();
                    }

                    result[12] += m.CD4Calculation.SubtotalBufferTestBeyondForecast();
                    break;

                case ClassOfMorbidityTestEnum.Hematology:
                    for (int i = 1; i <= 12; i++)
                    {
                        result[i - 1] += m.HematologyCalculation.GetHematologyTestOutputs[i].TotalHematologyTestsReferred();
                    }

                    result[12] += m.HematologyCalculation.SubtotalBufferTestBeyondForecast();
                    break;

                case ClassOfMorbidityTestEnum.ViralLoad:
                    for (int i = 1; i <= 12; i++)
                    {
                        result[i - 1] += m.ViralLoadCalculation.GetViralTestOutputs[i].TotalVLTestsReferred();
                    }

                    result[12] += m.ViralLoadCalculation.SubtotalBufferTestBeyondForecast();
                    break;
                }
            }
            return(result);
        }
示例#20
0
        private string MorbidityTestEnumToString(int mtype)
        {
            ClassOfMorbidityTestEnum mt = (ClassOfMorbidityTestEnum)Enum.ToObject(typeof(ClassOfMorbidityTestEnum), mtype);
            string result = "";

            switch (mt)
            {
            case ClassOfMorbidityTestEnum.CD4:
                result = "CD4";
                break;

            case ClassOfMorbidityTestEnum.Chemistry:
                result = "Chemistry";
                break;

            case ClassOfMorbidityTestEnum.Hematology:
                result = "Hematology";
                break;

            case ClassOfMorbidityTestEnum.ViralLoad:
                result = "Viral Load";
                break;

            case ClassOfMorbidityTestEnum.OtherTest:
                result = "Other Test";
                break;

            case ClassOfMorbidityTestEnum.RapidTest:
                result = "HIV Testing";
                break;

            case ClassOfMorbidityTestEnum.Consumable:
                result = "Consumable";
                break;
            }

            return(result);
        }
 public static string BuildTestName(string insname, ClassOfMorbidityTestEnum classOfTest)
 {
     string tname = "";
     switch (classOfTest)
     {
         case ClassOfMorbidityTestEnum.CD4:
             tname = String.Format("CD4 Tests-{0}", insname);
             break;
         case ClassOfMorbidityTestEnum.Chemistry:
             tname = String.Format("Total patient samples run on {0}", insname);
             break;
         case ClassOfMorbidityTestEnum.Hematology:
             tname = String.Format("Hematology Tests-{0}", insname);
             break;
         case ClassOfMorbidityTestEnum.OtherTest:
             tname = String.Format("Total {0}", insname);
             break;
         case ClassOfMorbidityTestEnum.ViralLoad:
             tname = String.Format("Viral Load Tests-{0}", insname);
             break;
     }
     return tname;
 }
示例#22
0
        public virtual bool TestWasSelected(ClassOfMorbidityTestEnum ctest)
        {
            bool result = false;

            switch (ctest)
            {
            case ClassOfMorbidityTestEnum.CD4:
                result = ForecastCD4;
                break;

            case ClassOfMorbidityTestEnum.Chemistry:
                result = ForecastChemistry;
                break;

            case ClassOfMorbidityTestEnum.Consumable:
                result = ForecastConsumable;
                break;

            case ClassOfMorbidityTestEnum.Hematology:
                result = ForecastHematology;
                break;

            case ClassOfMorbidityTestEnum.OtherTest:
                result = ForecastOtherTest;
                break;

            case ClassOfMorbidityTestEnum.RapidTest:
                result = ForecastVCT;
                break;

            case ClassOfMorbidityTestEnum.ViralLoad:
                result = ForecastViralLoad;
                break;
            }

            return(result);
        }
示例#23
0
        private static string GetTestShortName(ClassOfMorbidityTestEnum ttype)
        {
            string result = "";

            switch (ttype)
            {
            case ClassOfMorbidityTestEnum.CD4:
                result = "CD4";
                break;

            case ClassOfMorbidityTestEnum.Chemistry:
                result = "Chem";
                break;

            case ClassOfMorbidityTestEnum.Hematology:
                result = "Hem";
                break;

            case ClassOfMorbidityTestEnum.ViralLoad:
                result = "VL";
                break;
            }
            return(result);
        }
示例#24
0
        private double[] GetCalculatedReferred(IList<int> siteIds, ClassOfMorbidityTestEnum test)
        {
            double[] result = new double[] { 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d, 0d };

            foreach (int id in siteIds)
            {
                MorbidityCalcContainer m = _listOfMorbidityCalcContainers[id];
                switch (test)
                {
                    case ClassOfMorbidityTestEnum.CD4:
                        for (int i = 1; i <= 12; i++)
                        {
                            result[i - 1] += m.CD4Calculation.GetCD4TestOutputs[i].TotalCD4TestsReferred();
                        }

                        result[12] += m.CD4Calculation.SubtotalBufferTestBeyondForecast();
                        break;
                    case ClassOfMorbidityTestEnum.Hematology:
                        for (int i = 1; i <= 12; i++)
                        {
                            result[i - 1] += m.HematologyCalculation.GetHematologyTestOutputs[i].TotalHematologyTestsReferred();
                        }

                        result[12] += m.HematologyCalculation.SubtotalBufferTestBeyondForecast();
                        break;
                    case ClassOfMorbidityTestEnum.ViralLoad:
                        for (int i = 1; i <= 12; i++)
                        {
                            result[i - 1] += m.ViralLoadCalculation.GetViralTestOutputs[i].TotalVLTestsReferred();
                        }

                        result[12] += m.ViralLoadCalculation.SubtotalBufferTestBeyondForecast();
                        break;
                }
            }
            return result;
        }
示例#25
0
        public virtual IList<SiteInstrument> GetInstrumentByPlatform(ClassOfMorbidityTestEnum p)
        {
            IList<SiteInstrument> i = new List<SiteInstrument>();

            foreach (SiteInstrument si in this.SiteInstruments)
            {
                if (si.Instrument.TestingArea.Category == p.ToString())
                    i.Add(si);
            }
            return i;
        }
示例#26
0
 public virtual bool HasPlatform(ClassOfMorbidityTestEnum ctest)
 {
     return NoOfPlatform(ctest) > 0;
 }
示例#27
0
 public ListOfPrimeryQR(ClassOfMorbidityTestEnum platform)
 {
     _platform = (int)platform;
     _listofPQR = new List<PrimeryQuantifyedReagent>();
     _listofSupplies = new Dictionary<int, QuantifyedReagent>();
 }
示例#28
0
 public virtual bool HasPlatform(ClassOfMorbidityTestEnum ctest)
 {
     return(NoOfPlatform(ctest) > 0);
 }
示例#29
0
 public virtual int NoOfPlatform(ClassOfMorbidityTestEnum ctest)
 {
     return Site.GetInstrumentByPlatform(ctest).Count;
 }
示例#30
0
 public static TestingArea GetTestingAreaByClassOfMorbidity(ClassOfMorbidityTestEnum category)
 {
     return(DaoFactory.GetDaoFactory().CreateTestingAreaDao().GetTestingAreaByClassOfMorbidity(category.ToString()));
 }
示例#31
0
        private void BuildTestMenu(TreeNode parentNode)
        {
            IList <TestingArea> list = DataRepository.GetAllTestingArea();

            //added just for this build will be optimized later on
            IList <TestingGroup> listtg = DataRepository.GetAllTestingGroup();
            IList <Test>         listtc = DataRepository.GetAllTests();

            TreeNode rootNode = new TreeNode("Test Profile");

            rootNode.Tag                = MainMenuTag.TEST.ToString();
            rootNode.ImageIndex         = 2;
            rootNode.SelectedImageIndex = 2;

            TreeNode tareaNode = new TreeNode("Testing Areas [" + list.Count + "]");

            tareaNode.Tag                = MainMenuTag.TEST.ToString() + "|" + -1;
            tareaNode.ImageIndex         = 3;
            tareaNode.SelectedImageIndex = 3;
            rootNode.Nodes.Add(tareaNode);

            TreeNode tgroupNode = new TreeNode("Testing Groups [" + listtg.Count + "]");

            tgroupNode.Tag                = MainMenuTag.TEST.ToString() + "|" + -2;
            tgroupNode.ImageIndex         = 4;
            tgroupNode.SelectedImageIndex = 4;
            rootNode.Nodes.Add(tgroupNode);

            TreeNode testNode = new TreeNode("Tests [" + listtc.Count + "]");

            testNode.Tag                = MainMenuTag.TEST.ToString() + "|" + -3;
            testNode.ImageIndex         = 5;
            testNode.SelectedImageIndex = 5;



            foreach (TestingArea ta in list)
            {
                if (!ta.UseInDemography)
                {
                    TreeNode node = new TreeNode(ta.AreaName);
                    node.Tag                = MainMenuTag.TEST.ToString() + "|-4|" + ta.Id;
                    node.ImageIndex         = 3;
                    node.SelectedImageIndex = 3;
                    AddTestingGroupToMenu(node, ta.TestingGroups);
                    testNode.Nodes.Add(node);
                }
            }
            rootNode.Nodes.Add(testNode);

            ClassOfMorbidityTestEnum[] mtestEnums = LqtUtil.EnumToArray <ClassOfMorbidityTestEnum>();
            TreeNode artNode = new TreeNode("ART Tests");

            artNode.Tag                = MainMenuTag.TEST.ToString() + "|" + -6;
            artNode.ImageIndex         = 5;
            artNode.SelectedImageIndex = 5;


            for (int i = 0; i < mtestEnums.Length; i++)
            {
                ClassOfMorbidityTestEnum cm = mtestEnums[i];
                TreeNode node = new TreeNode(cm.ToString());
                node.Tag                = MainMenuTag.TEST.ToString() + "|-6|" + (int)cm;
                node.ImageIndex         = 4;
                node.SelectedImageIndex = 4;
                //AddTestingGroupToMenu(node, ta.TestingGroups);
                artNode.Nodes.Add(node);
            }

            rootNode.Nodes.Add(artNode);
            //rootNode.Expand();
            parentNode.Nodes.Add(rootNode);
            //treeViewNav.Nodes.Add(rootNode);
        }
 private int InstrumentUsage(ForlabSite s, ClassOfMorbidityTestEnum platform)
 {
     decimal sum = 0;
     // bool error = false;
     int removedInst = 0;
     IList<SiteInstrument> sinst = new List<SiteInstrument>();
     if (s.GetInstrumentByPlatform(platform).Count > 0)//instrument percentage
     {
         sinst = s.GetInstrumentByPlatform(platform);
         foreach (SiteInstrument si in sinst)
         {
             sum = sum + si.TestRunPercentage;
         }
         if (sum != 100)
         {
             // error = true;
             foreach (SiteInstrument si in sinst)
             {
                 foreach (SiteInstrumentImportData rd in _siteinstrumentdata)
                 {
                     if (rd.InstrumentName == si.Instrument.InstrumentName && rd.SiteName == s.SiteName && !rd.IsExist && !rd.HasError)
                     {
                         s.SiteInstruments.Remove(si);
                         sum = sum + si.TestRunPercentage;
                         removedInst++;
                     }
                 }
             }
         }
     }
     return removedInst;
 }
示例#33
0
 public bool HasPlatform(ClassOfMorbidityTestEnum ctest)
 {
     return(NoOfPlatform(ctest) > 0);
     //_site.ForecastCD4
 }
示例#34
0
        public virtual int TestRefferedSiteId(ClassOfMorbidityTestEnum ctest)
        {
            int result = 0;
            switch (ctest)
            {
                case ClassOfMorbidityTestEnum.CD4:
                    result = Site.CD4RefSite;
                    break;
                case ClassOfMorbidityTestEnum.Chemistry:
                    result = Site.ChemistryRefSite;
                    break;
                case ClassOfMorbidityTestEnum.Hematology:
                    result = Site.HematologyRefSite;
                    break;
                case ClassOfMorbidityTestEnum.OtherTest:
                    result = Site.OtherRefSite;
                    break;
                case ClassOfMorbidityTestEnum.ViralLoad:
                    result = Site.ViralLoadRefSite;
                    break;
            }

            return result;
        }
示例#35
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;
        }
示例#36
0
 public ListOfPrimeryQR(ClassOfMorbidityTestEnum platform)
 {
     _platform       = (int)platform;
     _listofPQR      = new List <PrimeryQuantifyedReagent>();
     _listofSupplies = new Dictionary <int, QuantifyedReagent>();
 }
示例#37
0
 public virtual int NoOfPlatform(ClassOfMorbidityTestEnum ctest)
 {
     return(Site.GetInstrumentByPlatform(ctest).Count);
 }
示例#38
0
        public virtual bool TestWasSelected(ClassOfMorbidityTestEnum ctest)
        {
            bool result = false;
            switch (ctest)
            {
                case ClassOfMorbidityTestEnum.CD4:
                    result = ForecastCD4;
                    break;
                case ClassOfMorbidityTestEnum.Chemistry:
                    result = ForecastChemistry;
                    break;
                case ClassOfMorbidityTestEnum.Consumable:
                    result = ForecastConsumable;
                    break;
                case ClassOfMorbidityTestEnum.Hematology:
                    result = ForecastHematology;
                    break;
                case ClassOfMorbidityTestEnum.OtherTest:
                    result = ForecastOtherTest;
                    break;
                case ClassOfMorbidityTestEnum.RapidTest:
                    result = ForecastVCT;
                    break;
                case ClassOfMorbidityTestEnum.ViralLoad:
                    result = ForecastViralLoad;
                    break;
            }

            return result;
        }
示例#39
0
        public virtual bool TestWasReffered(ClassOfMorbidityTestEnum ctest)
        {
            bool result = false;
            switch (ctest)
            {
                case ClassOfMorbidityTestEnum.CD4:
                    result = Site.CD4RefSite > 0;
                    break;
                case ClassOfMorbidityTestEnum.Chemistry:
                    result = Site.ChemistryRefSite > 0;
                    break;
                //case ClassOfMorbidityTestEnum.Consumable:
                //    result = Site.consRefSite > 0;
                //    break;
                case ClassOfMorbidityTestEnum.Hematology:
                    result = Site.HematologyRefSite > 0;
                    break;
                case ClassOfMorbidityTestEnum.OtherTest:
                    result = Site.OtherRefSite > 0;
                    break;
                //case ClassOfMorbidityTestEnum.RapidTest:
                //    result = Site.RefSite > 0;
                //    break;
                case ClassOfMorbidityTestEnum.ViralLoad:
                    result = Site.ViralLoadRefSite > 0;
                    break;
            }

            return result;
        }
示例#40
0
        private void treeViewNav_AfterSelect(object sender, TreeViewEventArgs e)
        {
            string[]    tag  = e.Node.Tag.ToString().Split(new char[] { '|' });
            MainMenuTag mtag = (MainMenuTag)Enum.Parse(typeof(MainMenuTag), tag[0]);

            e.Node.Expand();
            int mid;

            switch (mtag)
            {
            case MainMenuTag.LOCATION:
                if (tag.Length > 1)
                {
                    mid = int.Parse(tag[1]);
                    if (mid == -1)
                    {
                        this._currentUserCtr = new ListRegionPane();
                        LoadCurrentUserCtr();
                    }
                    else if (mid == -2)
                    {
                        this._currentUserCtr = new ListSitePane(0);
                        LoadCurrentUserCtr();
                    }
                    else if (mid == -3)
                    {
                        this._currentUserCtr = new ListSitePane(int.Parse(tag[2]));
                        LoadCurrentUserCtr();
                    }
                    else if (mid == -4)
                    {
                        this._currentUserCtr = new ListSiteCatPane();
                        LoadCurrentUserCtr();
                    }
                }
                else
                {
                    this._currentUserCtr = new ChartSiteperRegion();
                    LoadCurrentUserCtr();
                }
                break;

            case MainMenuTag.SETTINGS:
                break;

            case MainMenuTag.TEST:
                if (tag.Length > 1)
                {
                    mid = int.Parse(tag[1]);
                    if (mid == -1)
                    {
                        this._currentUserCtr = new ListTestingAreaPane();
                        LoadCurrentUserCtr();
                    }
                    else if (mid == -2)
                    {
                        this._currentUserCtr = new ListTestingGroupPane();
                        LoadCurrentUserCtr();
                    }
                    else if (mid == -3)
                    {
                        this._currentUserCtr = new ListTestPane(FiliterTestByEnum.All, 0);
                        LoadCurrentUserCtr();
                    }
                    else if (mid == -4)
                    {
                        this._currentUserCtr = new ListTestPane(FiliterTestByEnum.TestArea, int.Parse(tag[2]));
                        LoadCurrentUserCtr();
                    }
                    else if (mid == -5)
                    {
                        this._currentUserCtr = new ListTestPane(FiliterTestByEnum.TestGroup, int.Parse(tag[2]));
                        LoadCurrentUserCtr();
                    }
                    else if (mid == -6)
                    {
                        if (tag.Length > 2)
                        {
                            ClassOfMorbidityTestEnum mtest = (ClassOfMorbidityTestEnum)Enum.ToObject(typeof(ClassOfMorbidityTestEnum), int.Parse(tag[2]));
                            if (int.Parse(tag[2]) <= 4)
                            {
                                this._currentUserCtr = new ListMorbidityTestPane(mtest);
                            }
                            else
                            {
                                this._currentUserCtr = new ListSupplyListPane(mtest);
                            }

                            LoadCurrentUserCtr();
                        }
                    }
                }
                else
                {
                    this._currentUserCtr = new ChartTestperArea();
                    LoadCurrentUserCtr();
                }
                break;

            case MainMenuTag.PRODUCT:
                if (tag.Length > 1)
                {
                    mid = int.Parse(tag[1]);
                    if (mid == -1)
                    {
                        this._currentUserCtr = new ListProductTypePane();
                        LoadCurrentUserCtr();
                    }
                    else if (mid == -2)
                    {
                        this._currentUserCtr = new ListProductPane(0);
                        LoadCurrentUserCtr();
                    }
                    else if (mid == -3)
                    {
                        this._currentUserCtr = new ListProductPane(int.Parse(tag[2]));
                        LoadCurrentUserCtr();
                    }
                }
                else
                {
                    this._currentUserCtr = new ProductNoperCat();
                    LoadCurrentUserCtr();
                }
                break;

            case MainMenuTag.INSTRUMENT:
                this._currentUserCtr = new ListInstrumentPane();
                LoadCurrentUserCtr();
                break;

            case MainMenuTag.METHODOLOGY:
                if (tag.Length > 1)
                {
                    mid = int.Parse(tag[1]);
                    if (mid == -1)
                    {
                        this._currentUserCtr = new ListConsumptionPane(MethodologyEnum.CONSUMPTION);
                        LoadCurrentUserCtr();
                    }
                    else if (mid == -2)
                    {
                        this._currentUserCtr = new ListConsumptionPane(MethodologyEnum.SERVICE_STATISTIC);
                        LoadCurrentUserCtr();
                    }
                    else if (mid == -3)
                    {
                        this._currentUserCtr = new ListMorbidityPane();
                        LoadCurrentUserCtr();
                    }
                }
                break;

            case MainMenuTag.DASHBOARD:
                this._currentUserCtr = new DashBoard();
                LoadCurrentUserCtr();
                break;

            case MainMenuTag.PROTOCOLS:

                this._currentUserCtr = new ListProtocolPane();
                LoadCurrentUserCtr();
                break;

            case MainMenuTag.RAPIDTEST:

                //this._currentUserCtr = new ListProtocolPane();
                //LoadCurrentUserCtr();
                RapidTestForm frm = new RapidTestForm();
                frm.ShowDialog();
                break;
            }
        }
示例#41
0
 public bool HasPlatform(ClassOfMorbidityTestEnum ctest)
 {
     return NoOfPlatform(ctest) > 0;
     //_site.ForecastCD4
 }
 private static string GetTestShortName(ClassOfMorbidityTestEnum ttype)
 {
     string result = "";
     switch (ttype)
     {
         case ClassOfMorbidityTestEnum.CD4:
             result = "CD4";
             break;
         case ClassOfMorbidityTestEnum.Chemistry:
             result = "Chem";
             break;
         case ClassOfMorbidityTestEnum.Hematology:
             result = "Hem";
             break;
         case ClassOfMorbidityTestEnum.ViralLoad:
             result = "VL";
             break;
     }
     return result;
 }