public async Task <InferenceStatusResponse> GetStatus(string id) { Guard.Against.NullOrWhiteSpace(id, nameof(id)); var response = new InferenceStatusResponse(); var item = GetByTransactionId(id); if (item is null) { item = GetByJobId(id); } if (item is null) { return(null); } response.TransactionId = item.TransactionId; response.Platform.JobId = item.JobId; response.Platform.PayloadId = item.PayloadId; response.Dicom.State = item.State; response.Dicom.Status = item.Status; try { var jobDetails = await _jobsApi.Status(item.JobId); response.Platform.Priority = jobDetails.JobPriority; response.Platform.State = jobDetails.JobState; response.Platform.Status = jobDetails.JobStatus; response.Platform.Started = jobDetails.DateStarted; response.Platform.Stopped = jobDetails.DateStopped; response.Platform.Created = jobDetails.DateCreated; response.Message = string.Join(Environment.NewLine, jobDetails.Messages); } catch (Exception ex) { _logger.Log(LogLevel.Error, ex, "Error retrieving job status."); response.Message = $"Error retrieving job from Clara Platform: {ex.Message}"; } return(response); }