private void GenerateUniversalProviderList(CorporateAccount account, string destinationFile)
        {
            var pageNumber = 1;

            while (true)
            {
                var filter = new UniversalProviderListModelFilter
                {
                    Tag       = account.Tag,
                    AccountId = account.Id
                };

                int totalRecords = 0;
                var primaryCarePhysicaianCollection = _primaryCarePhysicianRepository.GetPrimaryCarePhysicians(filter, pageNumber, PageSize, out totalRecords);

                if (!primaryCarePhysicaianCollection.IsNullOrEmpty())
                {
                    var collection = new List <UniversalProviderViewModel>();

                    foreach (var primaryCarePhysician in primaryCarePhysicaianCollection)
                    {
                        var model = GetProviderViewModel(primaryCarePhysician, account);

                        collection.Add(model);
                    }

                    WriteCsv(collection, destinationFile);

                    _logger.Info((pageNumber * PageSize) + " out of " + totalRecords + " completed");
                }

                if ((pageNumber * PageSize) >= totalRecords)
                {
                    break;
                }

                pageNumber++;
            }
        }