Files
vigilcare-clinical/VigilCare.Simulator/Polling/ApiPoller.cs
T

23 lines
918 B
C#

public class ApiPoller
{
private readonly VigilCareApiClient _client;
private readonly HashSet<Guid> _seenAlertIds = new();
public ApiPoller(VigilCareApiClient client) => _client = client;
public async Task PollAndDisplayAsync(Guid encounterId, string simTime)
{
var news2 = await _client.GetCurrentNews2Async(encounterId);
var gcs = await _client.GetCurrentGcsAsync(encounterId);
var sofa = await _client.GetCurrentSofaAsync(encounterId);
var qsofa = await _client.GetCurrentQsofaAsync(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, gcs, sofa, qsofa, newAlerts, bundle);
SimulatorConsole.PollResults(simTime, result);
}
}