private static MatchResult SSNMatch(BasePatient pat1, BasePatient pat2) { MatchResult returnResult = MatchResult.Unknown; if (pat1 != null) { if (pat2 != null) { if (!string.IsNullOrWhiteSpace(pat1.FullSSN)) { if (!string.IsNullOrWhiteSpace(pat2.FullSSN)) { if (pat1.FullSSN.ToUpper().Trim() == pat2.FullSSN.ToUpper().Trim()) { returnResult = MatchResult.Match; } else { returnResult = MatchResult.NotMatch; } } } } } return(returnResult); }
private static MatchResult DOBMatch(BasePatient pat1, BasePatient pat2) { MatchResult returnResult = MatchResult.Unknown; if (pat1 != null) { if (pat2 != null) { if (pat1.DateOfBirth != DateTime.MinValue) { if (pat2.DateOfBirth != DateTime.MinValue) { if (pat1.DateOfBirth.Date == pat2.DateOfBirth.Date) { returnResult = MatchResult.Match; } else { returnResult = MatchResult.NotMatch; } } } } } return(returnResult); }
public static MatchType GetMatchType(BasePatient pat1, BasePatient pat2) { MatchType returnVal = MatchType.None; if (LastNameMatch(pat1, pat2) == MatchResult.Match) { returnVal = MatchType.Partial; if (FirstNameMatch(pat1, pat2) == MatchResult.Match) { if (SSNMatch(pat1, pat2) == MatchResult.Match) { if (DOBMatch(pat1, pat2) == MatchResult.Match) { returnVal = MatchType.Exact; } } } } return(returnVal); }
public void TestDateDescription() { BasePatient pat = new BasePatient(); pat.LastContactDate = DateTime.Now; Assert.AreEqual("Today", pat.LastContactDescription); pat.LastContactDate = DateTime.Now.AddDays(-1); Assert.AreEqual("Yesterday", pat.LastContactDescription); pat.LastContactDate = DateTime.Now.AddDays(1); Assert.AreEqual("Tomorrow", pat.LastContactDescription); pat.LastContactDate = DateTime.Now.AddDays(5); Assert.AreEqual("In 5 Days", pat.LastContactDescription); pat.LastContactDate = DateTime.Now.AddDays(14); Assert.AreEqual("In 2 Weeks", pat.LastContactDescription); pat.LastContactDate = DateTime.Now.AddDays(77); Assert.AreEqual("In 2 Months", pat.LastContactDescription); pat.LastContactDate = DateTime.Now.AddDays(740); Assert.AreEqual("In 2 Years", pat.LastContactDescription); pat.LastContactDate = DateTime.Now.AddDays(-5); Assert.AreEqual("5 Days Ago", pat.LastContactDescription); pat.LastContactDate = DateTime.Now.AddDays(-14); Assert.AreEqual("2 Weeks Ago", pat.LastContactDescription); pat.LastContactDate = DateTime.Now.AddDays(-77); Assert.AreEqual("2 Months Ago", pat.LastContactDescription); pat.LastContactDate = DateTime.Now.AddDays(-740); Assert.AreEqual("2 Years Ago", pat.LastContactDescription); }
private CreateTrackingEntry GetNewModel(TrackingEntryType entryType, string dfn) { // *** Gets appropriate model based on entry type and dfn *** CreateTrackingEntry returnModel = new CreateTrackingEntry(); // *** Set up button text, title, other ui elements *** switch (entryType) { case TrackingEntryType.Start: returnModel.ButtonText = "Start Tracking"; returnModel.PageTitle = "Start Tracking a Patient"; returnModel.PageMessage = "The following patient will appear as a tracked patient in the dashboard"; SelectListResult selectListResult = this.DashboardRepository.SelectLists.GetReasonList(); if (selectListResult.Success) { returnModel.Reasons = selectListResult.SelectList; } returnModel.ReasonText = "Reason for Tracking"; break; case TrackingEntryType.Stop: returnModel.ButtonText = "Stop Tracking"; returnModel.PageTitle = "Stop Tracking a Patient"; returnModel.PageMessage = "Patient will no longer appear as a tracked patient in the dashboard"; returnModel.OutcomeTableHeader = "Pregnancy Outcome"; returnModel.OutcomeHeader = "Outcome:"; returnModel.DateHeader = "Outcome/Delivery Date:"; returnModel.ReasonText = "Stop Tracking Reason"; List <string> stopTrackingReasonList = new List <string>() { "First trimester pregnancy failure or loss", "Second trimester pregnancy failure or loss", "Term or pre-term delivery, completed 8 weeks of postpartum care", "Transfer of care", "Moved out of area", "Other" }; returnModel.Reasons = stopTrackingReasonList; break; case TrackingEntryType.Accept: returnModel.ButtonText = "Accept Tracking"; returnModel.PageTitle = "Accept Flagged Patient"; returnModel.PageMessage = "The following patient will appear as a tracked patient in the dashboard"; break; case TrackingEntryType.Reject: returnModel.ButtonText = "Reject Tracking"; returnModel.PageTitle = "Reject Flagged Patient"; returnModel.PageMessage = "The following patient will not appear as a tracked or flagged patient in the dashboard"; break; } // *** Set return url *** if (TempData.ContainsKey(ReturnUrl)) { returnModel.ReturnUrl = TempData[ReturnUrl].ToString(); TempData[ReturnUrl] = TempData[ReturnUrl]; } // *** Get patient demographics *** this.CurrentPatientDfn = dfn; BasePatient currentPatient = this.CurrentPatient; if (!currentPatient.NotFound) { // *** Populate model with data *** returnModel.TrackingEntry = new TrackingEntry() { PatientDfn = dfn, EntryType = entryType, PatientName = currentPatient.Name }; returnModel.Patient = currentPatient; } return(returnModel); }