ОПИСАНИЕ ИНТЕГРАЦИОННЫХ ПРОФИЛЕЙ
СЕРВИС ПОИСКА ПАЦИЕНТОВ
ОБЩАЯ ИНФОРМАЦИЯ
Общее описание
Схема взаимодействия
Определения, обозначения и сокращения
Описание методов
1. Авторизация
1.1. Запрос токена
2. Получение списка пациентов
2.1. Получение списка пациента по одному параметру
2.2. Получение списка пациента по комбинации параметров lastName, firstName, middleName, birthdate, gender
3. Получение данных пациента по идентификатору
Приложение 1. Примеры обращения к сервису
Приложение 2. Справочник «Типы документов»
Сервис предназначен для поиска пациентов по критерию, последующей идентификации из перечня найденных и выбора нужного, а также для получения расширенной информации об указанном пациенте.
Веб-сервис построен по архитектуре REST, в качества формата для обмена используется JSON.
Сокращение | Определение |
2 | 3 |
МИС | Медицинская информационная система |
БД | База данных |
API | Интерфейс программирования приложений (application programming interface) |
JSON | JavaScript Object Notation — текстовый формат обмена данными |
ДУЛ | Документ, удостоверяющий личность |
№ | Описание метода | Метод | Передаваемые параметры | Комментарий |
1. | Получение списка пациентов | GET /find_pat | snils, | Возвращает данные о пациентах. |
2. | Получение данных пациента по идентификатору | GET | patid | Возвращает расширенные данные о пациенте. |
Каждый запрос к API должен сопровождаться заголовком авторизации, сервис сначала проверит токен и отправляет соответствующую информацию в ответ на запрос.Для получения токена необходимо выполнить запрос к сервису авторизации.
Для получения токена необходимо отправить HTTP POST запрос на адрес сервиса http://185.27.192.200:8779/API/auth, указав в заголовке Autorization: Basic <encoded_to_Base64_string> , где encoded_to_Base64_string – строка из состоящая логина и пароля в формате username:password, закодированная в формат Base64.
Полученный JWT токен необходимо использовать в дальнейшем при обращении к API. Для каждого запроса необходимо добавлять заголовок: Authorization: bearer <access_token>, где access_token - значение токена полученное при успешной авторизации. При отсутствии активности к веб-сервису в течении опрделенного времени (4 часа по умолчанию) происходит сброс токена, после чего необходимо обновить токен авторизации.
Поиск пациента возможен по точному совпадению одного из параметров: snils, number, policy. При отсутствии данных параметров поиск производится по комбинации параметров lastName, firstName, middleName, birthdate, gender.
Метод HTTP: GET /API/find_pat
Параметры запроса приведены в таблице 2.1.
Параметры | Тип | Описание |
snils | string | Номер СНИЛС |
number | string | Номер ДУЛ |
policy | string | Номер полиса |
Корректный запрос должен содержать не менее 2-х параметров. Параметры запроса приведены в таблице 2.2.
Параметры | Тип | Описание |
lastName | string | Фамилия пациента* |
firstName | string | Имя пациента* |
middleName | string | Отчество пациента* |
birthDate | string | Дата рождения (в формате yyyy-MM-dd) |
gender | string | Пол пациента (М/Ж, необязательный) |
*для ФИО достаточно частичного совпадения по первым буквам
Параметры ответа приведены в таблице 2.
Выходные данные | Тип | Описание |
id | guid | Идентификатор пациента |
SNILS | string | СНИЛС пациента |
lastName | string | Фамилия пациента |
firstName | string | Имя пациента |
middleName | string | Отчество пациента |
birthDate | string | Дата рождения |
gender | string | Пол |
docType | string | Короткое наименование документа, удостоверяющего личность (Приложение 2. Справочник «Типы документов») |
docSer | string | Серия ДУЛ |
docNum | string | Номер ДУЛ |
address1 | string | Адрес фактического проживания |
Метод HTTP: GET /API/pat
Параметры запроса приведены в таблице 3.1.
Параметры | Тип | Описание |
patid | guid | Идентификатор пациента (полученный в методе find_pat) |
Параметры ответа приведены в таблице 3.2.
Выходные данные | Тип | Описание |
id | guid | Идентификатор пациента |
SNILS | string | СНИЛС пациента |
lastName | string | Фамилия пациента |
firstName | string | Имя пациента |
middleName | string | Отчество пациента |
birthDate | string | Дата рождения |
gender | string | Пол |
docType | string | Код документа, удостоверяющего личность (справочник НСИ |
docSer | string | Серия ДУЛ |
docNum | string | Номер ДУЛ |
docDate | date | Дата выдачи ДУЛ |
docOrg | string | Орган, выдавший ДУЛ |
polisType | string | Тип полиса (справочник НСИ 1.2.643.5.1.13.13.11.1035 - Виды полиса ОМС) |
polNum | string | Номер полиса |
polSer | string | Серия полиса |
insCode | string | Код страховой организации |
insName | string | Наименование страховой организации |
phones | string | Контактный телефон |
address1 | string | Адрес фактического проживания |
address2 | string | Адрес регистрации |
Пример запроса:
http://185.27.192.200:8779/API/find_pat?lastName=тест&firstName=пац&middleName=иван |
Пример ответа:
{ |
Пример запроса:
Пример ответа:
{ |
Код | Короткое наименование |
2 | Паспорт РФ |
3 | Свид. о рожд. РФ |
4 | Удост. личности офицера |
5 | Военный билет |
6 | Вид на жительство. |
7 | Удост. беженца РФ |
8 | Спр. об освобожд. |
9 | Прочие |
10 | Паспорт гражд. СССР |
11 | Загранпаспорт гражд. СССР |
12 | Свид. о рег. ходат. о призн. иммигранта беженцем |
13 | Дипломат. паспорт гражд. РФ |
14 | Паспорт Минморфлота |
15 | Паспорт моряка |
16 | Иностранный паспорт |
17 | Врем. удост. лич. гражданина РФ |
18 | Загранпаспорт гражданина РФ |
19 | Воен. билет офиц. запаса |
20 | Документ иностранного гражданина |
21 | Документ лица без гражданства |
22 | Разрешение на временное проживание |
23 | Свидетельство о рождении, выданное не в РФ |
24 | Свидетельство о предоставлении временного убежища на территории Российской Федерации |
25 | Удостоверение сотрудника Евразийской экономической комиссии |
26 | Копия жалобы о лишении статуса беженца |
27 | Иной документ, соответствующий свидетельству о предоставлении убежища на территории Российской Федерации |