
Личный кабинет пациента: что показать и как защитить доступ
Кабинет нужен для конкретных задач пациента: увидеть запись, подготовиться к визиту, получить доступный документ и связаться с клиникой. Точные статусы и права важнее набора экранов.
Опишите задачи пациента и границы кабинета
Запишите, что пациент должен сделать сам: проверить предстоящую запись, увидеть адрес и подготовку, запросить перенос, открыть выданный документ. Не переносите в интерфейс все поля медицинской системы только потому, что они доступны технически. Для каждого экрана определите пользу и ответственного за актуальность сведений.
Отдельно решите, какие действия требуют сотрудника клиники. Например, показ свободного времени не равен подтверждённой записи. Модель FHIR различает ресурс временного слота и ресурс назначения приёма; это полезное различие при проектировании статусов, но не обязательная технология для каждой клиники.
Сделайте статусы записи однозначными
Покажите разницу между отправленным запросом, подтверждённым приёмом, переносом и отменой. Укажите врача, время, филиал и канал связи, если данные подтверждены. Если сотрудник меняет расписание, пациент должен получить актуальное состояние, а не оставаться с устаревшей карточкой.
Протестируйте два одновременных выбора одного слота, закрытие расписания и повторную отправку. Интерфейс не должен сообщать об успешной записи до подтверждения серверной системой. Для переноса и отмены нужны понятные правила и подтверждение результата.
Защитите личные документы и доступ
При входе и восстановлении доступа учитывайте риск раскрытия данных через чужой номер, адрес или ссылку. Проверка прав нужна на сервере для каждой записи и документа; скрыть кнопку в интерфейсе недостаточно. OWASP отдельно описывает ошибки авторизации по идентификатору объекта, когда пользователь получает чужую запись сменой ID.
Разделите роли пациента, представителя и сотрудника; основание доступа представителя проверяется по процессу клиники. Определите время жизни сеанса, журнал обращений и способ закрыть доступ. Конкретные юридические обязанности и сроки хранения следует проверять по применимым требованиям, а не выводить из технического стандарта.
Проверьте сквозной путь
На тестовых данных пройдите путь нового и повторного пациента: вход, просмотр записи, запрос переноса, получение документа и выход. Проверьте мобильный экран, слабую связь, истёкший сеанс и ошибочный адрес. После ошибки нельзя молча терять отправленный запрос или оставлять чужие данные на экране.
Проведите отдельную проверку: пациент А не видит записи пациента Б ни через интерфейс, ни через прямой запрос. Затем сравните сообщения в кабинете с регистратурой и системой расписания. Кабинет полезен только когда все каналы показывают согласованный статус.
Вопросы и ответы
Если слот свободен, запись уже подтверждена?
Нет. Свободный слот и подтверждённый приём — разные состояния; кабинет должен показывать фактический статус.
Достаточно ли скрыть чужие записи в интерфейсе?
Нет. Сервер должен проверять право на каждый документ и запись независимо от видимых кнопок.
.webp&w=1920&q=85)