Оглавление 
Дата обновления - 30.04.26
Описание 
Данный документ является предварительным описанием интерфейса взаимодействия партнёров-сервисов сквозной аналитики для получения информации о записях пациентов и спецразмещениях на ПроДокторов.
Интеграция не предусматривает доступ к историческим данным - информация будет передавать только, пока клиникой включена интеграция в личном кабинете МедФлекс и только на время включения. Т. к. факт включения интеграции является акцептом передачи данных стороннему сервису.
Предполагается, что партнёр имеет прямую интеграцию с МИС клиники и получает информацию о пациенте, враче, дате и времени приёма, статусе приёма (создан / отменён / выполнен) напрямую из МИС. В следствие чего, предполагается, что партнёр на своей стороне определяет, какой из приёмов в МИС был создан через ПроДокторов по информации об ЛПУ, дате и времени создания приёма и номеру телефона пациента.
Методы API 
Во всех методах API используется пагинация.
Справочник ЛПУ 
Необходим для сопоставления ЛПУ в базе продуктов МедРокет с базой партнёра.
Для взаимодействия будет предоставлен доступ к существующему методу GET /models/lpu/.
В ответе на запрос возвращается информация о доступных для интеграции филиалах (включили интеграцию с сервисом сквозной аналитики в личном кабинете МедФлекса). Ключевая информация:
- lpu_id - ID филиала клиники (ЛПУ). Используется в других сущностях: приёмы, спецразмещения.
- Название, адрес, город, координаты - информация для сопоставления с базой филиалов сервиса.
Ответ файлом get_lpus-response.json
Справочник врачей 
Необходим для получение информации о враче в спецразмещении.
Для взаимодействия будет предоставлен доступ к существующему методу GET /models/get_doctors/.
В ответе на запрос возвращается информация о врачах в доступных для интеграции филиалах (включили интеграцию с сервисом сквозной аналитики в личном кабинете МедФлекса).
Создание и обновление приёмов 
GET /analytics/appointments/
Будет возвращать обновления записей, которые произошли вчера:
- создание новых
- отмена
- перенос ранее созданных
Ответ файлом get-appointments-response
- Актуальный статус записи и информацию о доходимости пациента можно получить из МИС путём сопоставления данных из данного метода с данными из МИС (ЛПУ, дата и время создания записи, номер телефона пациента).
- В данном методе возвращаются отмены записи всегда с возвратом стоимости лида клинике.
- Если запись отменена без возврата стоимости лида клинике, информация об этой транзакции не будет передана.
- Переносы для клиники бесплатны.
- Технически переносы записи могут представлять в МИС-е изменение изначальной записи или создание новой записи с последующей отменой предыдущей записи.
Спецразмещения 
GET /analytics/prodoctorov/special_placements/
Будет возвращать информацию о спецразмещениях, которые были вчера.
Ответ файлом get-prodoctorov-special-placements-response
Поле lpu_id заполнено для любого типа спецразмещения:
- на ЛПУ
- на врача
- на услугу
- на болезнь
В нормальном режиме, без сбоев:
- поле dt_start будет содержать дату и время начала прошлых суток - "{дата_вчера} 00:00:00+03:00"
- поле dt_end будут содержать дату и время начала текущих суток - "{дата_сегодня} 00:00:00+03:00"
В случае сбоя и необходимости получить информацию за более ранний период - в этих полях будут указаны корректные периоды спецразмещения.
Версия ПО клиники 
Подписка на дополнительные возможности ПроДокторов. Версии ПО в базе знаний ПроДокторов по ссылке - https://help.prodoctorov.ru/prodvizhenie_i_platnye_uslugi-versii-programmnogo-obespecheniya/
GET /analytics/prodoctorov/software_version_payment/
Метод возвращает данные о стоимости и периоде подписки 1 раз - на следующий день после дня списания средств за подписку с клиники.
ПО оплачивается пользователем для всех своих ЛПУ. Оплата по некоторым ЛПУ не предусмотрена. Список ЛПУ по пользователю (user_id) можно получить в справочнике ЛПУ с query-параметром "lpu_group_id={user_id}".
Ответ файлом get-prodoctorov-software_version_payment-response
- Информация о затратах клиники на версию ПО отправляется всего 1 раз - на следующий день после списания с указанием оплаченного периода.
- Возврат средств клиники при отказе или изменения подписки не предусмотрен.
- Если клиника имеет активную подписку и повысит версию ПО, то это новое списание без корректировок стоимости текущей подписки (повышение версии не реализовано, но в планах).
Рекомендации по реализации 
Информация о расходах (приёмы и спецразмещения) доступна только за последние календарные сутки (по МСК) и не меняется в течение текущих суток. Поэтому, всю информацию партнёру достаточно запрашивать один раз в сутки и сохранять на своей стороне. При этом, статус приёмов необходимо актуализировать каждые сутки - если приём отменён или перенесён, то эта информация будет в ответе по методу GET /analytics/appointments/
Для регулярного сбора актуальной информации достаточно завести регулярно выполняющуюся задачу, которая ежедневно 1 раз в сутки будет делать следующие действия:
1) Собирать всю информацию об обновлении приёмов и актуализировать данные в своей базе:
- сохранять новые приёмы
- отмечать ранее сохраненные новые приёмы как отменённые и фиксировать возврат средств
- сверять запись в МИС клиники после переноса
2) Собирать всю информацию о спецразмещениях и сохранять в своей базе данных.
Экстренные ситуации 
В случае сбоев и невозможности в течение суток получить информацию за вчерашний день - обработаем этот кейс в ручном режиме, предоставив данные за предыдущие периоды по указанным выше методам, но с соответствующими датами.