Программа «Очередь пациентов» предназначена для автоматизации процессов:
- Управления очередью на прием к врачу;
- Ведения истории посещений пациентов.
Область применения: поликлиники, больницы, частные медицинские центры.
Программа обеспечивает выполнение следующих функций:
-
Управление очередью:
- Вызов следующего пациента к врачу.
-
Ведение истории посещений:
- Фиксация диагноза и назначенных препаратов;
- Просмотр истории визитов.
Входные данные:
Параметр | Тип | Описание |
---|---|---|
Специальность врача | Строка | Специальность врача, принимающего записанных к нему клиентов |
Выходные данные:
Параметр | Тип | Описание |
---|---|---|
Полная информация о пациенте | Строка | ФИО пациента, дата рождения, пол |
История визитов | Массив строк | Список посещений с диагнозами и препаратами |
Требования к аппаратному обеспечению:
- Процессор: не менее 1 ГГц;
- ОЗУ: 2 ГБ;
- Свободное место на диске: 100 МБ.
Программное окружение:
- ОС: Windows 10/11, Linux (Ubuntu 22.04+), MacOS;
- СУБД: PostgreSQL 12+;
- Библиотеки: libpqxx 7.7+.
Ограничения:
- Для корректной работы требуется стабильное интернет-соединение.
Программа имеет следующую диаграмму классов:
Программа состоит из следующих модулей:
- Модуль регистрации проводит авторизацию и аутентификацию пользователя. Если все прошло успешно, то пользователь получает доступ к базе данных. Данный модуль выполняется классом DataBaseWorker методом GetPatients.
- Модуль очереди формирует очередь пациентов из таблицы с записанными ко врачу людьми. Данный модуль выполняется классом DataBaseWorker, его конструктором. Результат записывается в экземпляр класса PatientQueue в поле _queuePatient.
- Модуль инициализации пациента берет верхнего пациента из очереди и выводит его личные данные на экран. Эту работу выполняет класс PatientQueue методом GetPatient. Результат выводится на экран и записывается в экземпляр класса Doctor в поле _patient.
- Модуль истории выводит на экран историю болезней у пациента и выписанные в прошлом лекарства. Данный модуль выполняет класс Doctor методом GetPatient, не сохраняя значения в памяти.
- Модуль работы врача формирует запрос на вставку в базу данных информации о текущей болезни пациент и необходимых для него лекарств. Данный модуль выполняет класс Doctor, метод Working.
- Модуль освобождения удаляет из очереди и таблицы с очередью пациента, прием которого был завершен. После этого вызывается модуль инициализации для следующего пациента, при его наличии, либо программа переходит к завершению. Данный модуль выполняет класс Doctor, метод Working.
- Модуль завершения отключает программу от базы данных, удаляя соединение с ней. Данная работа выполняется автоматически при завершении программы.