using adas_core.Domain.Models; using adas_core.Domain.Models.MongoModels; using adas_core.Domain.Models.Providers; using Microsoft.Extensions.Options; namespace adas_core.Application.Providers; /// /// Provides an abstract base class for provider implementations that consume configuration through and create HTTP clients via . /// /// public abstract class BaseProvider( IOptions providerSettings, IHttpClientFactory httpClientFactory) { protected IHttpClientFactory HttpClientFactory = httpClientFactory; protected string Url { get; set; } = providerSettings.Value.Url; /// /// Asynchronously retrieves the list of clinical observations associated with the specified patient. /// /// The patient whose observations are being requested. /// A task that represents the asynchronous operation, containing a list of entries for the patient. /// public abstract Task> GetObservations(Patient patient); }