Перейти к содержанию

API — DICOM

Префикс: /api/dicom
Требует: Bearer token

POST /api/dicom/upload

Загрузка DICOM-файла (multipart).

Поле Тип Описание
file file .dcm
patient_id int ID пациента
curl -X POST http://localhost:8000/api/dicom/upload \
  -H "Authorization: Bearer TOKEN" \
  -F "file=@scan.dcm" \
  -F "patient_id=1"

Ответ 201:

{
  "id": 3,
  "study_uid": "1.2.840.113619.2.55.3...",
  "status": "processing",
  "patient_id": 1
}

GET /api/dicom/studies

Список исследований.

Query: patient_id, modality, status, search, skip, limit

curl -H "Authorization: Bearer TOKEN" \
  "http://localhost:8000/api/dicom/studies?modality=CT&limit=20"

Ответ:

{
  "items": [
    {
      "id": 3,
      "study_uid": "1.2.840...",
      "modality": "CT",
      "study_description": "Chest CT",
      "body_part": "CHEST",
      "status": "ready",
      "frame_count": 120,
      "thumbnail_url": "/api/dicom/studies/3/thumbnail"
    }
  ],
  "total": 5
}

GET /api/dicom/studies/{study_id}

Детали исследования + серии.

GET /api/dicom/studies/{study_id}/viewer

Данные для вьюера (серии, frames, window/level).

GET /api/dicom/studies/{study_id}/thumbnail

PNG-превью (первый кадр).

GET /api/dicom/frames/{frame_id}/image

PNG конкретного кадра.

DELETE /api/dicom/studies/{study_id}

Удаление (admin).

Статусы

status Описание
processing Celery обрабатывает
ready Готово к просмотру
failed Ошибка парсинга

Ошибки

Код Причина
413 Превышен DICOM_MAX_FILE_SIZE_MB
422 Невалидный DICOM

Frontend routes

URL Описание
/dicom Список
/dicom/viewer/{study_uid} Вьюер