| [1107] | 1 | using System; | 
|---|
|  | 2 | using System.Collections.Generic; | 
|---|
|  | 3 | using System.Linq; | 
|---|
|  | 4 | using System.Text; | 
|---|
|  | 5 |  | 
|---|
|  | 6 | namespace IndianHealthService.ClinicalScheduling | 
|---|
|  | 7 | { | 
|---|
| [1110] | 8 |  | 
|---|
| [1107] | 9 | /// <summary> | 
|---|
| [1110] | 10 | /// You guessed it. | 
|---|
|  | 11 | /// </summary> | 
|---|
|  | 12 | public enum Sex | 
|---|
|  | 13 | { | 
|---|
|  | 14 | Male, Female | 
|---|
|  | 15 | }; | 
|---|
|  | 16 |  | 
|---|
|  | 17 | /// <summary> | 
|---|
| [1107] | 18 | /// Puppet standing for a Real Patient | 
|---|
|  | 19 | /// </summary> | 
|---|
| [1174] | 20 | [Serializable] | 
|---|
| [1107] | 21 | public class Patient | 
|---|
|  | 22 | { | 
|---|
|  | 23 | public int DFN { get; set; } | 
|---|
|  | 24 | public string Name { get; set; } | 
|---|
| [1110] | 25 | public Sex Sex; | 
|---|
| [1107] | 26 | public DateTime DOB { get; set; } | 
|---|
|  | 27 | public string ID { get; set; } | 
|---|
|  | 28 | public string HRN { get; set; } | 
|---|
|  | 29 | public List<CGAppointment> Appointments { get; set; } | 
|---|
|  | 30 | public string Street { get; set; } | 
|---|
|  | 31 | public string City { get; set; } | 
|---|
|  | 32 | public string State { get; set; } | 
|---|
|  | 33 | public string Zip { get; set; } | 
|---|
|  | 34 | public string Country { get; set; } | 
|---|
|  | 35 | public string Email { get; set; } | 
|---|
|  | 36 | public string HomePhone { get; set; } | 
|---|
|  | 37 | public string WorkPHone { get; set; } | 
|---|
|  | 38 | public string CellPhone { get; set; } | 
|---|
| [1110] | 39 | public TimeSpan Age | 
|---|
|  | 40 | { | 
|---|
|  | 41 | get | 
|---|
|  | 42 | { | 
|---|
|  | 43 | return (DateTime.Today - this.DOB); | 
|---|
|  | 44 | } | 
|---|
|  | 45 | } | 
|---|
|  | 46 |  | 
|---|
| [1111] | 47 | /// <summary> | 
|---|
|  | 48 | /// Returns User Friendly Age. If Age < 5, then Years and Months | 
|---|
|  | 49 | /// If Age > 5, then only Years. | 
|---|
|  | 50 | /// Humans tend to round down their ages. So I follow the same rule here. | 
|---|
|  | 51 | /// </summary> | 
|---|
| [1110] | 52 | public string UserFriendlyAge | 
|---|
|  | 53 | { | 
|---|
|  | 54 | get | 
|---|
|  | 55 | { | 
|---|
|  | 56 | if (Age.TotalDays / 365.24 > 5) | 
|---|
| [1112] | 57 | return Math.Floor((Age.TotalDays / 365.24)).ToString() + " " + strings.years; | 
|---|
| [1110] | 58 | else | 
|---|
| [1112] | 59 | return Math.Floor((Age.TotalDays / 365.24)).ToString() + " " + strings.years + " " + strings.and + " " | 
|---|
|  | 60 | + Math.Floor(Age.TotalDays % 365.24 / 30).ToString() + " " + strings.months; | 
|---|
| [1110] | 61 | } | 
|---|
|  | 62 | } | 
|---|
| [1107] | 63 | } | 
|---|
|  | 64 | } | 
|---|