## Запрос к ИИ-сервису от Платформы
Для каждого исследования создается сообщение в kafka
Формат - JSON
### Параметры
#|
||
**Название параметра**
|
**Описание**
|
**Пример значения**
||
||
model_id (integer)
|
ID ИИ-модели
|
1003
||
||
study_iuid \* (string)
|
Study UID исследования
|
"1.2.40.0.13.1.297189207415440986586601435400103616746"
||
||
[dicom_index_url](#dicom_index_url) \*(string)
|
Ссылка на файл со списком URL DICOM файлов, которые загрузил пользователь\*
|
" https://backend.demo.thirdopinion.ai/api/stream-gateway/orders/6648/dicom-urls/ "
||
||
lang (string)
|
Язык, на котором нужно сделать SC
|
"ru-ru"
||
||
study_created_at(string)(string)
|
Дата и время исследования
|
"2022-11-03T08:31:25\+00:00"
||
||
modality_type_code \* (string)
|
Модальность исследования
|
"CT"
||
||
request_created_at (string)
|
Дата и время создания запроса на ИИ-обработку
|
"2024-07-02T15:09:47.598451\+00:00"
||
|#
### Пример
```json
{
"model_id": 1003,
"study_iuid": "1.2.40.0.13.1.297189207415440986586601435400103616746",
"dicom_index_url": " https://backend.demo.thirdopinion.ai/api/stream-gateway/orders/6648/dicom-urls/ ",
"report_language": "ru-ru",
"study_created_at": "2022-11-03T08:31:25\+00:00",
"modality_type_code": "RG",
"request_created_at": "2024-07-02T15:09:47.598451\+00:00"
}
```
#### #[](dicom_index_url "dicom_index_url")Параметр dicom_index_url
По ссылке в значении параметра лежит файл, в котором на каждой новой строке находится ссылка на dicom файл запрашиваемого исследования.
*Пример*:
"dicom_index_url": " https://backend.demo.thirdopinion.ai/api/stream-gateway/orders/6648/dicom-urls/ "
```json
https://storage.yandexcloud.net/prod-demo-site/c3c7835d-90aa-4ef2-b0bc-d5adf067007b/2d70d842-fcc0-4770-ab3c-fb7c8e1a75d9/9aa4b76c-86ac-4c91-96ac-dfc91e973744.dcm
https://storage.yandexcloud.net/prod-demo-site/c3c7835d-90aa-4ef2-b0bc-d5adf067007b/1914dc06-453c-41f7-9a03-7ac5ce62af42/a15a90f0-1f0b-440a-a345-a0f9cc8773e4.dcm
```
## Ответ от ИИ-сервиса для Платформы
Для каждого исследования создается сообщение в kafka:
Формат - JSON
### Параметры
#|
||
Название параметра
|
Описание
|
Значения
||
||
ai_result
|
\-
|
\-
||
||
ai_result \> model_id {red}(\*) (integer)
|
ID ИИ-модели
|
1003
||
||
ai_result \> pathology_flag {red}(\*) (binary)
|
Флаг наличия патологии на исследовании
|
false - нет патологий
true - есть патология
||
||
ai_result \> confidence_level (integer)
|
Уверенность в результате ИИ-анализа
|
Число от 0 до 100
||
||
ai_result \> structured_report_url {red}(\*) (string)
|
Ссылка на файл с отчетом, загруженный на S3, в формате DICOM SR
|
[https://storage.yandexcloud.net/...]()
||
||
ai_result \> [secondary_capture_index_url](#secondary_capture_index_url) {red}(\*) (string)
|
Ссылка на индексный файл, в котором находятся ссылки на DICOM SC, загруженные на S3
|
см. ниже
||
||
failure_reason (string)
|
Код ошибки - текстовое значение, используется только разработчиками.
|
anatomic_region_error
null (если ошибки нет)
||
||
failure_description {red}(\*) (string)
|
Описание причины ошибки, показывается пользователю
|
"Входное изображение не является рентгеном грудной клетки"
““ (если ошибки нет)
||
||
processing_ended_at (string)
|
Дата и время завершения обработки
|
"2024-07-02T15:10:00.351371\+00:00"
||
||
response_created_at (string)
|
Дата и время создания сообщения ответа в Kafka
|
"2024-07-02T15:10:00.351371\+00:00"
||
||
processing_started_at (string)
|
Дата и время начала обработки
|
"2024-07-02T15:10:00.351371\+00:00"
||
|#
### Пример
```
{
"ai_result": {
"model_id": 1003,
"pathology_flag": true,
"confidence_level": 51,
"structured_report_url": " https://storage.yandexcloud.net/prod-demo-site/diagnostics%5C_results/e2ace1a83f89408d8e135bccc0e9f28f/output/study%5C_1.2.40.0.13.1.297189207415440986586601435400103616746/series%5C_SR%5C_1.2.826.0.1.3680043.8.498.826748159495493124388262906066033274.2/sop%5C_1.2.826.0.1.3680043.8.498.15257084498362315851686396254611772768.dcm?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=YCAJETiSpEm72hlnEd7VDKBKK%2F20240702%2Fru-central1%2Fs3%2Faws4%5C_request&X-Amz-Date=20240702T150956Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=e048ba6d0531da90d7bd0881891bd5afd4ec333eac6f77350eb3c48ac0edce52 ",
"secondary_capture_index_url": " https://storage.yandexcloud.net/prod-demo-site/diagnostics%5C_results/081ec4e174b34e669b62f5c6bcc0ce5e/index%5C_url%5C_file.json?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=YCAJETiSpEm72hlnEd7VDKBKK%2F20240702%2Fru-central1%2Fs3%2Faws4%5C_request&X-Amz-Date=20240702T151000Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=c9ea9ecc231c2219d2cfe850876ce15858f602ee8927a94350e95ce5aba3d875 "
},
"failure_reason": null,
"failure_description": "",
"processing_ended_at": "2024-07-02T15:10:00.351371\+00:00",
"response_created_at": "2024-07-02T18:10:00.368767\+03:00",
"processing_started_at": "2024-07-02T15:09:49.416353\+00:00"
}
```
#### #[Параметр secondary_capture_index_url](secondary_capture_index_url)
Формат файла - JSON
Пример файла с большим кол-вом серий {% file src="/homepage/products/demo/rukovodstvo-po-integracii/.files/indexurlfile1.json" name="index_url_file (1).json" type="application/json" %}
```json
{
"secondary_captures": [
{
"url": "https://storage.yandexcloud.net/prod-demo-site/diagnostics_results/ae835024f5e94962aa219e3d27496bcd/output/Mammography/complete/Dicom/1.3.6.1.4.1.50525.1.2.2024722.81934.730.17162.1/2024-07-22-11-25-08/series_MG_1.2.826.0.1.3680043.8.498.119638948435761185173916822058278389.2/sop_2_1.2.826.0.1.3680043.8.498.98074449464485895986849939827578439144.dcm?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=YCAJETiSpEm72hlnEd7VDKBKK%2F20240722%2Fru-central1%2Fs3%2Faws4_request&X-Amz-Date=20240722T082510Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=87227e4d1910847b14ca840c6c38801d02215433c03b505a484908661ed04302",
"tags": {
"SeriesInstanceUID": "1.2.826.0.1.3680043.8.498.119638948435761185173916822058278389.2",
"InstanceNumber": 2,
"SeriesNumber": 3,
"SeriesDescription": "ТретьеМнение_MG.визуализация для SC",
"ViewPosition": "CC",
"ImageLaterality": "L"
}
},
...
{
"url": "https://storage.yandexcloud.net/prod-demo-site/diagnostics_results/8c84c668b3274d47a86da9d9cec0706f/output/Mammography/complete/Dicom/1.3.6.1.4.1.50525.1.2.2024722.81934.730.17162.1/2024-07-22-11-25-08/series_MG_1.2.826.0.1.3680043.8.498.119638948435761185173916822058278389.5/sop_3_1.2.826.0.1.3680043.8.498.95034286425715554357467871976759614912.dcm?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=YCAJETiSpEm72hlnEd7VDKBKK%2F20240722%2Fru-central1%2Fs3%2Faws4_request&X-Amz-Date=20240722T082512Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=79485124aa8114d18a73eeed7ff3721891869b32bc9960220a0defde2ebe5080",
"tags": {
"SeriesInstanceUID": "1.2.826.0.1.3680043.8.498.119638948435761185173916822058278389.5",
"InstanceNumber": 3,
"SeriesNumber": 6,
"SeriesDescription": "ТретьеМнение_MG.визуализация для SC",
"ViewPosition": "MLO",
"ImageLaterality": "R"
}
}
]
}
```
Параметры JSON
#|
||
Название параметра
|
Описание
|
Значение
||
||
url {red}(\*)
|
Ссылка на DICOM файл на S3
|
https://storage.yandexcloud.net/ …
||
||
SeriesInstanceUID {red}(\*)
|
UID Серии. На основе него формируется серия
|
1\.2.826.0.1.3680043.8.498.119638948435761185173916822058278389.2"
||
||
InstanceNumber {red}(\*)
|
Номер изображения в серии. На основе него формируется порядок изображений в серии
|
3
||
||
SeriesNumber {red}(\*)
|
Номер серии. На основе него формируется порядок серий
|
3
||
||
SeriesDescription
|
Описание серии. Показывается пользователю
|
"Третье Мнение SC"
||
||
ViewPosition
|
Тег ViewPosition
|
""
"CC"
||
||
ImageLaterality
|
Тег ImageLaterality
|
""
"L"
||
|#