Table of Contents

Class InMemoryPhysicianRepository

Namespace
Core.CliniCore.Repositories.InMemory
Assembly
Core.CliniCore.dll

In-memory implementation of IPhysicianRepository. Provides physician-specific query operations.

public class InMemoryPhysicianRepository : InMemoryRepositoryBase<PhysicianProfile>, IPhysicianRepository, IRepository<PhysicianProfile>
Inheritance
InMemoryPhysicianRepository
Implements
Inherited Members

Methods

FindBySpecialization(MedicalSpecialization)

Finds physicians by medical specialization

public IEnumerable<PhysicianProfile> FindBySpecialization(MedicalSpecialization spec)

Parameters

spec MedicalSpecialization

Returns

IEnumerable<PhysicianProfile>

GetAvailableOn(DateTime)

Gets physicians available on a specific date. Note: Full availability check requires integration with ScheduleService. This method returns all physicians as a base - actual availability should be verified against their appointment schedules.

public IEnumerable<PhysicianProfile> GetAvailableOn(DateTime date)

Parameters

date DateTime

Returns

IEnumerable<PhysicianProfile>

GetByUsername(string)

Gets a physician by their username

public PhysicianProfile? GetByUsername(string username)

Parameters

username string

Returns

PhysicianProfile

GetWithPatientCounts()

Gets physicians with their patient counts

public IEnumerable<(PhysicianProfile Physician, int PatientCount)> GetWithPatientCounts()

Returns

IEnumerable<(PhysicianProfile Physician, int PatientCount)>

Search(string)

Searches physicians by name, username, license number, or specialization

public override IEnumerable<PhysicianProfile> Search(string query)

Parameters

query string

Returns

IEnumerable<PhysicianProfile>