© Группа компаний ХОСТ, www.hostco.ru, 2015-2017
1. Для подключения к базе данных (далее БД) необходимо открыть приложение DBeaver и в левом верхнем углу нажать на кнопку “Новое соединение”.
2. Выбрать тип БД, к которой необходимо подключиться и нажать “Далее”.
3. В окне настроек соединения, которое откроется следом, надо заполнить поля: Хост - адрес сервера, на котором развернута БД; Порт; База данных – имя БД; Пользователь – имя пользователя БД; Пароль – пароль пользователя БД (поставить галочку «сохранять пароль локально» чтобы не вводить его при каждом подключении к БД).
Когда все поля будут заполнены, появится возможность провести тест соединения. Рекомендуется этой возможностью воспользоваться и нажать на одноименную кнопку в левом нижнем углу окна.
Если тест соединения успешно пройден, то появится небольшое сообщение с временем отклика сервера БД и информацией о ее версии. Ознакомившись, это сообщение можно закрыть, и нажать “Готово”
В случае, если выходит сообщение об ошибке, необходимо проверить правильность заполнения полей и доступность сервера.
Чтобы открыть редактор SQL запросов нужно перейти во вкладку “Редактор SQL” и выбрать пункт “Новый Редактор SQL”.
Бывают случаи, когда по документу долго не приходит асинхронный ответ от ФРЭМД или не приходит вообще. В таком случае можно перезапросить статус документа в ФРЭМД. Также перезапрос статуса документа необходим, когда в асинхронном ответе от ФРЭМД (ответ на запрос регистрации документа) вернулась ошибка с кодом 'NOT_UNIQUE_PROVIDED_ID' или 'CANT_REG_VERSION'
1. Необходимо найти нужный документ в БД. Для этого в ранее открытый редактор SQL вводим:
select * from update_registry_item where local_uid = ‘<localUid вашего документа>’
Если документ не найден таблица ниже будет пустой, как на скриншоте.
В этом случае добавляем его с помощью следующего запроса:
INSERT INTO emds.update_registry_item (local_uid, status, upload_dt) select md.local_uid, '1', timezone('UTC':: text, now()) FROM emds.med_docs md left join emds.update_registry_item u on md.local_uid=u.local_uid where md.local_uid in ('<localUid вашего документа>')
Если в асинхронном ответе от ФРЭМД была ошибка 'NOT_UNIQUE_PROVIDED_ID', то запрос должен быть таким:
INSERT INTO emds.update_registry_item (local_uid, status, upload_dt) select md.local_uid, '1', timezone('UTC'::text, now()) FROM emds.med_docs md left join emds.update_registry_item u on md.local_uid=u.local_uid where emdr_metadata -> 'errors' -> 0 ->> 'code' = 'NOT_UNIQUE_PROVIDED_ID' and create_dt>='<ограничение по дате публикации документа в РРЭМД>' and u.local_uid is null
И для ошибки 'CANT_REG_VERSION' соответственно:
INSERT INTO emds.update_registry_item (local_uid, status, upload_dt) select md.local_uid, '1', timezone('UTC'::text, now()) FROM emds.med_docs md left join emds.update_registry_item u on md.local_uid=u.local_uid where emdr_metadata -> 'errors' -> 0 ->> 'code' = 'CANT_REG_VERSION' and create_dt>='<ограничение по дате публикации документа в РРЭМД>' and u.local_uid is null
2. Далее необходимо снова выполнить запрос
select * from update_registry_item where local_uid = ‘<localUid вашего документа>’
и в полученной выборке посмотреть значение колонки «status».
1 - статус документа еще не запрошен в ФРЭМД 2 - статус документа успешно запрошен в ФРЭМД 3 - статус документа запрошен в ФРЭМД, но вернулась ошибка
Если получили status=2, то смотрим в таблице med_docs что вернулось (документ либо зарегистрирован в ФРЭМД, либо по нему ошибка) Сделать это можно с помощью следующего запроса:
select * from med_docs md where local_uid = ‘<localUid вашего документа>’
Если получили status=3, то необходимо посмотреть колонку emds.update_registry_item.error_message
Если emds.update_registry_item.error_message <> 'Ошибка получения регистрационных сведений: Документ не найден', то это системная ошибка ФРЭМД и нужно по новой перезапросить статус, для этого делаем апдейт status=1 для этой записи:
UPDATE emds.update_registry_item set status = 1 where local_uid in ('<localUid вашего документа>')
Если в итоге получили error_message = 'Ошибка получения регистрационных сведений: Документ не найден', то это значит, что документ не зарегистрирован во ФРЭМД и нужно переотправить его повторно на регистрацию. Для этого выставляем is_done = false в таблице emdfr_send_task для соответствующей записи:
UPDATE emds.emdfr_send_task set is_done = false where local_uid in ('<localUid вашего документа>')
Данный запрос ставит документ в очередь на отправку. После его выполнения документ будет обработан в очереди и отправлен во ФРЭМД.
Документы следует переотправлять только по истечении определенного времени с момента первой отправки на регистрацию. Рекомендуемые сроки для направления на МСЭ 2-3 дня, для остальных видов документов 5-7 дней.