В программе лежат карты пациентов и врачебная тайна. Рассказываем, как всё устроено, чтобы вы могли ответить пациенту, если он спросит.
Клиники не делят одно хранилище. У вашей — отдельная база данных, отдельный процесс на сервере и отдельный ключ шифрования. Другая клиника не увидит ваших пациентов, даже если в программе случится ошибка.
Чувствительные поля карточки хранятся в зашифрованном виде (AES-256-GCM). Ключ лежит отдельно от базы. Без него содержимое не прочитать — ни из копии базы, ни при краже диска.
Данные ваших пациентов не покидают страну. Этого требует закон, и мы его соблюдаем.
Администратор ведёт запись и расписание, но карты, планы лечения и деньги ему закрыты. Ассистент работает под подтверждение врача. Техник видит только присланные ему наряды. Кому что доступно, решает владелец клиники.
Раньше мы могли открыть кабинет по одноразовой ссылке, когда разбирали вопрос. Теперь так нельзя: пока вы сами не откроете доступ в настройках кабинета («Доступ поддержки» → «Разрешить на 30 минут»), ссылка не выдаётся вовсе, и попытка входа заканчивается отказом. Окно закрывается само по истечении времени, вы можете закрыть его раньше одной кнопкой. Каждый вход поддержки приходит вам в бот и остаётся в журнале рядом с отказами — видно, что происходило, даже если вас в этот момент не было у экрана.
По закону оператор персональных данных — клиника. Мы обрабатываем их по вашему поручению: храним, показываем в программе, отправляем напоминания. Условия описаны в поручении на обработку. Согласие у пациента берёте вы, бланк есть в программе.
Мы обрабатываем данные по вашему поручению и не используем их в своих целях. Всю работу можно выгрузить из кабинета одним файлом за пять минут — пациенты, приёмы, деньги, — и для этого не нужно нас просить. Если решите уйти, доступ сначала приостанавливается, а база и копии сохраняются ещё 90 дней: можно передумать и продолжить с того же места. Не хотите ждать эти 90 дней — по вашей просьбе стираем всё сразу, вместе с ночными копиями и ключом шифрования, и сообщаем, когда сделано.
Помощник врача работает на языковой модели, и модель не получает персональных данных. Перед каждым обращением наш сервер заменяет фамилии, имена, телефоны, даты рождения и заметки идентификаторами вида P-001: врач пишет «запиши Иванову на четверг», модель получает «запиши P-001 на четверг». Обратная подстановка происходит уже в кабинете, при показе ответа врачу. Словарь соответствий живёт в оперативной памяти кабинета, на диск не пишется и стирается через 30 минут после разговора.
Слово, которое кабинет не смог сопоставить с пациентом, помощник не отправляет вовсе, а переспрашивает у врача. Диктовку выполняет браузер устройства врача штатными средствами (в Chrome распознавание идёт на серверах Google, в Safari — Apple), к нам приходит уже текст: аудио на наш сервер не поступает и у нас не хранится. Кому это не подходит — пишите помощнику текстом, кнопка микрофона необязательна. Помощник ничего не меняет без подтверждения врача, и каждое подтверждённое действие видно в журнале. На проверку обезличивания есть автоматический тест: он гоняет реальные формулировки врача и падает, если хоть одно имя, телефон или дата рождения проходят наружу.