Разрешены запросы:
получение списка записей, получение одной записи, создание и обновление данных записи
*@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 в медкарте.