Примечание для разработчиков РПГУ МО
Этот метод имитирует получение токена, который в изначальной спецификации формировался не нашим сервисом авторизации, а на стороне бэка портала РПГУ. Нужен для того чтобы наши клиенты могли пользоваться теми же методами, которые предназначались для РПГУ. Состав данных аналогичен токену формируемому на стороне портала с добавлением дополнительных клеймов. Получить токен в оригинальном составе(без дополнительных клеймов) от нашего сервиса авторизации можно методом GET: {{url}}/auth/originalrpgu/token - описан в разделе ниже - Оригинальный токен РПГУ
Позволяет получить РПГУ токен.
При получении РПГУ токена выполняется поиск PersonGuid по принятым дате рождения, серии и номеру полиса. Если PersonGuid найден, выполняется выборка списка МКАБов пациента. В случае нахождения хотя бы одного МКАБ будет выдан токен, в противном случае будет выдано сообщение об ошибке.
Запрос
Адрес запроса
GET: {{url}}/auth/rpgu/token |
Параметры запроса
Параметр | Описание | Тип | Обязательный |
---|---|---|---|
Birthday | Дата рождения пациента в формате ГГГГ-ММ-ДД | query | + |
s_pol | Серия полиса | query | - |
n_pol | Номер полиса | query | + |
login | Логин пользователя(указывается в истории) | query | - |
personguid | Идентификатор пациента в МИП | query | +/- |
mkab | Гуид мкаба пациента | query | +/- |
snils | СНИЛС пациента | query | +/- |
epgu | Флаг переключения на алгоритм получения токена по алгоритму ЕПГУ | query | - |
f | Фамилия пациента | query | +/- (обязательный при указании epgu=true) |
n | Имя пациента | query | +/- (обязательный при указании epgu=true) |
p | Отчество пациента | query | +/- (обязательный при указании epgu=true) |
s_doc | Серия паспорта | query | +/- (вместе с номером паспорта) |
n_doc | Номер паспорта | query | +/- (вместе с серией паспорта) |
Оригинальный токен РПГУ
На этой странице описан метод получения токена РПГУ, но с указанием разных дополнительных возможностей, таких как ClientApplication и других данных, которые записываются в клеймы сформированного токена.
Наличием этих дополнительных клеймов он и отличается от оригинального токена который формируется на стороне портала РПГУ.
Токен в том виде и составе в котором, его присылает РПГУ можно получить используя метод GET: {{url}}/auth/originalrpgu/token. Параметры и формат ответа те же, что описаны на этой странице - отличие только в адресе.
Способы авторизации(получения токена)
Набор данных | Параметры | Комментарий |
---|---|---|
Полис + Дата рождения | n_pol, s_pol, birthday | Возможно указание как серии + номера и даты рождения для старых форматов полиса, так и только номера + даты рождения для ЕНП |
Идентификатор пациента в МИП | personguid | |
Гуид МКАБа пациента | mkab | |
СНИЛС + Дата рождения | snils, birthday | |
ФИО, СНИЛС, полису ОМС, дате рождения | epgu, f, n, p, snils, n_pol, s_pol, birthday | Получение токена по множественным данным по алгоритму ЕПГУ. Подробнее о возможных комбинациях этих данных по ссылке. Параметр epgu=true включает проверку. |
Серия паспорта + Номер паспорта | s_doc, n_doc | Необходимо для записи на водительскую справку через инфомат |
Авторизация пациента алгоритмами ФЭР (https://jira.softrust.ru/browse/API-2598)
Набор данных | Параметры | Комментарий |
---|---|---|
ОМС + СНИЛС + Дата Рождения | epgu = true, s_pol (опционально), n_pol, snils, birthday | |
ОМС + СНИЛС + Фамилия | epgu = true, s_pol (опционально), n_pol, snils, family | параметр birthday можно указать любой, но не указать нельзя |
ОМС + СНИЛС + Имя + Отчество | epgu = true, s_pol (опционально), n_pol, snils, name, patronymic | параметр birthday можно указать любой, но не указать нельзя |
ОМС + Дата рождения + Имя | epgu = true, s_pol (опционально), n_pol, birthday, name | |
СНИЛС + Дата рождения + Имя | epgu = true, snils, birthday, name |
Заголовки запроса
Заголовок | Значение (тип/формат значения) | Описание | Обязательный |
---|---|---|---|
ClientApplication | GUID | Гуид клиентского приложения | - (по умолчанию Internet) |
Ответ сервера
В случае успешного выполнения сервер вернет ответ в формате JSON со следующими данными:
Поле | Тип данных | Описание |
---|---|---|
token | string | ЛПУ токен в формате JWT |
tokenBeginLifeTime | DateTime (string) | Время начала действия токена |
tokenEndLifeTIme | DateTime (string) | Время окончания действия токена |
Пример ответа
{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOiIxNTM1MDE4NTEzIiwic1BvbCI6IiIsIm5Qb2wiOiI1MDU2OTAwODM1MDAwNDU5IiwiYmlydGhkYXkiOiIxOTkwLTAzLTE0IiwiVG9rZW5CZWdpbkxpZmVUaW1lIjoiMjAxOC0wOC0yM1QxMjo1MTo1My40MDE2NTc0KzAzOjAwIiwiVG9rZW5FbmRMaWZlVGltZSI6IjIwMTgtMDgtMjNUMTM6MDE6NTMuNDAxNjUxKzAzOjAwIiwibG9naW4iOiJTdXBlclBhdGllbnQiLCJhdXRoU291cmNlIjoiQ2FsbGNlbnRlciIsInByaXZpbGVnZSI6ZmFsc2UsInRva2VuVHlwZSI6IlJwZ3VUb2tlbiJ9.TTBExOWH3Os4rajw8aFTShJkBJYeRm3wYnCuSeTWIxI", "tokenBeginLifeTime": "2018-08-14T11:22:27+03:00", "tokenEndLifeTime": "2018-08-14T11:32:27+03:00" }
Возможные ошибки
Код ответа сервера | Код сообщения | Сообщение | Тип ошибки |
---|---|---|---|
403 | 5096 | Клиентское приложение с данным идентификатором не найдено | Error |
404 | 4001 | По вашему полису и дате рождения не найдено ни одной медицинской карты. | Error |
500 | 5097 | Не удалось получить данные о медицинских картах пациента. | Error |
В случае возникновения ошибок будет возвращен стандартный ответ сервера.