public TraceTemplate(ObsTraceResult testResult, List <CategoryItem> modes, List <CategoryItem> outcomes) { 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; } } Id = testResult.Id; Date = testResult.Date; Mode = testResult.Mode; Outcome = testResult.Outcome; EncounterId = testResult.EncounterId; }
public override void ViewAppeared() { // Load Client var kitsJson = _settings.GetValue("lookup.Mode", ""); var resultsJson = _settings.GetValue("lookup.Outcome", ""); if (!string.IsNullOrWhiteSpace(kitsJson)) { Modes = JsonConvert.DeserializeObject <List <CategoryItem> >(kitsJson); } if (!string.IsNullOrWhiteSpace(resultsJson)) { Outcomes = JsonConvert.DeserializeObject <List <CategoryItem> >(resultsJson); } EncounterId = Parent.ParentViewModel.Encounter.Id; if (!EditMode) { Clear(); } else { _traceResult = Parent.Trace; LoadTest(); } }
private ObsTraceResult GenerateTest() { var obs = ObsTraceResult.Create(Date, Mode, Outcome, EncounterId); if (EditMode) { obs.Id = Id; } return(obs); }
private ObsTraceResult GenerateTest() { var obs = ObsTraceResult.Create(Date, Mode, Outcome, EncounterId, ReasonNotContacted, ReasonNotContactedOther); if (EditMode) { obs.Id = Id; } return(obs); }
public async void DeleteTrace(ObsTraceResult testResult) { if (null != testResult) { var result = await _dialogService.ConfirmAction("Are you sure ?", "Delete this Trace"); if (result) { _linkageService.DeleteTest(testResult, ParentViewModel.Client.Id); Referesh(testResult.EncounterId); } } }
public TraceTemplate(ObsTraceResult testResult, List <CategoryItem> modes, List <CategoryItem> outcomes, 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 != 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; if (!testResult.ReasonNotContacted.IsNullOrEmpty()) { ReasonNotContacted = testResult.ReasonNotContacted.Value; } ReasonNotContactedOther = testResult.ReasonNotContactedOther; EncounterId = testResult.EncounterId; }
public void EditTrace(ObsTraceResult testResult) { Trace = testResult; EditTestCommandAction?.Invoke(); }
public void SaveTrace(ObsTraceResult test) { _linkageService.SaveTest(test, ParentViewModel.Client.Id); ParentViewModel.Encounter = _linkageService.OpenEncounter(ParentViewModel.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(ObsTraceResult testResult, Guid clientId) { _obsTraceResultRepository.Delete(testResult.Id); _clientStateRepository.DeleteState(clientId, testResult.EncounterId, ClientState.GetState(testResult.Outcome)); }
public void SaveTest(ObsTraceResult testResult, Guid clientId) { _obsTraceResultRepository.SaveOrUpdate(testResult); _clientStateRepository.SaveOrUpdate(new ClientState(clientId, testResult.EncounterId, ClientState.GetState(testResult.Outcome))); }