Доступ к календарю



Структура моделей, назначение полей

Модель Admission — записи в календаре

* @property integer $id
* @property string $admission_date // дата приёма
* @property string $description // описание приёма
* @property integer $client_id // ид клиента
* @property integer $patient_id // иди питомца
* @property integer $user_id // ИД врача/пользователя
* @property integer $type_id // Тип приёма из справочников
* @property string $admission_length //Длительность приёма
* @property string $status // Статус enum('save','directed','accepted','deleted','delayed', 'not_approved')
* @property integer $clinic_id // id клиники

Модель Timesheet — график врачей

* @property integer $id // ИД записи
* @property integer $doctor_id // ИД врача/пользователя
* @property integer $shedule_id //  не используется 
* @property string $begin_datetime // Дата начала в формате yyyy-mm-dd hh:ii:ss
* @property string $end_datetime // Дата окончания в формате yyyy-mm-dd hh:ii:ss
* @property integer $type // Тип
* @property string $shift //  не используется 
* @property string $title // Название
* @property integer $all_day // Весь день (0/1)
* @property integer $night // Ночь (0/1)
* @property integer $action_id // ИД действия не используется
* @property integer $clinic_id // id клиники

Модель TimesheetTypes — типы записей в графике

* @property integer $id //ИД записи
* @property string $name // Название
* @property string $title // не используется
* @property integer $is_working_hours // Рабоче время 1/0
  Настройки отображения записи в графике. Шрифт и цвет
* @property integer $b 
* @property integer $i
* @property integer $u
* @property string $color

Примеры запросов

Общие сведения о запросах к API

Выборка по ID записи календаря

curl -i -H "Accept: application/json" -H "X-REST-API-KEY: 950a183ccebb639d464c04ed4b70528b" http://example/rest/api/admission/2

{

   "success": true,
   "message": "Record Retrieved Successfully",
   "data": {
       "totalCount": 1,
       "admission": {
           "id": "2",
           "admission_date": "2012-11-13 09:50:00",
           "description": "",
           "client_id": "9",
           "patient_id": "5",
           "user_id": "74",
           "type_id": "8",
           "admission_length": "00:00:00",
           "status": "accepted",
           "clinic_id": "1",
           "direct_direction": "0"
       }
   }

}

Выборка по ID график врачей

{

   "success": true,
   "message": "Record Retrieved Successfully",
   "data": {
       "totalCount": 1,
       "timesheet": {
           "id": "635",
           "doctor_id": "61",
           "shedule_id": "0",
           "begin_datetime": "2013-01-03 21:00:00",
           "end_datetime": "2013-01-04 09:00:00",
           "type": "2",
           "shift": "0000-00-00 00:00:00",
           "title": "",
           "all_day": "0",
           "night": "1",
           "action_id":"0",
           "clinic_id":"1",
           "ttype": {
               "id": "2",
               "name": "Рабочее время",
               "title": "",
               "b": "0",
               "i": "0",
               "u": "0",
               "is_working_hours": "1",
               "color": "#FFFF00",
               "is_show_in_timesheet":"1"
           },
           "doctor": {
               "id": "61",
               "last_name": "Проверов",
               "first_name": "Провер",
               "middle_name": "Проверович",
               "login": "damir1",
               "passwd": "e485308bbf35c274cfc883b6306412d5",
               "position_id": "4",
               "email": "[email protected]",
               "phone": "",
               "cell_phone": "",
               "address": "",
               "role_id": "2",
               "is_active": "1",
               "calc_percents": "1",
               "nickname": "damir1",
               "last_visit": "2013-01-11 08:53:32",
               "last_change_pwd_date": "2012-12-08",
               "is_limited":"0",
               "carrotquest_id":null,
               "sip_number":"" 
           }
       }
   }

}

Планирование с минимальными данными

  • curl -l -H «Accept: application/json» -H «X-REST-API-KEY: ee9528f3b9c3ad9cdecfbd9723043334» -X \

POST -d ‘{«admission_date»: «2013-03-12 12:12:12», «status»: «not_approved»}’ \ http://example/rest/api/admission

{

   "success": true,
   "message": "Record(s) Created",
   "data": {
       "totalCount": 1,
       "admission": [{
           "admission_date": "2013-03-12 12:12:12",
           "admission_length": "00:00:00",
           "status": "not_approved",
           "id": "49",
           "description": null,
           "client_id": null,
           "patient_id": null,
           "user_id": null,
           "type_id": null
       }]
   }

}

Список обязательных полей

создание записи:
doctor_id
shedule_id
type
begin_datetime
end_datetime
clinic_id

обновление записи:
обязательных полей для запроса нет. При передаче поля из сущности, его и обновит.