© Группа компаний ХОСТ, www.hostco.ru, 2015-2017
Здесь показаны различия между двумя версиями данной страницы.
— |
remd:info [2022/06/10 18:11] (текущий) Системный администратор создано |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Описание сервисов РЭМД ====== | ||
+ | ~~TOC:2-4 ~~ | ||
+ | [[{}:remd|← Назад]] | ||
+ | |||
+ | ==== 1. EMDS-SERVICE ==== | ||
+ | Сервис осуществляет прием и валидацию запросов от МИС по rest- протоколу. | ||
+ | Если запрос был успешно обработан и принят, появляется запись в таблице med_docs, затем сервис осуществляет постановку документов в очередь на отправку в ФРЭМД (таблица emdfr_send_task) в соответствии с правилами, прописанными в таблице ref_emdfr_send_rule. | ||
+ | Если запрос не прошел валидацию, запись появляется в таблице med_docs_reg_flk. | ||
+ | |||
+ | Методы сервиса: | ||
+ | * POST/documents – публикация документа; | ||
+ | * GET/documents/ – поиск метаданных ЭМД по параметрам; | ||
+ | Параметры поиска, используемые в данном методе: | ||
+ | ^ Параметр ^ Назначение ^ | ||
+ | | X-medOrgOid | Организация, от имени которой выполняется запрос | | ||
+ | | creationDate | Дата создания документа внутри организации или ее подразделения | | ||
+ | | creationDateTime | Дата и время создания документа внутри организации или ее подразделения | | ||
+ | | creationDateBegin | Дата и время начала периода создания документа внутри организации или ее подразделения | | ||
+ | | creationDateEnd | Дата и время окончания периода создания документа внутри организации или ее подразделения | | ||
+ | | registerDateBegin | Дата и время начала периода регистрации документа в ФРЭМД | | ||
+ | | registerDateEnd | Дата и время окончания периода регистрации документа в ФРЭМД | | ||
+ | | documentNumber | Регистрационный номер документа внутри организации или подразделения | | ||
+ | | emdrId | Реестровый номер документа в ФРЭМД | | ||
+ | | kind | Код вида документа | | ||
+ | | localUid | Уникальный идентификатор документа в РЭМД в формате UUID | | ||
+ | | organization | Код мед. организации, подписью которой подписан документ | | ||
+ | | patientLocalId | Идентификатор пациента в МИС | | ||
+ | | patientSnils | СНИЛС пациента | | ||
+ | | pageNumber | Номер страницы с результатами поиска (0 - первая страница) | | ||
+ | | pageSize | Количество записей на странице с результатами (1 - одна запись на странице) | | ||
+ | | searchInFremd | Признак необходимости поиска в ФРЭМД | | ||
+ | | securityToken | Токен безопасности МО | | ||
+ | |||
+ | |||
+ | * GET/documents/{uid}/signed-content, где uid – localUid документа. Метод получения подписанного ЭМД; | ||
+ | |||
+ | * GET/documents /{messageId}/{emdrId}/demand-content, где messageId - идентификатор запроса, emdrId – регистрационный номер документа во ФРЭМД. Метод для запроса файла ЭМД, зарегистрированного в сторонней ИС через ФРЭМД; так же необходимо указывать параметр SendAdress (коллбэк МИСа) в заголовке запроса | ||
+ | |||
+ | * GET/documents/metadata?{emdrId}&{grantingEmdrId}, где emdrId – регистрационный номер документа во ФРЭМД, grantingEmdrId - идентификатор документа, к которому ИС имеет доступ, связанного с запрашиваемым. Указывается в том случае, когда нет явного разрешения на получение документа, но есть разрешение на связанный. Метод получения метаописания ЭМД в РЭМД. | ||
+ | |||
+ | * GET/documents/{uid}/xsl-content, где uid – localUid документа. Метод находит в хранилище документов РРЭМД тело документа (xml) с указанным uid, осуществляет xsl-преобразование и отдает документ, полученный путем xslt-преобразования из xml (hl7) в html или pdf, в виде строки, закодированной в base64. | ||
+ | | ||
+ | Параметры, используемые в данном методе: | ||
+ | ^ Параметр ^ Назначение ^ | ||
+ | | docType| Формат документа (pdf\html) | | ||
+ | | stamp | Проставление печати в документе pdf (true\false) | | ||
+ | |||
+ | * GET/documents/{uid}/associations, где uid – localUid документа. Метод возвращает метаданные связанного документа из блока associations: смотрит какой emdrId стоит в блоке associations и ищет по этому emdrId документ в med_docs (associations -> 'targetDocument' ->> 'emdrId'). | ||
+ | |||
+ | |||
+ | ==== 2. EMDS-SOAP-SERVICE ==== | ||
+ | Сервис осуществляет прием запросов от МИС по soap – формату, затем преобразует полученный запрос в rest формат и отправляет его в сервис EMDS-SERVICE по rest – протоколу. | ||
+ | Принимает запрос getDocumentFile от сервиса EMDS-SERVICE и направляет его в МИС, полученный ответ транслирует обратно. | ||
+ | |||
+ | ==== 3. EMDS-OUTBOUND-SCHEDULER ==== | ||
+ | Сервис проверяет таблицу emdfr_send_task на наличие записей, где is_done != true, осуществляет пакетную отправку запросов на регистрацию ЭМД в сервис взаимодействия с ФРЭМД - emdr. | ||
+ | |||
+ | Так же сервис осуществляет повторную отправку ЭМД, ранее отправленных на регистрацию во ФРЭМД и вернувшихся с ошибкой, согласно перечню ошибок в таблице emds.ref_error_resending и настройке частоты отправки в параметре конфига сервиса - emdfr.resending.cron.expression | ||
+ | |||
+ | ==== 4. EMDR ==== | ||
+ | === Сервис осуществляет: === | ||
+ | - Прием пакетов запросов от emds-outbound-scheduler, | ||
+ | - На основе полученных данных формирует запрос RegisterDocument в формате xml, | ||
+ | - Осуществляет проверку сформированного запроса на валидность xsd схеме, | ||
+ | - Осуществляет заполнение заголовка и подписание (используется подпись МИАЦ/Деп. здрав.) SOAP запроса, в котором осуществляется передача сведений с использованием сертификата системы. | ||
+ | - Отправляет запрос во ФРЭМД, | ||
+ | - Получает синхронные и асинхронные ответы от ФРЭМД, | ||
+ | - Осуществляет прием запросов от ФРЭМД. | ||
+ | |||
+ | === Методы сервиса: === | ||
+ | * registerDocument – регистрация документа во ФРЭМД; | ||
+ | * searchRegistryItem - поиск записей в федеральном реестре сведений об ЭМД; | ||
+ | * getRegistryItem - запрос сведения о регистрации по номеру записи в федеральном реестре; | ||
+ | * demandContent - используется для запроса файла ЭМД, зарегистрированного предоставляющей ИС; | ||
+ | * getMetadata - позволяет запросить метаописание ЭМД, зарегистрированного во ФРЭМД, по номеру записи в реестре. | ||
+ | |||
+ | === Методы колбек сервиса: === | ||
+ | * sendRegisterDocumentResult – используется для асинхронной передачи результатов регистрации сведений об ЭМД; | ||
+ | * getDocumentFile – используется для запроса тела документа из архива ИС; | ||
+ | * sendDocumentFile – используется для асинхронной передачи ЭМД, запрошенного из электронного архива предоставляющей ИС; | ||
+ | * sendNotice – используется для уведомления ИС о регистрации в РЭМД сведений об ЭМД из других ИС, а также о создании другими ИС связей с документами ИС. | ||
+ | |||
+ | === 5. EMDS-NOTICE-SENDING === | ||
+ | Сервис осуществляет отправку уведомлений в МИС/РМИС о результатах обработки документа, отправленного во ФРЭМД. | ||
+ | === Сервис направляет уведомления в результате следующих событий: === | ||
+ | * Документ успешно зарегистрирован во ФРЭМД; | ||
+ | * Документ не зарегистрирован во ФРЭМД (от сервиса ФРЭМД получена ошибка); | ||
+ | * Возникла ошибка при передаче запроса в сервис ФРЭМД; | ||
+ | * В РРЭМД появился связанный документ (сведения о результатах МСЭ). | ||
+ | Для отправки уведомлений в МИС в исходном запросе от МИС обязательно присутствие не пустого параметра messageId. | ||
+ | messageId – идентификатор запроса. | ||
+ | |||
+ | ==== 6. EMDS-UPDATE-SCHEDULER ==== | ||
+ | Сервис в автоматическом режиме осуществляет запрос актуальных сведений по ЭМД, записи по которым имеются в таблице update_registry_item со значением в поле status = ‘1’, из ФРЭМД и вносит полученные от ФРЭМД данные в таблицу med_docs в поле emdr_metadata. | ||
+ | |||
+ | ==== 7. EMDS-IPRA-OUTBOUND-SCHEDULER ==== | ||
+ | Сервис предназначен для передачи зарегистрированных во ФРЭМД направлений на МСЭ в подсистему ИПРА. | ||
+ | Все успешно зарегистрированные во ФРЭМД направления на МСЭ (kind.code = ‘34’) добавляются в таблицу очереди ipra_send_task, далее сервис проверяет данную таблицу на наличие записей, где is_done != true, после чего осуществляет пакетную отправку запросов в ИПРА. | ||
+ | Статус выгрузки документов в сервис ИПРА проставляется в поле status таблицы ipra_doc_upload_status. | ||
+ | |||
+ | ==== 8. EMDS-RIMS-SERVICE ==== | ||
+ | В сервис emds-rims-service поступают данные подписанта из блока personal_signature, после чего он обращается в сервис РИМС (региональный индекс медицинских сотрудников) получая от него по СНИЛС подписанта + oid медицинской организации информацию по медицинскому сотруднику из ФРМО/ФРМР, затем сверяет данные, полученные в запросе от emds-service и данные из РИМС сервиса. | ||
+ | Если данные совпадают – ФЛК пройдено, в противном случае в МИС вернется синхронная ошибка. | ||
+ | |||
+ | ==== 9. EMDS-REGIONAL-OUTBOUND-SCHEDULER ==== | ||
+ | Сервис проверяет таблицу do_send_task на наличие записей, где is_done != true, осуществляет пакетную отправку запросов на регистрацию региональных ЭМД в сервис департамента образования. | ||
+ | |||
+ | ==== 10. EMDR-NOTICE-SCHEDULER ==== | ||
+ | Сервис запрашивает документ (как правило документ вида “Сведения о результатах МСЭ”) из ФРЭМД на основе полученного уведомления от федерального сервиса методом notice_task. | ||
+ | |||
+ | ==== 11. EMDS-CLEAN-SCHEDULER ==== | ||
+ | Сервис осуществляет удаление записей в таблице med_docs по заданным настройкам и расписанию, а также очистку истории хранения запросов к федеральному сервису. | ||
+ | По требованиям федерального РЭМД документы должны храниться 25 лет. | ||
+ | |||