Если при синхронизации связка нашла контакт в Битрикс24 с нужным Порядковым номером пациента в IDENT, при этом номер телефона совпадает с одним из номеров телефонов в IDENT, то происходит обновление данных в Битрикс24 из МИС IDENT. Если номер телефона не совпадает с номером телефона в IDENT, то связка добавляет новый номер телефона и также обновляет данные. Возможно, пациент сменил номер телефона, либо у него два номера, поэтому мы добавляем новый номер, а не заменяем старый. Если номер телефона в карточке Контакта отсутствует, то связка заносит номер телефона и производит синхронизацию данных.
В случае если при синхронизации связка нашла несколько контактов в Битрикс24 с нужным Порядковым номером пациента в IDENT, то это указывает на ошибку в работе БД IDENT. Такого быть не должно, так как порядковый номер пациента в IDENT заполняется только через API, у сотрудников нет возможности менять его или удалять в Битрикс24.
Если во время синхронизации связка не нашла контакт в Битрикс24 с нужным порядковым номером, то начинается проверка по второстепенному идентификатору - номеру телефона пациента. Когда был найден один контакт с телефоном, совпадающим с номером телефона в IDENT, то связка проверяет поле “Порядковый номер пациента в IDENT” и если оно пустое, то добавляет этот порядковый номер в карточку Контакта в Битрикс24 и обновляет остальные данные из IDENT.
Если поле “Порядковый номер пациента в IDENT” не пустое, то связка создает новый контакт в Битрикс24, сохраняет в него номер телефона и порядковый номер пациента в IDENT, а затем проводит всю остальную синхронизацию данных из IDENT в Битрикс24. Почему может возникать такая ситуация? В МИС IDENT есть пациенты с одинаковыми номерами телефонов, часто женщина записывает на прием мужа, детей, родителей и тд. Получается, что номер телефона одинаковый, при этом пациенты разные. Поэтому номер телефона при синхронизации не является уникальным идентификатором пациента.
Если во время синхронизации контакт с номером телефона не был найден, то связка также создает новый контакт в Битрикс24, сохраняет в него номер телефона и порядковый номер пациента в IDENT, а затем проводит всю остальную синхронизацию данных из МИС IDENT в Битрикс24.
Может произойти еще одна ситуация, когда во время синхронизации связка находит несколько контактов с телефоном, совпадающим с номером телефона в IDENT. Тогда у первого найденного контакта происходит проверка поля “Порядковый номер пациента в IDENT” и если оно пустое, то связка добавляет этот порядковый номер в карточку контакта в Битрикс24 и обновляет остальные данные. Если поле “Порядковый номер пациента в IDENT” заполнено, то связка проверяет у следующего найденного контакта поле “Порядковый номер пациента в IDENT” и таким образом ищет контакт без порядкового номера, чтобы внести в него нужную информацию и обновить данные.
Данный алгоритм позволяет не допустить создание дублей в Битрикс24, сделать клиентские базы МИС IDENT и Битрикс24 максимально сопоставимыми, чтобы данные в них были синхронизированы корректно.