public override void ViewAppeared() { // Load Client var kitsJson = _settings.GetValue("lookup.TMode", ""); var resultsJson = _settings.GetValue("lookup.TOutcome", ""); var resultsCJson = _settings.GetValue("lookup.TConsent", ""); if (!string.IsNullOrWhiteSpace(kitsJson)) { Modes = JsonConvert.DeserializeObject <List <CategoryItem> >(kitsJson); } if (!string.IsNullOrWhiteSpace(resultsJson)) { Outcomes = JsonConvert.DeserializeObject <List <CategoryItem> >(resultsJson); } if (!string.IsNullOrWhiteSpace(resultsCJson)) { Consents = JsonConvert.DeserializeObject <List <CategoryItem> >(resultsCJson); } EncounterId = Parent.Encounter.Id; if (!EditMode) { Clear(); } else { _traceResult = Parent.Trace; LoadTest(); } }
private ObsFamilyTraceResult GenerateTest() { var obs = ObsFamilyTraceResult.Create(Date, Mode, Outcome, Consent, Reminder, BookingDate, EncounterId, Parent.IndexClient.Id); if (EditMode) { obs.Id = Id; } return(obs); }
public FamilyTraceTemplate(ObsFamilyTraceResult testResult, List <CategoryItem> modes, List <CategoryItem> outcomes, List <CategoryItem> consents, List <CategoryItem> reasons) { TraceResult = testResult; if (null != modes && modes.Count > 0) { var kit = modes.FirstOrDefault(x => x.ItemId == testResult.Mode); if (null != kit) { ModeDisplay = kit.Display; } } if (null != outcomes && outcomes.Count > 0) { var result = outcomes.FirstOrDefault(x => x.ItemId == testResult.Outcome); if (null != result) { OutcomeDisplay = result.Display; } } if (null != consents && consents.Count > 0) { var result = consents.FirstOrDefault(x => x.ItemId == testResult.Consent); if (null != result) { ConsentDisplay = result.Display; } } if (null != reasons && reasons.Count > 0) { var result = reasons.FirstOrDefault(x => !testResult.ReasonNotContacted.IsNullOrEmpty() && x.ItemId == testResult.ReasonNotContacted); if (null != result) { ReasonNotContactedDisplay = result.Display; } } Id = testResult.Id; Date = testResult.Date; Mode = testResult.Mode; Outcome = testResult.Outcome; EncounterId = testResult.EncounterId; Consent = testResult.Consent; Reminder = testResult.Reminder; BookingDate = testResult.BookingDate; if (!testResult.ReasonNotContacted.IsNullOrEmpty()) { ReasonNotContacted = testResult.ReasonNotContacted.Value; } ReasonNotContactedOther = testResult.ReasonNotContactedOther; }
public async void DeleteTrace(ObsFamilyTraceResult test) { if (null != test) { var result = await _dialogService.ConfirmAction("Are you sure ?", "Delete this Trace"); if (result) { _tracingService.DeleteTest(test, Client.Id, IndexClient.Id); Referesh(test.EncounterId); } } }
public FamilyTraceTemplate(ObsFamilyTraceResult testResult, List <CategoryItem> modes, List <CategoryItem> outcomes, List <CategoryItem> consents) { TraceResult = testResult; if (null != modes && modes.Count > 0) { var kit = modes.FirstOrDefault(x => x.ItemId == testResult.Mode); if (null != kit) { ModeDisplay = kit.Display; } } if (null != outcomes && outcomes.Count > 0) { var result = outcomes.FirstOrDefault(x => x.ItemId == testResult.Outcome); if (null != result) { OutcomeDisplay = result.Display; } } if (null != consents && consents.Count > 0) { var result = consents.FirstOrDefault(x => x.ItemId == testResult.Consent); if (null != result) { ConsentDisplay = result.Display; } } Id = testResult.Id; Date = testResult.Date; Mode = testResult.Mode; Outcome = testResult.Outcome; EncounterId = testResult.EncounterId; Consent = testResult.Consent; Reminder = testResult.Reminder; BookingDate = testResult.BookingDate; }
public void EditTrace(ObsFamilyTraceResult testResult) { Trace = testResult; EditTestCommandAction?.Invoke(); }
public void SaveTrace(ObsFamilyTraceResult test) { _tracingService.SaveTest(test, Client.Id, IndexClient.Id); _tracingService.MarkEncounterCompleted(test.EncounterId, AppUserId, true); Encounter = _tracingService.OpenEncounter(Encounter.Id); }
public void Sync(List <EncounterInfo> encounterInfos) { foreach (var encounterInfo in encounterInfos) { try { //Check client var client = _clientRepository.Get(encounterInfo.ClientId); if (null != client) { var encounter = _encounterRepository.Get(encounterInfo.Id); if (null == encounter) { encounter = Encounter.Create(encounterInfo); _encounterRepository.Insert(encounter); _encounterRepository.Save(); var obs = Obs.Create(encounterInfo); _obsRepository.Insert(obs); _obsRepository.Save(); var obsTestResult = ObsTestResult.Create(encounterInfo); _obsTestResultRepository.Insert(obsTestResult); _obsTestResultRepository.Save(); var obsFinalTestResults = ObsFinalTestResult.Create(encounterInfo); _obsFinalTestResultRepository.Insert(obsFinalTestResults); _obsFinalTestResultRepository.Save(); var bsLinkages = ObsLinkage.Create(encounterInfo); _obsLinkageRepository.Insert(bsLinkages); _obsLinkageRepository.Save(); var obsTraceResults = ObsTraceResult.Create(encounterInfo); _obsTraceResultRepository.Insert(obsTraceResults); _obsTraceResultRepository.Save(); var obsMemberScreening = ObsMemberScreening.Create(encounterInfo); _obsMemberScreeningRepository.Insert(obsMemberScreening); _obsMemberScreeningRepository.Save(); var obsFamilyTraceResults = ObsFamilyTraceResult.Create(encounterInfo); _obsFamilyTraceResultRepository.Insert(obsFamilyTraceResults); _obsFamilyTraceResultRepository.Save(); if (obsFamilyTraceResults.Count > 0) { var met = obsFamilyTraceResults.FirstOrDefault(x => null != x.Outcome && x.Outcome == new Guid("b25f9a81-852f-11e7-bb31-be2e44b06b34")); if (null != met) { _obsFamilyTraceResultRepository.UpdateBooking(encounter, met); } } var obsPartnerScreenings = ObsPartnerScreening.Create(encounterInfo); _obsPartnerScreeningRepository.Insert(obsPartnerScreenings); _obsPartnerScreeningRepository.Save(); var obsPartnerTraceResults = ObsPartnerTraceResult.Create(encounterInfo); _obsPartnerTraceResultRepository.Insert(obsPartnerTraceResults); _obsPartnerTraceResultRepository.Save(); if (obsPartnerTraceResults.Count > 0) { var met = obsPartnerTraceResults.FirstOrDefault(x => null != x.Outcome && x.Outcome == new Guid("b25f9a81-852f-11e7-bb31-be2e44b06b34")); if (null != met) { _obsPartnerTraceResultRepository.UpdateBooking(encounter, met); } } } else { encounter.Update(encounterInfo); _encounterRepository.Update(encounter); _encounterRepository.Save(); var obs = Obs.Create(encounterInfo); _obsRepository.ReplaceAll(encounter.Id, obs); _obsRepository.Save(); var obsTestResult = ObsTestResult.Create(encounterInfo); _obsTestResultRepository.ReplaceAll(encounter.Id, obsTestResult); _obsTestResultRepository.Save(); var obsFinalTestResults = ObsFinalTestResult.Create(encounterInfo); _obsFinalTestResultRepository.ReplaceAll(encounter.Id, obsFinalTestResults); _obsFinalTestResultRepository.Save(); var bsLinkages = ObsLinkage.Create(encounterInfo); _obsLinkageRepository.ReplaceAll(encounter.Id, bsLinkages); _obsLinkageRepository.Save(); var obsTraceResults = ObsTraceResult.Create(encounterInfo); _obsTraceResultRepository.ReplaceAll(encounter.Id, obsTraceResults); _obsTraceResultRepository.Save(); var obsMemberScreening = ObsMemberScreening.Create(encounterInfo); _obsMemberScreeningRepository.ReplaceAll(encounter.Id, obsMemberScreening); _obsMemberScreeningRepository.Save(); var obsFamilyTraceResults = ObsFamilyTraceResult.Create(encounterInfo); _obsFamilyTraceResultRepository.ReplaceAll(encounter.Id, obsFamilyTraceResults); _obsFamilyTraceResultRepository.Save(); if (obsFamilyTraceResults.Count > 0) { var met = obsFamilyTraceResults.FirstOrDefault(x => null != x.Outcome && x.Outcome == new Guid("b25f9a81-852f-11e7-bb31-be2e44b06b34")); if (null != met) { _obsFamilyTraceResultRepository.UpdateBooking(encounter, met); } } var obsPartnerScreenings = ObsPartnerScreening.Create(encounterInfo); _obsPartnerScreeningRepository.ReplaceAll(encounter.Id, obsPartnerScreenings); _obsPartnerScreeningRepository.Save(); var obsPartnerTraceResults = ObsPartnerTraceResult.Create(encounterInfo); _obsPartnerTraceResultRepository.ReplaceAll(encounter.Id, obsPartnerTraceResults); _obsPartnerTraceResultRepository.Save(); if (obsPartnerTraceResults.Count > 0) { var met = obsPartnerTraceResults.FirstOrDefault(x => null != x.Outcome && x.Outcome == new Guid("b25f9a81-852f-11e7-bb31-be2e44b06b34")); if (null != met) { _obsPartnerTraceResultRepository.UpdateBooking(encounter, met); } } } } else { Log.Error("Missing client in encounter"); Preserve(encounterInfo); } } catch (Exception e) { Log.Error(e, "Error saving encounter"); Preserve(encounterInfo); } } }
public void DeleteTest(ObsFamilyTraceResult testResult, Guid clientId, Guid indexClientId) { _obsTraceResultRepository.Delete(testResult.Id); _clientStateRepository.DeleteState(clientId, testResult.EncounterId, ClientState.GetState(testResult.Outcome, "fam"), indexClientId); }
public void SaveTest(ObsFamilyTraceResult testResult, Guid clientId, Guid indexClientId) { _obsTraceResultRepository.SaveOrUpdate(testResult); _clientStateRepository.SaveOrUpdate(new ClientState(clientId, testResult.EncounterId, ClientState.GetState(testResult.Outcome, "fam"), indexClientId)); }