Примечание для разработчиков РПГУ МО

Этот метод имитирует получение токена, который в изначальной спецификации формировался не нашим сервисом авторизации, а на стороне бэка портала РПГУ. Нужен для того чтобы наши клиенты могли пользоваться теми же методами, которые предназначались для РПГУ. Состав данных аналогичен токену формируемому на стороне портала с добавлением дополнительных клеймов. Получить токен в оригинальном составе(без дополнительных клеймов) от нашего сервиса авторизации можно методом 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

Заголовки запроса

ЗаголовокЗначение (тип/формат значения)ОписаниеОбязательный
ClientApplicationGUIDГуид клиентского приложения

-

(по умолчанию Internet)

Ответ сервера

В случае успешного выполнения сервер вернет ответ в формате JSON со следующими данными:

ПолеТип данныхОписание
tokenstringЛПУ токен в формате JWT
tokenBeginLifeTime
DateTime (string)Время начала действия токена
tokenEndLifeTImeDateTime (string)Время окончания действия токена

Пример ответа

{
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOiIxNTM1MDE4NTEzIiwic1BvbCI6IiIsIm5Qb2wiOiI1MDU2OTAwODM1MDAwNDU5IiwiYmlydGhkYXkiOiIxOTkwLTAzLTE0IiwiVG9rZW5CZWdpbkxpZmVUaW1lIjoiMjAxOC0wOC0yM1QxMjo1MTo1My40MDE2NTc0KzAzOjAwIiwiVG9rZW5FbmRMaWZlVGltZSI6IjIwMTgtMDgtMjNUMTM6MDE6NTMuNDAxNjUxKzAzOjAwIiwibG9naW4iOiJTdXBlclBhdGllbnQiLCJhdXRoU291cmNlIjoiQ2FsbGNlbnRlciIsInByaXZpbGVnZSI6ZmFsc2UsInRva2VuVHlwZSI6IlJwZ3VUb2tlbiJ9.TTBExOWH3Os4rajw8aFTShJkBJYeRm3wYnCuSeTWIxI",
    "tokenBeginLifeTime": "2018-08-14T11:22:27+03:00",
    "tokenEndLifeTime": "2018-08-14T11:32:27+03:00"
}

Возможные ошибки

Код ответа сервераКод сообщенияСообщениеТип ошибки
4035096Клиентское приложение с данным идентификатором не найденоError
4044001По вашему полису и дате рождения не найдено ни одной медицинской карты.Error
5005097Не удалось получить данные о медицинских картах пациента.Error


В случае возникновения ошибок будет возвращен стандартный ответ сервера.


  • Нет меток