chore: deploy initial linqpad queries
This commit is contained in:
@@ -0,0 +1,161 @@
|
||||
<Query Kind="Program">
|
||||
<Connection>
|
||||
<ID>463c2997-8a6a-4688-9575-6549e5215f7b</ID>
|
||||
<Persist>true</Persist>
|
||||
<Server>D0011-SQL-01.sdt.local</Server>
|
||||
<Database>jazz tst CNE 20191210.1</Database>
|
||||
<ShowServer>true</ShowServer>
|
||||
</Connection>
|
||||
<Reference><ProgramFilesX64>\Microsoft SDKs\Azure\.NET SDK\v2.9\bin\plugins\Diagnostics\Newtonsoft.Json.dll</Reference>
|
||||
<NuGetReference>Amazon.Lambda.S3Events</NuGetReference>
|
||||
<NuGetReference>AWSSDK.Core</NuGetReference>
|
||||
<NuGetReference>AWSSDK.S3</NuGetReference>
|
||||
<Namespace>Amazon</Namespace>
|
||||
<Namespace>Amazon.Auth.AccessControlPolicy</Namespace>
|
||||
<Namespace>Amazon.Auth.AccessControlPolicy.ActionIdentifiers</Namespace>
|
||||
<Namespace>Amazon.Internal</Namespace>
|
||||
<Namespace>Amazon.Lambda.S3Events</Namespace>
|
||||
<Namespace>Amazon.MissingTypes</Namespace>
|
||||
<Namespace>Amazon.Runtime</Namespace>
|
||||
<Namespace>Amazon.Runtime.CredentialManagement</Namespace>
|
||||
<Namespace>Amazon.Runtime.CredentialManagement.Internal</Namespace>
|
||||
<Namespace>Amazon.Runtime.EventStreams</Namespace>
|
||||
<Namespace>Amazon.Runtime.EventStreams.Internal</Namespace>
|
||||
<Namespace>Amazon.Runtime.Internal</Namespace>
|
||||
<Namespace>Amazon.Runtime.Internal.Auth</Namespace>
|
||||
<Namespace>Amazon.Runtime.Internal.Settings</Namespace>
|
||||
<Namespace>Amazon.Runtime.Internal.Transform</Namespace>
|
||||
<Namespace>Amazon.Runtime.Internal.Util</Namespace>
|
||||
<Namespace>Amazon.Runtime.SharedInterfaces</Namespace>
|
||||
<Namespace>Amazon.Runtime.SharedInterfaces.Internal</Namespace>
|
||||
<Namespace>Amazon.S3</Namespace>
|
||||
<Namespace>Amazon.S3.Encryption</Namespace>
|
||||
<Namespace>Amazon.S3.Encryption.Internal</Namespace>
|
||||
<Namespace>Amazon.S3.Internal</Namespace>
|
||||
<Namespace>Amazon.S3.IO</Namespace>
|
||||
<Namespace>Amazon.S3.Model</Namespace>
|
||||
<Namespace>Amazon.S3.Model.Internal.MarshallTransformations</Namespace>
|
||||
<Namespace>Amazon.S3.Transfer</Namespace>
|
||||
<Namespace>Amazon.S3.Util</Namespace>
|
||||
<Namespace>Amazon.Util</Namespace>
|
||||
<Namespace>Amazon.Util.Internal</Namespace>
|
||||
<Namespace>Amazon.Util.Internal.PlatformServices</Namespace>
|
||||
<Namespace>Newtonsoft.Json</Namespace>
|
||||
<Namespace>Newtonsoft.Json.Converters</Namespace>
|
||||
<Namespace>Newtonsoft.Json.Linq</Namespace>
|
||||
<Namespace>Newtonsoft.Json.Schema</Namespace>
|
||||
<Namespace>Newtonsoft.Json.Serialization</Namespace>
|
||||
<Namespace>System</Namespace>
|
||||
<Namespace>System.Diagnostics</Namespace>
|
||||
<Namespace>System.Diagnostics.Tracing</Namespace>
|
||||
<Namespace>System.IO.Compression</Namespace>
|
||||
<Namespace>ThirdParty.BouncyCastle.Asn1</Namespace>
|
||||
<Namespace>ThirdParty.BouncyCastle.Asn1.Utilities</Namespace>
|
||||
<Namespace>ThirdParty.BouncyCastle.Math</Namespace>
|
||||
<Namespace>ThirdParty.BouncyCastle.OpenSsl</Namespace>
|
||||
<Namespace>ThirdParty.BouncyCastle.Utilities.IO.Pem</Namespace>
|
||||
<Namespace>ThirdParty.Ionic.Zlib</Namespace>
|
||||
<Namespace>ThirdParty.Json.LitJson</Namespace>
|
||||
<Namespace>ThirdParty.MD5</Namespace>
|
||||
</Query>
|
||||
|
||||
void Main()
|
||||
{
|
||||
var configurationGuid = Guid.Parse("880C4912-5A58-40B7-ADB1-1F9BD365E6AF");
|
||||
(from sd in StaffingToDemandPatientVolumes
|
||||
where new[] {21398, 21915}.Contains(sd.DepartmentID)
|
||||
select sd).ToList()
|
||||
.OrderBy(g => g.DepartmentID)
|
||||
.ThenBy(g => g.IsBaseline)
|
||||
.ThenBy(g => g.DayOfWeek)
|
||||
.ThenBy(g => g.Seasonality)
|
||||
.ThenBy(g => g.Hour)
|
||||
|
||||
.Dump(nameof(StaffingToDemandPatientVolumes));
|
||||
var CensusData =
|
||||
from obj in Nursings
|
||||
join f in DimFunctionalAreas on obj.DimDepartment.FunctionalAreaID equals f.FunctionalAreaID
|
||||
join fj in NursingFlexJobCodeGroups on obj.NursingGUID equals fj.NursingGUID
|
||||
join j in DimFlexJobCodeGroups on fj.FlexJobCodeGroupID equals j.FlexJobCodeGroupID
|
||||
where obj.ConfigurationGUID == configurationGuid
|
||||
select new
|
||||
{
|
||||
obj.DepartmentID,
|
||||
obj.NumOfBeds,
|
||||
obj.IsComplete,
|
||||
obj.IsNewborn,
|
||||
InPatientDays = new FlattenDays("InPatientDays", obj).Values,
|
||||
ObservationDays = new FlattenDays("ObservationDays", obj).Values,
|
||||
NewbornInPatientDays = new FlattenDays("NewbornInPatientDays", obj).Values,
|
||||
NewbornObservationDays = new FlattenDays("NewbornObservationDays", obj).Values,
|
||||
Seasonality = new FlattenSeasonality("Seasonality", obj).Values,
|
||||
obj.DimDepartment.Name,
|
||||
FunctionalAreaName = f.Name,
|
||||
fj.WHPPDBaseline,
|
||||
fj.MedianAnnualWageBaseline,
|
||||
fj.DirectCarePercentageBaseline,
|
||||
fj.UnproductivePercentBaseline,
|
||||
fj.WHPPD,
|
||||
fj.MedianAnnualWage,
|
||||
fj.DirectCarePercentage,
|
||||
fj.UnproductivePercent,
|
||||
fj.PatientCare,
|
||||
fj.AcutyAdjustment,
|
||||
fj.RoundingRule,
|
||||
fj.FlexJobCodeGroupID,
|
||||
fj.StaffingModelType,
|
||||
StaffingModelConfig = Newtonsoft.Json.JsonConvert.DeserializeObject<ModelValue>(fj.StaffingModelConfig),//.PatientRatios,
|
||||
JobName = j.Name,
|
||||
j.Code,
|
||||
j.SortOrder
|
||||
};
|
||||
CensusData.Where(cd => new [] {"2310 - 11150 - DELIVERY","2110 - 11071 - RIVERVIEW 3"}.Contains(cd.Name) && cd.JobName == "RN").Dump();
|
||||
}
|
||||
|
||||
// Define other methods and classes here
|
||||
public class ModelValue
|
||||
{
|
||||
public IList<StaffingModel> ModelValues { get; set; }
|
||||
internal Dictionary<int, Dictionary<int, double>> PatientRatios => ModelValues
|
||||
.GroupBy(mv => mv.DayOfWeek, (dayOfWeek, d) => new
|
||||
{
|
||||
dayOfWeek,
|
||||
HourlyRatios = d.Select(x => new { x.HourOfDay, x.PatientRatio })
|
||||
.ToDictionary(key => key.HourOfDay, value => value.PatientRatio)
|
||||
}).ToDictionary(key => key.dayOfWeek, value => value.HourlyRatios);
|
||||
}
|
||||
|
||||
public class StaffingModel
|
||||
{
|
||||
public int DayOfWeek { get; set; }
|
||||
public int HourOfDay { get; set; }
|
||||
public double PatientRatio { get; set; }
|
||||
}
|
||||
|
||||
public class FlattenDays
|
||||
{
|
||||
public IEnumerable<double> Values { get; set; }
|
||||
public FlattenDays(string name, Nursing obj)
|
||||
{
|
||||
var regex = new Regex($"Month[\\d]{{2}}{name}", RegexOptions.IgnoreCase);
|
||||
Type t = typeof(Nursing);
|
||||
var fields = t.GetFields(BindingFlags.Public | BindingFlags.Instance)
|
||||
.Where(f => regex.IsMatch(f.Name))
|
||||
.OrderBy(f => f.Name);
|
||||
Values = fields.Select(field => (double)field.GetValue(obj));
|
||||
}
|
||||
}
|
||||
|
||||
public class FlattenSeasonality
|
||||
{
|
||||
public IEnumerable<byte> Values { get; set; }
|
||||
public FlattenSeasonality(string name, Nursing obj)
|
||||
{
|
||||
var regex = new Regex($"Month[\\d]{{2}}{name}", RegexOptions.IgnoreCase);
|
||||
Type t = typeof(Nursing);
|
||||
var fields = t.GetFields(BindingFlags.Public | BindingFlags.Instance)
|
||||
.Where(f => regex.IsMatch(f.Name))
|
||||
.OrderBy(f => f.Name);
|
||||
Values = fields.Select(field => (byte)field.GetValue(obj));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user