Aracılığıyla paylaş


DICOM Uyumluluk Bildirimi v2

Not

API sürüm 2, en son API sürümüdür. v1 ile karşılaştırıldığında v2'deki değişikliklerin listesi için bkz . DICOM hizmet API'sindeki v2 değişiklikleri

DICOM® için Medical Imaging Server, DICOMweb Standard'ın bir alt kümesini destekler. Destek şunları içerir:

Ayrıca, bu standart dışı API'ler desteklenir:

Hizmet REST API sürümü oluşturma kullanır. REST API'nin sürümü, aşağıdaki örnekte olduğu gibi temel URL'nin bir parçası olarak açıkça belirtilmelidir:

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

Uyumluluk bildiriminin bu sürümü REST API'lerinin sürümüne karşılık gelir v2 .

İstekte bulunurken sürümü belirtme hakkında daha fazla bilgi için API Sürüm Oluşturma Belgeleri'ne bakın.

Desteklenen işlemler için örnek istekleri Postman koleksiyonunda bulabilirsiniz.

Önceden Temizlenmiş Temizleme

Hizmet, 128 baytlık Dosya ÖnAmble'ını yoksayar ve içeriğini null karakterlerle değiştirir. Bu davranış, hizmet aracılığıyla geçirilen hiçbir dosya kötü amaçlı önceden oluşturulmuş güvenlik açığına karşı savunmasız olmasını sağlar. Bununla birlikte, bu temizleme işlemi, TIFF gibi ikili biçimli içeriği kodlamak için kullanılan önamble'lerin hizmetle kullanılamayacağı anlamına da gelir.

Çalışmalar Hizmeti

Çalışmalar Hizmeti, kullanıcıların DICOM Çalışmaları, Serileri ve Örnekleri depolamasına, almasına ve aramasına olanak tanır. Tam kaynak yaşam döngüsünü etkinleştirmek için standart olmayan Delete işlemini ekledik.

Mağaza (STOW-RS)

Bu işlem, istek yükünde yer alan çalışmaların, serilerin ve örneklerin gösterimlerini depolamak için POST veya PUT yöntemini kullanır.

Metot Yol Açıklama
POST .. /Çalışmaları Örnekleri depolayın.
POST .. /studies/{study} Belirli bir çalışma için örnekleri depolayın.
PUT .. /Çalışmaları Upsert örnekleri.
PUT .. /studies/{study} Belirli bir çalışma için upsert örnekleri.

Parametre study , StudyInstanceUID DICOM özniteliğine karşılık gelir. Belirtilirse, sağlanan çalışmaya ait olmayan tüm örnekler bir 43265 uyarı koduyla reddedilir.

Yanıt için aşağıdaki Accept üst bilgiler desteklenir:

  • application/dicom+json

Aşağıdaki Content-Type üst bilgiler desteklenir:

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

Not

Sunucu POST istekleri için mevcut verilerle çakışan öznitelikleri zorlamaz veya değiştirmez. Tüm veriler, sağlanan şekilde depolanır. Upsert (PUT) istekleri için, mevcut veriler alınan yeni verilerle değiştirilir.

Gerekli öznitelikleri depolama

Aşağıdaki DICOM öğelerinin depolanmaya çalışan her DICOM dosyasında mevcut olması gerekir:

  • StudyInstanceUID
  • SeriesInstanceUID
  • SOPInstanceUID
  • SOPClassUID
  • PatientID

Not

Tüm UID'ler 1 ile 64 karakter uzunluğunda olmalı ve yalnızca alfa sayısal karakterler veya şu özel karakterleri içermelidir: ., -. PatientID gerekli bir etiket olmaya devam eder ve girişte null olarak değere sahip olabilir. PatientID türüne LO VR göre doğrulanır.

Depolanan her dosya, , SeriesInstanceUIDve SopInstanceUIDdosyalarının StudyInstanceUIDbenzersiz bir bileşimine sahip olmalıdır. Aynı tanımlayıcılara sahip bir dosya zaten varsa uyarı kodu 45070 döndürülür.

Yalnızca açık Değer Gösterimlerine sahip aktarım söz dizimleri kabul edilir.

Not

İstekler 4 GB ile sınırlıdır. Tek bir DICOM dosyası veya dosya bileşimi bu sınırı aşamaz.

v1'den değişiklikleri depolama

Önceki sürümlerde, gerekli veya aranabilir özniteliklerden herhangi biri doğrulama başarısız olursa Bir Mağaza isteği başarısız olacaktı. V2'yi kullanmaya başlayarak, istek yalnızca gerekli özniteliklerin doğrulanamaması durumunda başarısız olur.

API tarafından gerekli olmayan özniteliklerin doğrulanamaması, dosyanın bir uyarıyla depolanmasına neden olur. Örnek başına her başarısız öznitelik hakkında bir uyarı verilir. Bir dizi doğrulamada başarısız olan bir öznitelik içerdiğinde veya tek bir öznitelikle ilgili birden çok sorun olduğunda, yalnızca ilk başarısız öznitelik nedeni not edilir.

Bir öznitelik null değerlerle doldurulursa, öznitelik aranabilir olduğunda dizine alınır ve dicom+json meta verilerinde olduğu gibi depolanır. Doğrulama uyarısı sağlanmadı.

Yanıt durum kodlarını depolama

Kod Description
200 (OK) İstekteki tüm SOP örnekleri depolandı.
202 (Accepted) Kaynak sunucu örneklerin bazılarını depoladı ve diğerleri başarısız oldu veya uyarılar döndürdü. Bu hatayla ilgili ek bilgiler yanıt iletisi gövdesinde bulunabilir.
204 (No Content) Depolama işlemi isteğinde içerik sağlanmadı.
400 (Bad Request) İstek hatalı biçimlendirildi. Örneğin, sağlanan çalışma örneği tanımlayıcısı beklenen UID biçimine uymadı.
401 (Unauthorized) İstemcinin kimliği doğrulanmamış.
406 (Not Acceptable) Belirtilen Accept üst bilgi desteklenmiyor.
409 (Conflict) Depolama işlemi isteğindeki örneklerin hiçbiri depolanmadı.
415 (Unsupported Media Type) Sağlanan Content-Type desteklenmez.
424 (Failed Dependency) DICOM hizmeti, bu isteği tamamlamak için bağımlı olduğu bir kaynağa erişemiyor. Buna örnek olarak bağlı Data Lake deposuna veya müşteri tarafından yönetilen anahtar şifrelemesini desteklemeye yönelik anahtar kasasına erişilememesi gösterilebilir.
500 (Internal Server Error) Sunucu bilinmeyen bir iç hatayla karşılaştı. Daha sonra tekrar deneyin.
503 (Service Unavailable) Hizmet kullanılamıyor veya meşgul. Daha sonra tekrar deneyin.

Mağaza yanıtı paylo

Yanıt yükü bir DICOM veri kümesini aşağıdaki öğelerle doldurur:

Etiket Veri Akışı Adı Açıklama
(0008, 1190) RetrieveURL Mağaza isteğinde StudyInstanceUID sağlandıysa ve en az bir örnek başarıyla depolandıysa çalışmanın Get URL'si.
(0008, 1198) FailedSOPSequence Depolanamadı örneklerin dizisi.
(0008, 1199) ReferencedSOPSequence Depolanan örneklerin dizisi.

içindeki FailedSOPSequence her veri kümesi aşağıdaki öğelere sahiptir (depolanmaya çalışan DICOM dosyası okunabiliyorsa):

Etiket Veri Akışı Adı Açıklama
(0008, 1150) ReferencedSOPClassUID Depolanamadı örneğin SOP sınıfı benzersiz tanımlayıcısı.
(0008, 1155) ReferencedSOPInstanceUID Depolanamadı örneğin SOP örneği benzersiz tanımlayıcısı.
(0008, 1197) FailureReason Bu örneğin depolanamadığına ilişkin neden kodu.
(0008, 1196) WarningReason A WarningReason , algılanan ancak depolama işlemini başarısızlığa uğratmak için yeterince ciddi olmayan doğrulama sorunlarını gösterir.
(0074, 1048) FailedAttributesSequence Her başarısız özniteliğin nedenini içeren dizisi ErrorComment .

içindeki ReferencedSOPSequence her veri kümesi aşağıdaki öğelere sahiptir:

Etiket Veri Akışı Adı Açıklama
(0008, 1150) ReferencedSOPClassUID Depolanan örneğin SOP sınıfı benzersiz tanımlayıcısı.
(0008, 1155) ReferencedSOPInstanceUID Depolanan örneğin SOP örneği benzersiz tanımlayıcısı.
(0008, 1190) RetrieveURL DICOM sunucusundaki bu örneğin alma URL'si.

ReferencedSOPSequence içinde FailedAttributesSequence içermeyen üst bilgi application/dicom+json içeren Accept örnek yanıt:

{
  "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"]
      }
    }]
  }
}

ReferencedSOPSequence içinde FailedAttributesSequence ile üst bilgi application/dicom+json içeren Accept örnek yanıt:

{
  "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}]]]]]]"
              ]
            }
          }
        ]
      }
    }]
  }
}

Depolama hatası neden kodları

Kod Description
272 Depolama işlemi, işlemi işlerken oluşan genel bir hata nedeniyle örneği depolamadı.
43264 DICOM örneği doğrulamada başarısız oldu.
43265 Sağlanan örnek StudyInstanceUID , mağaza isteğinde belirtilen StudyInstanceUID örnekle eşleşmedi.
45070 Aynı StudyInstanceUID, SeriesInstanceUIDve SopInstanceUID ile bir DICOM örneği zaten depolanmış. İçeriği güncelleştirmek istiyorsanız, önce bu örneği silin.
45071 DiCOM örneği başka bir işlem tarafından oluşturuluyor veya önceki oluşturma girişimi başarısız oldu ve temizleme işlemi tamamlanmadı. Yeniden oluşturmayı denemeden önce örneği silin.

Mağaza uyarı neden kodları

Kod Description
45063 DICOM örneği Veri Kümesi SOP Sınıfıyla eşleşmiyor. Etüt Deposu İşlemi (Bölüm 10.5), Veri Kümesinin örneğin depolanması sırasında SOP Sınıfının kısıtlamalarıyla eşleşmediğini gözlemlemektedir.
1 Etüt Deposu İşlemi (Bölüm 10.5) Veri Kümesinde doğrulama uyarıları olduğunu gözlemlemiştir.

Depolama Hata Kodları

Kod Description
100 Sağlanan örnek öznitelikleri doğrulama ölçütlerini karşılamadı.

Alma (WADO-RS)

Bu Alma İşlemi, başvuruya göre saklı çalışmaları, serileri, örnekleri ve çerçeveleri almak için destek sunar.

Metot Yol Açıklama
GET .. /studies/{study} Bir çalışmadaki tüm örnekleri alır.
GET .. /studies/{study}/metadata Bir çalışmadaki tüm örneklerin meta verilerini alır.
GET .. /studies/{study}/series/{series} Bir seri içindeki tüm örnekleri alır.
GET .. /studies/{study}/series/{series}/metadata Bir serideki tüm örneklerin meta verilerini alır.
GET .. /studies/{study}/series/{series}/instances/{instance} Tek bir örneği alır.
GET .. /studies/{study}/series/{series}/instances/{instance}/metadata Tek bir örneğin meta verilerini alır.
GET .. /studies/{study}/series/{series}/instances/{instance}/rendered Görüntü biçiminde işlenen bir örneği alır
GET .. /studies/{study}/series/{series}/instances/{instance}/frames/{frames} Tek bir örnekten bir veya birden çok kare alır. Birden fazla çerçeve belirtmek için, döndürülecek her çerçeveyi virgülle ayırın. Örneğin, /studies/1/series/2/instance/3/frames/4,5,6.
GET .. /studies/{study}/series/{series}/instances/{instance}/frames/{frame}/rendered Görüntü biçiminde işlenen tek bir çerçeveyi alır.

Çalışma veya seri içindeki örnekleri alma

Bir çalışma veya seri içindeki örnekleri almak için aşağıdaki Accept üst bilgiler desteklenir:

  • multipart/related; type="application/dicom"; transfer-syntax=*
  • multipart/related; type="application/dicom"; (aktarım söz dizimi belirtilmediğinde, varsayılan olarak 1.2.840.10008.1.2.1 kullanılır)
  • 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
  • */* (transfer-syntax belirtilmediğinde, * varsayılan olarak kullanılır ve mediaType varsayılan application/dicomolarak kullanılır)

Örnek Alma

Belirli bir örneği almak için aşağıdaki Accept üst bilgiler desteklenir:

  • application/dicom; transfer-syntax=*
  • multipart/related; type="application/dicom"; transfer-syntax=*
  • application/dicom; (aktarım söz dizimi belirtilmediğinde varsayılan 1.2.840.10008.1.2.1 olarak kullanılır)
  • multipart/related; type="application/dicom" (aktarım söz dizimi belirtilmediğinde varsayılan 1.2.840.10008.1.2.1 olarak kullanılır)
  • 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
  • */* (transfer-syntax belirtilmediğinde, * varsayılan olarak kullanılır ve mediaType varsayılan application/dicomolarak kullanılır)

ÇerçeveLeri Alma

Çerçeveleri almak için aşağıdaki Accept üst bilgiler desteklenir:

  • multipart/related; type="application/octet-stream"; transfer-syntax=*
  • multipart/related; type="application/octet-stream"; (aktarım söz dizimi belirtilmediğinde varsayılan 1.2.840.10008.1.2.1 olarak kullanılır)
  • multipart/related; type="application/octet-stream"; transfer-syntax=1.2.840.10008.1.2.1
  • multipart/related; type="image/jp2"; (aktarım söz dizimi belirtilmediğinde varsayılan 1.2.840.10008.1.2.4.90 olarak kullanılır)
  • multipart/related; type="image/jp2";transfer-syntax=1.2.840.10008.1.2.4.90
  • application/octet-stream; transfer-syntax=* tek çerçeve alma için
  • */* (transfer-syntax belirtilmediğinde, * varsayılan olarak kullanılır ve mediaType varsayılan application/octet-streamolarak kullanılır)

Aktarım söz dizimlerini alma

İstenen aktarım söz dizimi özgün dosyadan farklı olduğunda, özgün dosya istenen aktarım söz dizimine dönüştürülür. Kod dönüştürmenin başarılı olması için özgün dosyanın şu biçimlerden biri olması gerekir; aksi takdirde kod dönüştürme başarısız olabilir:

  • 1.2.840.10008.1.2 (Küçük Endian Örtük)
  • 1.2.840.10008.1.2.1 (Küçük Endian Açık)
  • 1.2.840.10008.1.2.2 (Açık VR Big Endian)
  • 1.2.840.10008.1.2.4.50 (JPEG Temel İşlem 1)
  • 1.2.840.10008.1.2.4.57 (JPEG Kayıpsız)
  • 1.2.840.10008.1.2.4.70 (JPEG Kayıpsız Seçim Değeri 1)
  • 1.2.840.10008.1.2.4.90 (Yalnızca JPEG 2000 Kayıpsız)
  • 1.2.840.10008.1.2.4.91 (JPEG 2000)
  • 1.2.840.10008.1.2.5 (RLE Kayıpsız)

Desteklenmeyen bir sonuç ile sonuçlanır transfer-syntax 406 Not Acceptable.

Meta verileri alma (çalışma, seri veya örnek için)

Bir çalışma, seri veya örnek için meta verileri almak için aşağıdaki Accept üst bilgi desteklenir:

  • application/dicom+json

Meta veriler alınırken aşağıdaki değer gösterimlerine sahip öznitelikler döndürülmüyor:

VR Adı Açıklama
OB Diğer Bayt
OD Diğer Çift
OF Diğer Kayan
OL Diğer Uzun
OV Diğer 64 bit Çok Uzun
OW Diğer Sözcük
BM Bilinmiyor

Alınan meta veriler, öznitelik null değerlerle doldurulduğunda ve olduğu gibi depolandığında null karakteri içerir.

Meta veri önbelleği doğrulamasını alma (çalışma, seri veya örnek için)

Önbellek doğrulaması, mekanizma kullanılarak ETag desteklenir. Meta veri isteğine yanıt olarak, ETag üst bilgilerden biri olarak döndürülür. Bu ETag önbelleğe alınıp aynı meta veriler için sonraki isteklerde üst bilgi olarak If-None-Match eklenebilir. Veriler varsa iki tür yanıt mümkündür:

  • Son istek HTTP 304 (Not Modified) : yanıt gövdesi olmadan yanıt gönderildiğinden bu yana veriler değişmez.
  • Son istek HTTP 200 (OK) : yanıt güncelleştirilmiş ETag ile gönderildikten sonra veriler değiştirildi. Gerekli veriler gövdenin bir parçası olarak döndürülür.

İşlenen görüntüyü alma (örneğin veya çerçeve)

Aşağıdaki Accept üst bilgiler, işlenen bir görüntüyü bir örneği veya çerçeveyi almak için desteklenir:

  • image/jpeg
  • image/png

Üst bilgi belirtilmezse Accept , hizmet varsayılan olarak bir image/jpeg işler.

Hizmet yalnızca tek bir çerçevenin işlenmesini destekler. Birden çok çerçeveye sahip bir örnek için işleme istenirse, varsayılan olarak yalnızca ilk kare görüntü olarak işlenir.

Döndürülecek belirli bir çerçeveyi belirtirken, çerçeve dizinleme 1'de başlar.

Sorgu quality parametresi de desteklenir. Sorgu parametresi için değer olarak ve 100 dahil (1 en kötü kalite ve 100 en iyi kalite) arasında 1 bir tamsayı değeri geçirilebilir. Bu parametre olarak jpegişlenen görüntüler için kullanılır ve işleme istekleri için png yoksayılır. Belirtilmezse parametresi varsayılan olarak 100olur.

Özgün sürümü alma

Toplu güncelleştirme işlemini kullanmak, bir çalışmanın, serinin veya örneğin özgün ve en son sürümünü almanıza olanak tanır. Bir çalışmanın, serinin veya örneğin en son sürümü her zaman varsayılan olarak döndürülür. Üst bilgi trueolarak ayarlanarak msdicom-request-original özgün sürüm döndürülebilir. Burada örnek bir istek gösterilmiştir:

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

Yanıt durum kodlarını alma

Kod Description
200 (OK) İstenen tüm veriler alındı.
304 (Not Modified) son istek sonrasında istenen veriler değiştirilmedi. İçerik bu durumda yanıt gövdesine eklenmez. Daha fazla bilgi için yukarıdaki Meta Veri Önbelleği Doğrulamasını Alma (Çalışma, Seri veya Örnek için) bölümüne bakın.
400 (Bad Request) İstek hatalı biçimlendirildi. Örneğin, sağlanan çalışma örneği tanımlayıcısı beklenen UID biçimine uymadı veya istenen aktarım söz dizimi kodlaması desteklenmiyor.
401 (Unauthorized) İstemcinin kimliği doğrulanmamış.
403 (Forbidden) Kullanıcı yetkilendirilmiyor.
404 (Not Found) Belirtilen DICOM kaynağı bulunamadı veya işlenmiş istek için örnek piksel verileri içermiyordu.
406 (Not Acceptable) Belirtilen Accept üst bilgi desteklenmiyor veya işlenen ve dönüştürülen istekler için istenen dosya çok büyük.
424 (Failed Dependency) DICOM hizmeti, bu isteği tamamlamak için bağımlı olduğu bir kaynağa erişemiyor. Buna örnek olarak bağlı Data Lake deposuna veya müşteri tarafından yönetilen anahtar şifrelemesini desteklemeye yönelik anahtar kasasına erişilememesi gösterilebilir.
503 (Service Unavailable) Hizmet kullanılamıyor veya meşgul. Daha sonra tekrar deneyin.

Arama (QIDO-RS)

DICOM Nesnelerinin (QIDO) kimliğine dayalı sorgu, özniteliklere göre çalışmaları, serileri ve örnekleri aramanızı sağlar.

Metot Yol Açıklama
Çalışmaları Ara
GET .. /Çalışmaları?... Çalışmalar için arama
Seri ara
GET .. /silsile?... Seri arama
GET .. /studies/{study}/series?... Bir çalışmada seri arama
Örnek Ara
GET .. /Örnek?... Örnekleri arama
GET .. /studies/{study}/instances?... Çalışmadaki örnekleri arama
GET .. /studies/{study}/series/{series}/instances?... Serideki örnekleri arama

Arama için aşağıdaki Accept üst bilgiler desteklenir:

  • application/dicom+json

v1'den değişiklikleri arama

v1 API'sinde ve v2 için devam ettiyse, bir veya daha fazla mevcut örnekte dizine alınamayan bir etiket değeri olduğundan genişletilmiş sorgu etiketinde hata varsa, genişletilmiş sorgu etiketini içeren sonraki arama sorguları belgelerde ayrıntılı olarak gösterildiği gibi döndürürerroneous-dicom-attributes. Ancak, STOW-RS'den doğrulama uyarılarına sahip etiketler (öznitelik olarak da bilinir) bu üst bilgide yer almaz . Bir depo isteği, örneğin depolandığı sırada aranabilir öznitelikler için doğrulama uyarılarıyla sonuçlanırsa, depolanan örneği aramak için bu öznitelikler kullanılamayabilir. Ancak, aynı çalışmadaki veya serideki örnekler tarafından başarısız olandan sonra depolanan değerler üzerine yazılırsa veya değerler önceki bir örnek tarafından zaten doğru şekilde depolanmışsa, doğrulama başarısız olan aranabilir öznitelikler sonuç döndürebilir. Öznitelik değerlerinin üzerine yazılmazsa, herhangi bir arama sonucu üretmez.

Bir öznitelik aşağıdaki yollarla düzeltilebilir:

  • Depolanan örneği silin ve düzeltilen verileri içeren yeni bir örneği karşıya yükleyin

  • Düzeltilmiş verilerle aynı çalışma/seriye yeni bir örnek yükleme

Desteklenen arama parametreleri

Her sorgu için aşağıdaki parametreler desteklenir:

Anahtar Destek Değerleri İzin Verilen Sayı Açıklama
{attributeID}= {value} 0...N Sorguda öznitelik/değer eşleştirme araması.
includefield= {attributeID}
all
0...N Yanıtta döndürülecek diğer öznitelikler. Hem genel hem de özel etiketler desteklenir.
Sağlandığında all daha fazla bilgi için Arama Yanıtı'na bakın.
ve'nin {attributeID} all bir karışımı sağlanırsa, sunucu varsayılan olarak öğesini kullanır all.
limit= {value} 0..1 Yanıtta döndürülen değerlerin sayısını sınırlamak için tamsayı değeri.
Değer 1 >= x <= 200 aralığı arasında olabilir. Varsayılan değer 100'dır.
offset= {value} 0..1 Sonuçları atlayın {value} .
Bir uzaklık, arama sorgusu sonuçları sayısından daha fazla sağlanırsa, 204 (içerik yok) yanıtı döndürülür.
fuzzymatching= true / false 0..1 PatientName özniteliğine doğru benzer eşleşme uygulanıyorsa. PatientName değerinin içindeki herhangi bir ad bölümünün ön ek sözcük eşleşmesini yapar. Örneğin, PatientName "John^Doe" ise, "joh", "do", "jo do", "Doe" ve "John Doe" eşleşir. Ancak "ohn" eşleşmiyor.

Aranabilir öznitelikler

Aşağıdaki öznitelikleri ve arama türlerini aramayı destekliyoruz.

Öznitelik Anahtar Sözcüğü Tüm Çalışmalar Tüm Seriler Tüm Örnekler Çalışma Serisi Çalışma Örnekleri Study Series'in Örnekleri
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

Not

Hiçbir öznitelik için boş dize kullanarak arama yapmayı desteklemiyoruz.

Arama eşleştirme

Aşağıdaki eşleşen türleri destekliyoruz.

Arama Türü Desteklenen Öznitelik Örnek
Aralık Sorgusu StudyDate/PatientBirthDate {attributeID}={value1}-{value2}. Tarih/saat değerleri için etikette kapsayıcı bir aralığı destekliyoruz. Bu aralık ile attributeID >= {value1} AND attributeID <= {value2}eşlenir. Belirtilmezse {value1} , önceki ve dahil {value2} edilen tarih/saatlerin tüm oluşumları eşleştirilir. Benzer şekilde, belirtilmezse {value2} , tüm oluşumları {value1} ve sonraki tarihler/saatler eşleştirilir. Ancak, bu değerlerden birinin mevcut olması gerekir. {attributeID}={value1}- ve {attributeID}=-{value2} geçerlidir ancak {attributeID}=- geçersizdir.
Tam Eşleşme Desteklenen tüm öznitelikler {attributeID}={value1}
Benzer Eşleşme PatientName, ReferringPhysicianName Adın değerle başlayan herhangi bir bileşeniyle eşleşir.

Öznitelik Kimliği

Etiketler, sorgu parametresi için çeşitli yollarla kodlanabilir. PS3.18 6.7.1.1.1'de tanımlandığı şekilde standardı kısmen uyguladık. Bir etiket için bu kodlamalar desteklenir:

Değer Örnek
{group}{element} 0020000D
{dicomKeyword} StudyInstanceUID

Örnekleri arayan örnek sorgu:

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

Arama yanıtı

Yanıt, DICOM veri kümelerinden oluşan bir dizidir. Kaynağa bağlı olarak, varsayılan olarak aşağıdaki öznitelikler döndürülür:

Varsayılan Çalışma etiketleri

Etiket Öznitelik Adı
(0008, 0020) StudyDate
(0008, 0050) AccessionNumber
(0008, 1030) StudyDescription
(0009, 0090) ReferringPhysicianName
(0010, 0010) PatientName
(0010, 0020) PatientID
(0010, 0030) PatientBirthDate
(0020, 000D) StudyInstanceUID

Varsayılan Seri etiketleri

Etiket Öznitelik Adı
(0008, 0060) Modality
(0008, 1090) ManufacturerModelName
(0020, 000E) SeriesInstanceUID
(0040, 0244) PerformedProcedureStepStartDate

Varsayılan Örnek etiketleri

Etiket Öznitelik Adı
(0008, 0018) SOPInstanceUID

ise includefield=all, bu öznitelikler varsayılan özniteliklerle birlikte eklenir. Varsayılan özniteliklerle birlikte, bu liste her kaynak düzeyinde desteklenen özniteliklerin tam listesini içerir.

Diğer Çalışma etiketleri

Etiket Öznitelik Adı
(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

Diğer Seri etiketleri

Etiket Öznitelik Adı
(0008, 0005) SpecificCharacterSet
(0008, 0201) TimezoneOffsetFromUTC
(0020, 0011) SeriesNumber
(0020, 0060) Yanallık
(0008, 0021) SeriesDate
(0008, 0031) SeriesTime
(0008, 103E) SeriesDescription
(0040, 0245) PerformedProcedureStepStartTime
(0040, 0275) RequestAttributesSequence

Diğer Örnek etiketleri

Etiket Öznitelik Adı
(0008, 0005) SpecificCharacterSet
(0008, 0016) SOPClassUID
(0008, 0056) InstanceAvailability
(0008, 0201) TimezoneOffsetFromUTC
(0020, 0013) ÖrnekSayısı
(0028, 0010) Satırlar
(0028, 0011) Sütunlar
(0028, 0100) BitsAllocated
(0028, 0008) NumberOfFrames

Aşağıdaki öznitelikler döndürülür:

  • Kaynak URL'sindeki tüm eşleşen sorgu parametreleri ve UID'ler.
  • IncludeField bu kaynak düzeyinde desteklenen öznitelikler.
  • Hedef kaynak iseAll SeriesStudy, düzey öznitelikleri de döndürülür.
  • Hedef kaynak ise All InstancesStudy ve Series düzey öznitelikleri de döndürülür.
  • Hedef kaynak iseStudy's InstancesSeries, düzey öznitelikleri de döndürülür.
  • NumberOfStudyRelatedInstancestoplama özniteliği düzeyinde includeFielddesteklenirStudy.
  • NumberOfSeriesRelatedInstancestoplama özniteliği düzeyinde includeFielddesteklenirSeries.

Arama yanıtı kodları

Sorgu API'si yanıtta aşağıdaki durum kodlarından birini döndürür:

Kod Description
200 (OK) Yanıt yükü eşleşen tüm kaynakları içerir.
204 (No Content) Arama başarıyla tamamlandı ancak sonuç döndürmedi.
400 (Bad Request) Sorgu bileşeni geçersiz olduğundan sunucu sorguyu gerçekleştiremedi. Yanıt gövdesi hatanın ayrıntılarını içerir.
401 (Unauthorized) İstemcinin kimliği doğrulanmamış.
403 (Forbidden) Kullanıcı yetkilendirilmiyor.
424 (Failed Dependency) DICOM hizmeti, bu isteği tamamlamak için bağımlı olduğu bir kaynağa erişemiyor. Buna örnek olarak bağlı Data Lake deposuna veya müşteri tarafından yönetilen anahtar şifrelemesini desteklemeye yönelik anahtar kasasına erişilememesi gösterilebilir.
503 (Service Unavailable) Hizmet kullanılamıyor veya meşgul. Daha sonra tekrar deneyin.

Notlar

  • kullanarak TimezoneOffsetFromUTC (00080201) sorgulama desteklenmez.
  • Sorgu API'si döndürmüyor 413 (request entity too large). İstenen sorgu yanıt sınırı kabul edilebilir aralığın dışındaysa, hatalı bir istek döndürülür. Kabul edilebilir aralık içinde istenen her şey çözümlenir.
  • Hedef kaynak Etüt/Seri olduğunda, birden çok örnekte tutarsız çalışma/seri düzeyi meta verileri olasılığı vardır. Örneğin, iki örneğin farklı patientName'i olabilir. Bu durumda en son kazançlar elde edilir ve yalnızca en son verilerde arama yapabilirsiniz.
  • Disk belleğine alınan sonuçlar, ilk olarak eşleşen en yeni örneği döndürecek şekilde iyileştirilmiştir ve sorguyla eşleşen daha yeni veriler eklendiğinde sonraki sayfalarda yinelenen kayıtlara neden olabilir.
  • Eşleştirme, PN VR türleri için büyük/küçük harfe duyarlıdır ve aksan duyarlıdır.
  • Eşleştirme, diğer dize VR türleri için büyük/küçük harfe duyarlıdır ve aksan duyarlıdır.
  • Yalnızca ilk değer, hatalı bir şekilde birden çok değere sahip tek bir değerli veri öğesinin dizini oluşturulur.
  • Varsayılan özniteliklerin kullanılması veya istenen sonuç sayısının sınırlanması performansı en üst düzeye çıkarır.
  • Bir öznitelik null doldurma kullanılarak depolandığında, uri kodlamasında null doldurma ile veya olmadan aranabilir. Alınan sonuçlar, hem ile hem de null doldurma olmadan depolanan özniteliklere yöneliktir.

Sil

Bu işlem resmi DICOMweb Standard'ın bir parçası değildir. Store'dan Çalışmalar, Seriler ve Örnekler'in gösterimlerini kaldırmak için DELETE yöntemini kullanır.

Metot Yol Açıklama
SİL .. /studies/{study} Belirli bir çalışma için tüm örnekleri silin.
SİL .. /studies/{study}/series/{series} Bir çalışmadaki belirli bir serinin tüm örneklerini silin.
SİL .. /studies/{study}/series/{series}/instances/{instance} Seri içindeki belirli bir örneği silin.

, ve parametreleri studysırasıyla , SeriesInstanceUIDve SopInstanceUID DICOM özniteliklerine StudyInstanceUIDkarşılık instance gelir. series

İsteğin üst bilgisi, Content-Type üst bilgisi veya gövde içeriğinde herhangi bir Accept kısıtlama yoktur.

Not

Silme işleminden sonra silinen örnekler kurtarılamaz.

Yanıt durum kodları

Kod Description
204 (No Content) Tüm SOP örnekleri silindiğinde.
400 (Bad Request) İstek hatalı biçimlendirildi.
401 (Unauthorized) İstemcinin kimliği doğrulanmamış.
403 (Forbidden) Kullanıcı yetkilendirilmiyor.
404 (Not Found) Belirtilen seri bir çalışma içinde bulunamadığında veya belirtilen örnek seri içinde bulunamadığında.
424 (Failed Dependency) DICOM hizmeti, bu isteği tamamlamak için bağımlı olduğu bir kaynağa erişemiyor. Buna örnek olarak bağlı Data Lake deposuna veya müşteri tarafından yönetilen anahtar şifrelemesini desteklemeye yönelik anahtar kasasına erişilememesi gösterilebilir.
503 (Service Unavailable) Hizmet kullanılamıyor veya meşgul. Daha sonra tekrar deneyin.

Yanıt yükünü silme

Yanıt gövdesi boş. Döndürülen tek yararlı bilgi durum kodudur.

İş Listesi Hizmeti (UPS-RS)

DICOM hizmeti, Worklist Hizmeti'nin (UPS-RS) Gönderme ve Çekme SOP'lerini destekler. Bu hizmet, her biri Birleştirilmiş Yordam Adımını (UPS) temsil eden Workitems içeren bir Worklist'e erişim sağlar.

URI şablonundaki değişken {workitem} , workitem UID anlamına gelir.

Kullanılabilir UPS-RS uç noktaları şunlardır:

Fiil Yol Açıklama
POST {s}/workitems{? AffectedSOPInstanceUID} İş öğesi oluştur
POST {s}/workitems/{instance}{?transaction} Bir iş öğesini güncelleştir
GET {s}/workitems{?query*} İş öğelerini arama
GET {s}/workitems/{instance} İş öğesi alma
PUT {s}/workitems/{instance}/state İş öğesi durumunu değiştirme
POST {s}/workitems/{instance}/cancelrequest İş öğesini iptal et
POST {s}/workitems/{instance}/subscribers/{AETitle}{?deletionlock} Abonelik oluşturma
POST {s}/workitems/1.2.840.10008.5.1.4.34.5/ Aboneliği askıya alma
SİL {s}/workitems/{instance}/subscribers/{AETitle} Aboneliği silme
GET {s}/aboneler/{AETitle} Abonelik kanalını açma

Workitem Oluşturma

Bu işlem, yeni bir Workitem oluşturmak için POST yöntemini kullanır.

Metot Yol Açıklama
POST .. /workitems Bir Workitem oluşturun.
POST .. /workitems? {workitem} Belirtilen UID ile bir Workitem oluşturur.

URI'de belirtilmezse yük veri kümesi özniteliğinde Workitem içermelidir SOPInstanceUID .

Accept ve Content-Type üst bilgileri istekte gereklidir ve her ikisinin de değerine application/dicom+jsonsahip olması gerekir.

Belirli bir işlem bağlamında DICOM veri öznitelikleriyle ilgili çeşitli gereksinimler vardır. Özniteliklerin mevcut olması, mevcut olmaması, boş olması veya boş olmaması gerekebilir. Bu gereksinimler bu tabloda bulunabilir.

Not

Başvuru tablosu SOP Örneği UID'nin mevcut olmaması gerektiğini belirtse de, bu kılavuz DIMSE protokolüne özgüdür ve DICOMWeb'de farklı şekilde işlenir. URI'de değilse, SOP Örneği UID'sinin veri kümesinde mevcut olması gerekir.

Not

1C ve 2C dahil olmak üzere tüm koşullu gereksinim kodları isteğe bağlı olarak değerlendirilir.

Yanıt durum kodları oluşturma

Kod Description
201 (Created) Hedef Workitem başarıyla oluşturuldu.
400 (Bad Request) İstekle ilgili bir sorun oluştu. Örneğin istek yükü gereksinimleri karşılamadı.
401 (Unauthorized) İstemcinin kimliği doğrulanmamış.
403 (Forbidden) Kullanıcı yetkilendirilmiyor.
409 (Conflict) Workitem zaten var.
415 (Unsupported Media Type) Sağlanan Content-Type desteklenmez.
424 (Failed Dependency) DICOM hizmeti, bu isteği tamamlamak için bağımlı olduğu bir kaynağa erişemiyor. Buna örnek olarak bağlı Data Lake deposuna veya müşteri tarafından yönetilen anahtar şifrelemesini desteklemeye yönelik anahtar kasasına erişilememesi gösterilebilir.
503 (Service Unavailable) Hizmet kullanılamıyor veya meşgul. Daha sonra tekrar deneyin.

Yanıt yükü oluşturma

Başarı yanıtının yükü yoktur. Location ve Content-Location yanıt üst bilgileri, oluşturulan Workitem için bir URI başvurusu içerir.

Hata yanıtı yükü, hatayı açıklayan bir ileti içerir.

İptal isteğinde bulunma

Bu işlem, kullanıcının desteklenmeyen bir Workitem'in iptalini istemesine olanak tanır.

Dört geçerli Workitem durumu vardır:

  • SCHEDULED
  • IN PROGRESS
  • CANCELED
  • COMPLETED

Bu işlem yalnızca durumundaki SCHEDULED Workitem'lere karşı başarılı olur. Herhangi bir kullanıcı, İşlem UID'sini ayarlayarak ve durumunu IN PROGRESSolarak değiştirerek bir Workitem'in sahipliğini talep edebilir. Bundan sonra, kullanıcı yalnızca doğru Transaction UID'yi sağlayarak Workitem'i değiştirebilir. UPS, iptal isteklerinin ve diğer olayların iletilmesine izin veren İzleme ve Olay SOP sınıflarını tanımlasa da, bu DICOM hizmeti bu sınıfları uygulamaz ve bu nedenle hata döndüren iş öğelerinde iptal istekleri döndürür IN PROGRESS . Sahip olunan bir Workitem, Change Workitem State işlemi aracılığıyla iptal edilebilir.

Metot Yol Açıklama
POST .. /workitems/{workitem}/cancelrequest Zamanlanmış bir Workitem'in iptalini isteme

Content-Type Üst bilgi gereklidir ve değerine application/dicom+jsonsahip olmalıdır.

İstek yükü, DICOM Standard'da tanımlanan Eylem Bilgilerini içerebilir.

İstek iptali yanıt durumu kodları

Kod Description
202 (Accepted) İstek sunucu tarafından kabul edildi, ancak Target Workitem durumu henüz değiştirilmedi.
400 (Bad Request) İsteğin söz diziminde bir sorun oluştu.
401 (Unauthorized) İstemcinin kimliği doğrulanmamış.
403 (Forbidden) Kullanıcı yetkilendirilmiyor.
404 (Not Found) Target Workitem bulunamadı.
409 (Conflict) İstek, Hedef Çalışma Öğesinin geçerli durumuyla tutarsız. Örneğin, Target Workitem veya COMPLETED durumundadırSCHEDULED.
415 (Unsupported Media Type) Sağlanan Content-Type desteklenmez.
424 (Failed Dependency) DICOM hizmeti, bu isteği tamamlamak için bağımlı olduğu bir kaynağa erişemiyor. Buna örnek olarak bağlı Data Lake deposuna veya müşteri tarafından yönetilen anahtar şifrelemesini desteklemeye yönelik anahtar kasasına erişilememesi gösterilebilir.
503 (Service Unavailable) Hizmet kullanılamıyor veya meşgul. Daha sonra tekrar deneyin.

İptal yanıtı yükü isteme

Başarılı yanıtın yükü yoktur ve hata yanıtı yükü, hatayı açıklayan bir ileti içerir. Workitem Örneği zaten iptal edilmiş durumdaysa yanıt aşağıdaki HTTP Uyarısı üst bilgisini içerir: 299: The UPS is already in the requested state of CANCELED.

Workitem'i alma

Bu işlem bir Workitem alır. UPS DIMSE N-GET işlemine karşılık gelir.

Şu ifadeye bakın: https://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_11.5

Workitem kaynak sunucuda varsa, Workitem Kabul Edilebilir Medya Türünde döndürülür. Döndürülen Workitem, Transaction UID (0008.1195) Özniteliğini içermeyecektir. Bu, bu Özniteliğin erişim kilidi rolünü korumak için gereklidir.

Metot Yol Açıklama
GET .. /workitems/{workitem} Workitem alma isteği

Accept Üst bilgi gereklidir ve değerine application/dicom+jsonsahip olmalıdır.

Workitem yanıt durum kodlarını alma

Kod Description
200 (Tamam) Workitem Örneği başarıyla alındı.
400 (Hatalı İstek) İstekle ilgili bir sorun oluştu.
401 (Yetkisiz) İstemcinin kimliği doğrulanmamış.
403 (Yasak) Kullanıcı yetkilendirilmiyor.
404 (Bulunamadı) Target Workitem bulunamadı.
424 (Başarısız Bağımlılık) DICOM hizmeti, bu isteği tamamlamak için bağımlı olduğu bir kaynağa erişemiyor. Buna örnek olarak bağlı Data Lake deposuna veya müşteri tarafından yönetilen anahtar şifrelemesini desteklemeye yönelik anahtar kasasına erişilememesi gösterilebilir.
503 (Hizmet Kullanılamıyor) Hizmet kullanılamıyor veya meşgul. Daha sonra tekrar deneyin.

Workitem yanıt yükünü alma

  • Başarılı yanıtın, Seçili Medya Türü'nde istenen Workitem'i içeren tek bir parça yükü vardır.
  • Döndürülen Workitem, Workitem'in Transaction UID (0008, 1195) özniteliğini içermemelidir, çünkü bu yalnızca Sahip tarafından bilinmelidir.

Workitem'i güncelleştirme

Bu işlem, mevcut bir Workitem'in özniteliklerini değiştirir. UPS DIMSE N-SET işlemine karşılık gelir.

Şu ifadeye bakın: https://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_11.6

Şu anda durumunda Transaction UID olan bir Workitem'i SCHEDULED güncelleştirmek için özniteliği mevcut olmamalıdır. Durumundaki IN PROGRESS bir Workitem için isteğin sorgu parametresi olarak geçerli Transaction UID'yi içermesi gerekir. Workitem zaten veya durumlarındaysaCOMPLETED, yanıt olur400 (Bad Request).CANCELED

Metot Yol Açıklama
POST .. /workitems/{workitem}? {transaction-uid} Workitem İşlemlerini Güncelleştirme

Content-Type Üst bilgi gereklidir ve değerine application/dicom+jsonsahip olmalıdır.

İstek yükü, hedef Workitem'e uygulanacak değişiklikleri içeren bir veri kümesi içerir. Bir dizi değiştirildiğinde, istek yalnızca değiştirilecek Öğeler'i değil, dizideki tüm Öğeleri içermelidir. Grup olarak birden çok Özniteliği güncelleştirmeniz gerektiğinde, bunları birden çok istek olarak değil, tek bir istekte birden çok Öznitelik olarak güncelleştirin.

Belirli bir işlem bağlamında DICOM veri öznitelikleriyle ilgili birçok gereksinim vardır. Özniteliklerin mevcut olması, mevcut olmaması, boş olması veya boş olmaması gerekebilir. Bu gereksinimler bu tabloda bulunabilir.

Not

1C ve 2C dahil olmak üzere tüm koşullu gereksinim kodları isteğe bağlı olarak değerlendirilir.

Not

İstek, Yordam Adımı Durumu (0074.1000) özniteliğinin değerini ayarlayamaz. Yordam Adımı Durumu, Değişiklik Durumu işlemi veya İstek İptali işlemi kullanılarak yönetilir.

Workitem işlem yanıt durum kodlarını güncelleştirme

Kod Description
200 (OK) Target Workitem güncelleştirildi.
400 (Bad Request) İstekle ilgili bir sorun oluştu. Örneğin: (1) Hedef Çalışma Öğesi veya CANCELED durumundaydıCOMPLETED. (2) İşlem UID'i eksik. (3) İşlem UID'i yanlış. (4) veri kümesi gereksinimlere uygun değildi.
401 (Unauthorized) İstemcinin kimliği doğrulanmamış.
403 (Forbidden) Kullanıcı yetkilendirilmiyor.
404 (Not Found) Target Workitem bulunamadı.
409 (Conflict) İstek, Hedef Çalışma Öğesinin geçerli durumuyla tutarsız.
415 (Unsupported Media Type) Sağlanan Content-Type desteklenmez.
424 (Failed Dependency) DICOM hizmeti, bu isteği tamamlamak için bağımlı olduğu bir kaynağa erişemiyor. Buna örnek olarak bağlı Data Lake deposuna veya müşteri tarafından yönetilen anahtar şifrelemesini desteklemeye yönelik anahtar kasasına erişilememesi gösterilebilir.
503 (Service Unavailable) Hizmet kullanılamıyor veya meşgul. Daha sonra tekrar deneyin.

Workitem işlem yanıt yükünü güncelleştirme

Kaynak sunucu, Tablo 11.6.3-2'de gerektiği gibi üst bilgi alanlarını destekleyecektir.

Başarılı yanıtın yükü veya Durum Raporu belgesini içeren yükü yoktur.

Hata yanıtı yükü, hataları, uyarıları veya diğer yararlı bilgileri açıklayan bir Durum Raporu içerebilir.

Workitem durumunu değiştirme

Bu işlem bir Workitem'in durumunu değiştirmek için kullanılır. "UPS Durumunu Değiştir" UPS DIMSE N-ACTION işlemine karşılık gelir. Durum değişiklikleri, bir Workitem'in sahipliğini talep etmek, tamamlamak veya iptal etmek için kullanılır.

Şu ifadeye bakın: https://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_11.7

Workitem kaynak sunucuda varsa, Workitem Kabul Edilebilir Medya Türünde döndürülür. Döndürülen Workitem, Transaction UID (0008.1195) özniteliğini içermeyecektir. Bu, bu Özniteliğin rolünü burada açıklandığı gibi bir erişim kilidi olarak korumak için gereklidir.

Metot Yol Açıklama
PUT .. /workitems/{workitem}/state Workitem Durumunu Değiştir

Accept Üst bilgi gereklidir ve değerine application/dicom+jsonsahip olmalıdır.

İstek yükü, UPS Durum Veri Öğelerini Değiştir'i içermelidir. Bu veri öğeleri şunlardır:

  • İşlem UID(0008, 1195). İstek yükü bir İşlem UID'sini içermelidir. Kullanıcı aracısı, belirli bir Workitem için duruma geçiş isteğinde bulunurken İşlem UID'sini IN PROGRESS oluşturur. Kullanıcı aracısı, bu Workitem ile sonraki işlemlerde İşlem UID'sini sağlar.
  • Yordam Adım Durumu (0074, 1000). Yasal değerler istenen durum geçişine karşılık gelir. Bunlar: IN PROGRESS, COMPLETEDveya CANCELED.

Workitem durumu yanıt durum kodlarını değiştirme

Kod Description
200 (OK) Workitem Örneği başarıyla alındı.
400 (Bad Request) İstek şu nedenlerden biri nedeniyle gerçekleştirilemiyor: (1) Hedef Çalışma Öğesinin geçerli durumu göz önünde bulundurulduğunda istek geçerli değil. (2) İşlem UID'i eksik. (3) İşlem UID'sinin yanlış olması
401 (Unauthorized) İstemcinin kimliği doğrulanmamış.
403 (Forbidden) Kullanıcı yetkilendirilmiyor.
404 (Not Found) Target Workitem bulunamadı.
409 (Conflict) İstek, Hedef Çalışma Öğesinin geçerli durumuyla tutarsız.
424 (Failed Dependency) DICOM hizmeti, bu isteği tamamlamak için bağımlı olduğu bir kaynağa erişemiyor. Buna örnek olarak bağlı Data Lake deposuna veya müşteri tarafından yönetilen anahtar şifrelemesini desteklemeye yönelik anahtar kasasına erişilememesi gösterilebilir.
503 (Service Unavailable) Hizmet kullanılamıyor veya meşgul. Daha sonra tekrar deneyin.

Workitem durumu yanıt yükünü değiştirme

  • Yanıtlar, bölüm 11.7.3.2'de belirtilen üst bilgi alanlarını içerir.
  • Başarı yanıtının yükü yoktur.
  • Hata yanıtı yükü, hataları, uyarıları veya diğer yararlı bilgileri açıklayan bir Durum Raporu içerebilir.

Workitems Arama

Bu işlem özniteliklere göre Workitems aramanızı sağlar.

Metot Yol Açıklama
GET .. /workitems? Workitems araması

Arama için aşağıdaki Accept üst bilgiler desteklenir:

  • application/dicom+json

Desteklenen Arama Parametreleri

Her sorgu için aşağıdaki parametreler desteklenir:

Anahtar Destek Değerleri İzin Verilen Sayı Açıklama
{attributeID}= {value} 0...N Sorguda öznitelik/değer eşleştirme araması.
includefield= {attributeID}
all
0...N Yanıtta döndürülecek diğer öznitelikler. Dizilerin parçası olan öznitelikler değil, yalnızca en üst düzey öznitelikler eklenebilir. Hem genel hem de özel etiketler desteklenir. Sağlandığında all , her sorgu türü için hangi özniteliklerin döndürüldiği hakkında daha fazla bilgi için bkz . Arama Yanıtı . ve'nin {attributeID} all bir karışımı sağlanırsa, sunucu varsayılan olarak 'all' kullanır.
limit= {value} 0...1 Yanıtta döndürülen değerlerin sayısını sınırlamak için tamsayı değeri. Değer aralığı 1 >= x <= 200arasında olabilir. varsayılan değeridir 100.
offset= {value} 0...1 {value} sonuçlarını atlayın. Arama sorgusu sonuçları sayısından daha büyük bir uzaklık sağlanırsa, bir 204 (no content) yanıt döndürülür.
fuzzymatching= true | false 0...1 Kişi Adı (PN) Değer Gösterimi (VR) ile tüm özniteliklere gerçek benzer eşleşme uygulanıyorsa. Bu özniteliklerin içindeki herhangi bir ad bölümünün ön ek sözcük eşleşmesini yapar. Örneğin, ise PatientName John^Doe, joh, do, jo doDoe ve John Doe tüm eşleşmeleri. Ancak ohn eşleşmiyor.
Aranabilir Öznitelikler

Bu özniteliklerde aramayı destekliyoruz:

Öznitelik Anahtar Sözcüğü
PatientName
PatientID
ReferencedRequestSequence.AccessionNumber
ReferencedRequestSequence.RequestedProcedureID
ScheduledProcedureStepStartDateTime
ScheduledStationNameCodeSequence.CodeValue
ScheduledStationClassCodeSequence.CodeValue
ScheduledStationGeographicLocationCodeSequence.CodeValue
ProcedureStepState
StudyInstanceUID

Not

Hiçbir öznitelik için boş dize kullanarak arama yapmayı desteklemiyoruz.

Arama Eşleştirme

Şu eşleşen türleri destekliyoruz:

Arama Türü Desteklenen Öznitelik Örnek
Aralık Sorgusu Scheduled​Procedure​Step​Start​Date​Time {attributeID}={value1}-{value2}. Tarih/saat değerleri için etikette kapsayıcı bir aralığı destekliyoruz. Bu aralık ile attributeID >= {value1} AND attributeID <= {value2}eşlenir. Belirtilmezse {value1} , tarih/saatlerden önceki ve dahil {value2} edilen tüm oluşumlar eşleştirilir. Benzer şekilde, belirtilmezse {value2} , tüm oluşumları {value1} ve sonraki tarihler/saatler eşleştirilir. Ancak, bu değerlerden birinin mevcut olması gerekir. {attributeID}={value1}- ancak {attributeID}=-{value2} geçerli {attributeID}=- değildir.
Tam Eşleşme Desteklenen tüm öznitelikler {attributeID}={value1}
Benzer Eşleşme PatientName Adın değerle başlayan herhangi bir bileşeniyle eşleşir.

Not

Tam dizi eşleştirmeyi desteklemesek de, bir dizide yer alan listelenen özniteliklerde tam eşleşmeyi destekliyoruz.

Öznitelik Kimliği

Etiketler, sorgu parametresi için birçok yolla kodlanabilir. PS3.18 6.7.1.1.1'de tanımlandığı şekilde standardı kısmen uyguladık. Bir etiket için aşağıdaki kodlamalar desteklenir:

Değer Örnek
{group}{element} 00100010
{dicomKeyword} PatientName

Örnek sorgu:

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

Arama Yanıtı

Yanıt, aşağıdaki özniteliklerin döndürülür olduğu bir DICOM veri kümeleri dizisidir 0...N :

  • DÖNÜŞ Anahtarı Türü 1 veya 2 olan DICOM PowerShell 3.4 Tablo CC.2.5-3'teki tüm öznitelikler
  • KOŞULLU gereksinimlerin karşılandığı 1C Dönüş Anahtar Türüne sahip DICOM PowerShell 3.4 Tablo CC.2.5-3'teki tüm öznitelikler
  • Eşleştirme parametreleri olarak geçirilen diğer tüm Workitem öznitelikleri
  • Parametre değerleri olarak includefield geçirilen diğer tüm Workitem öznitelikleri

Arama Yanıt Kodları

Sorgu API'si yanıtta aşağıdaki durum kodlarından birini döndürür:

Kod Description
200 (OK) Yanıt yükü eşleşen tüm kaynakları içerir.
206 (Partial Content) Yanıt yükü yalnızca arama sonuçlarından bazılarını içerir ve gerisi uygun istek aracılığıyla istenebilir.
204 (No Content) Arama başarıyla tamamlandı ancak sonuç döndürmedi.
400 (Bad Request) İstekle ilgili bir sorun oluştu. Örneğin, geçersiz Sorgu Parametresi söz dizimi. Yanıt gövdesi hatanın ayrıntılarını içerir.
401 (Unauthorized) İstemcinin kimliği doğrulanmamış.
403 (Forbidden) Kullanıcı yetkilendirilmiyor.
424 (Failed Dependency) DICOM hizmeti, bu isteği tamamlamak için bağımlı olduğu bir kaynağa erişemiyor. Buna örnek olarak bağlı Data Lake deposuna veya müşteri tarafından yönetilen anahtar şifrelemesini desteklemeye yönelik anahtar kasasına erişilememesi gösterilebilir.
503 (Service Unavailable) Hizmet kullanılamıyor veya meşgul. Daha sonra tekrar deneyin.

Ek notlar

Sorgu API'si döndürmüyor 413 (request entity too large). İstenen sorgu yanıt sınırı kabul edilebilir aralığın dışındaysa, hatalı bir istek döndürülür. Kabul edilebilir aralık içinde istenen her şey çözümlenir.

  • Sayfalandırılmış sonuçlar, ilk olarak eşleşen en yeni örneği döndürecek şekilde iyileştirilmiştir ve bu da sorguyla eşleşen daha yeni veriler eklendiğinde sonraki sayfalarda yinelenen kayıtlara neden olabilir.
  • Eşleştirme, PN VR türleri için büyük/küçük harfe duyarlı değildir ve aksan duyarsızdır.
  • Eşleştirme, diğer dize VR türleri için büyük/küçük harfe duyarlı değildir ve aksan duyarlıdır.
  • Bir Workitem'i iptal edip aynı sorgunun aynı anda gerçekleştiği bir senaryo varsa, sorgu büyük olasılıkla güncelleştirilen Workitem'i dışlar ve yanıt kodu olur 206 (Partial Content).

Not

DICOM® , Tıbbi bilgilerin dijital iletişimleri ile ilgili Standartları yayınları için Ulusal Elektrik Üreticileri Birliği'nin tescilli ticari markasıdır.