public void Should_Count_Hispanic_On_Bool() { var patients = new PatientDemographic[] { new PatientDemographic { IsHispanic = false }, new PatientDemographic { IsHispanic = false }, new PatientDemographic { IsHispanic = false }, new PatientDemographic { IsHispanic = true } }; var stats = reduce(patients); var hispanic = stats.BinarySplitData.First(b => b.Category == "Hispanic"); var yes = hispanic.Left; var no = hispanic.Right; Assert.True(yes.Value == 1 && no.Value == 3); }
public static int?CalculateAge(this PatientDemographic patient) { if (patient.Age.HasValue) { return(patient.Age.Value); } if (!patient.BirthDate.HasValue) { return(null); } if (patient.IsDeceased.HasValue && patient.IsDeceased.Value && !patient.DeathDate.HasValue) { return(null); } DateTime upper = DateTime.Today; if (patient.IsDeceased.HasValue && patient.IsDeceased.Value && patient.DeathDate.HasValue) { upper = patient.DeathDate.Value; } var bday = patient.BirthDate.Value; var age = upper.Year - bday.Year; if (upper < bday.AddYears(age)) { age--; } return(age); }
public void Should_Count_Married_On_Bool() { var patients = new PatientDemographic[] { new PatientDemographic { IsMarried = false }, new PatientDemographic { IsMarried = false }, new PatientDemographic { IsMarried = false }, new PatientDemographic { IsMarried = true } }; var stats = reduce(patients); var married = stats.BinarySplitData.First(b => b.Category == "Married"); var yes = married.Left; var no = married.Right; Assert.True(yes.Value == 1 && no.Value == 3); }
public void Should_Only_Count_Binary_Gender_On_Match() { var patients = new PatientDemographic[] { new PatientDemographic { Gender = "Nonbinary" }, new PatientDemographic { Gender = "female" }, new PatientDemographic { Gender = "female" }, new PatientDemographic { Gender = "male" } }; var stats = reduce(patients); var gender = stats.BinarySplitData.First(b => b.Category == "Gender"); var female = gender.Left; var male = gender.Right; Assert.True(male.Value == 1 && female.Value == 2); }
public void Should_Only_GenderAgeBucket_If_Aged_All_NonBinary() { var patients = new PatientDemographic[] { new PatientDemographic { Age = 80 }, new PatientDemographic { }, new PatientDemographic { Age = 50 }, new PatientDemographic { Age = 48 } }; var stats = reduce(patients); var abg = stats.AgeByGenderData; var eighty = abg.GetBucket("75-84"); var fifty = abg.GetBucket("45-54"); Assert.Equal(1, eighty.Others); Assert.Equal(2, fifty.Others); }
public void Should_Only_Count_AARP_If_Aged() { var patients = new PatientDemographic[] { new PatientDemographic { Age = 80 }, new PatientDemographic { }, new PatientDemographic { Age = 50 }, new PatientDemographic { Age = 32 } }; var stats = reduce(patients); var aarp = stats.BinarySplitData.First(b => b.Category == "AARP"); var yes = aarp.Left; var no = aarp.Right; Assert.True(yes.Value == 1 && no.Value == 2); }
public void CalculateAge_Should_Return_Null_If_No_BirthDate() { var patient = new PatientDemographic { }; var age = patient.CalculateAge(); Assert.Null(age); }
public void CalculateAge_Should_Return_Current_Age_If_Not_Deceased() { var patient = new PatientDemographic { BirthDate = new DateTime(1990, 1, 1), IsDeceased = false }; var age = patient.CalculateAge(); Assert.True(age.HasValue && age.Value >= 28); }
public void CalculateAge_Should_Return_Null_If_Deceased_No_DeathDate() { var patient = new PatientDemographic { BirthDate = new DateTime(1990, 1, 1), IsDeceased = true }; var age = patient.CalculateAge(); Assert.Null(age); }
public void CalculateAge_Should_Return_Age_At_Death_If_Deceased_With_Date() { var patient = new PatientDemographic { BirthDate = new DateTime(1990, 1, 1), IsDeceased = true, DeathDate = new DateTime(2018, 1, 1) }; var age = patient.CalculateAge(); Assert.Equal(28, age.Value); }
public void Should_GenderAge_Ok() { var patients = new PatientDemographic[] { new PatientDemographic { Age = 80, Gender = "male" }, new PatientDemographic { Gender = "female" }, new PatientDemographic { Age = 50, Gender = "female" }, new PatientDemographic { Age = 48, Gender = "female" }, new PatientDemographic { Age = 48, Gender = "male" } }; var stats = reduce(patients); var abg = stats.AgeByGenderData; var eighty = abg.GetBucket("75-84"); var fifty = abg.GetBucket("45-54"); Assert.Equal(1, eighty.Males); Assert.Equal(1, fifty.Males); Assert.Equal(2, fifty.Females); }