Оператор соответствия DICOM версии 2

Примечание.

API версии 2 — это последняя версия API. Список изменений в версии 2 по сравнению с версией 1 см. в разделе API службы DICOM версии 2.

Сервер медицинской визуализации для DICOM® поддерживает подмножество DICOMweb Standard. Поддержка включает:

Кроме того, поддерживаются следующие нестандартные API:

Служба использует управление версиями REST API. Версия REST API должна быть явно указана как часть базового URL-адреса, как показано в следующем примере:

https://<service_url>/v<version>/studies

Эта версия инструкции соответствия соответствует v2 версии REST API.

Дополнительные сведения о том, как указать версию при выполнении запросов, см. в документации по использованию версий API.

Примеры запросов для поддерживаемых транзакций можно найти в коллекции Postman.

Предварительная очистка

Служба игнорирует предварительное заполнение 128-байтового файла и заменяет его содержимое пустыми символами. Это поведение гарантирует, что никакие файлы, передаваемые через службу, не уязвимы для вредоносной уязвимости. Однако эта предварительная очистка также означает, что преамблирование, используемое для кодирования содержимого двойного формата, например TIFF, нельзя использовать с службой.

Служба исследований

Служба исследований позволяет пользователям хранить, извлекать и искать diCOM Studies, Series и Instances. Мы добавили нестандартную транзакцию Delete, чтобы включить полный жизненный цикл ресурсов.

Store (STOW-RS)

Эта транзакция использует метод POST или PUT для хранения представлений исследований, рядов и экземпляров, содержащихся в полезных данных запроса.

Способ Путь Description
POST .. /Исследования Хранить экземпляры.
POST .. /studies/{study} Храните экземпляры для определенного исследования.
PUT .. /Исследования Экземпляры Upsert.
PUT .. /studies/{study} Экземпляры Upsert для определенного исследования.

Параметр study соответствует атрибуту DICOM StudyInstanceUID. При указании любой экземпляр, который не принадлежит предоставленному 43265 исследованию, отклоняется с кодом предупреждения.

Поддерживаются следующие Accept заголовки ответа:

  • application/dicom+json

Поддерживаются следующие Content-Type заголовки:

  • multipart/related; type="application/dicom"
  • application/dicom

Примечание.

Сервер не будет принуждать или заменить атрибуты, конфликтующие с существующими данными для запросов POST. Все данные хранятся как предоставленные. Для запросов upsert (PUT) существующие данные заменяются новыми полученными данными.

Хранение обязательных атрибутов

Следующие элементы DICOM должны присутствовать во всех файлах DICOM, пытающихся храниться:

  • StudyInstanceUID
  • SeriesInstanceUID
  • SOPInstanceUID
  • SOPClassUID
  • PatientID

Примечание.

Все идентификаторы пользовательского интерфейса должны находиться в диапазоне от 1 до 64 символов и содержать только буквы-числовые символы или следующие специальные символы: ., . - PatientID по-прежнему является обязательным тегом и может иметь значение null в входных данных. PatientID проверяется на основе его LOVR типа.

Каждый сохраненный файл должен иметь уникальное сочетание StudyInstanceUID, SeriesInstanceUIDи SopInstanceUID. Код 45070 предупреждения возвращается, если файл с теми же идентификаторами уже существует.

Принимаются только синтаксисы передачи с явными представлениями значений.

Примечание.

Запросы ограничены 4 ГБ. Ни один файл DICOM или сочетание файлов не может превышать это ограничение.

Сохранение изменений из версии 1

В предыдущих версиях запрос Магазина завершится ошибкой, если произошел сбой проверки любого из обязательных или доступных для поиска атрибутов. Начиная с версии 2 запрос завершается ошибкой, только если обязательные атрибуты завершаются проверкой.

Сбой проверки атрибутов, не необходимых API, приводит к хранению файла с предупреждением. Предупреждение предоставляется о каждом неудачном атрибуте для каждого экземпляра. Если последовательность содержит атрибут, завершающийся ошибкой проверки или при наличии нескольких проблем с одним атрибутом, отмечается только первая причина сбоя атрибута.

Если атрибут заполняется значением NULL, атрибут индексируется при возможности поиска и хранится как в метаданных dicom+json. Предупреждение проверки не предоставляется.

Хранение кодов состояния ответа

Код Описание
200 (OK) Все экземпляры SOP в запросе хранятся.
202 (Accepted) Сервер-источник хранит некоторые экземпляры и другие не удалось или вернул предупреждения. Дополнительные сведения об этой ошибке можно найти в тексте сообщения ответа.
204 (No Content) Содержимое не было предоставлено в запросе транзакции хранилища.
400 (Bad Request) Запрос был плохо отформатирован. Например, указанный идентификатор экземпляра исследования не соответствовал ожидаемому формату UID.
401 (Unauthorized) Клиент не проходит проверку подлинности.
406 (Not Acceptable) Указанный Accept заголовок не поддерживается.
409 (Conflict) Ни один из экземпляров в запросе транзакции хранилища не был сохранен.
415 (Unsupported Media Type) Предоставленный Content-Type параметр не поддерживается.
424 (Failed Dependency) Служба DICOM не может получить доступ к ресурсу, от него зависит выполнение этого запроса. Например, не удается получить доступ к подключенном хранилищу Data Lake или хранилищу ключей для поддержки шифрования ключей, управляемых клиентом.
500 (Internal Server Error) Сервер столкнулся с неизвестной внутренней ошибкой. Повторите попытку позже.
503 (Service Unavailable) Служба недоступна или занята. Повторите попытку позже.

Paylo ответа в магазине

Полезные данные ответа заполняют набор данных DICOM следующими элементами:

Тег Имя Описание
(0008, 1190) RetrieveURL URL-адрес получения исследования, если объект StudyInstanceUID был предоставлен в запросе на хранение и по крайней мере один экземпляр успешно хранится.
(0008, 1198) FailedSOPSequence Последовательность экземпляров, которые не удалось сохранить.
(0008, 1199) ReferencedSOPSequence Последовательность сохраненных экземпляров.

Каждый набор данных в наборе FailedSOPSequence данных содержит следующие элементы (если файл DICOM, пытающийся сохраниться, может быть прочитан):

Тег Имя Описание
(0008, 1150) ReferencedSOPClassUID Уникальный идентификатор класса SOP экземпляра, который не удалось сохранить.
(0008, 1155) ReferencedSOPInstanceUID Уникальный идентификатор экземпляра SOP для экземпляра, который не удалось сохранить.
(0008, 1197) FailureReason Код причины, почему этот экземпляр не удалось сохранить.
(0008, 1196) WarningReason Указывает WarningReason на обнаруженные проблемы проверки, но не были достаточно серьезными, чтобы завершить операцию хранения.
(0074, 1048) FailedAttributesSequence Последовательность ErrorComment , которая включает причину для каждого неудачного атрибута.

Каждый набор данных в наборе ReferencedSOPSequence данных содержит следующие элементы:

Тег Имя Описание
(0008, 1150) ReferencedSOPClassUID Уникальный идентификатор класса SOP для сохраненного экземпляра.
(0008, 1155) ReferencedSOPInstanceUID Уникальный идентификатор экземпляра SOP для сохраненного экземпляра.
(0008, 1190) RetrieveURL URL-адрес получения этого экземпляра на сервере DICOM.

Пример ответа с Accept заголовком application/dicom+json без failedAttributesSequence в referencedSOPSequence:

{
  "00081190":
  {
    "vr":"UR",
    "Value":["http://localhost/studies/d09e8215-e1e1-4c7a-8496-b4f6641ed232"]
  },
  "00081198":
  {
    "vr":"SQ",
    "Value":
    [{
      "00081150":
      {
        "vr":"UI","Value":["cd70f89a-05bc-4dab-b6b8-1f3d2fcafeec"]
      },
      "00081155":
      {
        "vr":"UI",
        "Value":["22c35d16-11ce-43fa-8f86-90ceed6cf4e7"]
      },
      "00081197":
      {
        "vr":"US",
        "Value":[43265]
      }
    }]
  },
  "00081199":
  {
    "vr":"SQ",
    "Value":
    [{
      "00081150":
      {
        "vr":"UI",
        "Value":["d246deb5-18c8-4336-a591-aeb6f8596664"]
      },
      "00081155":
      {
        "vr":"UI",
        "Value":["4a858cbb-a71f-4c01-b9b5-85f88b031365"]
      },
      "00081190":
      {
        "vr":"UR",
        "Value":["http://localhost/studies/d09e8215-e1e1-4c7a-8496-b4f6641ed232/series/8c4915f5-cc54-4e50-aa1f-9b06f6e58485/instances/4a858cbb-a71f-4c01-b9b5-85f88b031365"]
      }
    }]
  }
}

Пример ответа с Accept заголовком application/dicom+json с failedAttributesSequence в referencedSOPSequence:

{
  "00081190":
  {
    "vr":"UR",
    "Value":["http://localhost/studies/d09e8215-e1e1-4c7a-8496-b4f6641ed232"]
  },
  "00081199":
  {
    "vr":"SQ",
    "Value":
    [{
      "00081150":
      {
        "vr":"UI",
        "Value":["d246deb5-18c8-4336-a591-aeb6f8596664"]
      },
      "00081155":
      {
        "vr":"UI",
        "Value":["4a858cbb-a71f-4c01-b9b5-85f88b031365"]
      },
      "00081190":
      {
        "vr":"UR",
        "Value":["http://localhost/studies/d09e8215-e1e1-4c7a-8496-b4f6641ed232/series/8c4915f5-cc54-4e50-aa1f-9b06f6e58485/instances/4a858cbb-a71f-4c01-b9b5-85f88b031365"]
      },
      "00081196": {
        "vr": "US",
        "Value": [
            1
        ]
      },
      "00741048": {
        "vr": "SQ",
        "Value": [
          {
            "00000902": {
              "vr": "LO",
              "Value": [
                "DICOM100: (0008,0020) - Content \"NotAValidDate\" does not validate VR DA: one of the date values does not match the pattern YYYYMMDD"
              ]
            }
          },
          {
            "00000902": {
              "vr": "LO",
              "Value": [
                "DICOM100: (0008,002a) - Content \"NotAValidDate\" does not validate VR DT: value does not mach pattern YYYY[MM[DD[HH[MM[SS[.F{1-6}]]]]]]"
              ]
            }
          }
        ]
      }
    }]
  }
}

Хранение кодов причин сбоя

Код Описание
272 Транзакция хранилища не сохраняла экземпляр из-за общего сбоя при обработке операции.
43264 Экземпляр DICOM завершился ошибкой проверки.
43265 Предоставленный экземпляр StudyInstanceUID не соответствовал указанному StudyInstanceUID в запросе хранилища.
45070 Экземпляр DICOM с тем же StudyInstanceUIDименем SeriesInstanceUIDи SopInstanceUID уже был сохранен. Если вы хотите обновить содержимое, сначала удалите этот экземпляр.
45071 Экземпляр DICOM создается другим процессом или предыдущей попыткой создать сбой, и процесс очистки не завершен. Сначала удалите экземпляр перед попыткой создать еще раз.

Хранение кодов причин предупреждения

Код Описание
45063 Набор данных экземпляра DICOM не соответствует классу SOP. Транзакция хранилища исследований (раздел 10.5) отметила, что набор данных не соответствует ограничениям класса SOP во время хранения экземпляра.
1 Транзакция хранилища исследований (раздел 10.5) заметила, что набор данных содержит предупреждения проверки.

Хранение кодов ошибок

Код Описание
100 Предоставленные атрибуты экземпляра не соответствуют критериям проверки.

Получение (WADO-RS)

Эта транзакция извлекает хранимые исследования, ряды, экземпляры и кадры по ссылке.

Способ Путь Description
GET .. /studies/{study} Извлекает все экземпляры в исследовании.
GET .. /studies/{study}/метаданные Извлекает метаданные для всех экземпляров в исследовании.
GET .. /studies/{study}/series/{series} Извлекает все экземпляры в серии.
GET .. /studies/{study}/series/{series}/metadata Извлекает метаданные для всех экземпляров в серии.
GET .. /studies/{study}/series/{series}/instances/{instance} Извлекает один экземпляр.
GET .. /studies/{study}/series/{series}/instances/{instance}/metadata Извлекает метаданные для одного экземпляра.
GET .. /studies/{study}/series/{series}/instances/{instance}/rendered Извлекает экземпляр, отрисованный в формате изображения
GET .. /studies/{study}/series/{series}/instances/{instance}/кадры/{кадры} Извлекает один или несколько кадров из одного экземпляра. Чтобы указать несколько кадров, запятая отделяет каждый кадр для возврата. Например, /studies/1/series/2/instance/3/frames/4,5,6.
GET .. /studies/{study}/series/{series}/instances/{instance}/frame/{frame}/rendered Извлекает один кадр, отрисованный в формате изображения.

Получение экземпляров в рамках исследования или ряда

Accept Следующие заголовки поддерживаются для получения экземпляров в рамках исследования или ряда:

  • multipart/related; type="application/dicom"; transfer-syntax=*
  • multipart/related; type="application/dicom"; (если синтаксис передачи не указан, 1.2.840.10008.1.2.1 используется в качестве значения по умолчанию)
  • multipart/related; type="application/dicom"; transfer-syntax=1.2.840.10008.1.2.1
  • multipart/related; type="application/dicom"; transfer-syntax=1.2.840.10008.1.2.4.90
  • */* (если синтаксис передачи не указан, * используется в качестве значения по умолчанию и mediaType по умолчанию application/dicom)

Получение экземпляра

Для получения определенного экземпляра поддерживаются следующие Accept заголовки:

  • application/dicom; transfer-syntax=*
  • multipart/related; type="application/dicom"; transfer-syntax=*
  • application/dicom; (если синтаксис передачи не указан, 1.2.840.10008.1.2.1 используется в качестве значения по умолчанию)
  • multipart/related; type="application/dicom" (если синтаксис передачи не указан, 1.2.840.10008.1.2.1 используется в качестве значения по умолчанию)
  • application/dicom; transfer-syntax=1.2.840.10008.1.2.1
  • multipart/related; type="application/dicom"; transfer-syntax=1.2.840.10008.1.2.1
  • application/dicom; transfer-syntax=1.2.840.10008.1.2.4.90
  • multipart/related; type="application/dicom"; transfer-syntax=1.2.840.10008.1.2.4.90
  • */* (если синтаксис передачи не указан, * используется в качестве значения по умолчанию и mediaType по умолчанию application/dicom)

Получение кадров

Для получения кадров поддерживаются следующие Accept заголовки:

  • multipart/related; type="application/octet-stream"; transfer-syntax=*
  • multipart/related; type="application/octet-stream"; (если синтаксис передачи не указан, 1.2.840.10008.1.2.1 используется в качестве значения по умолчанию)
  • multipart/related; type="application/octet-stream"; transfer-syntax=1.2.840.10008.1.2.1
  • multipart/related; type="image/jp2"; (если синтаксис передачи не указан, 1.2.840.10008.1.2.4.90 используется в качестве значения по умолчанию)
  • multipart/related; type="image/jp2";transfer-syntax=1.2.840.10008.1.2.4.90
  • application/octet-stream; transfer-syntax=* для извлечения одного кадра
  • */* (если синтаксис передачи не указан, * используется в качестве значения по умолчанию и mediaType по умолчанию application/octet-stream)

Получение синтаксиса передачи

Если запрошенный синтаксис передачи отличается от исходного файла, исходный файл перекодируется для запрошенного синтаксиса передачи. Исходный файл должен быть одним из этих форматов для успешного перекодирования, в противном случае перекодирование может завершиться ошибкой:

  • 1.2.840.10008.1.2 (маленький неявный эндиан)
  • 1.2.840.10008.1.2.1 (маленький эндиан явный)
  • 1.2.840.10008.1.2.2 (явный big endian VR)
  • 1.2.840.10008.1.2.4.50 (базовый процесс JPEG 1)
  • 1.2.840.10008.1.2.4.57 (JPEG Lossless)
  • 1.2.840.10008.1.2.4.70 (значение выбора без потери JPEG 1)
  • 1.2.840.10008.1.2.4.90 (ТОЛЬКО JPEG 2000 Без потери)
  • 1.2.840.10008.1.2.4.91 (JPEG 2000)
  • 1.2.840.10008.1.2.5 (RLE Lossless)

Неподдерживаемый transfer-syntax результат 406 Not Acceptable.

Получение метаданных (для изучения, ряда или экземпляра)

Accept Следующий заголовок поддерживается для получения метаданных для исследования, ряда или экземпляра:

  • application/dicom+json

Получение метаданных не возвращает атрибуты со следующими представлениями значений:

Имя виртуальной реальности Description
0 Б Другие байты
OD Другие двойные
OF Другие плавающие
OL Другие длинные
OV Другие 64-разрядные очень длинные
OW Другое слово
UN Неизвестно

Извлеченные метаданные включают пустой символ, когда атрибут был заполнен значениями NULL и хранится как есть.

Получение проверки кэша метаданных (для изучения, ряда или экземпляра)

Проверка кэша ETag поддерживается с помощью механизма. В ответе на запрос метаданных ETag возвращается в качестве одного из заголовков. Этот ETag можно кэшировать и добавить в качестве If-None-Match заголовка в последующих запросах на те же метаданные. Если существуют данные, возможны два типа ответов:

  • Данные не изменяются с момента последнего запроса: HTTP 304 (Not Modified) ответ отправляется без текста ответа.
  • Данные изменились с момента последнего запроса: HTTP 200 (OK) ответ отправляется с обновленным ETag. Обязательные данные возвращаются в составе тела.

Получение отрисованного изображения (для экземпляра или кадра)

Accept Следующие заголовки поддерживаются для получения отрисованного изображения экземпляра или кадра:

  • image/jpeg
  • image/png

В случае, если заголовок не Accept указан, служба выполняет отрисовку image/jpeg по умолчанию.

Служба поддерживает отрисовку только одного кадра. Если для экземпляра с несколькими кадрами запрашивается отрисовка, по умолчанию отрисовывается только первый кадр.

При указании определенного кадра для возврата индексирование кадров начинается с 1.

Также quality поддерживается параметр запроса. Целочисленное значение между 1 и 100 инклюзивным (1 является худшим качеством и 100 лучшим качеством) может быть передано в качестве значения параметра запроса. Этот параметр используется для изображений, отображаемых как jpeg, и игнорируется для запросов на png отрисовку. Если параметр по умолчанию 100не указан.

Получение исходной версии

Использование операции массового обновления позволяет получить исходную и последнюю версию исследования, ряда или экземпляра. Последняя версия исследования, ряда или экземпляра всегда возвращается по умолчанию. Исходная версия может быть возвращена, задав для заголовка msdicom-request-original значение true. Ниже показан пример запроса:

GET ../studies/{study}/series/{series}/instances/{instance}
Accept: multipart/related; type="application/dicom"; transfer-syntax=*
msdicom-request-original: true
Content-Type: application/dicom

Получение кодов состояния ответа

Код Описание
200 (OK) Извлекаются все запрошенные данные.
304 (Not Modified) Запрошенные данные не изменяются с момента последнего запроса. Содержимое не добавляется в текст ответа в таком случае. Дополнительные сведения см. в приведенном выше разделе "Получение проверки кэша метаданных" (для исследования, ряда или экземпляра).
400 (Bad Request) Запрос был плохо отформатирован. Например, указанный идентификатор экземпляра исследования не соответствует ожидаемому формату UID, или запрошенная кодировка синтаксиса передачи не поддерживается.
401 (Unauthorized) Клиент не проходит проверку подлинности.
403 (Forbidden) Пользователь не авторизован.
404 (Not Found) Указанный ресурс DICOM не найден или для отрисованного запроса экземпляр не содержал пиксельных данных.
406 (Not Acceptable) Указанный Accept заголовок не поддерживается или для отрисовки и перекодировки запросов запрошенного файла было слишком большим.
424 (Failed Dependency) Служба DICOM не может получить доступ к ресурсу, от него зависит выполнение этого запроса. Например, не удается получить доступ к подключенном хранилищу Data Lake или хранилищу ключей для поддержки шифрования ключей, управляемых клиентом.
503 (Service Unavailable) Служба недоступна или занята. Повторите попытку позже.

Поиск (QIDO-RS)

Запрос на основе идентификатора объектов DICOM (QIDO) позволяет искать исследования, ряды и экземпляры по атрибутам.

Способ Путь Description
Поиск исследований
GET .. /Исследования?... Поиск исследований
Поиск ряда
GET .. /Серии?... Поиск рядов
GET .. /studies/{study}/series?... Поиск ряда в исследовании
Поиск экземпляров
GET .. /Экземпляров?... Поиск экземпляров
GET .. /studies/{study}/instances?... Поиск экземпляров в исследовании
GET .. /studies/{study}/series/{series}/instances?... Поиск экземпляров в серии

Для поиска поддерживаются следующие Accept заголовки:

  • application/dicom+json

Поиск изменений из версии 1

В API версии 1 и продолжается для версии 2, если тег расширенного запроса имеет ошибки, так как один или несколько существующих экземпляров имели значение тега, которое не удалось индексировать, последующие поисковые запросы, содержащие расширенный тег запроса, возвращаются erroneous-dicom-attributes , как описано в документации. Однако теги (также известные как атрибуты) с предупреждениями проверки из STOW-RS не включены в этот заголовок. Если запрос хранилища приводит к предупреждениям проверки для атрибутов, доступных для поиска во время хранения экземпляра, эти атрибуты могут не использоваться для поиска хранимого экземпляра. Однако все атрибуты , доступные для поиска, которые не удалось проверить, могут возвращать результаты, если значения перезаписываются экземплярами в том же исследовании или ряде, которые хранятся после сбоя, или если значения уже хранятся правильно предыдущим экземпляром. Если значения атрибутов не перезаписаны, они не создают результаты поиска.

Атрибут можно исправить следующим образом:

  • Удаление сохраненного экземпляра и отправка нового экземпляра с исправленными данными

  • Отправка нового экземпляра в том же исследовании или серии с исправленными данными

Поддерживаемые параметры поиска

Поддерживаются следующие параметры для каждого запроса:

Ключ Значения поддержки Допустимое число Description
{attributeID}= {value} 0...N Поиск соответствия атрибутов и значений в запросе.
includefield= {attributeID}
all
0...N Другие атрибуты, возвращаемые в ответе. Поддерживаются общедоступные и частные теги.
Когда all он указан, обратитесь к ответупоиска для получения дополнительных сведений.
Если используется смесь {attributeID} и all предоставляется, сервер по умолчанию используется all.
limit= {value} 0..1 Целочисленное значение, ограничивающее количество значений, возвращаемых в ответе.
Значение может быть между диапазоном 1 >= x <= 200. Значение по умолчанию — 100.
offset= {value} 0..1 Пропустить {value} результаты.
Если смещение предоставляется больше количества результатов поискового запроса, возвращается ответ 204 (без содержимого).
fuzzymatching= true / false 0..1 Если к атрибуту PatientName применяется истинное нечеткое сопоставление. Он выполняет сопоставление слов префикса любой части имени внутри значения PatientName. Например, если имя пациента — "John^Doe", то "joh", "do", "jo do", "Doe" и "Джон Doe" все совпадение. Однако "ohn" не соответствует.

Атрибуты, доступные для поиска

Мы поддерживаем поиск следующих атрибутов и типов поиска.

Ключевое слово атрибута Все исследования Все серии Все экземпляры Серия исследований Экземпляры исследования Экземпляры серии исследований
StudyInstanceUID X X X
PatientName X X X
PatientID X X X
PatientBirthDate X X X
AccessionNumber X X X
ReferringPhysicianName X X X
StudyDate X X X
StudyDescription X X X
ModalitiesInStudy X X X
SeriesInstanceUID X X X X
Modality X X X X
PerformedProcedureStepStartDate X X X X
ManufacturerModelName X X X X
SOPInstanceUID X X X

Примечание.

Мы не поддерживаем поиск с помощью пустой строки для каких-либо атрибутов.

Сопоставление поиска

Мы поддерживаем следующие типы сопоставления.

Тип поиска Поддерживаемый атрибут Пример
Запрос в диапазоне StudyDate/PatientBirthDate {attributeID}={value1}-{value2}. Для значений даты и времени мы поддерживаем в теге инклюзивное диапазон. Этот диапазон сопоставляется с attributeID >= {value1} AND attributeID <= {value2}. Если {value1} значение не указано, все вхождения дат и времени до и в том числе {value2} совпадают. Аналогичным образом, если {value2} не указано, все вхождения {value1} и последующие даты и время сопоставляются. Однако одно из этих значений должно присутствовать. {attributeID}={value1}- и {attributeID}=-{value2} допустимы, однако, {attributeID}=- недопустимы.
Точное совпадение Все поддерживаемые атрибуты {attributeID}={value1}
Нечеткий матч PatientName, ReferringPhysicianName Соответствует любому компоненту имени, начинающегося со значения.

Идентификатор атрибута

Теги можно закодировать несколькими способами для параметра запроса. Мы частично реализовали стандарт, определенный в PS3.18 6.7.1.1.1. Поддерживаются следующие кодировки для тега:

Значение Пример
{group}{element} 0020000D
{dicomKeyword} StudyInstanceUID

Пример поиска экземпляров:

../instances?Modality=CT&00280011=512&includefield=00280010&limit=5&offset=0

Ответ поиска

Ответ представляет собой массив наборов данных DICOM. В зависимости от ресурса возвращаются следующие атрибуты:

Теги изучения по умолчанию

Тег Имя атрибута
(0008, 0020) StudyDate
(0008, 0050) AccessionNumber
(0008, 1030) StudyDescription
(0009, 0090) ReferringPhysicianName
(0010, 0010) PatientName
(0010, 0020) PatientID
(0010, 0030) PatientBirthDate
(0020, 000D) StudyInstanceUID

Теги серии по умолчанию

Тег Имя атрибута
(0008, 0060) Modality
(0008, 1090) ManufacturerModelName
(0020, 000E) SeriesInstanceUID
(0040, 0244) PerformedProcedureStepStartDate

Теги экземпляра по умолчанию

Тег Имя атрибута
(0008, 0018) SOPInstanceUID

Если includefield=allэти атрибуты включены вместе с атрибутами по умолчанию. Наряду с атрибутами по умолчанию этот список содержит полный список атрибутов, поддерживаемых на каждом уровне ресурсов.

Другие теги исследования

Тег Имя атрибута
(0008, 0005) SpecificCharacterSet
(0008, 0030) StudyTime
(0008, 0056) InstanceAvailability
(0008, 0201) TimezoneOffsetFromUTC
(0008, 0063) AnatomicRegionsInStudyCodeSequence
(0008, 1032) ProcedureCodeSequence
(0008, 1060) NameOfPhysiciansReadingStudy
(0008, 1080) AdmittingDiagnosesDescription
(0008, 1110) ReferencedStudySequence
(0010, 1010) PatientAge
(0010, 1020) PatientSize
(0010, 1030) PatientWeight
(0010, 2180) Occupation
(0010, 21B0) AdditionalPatientHistory
(0010, 0040) PatientSex
(0020, 0010) StudyID

Другие теги серии

Тег Имя атрибута
(0008, 0005) SpecificCharacterSet
(0008, 0201) TimezoneOffsetFromUTC
(0020, 0011) Число серий
(0020, 0060) Боковое
(0008, 0021) SeriesDate
(0008, 0031) SeriesTime
(0008, 103E) SeriesDescription
(0040, 0245) PerformedProcedureStepStartTime
(0040, 0275) RequestAttributesSequence

Другие теги экземпляра

Тег Имя атрибута
(0008, 0005) SpecificCharacterSet
(0008, 0016) SOPClassUID
(0008, 0056) InstanceAvailability
(0008, 0201) TimezoneOffsetFromUTC
(0020, 0013) InstanceNumber
(0028, 0010) Строки
(0028, 0011) Столбцы
(0028, 0100) BitsAllocated
(0028, 0008) NumberOfFrames

Возвращаются следующие атрибуты:

  • Все параметры запроса соответствия и идентификаторы пользовательского интерфейса в URL-адресе ресурса.
  • IncludeField атрибуты, поддерживаемые на этом уровне ресурсов.
  • Если целевой ресурс имеет значение All Series, Study то также возвращаются атрибуты уровня.
  • Если целевой ресурс имеет значение All Instances, Study то также Series возвращаются атрибуты уровня.
  • Если целевой ресурс имеет значение Study's Instances, Series то также возвращаются атрибуты уровня.
  • NumberOfStudyRelatedInstances Агрегированный атрибут поддерживается на Study уровне includeField.
  • NumberOfSeriesRelatedInstances Агрегированный атрибут поддерживается на Series уровне includeField.

Коды ответов поиска

API запросов возвращает один из следующих кодов состояния в ответе:

Код Описание
200 (OK) Полезные данные ответа содержат все соответствующие ресурсы.
204 (No Content) Поиск завершился успешно, но не вернул результатов.
400 (Bad Request) Сервер не смог выполнить запрос, так как компонент запроса недействителен. Текст ответа содержит сведения о сбое.
401 (Unauthorized) Клиент не проходит проверку подлинности.
403 (Forbidden) Пользователь не авторизован.
424 (Failed Dependency) Служба DICOM не может получить доступ к ресурсу, от него зависит выполнение этого запроса. Например, не удается получить доступ к подключенном хранилищу Data Lake или хранилищу ключей для поддержки шифрования ключей, управляемых клиентом.
503 (Service Unavailable) Служба недоступна или занята. Повторите попытку позже.

Примечания.

  • Запросы с помощью не TimezoneOffsetFromUTC (00080201) поддерживаются.
  • API запроса не возвращается 413 (request entity too large). Если запрошенное ограничение ответа запроса выходит за пределы допустимого диапазона, возвращается неправильный запрос. Разрешено все запрошенное в допустимом диапазоне.
  • Если целевой ресурс — Study/Series, существует потенциал для несогласованных метаданных уровня исследования или ряда в нескольких экземплярах. Например, два экземпляра могут иметь разные имена пациентов. В этом случае последние победы и поиск можно выполнять только на последних данных.
  • Результаты страниц оптимизированы для возврата соответствующего нового экземпляра, что может привести к дублированию записей на последующих страницах, если добавлены новые данные, соответствующие запросу.
  • Сопоставление учитывает регистр и учитывает акцент для типов виртуальной реальности PN.
  • Сопоставление учитывает регистр и учитывает акцент для других типов виртуальной реальности строки.
  • Только первое значение индексируется из одного элемента данных со значением, который неправильно имеет несколько значений.
  • Использование атрибутов по умолчанию или ограничение количества запрошенных результатов повышает производительность.
  • При хранении атрибута с помощью заполнения null его можно искать с помощью или без кодирования URI или без него. Полученные результаты предназначены для атрибутов, хранящихся как с заполнением null, так и без заполнения null.

Удаление

Эта транзакция не является частью официального DICOMweb Standard. Он использует метод DELETE для удаления представлений исследований, ряда и экземпляров из хранилища.

Способ Путь Description
DELETE .. /studies/{study} Удалите все экземпляры для определенного исследования.
DELETE .. /studies/{study}/series/{series} Удалите все экземпляры для определенной серии в рамках исследования.
DELETE .. /studies/{study}/series/{series}/instances/{instance} Удаление определенного экземпляра в серии.

Параметры study, seriesи instance соответствуют атрибутам StudyInstanceUIDSeriesInstanceUIDDICOM и SopInstanceUID соответственно.

Нет ограничений на заголовок, Content-Type заголовок или текст запросаAccept.

Примечание.

После транзакции Delete удаленные экземпляры не будут восстановлены.

Коды состояния ответа

Код Описание
204 (No Content) Когда удаляются все экземпляры SOP.
400 (Bad Request) Запрос был плохо отформатирован.
401 (Unauthorized) Клиент не проходит проверку подлинности.
403 (Forbidden) Пользователь не авторизован.
404 (Not Found) Если указанный ряд не найден в исследовании или указанный экземпляр не найден в пределах ряда.
424 (Failed Dependency) Служба DICOM не может получить доступ к ресурсу, от него зависит выполнение этого запроса. Например, не удается получить доступ к подключенном хранилищу Data Lake или хранилищу ключей для поддержки шифрования ключей, управляемых клиентом.
503 (Service Unavailable) Служба недоступна или занята. Повторите попытку позже.

Удаление полезных данных ответа

Текст ответа пуст. Код состояния — это единственная полезная информация, возвращаемая.

Служба worklist (UPS-RS)

Служба DICOM поддерживает поставщик услуг push-уведомлений и извлечения служб рабочего списка (UPS-RS). Эта служба предоставляет доступ к одному списку, содержаму Workitems, каждому из которых представляется шаг единой процедуры (UPS).

В течение всего переменная {workitem} в шаблоне URI обозначает идентификатор пользовательского интерфейса Workitem.

Доступные конечные точки UPS-RS включают:

Команда Путь Description
POST {s}/workitems{? AffectedSOPInstanceUID} Создание рабочего элемента
POST {s}/workitems/{instance}{?transaction} Обновить рабочий элемент
GET {s}/workitems{?query*} Поиск рабочих элементов
GET {s}/workitems/{instance} Получение рабочего элемента
PUT {s}/workitems/{instance}/state Изменение состояния рабочего элемента
POST {s}/workitems/{instance}/cancelrequest Отмена рабочего элемента
POST {s}/workitems/{instance}/subscription/{AETitle}{?удаление} Создание подписки
POST {s}/workitems/1.2.840.10008.5.1.4.34.5/ Приостановка подписки
DELETE {s}/workitems/{instance}/subscription/{AETitle} Удаление подписки
GET {s}/подписчики/{AETitle} Открытие канала подписки

Создание Workitem

Эта транзакция использует метод POST для создания нового Workitem.

Способ Путь Description
POST .. /workitems Создайте Workitem.
POST .. /workitems? {workitem} Создает Workitem с указанным идентификатором пользовательского интерфейса.

Если он не указан в URI, полезный набор данных должен содержать Workitem в атрибуте SOPInstanceUID .

В Accept запросе требуются заголовки и Content-Type должны иметь значение application/dicom+json.

Существует несколько требований, связанных с атрибутами данных DICOM в контексте конкретной транзакции. Атрибуты могут быть обязательными, обязательными для того, чтобы не присутствовать, быть пустыми или не должны быть пустыми. Эти требования можно найти в этой таблице.

Примечание.

Хотя в справочной таблице указано, что идентификатор пользовательского интерфейса экземпляра SOP не должен присутствовать, это руководство зависит от протокола DIMSE и обрабатывается по-разному в DICOMWeb. Идентификатор пользовательского интерфейса экземпляра SOP должен присутствовать в наборе данных, если не в URI.

Примечание.

Все коды условных требований, включая 1C и 2C, рассматриваются как необязательные.

Создание кодов состояния ответа

Код Описание
201 (Created) Целевой workitem успешно создан.
400 (Bad Request) Возникла проблема с запросом. Например, полезные данные запроса не соответствуют требованиям.
401 (Unauthorized) Клиент не проходит проверку подлинности.
403 (Forbidden) Пользователь не авторизован.
409 (Conflict) Workitem уже существует.
415 (Unsupported Media Type) Предоставленный Content-Type параметр не поддерживается.
424 (Failed Dependency) Служба DICOM не может получить доступ к ресурсу, от него зависит выполнение этого запроса. Например, не удается получить доступ к подключенном хранилищу Data Lake или хранилищу ключей для поддержки шифрования ключей, управляемых клиентом.
503 (Service Unavailable) Служба недоступна или занята. Повторите попытку позже.

Создание полезных данных ответа

Ответ успешного выполнения не содержит полезных данных. Заголовки Location и Content-Location заголовки ответов содержат ссылку URI на созданный Workitem.

Полезные данные ответа на сбои содержат сообщение, описывающее сбой.

Отмена запроса

Эта транзакция позволяет пользователю запрашивать отмену неовладельцированного Workitem.

Существует четыре допустимых состояния Workitem:

  • SCHEDULED
  • IN PROGRESS
  • CANCELED
  • COMPLETED

Эта транзакция выполняется только в отношении Workitems в SCHEDULED состоянии. Любой пользователь может претендовать на владение Workitem, задав пользовательский интерфейс транзакции и изменив его состояние IN PROGRESSна . После этого пользователь может изменить только Workitem, предоставив правильный пользовательский интерфейс транзакции. Хотя UPS определяет классы Watch и Event SOP, которые позволяют пересылать запросы на отмену и другие события, эта служба DICOM не реализует эти классы и поэтому запросы на отмену на рабочих объектах, которые IN PROGRESS возвращают ошибку. Принадлежащий Workitem можно отменить с помощью транзакции "Изменить состояние Workitem".

Способ Путь Description
POST .. /workitems/{workitem}/cancelrequest Запрос на отмену запланированного workitem

Заголовок Content-Type является обязательным и должен иметь значение application/dicom+json.

Полезные данные запроса могут содержать сведения о действии, как определено в стандарте DICOM.

Коды состояния ответа отмены запроса

Код Описание
202 (Accepted) Запрос был принят сервером, но состояние Target Workitem еще не изменено.
400 (Bad Request) Возникла проблема с синтаксисом запроса.
401 (Unauthorized) Клиент не проходит проверку подлинности.
403 (Forbidden) Пользователь не авторизован.
404 (Not Found) Целевой workitem не найден.
409 (Conflict) Запрос не согласуется с текущим состоянием target Workitem. Например, target Workitem находится в SCHEDULED состоянии или COMPLETED состоянии.
415 (Unsupported Media Type) Предоставленный Content-Type параметр не поддерживается.
424 (Failed Dependency) Служба DICOM не может получить доступ к ресурсу, от него зависит выполнение этого запроса. Например, не удается получить доступ к подключенном хранилищу Data Lake или хранилищу ключей для поддержки шифрования ключей, управляемых клиентом.
503 (Service Unavailable) Служба недоступна или занята. Повторите попытку позже.

Полезные данные ответа на отмену запроса

Ответ успешного выполнения не содержит полезных данных, а полезные данные ответа на сбои содержат сообщение, описывающее сбой. Если экземпляр Workitem уже находится в отмененном состоянии, ответ содержит следующий заголовок предупреждения HTTP: 299: The UPS is already in the requested state of CANCELED.

Получение Workitem

Эта транзакция извлекает Workitem. Он соответствует операции UPS DIMSE N-GET.

Ознакомьтесь со следующими сведениями: https://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_11.5

Если Workitem существует на исходном сервере, workitem должен быть возвращен в допустимом типе мультимедиа. Возвращаемый Workitem не должен содержать атрибут UID транзакции (0008 1195). Это необходимо для сохранения роли этого атрибута в качестве блокировки доступа.

Способ Путь Description
GET .. /workitems/{workitem} Запрос на получение Workitem

Заголовок Accept является обязательным и должен иметь значение application/dicom+json.

Получение кодов состояния ответа Workitem

Код Описание
200 OK; Экземпляр Workitem успешно получен.
400 (недопустимый запрос) Возникла проблема с запросом.
401 (Не авторизовано) Клиент не проходит проверку подлинности.
403 (Forbidden (Запрещено)) Пользователь не авторизован.
404 (не найдено) Целевой workitem не найден.
424 (сбой зависимости) Служба DICOM не может получить доступ к ресурсу, от него зависит выполнение этого запроса. Например, не удается получить доступ к подключенном хранилищу Data Lake или хранилищу ключей для поддержки шифрования ключей, управляемых клиентом.
503 (служба недоступна) Служба недоступна или занята. Повторите попытку позже.

Получение полезных данных ответа Workitem

  • Ответ успешного выполнения содержит одну часть полезных данных, содержащую запрошенный Workitem в выбранном типе мультимедиа.
  • Возвращаемый Workitem не должен содержать атрибут UID транзакции (0008, 1195), так как это должно быть известно только владельцу.

Обновление Workitem

Эта транзакция изменяет атрибуты существующего Workitem. Он соответствует операции UPS DIMSE N-SET.

Ознакомьтесь со следующими сведениями: https://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_11.6

Чтобы обновить Workitem в настоящее время в SCHEDULED состоянии, Transaction UID атрибут не должен присутствовать. Для Workitem в IN PROGRESS состоянии запрос должен включать текущий пользовательский интерфейс транзакции в качестве параметра запроса. Если Workitem уже находится в COMPLETED или CANCELED состояниях, ответ равен 400 (Bad Request).

Способ Путь Description
POST .. /workitems/{workitem}? {transaction-uid} Обновление транзакции Workitem

Заголовок Content-Type является обязательным и должен иметь значение application/dicom+json.

Полезные данные запроса содержат набор данных с изменениями, которые будут применены к целевому Workitem. При изменении последовательности запрос должен включать все элементы в последовательность, а не только элементы, которые необходимо изменить. Если необходимо обновить несколько атрибутов в виде группы, обновите их как несколько атрибутов в одном запросе, а не как несколько запросов.

Существует множество требований, связанных с атрибутами данных DICOM в контексте конкретной транзакции. Атрибуты могут быть обязательными, обязательными для того, чтобы не присутствовать, быть пустыми или не должны быть пустыми. Эти требования можно найти в этой таблице.

Примечание.

Все коды условных требований, включая 1C и 2C, рассматриваются как необязательные.

Примечание.

Запрос не может задать значение атрибута "Состояние шага процедуры" (0074 1000). Состояние шага процедуры управляется с помощью транзакции "Изменение состояния" или транзакции "Отмена запроса".

Обновление кодов состояния отклика транзакций Workitem

Код Описание
200 (OK) Объект Target Workitem был обновлен.
400 (Bad Request) Возникла проблема с запросом. Например: (1) Target Workitem был в COMPLETED состоянии или CANCELED состоянии. (2) Отсутствует идентификатор пользовательского интерфейса транзакции. (3) Идентификатор пользовательского интерфейса транзакции неверный. (4) Набор данных не соответствовал требованиям.
401 (Unauthorized) Клиент не проходит проверку подлинности.
403 (Forbidden) Пользователь не авторизован.
404 (Not Found) Целевой workitem не найден.
409 (Conflict) Запрос не согласуется с текущим состоянием target Workitem.
415 (Unsupported Media Type) Предоставленный Content-Type параметр не поддерживается.
424 (Failed Dependency) Служба DICOM не может получить доступ к ресурсу, от него зависит выполнение этого запроса. Например, не удается получить доступ к подключенном хранилищу Data Lake или хранилищу ключей для поддержки шифрования ключей, управляемых клиентом.
503 (Service Unavailable) Служба недоступна или занята. Повторите попытку позже.

Обновление полезных данных ответа на транзакцию Workitem

Сервер-источник должен поддерживать поля заголовков в таблице 11.6.3-2.

Ответ успешного выполнения не должен содержать полезных данных или полезных данных, содержащих документ отчета о состоянии.

Полезные данные ответа на сбои могут содержать отчет о состоянии, описывающий любые сбои, предупреждения или другие полезные сведения.

Изменение состояния Workitem

Эта транзакция используется для изменения состояния Workitem. Он соответствует операции UPS DIMSE N-ACTION "Изменение состояния UPS". Изменения состояния используются для утверждения владения, завершения или отмены Workitem.

Ознакомьтесь со следующими сведениями: https://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_11.7

Если Workitem существует на исходном сервере, workitem должен быть возвращен в допустимом типе мультимедиа. Возвращаемый Workitem не должен содержать атрибут UID транзакции (0008 1195). Это необходимо для сохранения роли этого атрибута в качестве блокировки доступа, как описано здесь.

Способ Путь Description
PUT .. /workitems/{workitem}/state Изменение состояния Workitem

Заголовок Accept является обязательным и должен иметь значение application/dicom+json.

Полезные данные запроса должны содержать элементы данных состояния Change UPS. Эти элементы данных:

  • UiD транзакции (0008, 1195) Полезные данные запроса должны содержать идентификатор пользовательского интерфейса транзакции. Агент пользователя создает идентификатор пользовательского интерфейса транзакции при запросе перехода к IN PROGRESS состоянию для заданного Workitem. Агент пользователя предоставляет идентификатор пользовательского интерфейса транзакции в последующих транзакциях с этим Workitem.
  • Состояние шага процедуры (0074, 1000) Юридические значения соответствуют запрошенному переходу состояния. Они: IN PROGRESS, COMPLETEDили CANCELED.

Изменение кодов состояния ответа состояния Workitem

Код Описание
200 (OK) Экземпляр Workitem успешно получен.
400 (Bad Request) Запрос не может быть выполнен по одной из следующих причин: (1) запрос недействителен, учитывая текущее состояние Target Workitem. (2) Отсутствует идентификатор пользовательского интерфейса транзакции. (3) Идентификатор пользовательского интерфейса транзакции является неверным
401 (Unauthorized) Клиент не проходит проверку подлинности.
403 (Forbidden) Пользователь не авторизован.
404 (Not Found) Целевой workitem не найден.
409 (Conflict) Запрос не согласуется с текущим состоянием target Workitem.
424 (Failed Dependency) Служба DICOM не может получить доступ к ресурсу, от него зависит выполнение этого запроса. Например, не удается получить доступ к подключенном хранилищу Data Lake или хранилищу ключей для поддержки шифрования ключей, управляемых клиентом.
503 (Service Unavailable) Служба недоступна или занята. Повторите попытку позже.

Изменение полезных данных ответа о состоянии Workitem

  • Ответы включают поля заголовка, указанные в разделе 11.7.3.2.
  • Ответ успешного выполнения не должен иметь полезных данных.
  • Полезные данные ответа на сбои могут содержать отчет о состоянии, описывающий любые сбои, предупреждения или другие полезные сведения.

Поиск Workitems

Эта транзакция позволяет выполнять поиск Workitems по атрибутам.

Способ Путь Description
GET .. /workitems? Поиск Workitems

Для поиска поддерживаются следующие Accept заголовки:

  • application/dicom+json

Поддерживаемые параметры поиска

Поддерживаются следующие параметры для каждого запроса:

Ключ Значения поддержки Допустимое число Description
{attributeID}= {value} 0...N Поиск соответствия атрибутов и значений в запросе.
includefield= {attributeID}
all
0...N Другие атрибуты, возвращаемые в ответе. Можно включить только атрибуты верхнего уровня , а не атрибуты, которые являются частью последовательностей. Поддерживаются как общедоступные, так и частные теги. Если all указано, дополнительные сведения о том, какие атрибуты возвращаются для каждого типа запроса, см. в ответе поиска. Если используется смесь {attributeID} и all предоставляется, сервер по умолчанию использует значение "all".
limit= {value} 0...1 Целочисленное значение, ограничивающее количество значений, возвращаемых в ответе. Значение может быть между диапазоном 1 >= x <= 200. По умолчанию используется 100значение .
offset= {value} 0...1 Пропустить результаты {value}. Если смещение предоставляется больше количества результатов поискового запроса, 204 (no content) возвращается ответ.
fuzzymatching= true | false 0...1 Если истинное нечеткое сопоставление применяется к любым атрибутам с представлением значения имени пользователя (PN). Он выполняет сопоставление слов префикса любой части имени внутри этих атрибутов. Например, если PatientName имеет значение John^Doe, то johdo, jo doDoe и John Doe все совпадения. Однако ohn не соответствует.
Атрибуты, доступные для поиска

Мы поддерживаем поиск по этим атрибутам:

Ключевое слово атрибута
PatientName
PatientID
ReferencedRequestSequence.AccessionNumber
ReferencedRequestSequence.RequestedProcedureID
ScheduledProcedureStepStartDateTime
ScheduledStationNameCodeSequence.CodeValue
ScheduledStationClassCodeSequence.CodeValue
ScheduledStationGeographicLocationCodeSequence.CodeValue
ProcedureStepState
StudyInstanceUID

Примечание.

Мы не поддерживаем поиск с помощью пустой строки для каких-либо атрибутов.

Сопоставление поиска

Мы поддерживаем следующие типы сопоставления:

Тип поиска Поддерживаемый атрибут Пример
Запрос в диапазоне Scheduled​Procedure​Step​Start​Date​Time {attributeID}={value1}-{value2}. Для значений даты и времени мы поддерживаем инклюзивное диапазон тега. Этот диапазон сопоставляется с attributeID >= {value1} AND attributeID <= {value2}. Если {value1} значение не указано, все вхождения дат и времени до и в том числе {value2} совпадают. Аналогичным образом, если {value2} не указано, все вхождения {value1} и последующие даты и время сопоставляются. Однако одно из этих значений должно присутствовать. {attributeID}={value1}- и {attributeID}=-{value2} допустимы, однако, {attributeID}=- недопустимы.
Точное совпадение Все поддерживаемые атрибуты {attributeID}={value1}
Нечеткий матч PatientName Соответствует любому компоненту имени, начинающегося со значения.

Примечание.

Хотя мы не поддерживаем полное сопоставление последовательности, мы поддерживаем точное соответствие атрибутов, перечисленных в последовательности.

Идентификатор атрибута

Теги можно закодировать различными способами для параметра запроса. Мы частично реализовали стандарт, определенный в PS3.18 6.7.1.1.1. Поддерживаются следующие кодировки для тега:

Значение Пример
{group}{element} 00100010
{dicomKeyword} PatientName

Пример запроса:

../workitems?PatientID=K123&0040A370.00080050=1423JS&includefield=00404005&limit=5&offset=0

Ответ поиска

Ответ представляет собой массив 0...N наборов данных DICOM со следующими атрибутами:

  • Все атрибуты в DICOM PowerShell 3.4 Table CC.2.5-3 с типом возвращаемого ключа 1 или 2
  • Все атрибуты в DICOM PowerShell 3.4 Table CC.2.5-3 с типом возвращаемого ключа 1C, для которого выполняются условные требования
  • Все остальные атрибуты Workitem, переданные в качестве параметров соответствия
  • Все остальные атрибуты Workitem, переданные в качестве includefield значений параметров

Коды ответов поиска

API запросов возвращает один из следующих кодов состояния в ответе:

Код Описание
200 (OK) Полезные данные ответа содержат все соответствующие ресурсы.
206 (Partial Content) Полезные данные ответа содержат только некоторые результаты поиска, а остальные можно запросить с помощью соответствующего запроса.
204 (No Content) Поиск завершился успешно, но не вернул результатов.
400 (Bad Request) Возникла проблема с запросом. Например, недопустимый синтаксис параметра запроса. Текст ответа содержит сведения о сбое.
401 (Unauthorized) Клиент не проходит проверку подлинности.
403 (Forbidden) Пользователь не авторизован.
424 (Failed Dependency) Служба DICOM не может получить доступ к ресурсу, от него зависит выполнение этого запроса. Например, не удается получить доступ к подключенном хранилищу Data Lake или хранилищу ключей для поддержки шифрования ключей, управляемых клиентом.
503 (Service Unavailable) Служба недоступна или занята. Повторите попытку позже.

Дополнительные примечания

API запроса не возвращается 413 (request entity too large). Если запрошенное ограничение ответа запроса выходит за пределы допустимого диапазона, возвращается неправильный запрос. Разрешено все запрошенное в допустимом диапазоне.

  • Результаты страниц оптимизированы для возврата соответствующего нового экземпляра, что может привести к дублированию записей на последующих страницах, если добавлены новые данные, соответствующие запросу.
  • Сопоставление не учитывает регистр и не учитывает акцент для типов виртуальной реальности PN.
  • Сопоставление не учитывает регистр и учитывает акцент для других типов виртуальной реальности строки.
  • Если есть сценарий, в котором отмена Workitem и запросы совпадают одновременно, запрос, скорее всего, исключает workitem, который обновляется, и код ответа.206 (Partial Content)

Примечание.

DICOM® является зарегистрированным товарным знаком Национальной ассоциации производителей электрических технологий для публикаций по стандартам, касающихся цифровых коммуникаций медицинской информации.