using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace IndianHealthService.ClinicalScheduling { /// /// You guessed it. /// public enum Sex { Male, Female }; /// /// Puppet standing for a Real Patient /// [Serializable] public class Patient { public int DFN { get; set; } public string Name { get; set; } public Sex Sex; public DateTime DOB { get; set; } public string ID { get; set; } public string HRN { get; set; } public List Appointments { get; set; } public string Street { get; set; } public string City { get; set; } public string State { get; set; } public string Zip { get; set; } public string Country { get; set; } public string Email { get; set; } public string HomePhone { get; set; } public string WorkPHone { get; set; } public string CellPhone { get; set; } public TimeSpan Age { get { return (DateTime.Today - this.DOB); } } /// /// Returns User Friendly Age. If Age < 5, then Years and Months /// If Age > 5, then only Years. /// Humans tend to round down their ages. So I follow the same rule here. /// public string UserFriendlyAge { get { if (Age.TotalDays / 365.24 > 5) return Math.Floor((Age.TotalDays / 365.24)).ToString() + " " + strings.years; else return Math.Floor((Age.TotalDays / 365.24)).ToString() + " " + strings.years + " " + strings.and + " " + Math.Floor(Age.TotalDays % 365.24 / 30).ToString() + " " + strings.months; } } } }