В базе данных поликлиники содержится информация о записях пациентов на прием к врачам.
Пациент характеризуется номером паспорта, ФИО, полом, датой рождения, адресом, группой крови, резус фактором и контактным телефоном. Пол пациента является перечислением. Группа крови пациента является перечислением. Резус фактор пациента является перечислением.
Информация о враче включает номер паспорта, ФИО, год рождения, специализацию, стаж работы. Специализация врача является справочником.
При записи на прием пациента в базе данных фиксируется дата и время приема, номер кабинета, а также индикатор того, является ли прием повторным.
- Patient - класс описывает пациента
- Doctor - класс описывает доктора
- Appointment - класс описывает прием к врачу
- BloodType - группа крови пациента
- Gender - гендер пациента
- RhFactor - резус фактор пациента
- Speciallization - специализация врача
HospitalMongoTests - заданные по варианту юнит-тесты
- GetDoctorsWithExperience_WhenExperienceAtLeast10Years_ReturnsExperiencedDoctorsOrderedByName() - Вывести информацию о всех врачах, стаж работы которых не менее 10 лет.
- GetPatientsByDoctor_WhenDoctorIsSpecified_ReturnsPatientsOrderedByName() - Вывести информацию о всех пациентах, записанных на прием к указанному врачу, упорядочить по ФИО.
- CountAppointments_WhenRepeatVisitsInLastMonth_ReturnsCorrectCount() - Вывести информацию о количестве повторных приемов пациентов за последний месяц.
- GetPatients_WhenOver30WithMultipleDoctors_ReturnsPatientsOrderedByBirthDate() - Вывести информацию о пациентах старше 30 лет, которые записаны на прием к нескольким врачам, упорядочить по дате рождения.
- GetAppointments_WhenInSpecificRoomCurrentMonth_ReturnsAppointmentsOrderedByDateTime() - Вывести информацию о приемах за текущий месяц, проходящих в выбранном кабинете.
- Repositories - Реализации репозиториев:
- DTO:
- AppointmentDto.cs - Для приема.
- DoctorDto.cs - Для доктора.
- PatientDto.cs - Для пациента.
- IApplicationService.cs - Интерфейс для CRUD операций.
- ILibraryAnalyticsService.cs - Интерфейс для аналитической службы.
-
PatientService.cs - Для пациентов.
-
DoctorService.cs - Для докторов.
-
AppointmentService.cs - Для приемов к врачу.
-
LibraryAnalyticsService.cs - Сервис аналитических запросов.
-
MappingProfile.cs - Настройки AutoMapper для преобразования между DTO и доменной областью.
- AnalyticsController.cs - Контроллер для аналитических запросов (содержит те же запросы, которые проверяются в юнит-тестах).
- PatientController.cs - Управление пациентами.
- DoctorController.cs - Управление докторами.
- AppointmentController.cs - Управление приемами к врачу.
- CrudControllerBase.cs - Базовый класс для CRUD операций.
- AppHost.cs - Настройка Aspire