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 - Признак, что прием был создан автоматически invoices_sum - сумма счетов confirmation - подтверждение, перенос или отмена приема (обратная связь от клиента)
Значение поля invoices_sum - это сумма счетов, которые созданы на этого клиента и в тот же день, на который назначен прием.
Значение поля status
Значение поля confirmation:
Значение данного поля по дефолту установленно null, оно формируется в зависимости от того, что выбрал клиент, когда к нему пришло сообщение о приеме на телефон от сервиса Квикби. У клиента есть 3 варианта ответа: подтвердить приём, отменить или перенести. В зависимости от того, что он нажмёт сформируется одно из 3х вариантов:
Все записи на прием, созданные через REST API, будут иметь статус ‘not_confirmed’, а значение reception_write_channel по умолчанию ‘website’
Поле «status» при создании приема отправлять не нужно. Прием будет создан со статусом «not_confirmed»
type_id — это значение поля «value» из модели ComboManualItem
curl --location --request POST 'https://{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": "email1@mail.ru",
"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 'https://{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 'https://{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 'https://{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 'https://{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": "email1@mail.ru",
"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": ""
}
}
}Обязательное поле id приема.
curl --location --request POST 'https://[DOMAIN NAME]/rest/api/Admission/CancelAdmission' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: [REST API KEY]' \
--data-raw '{
"id": 1
}Пример ответа сервера
{
"data": {
"canceladmission": {
"admission_id": 1
}
},
"success": true
}
Метод для подтверждения приема
Неподтвержденные приемы имеют статус not_confirmed
Обязательные поля:
id - ИД приема user_id - ИД доктора client_id - ИД пациента patient_id - ИД питомца admission_type - ИД цель обращения (тип приема) clinic_id - ИД клиники admission_date - Дата приема
curl --location --request POST 'https://[DOMAIN NAME]/rest/api/Admission/ConfirmAdmission' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: [REST API KEY]' \
--data-raw '{
"id": 1,
"user_id": 1,
"client_id": 5,
"patient_id": 3,
"admission_type": 4,
"clinic_id": 1,
"admission_date": "2023-06-08 21:00:00"
}'Пример ответа сервера
{
"data": {
"confirmadmission": {
"admission_id": "1"
}
},
"success": true
}
@property integer $id @property integer $admission_id @property string $action @property string $dt_start @property string $dt_end @property integer $length
Запрос к admissionJournal
curl --location -g --request GET 'http://one.localhost:8080/rest/api/admissionJournal?filter=[{'\''property'\'':'\''action'\'', '\''value'\'':'\''directed'\'', '\''operator'\'':'\''!='\''}]' \
--header 'X-REST-API-KEY: 4063b63ecba0792541c3bca8cf5e556a'Пример ответа
{
"success": true,
"message": "Records Retrieved Successfully",
"data": {
"totalCount": 1,
"admissionJournal": [
{
"id": 1,
"admission_id": 1,
"action": "planned",
"dt_start": "2023-11-14 11:11:10",
"dt_end": "2023-11-14 11:14:30",
"length": 3,
"admission": {
"id": 1,
"admission_date": "2023-11-14 12:15:00",
"description": "",
"client_id": 5,
"patient_id": 2,
"user_id": 32,
"type_id": 12,
"admission_length": "00:15:00",
"status": "directed",
"clinic_id": 1,
"direct_direction": 0,
"creator_id": 1,
"create_date": "2023-11-14 11:11:10",
"escorter_id": 0,
"reception_write_channel": "vetmanager",
"is_auto_create": 0,
"invoices_sum": "0.0000000000"
}
}
]
}
}Запрос одной записи
curl --location --request GET 'http://one.localhost:8080/rest/api/admissionJournal/1' \ --header 'X-REST-API-KEY: 4063b63ecba0792541c3bca8cf5e556a'
{
"success": true,
"message": "Record Retrieved Successfully",
"data": {
"totalCount": 1,
"admissionJournal": {
"id": 1,
"admission_id": 1,
"action": "planned",
"dt_start": "2023-11-14 11:11:10",
"dt_end": "2023-11-14 11:14:30",
"length": 3,
"admission": {
"id": 1,
"admission_date": "2023-11-14 12:15:00",
"description": "",
"client_id": 5,
"patient_id": 2,
"user_id": 32,
"type_id": 12,
"admission_length": "00:15:00",
"status": "directed",
"clinic_id": 1,
"direct_direction": 0,
"creator_id": 1,
"create_date": "2023-11-14 11:11:10",
"escorter_id": 0,
"reception_write_channel": "vetmanager",
"is_auto_create": 0,
"invoices_sum": "0.0000000000"
}
}
}
}