Пример #1
0
 public static FAMILY_SCREENING Create(ClientFamilyScreeningStage clientTracingStage)
 {
     return(new FAMILY_SCREENING(
                clientTracingStage.ScreeningDate.ToIqDateOnly(),
                clientTracingStage.HivStatus,
                clientTracingStage.EligibleForHts,
                clientTracingStage.BookingDate.ToIqDateOnly(),
                clientTracingStage.Remarks));
 }
Пример #2
0
        public async Task <IEnumerable <ClientFamilyScreeningStage> > Extract(Guid?htsClientId = null)
        {
            var subscriber = await _subscriberSystemRepository.GetDefaultAsync();

            if (null == subscriber)
            {
                throw new Exception("Default EMR NOT SET");
            }
            var clients = new List <ClientFamilyScreeningStage>();

            var encounters = _clientEncounterRepository.GetFamilyScreening(htsClientId);

            foreach (var encounter in encounters)
            {
                clients.AddRange(ClientFamilyScreeningStage.Create(encounter, subscriber));
            }

            return(clients.Where(x => !x.Id.IsNullOrEmpty()));
        }