Отримання токену доступу 

Інструкція з отримання токену - https://medakadem.freshdesk.com/uk/support/solutions/articles/77000530947-отримання-token 

Використання токену - https://medakadem.freshdesk.com/uk/support/solutions/articles/77000530917-token

Swagger документація

Список методів API доступний на веб-ресурсі медичного закладу за посиланням

https://***.medakadem.com.ua/swagger/index.html (посилання уточніть у вашого закладу)



Спосіб 1.


Scopes (права доступу):

В запиті на отримання токену використовуйте scopes:

gambit:online 
gambit:static_data 
gambit:public:patient:write 
gambit:public:prerecord:write 
gambit:public:package:read


Для створення попереднього запису можете скористатись наступними API.

Отримання списку лікарів:

GET /api/online/v1/doctors/range


Додатково, на своїй стороні, можете виконувати фільтрацію по списку лікарів, використовуючи дані з наступних API:

GET /api/online/v1/specializations/categories

GET /api/online/v1/specializations


Після обрання лікаря, отримайте список доступних філій:

GET /api/online/v1/clinics/{doctorId}


Отримайте список доступних графіків роботи та доступних інтервалів для запису:

GET /api/online/v1/schedulers/{query.DoctorId}/{query.ClinicId}


Створення пацієнта (пацієнт буде створенний новий або повернеться існуючий, на основі ПІБ та дати народження):

POST /api/public/v1/patients


Створення попереднього запису:

POST /api/public/v1/prerecords


Для запису на конкретну послугу, вивантаження списку послуг:
GET /api/public/v1/packages



Спосіб 2.


Scopes (права доступу):

В запиті на отримання токену використовуйте scopes:

gambit:public:patient:write 
gambit:public:prerecord:write 
gambit:public:user:read
gambit:public:package:read

Створення попереднього запису разом із пацієнтом:

POST /api/public/v1/prerecords/patient


Приклад запиту:

{
    "PatientSearchOptions": {
        "SearchMode": 1,
        "MatchMode": 1
    },
    "Patient": {
        "First": "Петро",
        "Last": "Петренко",
        "Middle": "Петрович",
        "Born": "1990-01-01",
        "Gender": "male",
        "Phone": "380681234567"
    },
    "Prerecord": {
        "UserId": 1,
        "DateStart": "2023-01-21T20:30:00+02:00",
        "Note": "Тестовий коментар",
        "Packages": [
            {
                "PackageId": 3
            },
            {
                "PackageId": 1037
            }
        ]
    }
}


Уточнення щодо деяких параметрів:

Назва параметрів
ТипМожливі значення параметрів та їхній опис
$.PatientSearchOptions
object
Необов'язковий параметр.
$.PatientSearchOptions.
SearchMode
number
"1" –  пошук пацієнта за номером телефон(Тел. моб 1 та Тел. моб 2).

будь-яке інше значення –  пошук пацієнта за ПІБ+Дата народження



$.PatientSearchOptions.
MatchMode

number
"1" – якщо в системі існує більше одного пацієнта за пошуковими параметрами, повертатиметься помилка:
{
    "type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
    "title": "One or more validation errors occurred.",
    "status": 400,
    "errors": {
        "Error": [
            "Multiple patient records match the given search criteria"
        ]
    }
}

будь-яке інше значення – буде створено нового пацієнта або обрано пацієнта, який підпадає під пошукові параметри та був доданий в систему першим



Вивантаження списку лікарів:
GET /api/public/v1/users


Для запису на конкретну послугу, вивантаження списку послуг:
GET /api/public/v1/packages