Оглавление

API для работы с данными о пациентах

Что такое patient_key и как его получить

patient_key — это уникальный ключ авторизации пациента, который используется для получения информации о персональными медицинскими данными.

Основные способы получения:

  1. Через метод authPatient, если личный кабинет пациента уже создан
    — Ввод логина и пароля пациента или
    — Ввод подтверждённого номера телефона и кода из SMS
  2. Через authPatient + checkAuthCode, если включена двухфакторная авторизация
    (при этом отправка SMS настраивается в клинике через интеграцию)

Пример:

  1. Пациент вводит логин/пароль или номер телефона
  2. Получает SMS-код
  3. Вводит код
  4. МИС вызывает authPatient или checkAuthCode
  5. Возвращается patient_key, с которым можно работать

После получения ключа его можно обновить через метод refreshPatientKey.
Время действия:

  • Ключ действует 3 дня
  • После истечения срока его можно:
    обновить через refreshPatientKey
    запросить заново через авторизацию

Обновление ключа (refreshPatientKey)

Если сессия пациента не должна завершиться — ключ можно продлить, не проходя авторизацию повторно:


Как создать и подключить личный кабинет пациента

Личный кабинет можно создать двумя способами:

  • Вручную внутри МИС (админом)
  • С помощью API через метод initPatient

Если в карточке пациента не проставлены чекбоксы отправки логина и пароля — данные сгенерируются, но не будут отправлены пациенту. Чтобы передать данные по SMS или email, отметьте их чекбоксом в карте пациента.

 Обновление логина/пароля (updatePatientAuth)

Если нужно изменить логин или пароль пациента — или повторно отправить их — можно использовать:

POST /updatePatientAuth { "patient_key": "xxx", 
"login": "new_login", 
"password": "new_password", 
"send_sms": true, 
"send_email": false }

Авторизация пациента

Авторизация в личном кабинете происходит через метод authPatient.

Варианты:

  • По логину и паролю
  • По номеру телефона и коду из SMS

Если включена двухфакторная авторизация, потребуется ещё и checkAuthCode.

Только метод authPatient возвращает patient_key — именно его нужно использовать для дальнейшей работы с API.

 Пример сценария: регистрация и вход

  1. Пациент регистрируется через сайт или в клинике
  2. В МИС вызывается initPatient — логин и пароль отправляются пациенту
  3. Пациент авторизуется через форму (ввод логина/пароля или телефона и кода)
  4. Вызов authPatient возвращает patient_key
  5. Все дальнейшие действия (просмотр записей, документов и пр.) выполняются с использованием patient_key

Связанные пациенты и работа с ними через API

В рамках личного кабинета пациента API предоставляет возможность не только получать данные по текущему пациенту, но и обращаться к информации по связанным пациентам (например, дети, пожилые родственники, доверенные лица).

Методы, поддерживающие связанных пациентов

Некоторые методы отдают список данных (документов, файлов и пр.) сразу по всем пациентам, к которым есть доступ:

  • getPatientInfo
  • getPatientDocuments
  • getPatientDocumentDetails
  • getPatientFiles
  • getPatientLabResults
  • getPatientPrograms
  • getPatientConsultations
  • getPatientProgramDetails

Методы возвращают список данных, включая записи по связанным пациентам — никаких дополнительных параметров не нужно.


Методы с параметром patient_id

Для методов, которые возвращают один элемент (файл, консультацию и т.п.), можно явно указать patient_id, чтобы получить данные по связанному пациенту:

  • getPatientFileDetails
  • getPatientLabResultDetails
  • getPatientConsultationDetails

Если параметр не указан — данные вернутся по основному пациенту.


 Загрузка файла в карту связанного пациента

Метод uploadPatientFile позволяет прикрепить файл как к текущему пациенту, так и к связанному:

  • Если в теле запроса передан patient_id — файл загрузится в карту этого пациента
  • Если параметр не указан — файл добавляется к основному пациенту
  • Если доступа к указанному patient_id нет — API вернёт ошибку Пациент не найден