Разрешены запросы:
получение списка записей, получение одной записи, создание и обновление данных записи
*@property integer $patient_id // ID питомца
*@property integer $doctor_id // ID доктора
*@property integer $clinic_id // ID клиники
@property string $date_create // дата создания медкарты (формат Y-m-d H:i:s 2019-12-31 14:26:30)
@property integer $admission_type // ID цель обращения
*@property string $description // текст описание лечения
@property string $recomendation // текст рекомендации и лечение
@property integer $meet_result_id // ID результат посещения
@property float $weight // вес питомца (кг)
@property float $temperature // температура питомца
@property string $diagnos // диагнозы пример: '[{"id":"32","type":1},{"id":"11","type":1}]' - id - ID диагноза, type - всегда равен 1Создание медкарты
Список обязательных полей
создание медкарты patient_id doctor_id clinic_id admission_type description recomendation meet_result_id weight temperature date_create <- это поле обязательное, но без него подставит текущую дату
curl --location --request POST 'https://{DOMAIN NAME}/rest/api/MedicalCards' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}' \
--data-raw '{
"patient_id":"1",
"doctor_id":"1",
"clinic_id":"1",
"date_create":"2019-07-06 14:00:01",
"admission_type":"7",
"description":"текст описание лечения",
"recomendation":"текст рекомендаций по лечению",
"meet_result_id":0,
"weight":0.00,
"temperature":0.00,
"diagnos":'\''[{"id":"32","type":1},{"id":"11","type":1}]'\''
}'Ответ сервера
{
"success": true,
"message": "Record(s) Created",
"data": {
"totalCount": 1,
"medicalCards": [
{
"id": "3",
"patient_id": "1",
"date_create": "2019-07-06 14:00:01",
"date_edit": "2019-07-06 14:00:01",
"diagnos": "[{\"id\":\"32\",\"type\":1},{\"id\":\"11\",\"type\": 1}]",
"recomendation": "текст рекомендаций по лечению",
"invoice": null,
"admission_type": "7",
"weight": "0.0000000000",
"temperature": "0.0000000000",
"meet_result_id": "0",
"description": "текст описание лечения",
"next_meet_id": "0",
"doctor_id": "1",
"creator_id": "1",
"status": "active",
"calling_id": "0",
"admission_id": "0",
"diagnos_text": "",
"diagnos_type_text": null,
"clinic_id": "1",
"patient": {
"id": "1",
"owner_id": "3",
"type_id": null,
"alias": "Гость",
"sex": null,
"date_register": "2013-01-17 09:17:53",
"birthday": null,
"note": "Питомец создан для реализации функционала создания
счетов вет-аптеки",
"breed_id": null,
"old_id": null,
"color_id": null,
"deathnote": null,
"deathdate": null,
"chip_number": null,
"lab_number": null,
"status": "alive",
"picture": null,
"weight": "0.0000000000"
}
}
]
}
}patient_id
doctor_id
clinic_id
curl --location --request PUT 'https://{DOMAIN NAME}/rest/api/MedicalCards/4' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}' \
--data-raw '{
"patient_id":"1",
"doctor_id":"1",
"clinic_id":"1",
"date_create":"2019-07-06 14:00:01",
"admission_type":"7",
"description":"текст описание лечения",
"recomendation":"",
"meet_result_id":0,
"weight":0.00,
"temperature":0.00,
"diagnos":""
}'Ответ сервера
{
"success": true,
"data": {
"medicalcards": {
"patient_id": "1",
"doctor_id": "1",
"clinic_id": "1",
"date_create": "2019-07-06 14:00:01",
"admission_type": "7",
"description": "текст описание лечения",
"recomendation": "",
"meet_result_id": 0,
"weight": 0,
"temperature": 0,
"diagnos": "",
"client_id": 3
}
}
}Получение списка диагнозов
curl --location --request GET 'https://{DOMAIN NAME}/rest/api/Diagnoses' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}'Ответ сервера
{
"success": true,
"message": "Records Retrieved Successfully",
"data": {
"totalCount": "131",
"diagnoses": [
{
"id": "1",
"title": "Воспаление кишечника хроническое",
"status": "ACTIVE"
},
{
"id": "2",
"title": "Гастроэнтерит",
"status": "ACTIVE"
},
*********
{
"id": "100",
"title": "Пиодермия",
"status": "ACTIVE"
}
]
}
}curl --location --request GET 'https://{DOMAIN NAME}/rest/api/MedicalCards/MedicalcardsDataByClient?client_id=6&pet_id=3&offset=0&limit=10' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}'{
"data": {
"medicalcards": [
{
"medical_card_id": "2",
"date_edit": "2021-09-20 11:33:00",
"diagnos": "[{\"id\":32,\"type\":1}]",
"doctor_id": "1",
"medical_card_status": "active",
"healing_process": "
",
"recomendation": "",
"weight": "0.0000000000",
"temperature": "0.0000000000",
"meet_result_id": "0",
"admission_type": "4",
"pet_id": "3",
"alias": "Pet001",
"birthday": null,
"sex": "unknown",
"note": "",
"pet_type": "cat",
"breed": "Ангорская",
"client_id": "6",
"first_name": "Client001",
"last_name": "Client001",
"middle_name": "Client001",
"phone": "0957778899",
"doctor_nickname": "admin",
"doctor_first_name": "",
"doctor_last_name": "admin",
"doctor_middle_name": "",
"editable": "1",
"meet_result_title": "",
"admission_type_title": "Вторичный",
"diagnos_data": [
{
"diagnos_id": "32",
"title": "Анемия"
}
]
}
]
},
"success": true
}@property integer $client_id // ID клиента @property integer $pet_id // ID питомца @property integer $offset // сколько пропустить записей для выборки @property integer $limit // сколько записей выбрать
Получение данных медкарты
curl --location --request GET 'https://{DOMAIN NAME}/rest/api/MedicalCards/MedicalcardItemByClient?client_id=6&medcard_id=2' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}'Ответ сервера
{
"data": {
"medicalcards": [
{
"medical_card_id": "2",
"date_edit": "2021-09-20 11:33:00",
"diagnos": "[{\"id\":32,\"type\":1}]",
"doctor_id": "1",
"medical_card_status": "active",
"healing_process": "
",
"recomendation": "",
"weight": "0.0000000000",
"temperature": "0.0000000000",
"meet_result_id": "0",
"admission_type": "4",
"admission_id": "33",
"pet_id": "3",
"alias": "Pet001",
"birthday": null,
"sex": "unknown",
"note": "",
"pet_type": "cat",
"breed": "Ангорская",
"client_id": "6",
"first_name": "Client001",
"last_name": "Client001",
"middle_name": "Client001",
"phone": "0957778899",
"doctor_nickname": "admin",
"doctor_first_name": "",
"doctor_last_name": "admin",
"doctor_middle_name": "",
"editable": "1",
"meet_result_title": "",
"admission_type_title": "Вторичный",
"diagnos_data": [
{
"diagnos_id": "32",
"title": "Анемия"
}
],
"basis_for_admission": "Вторичный на 11:34 к admin (№33)",
"admission_data": {
"id": "33",
"admission_date": "2021-09-20 11:34:44",
"description": "На основании медкарты",
"client_id": "6",
"patient_id": "3",
"user_id": "1",
"type_id": "4",
"admission_length": "00:00:00",
"status": "accepted",
"clinic_id": "1",
"direct_direction": "1",
"creator_id": "1",
"create_date": "2021-09-20 11:34:44",
"escorter_id": "0",
"reception_write_channel": "vetmanager",
"is_auto_create": "1",
"wait_time": ""
}
}
},
"success": true
}
Параметры запроса:
@property integer $client_id // ID клиента @property integer $medcard_id // ID медкарты
Получение списка вакцинаций
curl --location --request GET 'https://{DOMAIN NAME}/rest/api/MedicalCards/Vaccinations?pet_id=3' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}'Ответ сервера
{
"data": {
"medicalcards": [
{
"id": "1",
"name": "Биовак DPAL",
"pet_id": "3",
"date": "2021-09-20 00:00:00",
"date_nexttime": "0000-00-00",
"vaccine_id": "2727",
"birthday": null,
"birthday_at_time": "",
"medcard_id": "5",
"doza_type_id": "0",
"doza_value": "1.0000000000",
"sale_param_id": "288",
"vaccine_type": "2",
"vaccine_description": "",
"vaccine_type_title": "Вторичная",
"next_admission_id": "0",
"next_visit_time: "",
"pet_age_at_time_vaccination": "не указано"
}
]
},
"success": true
}Описание полей:
Получение списка текстовых шаблонов для медкарты
В параметре tpls_for могут быть значения 1 — шаблоны для описания медкарты, 2 — шаблоны для рекомендаций медкарты
curl --location --request GET 'https://{DOMAIN NAME}/rest/api/MedicalCards/MedcardsTextTemplates?tpls_for=1' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}'Ответ сервера
{
"data": {
"medicalcards": [
{
"id": "1",
"title": "test",
"full_text": "
1. ?глаза
2. лапы
3. хвост
"
},
{
"id": "2",
"title": "шаблон тест",
"full_text": "
1. ?глаза
2. уши
3. хвост
4. лапы
"
}
****
]
},
"success": true
}Добавление вакцинации в медкарту
curl --location --request POST 'https://{DOMAIN NAME}/rest/api/MedicalCards/AddVaccination' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}' \
--data-raw '{
"medcard_id":5,
"clinic_id":1,
"pet_id":3,
"doctor_id":1,
"vaccine_id":"2727_288",
"vaccine_type":2,
"doza_value":1,
"vaccine_date":"2019-09-01 14:57",
"delete_vaccine_nextdates":0,
"plane_next_visit_by_repead_vaccine_date":0,
"action":"add",
"vaccine_description":"",
"pet_weight":0,
"pet_temperature":0,
"next_date":"2019-12-31",
"next_visit_time":"15:00"
}'Ответ сервера
{
"data": {
"vaccine": {
"medcard_id": 5,
"clinic_id": 1,
"pet_id": 3,
"doctor_id": 1,
"vaccine_id": "2727_288",
"vaccine_type": 2,
"doza_value": 1,
"vaccine_date": "2019-09-01 14:57",
"delete_vaccine_nextdates": 0,
"plane_next_visit_by_repead_vaccine_date": 0,
"action": "add",
"vaccine_description": "",
"pet_weight": 0,
"pet_temperature": 0,
"next_date": "2019-12-31",
"next_visit_time": "15:00",
"id": 2
}
},
"success": true
}Параметры запроса
*@property integer $medcard_id // ID медкарты *@property integer $clinic_id // ID клиники *@property integer $pet_id // ID питомца *@property integer $doctor_id // ID доктора *@property string $vaccine_id // ID вакцины *@property integer $vaccine_type // ID типа вакцинации *@property integer $doza_value // кол-во @property string $vaccine_date // дата вакцинации (формат Y-m-d H:i 2019-12-31 14:57) @property integer $delete_vaccine_nextdates // Удалить предыдущие даты повторов значения: 0/1 @property integer $plane_next_visit_by_repead_vaccine_date // Запланировать визит на дату повтора значения: 0/1 @property string $action значения: "add" @property string $vaccine_description // примечание к вакцинации @property float $pet_weight // вес питомца @property float $pet_temperature // температура питомца @property string $next_date // дата следующей вакцинации (формат Y-m-d 2019-12-31) @property string $next_visit_time // время следующего визита (формат H:i 15-00)
Редактирование вакцинации
curl --location --request POST 'https://{DOMAIN NAME}/rest/api/MedicalCards/AddVaccination' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}'
--data-raw '{
"id":2,
"medcard_id":5,
"clinic_id":1,
"pet_id":3,
"doctor_id":1,
"vaccine_id":"2727_288",
"vaccine_type":2,
"doza_value":1,
"vaccine_date":"2019-09-01 14:57",
"delete_vaccine_nextdates":0,
"plane_next_visit_by_repead_vaccine_date":0,
"action":"edit",
"vaccine_description":"",
"pet_weight":0,
"pet_temperature":0,
"next_date":"2019-12-31",
"next_visit_time":"15:00"
}'Примечания:
Ответ сервера
{
"data": {
"vaccine": {
"id": 2,
"medcard_id": 5,
"clinic_id": 1,
"pet_id": 3,
"doctor_id": 1,
"vaccine_id": "2727_288",
"vaccine_type": 2,
"doza_value": 1,
"vaccine_date": "2019-09-01 14:57",
"delete_vaccine_nextdates": 0,
"plane_next_visit_by_repead_vaccine_date": 0,
"action": "edit",
"vaccine_description": "",
"pet_weight": 0,
"pet_temperature": 0,
"next_date": "2019-12-31",
"next_visit_time": "15:00"
}
},
"success": true
}Загрузка файлов для медкарты
curl --location --request POST 'https://{DOMAIN NAME}/rest/api/MedicalCards/UploadFiles' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}' \
--form 'request_files=@"/home/siriussl/DOWNLOADS/1234.png"' \
--form 'client_id="6"' \
--form 'pet_id="3"' \
--form 'medcard_id="2"'Параметры запроса
request_files[] - массив файлов, как при обычной форме аплода файлов *@property integer $client_id // ID клиента *@property integer $pet_id // ID питомца *@property integer $medcard_id // ID медкарты
Ответ сервера
{
"success": true,
"data": {
"upload_data": {
"msg": "Файлы успешно загружены",
"params": {
"url": "https://vetmanager-public-user-files.s3.amazonaws.com/one/var/downloads/2021.09.20/0320fc2707e3835.png",
"filename": "https://vetmanager-public-user-files.s3.amazonaws.com/one/var/downloads/2021.09.20/0320fc2707e3835.png",
"filetype": "image",
"filesize": 291660,
"filetitle": "filename",
"image_resolution": {
"width": 300,
"height": 143.7
},
"msg": "Файлы успешно загружены"
}
}
}
}Как получить текстовое значение admission_type?
Чтобы узнать текстовое значение для admission_type, можно выполнить запрос
{{Domain URL}}/rest/api/ComboManualName/
найти справочник с именем: Тип Приема, у него в свойстве comboManualItems найти item у которого значение поля value = значение поля admission_type в медкарте.