463c2997-8a6a-4688-9575-6549e5215f7b
true
D0011-SQL-01.sdt.local
jazz tst CNE 20191210.1
true
<ProgramFilesX64>\Microsoft SDKs\Azure\.NET SDK\v2.9\bin\plugins\Diagnostics\Newtonsoft.Json.dll
Amazon.Lambda.S3Events
AWSSDK.Core
AWSSDK.S3
Amazon
Amazon.Auth.AccessControlPolicy
Amazon.Auth.AccessControlPolicy.ActionIdentifiers
Amazon.Internal
Amazon.Lambda.S3Events
Amazon.MissingTypes
Amazon.Runtime
Amazon.Runtime.CredentialManagement
Amazon.Runtime.CredentialManagement.Internal
Amazon.Runtime.EventStreams
Amazon.Runtime.EventStreams.Internal
Amazon.Runtime.Internal
Amazon.Runtime.Internal.Auth
Amazon.Runtime.Internal.Settings
Amazon.Runtime.Internal.Transform
Amazon.Runtime.Internal.Util
Amazon.Runtime.SharedInterfaces
Amazon.Runtime.SharedInterfaces.Internal
Amazon.S3
Amazon.S3.Encryption
Amazon.S3.Encryption.Internal
Amazon.S3.Internal
Amazon.S3.IO
Amazon.S3.Model
Amazon.S3.Model.Internal.MarshallTransformations
Amazon.S3.Transfer
Amazon.S3.Util
Amazon.Util
Amazon.Util.Internal
Amazon.Util.Internal.PlatformServices
Newtonsoft.Json
Newtonsoft.Json.Converters
Newtonsoft.Json.Linq
Newtonsoft.Json.Schema
Newtonsoft.Json.Serialization
System
System.Diagnostics
System.Diagnostics.Tracing
System.IO.Compression
ThirdParty.BouncyCastle.Asn1
ThirdParty.BouncyCastle.Asn1.Utilities
ThirdParty.BouncyCastle.Math
ThirdParty.BouncyCastle.OpenSsl
ThirdParty.BouncyCastle.Utilities.IO.Pem
ThirdParty.Ionic.Zlib
ThirdParty.Json.LitJson
ThirdParty.MD5
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(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 ModelValues { get; set; }
internal Dictionary> 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 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 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));
}
}