Все кейсы

Мой Доктор 24 — сервис онлайн-консультаций со специалистами

Сервис «Мой Доктор 24» даёт возможность консультироваться с практикующими врачами и получать информацию по любым вопросам, связанным со своим здоровьем и здоровьем своих близких, актуальным вопросам в области медицины и здравоохранения.

С помощью приложения «Мой Доктор 24» пользователь получает:

  • возможность связаться с практикующими специалистами в режиме online, в том числе с помощью видеозвонка;
  • обсудить назначенное лечение и лекарства;
  • записаться на удобное время для консультаций с узкопрофильными специалистами;
  • возможность общения с практикующими специалистами в формате чата с обменом файлов;
  • историю консультаций и файлов.

Приложение разработано на основе WHITE-LABEL решения DD Platform и доступно в App Store для устройств с iOS и в Google PlayMarket для устройств Android. Приложение можно скачать бесплатно.

 

Цель проекта

Предоставить пользователям приложения «Доктор24» возможность быть на связи со специалистом-врачом в любое время суток и получать квалифицированную медицинскую помощь.

Дизайн

Дизайн приложения был разработан исходя из фирменных цветов «Доктор24».

Техническая платформа

Бэкэнд

ASP.NET Core + Microsoft SQL Server on Linux. Микросервисы в Docker (ПО для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне ОС).

Бэкэнд построен на платформе .Net Core актуальной версии с базой данных на Microsoft SQL Server Linux edition. Проект разбит на несколько микросервисов, размещаемых в Docker-контейнерах. Для единой аутентификации как между микросервисами, так и клиентами используется фреймворк IdentityServer4. Для мониторинга производительности подключена система New Relic.

Фронтэнд

React SPA: CoreUI

Фронтэнд реализован на базе одностраничного React (JavaScript-библиотека) с использованием шаблона CoreUI.

Мобильные приложения

Xamarin.iOS + Xamarin.Android + React Native

Мобильные приложения написаны на кроссплатформенном фреймворке Xamarin.

Безопасность и стабильность системы

Мониторинг стабильности ведётся в Yandex AppMetric.

Весь проект размещен на плаформе Azure DevOps для удобной организации ведения разработки, багтрекинга и непрерывной сборки и интеграции. Для внутреннего тестирования используется сервис Visual Studio App Center для публикации и распространения тестовых сборок.

Функционал мобильного приложения

Две ключевые функции мобильного приложения: чаты и звонки, позволяют клиенту обращаться с вопросом к оператору любым удобным способом через интернет, независимо от местонахождения без дополнительных трат на связь.

Интересным решением является непрерывность диалога между клиентом и оператором со стороны пользователя. Оператор видит всю историю переписки в окне чата.

 

Функционал web-портала для специалистов

Консультация. Это сессия диалога, начатая клиентом в мобильном приложении. Клиент задаёт какой-либо вопрос оператору в чате. Этот вопрос появляется в разделе Консультации у оператора. Оператор видит список вопросов и может взять его в работу и продолжить общение с клиентом. По окончании диалога консультация закрывается и уходит в архив. Во время диалога оператор и клиент также могут обмениваться текстовыми и мультимедиа файлами.

Второй важный раздел сайта - Заявки. В них попадают заявки на обратный звонок клиенту. Если клиент не хочет переписываться в чате, он может заказать обратный звонок. Оператор, увидев заявку, может позвонить клиенту. По завершению разговора, заявка уходит в архив.

Оставшиеся два раздела: Клиенты и Операторы, представляют собой списки, соответственно зарегистрированных клиентов и операторов в системе для просмотра их полных личных данных и контактов.

Сроки

В общей сложности первый этап реализации проекта занял 4 месяца. В настоящее время проходит расширение уже имеющихся функций.

Функции, реализованные на первом этапе проекта разработчиками DD Planet:

  • веб-сайт для операторов с возможностью вести диалог с клиентами и совершать аудиозвонки по заявкам пользователей;
  • приложение клиента для IOS;
  • приложение клиента для Android;
  • приложения клиента с базовым функционалом просмотра в чате текущего обращения к оператору и принятие аудио звонков от операторов.

Функции, внедряемые на втором этапе:

  • история чата в предыдущих обращениях к оператору;
  • статусы активности операторов;
  • тарификация обращений;
  • уведомления о событиях в чате в CRM;
  • хранение документов на телефонах;
  • дополнительные сортировки и фильтры чатов и обращений в CRM;
  • просмотр профиля пользователя из CRM.

Результаты

В процессе разработки было принято решение создать проект мобильного приложения на базе унифицированного фреймворка Xamarin, позволяющего вести часть кодовой базы для приложений в едином проекте. Также был использован компонент на React Native для реализации единого окна чата в обоих мобильных платформах. Это значительно сократило время разработки второй платформы, а также способствовало уменьшению времени адаптации нововведений для платформ в виду единой кодовой базы.

Серверная часть проекта построена на микросервисной архитектуре на базе Docker, что даст широкие возможности для горизонтального масштабирования системы с ростом количества пользователей. Это также повышает гибкость модификации и обновления модулей системы, добавления или удаления подсистем.