public static HIV_TESTS Create(List <ClientTestingStage> tests, ClientFinalTestStage stage) { var screening = NewTests.Create(tests.Where(x => x.HtsTestType == HtsTestType.Screening)); var confirmatory = NewTests.Create(tests.Where(x => x.HtsTestType == HtsTestType.Confrimatory)); var summary = Encounters.SUMMARY.Create(stage); return(new HIV_TESTS(screening, confirmatory, summary)); }
internal static SUMMARY Create(ClientFinalTestStage stage) { return(new SUMMARY( stage.ScreeningResult, stage.ConfirmatoryResult.Value, stage.FinalResult, stage.FinalResultGiven, stage.CoupleDiscordant.Value, stage.PnsAccepted.Value, stage.PnsDeclineReason.Value, stage.Remarks )); }
public async Task <IEnumerable <ClientFinalTestStage> > Extract(Guid?htsClientId = null) { var subscriber = await _subscriberSystemRepository.GetDefaultAsync(); if (null == subscriber) { throw new Exception("Default EMR NOT SET"); } var clients = new List <ClientFinalTestStage>(); var encounters = _clientEncounterRepository.GetFinalTesting(htsClientId); foreach (var encounter in encounters) { var pretestId = _clientEncounterRepository.GetPretestEncounterId(encounter.ClientId, encounter.EncounterDate); clients.AddRange(ClientFinalTestStage.Create(encounter, subscriber, pretestId)); } return(clients.Where(x => !x.Id.IsNullOrEmpty())); }