>_ rehablogger
Система работает
← Все сессии
СЕССИЯ УСТРОЙСТВА

rehabapp_2026-09-29_08-53-39

Подключение…
Rehab Logger console · история загружается порциями по 250 записей
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 820|RvB8itfQO9aW9uUQRmUoWOpxv0TrzNDmwU04VgIH601ef7af
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/period?start_date=2026-08-31&end_date=2026-10-04
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 820|RvB8itfQO9aW9uUQRmUoWOpxv0TrzNDmwU04VgIH601ef7af
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/user/save-client-push-token/
INFO [console] [DIO] method: POST
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] Authorization: Bearer 820|RvB8itfQO9aW9uUQRmUoWOpxv0TrzNDmwU04VgIH601ef7af
INFO [console] [DIO] data:
INFO [console] [DIO] {service_type: fcm, token: cV4rx_qCTqGv0P-PuuG99y:APA91bGLL9me4UKDlSpCgG67faRT9IfY5PeL5_uLddbYjWOkMOoCClTQwF7GmTM8car9alsWPavfuO1aqJsdjbJSHdbEO7bI2HEJSqY8tpXpWB4QdE2rqaE}
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/statistics/general
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 29 Sep 2026 06:11:15 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-29T06:11:15.933513Z","request_id":"3dde3a59-364f-4750-85db-caa338d5a9a6","version":"v1"},"data":{"rehabilitation_name":"Вторичный множественный артроз","rehabilitation_start_date":"2026-09-29","rehabilitation_end_date":"2026-10-19","rehabilitation_weeks_count":3,"quality":{"average_score":null,"phases":[{"phase_sequence_number":1,"phase_name":"Восстановление подвижности","weeks":[{"phase_week_number":1,"score":null,"rehabilitation_week_number":1,"is_control_week":false},{"phase_week_number":2,"score":null,"rehabilitation_week_number":2,"is_control_week":false},{"phase_week_number":3,"score":null,"rehabilitation_week_number":3,"is_control_week":true}]}]},"activity":{"average_score":null,"phases":[{"phase_sequence_number":1,"phase_name":"Восстановление подвижности","weeks":[{"phase_week_number":1,"score":null,"rehabilitation_week_number":1,"is_control_week":false},{"phase_week_number":2,"score":null,"rehabilitation_week_number":2,"is_control_week":false},{"phase_week_number":3,"score":null,"rehabilitation_week_number":3,"is_control_week":true}]}]}}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-29T06:11:15.933513Z, request_id: 3dde3a59-364f-4750-85db-caa338d5a9a6, version: v1}, data: {rehabilitation_name: Вторичный множественный артроз, rehabilitation_start_date: 2026-09-29, rehabilitation_end_date: 2026-10-19, rehabilitation_weeks_count: 3, quality: {average_score: null, phases: [{phase_sequence_number: 1, phase_name: Восстановление подвижности, weeks: [{phase_week_number: 1, score: null, rehabilitation_week_number: 1, is_control_week: false}, {phase_week_number: 2, score: null, rehabilitation_week_number: 2, is_control_week: false}, {phase_week_number: 3, score: null, rehabilitation_week_number: 3, is_control_week: true}]}]}, activity: {average_score: null, phases: [{phase_sequence_number: 1, phase_name: Восстановление подвижности, weeks: [{phase_week_number: 1, score: null, rehabilitation_week_number: 1, is_control_week: false}, {phase_week_number: 2, score: null, rehabilitation_week_number: 2, is_control_week: fals
INFO [console] e}, {phase_week_number: 3, score: null, rehabilitation_week_number: 3, is_control_week: true}]}]}}}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/statistics/range-of-motion
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 820|RvB8itfQO9aW9uUQRmUoWOpxv0TrzNDmwU04VgIH601ef7af
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/user/save-client-push-token/
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 29 Sep 2026 06:11:15 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-29T06:11:15.947635Z","request_id":"88e09f5b-5927-427e-81e1-3215450aec0c","version":"v1"},"data":{"message":"User push token successfully saved or existed for current user"}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-29T06:11:15.947635Z, request_id: 88e09f5b-5927-427e-81e1-3215450aec0c, version: v1}, data: {message: User push token successfully saved or existed for current user}}
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/period?start_date=2026-08-31&end_date=2026-10-04
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 29 Sep 2026 06:11:15 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-29T06:11:15.966426Z","request_id":"9e7e92ab-4535-4717-b6bf-f49145132353","version":"v1"},"data":{"start_rehab":"2026-09-29 00:00:00","end_rehab":"2026-10-19 00:00:00","days":[{"date":"2026-09-29","status":["start"],"training":[{"mode":"correction_unit","status":"not_done","progress":null},{"mode":"diagnostics","status":"not_done","progress":null}]},{"date":"2026-09-30","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-10-01","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]},{"date":"2026-10-02","status":["none"],"training":[{"mode":"correction_unit","status":"not_done","progress":null}]}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-29T06:11:15.966426Z, request_id: 9e7e92ab-4535-4717-b6bf-f49145132353, version: v1}, data: {start_rehab: 2026-09-29 00:00:00, end_rehab: 2026-10-19 00:00:00, days: [{date: 2026-09-29, status: [start], training: [{mode: correction_unit, status: not_done, progress: null}, {mode: diagnostics, status: not_done, progress: null}]}, {date: 2026-09-30, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-10-01, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}, {date: 2026-10-02, status: [none], training: [{mode: correction_unit, status: not_done, progress: null}]}]}}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-09-29
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 820|RvB8itfQO9aW9uUQRmUoWOpxv0TrzNDmwU04VgIH601ef7af
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] shrinkOffset: 0.0, progress: 0.0
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/statistics/range-of-motion
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 29 Sep 2026 06:11:16 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-29T06:11:16.011501Z","request_id":"7def0c4f-3514-493f-b77a-4f57e375f9ef","version":"v1"},"data":{"average_score":null,"average_interpretation":null,"phases":[{"phase_sequence_number":1,"phase_name":"Восстановление подвижности","weeks":[{"phase_week_number":1,"week_number":1,"rehabilitation_week_number":1,"score":null,"interpretation":null,"is_control_week":false},{"phase_week_number":2,"week_number":2,"rehabilitation_week_number":2,"score":null,"interpretation":null,"is_control_week":false},{"phase_week_number":3,"week_number":3,"rehabilitation_week_number":3,"score":null,"interpretation":null,"is_control_week":true}]}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-29T06:11:16.011501Z, request_id: 7def0c4f-3514-493f-b77a-4f57e375f9ef, version: v1}, data: {average_score: null, average_interpretation: null, phases: [{phase_sequence_number: 1, phase_name: Восстановление подвижности, weeks: [{phase_week_number: 1, week_number: 1, rehabilitation_week_number: 1, score: null, interpretation: null, is_control_week: false}, {phase_week_number: 2, week_number: 2, rehabilitation_week_number: 2, score: null, interpretation: null, is_control_week: false}, {phase_week_number: 3, week_number: 3, rehabilitation_week_number: 3, score: null, interpretation: null, is_control_week: true}]}]}}
INFO [console] [DIO] *** Request ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/statistics/pain
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 820|RvB8itfQO9aW9uUQRmUoWOpxv0TrzNDmwU04VgIH601ef7af
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/rehabilitation/calendar/day?date=2026-09-29
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 29 Sep 2026 06:11:16 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-29T06:11:16.077841Z","request_id":"05cfd298-7369-42d1-ae11-eea4fd29c6a2","version":"v1"},"data":{"rehabilitation_day_id":3497,"phase_id":444,"diagnosis_rehab":"Вторичный множественный артроз","start_rehab":"2026-09-29 00:00:00","end_rehab":"2026-10-19 00:00:00","name_rehab_phase":"Восстановление подвижности","status":["start"],"recommendations_count":3,"date":"2026-09-29","training":[{"mode":"correction_unit","status":"not_done","progress":null,"unit_id":1295,"time":"10 - 20 мин","count_questions":1,"status_questions":false,"workout_id":null},{"mode":"diagnostics","status":"not_done","progress":null,"unit_id":1294,"time":"5 - 10 мин","count_questions":2,"status_questions":false,"workout_id":null}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-29T06:11:16.077841Z, request_id: 05cfd298-7369-42d1-ae11-eea4fd29c6a2, version: v1}, data: {rehabilitation_day_id: 3497, phase_id: 444, diagnosis_rehab: Вторичный множественный артроз, start_rehab: 2026-09-29 00:00:00, end_rehab: 2026-10-19 00:00:00, name_rehab_phase: Восстановление подвижности, status: [start], recommendations_count: 3, date: 2026-09-29, training: [{mode: correction_unit, status: not_done, progress: null, unit_id: 1295, time: 10 - 20 мин, count_questions: 1, status_questions: false, workout_id: null}, {mode: diagnostics, status: not_done, progress: null, unit_id: 1294, time: 5 - 10 мин, count_questions: 2, status_questions: false, workout_id: null}]}}
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/statistics/pain
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 29 Sep 2026 06:11:16 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/detailed-exercises?unit_id=1294&rehabilitation_day_id=3497&workout_id
INFO [console] [DIO] method: GET
INFO [console] [DIO] responseType: ResponseType.json
INFO [console] [DIO] followRedirects: true
INFO [console] [DIO] persistentConnection: true
INFO [console] [DIO] connectTimeout: 0:00:10.000000
INFO [console] [DIO] sendTimeout: null
INFO [console] [DIO] receiveTimeout: 0:00:10.000000
INFO [console] [DIO] transformTimeout: null
INFO [console] [DIO] receiveDataWhenStatusError: true
INFO [console] [DIO] extra: {}
INFO [console] [DIO] headers:
INFO [console] [DIO] Authorization: Bearer 820|RvB8itfQO9aW9uUQRmUoWOpxv0TrzNDmwU04VgIH601ef7af
INFO [console] [DIO] data:
INFO [console] [DIO] null
INFO [console] [DIO]
INFO [console] [DIO] *** Response ***
INFO [console] [DIO] uri: https://rehabilitation.most.team/api/v1/patient/workout/detailed-exercises?unit_id=1294&rehabilitation_day_id=3497&workout_id
INFO [console] [DIO] statusCode: 200
INFO [console] [DIO] statusMessage: OK
INFO [console] [DIO] headers:
INFO [console] [DIO] x-served-by: rehabilitation.most.team
INFO [console] [DIO] access-control-allow-credentials: true
INFO [console] [DIO] connection: keep-alive
INFO [console] [DIO] cache-control: no-cache, private
INFO [console] [DIO] date: Tue, 29 Sep 2026 06:11:59 GMT
INFO [console] [DIO] transfer-encoding: chunked
INFO [console] [DIO] access-control-allow-origin: http://localhost:3000
INFO [console] [DIO] content-type: application/json
INFO [console] [DIO] server: openresty
INFO [console] [DIO] Response Text:
INFO [console] [DIO] {"success":true,"meta":{"timestamp":"2026-09-29T06:11:59.366373Z","request_id":"55944021-8c6c-48b4-bb6e-68e511751d8f","version":"v1"},"data":{"unit_id":1294,"workout_duration_start":5,"workout_duration_end":10,"body_side":"not_specified","exercises":[{"id":37,"sequence_number":1,"is_monitored":false,"name":"Изометрическое напряжение квадрицепсов и ягодичных мышц","image":"https://rehabilitation.most.team/storage/exercise/photos/01KQ9YTKC29DWK6945XXFY6GXC.png","by_body_side":"not_by_side","execution_order_type":null,"approaches_count":3,"execution_count":null,"execution_time":15,"instruction":{"exercise_name":"Изометрическое напряжение квадрицепсов и ягодичных мышц","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQ9YTKC7WDDRBTWDGN57582Q.mov","inventory":null,"warning":null,"general_description":"И.п. лёжа на спине. Ноги максимально выпрямлены в коленных суставах. Потянуть обе стопы сильно на себя и “втянуть в себя ягодицы”. Почувствовать напряжение в передней части бёдер и ягодиц, удерживать это положение заданное количество времени. Цель – общая активация мышц бёдер, тренировка контроля мышечных усилий.","steps":[{"exercise_id":37,"sequence_number":1,"step_text":"Лягте на спину на твердую ровную поверхность (коврик, пол)"},{"exercise_id":37,"sequence_number":2,"step_text":"Ноги полностью выпрямлены, колени прижаты к полу"},{"exercise_id":37,"sequence_number":3,"step_text":"Стопы расположены на ширине плеч или немного уже"},{"exercise_id":37,"sequence_number":4,"step_text":"Руки лежат вдоль туловища ладонями вниз или на животе для самоконтроля дыхания"},{"exercise_id":37,"sequence_number":5,"step_text":"Сильно потяните стопы на себя, напрягите ягодицы и мышцы бедер"},{"exercise_id":37,"sequence_number":6,"step_text":"Удерживайте напряжение всё необходимое время"}],"measurement":null},"camera_orientation":"horizontal","neural_network_type":"mediapipe","base_main_command":"Напрягайте бедра и ягодицы","left_main_command":null,"calibration_parameters":[{"id":45,"name":"Калибровка угла в колене","calibration_parameter_type":"angle","fixation_type":"max_value","fixation_order":null,"deviation_type":null,"deviation_critical":10,"deviation_uncritical":null,"compensation_influence":null,"has_division_by_side":true,"is_monitored":false,"components":[{"id":61,"component_side":"right","segment_type":null,"parts":[{"id":150,"sequence_number":1,"body_point":{"id":25,"mediapipe_index":24,"movenet_index":12},"line_type":null,"part_type":"point"},{"id":151,"sequence_number":2,"body_point":{"id":27,"mediapipe_index":26,"movenet_index":14},"line_type":null,"part_type":"point"},{"id":152,"sequence_number":3,"body_point":{"id":29,"mediapipe_index":28,"movenet_index":16},"line_type":null,"part_type":"point"}]},{"id":62,"component_side":"left","segment_type":null,"parts":[{"id":153,"sequence_number":1,"body_point":{"id":24,"mediapipe_index":23,"movenet_index":11},"line_type":null,"part_type":"point"},{"id":154,"sequence_number":2,"body_point":{"id":26,"mediapipe_index":25,"movenet_index":13},"line_type":null,"part_type":"point"},{"id":155,"sequence_number":3,"body_point":{"id":28,"mediapipe_index":27,"movenet_index":15},"line_type":null,"part_type":"point"}]}],"commands":[{"id":66,"command_side":"right","error_message":"Держите колени выпрямленными","error_audio":"https://rehabilitation.most.team/storage/default/exercise/audio-command.mp3"},{"id":67,"command_side":"left","error_message":"Держите колени выпрямленными","error_audio":"https://rehabilitation.most.team/storage/default/exercise/audio-command.mp3"}],"videos":[]},{"id":46,"name":"Калибровка угла в голеностопе","calibration_parameter_type":"angle","fixation_type":"min_value","fixation_order":null,"deviation_type":null,"deviation_critical":10,"deviation_uncritical":null,"compensation_influence":null,"has_division_by_side":true,"is_monitored":false,"components":[{"id":63,"component_side":"right","segment_type":null,"parts":[{"id":156,"sequence_number":1,"body_point":{"id":27,"mediapipe_index":26,"movenet_index":14},"line_type":null,"part_type":"point"},{"id":157,"sequence_number":2,"body_point":{"id":29,"mediapipe_index":28,"movenet_index":16},"line_type":null,"part_type":"point"},{"id":158,"sequence_number":3,"body_point":{"id":33,"mediapipe_index":32,"movenet_index":null},"line_type":null,"part_type":"point"}]},{"id":64,"component_side":"left","segment_type":null,"parts":[{"id":159,"sequence_number":1,"body_point":{"id":26,"mediapipe_index":25,"movenet_index":13},"line_type":null,"part_type":"point"},{"id":160,"sequence_number":2,"body_point":{"id":28,"mediapipe_index":27,"movenet_index":15},"line_type":null,"part_type":"point"},{"id":161,"sequence_number":3,"body_point":{"id":32,"mediapipe_index":31,"movenet_index":null},"line_type":null,"part_type":"point"}]}],"commands":[{"id":68,"command_side":"right","error_message":"Потяните стопы на себя","error_audio":"https://rehabilitation.most.team/storage/default/exercise/audio-command.mp3"},{"id":69,"command_side":"left","error_message":"Потяните стопы на себя","error_audio":"https://rehabilitation.most.team/storage/default/exercise/audio-command.mp3"}],"videos":[]}],"calibration_videos":[]},{"id":43,"sequence_number":2,"is_monitored":true,"name":"Круговые движения прямой ногой по часовой и против часовой стрелки","image":"https://rehabilitation.most.team/storage/exercise/photos/01KQCBFC6SG4X847Z8K1N7H48C.png","by_body_side":"by_side","execution_order_type":"isolated","approaches_count":5,"execution_count":3,"execution_time":null,"instruction":{"exercise_name":"Круговые движения прямой ногой по часовой и против часовой стрелки","video":"https://rehabilitation.most.team/storage/exercise/videos/01KQCBFC6X43TT4KBHQ0ZNYTVP.mov","inventory":null,"warning":null,"general_description":"В и.п. лёжа на боку приподнять/отвести в сторону прямую верхнюю ногу и выполнять\n круговые движения по часовой и против часовой стрелки. Цель\n - тренировка мышц бедра, работают сгибатели/разгибатели, отводящие/приводящие, стабилизаторы\n тазобедренного сустава.","steps":[{"exercise_id":43,"sequence_number":1,"step_text":"Лягте на бок так, чтобы рабочая нога была сверху"},{"exercise_id":43,"sequence_number":2,"step_text":"Убедитесь, что вы лежите ровно, позвоночник прямой"},{"exercise_id":43,"sequence_number":3,"step_text":"Голову положите на руку или на тонкую подушку"},{"exercise_id":43,"sequence_number":4,"step_text":"Нижнюю ногу слегка согните в колене и тазобедренном суставе для устойчивости"},{"exercise_id":43,"sequence_number":5,"step_text":"Верхнюю ногу выпрямите. Она должна быть прямой в колене и составлять одну линию с туловищем"},{"exercise_id":43,"sequence_number":6,"step_text":"Начните выполнять круговое движение верхней выпрямленной ногой. Нога в верхней точке должна подниматься на уровень 30°-45° градусов от пола"},{"exercise_id":43,"sequence_number":7,"step_text":"Направление ноги (по часовой стрелке / против часовой стрелки) меняйте после каждого повторения"}],"measurement":null},"camera_orientation":"horizontal","neural_network_type":"mediapipe","base_main_command":"Выполняйте круговые движения правой ногой","left_main_command":null,"calibration_parameters":[{"id":57,"name":"Калибровка амплитуды рабочего угла","calibration_parameter_type":"angle_amplitude","fixation_type":"alternate","fixation_order":"min_at_first","deviation_type":null,"deviation_critical":20,"deviation_uncritical":10,"compensation_influence":null,"has_division_by_side":true,"is_monitored":true,"components":[{"id":85,"component_side":"right","segment_type":null,"parts":[{"id":216,"sequence_number":1,"body_point":{"id":27,"mediapipe_index":26,"movenet_index":14},"line_type":null,"part_type":"point"},{"id":217,"sequence_number":2,"body_point":{"id":25,"mediapipe_index":24,"movenet_index":12},"line_type":null,"part_type":"point"},{"id":218,"sequence_number":3,"body_point":{"id":24,"mediapipe_index":23,"movenet_index":11},"line_type":null,"part_type":"point"}]},{"id":86,"component_side":"left","segment_type":null,"parts":[{"id":219,"sequence_number":1,"body_point":{"id":26,"mediapipe_index":25,"movenet_index":13},"line_type":null,"part_type":"point"},{"id":220,"sequence_number":2,"body_point":{"id":24,"mediapipe_index":23,"movenet_index":11},"line_type":null,"part_type":"point"},{"id":221,"sequence_number":3,"body_point":{"id":25,"mediapipe_index":24,"movenet_index":12},"line_type":null,"part_type":"point"}]}],"commands":[{"id":100,"command_side":"right","error_message":"Поднимайте ногу при вращении на нужный уровень","error_audio":"https://rehabilitation.most.team/storage/default/exercise/audio-command.mp3"},{"id":101,"command_side":"left","error_message":"Поднимайте ногу при вращении на нужный уровень","error_audio":"https://rehabilitation.most.team/storage/default/exercise/audio-command.mp3"},{"id":102,"command_side":"right","error_message":"Поднимайте ногу при вращении на нужный уровень","error_audio":"https://rehabilitation.most.team/storage/default/exercise/audio-command.mp3"},{"id":103,"command_side":"left","error_message":"Поднимайте ногу при вращении на нужный уровень","error_audio":"https://rehabilitation.most.team/storage/default/exercise/audio-command.mp3"}],"videos":[]}],"calibration_videos":[]}]}}
INFO [console] [DIO]
INFO [console] ✅ RAW RESPONSE: {success: true, meta: {timestamp: 2026-09-29T06:11:59.366373Z, request_id: 55944021-8c6c-48b4-bb6e-68e511751d8f, version: v1}, data: {unit_id: 1294, workout_duration_start: 5, workout_duration_end: 10, body_side: not_specified, exercises: [{id: 37, sequence_number: 1, is_monitored: false, name: Изометрическое напряжение квадрицепсов и ягодичных мышц, image: https://rehabilitation.most.team/storage/exercise/photos/01KQ9YTKC29DWK6945XXFY6GXC.png, by_body_side: not_by_side, execution_order_type: null, approaches_count: 3, execution_count: null, execution_time: 15, instruction: {exercise_name: Изометрическое напряжение квадрицепсов и ягодичных мышц, video: https://rehabilitation.most.team/storage/exercise/videos/01KQ9YTKC7WDDRBTWDGN57582Q.mov, inventory: null, warning: null, general_description: И.п. лёжа на спине. Ноги максимально выпрямлены в коленных суставах. Потянуть обе стопы сильно на себя и “втянуть в себя ягодицы”. Почувствовать напряжение в передней части бёдер и
INFO [console] ягодиц, удерживать это положение заданное количество времени. Цель – общая активация мышц бёдер, тренировка контроля мышечных усилий., steps: [{exercise_id: 37, sequence_number: 1, step_text: Лягте на спину на твердую ровную поверхность (коврик, пол)}, {exercise_id: 37, sequence_number: 2, step_text: Ноги полностью выпрямлены, колени прижаты к полу}, {exercise_id: 37, sequence_number: 3, step_text: Стопы расположены на ширине плеч или немного уже}, {exercise_id: 37, sequence_number: 4, step_text: Руки лежат вдоль туловища ладонями вниз или на животе для самоконтроля дыхания}, {exercise_id: 37, sequence_number: 5, step_text: Сильно потяните стопы на себя, напрягите ягодицы и мышцы бедер}, {exercise_id: 37, sequence_number: 6, step_text: Удерживайте напряжение всё необходимое время}], measurement: null}, camera_orientation: horizontal, neural_network_type: mediapipe, base_main_command: Напрягайте бедра и ягодицы, left_main_command: null, calibration_parameters: [{id: 45, name: Калибровка
INFO [console] угла в колене, calibration_parameter_type: angle, fixation_type: max_value, fixation_order: null, deviation_type: null, deviation_critical: 10, deviation_uncritical: null, compensation_influence: null, has_division_by_side: true, is_monitored: false, components: [{id: 61, component_side: right, segment_type: null, parts: [{id: 150, sequence_number: 1, body_point: {id: 25, mediapipe_index: 24, movenet_index: 12}, line_type: null, part_type: point}, {id: 151, sequence_number: 2, body_point: {id: 27, mediapipe_index: 26, movenet_index: 14}, line_type: null, part_type: point}, {id: 152, sequence_number: 3, body_point: {id: 29, mediapipe_index: 28, movenet_index: 16}, line_type: null, part_type: point}]}, {id: 62, component_side: left, segment_type: null, parts: [{id: 153, sequence_number: 1, body_point: {id: 24, mediapipe_index: 23, movenet_index: 11}, line_type: null, part_type: point}, {id: 154, sequence_number: 2, body_point: {id: 26, mediapipe_index: 25, movenet_index: 13}, line_type:
INFO [console] null, part_type: point}, {id: 155, sequence_number: 3, body_point: {id: 28, mediapipe_index: 27, movenet_index: 15}, line_type: null, part_type: point}]}], commands: [{id: 66, command_side: right, error_message: Держите колени выпрямленными, error_audio: https://rehabilitation.most.team/storage/default/exercise/audio-command.mp3}, {id: 67, command_side: left, error_message: Держите колени выпрямленными, error_audio: https://rehabilitation.most.team/storage/default/exercise/audio-command.mp3}], videos: []}, {id: 46, name: Калибровка угла в голеностопе, calibration_parameter_type: angle, fixation_type: min_value, fixation_order: null, deviation_type: null, deviation_critical: 10, deviation_uncritical: null, compensation_influence: null, has_division_by_side: true, is_monitored: false, components: [{id: 63, component_side: right, segment_type: null, parts: [{id: 156, sequence_number: 1, body_point: {id: 27, mediapipe_index: 26, movenet_index: 14}, line_type: null, part_type: point}, {id:
INFO [console] 157, sequence_number: 2, body_point: {id: 29, mediapipe_index: 28, movenet_index: 16}, line_type: null, part_type: point}, {id: 158, sequence_number: 3, body_point: {id: 33, mediapipe_index: 32, movenet_index: null}, line_type: null, part_type: point}]}, {id: 64, component_side: left, segment_type: null, parts: [{id: 159, sequence_number: 1, body_point: {id: 26, mediapipe_index: 25, movenet_index: 13}, line_type: null, part_type: point}, {id: 160, sequence_number: 2, body_point: {id: 28, mediapipe_index: 27, movenet_index: 15}, line_type: null, part_type: point}, {id: 161, sequence_number: 3, body_point: {id: 32, mediapipe_index: 31, movenet_index: null}, line_type: null, part_type: point}]}], commands: [{id: 68, command_side: right, error_message: Потяните стопы на себя, error_audio: https://rehabilitation.most.team/storage/default/exercise/audio-command.mp3}, {id: 69, command_side: left, error_message: Потяните стопы на себя, error_audio: https://rehabilitation.most.team/storage/def
INFO [console] ault/exercise/audio-command.mp3}], videos: []}], calibration_videos: []}, {id: 43, sequence_number: 2, is_monitored: true, name: Круговые движения прямой ногой по часовой и против часовой стрелки, image: https://rehabilitation.most.team/storage/exercise/photos/01KQCBFC6SG4X847Z8K1N7H48C.png, by_body_side: by_side, execution_order_type: isolated, approaches_count: 5, execution_count: 3, execution_time: null, instruction: {exercise_name: Круговые движения прямой ногой по часовой и против часовой стрелки, video: https://rehabilitation.most.team/storage/exercise/videos/01KQCBFC6X43TT4KBHQ0ZNYTVP.mov, inventory: null, warning: null, general_description: В и.п. лёжа на боку приподнять/отвести в сторону прямую верхнюю ногу и выполнять круговые движения по часовой и против часовой стрелки. Цель - тренировка мышц бедра, работают сгибатели/разгибатели, отводящие/приводящие, стабилизаторы тазобедренного сустава., steps: [{exercise_id: 43, sequence_number: 1, step_text: Лягте на бок так, чтобы
INFO [console] рабочая нога была сверху}, {exercise_id: 43, sequence_number: 2, step_text: Убедитесь, что вы лежите ровно, позвоночник прямой}, {exercise_id: 43, sequence_number: 3, step_text: Голову положите на руку или на тонкую подушку}, {exercise_id: 43, sequence_number: 4, step_text: Нижнюю ногу слегка согните в колене и тазобедренном суставе для устойчивости}, {exercise_id: 43, sequence_number: 5, step_text: Верхнюю ногу выпрямите. Она должна быть прямой в колене и составлять одну линию с туловищем}, {exercise_id: 43, sequence_number: 6, step_text: Начните выполнять круговое движение верхней выпрямленной ногой. Нога в верхней точке должна подниматься на уровень 30°-45° градусов от пола}, {exercise_id: 43, sequence_number: 7, step_text: Направление ноги (по часовой стрелке / против часовой стрелки) меняйте после каждого повторения}], measurement: null}, camera_orientation: horizontal, neural_network_type: mediapipe, base_main_command: Выполняйте круговые движения правой ногой, left_main_command:
INFO [console] null, calibration_parameters: [{id: 57, name: Калибровка амплитуды рабочего угла, calibration_parameter_type: angle_amplitude, fixation_type: alternate, fixation_order: min_at_first, deviation_type: null, deviation_critical: 20, deviation_uncritical: 10, compensation_influence: null, has_division_by_side: true, is_monitored: true, components: [{id: 85, component_side: right, segment_type: null, parts: [{id: 216, sequence_number: 1, body_point: {id: 27, mediapipe_index: 26, movenet_index: 14}, line_type: null, part_type: point}, {id: 217, sequence_number: 2, body_point: {id: 25, mediapipe_index: 24, movenet_index: 12}, line_type: null, part_type: point}, {id: 218, sequence_number: 3, body_point: {id: 24, mediapipe_index: 23, movenet_index: 11}, line_type: null, part_type: point}]}, {id: 86, component_side: left, segment_type: null, parts: [{id: 219, sequence_number: 1, body_point: {id: 26, mediapipe_index: 25, movenet_index: 13}, line_type: null, part_type: point}, {id: 220, sequence_n
INFO [console] umber: 2, body_point: {id: 24, mediapipe_index: 23, movenet_index: 11}, line_type: null, part_type: point}, {id: 221, sequence_number: 3, body_point: {id: 25, mediapipe_index: 24, movenet_index: 12}, line_type: null, part_type: point}]}], commands: [{id: 100, command_side: right, error_message: Поднимайте ногу при вращении на нужный уровень, error_audio: https://rehabilitation.most.team/storage/default/exercise/audio-command.mp3}, {id: 101, command_side: left, error_message: Поднимайте ногу при вращении на нужный уровень, error_audio: https://rehabilitation.most.team/storage/default/exercise/audio-command.mp3}, {id: 102, command_side: right, error_message: Поднимайте ногу при вращении на нужный уровень, error_audio: https://rehabilitation.most.team/storage/default/exercise/audio-command.mp3}, {id: 103, command_side: left, error_message: Поднимайте ногу при вращении на нужный уровень, error_audio: https://rehabilitation.most.team/storage/default/exercise/audio-command.mp3}], videos: []}
$
250 строкUTF-8LIVE