# Class GetProvidersObservationsJob

Namespace
  adas_core.Application.Services

Assembly
  adas-core.Application.dll

Represents a scheduled job that retrieves observations associated with providers.

    [DisallowConcurrentExecution]
    public class GetProvidersObservationsJob : IJob

Inheritance
  object
  GetProvidersObservationsJob

Implements
  IJob

Inherited Members
  object.Equals(object)
  object.Equals(object, object)
  object.GetHashCode()
  object.GetType()
  object.MemberwiseClone()
  object.ReferenceEquals(object, object)
  object.ToString()

Extension Methods
  NumberUtils.IsNumber(object)
  NumberUtils.ToDouble(object)
  ObjectUtils.ToStr(object?)

## Remarks

The DisallowConcurrentExecution attribute prevents overlapping executions of this job instance.

## Properties

### HttpClientFactory

    public static IHttpClientFactory HttpClientFactory { get; set; }

#### Property Value

IHttpClientFactory

### ObservationService

    public static IObservationService ObservationService { get; set; }

#### Property Value

IObservationService

### PatientService

    public static IPatientService PatientService { get; set; }

#### Property Value

IPatientService

### Providers

    public static List<ProvidersSettings> Providers { get; set; }

#### Property Value

List<ProvidersSettings>

## Methods

### Execute(IJobExecutionContext)

Executes the scheduled job that retrieves observations from all configured providers for every patient. Uses reflection to resolve and instantiate each provider type (mapping the assembly name by replacing '-' with '_'), skips providers whose type or required constructor cannot be found, and logs and recovers from any exception raised during processing.

    public Task Execute(IJobExecutionContext context)

#### Parameters

`context` IJobExecutionContext

  The Quartz job execution context provided by the scheduler when the job is triggered.

#### Returns

Task