Medme EHR API

Цели

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

Главная цель API для EHR — это унификация передачи мед. данных между клиентом и сервером.

Данный документ описывает сущности API электронной медицинской карты (ЭМК), а также типы данных сущностей ЭМК.

Полный список методов API, доступных для разработчиков, доступен по ссылке:

Ссылки на скачивание MedMe EHR Server

SDK

Список доступных SDK

Глоссарий

В данном документе под понятием "сущность" понимается некоторая высокоуровневая абстракция, к которой применяются действия на уровне API. Под понятием "тип данных" понимается промежуточная абстракция, служащая для описания данных составных, для того, чтобы не повторятся при описании идентичных сложных полей или для описания составного набора данных, служащего для передаче этих данных.

Под "словарем" понимается перечислимый и расширяемый набор допустимых значений.

Общие указания

MedMe EHR API выполняет чтение мед. данных пациента. Для сохранения внутреннего состояния (например, для сопоставления внутреннего и внешнего идентификатора пользователя) используется отдельная сущность — MedMe Embedded Storage.

Физическое удаление сущностей через данный API недопустимо.

Протокол API

MedMe EHR API реализовует протокол json-rpc 2. Он проверяет сессию пользователя для каждого запроса через параметры "cred": {"user": "...", "token": "..."}. Передача этих параметров обязательна для каждого запроса, за исключением запросов аутентификации.

Имя каждого метода состоит из 2-х частей, разделенных точкой — названия сущности, к которой этот метод применяется и действия. Например, appointment.get_appointment_by_id.

Пример запроса:

{
   "jsonrpc":"2.0",
   "id":1,
   "method":"appointment.get_appointment_by_id",
   "params":{
     "id": "10531"
   },
   "cred":{
      "token":"...",
      "user":"..."
   }
}
  • jsonrpc — версия протокола (2.0)
  • id — значение числового типа для идентификации запроса на сервере
  • method — название вызываемого метода
  • params — массив параметров для вызываемого метода
  • cred — набор данных для идентификации и авторизации

Пример успешного ответа:

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
        "status": true
    }
}

Пример ответа с ошибкой:

{
   "jsonrpc":"2.0",
   "id":1,
   "error":{
      "code":-34001,
      "message":"Patient not authenticated. You might have already linked the patient to this profile. If so, you need to call \"RemoveAuthentication\" method in order to link another patient."
   }
}