Справочно-информационный портал

© Группа компаний ХОСТ, www.hostco.ru, 2015-2017

Инструменты пользователя

Инструменты сайта


remd:info_emd

Процесс отправки документов

← Назад

Логика отправки ЭМД с описанием методов и процесса взаимодействия сервисов:

1. МИС формирует запрос методом POST/documents запрос в рег.РЭМД в сервис:

    a. emds-soap-service – soap формат запроса;
    b. emds-service – rest формат запроса;

2. Сервис emds-service выполняет обработку запроса POST /documents/

    a. Запрос был успешно обработан:
        - Метаданные из запроса записываются в emds.med_docs;
        - Документ и подписи к нему помещаются в хранилище (в формате base64);
        - В МИС отправляется синхронный ответ о том, что запрос принят.
    b. В процессе обработки запроса была найдена ошибка:
        - В МИС отправляется синхронный ответ с ошибкой;
        - В таблице med_docs_reg_flk появляется запись с ошибочным запросом;

3. Сервис emds-service ставит в очередь документ на отправку во ФРЭМД (localUid документа и дата его создания заполняются в таблице emds.emdfr_send_task);

4. Сервис emds-outbound-scheduler согласно определенному в настройках расписанию проверяет наличие ЭМД, подлежащих выгрузке в федеральный сервис по таблице emds.emdfr_send_task с условием is_done ≠ ‘true’;

5. Сервис emds-outbound-scheduler формирует запрос методом POST/documents к сервису взаимодействия с ФРЭМД – emdr;

    a. Если отправка прошла успешно, в таблице emds.emdfr_send_task в поле is_done проставляется значение ‘true’;
    b. Если отправка прошла успешно, в таблице emds. doc_upload_status в поле status проставляется значение ‘1’;
    

6. Сервис emdr получает запрос от emds-outbound-scheduler и осуществляет следующие действия:

    a. Формирует запрос RegisterDocumentRequest в формате xml;
    b. Осуществляет валидацию запроса согласно xsd схеме;
    c. Осуществляет подписание запроса;
    d. Отправляет сформированный запрос в ФРЭМД по протоколу soap;
    e. Заполняет поля local_uid, message_id и sent_datetime в таблице emdrxchg.register_document.
    

7. Сервис emdr получает синхронный ответ от ФРЭМД о том, что запрос методом RegisterDocumentRequest был получен;

8. Заполняются поля header_message_id в таблице emdrxchg.register_document (если в синхронном ответе был статус success и идентификатор документа присвоенный в ФРЭМД);

9. Получение асинхронного ответа от ФРЭМД методом SendRegisterDocumentResult;

10. Заполнение таблицы emds.med_docs поля emdr_metadata результатами обработки документа в ФРЭМД (так же заполняются поля emdrId и doc_version если документ был успешно зарегистрирован);

remd/info_emd.txt · Последние изменения: 2022/06/29 13:17 — Системный администратор