public void SaveFinalTest(ObsFinalTestResult testResult) { var test = _obsFinalTestResultRepository.Get(testResult.Id); if (null != test) { test.ResultGiven = testResult.ResultGiven; test.CoupleDiscordant = testResult.CoupleDiscordant; test.SelfTestOption = testResult.SelfTestOption; test.PnsDeclined = testResult.PnsDeclined; test.Remarks = testResult.Remarks; _obsFinalTestResultRepository.SaveOrUpdate(test); _clientStateRepository.DeleteState(test.ClientId, test.EncounterId); if (null != test.SelfTestOption && test.SelfTestOption.Value == new Guid("b25eccd4-852f-11e7-bb31-be2e44b06b34")) { _clientStateRepository.SaveOrUpdate(new ClientState(test.ClientId, test.EncounterId, LiveState.HtsPnsAcceptedYes)); } else { _clientStateRepository.SaveOrUpdate(new ClientState(test.ClientId, test.EncounterId, LiveState.HtsPnsAcceptedNo)); } _clientStateRepository.SaveOrUpdate(new ClientState(test.ClientId, test.EncounterId, ClientState.GetState(test.FinalResult.Value))); } }
public void should_Append_Unique_Tests() { var initialTestResult = new ObsFinalTestResult { FinalResult = _pos }; var initalTestDate = DateTime.Today.Date; var initialFacility = "10000"; var shr = SHR.CreateBlank(); shr.HIV_TEST.Add(HIVTEST.Create(initalTestDate, initialTestResult, initialFacility)); Assert.True(shr.HIV_TEST.Count == 1); var newTestResult = new ObsFinalTestResult { FinalResult = _pos }; var newTestDate = DateTime.Today.Date; var newinitialFacility = "10000"; shr.UpdateTesting(newTestDate, newTestResult, newinitialFacility); Assert.True(shr.HIV_TEST.Count == 1); foreach (var hivtest in shr.HIV_TEST) { Console.WriteLine(hivtest); } }
public void SaveTest(ObsTestResult testResult, Guid clientId) { _obsTestResultRepository.SaveOrUpdate(testResult); UpdateKitHistories(testResult); var final = _obsFinalTestResultRepository.GetAll(x => x.EncounterId == testResult.EncounterId) .FirstOrDefault(); if (testResult.TestName.Contains("1")) { if (null != final) { // update final.UpdateSetFirstResult(testResult.IsValid ? testResult.Result : Guid.Empty); _obsFinalTestResultRepository.SaveOrUpdate(final); } else { if (testResult.IsValid) { final = ObsFinalTestResult.CreateFirst(testResult.Result, testResult.EncounterId, clientId); _obsFinalTestResultRepository.Save(final); } } } if (testResult.TestName.Contains("2")) { if (null != final) { // update final.UpdateSetSecondResult(testResult.IsValid ? testResult.Result : Guid.Empty); _obsFinalTestResultRepository.SaveOrUpdate(final); } } UpdateFinalResult(testResult.EncounterId, clientId); }
public void UpdateTesting(DateTime testDate, ObsFinalTestResult finalTestResult, string code) { // HIV_TEST AppendTest(HIVTEST.Create(testDate, finalTestResult, code)); }
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 static HIVTEST Create(DateTime encounterDate, ObsFinalTestResult finalTestResult, string code) { return(new HIVTEST(encounterDate.ToString("yyyyMMdd"), GetResult(finalTestResult.FinalResult), "SCREENING", code)); }