Доступ к приемам



Поля модели Admission

id - ID приема
admission_date - Дата приема
description - Описание
client_id - ID клиента
patient_id - ID питомца
user_id - ID доктора
type_id - Цель обращения на прием
admission_length - Продолжительность приема
status - статус приема
clinic_id - ID клиники
creator_id - ID пользователя создавшего прием
create_date - Дата создания приема
reception_write_channel - канал записи на прием
is_auto_create - Признак, что прием был создан автоматически

Значение поля status
save - запланированный
directed - ожидает/направлен на прием
in_treatment - направлен на прием и находится у врача
accepted - принятый
delayed - просроченный
not_confirmed - не подтвержденный прием, приемы с таким статусом создаются через сторонние сервисы
not_approved - не подтвержденный прием, приемы с таким статусом создаются в приложении vetmanager, если не указаны цель обращения или или доктор или пациент или клиент.
deleted - удаленные приемы

Все записи на прием, созданные через REST API, будут иметь статус ‘not_confirmed’, а значение reception_write_channel по умолчанию ‘website’

Пример создания записи на прием

 

поле «status» при создании приема отправлять не нужно. прием будет создан со статусом «not_confirmed»

type_id — это значение поля «value» из модели ComboManualItem

curl --location --request POST 'http://{DOMAIN NAME}/rest/api/Admission' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}' \
--data-raw '{
    "reception_write_channel":"vetmanager",
    "type_id":"4",
    "admission_date":"2021-09-17 16:45:00",
    "clinic_id":"1",
    "client_id":"6",
    "patient_id":"3",
    "description":"",
    "admission_length":"00:15:00",
    "user_id":"1"
}'   

Параметры

 

*admission_date - дата, на которую назначен прием (Y-m-d H:i:s)
*clinic_id - id клиники
*client_id - id клиента
patient_id - id питомца
сreator_id - id пользователя, создавшего прием
user_id - id врача, на которого назначен прием
type_id - тип приема
admission_length - длительность приема (H:i:s)
description - примечание к приему
reception_write_channel - канал создания записи (vk/fb/website)
* - обязательные параметры
▶ Ответ сервера
{
    "success": true,
    "message": "Record(s) Created",
    "data": {
        "totalCount": 1,
        "admission": [
            {
                "id": "30",
                "admission_date": "2021-09-17 16:45:00",
                "description": "",
                "client_id": "6",
                "patient_id": "3",
                "user_id": "1",
                "type_id": "4",
                "admission_length": "00:15:00",
                "status": "not_confirmed",
                "clinic_id": "1",
                "direct_direction": "0",
                "creator_id": "0",
                "create_date": "2021-09-17 13:22:58",
                "escorter_id": "0",
                "reception_write_channel": "vetmanager",
                "is_auto_create": "0",
                "pet": {
                    "id": "3",
                    "owner_id": "6",
                    "type_id": "13",
                    "alias": "Pet001",
                    "sex": "unknown",
                    "date_register": "2021-09-09 14:37:54",
                    "birthday": null,
                    "note": "",
                    "breed_id": "444",
                    "old_id": null,
                    "color_id": "0",
                    "deathnote": null,
                    "deathdate": null,
                    "chip_number": "",
                    "lab_number": "",
                    "status": "alive",
                    "picture": null,
                    "weight": "0.0000000000"
                },
                "client": {
                    "id": "6",
                    "address": "",
                    "home_phone": "",
                    "work_phone": "",
                    "note": "",
                    "type_id": null,
                    "how_find": null,
                    "balance": "0.0000000000",
                    "email": "",
                    "city": "",
                    "city_id": "145",
                    "date_register": "2021-09-09 14:37:37",
                    "cell_phone": "0957778899",
                    "zip": "",
                    "registration_index": null,
                    "vip": "0",
                    "last_name": "Client001",
                    "first_name": "Client001",
                    "middle_name": "Client001",
                    "status": "ACTIVE",
                    "discount": "0",
                    "passport_series": "",
                    "lab_number": "",
                    "street_id": "0",
                    "apartment": "",
                    "unsubscribe": "0",
                    "in_blacklist": "0",
                    "last_visit_date": "0000-00-00 00:00:00",
                    "number_of_journal": "",
                    "phone_prefix": "38"
                },
                "doctor_data": {
                    "id": "1",
                    "last_name": "admin",
                    "first_name": "",
                    "middle_name": "",
                    "login": "admin",
                    "passwd": "9205814c8bc98857f5e07f3bae30ad68",
                    "position_id": "8",
                    "email": "[email protected]",
                    "phone": "00000000000",
                    "cell_phone": "0000000000",
                    "address": "Address 1",
                    "role_id": "7",
                    "is_active": "1",
                    "calc_percents": "1",
                    "nickname": "admin",
                    "youtrack_login": "",
                    "youtrack_password": "",
                    "last_change_pwd_date": "0000-00-00",
                    "is_limited": "0",
                    "carrotquest_id": "two:1",
                    "sip_number": "",
                    "user_inn": ""
                }
            }
        ]
    }
}

В программе появится запись о запланированном визите, которую необходимо подтвердить.

Запись с сайта в программе

 

Запрос на получение Целей обращения (тип приема)

curl --location -g --request GET 'http://{DOMAIN NAME}/rest/api/ComboManualName?filter=[{"property": "title","value": "Тип приема","operator": "="}]' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}' \
--data-raw '{
    "filter": [
        {
            "property": "title",
            "value": "Тип приема",
            "operator": "="
        }
    ]
}'

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

в поле comboManualItems будет список — это цели обращения на прием. В запросе на создание приема в поле type_id нужно подставлять значение поля value из этого списка


▶ Ответ сервера
{
    "success": true,
    "message": "Records Retrieved Successfully",
    "data": {
        "totalCount": "1",
        "comboManualName": [
            {
                "id": "1",
                "title": "Тип приема",
                "is_readonly": "0",
                "comboManualItems": [
                    {
                        "id": "1",
                        "combo_manual_id": "1",
                        "title": "Вакцинация",
                        "value": "1",
                        "dop_param1": "00:15:00",
                        "dop_param2": "09:00:00",
                        "dop_param3": "",
                        "is_active": "1"
                    },
                    {
                        "id": "3",
                        "combo_manual_id": "1",
                        "title": "Первичный",
                        "value": "3",
                        "dop_param1": "00:00:00",
                        "dop_param2": "00:00:00",
                        "dop_param3": "",
                        "is_active": "1"
                    },
                    {
                        "id": "4",
                        "combo_manual_id": "1",
                        "title": "Вторичный",
                        "value": "4",
                        "dop_param1": "00:00:00",
                        "dop_param2": "00:00:00",
                        "dop_param3": "",
                        "is_active": "1"
                    }
                ]
            }
        ]
    }
}

 

Редактирование информации о приеме

 

curl -XPUT -H 'X-REST-API-KEY: {REST API KEY}' -H "Content-type: application/json" -d '{
	"clinic_id":1,
	"start":"2020-04-20 14:30:00",
	"end":"2020-04-20 15:00:00",
}' 'https://{DOMAIN NAME}/rest/api/Admission/{id}'
   }
*clinic_id - ИД клиники
*start - Начало приема
*end - Окончание приема
admission_date - Дата приема
type_id - Цель обращения
user_id - ИД доктора
client_id - ИД клиента
patient_id - ИД питомца
description - "Описание причины направления" заметка к приему
without_checking - если передать этот параметр со значением 1, то проверки на занятое время не будет
* - обязательные параметры
поле status может быть с таким значением:
save - запланированный
directed - ожидает/направлен на прием
in_treatment - "у врача"
accepted - принятый
delayed - просроченный
not_confirmed - не подтвержденный прием, приемы с таким статусом создаются через сторонние сервисы
not_approved - не подтвержденный прием, приемы с таким статусом создаются в приложении vetmanager, если не указаны цель обращения или или доктор или пациент или клиент.
deleted - удаленные приемы

Подтверждение приема

Все поля в запросе обязательные. Если не указать поле description, то поле будет сохранено с пустым значением.

curl --location --request POST 'http://{DOMAIN NAME}/rest/api/Admission/ConfirmAdmission' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}' \
--data-raw '{
    "id": 30,
    "user_id": 1,
    "client_id": 6,
    "patient_id": 3,
    "admission_date": "2021-09-17 15:45:00",
    "admission_type": 4,
    "description": "Заметка к приему",
    "clinic_id": 1
}'

Пример запроса получения списка приемов

Если прием со статусом «accepted», то у приема будет поле invoices — счета связанные с приемом.

curl --location -g --request GET 'http://{DOMAIN NAME}/rest/api/Admission?offset=0&limit=50sort=[{"property":"admission_date","direction":"DESC"}]&filter=[{"property":"clinic_id","value":1,"operator":"="},{"property":"admission_date","value":"2021-09-01","operator":">="},{"property":"admission_date","value":"2021-09-03","operator":"<="}]' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}'

▶ Ответ сервера
{
    "success": true,
    "message": "Records Retrieved Successfully",
    "data": {
        "totalCount": "1",
        "admission": [
            {
                "id": "31",
                "admission_date": "2021-09-01 17:00:00",
                "description": "",
                "client_id": "6",
                "patient_id": "3",
                "user_id": "1",
                "type_id": "4",
                "admission_length": "00:01:00",
                "status": "save",
                "clinic_id": "1",
                "direct_direction": "0",
                "creator_id": "1",
                "create_date": "2021-09-17 16:54:04",
                "escorter_id": "0",
                "reception_write_channel": "vetmanager",
                "is_auto_create": "0",
                "pet": {
                    "id": "3",
                    "owner_id": "6",
                    "type_id": "13",
                    "alias": "Pet001",
                    "sex": "unknown",
                    "date_register": "2021-09-09 14:37:54",
                    "birthday": null,
                    "note": "",
                    "breed_id": "444",
                    "old_id": null,
                    "color_id": "0",
                    "deathnote": null,
                    "deathdate": null,
                    "chip_number": "",
                    "lab_number": "",
                    "status": "alive",
                    "picture": null,
                    "weight": "0.0000000000",
                    "pet_type_data": {
                        "id": "13",
                        "title": "Кошачий",
                        "picture": "cat",
                        "type": "cat"
                    },
                    "breed_data": {
                        "id": "444",
                        "title": "Ангорская",
                        "pet_type_id": "13"
                    }
                },
                "client": {
                    "id": "6",
                    "address": "",
                    "home_phone": "",
                    "work_phone": "",
                    "note": "",
                    "type_id": null,
                    "how_find": null,
                    "balance": "0.0000000000",
                    "email": "",
                    "city": "",
                    "city_id": "145",
                    "date_register": "2021-09-09 14:37:37",
                    "cell_phone": "0957778899",
                    "zip": "",
                    "registration_index": null,
                    "vip": "0",
                    "last_name": "Client001",
                    "first_name": "Client001",
                    "middle_name": "Client001",
                    "status": "ACTIVE",
                    "discount": "0",
                    "passport_series": "",
                    "lab_number": "",
                    "street_id": "0",
                    "apartment": "",
                    "unsubscribe": "0",
                    "in_blacklist": "0",
                    "last_visit_date": "0000-00-00 00:00:00",
                    "number_of_journal": "",
                    "phone_prefix": "38"
                },
                "wait_time": ""
            }
        ]
    }
}

Пример запроса получения данных по приему

curl --location --request GET 'http://{DOMAIN NAME}/rest/api/Admission/30' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}'

▶ Ответ сервера
{
    "success": true,
    "message": "Record Retrieved Successfully",
    "data": {
        "totalCount": 1,
        "admission": {
            "id": "30",
            "admission_date": "2021-09-17 15:45:00",
            "description": "Заметка к приему",
            "client_id": "6",
            "patient_id": "3",
            "user_id": "1",
            "type_id": "4",
            "admission_length": "00:15:00",
            "status": "save",
            "clinic_id": "1",
            "direct_direction": "0",
            "creator_id": "1",
            "create_date": "2021-09-17 13:22:58",
            "escorter_id": "0",
            "reception_write_channel": "vetmanager",
            "is_auto_create": "0",
            "pet": {
                "id": "3",
                "owner_id": "6",
                "type_id": "13",
                "alias": "Pet001",
                "sex": "unknown",
                "date_register": "2021-09-09 14:37:54",
                "birthday": null,
                "note": "",
                "breed_id": "444",
                "old_id": null,
                "color_id": "0",
                "deathnote": null,
                "deathdate": null,
                "chip_number": "",
                "lab_number": "",
                "status": "alive",
                "picture": null,
                "weight": "0.0000000000",
                "pet_type_data": {
                    "id": "13",
                    "title": "Кошачий",
                    "picture": "cat",
                    "type": "cat"
                },
                "breed_data": {
                    "id": "444",
                    "title": "Ангорская",
                    "pet_type_id": "13"
                }
            },
            "client": {
                "id": "6",
                "address": "",
                "home_phone": "",
                "work_phone": "",
                "note": "",
                "type_id": null,
                "how_find": null,
                "balance": "0.0000000000",
                "email": "",
                "city": "",
                "city_id": "145",
                "date_register": "2021-09-09 14:37:37",
                "cell_phone": "0957778899",
                "zip": "",
                "registration_index": null,
                "vip": "0",
                "last_name": "Client001",
                "first_name": "Client001",
                "middle_name": "Client001",
                "status": "ACTIVE",
                "discount": "0",
                "passport_series": "",
                "lab_number": "",
                "street_id": "0",
                "apartment": "",
                "unsubscribe": "0",
                "in_blacklist": "0",
                "last_visit_date": "0000-00-00 00:00:00",
                "number_of_journal": "",
                "phone_prefix": "38",
                "unisender_phone_pristavka": ""
            },
            "doctor_data": {
                "id": "1",
                "last_name": "admin",
                "first_name": "",
                "middle_name": "",
                "login": "admin",
                "passwd": "9205814c8bc98857f5e07f3bae30ad68",
                "position_id": "8",
                "email": "[email protected]",
                "phone": "00000000000",
                "cell_phone": "0000000000",
                "address": "Address 1",
                "role_id": "7",
                "is_active": "1",
                "calc_percents": "1",
                "nickname": "admin",
                "youtrack_login": "",
                "youtrack_password": "",
                "last_change_pwd_date": "0000-00-00",
                "is_limited": "0",
                "carrotquest_id": "two:1",
                "sip_number": "",
                "user_inn": ""
            },
            "wait_time": ""
        }
    }
}