Метод получения документа для печати.
Входит в РЭМД Сервис регионального хранилища ЭМД.
Здесь публикуются последние версии спецификаций РЭМД Сервис регионального хранилища ЭМД. Спецификации для интеграций
Также доступна спецификация в формате OpenAPI(swagger) http://
Точка входа для Московской области {{url}}
remd.emias.mosreg.ru/emds/rest/api/v1
...
/swagger-ui.html#/emds-controller
Базовый адрес(url) для Московской области http://remd.emias.mosreg.ru/
Оглавление |
---|
Запросы печати ЭМД из РЭМД
Существуют 2 формата ЭМД - PDF/A-1 и HL7 CDA R2
https://nsi.rosminzdrav.ru/#!/refbook/1.2.643.5.1.13.13.99.2.40/?version=1.2
Примеры разных документов:
1fce3354-6043-46bc-b635-d12e73b3084a - Протокол консультации (PDF/A-1)
390b9929-b8fd-4adc-8772-f85f0113cb13 - Справка об отсутствии контактов с инфекционными больными (CDA) Редакция 2
Для формата PDF/A-1 в РЭМД хранится файл pdf, который можно получить напрямую методом /signed-content, либо в методе /documents/{localUid}
Для формата CDA в РЭМД хранится файл xml, для печати которого в формате PDF следует выполнять преобразование, поэтому нужно использовать использовать метод /xsl-content?docType=pdf&stamp=true
Определить формат ЭМД можно:
- через справочник https://nsi.rosminzdrav.ru/#!/refbook/1.2.643.5.1.13.13.11.1520/version/8.44
- через метод Получение справочника типов ЭМД - isSemd=true для CDA.
- на странице Перечень видов ЭМД, регистрируемых в РЭМД
Запрос печати PDF/A-1 ЭМД
Адрес запроса
GET: {{url}}/emds/rest/api/v1/documents/{{ |
emdGuid}}/signed-content |
Параметры запроса
Параметр | Описание | По умолчанию | Обязательный | Комментарий |
---|
emdGuid |
path |
Идентификатор ЭМД | - | + | Можно получить в методе Получение ЭМД и заявок на ЭМД по документу-основанию или Журнал заявок ЭМД. Получение журнала заявок на ЭМД. При получении ЭМД этими методами для печати доступны только документы со статусом от 06 - Отправлен и выше (06, 07, 08, 09, 10). Также можно получить документ напрямую из РЭМД методом Получение документов пациента. Получение списка ЭМД из РЭМД. В качестве emdGuid используется localUid. |
Ответ сервера
В случае успешного выполнения сервер вернет ответ в формате JSON со следующими данными:
Поле | Тип | Описание |
---|---|---|
docContent |
Содержимое электронного документа |
---|
data | string |
Содержимое электронного документа (файл формата PDF |
, |
в base64) |
. Для просмотра при тесте можно пользоваться онлайн форматером, например https://www.freeformatter.com/base64-encoder.html | ||
checksum | integer | Контрольная сумма файла, вычисленная по алгоритму CRC32 (в десятичном представлении) |
Пример структуры ответа
Другие поля из тела ответа в данной интеграции не интересны.
Блок кода | ||||
---|---|---|---|---|
| ||||
Блок кода | ||||
{ "docContent": { "data": "JVBERi0x JVBERi0xLjQNCiW0tba3DQolDQoxIDAgb2JqDQo8PA0K... LU9GDQo=", "checksum": 212761416,215542653 "idcase": null }, "orgSignature": { "data": "MIII4QYJKoZ ... t9trQOglrX", "checksum": 370852156 }, "personalSignatures": [{ "localUid": "245b7be7-bcec-4f04-bfa8-cbc08c095880_13c53db9-65f5-4dcf-9c3a-7d33640b2b00", "signer": { "localId": "8085cb6a-1596-49c6-b3ca-3ebbb2d9a94b", "role": { "code": "DOCTOR", "codeSystem": null, "codeSystemName": null, "codeSystemVersion": null, "displayName": "Врач" }, "surname": "Яцкевич", "name": "Дмитрий", "patrName": "Юрьевич", "birthDate": "1990-04-10", "snils": "14285708879", "position": { "code": "4", "codeSystem": null, "codeSystemName": null, "codeSystemVersion": null, "displayName": "главный врач медицинской организации" },} } |
Запрос печати CDA ЭМД
Адрес запроса
GET: {{url}}/emds/rest/api/v1/documents/{{emdGuid}}/xsl-content?docType=pdf&stamp=true |
Параметры запроса
Параметр | Описание | По умолчанию | Обязательный | Комментарий | |
---|---|---|---|---|---|
emdGuid | path | Идентификатор ЭМД | - | + | Можно получить в методе Получение ЭМД и заявок на ЭМД по документу-основанию или Журнал заявок ЭМД. Получение журнала заявок на ЭМД. При получении ЭМД этими методами для печати доступны только документы со статусом от 06 - Отправлен и выше (06, 07, 08, 09, 10). Также можно получить документ напрямую из РЭМД методом Получение документов пациента. Получение списка ЭМД из РЭМД. В качестве emdGuid используется localUid. |
docType | query | Тип документа | - | + | Поддерживается только pdf и html |
stamp | query | Отображать штамп с информацией о подписи на документе | - | - | Только для pdf Для печати на РПГУ вывод штампа обязателен. |
Ответ сервера
В случае успешного выполнения сервер вернет ответ в формате JSON со следующими данными:
Поле | Тип | Описание |
---|---|---|
data | string | Содержимое электронного документа (файл формата PDF, в base64). Для просмотра при тесте можно пользоваться онлайн форматером, например https://www.freeformatter.com/base64-encoder.html |
checksum | integer | Контрольная сумма файла, вычисленная по алгоритму CRC32 (в десятичном представлении) |
docType | string | Локальный идентификатор услуги относящийся к документу |
Блок кода | ||||
---|---|---|---|---|
| ||||
{
"data": "JVBERi0xLjcKJeLjz9MKNSAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZ...",
"checksum": 581198999,
"docType": "pdf"
} |
Возможные ошибки
Ошибки с кодом и сообщением перечислены в массиве errors тела ответа при неуспешном коде ответа 400, 404 или 500.
Код ответа сервера | Код сообщения | Сообщение | Комментарий |
---|---|---|---|
400 | E-0001 | Разрешенные типы документов - pdf и html | |
404 | E-0002 | Документ с идентификатором {emdGuid} не найден | |
400 | E-0003 | Значение параметра 'docType' должно быть заполнено | |
500 | - | Непредвиденное сообщение ошибки | Возникает при непредвиденных ошибках сервера |
Блок кода | ||||
---|---|---|---|---|
| ||||
{ "status": "error", "result": null, "errors": [ "speciality": { "code": "27E-0002", "codeSystemmessage": null, "codeSystemName": null, "codeSystemVersion": null, "displayName": "Терапия" }, "email": null, "phone": null, "department": { "localId": { "code": "28a08a86-0735-4867-9ddc-bbd4f104865e", "codeSystem": null, "Документ с идентификатором localUid='b488a8b5-ad9d-459d-9a5a-61f487178245' не найден" "codeSystemName": null,} "codeSystemVersion": null, ], "displayName"page": null }, "name": "ХИМКИНСКАЯ ОБ. Взрослая поликлиника № 1" }, "office": null }, "id": null, "descriptionmessageId": null, "signature": { "data": "MIIVWAYJKoZIhvcNAQ ... Iz13J3iXhTVlGJ7FOrNOI2slaKxWqgE=", "checksum": 4167420720 } }] } |