Сервис обратного вызова

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

Статус:

  • Success – успешная обработка;
  • Failed – при обработке возникли ошибки.
Message string 1..1 Текстовый ответ при формировании CDA-описания ЭМД
CDA base64 0..1 Тело CDA-описания ЭМД
Пример сообщения о статусе генерации 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

Статус

  • Success – успешная обработка;
  • Failed – при обработке возникли ошибки.
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

Статус

  • Success – успешная обработка; 
  • Failed – при обработке возникли ошибки.
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

Статус

  • Success – успешная обработка;
  • Failed – при обработке возникли ошибки.
Пример сообщения о регистрации в РЭМД ЕГИСЗ документа, сформированного Бюро МСЭ в ответ на Направление на МСЭ
{
    "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

Статус

  • Success – успешная обработка;
  • Failed – при обработке возникли ошибки.
Пример сообщения о получение документа, сформированного Бюро МСЭ в ответ на Направление на МСЭ
{
    "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

Статус

  • Success – успешная обработка. 
  • Failed – при обработке возникли ошибки.
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

Статус

  • Success – успешная обработка;
  • Failed – при обработке возникли ошибки.
Пример ответа МИС о получении сообщения
{
    "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"
}

Порядок предоставления асинхронного ответа от РЭМД

  1. Данные запроса и идентификатор, полученный от ФРЭМД, сохраняется во временном хранилище Reddis
  2. ФРЭМД запрашивает документ у ИИС-владельца документа, и выполняет метод sendDocumentFile на адрес запрашивающей системы (РМИС), с идентификатором, полученным на первом этапе
  3. Результаты ответа на метод sendDocumentFile сохраняется в очереди DemandContent
  4. DemandContentConsumer получает данные из очереди DemandContent, и направляет их на адрес сервиса обратного вызова МИС-МО

При успешном выполнении запроса, выводится http-код 200, и ответ со следующими выходными параметрами: 

Параметр

Описание параметра

Кратность

Тип

id

Идентификатор запроса

1..1

string

Пример ответа при успешном выполнении запроса:

{
  "id""c9fda61a-624c-11e8-9a30-005056b1747f"
}

Порядок взаимодействия с Модулем обратных сообщений для метода DemandContentData

Модуль доставки обратных сообщений направляет сообщение в МИС. Получив сообщение, МИС должна направить в Модуль ответ о принятии сообщения . Если МИС не направит ответ, сообщение будет считаться не доставленным, и будет инициирована повторная отправка сообщения. Количество раз повторной отправки является настраиваемым параметром, и по умолчанию оно ограничено 5 попытками.  

В качестве протокола взаимодействия между Модулем принимающей системой используется REST. Сообщения в МИС направляются в формате JSON, ответные сообщения от МИС также принимаются в JSON-формате. 

Сообщения направляются в МИС запросом методом POST:

POST  [base]/[MessageType]

где:

  • [base] - адрес Сервиса обратного вызова в МИС;
  • [MessageType] -  тип информационного сообщения (DemandContentData)

Параметр

Описание параметра

Кратность

Тип

Комментарий

MessageId

Идентификатор сообщения

1..1

uuid

(рекомендуется генерировать по стандарту UUID)

emdrId

Номер в реестре

1..1

string

Уникальный номер, присвоенный сведениям об ЭМД в реестре (без постфикса версии)

Lpu

id МО

1..1

uuid

Идентификатор МО-получателя ЭМД

Status

Статус

1..1

string

Статус

  • Success – успешная обработка;
  • Failed – при обработке возникли ошибки.

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:

POST  [base]/[MessageType]

где:

  • [base] - адрес Сервиса обратного вызова в МИС;
  • [MessageType] -  тип информационного сообщения (CheckStatus)

Параметр

Описание параметра

Кратность

Тип

Комментарий

MessageId

Идентификатор сообщения

1..1

uuid

 

Status

Статус

1..1

string

Статус

  • Success – успешная обработка;
  • Failed – при обработке возникли ошибки.

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

Контактный номер сотрудника

 

email

Электронная почта

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)