55 lines
1.6 KiB
C#
55 lines
1.6 KiB
C#
<Query Kind="Statements">
|
|
<Connection>
|
|
<ID>bd4e97c5-84e7-4c61-80ca-8d53d7876af2</ID>
|
|
<Persist>true</Persist>
|
|
<Server>D0001-SQL-11.sdt.local</Server>
|
|
<Database>jazz dev master Prod</Database>
|
|
<ShowServer>true</ShowServer>
|
|
</Connection>
|
|
</Query>
|
|
|
|
var config = (from c in Configurations where c.FiscalYearID == 2020 select c).First();
|
|
var opps = (from OBJ in QVILineItemOpportunities
|
|
join qve in QualityVariationEvents on OBJ.QualityVariationEventID equals qve.QualityVariationEventID
|
|
where OBJ.ConfigurationGUID == config.ConfigurationGUID
|
|
&& !OBJ.IsHidden
|
|
select new
|
|
{
|
|
OBJ.OpportunityGUID,
|
|
OBJ.InitiativeGUID,
|
|
OBJ.Savings,
|
|
// OBJ.DateModified,
|
|
// OBJ.DateCreated,
|
|
// OBJ.ConfigurationGUID,
|
|
// OBJ.IsHidden,
|
|
OBJ.TotalCasesWithQVI,
|
|
OBJ.TotalPatientDaysWithQVI,
|
|
OBJ.TotalCostWithQVI,
|
|
OBJ.NetRevenueWithQVI,
|
|
OBJ.BreakdownName,
|
|
OBJ.BreakdownID,
|
|
OBJ.CommittedSavingsLevel,
|
|
OBJ.TotalCases,
|
|
OBJ.Note,
|
|
OBJ.QualityVariationEventID,
|
|
QualityVariationEventName = qve.Name,
|
|
QualityVariationEventCategory = qve.Category,
|
|
qve.QVILineItemID,
|
|
QVILineItemName = qve.Name,
|
|
QVIName = qve.Category,
|
|
qve.SortOrder,
|
|
qve.ClinicalIndicatorID
|
|
}).ToList();
|
|
opps
|
|
.GroupBy(p => p.QualityVariationEventCategory,
|
|
(category, qvi) => new
|
|
{
|
|
Name = category,
|
|
Savings = qvi.Sum(x => x.Savings),
|
|
Cases = qvi.Sum(x => x.TotalCasesWithQVI),
|
|
SavingsMaxPotential = qvi.WeightedAverage(x => x.Savings.DivideBy(x.TotalCasesWithQVI), w => w.TotalCasesWithQVI),
|
|
QVISubItems = qvi.ToList()
|
|
})
|
|
.OrderByDescending(p => p.Cases)
|
|
.ThenByDescending(p => p.Savings)
|
|
.Dump(); |