public class ApiPoller { private readonly VigilCareApiClient _client; private readonly HashSet _seenAlertIds = new(); public ApiPoller(VigilCareApiClient client) => _client = client; public async Task PollAndDisplayAsync(Guid encounterId, string simTime) { var news2 = await _client.GetCurrentNews2Async(encounterId); var allAlerts = await _client.GetAlertsAsync(encounterId); var newAlerts = allAlerts.Where(a => _seenAlertIds.Add(a.Id)).ToList(); var bundle = await _client.GetSepsisBundleAsync(encounterId); var result = new PollResult(news2, newAlerts, bundle); SimulatorConsole.PollResults(simTime, result); } }