Aracılığıyla paylaş


Genişletilmiş sorgu etiketleri

Genel Bakış

Varsayılan olarak, DICOM hizmeti uyumluluk bildiriminde belirtilen DICOM etiketlerinde sorgulamayı destekler. Genişletilmiş sorgu etiketleri etkinleştirildiğinde, etiket listesi uygulamanın ihtiyaçlarına göre kolayca genişletilebilir.

Aşağıda listelenen API'leri kullanarak kullanıcılar DICOM çalışmalarını, serilerini ve örneklerini QIDO-RS sorgularında belirtebilecekleri şekilde hem standart hem de özel DICOM etiketlerine dizinleyebilir.

API'ler

Sürüm: v1

Belirli bir DICOM hizmet örneğinde desteklenen etiketleri yönetmeye yardımcı olmak için aşağıdaki API uç noktaları eklenmiştir.

API Açıklama
POST .../extendedquerytags Genişletilmiş Sorgu Etiketleri Ekleme
GET .../extendedquerytags Genişletilmiş Sorgu Etiketlerini Listeleme
GET .../extendedquerytags/{tagPath} Genişletilmiş Sorgu Etiketi Al
DELETE .../extendedquerytags/{tagPath} Genişletilmiş Sorgu Etiketini Sil
PATCH .../extendedquerytags/{tagPath} Genişletilmiş Sorgu Etiketini Güncelleştir
GET .../extendedquerytags/{tagPath}/errors Genişletilmiş Sorgu Etiketi Hatalarını Listeleme
GET .../operations/{operationId} alma işlemi

Genişletilmiş sorgu etiketleri ekleme

Bir veya daha fazla genişletilmiş sorgu etiketi ekler ve geçerli DICOM örneklerini belirtilen etiketlerle yeniden dizinleyen uzun süre çalışan bir işlem başlatır.

POST .../extendedquerytags

İstek üst bilgisi

Name Gerekli Tür Açıklama
İçerik Türü True string application/json desteklenir

İstek gövdesi

Name Gerekli Tür Açıklama
body Eklemek için Genişletilmiş Sorgu Etiketi[]

Sınırlamalar

Aşağıdaki VR türleri desteklenir:

VR Açıklama Tek Değer Eşleştirme Aralık Eşleştirme Benzer Öğe Eşleştirme
AE Uygulama Varlığı X
AS Yaş Dizesi X
CS Kod Dizesi X
SAVCI Tarih X X
DS Ondalık Dize X
DT Tarih Saat X X
FD Kayan Nokta Çift X
FL Kayan Nokta Tek X
IS Tamsayı Dizesi X
LO Uzun Dize X
PN Kişi Adı X X
SH Kısa Dize X
SL İmzalı Uzun X
SS İmzalı Kısa X
TM Saat X X
Kullanıcı arabirimi Benzersiz Tanımlayıcı X
UL İmzasız Uzun X
ABD İmzasız Kısa X

Not

Öğe Dizisi (SQ) türünde bir etiket altındaki etiketler olan sıralı etiketler şu anda desteklenmemekte. En fazla 128 genişletilmiş sorgu etiketi ekleyebilirsiniz.

Yanıtlar

Ad Tür Açıklama
202 (Kabul Edildi) İşlem Başvurusu Genişletilmiş sorgu etiketi eklendi ve mevcut DICOM örneklerini yeniden dizine almak için uzun süre çalışan bir işlem başlatıldı
400 (Hatalı İstek) İstek gövdesinde geçersiz veriler var
409 (Çakışma) Bir veya daha fazla istenen sorgu etiketi zaten destekleniyor

Genişletilmiş sorgu etiketlerini listeleme

Tüm genişletilmiş sorgu etiketlerinin listeleri.

GET .../extendedquerytags

Yanıtlar

Ad Tür Açıklama
200 (Tamam) Genişletilmiş Sorgu Etiketi[] Genişletilmiş sorgu etiketlerini döndürür

Genişletilmiş sorgu etiketi alma

Genişletilmiş sorgu etiketi alın.

GET .../extendedquerytags/{tagPath}

URI parametreleri

Name İçinde Gerekli Tür Açıklama
tagPath path True string tagPath etiketin yoludur ve etiket veya anahtar sözcük olabilir. Örneğin, Hasta Kimliği veya ile 00100020 temsil edilir PatientId

Yanıtlar

Ad Tür Açıklama
200 (Tamam) Genişletilmiş Sorgu Etiketi Belirtilen ile genişletilmiş sorgu etiketi tagPath
400 (Hatalı İstek) İstenen etiket yolu geçersiz
404 (Bulunamadı) İstenen tagPath ile genişletilmiş sorgu etiketi bulunamadı

Genişletilmiş sorgu etiketini silme

Genişletilmiş sorgu etiketini silin.

DELETE .../extendedquerytags/{tagPath}

URI parametreleri

Name İçinde Gerekli Tür Açıklama
tagPath path True string tagPath etiketin yoludur ve etiket veya anahtar sözcük olabilir. Örneğin, Hasta Kimliği veya ile 00100020 temsil edilir PatientId

Yanıtlar

Ad Tür Açıklama
204 (İçerik Yok) İstenen tagPath ile genişletilmiş sorgu etiketi başarıyla silindi.
400 (Hatalı İstek) İstenen etiket yolu geçersiz.
404 (Bulunamadı) İstenen tagPath ile genişletilmiş sorgu etiketi bulunamadı

Genişletilmiş sorgu etiketini güncelleştirme

Genişletilmiş sorgu etiketini güncelleştirin.

PATCH .../extendedquerytags/{tagPath}

URI parametreleri

Name İçinde Gerekli Tür Açıklama
tagPath path True string tagPath etiketin yoludur ve etiket veya anahtar sözcük olabilir. Örneğin, Hasta Kimliği veya ile 00100020 temsil edilir PatientId

İstek üst bilgisi

Name Gerekli Tür Açıklama
İçerik Türü True string application/json desteklenir.

İstek gövdesi

Name Gerekli Tür Açıklama
body Güncelleştirme için Genişletilmiş Sorgu Etiketi

Yanıtlar

Ad Tür Açıklama
20 (Tamam) Genişletilmiş Sorgu Etiketi Güncelleştirilmiş genişletilmiş sorgu etiketi
400 (Hatalı İstek) İstenen etiket yolu veya gövdesi geçersiz
404 (Bulunamadı) İstenen tagPath ile genişletilmiş sorgu etiketi bulunamadı

Genişletilmiş sorgu etiketi hatalarını listeleme

Genişletilmiş sorgu etiketindeki hataları listeler.

GET .../extendedquerytags/{tagPath}/errors

URI parametreleri

Name İçinde Gerekli Tür Açıklama
tagPath path True string tagPath etiketin yoludur ve etiket veya anahtar sözcük olabilir. Örneğin, Hasta Kimliği veya ile 00100020 temsil edilir PatientId

Yanıtlar

Ad Tür Açıklama
200 (Tamam) Genişletilmiş Sorgu Etiketi Hatası[] Etiketle ilişkili genişletilmiş sorgu etiketi hatalarının listesi
400 (Hatalı İstek) İstenen etiket yolu geçersiz
404 (Bulunamadı) İstenen tagPath ile genişletilmiş sorgu etiketi bulunamadı

alma işlemi

Uzun süre çalışan bir işlem alın.

GET .../operations/{operationId}

URI parametreleri

Name İçinde Gerekli Tür Açıklama
operationId path True string İşlem kimliği

Yanıtlar

Ad Tür Açıklama
200 (Tamam) İşlem Belirtilen kimlik için tamamlanan işlem
202 (Kabul Edildi) İşlem Belirtilen kimlik için çalışan işlem
404 (Bulunamadı) İşlem bulunamadı

Genişletilmiş sorgu etiketleriyle QIDO

Etiket durumu

Genişletilmiş sorgu etiketinin Durumu geçerli durumu gösterir. Genişletilmiş sorgu etiketi ilk eklendiğinde, durumu olarak ayarlanır Addingve var olan DICOM örneklerini yeniden dizine almak için uzun süre çalışan bir işlem başlatılır. İşlem tamamlandıktan sonra etiket durumu olarak Readygüncelleştirilir. Genişletilmiş sorgu etiketi artık QIDO'da kullanılabilir.

Örneğin, Üretici Modeli Adı (0008.1090) etiketi eklenirse ve Ready durum olarak bundan sonra, depolanan örnekleri Üretici Modeli Adı'na göre filtrelemek için aşağıdaki sorgular kullanılabilir.

../instances?ManufacturerModelName=Microsoft

Bunlar mevcut etiketlerle de kullanılabilir. Örnek:

../instances?00081090=Microsoft&PatientName=Jo&fuzzyMatching=true

Etiket sorgusu durumu

QueryStatus , etiket için QIDO'ya izin verilip verilmeyeceğini gösterir. Reindex işlemi bir etiket için bir veya daha fazla DICOM örneğini işleyemezse, bu etiketin QueryStatus değeri otomatik olarak ayarlanır Disabled . Dizin oluşturma hatalarını yoksaymayı ve Genişletilmiş Sorgu Etiketi API'sini Güncelleştirme yoluyla değerini olarak ayarlayarak sorguların QueryStatus bu etiketi kullanmasına Enabled izin vermeyi seçebilirsiniz. El ile etkinleştirilmiş en az bir etikete başvuran tüm QIDO istekleri, yanıt üst bilgisinde erroneous-dicom-attributesdizin oluşturma hataları içeren etiket kümesini içerir.

Örneğin, genişletilmiş sorgu etiketinin PatientAge yeniden dizinleme sırasında hataları olduğunu ancak el ile etkinleştirildiğini varsayalım. Aşağıdaki sorgu için üst bilgide erroneous-dicom-attributes görebilirsinizPatientAge.

../instances?PatientAge=035Y

Tanımlar

Genişletilmiş sorgu etiketi

QIDO-RS için desteklenecek bir DICOM etiketi.

Ad Tür Açıklama
Yol string Normalde grup kimliği ve öğe kimliğinden oluşan etiketin yolu. Örneğin, PatientId (0010.0020) yol 00100020
VR string Bu etiketin değer gösterimi
PrivateCreator string Bu özel etiketi uygulayanın tanımlama kodu
Level Genişletilmiş Sorgu Etiketi Düzeyi Genişletilmiş sorgu etiketi düzeyi
Durum Genişletilmiş Sorgu Etiketi Durumu Genişletilmiş sorgu etiketinin durumu
QueryStatus Genişletilmiş Sorgu Etiketi Sorgu Durumu Genişletilmiş sorgu etiketinin sorgu durumu
Hatalar Genişletilmiş Sorgu Etiketi Hataları Başvurusu Genişletilmiş sorgu etiketi hatalarına başvuru
İşlem İşlem Başvurusu Uzun süre çalışan bir işleme başvuru

Kod örneği 1 , durum bilgisi Ready olan standart bir etikettir (0008.0070).

{
    "status": "Ready",
    "level": "Instance",
    "queryStatus": "Enabled",
    "path": "00080070",
    "vr": "LO"
}

Kod örneği 2 , durum bilgisi Adding olan standart bir etikettir (0010.1010). Üzerinde kimliği 1a5d0306d9624f699929ee1a59ed57a0 olan bir işlem çalışıyor ve şu ana kadar 21 hata oluştu.

{
    "status": "Adding",
    "level": "Study",
    "errors": {
        "count": 21,
        "href": "https://localhost:63838/extendedquerytags/00101010/errors"
    },
    "operation": {
        "id": "1a5d0306d9624f699929ee1a59ed57a0",
        "href": "https://localhost:63838/operations/1a5d0306d9624f699929ee1a59ed57a0"
    },
    "queryStatus": "Disabled",
    "path": "00101010",
    "vr": "AS"
}

İşlem başvurusu

Uzun süre çalışan bir işleme başvuru.

Ad Tür Description
ID string işlem kimliği
Href string İşlemin Uri'sini

İşlem

Uzun süre çalışan bir işlemi temsil eder.

Ad Tür Açıklama
OperationId string İşlem kimliği
OperationType İşlem Türü Uzun süre çalışan işlemin türü
CreatedTime string İşlemin oluşturulduğu saat
LastUpdatedTime string İşlemin son güncelleştirildiği saat
Durum İşlem Durumu İşlemin çalışma zamanı durumunu temsil eder
Percentcomplete Tamsayı İşlem tarafından tamamlanan çalışma yüzdesi
Kaynaklar Dize[] İşlemin oluşturduğu veya düzenlediği kaynak konumlarının toplanması

Aşağıdaki kod örneği , çalışan bir reindex işlemidir.

{
    "resources": [
        "https://localhost:63838/extendedquerytags/00101010"
    ],
    "operationId": "a99a8b51-78d4-4fd9-b004-b6c0bcaccf1d",
    "type": "Reindex",
    "createdTime": "2021-10-06T16:40:02.5247083Z",
    "lastUpdatedTime": "2021-10-06T16:40:04.5152934Z",
    "status": "Running",
    "percentComplete": 10
}

İşlem durumu

Uzun süre çalışan işlemin çalışma zamanı durumunu temsil eder.

Ad Tür Açıklama
Başlamadı string İşlem başlatılmamış
Çalışma string İşlem yürütülüyor ve henüz tamamlanmadı
Tamamlandı string İşlem başarıyla tamamlandı
Başarısız string bir veya daha fazla hatayla karşılaşıldıktan sonra işlem erken durduruldu

Genişletilmiş sorgu etiketi hatası

Genişletilmiş sorgu etiketi dizin oluşturma işlemi sırasında oluşan bir hata.

Ad Tür Açıklama
StudyInstanceUid string Dizin oluşturma hatalarının oluştuğu çalışma örneği UID
SeriesInstanceUid string Dizin oluşturma hatalarının oluştuğu seri örneği UID
SopInstanceUid string Dizin oluşturma hatalarının oluştuğu Sop örneği UID
CreatedTime string Hatanın oluştuğu saat (UTC)
ErrorMessage string Hata iletisi

Aşağıdaki kod örneği , DICOM örneğinde beklenmeyen bir değer uzunluğu hatası içeriyor. 2021-10-06T16:41:44.4783136'da oluştu.

{
    "studyInstanceUid": "2.25.253658084841524753870559471415339023884",
    "seriesInstanceUid": "2.25.309809095970466602239093351963447277833",
    "sopInstanceUid": "2.25.225286918605419873651833906117051809629",
    "createdTime": "2021-10-06T16:41:44.4783136",
    "errorMessage": "Value length is not expected."
}

Genişletilmiş sorgu etiketi hataları başvurusu

Genişletilmiş sorgu etiketi hatalarına başvuru.

Ad Tür Açıklama
Count Tamsayı Genişletilmiş sorgu etiketindeki toplam hata sayısı
Href string Genişletilmiş sorgu etiketi hataları için URI

İşlem türü

Uzun süre çalışan bir işlemin türü.

Ad Tür Açıklama
Reindex string Yeni etiketlere göre daha önce eklenen veriler için dizinleri güncelleştiren reindex işlemi

Genişletilmiş sorgu etiketi durumu

Genişletilmiş sorgu etiketinin durumu.

Ad Tür Açıklama
Ekleme string Genişletilmiş sorgu etiketi eklendi ve uzun süre çalışan bir işlem mevcut DICOM örneklerini yeniden dizine ekliyor
Hazır string Genişletilmiş sorgu etiketi QIDO-RS için hazır
Siliniyor string Genişletilmiş sorgu etiketi siliniyor

Genişletilmiş sorgu etiketi düzeyi

Bu etiketin uygulandığı DICOM bilgi hiyerarşisinin düzeyi.

Ad Tür Açıklama
Örnek string Genişletilmiş sorgu etiketi örnek düzeyinde geçerlidir
Seriler string Genişletilmiş sorgu etiketi seri düzeyinde geçerlidir
Çalışma string Genişletilmiş sorgu etiketi çalışma düzeyinde geçerlidir

Genişletilmiş sorgu etiketi sorgu durumu

Genişletilmiş sorgu etiketinin sorgu durumu.

Ad Tür Açıklama
Devre dışı string Genişletilmiş sorgu etiketinin sorgulanması yasak
Etkin string Genişletilmiş sorgu etiketinin sorgulanmasına izin verilir

Not

Reindex işlemi sırasında oluşan hatalar genişletilmiş sorgu etiketinde QIDO'yu devre dışı bırakır. Etkinleştirmek için Genişletilmiş Sorgu Etiketini Güncelleştir API'sini çağırabilirsiniz.

Güncelleştirme için genişletilmiş sorgu etiketi

Güncelleştirme için genişletilmiş sorgu etiketini temsil eder.

Ad Tür Açıklama
QueryStatus Genişletilmiş Sorgu Etiketi Sorgu Durumu Genişletilmiş sorgu etiketinin sorgu durumu

Eklemek için genişletilmiş sorgu etiketi

Eklemek için genişletilmiş sorgu etiketini temsil eder.

Name Gerekli Tür Açıklama
Yol True string Normalde grup kimliğinden ve öğe kimliğinden (0010.0020) oluşan etiketin PatientId yolu 00100020
VR string Bu etiketin değer gösterimi. Standart etiket için isteğe bağlıdır ve özel etiket için gereklidir
PrivateCreator string Bu özel etiketi uygulayanın tanımlama kodu. Yalnızca etiket özel etiket olduğunda ayarlanır
Level Doğru Genişletilmiş Sorgu Etiketi Düzeyi Bu etiketin ilgili olduğu hiyerarşiyi temsil eder. Çalışma, Seri veya Örneklerden biri olmalıdır

Kod örneği 1MicrosoftPC , örnek düzeyinde değer gösterimiyle SS birlikte özel etiketi (0401.1001) tanımlar.

{
    "Path": "04011001",
    "VR": "SS",
    "PrivateCreator": "MicrosoftPC",
    "Level": "Instance"
}

Kod örneği 2 , seri düzeyinde tanımlanan değer gösterimine sahip anahtar sözcük ManufacturerModelName içeren LO standart etiketi kullanır.

{
    "Path": "ManufacturerModelName",
    "VR": "LO",
    "Level": "Series"
}

Kod örneği 3 , standart etiketi (0010.0040) kullanır ve çalışmalar üzerinde tanımlanır. Değer gösterimi DICOM standardı tarafından zaten tanımlanmıştır.

{
    "Path": "00100040",
    "Level": "Study"
}

Özet

Bu kavramsal makale, DICOM hizmetindeki Genişletilmiş Sorgu Etiketi özelliğine genel bir bakış sağladı.

Sonraki adımlar

DICOM hizmetini dağıtma hakkında daha fazla bilgi için bkz.