{
  "run_id": "20260915-164923-3162ec",
  "state": "done",
  "error": null,
  "summary": {
    "images": 3,
    "good": 1,
    "bad": 0,
    "not_evaluated": 2,
    "failures": 0,
    "duplicates": 0,
    "studies": 2,
    "mean_time": 0.22827900542567173,
    "wall_time": 0.9983963966369629
  },
  "rows": [
    {
      "path_to_study": "CR000000_ПОП.dcm",
      "study_uid": "1.2.643.5.1.13.13.12.2.77.8252.07090503010902110208051203150011",
      "image_uid": "1.2.643.5.1.13.13.12.2.77.8252.08131215131407030115020811060505",
      "key": "00ef60cb48f2",
      "study_key": "1.2.643.5.1.13.13.12.2.77.8252.07090503010902110208051203150011",
      "anatomical_region": "lumbar_spine",
      "quality_class": 0,
      "violation_type": "none",
      "violation_list": [],
      "processing_status": "Success",
      "explanations": [
        "Область: ширина кадра 300 px, протокол позвоночника GE Lunar.",
        "Ось столба отклонена на 2.2°, это в пределах допуска 5°.",
        "Верхние края подвздошных костей видны в обоих нижних углах кадра.",
        "Уровень Th12 в верхней границе кадра в версии 0.1 не проверяется.",
        "Ярких посторонних объектов вне позвоночного столба не найдено."
      ],
      "measurements": {
        "угол оси, °": "-2.2",
        "допуск оси, °": "±5",
        "подвздошные кости слева / справа": "55.2 / 36.3",
        "яркие пиксели вне столба": "0"
      },
      "metrics": {
        "angle_deg": -2.19,
        "abs_angle": 2.19,
        "iliac_left": 55.15,
        "iliac_right": 36.3,
        "bright_px": 0
      },
      "expert": null,
      "original_png": "00ef60cb48f2_original.png",
      "overlay_png": "00ef60cb48f2_overlay.png",
      "thumb_png": "00ef60cb48f2_thumb.png",
      "atlas": true,
      "hit_png": "00ef60cb48f2_hit.png",
      "regions": [
        {
          "id": 1,
          "key": "verdict",
          "title": "итог проверки",
          "sub": "качественное",
          "color": "#0ca30c",
          "text": "Итог: снимок качественный, нарушений не найдено. Наведите на зону или коснитесь её, чтобы узнать, что проверял сервис.",
          "words": [
            "итог",
            "вердикт",
            "не так",
            "нарушен",
            "качеств",
            "проблем",
            "почему",
            "плох",
            "хорош",
            "годн",
            "артефакт",
            "предмет",
            "металл"
          ],
          "status": "ok"
        },
        {
          "id": 2,
          "key": "Th12",
          "title": "Th12",
          "sub": "двенадцатый грудной позвонок",
          "color": "#3987e5",
          "text": "Двенадцатый грудной позвонок, Th12. По ТЗ верхняя граница снимка должна проходить через середину Th12. Уровень найден по межпозвонковым щелям приблизительно. Эту границу версия пока не проверяет.",
          "words": [
            "th12",
            "двенадцат",
            "грудн"
          ],
          "status": "info"
        },
        {
          "id": 3,
          "key": "L1",
          "title": "L1",
          "sub": "первый поясничный позвонок",
          "color": "#d95926",
          "text": "Первый поясничный позвонок, L1. Позвонки L1–L4 — зона, по которой денситометр считает минеральную плотность кости, поэтому они должны целиком попасть в кадр. Уровень найден по межпозвонковым щелям приблизительно.",
          "words": [
            "l1",
            "перв"
          ],
          "status": "info"
        },
        {
          "id": 4,
          "key": "L2",
          "title": "L2",
          "sub": "второй поясничный позвонок",
          "color": "#199e70",
          "text": "Второй поясничный позвонок, L2. Позвонки L1–L4 — зона, по которой денситометр считает минеральную плотность кости, поэтому они должны целиком попасть в кадр. Уровень найден по межпозвонковым щелям приблизительно.",
          "words": [
            "l2",
            "втор"
          ],
          "status": "info"
        },
        {
          "id": 5,
          "key": "L3",
          "title": "L3",
          "sub": "третий поясничный позвонок",
          "color": "#c98500",
          "text": "Третий поясничный позвонок, L3. Позвонки L1–L4 — зона, по которой денситометр считает минеральную плотность кости, поэтому они должны целиком попасть в кадр. Уровень найден по межпозвонковым щелям приблизительно.",
          "words": [
            "l3",
            "трет"
          ],
          "status": "info"
        },
        {
          "id": 6,
          "key": "L4",
          "title": "L4",
          "sub": "четвёртый поясничный позвонок",
          "color": "#d55181",
          "text": "Четвёртый поясничный позвонок, L4. Позвонки L1–L4 — зона, по которой денситометр считает минеральную плотность кости, поэтому они должны целиком попасть в кадр. Уровень найден по межпозвонковым щелям приблизительно.",
          "words": [
            "l4",
            "четверт"
          ],
          "status": "info"
        },
        {
          "id": 7,
          "key": "L5",
          "title": "L5",
          "sub": "пятый поясничный позвонок",
          "color": "#008300",
          "text": "Пятый поясничный позвонок, L5. Он лежит на уровне гребней подвздошных костей и в расчёт плотности обычно не входит, но по нему видно, что снимок захватил низ поясничного отдела. Уровень найден по межпозвонковым щелям приблизительно.",
          "words": [
            "l5",
            "пят"
          ],
          "status": "info"
        },
        {
          "id": 8,
          "key": "iliac",
          "title": "гребни подвздошных костей",
          "sub": "нижняя граница охвата",
          "color": "#9085e9",
          "text": "Гребни подвздошных костей — нижняя граница охвата по ТЗ. В нижних углах кадра кость видна: яркость слева 55,1, справа 36,3 при пороге 4. Охват снизу в норме.",
          "words": [
            "подвздош",
            "гребн",
            "гребен",
            "таз",
            "охват",
            "нижн",
            "обрез"
          ],
          "status": "ok"
        },
        {
          "id": 9,
          "key": "axis",
          "title": "ось позвоночного столба",
          "sub": "наклон 2,2°, допуск 5°",
          "color": "#0ca30c",
          "text": "Ось позвоночного столба проведена через центры позвонков в верхней и нижней трети снимка. Наклон 2,2° при допуске 5°: укладка ровная.",
          "words": [
            "ось",
            "оси",
            "осью",
            "наклон",
            "угол",
            "угл",
            "ровн",
            "криво",
            "сколиоз",
            "уклад"
          ],
          "status": "ok"
        }
      ],
      "time_of_processing": 0.3179450719617307
    },
    {
      "path_to_study": "CR000001_ЛПОБ.dcm",
      "study_uid": "1.2.643.5.1.13.13.12.2.77.8252.11150201120815140403070915121004",
      "image_uid": "1.2.643.5.1.13.13.12.2.77.8252.09101502041102040815090110100600",
      "key": "9832b781f729",
      "study_key": "1.2.643.5.1.13.13.12.2.77.8252.11150201120815140403070915121004",
      "anatomical_region": "hip_left",
      "quality_class": null,
      "violation_type": "hip_not_evaluated_v0",
      "violation_list": [
        "hip_not_evaluated_v0"
      ],
      "processing_status": "Success",
      "explanations": [
        "Область: ширина кадра 280 px, протокол бедра GE Lunar; таз и головка слева от диафиза на изображении.",
        "Определено левое бедро: таз и головка лежат по левую сторону от диафиза на изображении.",
        "Проверка позиционирования, ротации по малому вертелу и полей зоны интереса появится в следующих версиях."
      ],
      "measurements": {
        "центр диафиза, px": "189",
        "ширина кадра, px": "280"
      },
      "metrics": {
        "shaft_x": 189
      },
      "expert": null,
      "original_png": "9832b781f729_original.png",
      "overlay_png": "9832b781f729_overlay.png",
      "thumb_png": "9832b781f729_thumb.png",
      "atlas": true,
      "hit_png": "9832b781f729_hit.png",
      "regions": [
        {
          "id": 1,
          "key": "verdict",
          "title": "итог проверки",
          "sub": "не оценено",
          "color": "#787878",
          "text": "Качество бедра в этой версии не оценивается. Сервис уже находит бедренную и тазовую кость и ориентиры, а проверка ротации по малому вертелу и полей вокруг зоны интереса появится в следующих версиях.",
          "words": [
            "итог",
            "вердикт",
            "не так",
            "нарушен",
            "качеств",
            "проблем",
            "почему",
            "плох",
            "хорош",
            "годн",
            "артефакт",
            "предмет",
            "металл"
          ],
          "status": "info"
        },
        {
          "id": 2,
          "key": "femur",
          "title": "бедренная кость",
          "sub": "os femoris, проксимальный отдел",
          "color": "#3987e5",
          "text": "Бедренная кость, проксимальный отдел, выделена по яркости. При денситометрии бедра плотность считают в шейке и во всей проксимальной части, поэтому бедро укладывают выпрямленным и слегка развёрнутым внутрь.",
          "words": [
            "бедрен",
            "бедро",
            "кость бедр"
          ],
          "status": "info"
        },
        {
          "id": 3,
          "key": "pelvis",
          "title": "тазовая кость",
          "sub": "os coxae, вертлужная впадина",
          "color": "#d95926",
          "text": "Тазовая кость с вертлужной впадиной, в которой лежит головка бедра. По ТЗ на снимке бедра должна быть видна седалищная кость: это граница поля вокруг зоны интереса.",
          "words": [
            "таз",
            "вертлуж",
            "седалищ"
          ],
          "status": "info"
        },
        {
          "id": 4,
          "key": "shaft",
          "title": "диафиз и его ось",
          "sub": "corpus femoris",
          "color": "#78d2f5",
          "text": "Диафиз бедренной кости и его ось. Ось должна идти параллельно краю кадра, это признак того, что бедро выпрямлено. В этой версии качество бедра не оценивается, линия показана как ориентир.",
          "words": [
            "диафиз",
            "ось",
            "оси",
            "осью",
            "стержн",
            "тело бедр"
          ],
          "status": "info"
        },
        {
          "id": 5,
          "key": "gt",
          "title": "большой вертел",
          "sub": "trochanter major",
          "color": "#199e70",
          "text": "Большой вертел, выступ на наружной стороне бедра. По ТЗ он должен полностью попадать в кадр, по нему сервис строит нижнюю часть зоны интереса. Точка найдена приблизительно.",
          "words": [
            "вертел"
          ],
          "status": "info"
        },
        {
          "id": 6,
          "key": "neck",
          "title": "шейка и головка бедра",
          "sub": "collum et caput femoris",
          "color": "#3987e5",
          "text": "Шейка и головка бедра. Шейка — главная зона измерения плотности при диагностике остеопороза. Правильная внутренняя ротация открывает шейку, а ротацию по ТЗ оценивают по малому вертелу: при хорошей укладке он почти не виден. Точка найдена приблизительно.",
          "words": [
            "шейк",
            "шее",
            "шей",
            "головк",
            "голов"
          ],
          "status": "info"
        }
      ],
      "time_of_processing": 0.18568507535383105
    },
    {
      "path_to_study": "CR000000_ППОБ.dcm",
      "study_uid": "1.2.643.5.1.13.13.12.2.77.8252.11150201120815140403070915121004",
      "image_uid": "1.2.643.5.1.13.13.12.2.77.8252.07151011100515030003060813080805",
      "key": "057afb21775f",
      "study_key": "1.2.643.5.1.13.13.12.2.77.8252.11150201120815140403070915121004",
      "anatomical_region": "hip_right",
      "quality_class": null,
      "violation_type": "hip_not_evaluated_v0",
      "violation_list": [
        "hip_not_evaluated_v0"
      ],
      "processing_status": "Success",
      "explanations": [
        "Область: ширина кадра 280 px, протокол бедра GE Lunar; таз и головка справа от диафиза на изображении.",
        "Определено правое бедро: таз и головка лежат по правую сторону от диафиза на изображении.",
        "Проверка позиционирования, ротации по малому вертелу и полей зоны интереса появится в следующих версиях."
      ],
      "measurements": {
        "центр диафиза, px": "101",
        "ширина кадра, px": "280"
      },
      "metrics": {
        "shaft_x": 101
      },
      "expert": null,
      "original_png": "057afb21775f_original.png",
      "overlay_png": "057afb21775f_overlay.png",
      "thumb_png": "057afb21775f_thumb.png",
      "atlas": true,
      "hit_png": "057afb21775f_hit.png",
      "regions": [
        {
          "id": 1,
          "key": "verdict",
          "title": "итог проверки",
          "sub": "не оценено",
          "color": "#787878",
          "text": "Качество бедра в этой версии не оценивается. Сервис уже находит бедренную и тазовую кость и ориентиры, а проверка ротации по малому вертелу и полей вокруг зоны интереса появится в следующих версиях.",
          "words": [
            "итог",
            "вердикт",
            "не так",
            "нарушен",
            "качеств",
            "проблем",
            "почему",
            "плох",
            "хорош",
            "годн",
            "артефакт",
            "предмет",
            "металл"
          ],
          "status": "info"
        },
        {
          "id": 2,
          "key": "femur",
          "title": "бедренная кость",
          "sub": "os femoris, проксимальный отдел",
          "color": "#3987e5",
          "text": "Бедренная кость, проксимальный отдел, выделена по яркости. При денситометрии бедра плотность считают в шейке и во всей проксимальной части, поэтому бедро укладывают выпрямленным и слегка развёрнутым внутрь.",
          "words": [
            "бедрен",
            "бедро",
            "кость бедр"
          ],
          "status": "info"
        },
        {
          "id": 3,
          "key": "pelvis",
          "title": "тазовая кость",
          "sub": "os coxae, вертлужная впадина",
          "color": "#d95926",
          "text": "Тазовая кость с вертлужной впадиной, в которой лежит головка бедра. По ТЗ на снимке бедра должна быть видна седалищная кость: это граница поля вокруг зоны интереса.",
          "words": [
            "таз",
            "вертлуж",
            "седалищ"
          ],
          "status": "info"
        },
        {
          "id": 4,
          "key": "shaft",
          "title": "диафиз и его ось",
          "sub": "corpus femoris",
          "color": "#78d2f5",
          "text": "Диафиз бедренной кости и его ось. Ось должна идти параллельно краю кадра, это признак того, что бедро выпрямлено. В этой версии качество бедра не оценивается, линия показана как ориентир.",
          "words": [
            "диафиз",
            "ось",
            "оси",
            "осью",
            "стержн",
            "тело бедр"
          ],
          "status": "info"
        },
        {
          "id": 5,
          "key": "gt",
          "title": "большой вертел",
          "sub": "trochanter major",
          "color": "#199e70",
          "text": "Большой вертел, выступ на наружной стороне бедра. По ТЗ он должен полностью попадать в кадр, по нему сервис строит нижнюю часть зоны интереса. Точка найдена приблизительно.",
          "words": [
            "вертел"
          ],
          "status": "info"
        },
        {
          "id": 6,
          "key": "neck",
          "title": "шейка и головка бедра",
          "sub": "collum et caput femoris",
          "color": "#3987e5",
          "text": "Шейка и головка бедра. Шейка — главная зона измерения плотности при диагностике остеопороза. Правильная внутренняя ротация открывает шейку, а ротацию по ТЗ оценивают по малому вертелу: при хорошей укладке он почти не виден. Точка найдена приблизительно.",
          "words": [
            "шейк",
            "шее",
            "шей",
            "головк",
            "голов"
          ],
          "status": "info"
        }
      ],
      "time_of_processing": 0.18120686896145344
    }
  ],
  "results_csv": "/runs/20260915-164923-3162ec/files/results.csv",
  "results_xlsx": "/runs/20260915-164923-3162ec/files/results.xlsx",
  "overlays_zip": "/runs/20260915-164923-3162ec/files/overlays.zip",
  "page": "/runs/20260915-164923-3162ec"
}