public async Task <IEnumerable <ClientReferralStage> > Extract(Guid?htsClientId = null) { var subscriber = await _subscriberSystemRepository.GetDefaultAsync(); if (null == subscriber) { throw new Exception("Default EMR NOT SET"); } var clients = new List <ClientReferralStage>(); var encounters = _clientEncounterRepository.GetReferralLinkage(htsClientId); foreach (var encounter in encounters) { clients.AddRange(ClientReferralStage.Create(encounter, subscriber)); } return(clients.Where(x => !x.Id.IsNullOrEmpty())); }
internal static NewReferral Create(ClientReferralStage stage) { return(new NewReferral(stage.ReferredTo, stage.DateToBeEnrolled.ToIqDateOnly())); }