Совместная работа и архитектура прав доступа одна из ключевых задач разработки облачных cервисов. Как мы реализовали их в сервисе автоматизации стоматологии DentalTap — не совсем стандартный подход.
Ограничения
Коллаборация DentalTap в нашем понимании — это возможность работы над выполнением задач в окружении сервиса совместно со штатными или внешними коллегами с разными ролями. Мы реализовали роли по функциональным обязанностям сотрудников клиники — администратор клиники, врач, руководитель. Приоритетным для нас была простота настроек прав доступа.
На текущую реализацию совместной работы повлияли особенности рынка и первые версии продукта, которые были ориентированы на solo практики (кабинетов у дома) и постепенно развивались в решение для клиник.
Как обычно
- В совместной работе используют роли штатных, внештатных сотрудников или сотрудников контрагента.
- Реализуют права работы через сущности архитектуры сервиса и операций над ними -просмотр, редактирование, удаление и т.д.
У AmoCRM акцент на сущности и настройки работы с ними
Наша реализация
Владелец приглашает коллег в свою подписку через инвайты, а приглашенный сотрудник получает возможность работать в гостевом аккаунте и становиться владельцем собственной подписки. При входе в сервис приглашенный врач может выбирать с какой подпиской работать.
Далее владелец подписки может назначать роли приглашенных сотрудников или настроить права доступа вручную. Разрешения операций удаления, редактирования, создания мы реализовали только для карты пациента, в которой собран основной функционал сервиса. Другими словами,. через доступ к карте пациента мы администрируем и доступ к основному функционалу карты пациента — лечению, счетам, файлам и документам.
Разрешаем доступ сотруднику к пациенту
Настройки остальных прав в DentalTap сводится только к разрешению работы и касается только функционала, вынесенному за карту пациента — работа с календарем, задачами, прайс-листом, шаблонами SMS.
Настраиваем права работы с картой пациента
Важно, что совместная работа реализована нами на двух уровнях — через общие настройки прав доступа и через разрешение доступа к пациенту со стороны владельца подписки. В результате приглашенный сотрудник:
- Видит или нет пациента в списке.
- Могут просматривать или редактировать его карту.
Результаты
- Разграниченная между специалистами база пациентов
- Организация совместной работы сотрудниками клиниками и практикующими врачами.
- Ограничение к основному функционалу сервиса через доступ к карте пациента.
- Реализацию виральности через автоматическое создание дополнительной подписки.
- Универсальность продукта для частных врачей и клиник.
- Упрощение процесса и логики настройки прав доступа.
Основной вывод — мы показали, как можно делать важный функционал нестандартными способами и это сильно упростит жизнь пользователям ваших решений. Мы подошли к администрированию прав работы для сущностей, расположенных в карте пациента, через разрешение операций над ними и разрешение работы с картой. Такой подход упрощает настройки прав, если для нескольких сущностей надо назначать одинаковые права доступа. Получилось, пользуйтесь.
→ Серия «Hi, SaaS»