API Модуля доставки обратных сообщений в МИС
Назначение
Модуль доставки обратных сообщений (далее, Модуль) представляет собой сервис доставки асинхронных сообщений от Модуля приема документов из МИС следующих типов:
- сообщение о статусе генерации CDA по JSON-описанию документа;
- сообщение о результатах регистрации ЭМД в федеральных сервисах ИЭМК и РЭМД ЕГИСЗ;
- сообщение о регистрации в РЭМД ЕГИСЗ документа, сформированного Бюро МСЭ в ответ на Направление на МСЭ;
- сообщение о получении из РЭМД ЕГИСЗ документа, сформированного Бюро МСЭ в ответ на Направление на МСЭ;
- сообщение об асинхронном / синхронном ответе ВИМИС
Порядок взаимодействия с Модулем
Модуль доставки обратных сообщений направляет сообщение в МИС. Получив сообщение, МИС должна направить в Модуль ответ о принятии сообщения (см. Структура ответа МИС о получении сообщения). Если МИС не направит ответ, сообщение будет считаться не доставленным, и будет инициирована повторная отправка сообщения. Количество раз повторной отправки является настраиваемым параметром, и по умолчанию оно ограничено 5 попытками.
В качестве протокола взаимодействия между Модулем принимающей системой используется REST. Сообщения в МИС направляются в формате JSON, ответные сообщения от МИС также принимаются в JSON-формате.
Сообщения направляются в МИС запросом методом POST:
POST [base] / [MessageType] |
где:
- [base] - адрес Сервиса обратного вызова в МИС;
- [MessageType] - тип информационного сообщения (типы сообщений приведены в столбце MessageType в таблице раздела Типы сообщений)
Типы сообщений
Принимающая сторона получает сообщения следующих типов:
Тип сообщения
|
MessageType
|
---|---|
Статус генерации CDA-описания ЭМД | CDAStatus |
Результаты выгрузки СЭМД | SEMDStatus |
Результаты регистрации ЭМД в РЭМД | REMDStatus |
Регистрация РЭМД ЕГИСЗ документа, сформированного Бюро МСЭ в ответ на Направление на МСЭ (по тексту "Обратный талон") |
MseResult |
Получение из РЭМД ЕГИСЗ документа, сформированного Бюро МСЭ в ответ на Направление на МСЭ |
MseResultData |
Статус выгрузки СЭМД/СЭМД-бета в ВИМИС | VimisResult |
Структура сообщений, направляемых в МИС
Сервис обратного вызова площадки МИС-МО
Для взаимодействия с Модулем доставки обратных сообщений в МИС, на стороне принимающей системы необходимо реализовать Сервис обратного вызова МИС-МО. Он должен принимать сообщения от Модуля и отправлять в него обратный ответ об успешном получении сообщения в формате JSON.
Важно
Для каждой площадки МИС-МО должен быть заведен уникальный адрес сервиса обратного вызова и быть доступен круглосуточно! Адрес автоматически блокируется, если он недоступен более суток!
Получение сообщений о статусе генерации CDA-описания ЭМД и результатах выгрузки СЭМД
Пример передачи Адреса сервиса обратного вызова
Reply - To: http: / / test / back / |
Получение сообщений о регистрации ЭМД и Обратного талона в РЭМД, а также о получении Обратного талона из РЭМД
Для получения сообщений о регистрации ЭМД, регистрации и получении Обратного талона из РЭМД, в сервисе ИЭМК должен быть зарегистрирован адрес сервиса обратного вызова площадки (МИС-МО).
Структура сообщений, направляемых в МИС
Информирование МИС о статусе генерации CDA-описания ЭМД
Сообщение, информирующее МИС о статусе генерации CDA-описания ЭМД, содержит следующие параметры:
Параметр
|
Тип
|
Кратность
|
Описание
|
---|---|---|---|
IdMedDocumentMis | string | 1..1 | Идентификатор документа в МИС |
IdMedDocument | int | 1..1 | Идентификатор документа в Модуле приема документов от МИС |
MedDocumentType | int | 1..1 | Тип ЭМД по справочнику 1.2.643.5.1.13.13.99.2.41 |
Lpu | string | 1..1 | Идентификатор МО-отправителя ЭМД |
MessageId | uuid | 1..1 | Идентификатор сообщения |
Status | string | 1..1 |
Статус:
|
Message | string | 1..1 | Текстовый ответ при формировании CDA-описания ЭМД |
CDA | base64 | 0..1 | Тело CDA-описания ЭМД |
{ "IdMedDocumentMis" : "idDocumentMis_2125630" , "IdMedDocument" : 1053 , "MedDocumentType" : 33 , "Lpu" : "20dfadd0-c709-43b0-a130-5a16301b0217" , "MessageId" : "f46d3bba-d1af-4d4a-9e69-71952d5cefe7" , "Status" : "Success" , "Message" : "CDA успешно сформирован" , "CDA" : [место для данных в формате base64] } |
Информирование МИС о результатах выгрузки СЭМД
Сообщение, информирующее МИС о результатах выгрузки СЭМД в ИЭМК ЕГИСЗ содержит следующие параметры:
Параметр
|
Тип
|
Кратность
|
Описание
|
---|---|---|---|
IdMedDocumentMis | string | 1..1 | Идентификатор документа в МИС |
IdMedDocument | int | 1..1 | Идентификатор документа в Модуле приема документов от МИС |
MedDocumentType | int | 1..1 | Тип ЭМД по справочнику 1.2.643.5.1.13.13.99.2.41 |
Lpu | string | 1..1 | Идентификатор МО-отправителя ЭМД |
MessageId | uuid | 1..1 |
Идентификатор сообщения |
Status | string | 1..1 |
Статус
|
Message | string | 1..1 | Информационное сообщение о результатах выгрузки СЭМД в Федеральный сервис ИЭМК ЕГИСЗ |
{ "IdMedDocumentMis" : "idDocumentMis_2125630" , "IdMedDocument" : 1053 , "MedDocumentType" : 33 , "Lpu" : "20dfadd0-c709-43b0-a130-5a16301b0217" , "MessageId" : "b097fea5-e6f6-4417-9829-53ab6a562719" , "Status" : "Success" , "Message" : "СЭМД успешно загружен в ФИЭМК" } |
Информирование МИС о результатах регистрации ЭМД в РЭМД
Сообщение, информирующее МИС о результатах регистрации ЭМД в РЭМД, содержит следующие параметры:
Параметр
|
Тип
|
Кратность
|
Описание
|
---|---|---|---|
IdSourceMis | string | 1..1 | Идентификатор документа в МИС |
MedDocumentType | int | 1..1 | Тип ЭМД по справочнику 1.2.643.5.1.13.13.99.2.41 |
Lpu | string | 1..1 | Идентификатор МО-отправителя ЭМД |
MessageId | uuid | 1..1 | Идентификатор сообщения |
Status | string | 1..1 |
Статус
|
Message | string | 1..1 | Информационное сообщение о результатах выгрузки ЭМД в РЭМД ЕГИСЗ |
IdFedRequest | uuid | 1..1 | Идентификатор запроса на регистрацию ЭМД в РЭМД ЕГИСЗ |
RemdRegNumber | string | 0..1 | Уникальный идентификатор зарегистрированного ЭМД в РЭМД ЕГИСЗ |
{ "IdSourceMis" : "idDocumentMis_2125630" , "MedDocumentType" : 33 , "Lpu" : "20dfadd0-c709-43b0-a130-5a16301b0217" , "MessageId" : "b097fea5-e6f6-4417-9829-53ab6a562719" , "Status" : "Success" , "Message" : "ЭМД успешно загружен в РЭМД" , "IdFedRequest" : "8ed37cdf-8ed0-427e-9a94-14f40bbea18a" , "RemdRegNumber" : "215573" } |
Информирование МИС о регистрации в РЭМД ЕГИСЗ документа, сформированного Бюро МСЭ в ответ на Направление на МСЭ
Сообщение, информирующее МИС о регистрации в РЭМД ЕГИСЗ документа, сформированного Бюро МСЭ в ответ на Направление на МСЭ, содержит параметры:
Параметр
|
Тип
|
Кратность
|
Описание
|
---|---|---|---|
Lpu | string | 1..1 | Идентификатор МО-отправителя ЭМД |
MessageId | uuid | 1..1 | Идентификатор сообщения |
IdMSEMis | string | 1..1 | Идентификатор документа "Направление на медико-социальную экспертизу" в МИС, для которого сформирован ответный документ от Бюро МСЭ |
IdResultMSE | string | 1..1 | Идентификатор ответного от Бюро МСЭ документа, в РЭМД ЕГИСЗ |
MedDocumentType | int | 1..1 | Тип ЭМД по справочнику 1.2.643.5.1.13.13.99.2.41 (значение remd_code по справочнику 1.2.643.2.69.1.1.1.195) |
Message | string | 1..1 | Информационное сообщение о результатах регистрации в РЭМД ЕГИСЗ документа, сформированного Бюро МСЭ в ответ на Направление на МСЭ |
Status | string | 1..1 |
Статус
|
{ "Lpu" : "20dfadd0-c709-43b0-a130-5a16301b0217" , "MessageId" : "b097fea5-e6f6-4417-9829-53ab6a562719" , "IdMseMis" : "ReferralMSE:558" , "IdResultMSE" : "01.20.2735.000025073" , "MedDocumentType" : 102 , "Message" : "Получены данные о регистрации ЭМД" , "Status" : "Success" } |
Сообщение формируется на следующие виды полученных ЭМД для МСЭ 6-й редакции:
Документ
|
emd_type
|
MedDocumentType=fed_emd_type=remd_code=
docKind в присылаемом от РЭМД ЭМД |
---|---|---|
Справка о возврате направления на медико-социальную экспертизу (Редакция 1) | 123 | 108 |
Сведения о результатах проведенной медико-социальной экспертизы (CDA) Редакция 2 | 35 | 35 |
Справка об отказе в направлении на медико-социальную экспертизу (Редакция 1) | 117 | 102 |
Информирование МИС о получении из РЭМД ЕГИСЗ документа, сформированного Бюро МСЭ в ответ на Направление на МСЭ
Сообщение, информирующее МИС о получении из РЭМД ЕГИСЗ документа, сформированного Бюро МСЭ в ответ на Направление на МСЭ, содержит параметры:
Параметр
|
Тип
|
Кратность
|
Описание
|
---|---|---|---|
Lpu | text | 1..1 | Идентификатор МО-отправителя документа "Направление на медико-социальную экспертизу" |
MessageId | uuid | 1..1 | Идентификатор сообщения |
IdMSEMis | text | 1..1 | Идентификатор документа "Направление на медико-социальную экспертизу" в МИС, для которого зарегистрирован обратный талон |
IdResultMSE | text | 1..1 | Идентификатор документа, сформированного Бюро МСЭ в ответ на Направление на МСЭ, в РЭМД ЕГИСЗ |
MedDocumentType | int | 1..1 | Тип ЭМД по справочнику 1.2.643.5.1.13.13.99.2.41 (значение remd_code по справочнику 1.2.643.2.69.1.1.1.195) |
Data | 0..1 | Файл документа, сформированного Бюро МСЭ в ответ на Направление на МСЭ | |
Message | text | 1..1 | Информационное сообщение |
Status | string | 1..1 |
Статус
|
{ "Lpu" : "20dfadd0-c709-43b0-a130-5a16301b0217" , "MessageId" : "b097fea5-e6f6-4417-9829-53ab6a562719" , "IdMSEMis" : "ReferralMSE:558" , "IdResultMSE" : "01.20.2735.000025073" , "MedDocumentType" : 108 , "Data" : [место для данных в формате base64] "Message" : "ЭМД получен от РЭМД" , "Status" : "Success" } |
Информирование МИС о статусе выгрузки СЭМД/СЭМД-бета в ВИМИС
Сообщение, информирующее МИС о статусе сборке и/или выгрузке СЭМД/СЭМД-бета в ВИМИС
Параметр
|
Тип
|
Кратность
|
Описание
|
---|---|---|---|
MessageId | uuid | 1..1 | Идентификатор Сallback -а |
Message | text | 1..1 | Информационное сообщение о результатах выгрузки |
Status | string | 1..1 |
Статус
|
Lpu | text | 1..1 | Идентификатор МО-отправителя ЭМД |
DocType |
int | 1..1 | Номер СЭМД/СЭМД-бета |
IdSourсe |
string |
1..1 |
Идентификатор источника, по которому формируется СЭМД/СЭМД-бета. |
IdRecipientSystem | string | 1..1 | Идентификатор системы получателя ВИМИС (ОНКО/АКиНЕО и т.д). |
StatusСode | int | 1..1 | Код статуса |
IdCaseMis |
string |
1..1 |
Идентификатор случая в передающей МИС |
IdDocumentMis |
string |
1..1 |
Идентификатор документа в системе-источнике (МИС) |
{ "MessageId" : "24a8515f-d0b3-4778-8af2-d0f4ff976215" , "Message" : "Валидация документа прошла успешно" , "Status" : "Success" , "Lpu" : "bb155d55-a036-404c-aa25-f7e55bab3d57" , "DocType" : 5 , "IdSource" : "12393" , "IdRecipientSystem" : "Онкология" , "StatusCode" : 4 "IdCaseMis" : "3462895" "IdDocumentMis" : "2354219" } |
Структура ответа МИС о получении сообщения
В Таблице приведена структура и описание параметров подтверждения получения информационного сообщения, направляемого от МИС в Модуль доставки обратных сообщений в МИС. Набор параметров является общим и не зависит от типа полученного информационного сообщения.
Параметр
|
Тип
|
Кратность
|
Описание
|
---|---|---|---|
MessageId | uuid | 1..1 | Идентификатор сообщения, получение которого подтверждает МИС |
Message | string | 1..1 | Текстовый ответ |
Status | string | 1..1 |
Статус
|
{ "MessageId" : "b097fea5-e6f6-4417-9829-53ab6a562719" , "Message" : "Сообщение принято успешно" , "Status" : "Success" } |
Методы получения документов из РЭМД
Назначение
Описанные методы предназначены для использования клиентами в сфере B2B, и соответствующей командой Нетрики-Медицины. Реализованы на базе программного модуля CDA-gen. Запросы направляются в модуль CDA-gen, и из него проксируются в РЭМД, обратно в модуль проксируются ответы от РЭМД. Запросы и ответы не логируются в БД. Реализация методов максимально приближена к реализации одноименных методов в АПИ РЭМД, .
Интеграционные профили РЭМД доступны по ссылке - https://portal.egisz.rosminzdrav.ru/materials/1879
Порядок информационного взаимодействия
Адрес сервиса и вызов методов
Для вызова методов получения документов из РЭМД, через CDA-gen, необходимо формировать POST-запрос, и адресную строку вызова метода следующим образом:
POST [base] / EmdDirect / {Method} |
- где base - адрес модуля CDA-gen (Модуль приема документов от МИС)
- Method - Название метода, приведено в таблице подраздела "Реализованные методы"
Пример адресной строки вызова метода:
POST http: / /b2b.n3health.ru / cdagen / api / EmdDirect / searchRegistryItem |
Формат запроса
В качестве формата обмена используется JSON. Поэтому, необходимо в заголовке Content-Type прописать:
Content - Type : application / json |
Авторизация
Авторизация осуществляется посредством передачи авторизационного ключа, значение которого соответствует значению авторизационного ключа Сервиса ИЭМК. Ключ выдается администратором интеграционной платформы. Авторизационные данные указывается в заголовке REST-сообщения в следующем формате:
Authorization:N3[пробел][GUID передающей МИС] |
Пример передачи авторизационного ключа:
Authorization:N3 479414DE-8830-4487-A560-0A22E23C89B4 |
Реализованные методы
Название метода
|
Описание
|
---|---|
searchRegistryItem |
Поиск в записях РЭМД сведений об ЭМД |
demandContent | Запрос файла ЭМД из РЭМД |
getMetadata | Запрос метаописания ЭМД, зарегистрированного в РЭМД |
Метод searchRegistryItem - Поиск в записях РЭМД сведений об ЭМД
ИС передает набор поисковых параметров, в ответном сообщении РЭМД возвращает список записей, удовлетворяющих критериям запроса. Для поиска может быть указано несколько параметров, в таком случае в результатах будут переданы записи, которые удовлетворяют всем критериям поиска. Поиск производится по актуальным версиям документов.
Параметры тела запроса:
Параметр |
Описание параметра |
Кратность |
Тип |
Комментарий |
localUid |
Уникальный идентификатор документа |
0..1 |
string(uuid) |
Предоставляется в формате UUID. Например: 550e8400-e29b-41d4-a716-446655440000. Ограничивается длиной в 36 символов |
lpuId |
Идентификатор медицинской организации (oid МО по РМО) |
0..1 |
string |
Указывается OID МО согласно ФНСИ. Заполняется по справочнику «Регистр медицинских организаций Российской Федерации. Версия 2», OID 1.2.643.5.1.13.13.11.1461 |
kind |
Вид документа |
0..1 |
string |
Указывается OID вида документа. Заполняется по справочнику «Регистрируемые электронные медицинские документы», OID 1.2.643.5.1.13.13.11.1520 |
documentNumber |
Номер документа |
0..1 |
string |
Регистрационный номер ЭМД внутри организации или подразделения |
creationDate |
Дата и время создания документа |
0..1 |
dateTime |
Дата и время создания документа |
patientId |
Идентификатор пациента |
0..1 |
string |
Уникальный идентификатор пациента в ИС |
patientSnils |
СНИЛС пациента |
0..1 |
string |
Передается без разделителей. Пример: 11223344595 |
page |
Страница |
0..1 |
int |
Номер запрашиваемой страницы результатов. Нумерация производится с нуля |
Пример тела запроса:
{ "localUid" : "3fa85f64-5717-4562-b3fc-2c963f66afa6" , "lpuId" : "1.2.643.5.1.13.13.12.2.1.27" , "kind" : "6" , "documentNumber" : "3643882" , "creationDate" : "2022-06-16T15:01:09.524Z" , "patientId" : "3287757632" , "patientSnils" : "10636143121" , "page" : 0 } |
При успешном выполнении запроса, выводится http-код 200, и ответ со следующими выходными параметрами:
Параметр |
Описание параметра |
Кратность |
Тип |
Комментарий |
|
items |
Сведения о зарегистрированных документах |
1..* |
составной тип |
||
emdrId |
Номер в реестре |
1..1 |
string |
Уникальный номер, присвоенный сведениям об ЭМД в реестре |
|
localUid |
Уникальный идентификатор документа |
1..1 |
uuid |
Уникальный идентификатор документа, переданный ИС при регистрации. Предоставляется в формате UUID. Например: 550e8400-e29b-41d4-a716-446655440000 |
|
registrationDateTime |
Дата регистрации |
1..1 |
dateTime |
Дата создания записи в реестре |
|
storeTillDate |
Срок хранения |
1..1 |
dateTime |
Срок хранения сведений, установленный в соответствии с политиками хранения данного вида ЭМД. Пустое значение означает регистрацию ЭМД без ограничения срока хранения сведений |
|
documentVersion |
Номер версии |
0..1 |
int |
Номер актуальной версии документа. Если отсутствует в ответе, значит актуальна первая версия документа. |
|
page |
Сведения о максимальном количестве записей на странице и наличии еще страниц |
1..1 |
составной тип |
||
itemsPerPage |
Размер страницы записей |
1..1 |
int |
Указывает на максимально возможное число записей на странице (а не актуальное) |
|
hasNext |
Наличие следующей страницы |
1..1 |
boolean |
Указывает на то, есть ли еще страницы |
Пример ответа при успешном выполнении запроса:
{ "items" : [ { "emdrId" : "01.19.195.000000913" , "localUid" : "3fa85f64-5717-4562-b3fc-2c963f66afa6" , "registrationDateTime" : "2022-06-16T15:01:09.527Z" , "storeTillDate" : "2025-06-16T15:01:09.527Z" } ], "page" : { "itemsPerPage" : 0 , "hasNext" : true } } |
Метод demandContent - Запрос файла ЭМД из РЭМД
Метод demandContent используется для запроса файла ЭМД, зарегистрированного предоставляющей ИС. ИС передает номер документа в реестре, в ответном сообщении РЭМД возвращает ЭМД, полученный из электронного архива предоставляющей ИС. В ответе передается актуальная версия документа.
Параметры тела запроса:
Параметр |
Описание параметра |
Кратность |
Тип |
Комментарий |
emdrId |
Идентификатор документа в регистре |
1..1 |
string |
Идентификатор запрашиваемого документа в РЭМД (без постфикса версии) |
messageId |
Идентификатор запроса |
1..1 |
string |
Будет передан в запросе к callback-сервису ИС (должен быть сгенерирован по стандарту UUID) |
grantingEmdrId |
Основание доступа |
0..1 |
string |
Идентификатор документа, к которому ИС имеет доступ, связанного с запрашиваемым. Указывается в том случае, когда нет явного разрешения на получение документа, но есть разрешение на связанный |
idLpu |
Идентификатор МО |
1..1 |
string |
Идентификатор, по которому будет определен callback, куда будет отправлен файл. Результат будет отправлен на endpoint "/DemandContentData" |
Пример тела запроса:
{ "emdrId" : "01.16.5.000000047" , "messageId" : "72537fa0-4f76-11e8-87e3-005056b1360f" , "grantingEmdrId" : "01.16.5.000000048" , "idLpu" : "20dfadd0-c709-43b0-a130-5a16301b0217" } |
Порядок предоставления асинхронного ответа от РЭМД
- Данные запроса и идентификатор, полученный от ФРЭМД, сохраняется во временном хранилище Reddis
- ФРЭМД запрашивает документ у ИИС-владельца документа, и выполняет метод sendDocumentFile на адрес запрашивающей системы (РМИС), с идентификатором, полученным на первом этапе
- Результаты ответа на метод sendDocumentFile сохраняется в очереди DemandContent
- DemandContentConsumer получает данные из очереди DemandContent, и направляет их на адрес сервиса обратного вызова МИС-МО
При успешном выполнении запроса, выводится http-код 200, и ответ со следующими выходными параметрами:
Параметр |
Описание параметра |
Кратность |
Тип |
|
id |
Идентификатор запроса |
1..1 |
string |
Пример ответа при успешном выполнении запроса:
{ "id" : "c9fda61a-624c-11e8-9a30-005056b1747f" } |
Порядок взаимодействия с Модулем обратных сообщений для метода DemandContentData
Модуль доставки обратных сообщений направляет сообщение в МИС. Получив сообщение, МИС должна направить в Модуль ответ о принятии сообщения . Если МИС не направит ответ, сообщение будет считаться не доставленным, и будет инициирована повторная отправка сообщения. Количество раз повторной отправки является настраиваемым параметром, и по умолчанию оно ограничено 5 попытками.
В качестве протокола взаимодействия между Модулем принимающей системой используется REST. Сообщения в МИС направляются в формате JSON, ответные сообщения от МИС также принимаются в JSON-формате.
Сообщения направляются в МИС запросом методом POST:
|
где:
- [base] - адрес Сервиса обратного вызова в МИС;
- [MessageType] - тип информационного сообщения (DemandContentData)
Параметр |
Описание параметра |
Кратность |
Тип |
Комментарий |
MessageId |
Идентификатор сообщения |
1..1 |
uuid |
(рекомендуется генерировать по стандарту UUID) |
emdrId |
Номер в реестре |
1..1 |
string |
Уникальный номер, присвоенный сведениям об ЭМД в реестре (без постфикса версии) |
Lpu |
id МО |
1..1 |
uuid |
Идентификатор МО-получателя ЭМД |
Status |
Статус |
1..1 |
string |
Статус
|
Message |
Информационное сообщение о результатах |
1..1 |
string |
Информационное сообщение о результатах отправки документа |
Data |
Файл документа |
1..1 |
Пример тела запроса:
{ "MessageId" : "954d2d67-de37-4a3b-b704-eeb7a6b5a96a" , "EmdId" : "77.22.1179.012047037" , "Lpu" : "20dfadd0-c709-43b0-a130-5a16301b0217" , "Status" : "Success" , "Message" : "Success" , "Data" : "JVBERi0xLjYKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Z" } |
Пример ответа МИС о получении сообщения
{ "MessageId" : "954d2d67-de37-4a3b-b704-eeb7a6b5a96a" , "Message" : "Сообщение принято успешно" , "Status" : "Success" } |
Порядок взаимодействия с Модулем обратных сообщений для метода CheckStatus
Используется для теста связи с МИС callback.
Сообщения направляются в МИС запросом методом POST:
|
где:
- [base] - адрес Сервиса обратного вызова в МИС;
- [MessageType] - тип информационного сообщения (CheckStatus)
Параметр |
Описание параметра |
Кратность |
Тип |
Комментарий |
MessageId |
Идентификатор сообщения |
1..1 |
uuid |
|
Status |
Статус |
1..1 |
string |
Статус
|
Message |
Информационное сообщение о результатах |
1..1 |
string |
Информационное сообщение о результатах отправки документа |
Пример тела запроса:
{ "MessageId" : "954d2d67-de37-4a3b-b704-eeb7a6b5a96a" , "Status" : "Success" , "Message" : "Проверка связи" , } |
Пример ответа МИС о получении сообщения
{ "MessageId" : "954d2d67-de37-4a3b-b704-eeb7a6b5a96a" , "Message" : "Сообщение принято успешно" , "Status" : "Success" } |
Метод getMetadata - Запрос метаописания ЭМД, зарегистрированного в РЭМД
Метод getMetadata позволяет запросить метаописание ЭМД, зарегистрированного в РЭМД, по номеру записи в реестре. Доступ к записям разграничен, каждая ИС может получить метаописание ЭМД, зарегистрированных этой ИС. Также возможно получение метаописания ЭМД, зарегистрированных другими ИС, при наличии соответствующих разрешений. В ответе возвращается метаописание актуальной версии документа.
Параметры тела запроса:
Параметр |
Описание параметра |
Кратность |
Тип |
Комментарий |
emdrId |
Номер в реестре |
1..1 |
string |
Уникальный номер, присвоенный сведениям об ЭМД в реестре (без постфикса версии) |
grantingEmdrId |
Основание доступа |
0..1 |
string |
Идентификатор документа, к которому ИС имеет доступ, связанного с запрашиваемым. Указывается в том случае, когда нет явного разрешения на получение документа, но есть разрешение на связанный |
Пример тела запроса:
{ "emdrId" : "01.18.18.000000064" , "grantingEmdrId" : "01.18.18.000000075" } |
При успешном выполнении запроса, выводится http-код 200, и ответ со следующими выходными параметрами:
Параметр |
Описание параметра |
Кратность |
Тип |
Комментарий | ||
kind |
Вид документа |
1..1 |
string |
OID вида документа согласно справочнику «Регистрируемые электронные медицинские документы», OID 1.2.643.5.1.13.13.11.1520 |
||
systemName |
Наименование ИС |
1..1 |
string |
Наименование ИС, зарегистрировавшей документ |
||
region |
Код региона |
1..1 |
string |
Код региона организации, зарегистрировавшей документ |
||
organization |
Медицинская организация |
1..1 |
string |
OID МО, зарегистрировавшей документ согласно ФРМО. (справочник «Регистр медицинских организаций Российской Федерации. Версия 2», OID 1.2.643.5.1.13.13.11.1461) Ограничивается длиной в 50 символов |
||
documentNumber |
Номер документа |
1..1 |
string |
Регистрационный номер документа внутри организации или подразделения |
||
documentVersion |
Номер версии |
0..1 |
int |
Номер актуальной версии документа. Если отсутствует в ответе, значит актуальна первая версия документа |
||
creationDateTime |
Дата и время создания документа |
1..1 |
datetime |
Дата и время создания документа внутри организации или ее подразделения |
||
storeTillDate |
Срок хранения |
0..1 |
datetime |
Актуальный срок хранения записи реестра |
||
registrationDateTime |
Дата и время регистрации документа |
1..1 |
datetime |
Дата и время создания записи в реестре |
||
patientSnils |
СНИЛС пациента |
0..1 |
string |
Простой тип. СНИЛС пациента. Ограничивается длиной в 11 символов |
||
patientLocalId |
Идентификатор пациента |
0..1 |
string |
Уникальный идентификатор пациента в ИС. Ограничивается длиной в 50 символов |
||
description |
Описание документа |
1..1 |
string |
Краткое описание документа. Ограничивается длиной в 1000 символов |
||
signer |
Подписавший сотрудник |
1..* |
массив |
Составной тип. Передаются сведения о сотрудниках МО, подписавших документ |
||
role |
Роль сотрудника при подписи |
1..1 |
string |
Код роли по справочнику «Справочник ролей сотрудников при подписи электронных медицинских документов», OID 1.2.643.5.1.13.2.1.1.734 |
||
surname |
Фамилия сотрудника |
1..1 |
string |
Ограничивается длиной в 100 символов |
||
name |
Имя сотрудника |
1..1 |
string |
Ограничивается длиной в 100 символов |
||
patrName |
Отчество сотрудника |
0..1 |
string |
Ограничивается длиной в 100 символов |
||
snils |
СНИЛС сотрудника |
1..1 |
string |
Простой тип. СНИЛС сотрудника. Ограничивается длиной в 11 символов. |
||
position |
Должность сотрудника |
1..1 |
string |
Идентификатор должность по справочнику «ФРМР. Должности медицинского персонала», OID 1.2.643.5.1.13.13.99.2.181 |
||
speciality |
Специальность сотрудника |
0..1 |
string |
Идентификатор специальности по справочнику «Номенклатура специальностей специалистов со средним, высшим и послевузовским медицинским и фармацевтическим образованием в сфере здравоохранения», OID 1.2.643.5.1.13.13.11.1066 |
||
organization |
Организация сотрудника |
0..1 |
string |
Сведения об организации, в которой работает сотрудник |
||
phone |
Телефон сотрудника |
0..1 |
string |
Контактный номер сотрудника |
||
|
Электронная почта |
0..1 |
string |
Электронная почта |
||
birthDate |
Дата рождения сотрудника |
0..1 |
datetime |
Дата рождения сотрудника |
||
localId |
Идентификатор сотрудника в системе-источнике документа |
0..1 |
string |
Идентификатор сотрудника в системе-источнике документа |
||
contentType |
Формат файла |
1..1 |
string |
Идентификатор формата файла по справочнику «РЭМД. Форматы файлов электронных медицинских документов», OID 1.2.643.5.1.13.13.99.2.40 |
||
pluggableAttributes |
Дополнительные атрибуты |
0..1 |
string (base64Binary) |
Дополнительные атрибуты документа, передаются в виде XML в base64. Структура XML формируется согласно установленной XSD-схеме для передаваемого вида документа |
||
department |
Подразделение |
1..1 |
массив |
Составной тип |
||
localId |
Идентификатор подразделения |
1..1 |
string |
OID подразделения организации согласно сведениям ФРМО. Заполняется по справочнику «ФРМО. Справочник структурных подразделений», OID 1.2.643.5.1.13.13.99.2.114. (https://nsi.rosminzdrav.ru/#!/refbook/1.2.643.5.1.13.13.99.2.114). |
||
name |
Наименование подразделения |
1..1 |
string |
Наименование подразделения организации согласно сведениям ФРМО |
||
assistance |
Дополнительные сведения об ЭМД |
0..1 |
составной тип |
Составной тип. Группа атрибутов определяющая дополнительные сведения об ЭМД |
||
renderedServices |
Оказанные услуги |
0..* |
массив |
Составной тип. Группа атрибутов определяющая перечень оказанных услуг |
||
code |
Код услуги |
0..1 |
string |
Код услуги по справочнику «Номенклатура медицинских услуг», OID 1.2.643.5.1.13.13.11.1070 |
||
renderedDate |
Дата оказания |
0..1 |
datetime |
Дата оказания услуги |
||
associations |
Связи документа |
0..* |
составной тип |
Составной тип. Группа атрибутов определяющих связи документа с другими документами |
||
target |
Связанный документ |
1..1 |
string |
Номер связанной записи реестра (регистровый номер) |
||
type |
Тип связи |
1..1 |
string |
Определяет тип связи с записью, указанной в target. Код типа связи согласно справочнику «РЭМД. Типы связей электронных медицинских документов», OID 1.2.643.5.1.13.13.99.2.122 (https://nsi.rosminzdrav.ru/#!/refbook/1.2.643.5.1.13.13.99.2.122) |
||
recipient |
Сведения о выдаче документа |
0..1 |
составной тип |
Составной тип. Сведения о выдаче бумажной копии документа |
||
kind |
Тип адресата |
1..1 |
string |
Указывается код типа получателя согласно справочнику «РЭМД. Типы получателей медицинских документов», OID 1.2.643.5.1.13.13.99.2.123 (https://nsi.rosminzdrav.ru/#!/refbook/1.2.643.5.1.13.13.99.2.123) |
||
organization |
OID Медицинской организации |
0..1 |
string |
Указывается OID МО согласно ФРМО. Заполняется по справочнику «Регистр медицинских организаций Российской Федерации. Версия 2», OID 1.2.643.5.1.13.13.11.1461 |
||
ogrn |
ОГРН |
0..1 |
string |
ОГРН организации. Пример: 1068664613522 |
||
kpp |
КПП |
0..1 |
string |
КПП организации. Пример: 181145250 |
||
snils |
СНИЛС получателя |
0..1 |
string |
Простой тип. СНИЛС передается без разделителей. Ограничивается длиной в 11 символов. Пример: 70497251609 |
Пример ответа при успешном выполнении запроса:
{ "kind" : "8" , "systemName" : "ТМК" , "region" : "1" , "organization" : "1.2.643.5.1.13.13.12.2.1.1" , "documentNumber" : "18074" , "documentVersion" : 0 , "creationDateTime" : "2022-06-16T15:01:09.555Z" , "storeTillDate" : "2025-06-16T15:01:09.555Z" , "registrationDateTime" : "2022-06-16T15:01:09.555Z" , "patientSnils" : "13637824376" , "patientLocalId" : "emdr-rmis-17/122" , "description" : "Протокол консультации с применением телемедицинских технологий" , "signer" : [ { "role" : "DOCTOR" , "surname" : "Львов" , "name" : "Максим" , "patrName" : "Андреевич" , "snils" : "14874311883" , "position" : "34" , "speciality" : "17" , "organization" : "string" , "phone" : "string" , "email" : "string" , "birthDate" : "2022-06-16T15:01:09.555Z" , "localId" : "string" } ], "contentType" : "1" , "pluggableAttributes" : "string" , "department" : { "localId" : "1.2.643.5.1.13.13.12.2.1.1.2445" , "name" : "Наименование подразделения МО" }, "assistance" : { "renderedServices" : [ { "code" : "A01.01.001" , "renderedDate" : "2022-06-16T15:01:09.555Z" } ] }, "associations" : [ { "target" : "01.19.195.000000913" , "type" : "RELATES_TO" } ], "recipient" : { "kind" : "PATIENT_REPRESENTATIVE" , "organization" : "1.2.643.5.1.13.13.12.2.1.1" , "ogrn" : "1068664613522" , "kpp" : "181145250" , "snils" : "70497251609" } } |
Проводимые проверки на стороне сервиса и коды ошибок
1.Проверка авторизационного токена. Если авторизационный токен не передан, или указан ошибочный (не существующий токен для МИС региона), в ответе метода выводится http-код 401 - Anauthorized.
{ "Message" :[ "Неправильный идентификатор системы" ] } |
2. Проверка структуры запроса и входных параметров. В случае нарушений и не соответствия требованиям, описанным для входных параметров запроса, выводится http-код 400 - BadRequest
Проверяется, заполнены ли все обязательные входные параметры в запросе. Если отсутствует/некорректно заполнен хотя бы один из них, выводится ошибка с кодом 400 и сообщением:
а) Не заполнен:
{ "Message" :[ "Поле {Имя параметра} не может быть пустым" , "Поле {Имя параметра} не может быть пустым" ] } |
б) Некорректно заполнен:
{ "Message" :[ "Поле {Имя параметра} заполнено некорректно" , "Поле {Имя параметра} заполнено некорректно" ] } |
3. Проверка того, что документ передан от запрашивающей ИС. В случае, если запрашиваемые сведения о документе переданы от другой ИС, в ответе метода выводится http-код 400 - BadRequest, и текст ошибки.
{ "Message" : [ "Поиск в регистре завершен с ошибкой." ] } |
4. Проверка того, что в РЭМД присутствуют документы, соответствующие требованиям во входных параметрах запроса. В случае, если в РЭМД отсутствуют документы, удовлетворяющие требованиям из входных данных запроса, в ответе метода выводится http-код 400 - BadRequest, с текстом ошибки (пример см.п.3)