Пример #1
0
        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()));
        }