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

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

Поля модели 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 - Признак, что прием был создан автоматически
invoices_sum - сумма счетов

Значение поля invoices_sum - это сумма счетов, которые созданы на этого клиента и в тот же день, на который назначен прием.


Значение поля 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": "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 '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": "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": ""
               }
       }
}



👆 На этом пока всё