Основные шаги

  1. Отбор данных, которые необходимо отправить в ФРЛЛО и помещение их в справочник тмб_ФедеральныеВебСервисыОбъектыОтправки.
  2. Формирование документов xml, содержащих данные для передачи в ФРЛЛО
  3. Подписание xml и формирование транспортного пакета
  4. Отправка сформированного пакета в ФРЛЛО
  5. Обработка синхронного ответа
  6. Ожидание и обработка асинхронного ответа
  7. Передача подтверждения приема синхронного ответа

Регламентное задание (выполнение пунктов 1-5):

Общий модуль "тмб_ФРЛЛО" метод "СформироватьДанныеДляПомещенияВОбъектыОтправки":

  1. Работа регламентного задания регулируется значением константы "Использовать интеграцию с ФРЛЛО".

  2. Выбор данных на отправку и формирование документов xml. Выбираются данные за период, который рассчитаывается исходя из текущей дати и значения константы "Количество дней для отбора данных ФРЛЛО".

    1. Начало периода = Начало дня ("Текущая дата" - "Количество дней для отбора данных ФРЛЛО")

    2. Конец периода = Конец дня ("Текущая дата").

    3. Выбранные данные попадают в справочник "Федеральные веб сервисы объекты отправки". Выбираются следующие объекты:

      1. Льготы (документ "Изменение льготы (тмб)"), которые были изменены или созданы за период (наличие записей в регистре ЛьготыПациента.СрезПоследних за период); Льгота не должны быть отправлена ранее (в РС "Идентификаторы сведений о льготах" нет записей с отбором по регистратору - документу "Изменение льготы (тмб)");

      2. Рецепты (документ "Льготное лекарственное обеспечение"), по которым имеется документ "Внутреннее потребление товаров". Льготы пациента, которому выписывался рецепт, должны быть ранее отправлены в ФРЛЛО (проверяется наличие записи РС "Идентификаторы сведений о льготах" по пациенту); Отпущенный рецепт не должен быть ранее отправлен (проверяется наличие записи в РС "Идентификаторы назначений в ФРЛЛО" по рецепту);

      3. Отпуск рецептов (документ "Внутреннее потребление товаров"). Отбираются все документы, созданный за период, которые ранее не были отправлены в ФРЛЛО (проверяется РС "Идентификаторы отпусков в ФРЛЛО") и по которым имеется рецепт, ранее отправленный в ФРЛЛО (проверяется РС "Идентификаторы назначений в ФРЛЛО");

      4. Персонифицированная заявка по пациенту. Отбираются все проведенные документы, созданные за период, которые раннее не были зарегистрированы в ФРЛЛО (проверяется РС "Идентификаторы персонифицированных заявок ФРЛЛО").

  3. Запускается обработка объектов, помещенных в справочник "Федеральные веб сервисы объекты отправки".

    1. Обрабатываются объекты, имеющие статус "На отправку";
    2. Формируется транспортный конверт, с помощью сертификата, указанного в константе "Сертификат подписи сообщений SOAP", подписывается тело сообщения
    3. Происходит отправка в ФРЛЛО.
    4. Обрабатывается синхронный ответ. В случае успешной передачи изменяется статус Объекта на "Подтверждено синхронно". При ошибке - "Ошибка отправки" и записывается текст ошибки в регистр со статусами ("Федеральные веб сервисы статусы объектов отправки");

Ожидание асинхронного ответа.

Для этого был создан HTTP сервис ФедеральныеВебСервисы.FRLLOCallback. Для запуска этого сервиса пользователю необходима роль "Старт веб сервиса ФРЛЛО (тмб)". Для ФРЛЛО публикация происходит с зашитым пользователем Web_FRLLO. Дополнительных прав не требуется, т.к. обработка происходит в привелегированном режиме.

  1. Прием входящего запроса Общий модуль "ФедеральныеВебСервисыФРЛЛО" метод "sendResponse";

    1. По ИдДокумента в запросе вычисляется объект отправки (Справочник "Федеральные веб сервисы объекты отправки" реквизит "Идентификатор документа");
    2. Разархивируется входящий файл. Проверяется количество файлов в архиве. Если файлов > 1, значит в передаваемых данных была ошибка структуры. Статус объекта отправки меняется на "Ошибка пакета";
    3. Если файлов = 1, то файл добавляется в прикрепленные файлы и происходит его обработка.
    4. Исходя из значения МетодВзаимодействия справочника "Федеральные веб сервисы объекты отправки" выбирается алгоритм обработки данных, но принцип везде похож: Если статус записи в обрабатываемом файле имеет код 200 или 208, то создается запись в соответствующем РС: "Идентификаторы сведений о льготах в ФРЛЛО" - льготы "Идентификаторы назначений в ФРЛЛО" - назначения "Идентификаторы отпусков в ФРЛЛО" - отпуски "Идентификаторы персонифицированных заявок ФРЛЛО" - персонифицированные заявки
    5. Изменяется статус объекта отправки на "Зарегистрировано" - в случае кода 200 или 208. "Ошибка пакета" - код 400;
  2. Формирование ответа - подтверждения. Подпись, отправка.

Логирование HTTP запросов (входящие, исходящие)

Информация записывается в регистр "Логирование сообщения с федеральными web сервисами". Активация функции логирования осуществляется константой "Использовать логирования сообщений с федеральными web сервисами";

Логирование ошибок формирования xml

В момент формирования документов xml могут возникать ошибки заполнения данных. Для их фиксации создан регистр "Логирование сообщений ФРЛЛО (тмб)";

Описание интерфейса:

  1. Инструменты необходимые для взаимодействия с ФРЛЛО расположены в подсистеме "ФРЛЛО (тмб);
    1. Регистры для хранения идентификаторов документов полученных от ФРЛЛО:

      1. Идентификаторы сведений о льготах в ФРЛЛО;
      2. Идентификаторы назначений в ФРЛЛО;
      3. Идентификаторы отпусков в ФРЛЛО;
      4. Идентификаторы персонифицированных заявок ФРЛЛО;
      5. Регистровые записи пациентов в ФРЛЛО (не используется);
    2. Регистры логирования:

      1. Логирование сообщений ФРЛЛО (тмб) - регистрация ошибок, возникших при формировании документов xml
      2. Логирование сообщения с федеральными web сервисами - запись всех входящих и исходящих сообщений http.
    3. Федеральные веб сервисы объекты отправки - регистрация объектов на отправку в ФРЛЛО.

    4. Дополнительные обработки - Статистика отправленных данных в ФРЛО - обработка, позволяющая сформировать статистические данные по отправленным Отпускам, назначениям и льготам.

    5. Настройка ФРЛЛО (тмб)

тест: Адрес callBack http://46.8.36.66:34895/pharmacy_llo_test_FRLLO/hs/fws/FRLLOCallback/ Инфо о регистрации в тесте: Данная ИС с идентификатором ИС в ИПС fbd33aa5-5b3a-4586-b01a-9896ef4ce2fe и кодом 3.010 зарегистрирована в ФРЛЛО и связана со справочником ФНСИ 1.2.643.5.1.13.13.99.2.622 по актуальной версии 3.34. Адрес сервиса ФРЛЛО в ИПС: https://ips-test.rosminzdrav.ru/1810424db9bec Адрес для ответа ФРЛЛО: https://ips-test.rosminzdrav.ru/e99cb41b1221e

прод: адрес callback https://1c-prod-llo.tls.72to.ru/pharmacy_llo_FRLLO/hs/fws/FRLLOCallback/ Инфо о регистрации в проде: Адрес веб-службы в рабочей версии ИПС - https://ips.rosminzdrav.ru/5c3cf3d9e2990 (после регистрации)

  • Нет меток