Exemplo n.º 1
0
        static void OldMain(string[] args)
        {
            Console.WriteLine("Calculating Stats...");

            using (var context = new PValueDbContext())
            {
                var serviceProvider = new ServiceCollection()
                                      .AddSingleton <IPValueService, PValueService>()
                                      .BuildServiceProvider();

                //----//
                var pService = serviceProvider.GetService <IPValueService>();
                var indList  = pService.GetIndicatorList(context);

                foreach (var item in indList)
                {
                    //----//
                    var phys = context.Indicator_12
                               .Where(p => p.PayrollID == item.ID);

                    if (phys.Count() >= 5)
                    {
                        var stats = pService.CalculateStats(context, item);

                        #region Insert Stats
                        var statsTable = new StatsTable()
                        {
                            PayrollID               = stats.PayrollID,
                            OppeCycleID             = item.OppeCycleID,
                            OppeIndicatorID         = item.OppeIndicatorID,
                            OppePhysicianSubGroupID = item.SubGroupID,
                            Count = stats.Count,
                            // NumeratorSum = stats.NumeratorSum,
                            // DenominatorSum = stats.DenominatorSum,
                            Mean = stats.Mean,
                            StandardDeviation = stats.StandardDeviation,
                            PeerCount         = stats.PeerCount,
                            // PeerNumeratorSum = stats.PeerNumeratorSum,
                            // PeerDenominatorSum = stats.PeerDenominatorSum,
                            PeerMean = stats.PeerMean,
                            PeerStandardDeviation   = stats.PeerStandardDeviation,
                            LevenesTest             = stats.LevenesTest,
                            PValue_EqualVariances   = stats.PValue_EqualVariances,
                            PValue_UnequalVariances = stats.PValue_UnequalVariances,
                            PValue = stats.PValue
                        };
                        context.StatsTable.Add(statsTable);
                        context.SaveChanges();
                        #endregion
                    }

                    // Console.WriteLine($"{stats.PayrollID} - Physician - {stats.Count} - {stats.Mean} - {stats.StandardDeviation} - {stats.LevenesTest} - {stats.PValue_EqualVariances}");
                    // Console.WriteLine($"        - Peers     - {stats.PeerCount} - {stats.PeerMean} - {stats.PeerStandardDeviation} -  - {stats.PValue_UnequalVariances} ---> {stats.PValue}");
                }
                Console.WriteLine("Done!");
                Console.WriteLine("Press Enter Key...");
                Console.Read();
            }
        }
Exemplo n.º 2
0
        public bool AddOrUpdateStatsTable(Statistics stats, Physician phys)
        {
            var statsQ = _context.StatsTable
                         .Where(s => (s.PayrollID == stats.PayrollID) &&
                                (s.OppeCycleID == phys.OppeCycleID) &&
                                (s.OppeIndicatorID == phys.OppeIndicatorID) &&
                                (s.OppePhysicianSubGroupID == phys.SubGroupID));
            var exists = statsQ.Count() > 0;

            if (exists)
            {
                var statsDB = statsQ.SingleOrDefault();
                statsDB.Count             = stats.DenominatorSum;
                statsDB.PayrollID         = stats.PayrollID;
                statsDB.Alpha             = 0.05;
                statsDB.Mean              = stats.Mean;
                statsDB.StandardDeviation = stats.StandardDeviation;
                statsDB.PeerCount         = stats.PeerDenominatorSum;
                statsDB.Sum      = stats.NumeratorSum;
                statsDB.PeerSum  = stats.PeerNumeratorSum;
                statsDB.PeerMean = stats.PeerMean;
                statsDB.PeerStandardDeviation   = stats.PeerStandardDeviation;
                statsDB.LevenesTest             = stats.LevenesTest;
                statsDB.PValue_EqualVariances   = stats.PValue_EqualVariances;
                statsDB.PValue_UnequalVariances = stats.PValue_UnequalVariances;
                statsDB.PValue                  = stats.PValue;
                statsDB.OppeCycleID             = phys.OppeCycleID;
                statsDB.OppeIndicatorID         = phys.OppeIndicatorID;
                statsDB.OppePhysicianSubGroupID = phys.SubGroupID;

                _context.StatsTable.Update(statsDB);
            }
            else
            {
                var statsTable = new StatsTable
                {
                    Count             = stats.DenominatorSum,
                    PayrollID         = stats.PayrollID,
                    Alpha             = 0.05,
                    Mean              = stats.Mean,
                    StandardDeviation = stats.StandardDeviation,
                    PeerCount         = stats.PeerDenominatorSum,
                    Sum      = stats.NumeratorSum,
                    PeerSum  = stats.PeerNumeratorSum,
                    PeerMean = stats.PeerMean,
                    PeerStandardDeviation   = stats.PeerStandardDeviation,
                    LevenesTest             = stats.LevenesTest,
                    PValue_EqualVariances   = stats.PValue_EqualVariances,
                    PValue_UnequalVariances = stats.PValue_UnequalVariances,
                    PValue                  = stats.PValue,
                    OppeCycleID             = phys.OppeCycleID,
                    OppeIndicatorID         = phys.OppeIndicatorID,
                    OppePhysicianSubGroupID = phys.SubGroupID
                };

                _context.StatsTable.Add(statsTable);
            }

            _context.SaveChanges();

            return(exists);
        }