Sdílet prostřednictvím


Značky rozšířených dotazů

Přehled

Ve výchozím nastavení podporuje služba DICOM dotazování na značky DICOM zadané v příkazu shody. Povolením značek rozšířených dotazů je možné seznam značek snadno rozšířit podle potřeb aplikace.

Pomocí níže uvedených rozhraní API můžou uživatelé indexovat své studie, řady a instance DICOM na standardních i privátních značkách DICOM tak, aby je bylo možné zadat v dotazech QIDO-RS.

Rozhraní API

Verze: v1

Pro pomoc se správou podporovaných značek v dané instanci služby DICOM byly přidány následující koncové body rozhraní API.

Rozhraní API Popis
POST .../extendedquerytags Přidání značek rozšířených dotazů
GET .../extendedquerytags Vypsat značky rozšířených dotazů
GET .../extendedquerytags/{tagPath} Získání značky rozšířeného dotazu
DELETE .../extendedquerytags/{tagPath} Odstranit značku rozšířeného dotazu
PATCH .../extendedquerytags/{tagPath} Aktualizace značky rozšířeného dotazu
GET .../extendedquerytags/{tagPath}/errors Vypsat chyby značek rozšířených dotazů
GET .../operations/{operationId} Operace získání

Přidání značek rozšířených dotazů

Přidá jednu nebo více rozšířených značek dotazů a spustí dlouhotrvající operaci, která přeindexuje aktuální instance DICOM se zadanými značkami.

POST .../extendedquerytags

Hlavička požadavku

Name Požaduje se Typ Popis
Typ obsahu True řetězec application/json se podporuje.

Text požadavku

Name Požaduje se Typ Popis
text Rozšířená značka dotazu pro přidání[]

Omezení

Podporují se následující typy vr:

VR Popis Shoda s jednou hodnotou Porovnávání rozsahu Přibližné porovnávání
AE Entita aplikace ×
AS Řetězec stáří ×
CS Řetězec kódu ×
DA Datum × ×
DS Desetinný řetězec ×
DT Datum a čas × ×
FD Dvojitá plovoucí čárka ×
FL Jednoduchá čárka s plovoucí desetinou čárkou ×
IS Celočíselný řetězec ×
LO Dlouhý řetězec ×
PN Jméno osoby × ×
SH Krátký řetězec ×
SL Podepsáno dlouho ×
SS Sign Short ×
TM Čas × ×
Uživatelské rozhraní Jedinečný identifikátor ×
UL Unsigned Long ×
USA Unsigned Short ×

Poznámka

Sekvenční značky, což jsou značky pod značkou typu Sequence of Items (SQ), se v současné době nepodporují. Můžete přidat až 128 rozšířených značek dotazů.

Odpovědi

Název Typ Popis
202 (přijato) Referenční dokumentace k operaci Byly přidány rozšířené značky dotazů a byla spuštěna dlouhotrvající operace, která přeindexuje existující instance DICOM.
400 (Chybný požadavek) Text požadavku obsahuje neplatná data.
409 (Konflikt) Podporuje se už jedna nebo více značek požadovaných dotazů.

Výpis značek rozšířených dotazů

Seznamy všech značek rozšířených dotazů

GET .../extendedquerytags

Odpovědi

Název Typ Popis
200 (OK) Značka rozšířeného dotazu[] Vrátí rozšířené značky dotazů.

Získání značky rozšířeného dotazu

Získejte značku rozšířeného dotazu.

GET .../extendedquerytags/{tagPath}

Parametry identifikátoru URI

Name V Požaduje se Typ Popis
tagPath program True řetězec tagPath je cesta ke značce, která může být buď značka, nebo klíčové slovo. Například ID pacienta je reprezentováno nebo 00100020PatientId

Odpovědi

Název Typ Popis
200 (OK) Značka rozšířeného dotazu Značka rozšířeného dotazu se zadaným tagPath
400 (Chybný požadavek) Požadovaná cesta značky je neplatná.
404 (Nenalezena) Nebyla nalezena značka rozšířeného dotazu s požadovanou značkou tagPath.

Odstranit značku rozšířeného dotazu

Odstraňte značku rozšířeného dotazu.

DELETE .../extendedquerytags/{tagPath}

Parametry identifikátoru URI

Name V Požaduje se Typ Popis
tagPath program True řetězec tagPath je cesta ke značce, která může být buď značka, nebo klíčové slovo. Například ID pacienta je reprezentováno nebo 00100020PatientId

Odpovědi

Název Typ Popis
204 (žádný obsah) Značka rozšířeného dotazu s požadovanou značkou tagPath se úspěšně odstranila.
400 (Chybný požadavek) Požadovaná cesta značky je neplatná.
404 (Nenalezena) Nebyla nalezena značka rozšířeného dotazu s požadovanou značkou tagPath.

Aktualizace značky rozšířeného dotazu

Aktualizace značky rozšířeného dotazu

PATCH .../extendedquerytags/{tagPath}

Parametry identifikátoru URI

Name V Požaduje se Typ Popis
tagPath program True řetězec tagPath je cesta ke značce, která může být buď značka, nebo klíčové slovo. Například ID pacienta je reprezentováno nebo 00100020PatientId

Hlavička požadavku

Name Požaduje se Typ Popis
Typ obsahu True řetězec application/json se podporuje.

Text požadavku

Name Požaduje se Typ Popis
text Rozšířená značka dotazu pro aktualizaci

Odpovědi

Název Typ Popis
20 (OK) Značka rozšířeného dotazu Aktualizovaná značka rozšířeného dotazu
400 (Chybný požadavek) Požadovaná cesta nebo text značky je neplatný.
404 (Nenalezena) Rozšířená značka dotazu s požadovanou značkou tagPath se nenašla.

Výpis chyb značek rozšířených dotazů

Zobrazí chyby u značky rozšířeného dotazu.

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

Parametry identifikátoru URI

Name V Požaduje se Typ Popis
tagPath program True řetězec tagPath je cesta pro značku, která může být buď značka, nebo klíčové slovo. Například ID pacienta je reprezentováno 00100020 nebo PatientId

Odpovědi

Název Typ Popis
200 (OK) Chyba značky rozšířeného dotazu[] Seznam chyb značek rozšířených dotazů přidružených ke značce
400 (Chybný požadavek) Požadovaná cesta značky je neplatná.
404 (Nenalezena) Rozšířená značka dotazu s požadovanou značkou tagPath se nenašla.

Operace získání

Získejte dlouhotrvající operaci.

GET .../operations/{operationId}

Parametry identifikátoru URI

Name V Požaduje se Typ Popis
operationId program True řetězec ID operace

Odpovědi

Název Typ Popis
200 (OK) Operace Dokončená operace pro zadané ID
202 (přijato) Operace Spuštěná operace pro zadané ID
404 (Nenalezena) Operace se nenašla.

QIDO s rozšířenými značkami dotazů

Stav značky

Stav značky rozšířeného dotazu označuje aktuální stav. Při prvním přidání rozšířené značky dotazu se její stav nastaví na Addinga spustí se dlouhotrvající operace, která přeindexuje existující instance DICOM. Po dokončení operace se stav značky aktualizuje na Ready. Rozšířenou značku dotazu je teď možné použít v QIDO.

Pokud je například přidána značka Manufacturer Model Name (0008,1090) a ve Ready stavu, dají se následující dotazy použít k filtrování uložených instancí podle názvu modelu výrobce.

../instances?ManufacturerModelName=Microsoft

Dají se také použít s existujícími značkami. Příklad:

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

Stav dotazu značky

QueryStatus označuje, jestli je pro značku povolený QIDO. Pokud se operaci přeindexování nepodaří zpracovat jednu nebo více instancí DICOM pro značku, nastaví se Disabled na hodnotu QueryStatus této značky automaticky. Můžete se rozhodnout ignorovat chyby indexování a povolit dotazům používat tuto značku tak, že nastavíte QueryStatus na Enabled možnost Aktualizovat rozhraní API značek rozšířených dotazů . Všechny požadavky QIDO, které odkazují alespoň na jednu ručně povolenou značku, budou v hlavičce erroneous-dicom-attributesodpovědi obsahovat sadu značek s chybami indexování .

Předpokládejme například, že u značky PatientAge rozšířeného dotazu došlo při přeindexování k chybám, ale byla povolena ručně. U následujícího dotazu uvidíte PatientAge v hlavičce erroneous-dicom-attributes .

../instances?PatientAge=035Y

Definice

Značka rozšířeného dotazu

Značka DICOM, která bude podporována pro QIDO-RS.

Název Typ Popis
Cesta řetězec Cesta značky, která se obvykle skládá z ID skupiny a ID elementu. Například PatientId (0010,0020) má cestu 00100020
VR řetězec Vyjádření hodnoty této značky
PrivateCreator řetězec Identifikační kód implementátoru této privátní značky
Level Úroveň rozšířené značky dotazu Úroveň značky rozšířeného dotazu
Stav Stav značky rozšířeného dotazu Stav značky rozšířeného dotazu
QueryStatus Stav dotazu značky rozšířeného dotazu Stav dotazu u značky rozšířeného dotazu
Chyby Referenční informace k chybám značek rozšířených dotazů Odkaz na chyby značek rozšířených dotazů
Operace Referenční informace o operaci Odkaz na dlouhotrvající operaci

Příklad kódu 1 je standardní značka (0008 0070) ve Ready stavu.

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

Příklad kódu 2 je standardní značka (0010,1010) ve Adding stavu. Je na ní spuštěná operace s ID 1a5d0306d9624f699929ee1a59ed57a0 a zatím došlo k chybám 21.

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

Referenční informace o operacích

Odkaz na dlouhotrvající operaci.

Název Typ Popis
ID řetězec ID operace
Href řetězec Identifikátor URI operace

Operace

Představuje dlouhotrvající operaci.

Název Typ Popis
Id operace řetězec ID operace
Typ operace Typ operace Typ dlouhotrvající operace
CreatedTime řetězec Čas vytvoření operace
LastUpdatedTime řetězec Čas poslední aktualizace operace
Stav Stav operace Představuje stav operace za běhu.
PercentComplete Integer Procento dokončené práce operací
Zdroje informací řetězec[] Kolekce umístění prostředků, které operace vytváří nebo s nimi manipuluje

Následující příklad kódu je spuštěná operace reindexování.

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

Stav operace

Představuje stav běhu dlouhotrvající operace.

Název Typ Popis
Nezahájené řetězec Operace se nespustila.
Spuštěno řetězec Operace se provádí a ještě se nedokončila.
Dokončeno řetězec Operace se úspěšně dokončila.
Neúspěšný řetězec Operace se předčasně zastavila poté, co došlo k jedné nebo více chybám.

Chyba značky rozšířeného dotazu

Chyba, ke které došlo během operace indexování značek rozšířených dotazů.

Název Typ Popis
StudyInstanceUid řetězec UID instance studie, kde došlo k chybám indexování
SeriesInstanceUid řetězec UID instance řady, kde došlo k chybám indexování
SopInstanceUid řetězec UID Sop instance, kde došlo k chybám indexování
CreatedTime řetězec Čas, kdy došlo k chybě (UTC)
ErrorMessage řetězec Chybová zpráva

Následující příklad kódu obsahuje neočekávanou chybu délky hodnoty v instanci DICOM. Došlo k tomu v 2021-10-06T16:41:44.4783136.

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

Referenční informace k chybám značek rozšířených dotazů

Odkaz na chyby značek rozšířených dotazů

Název Typ Popis
Počet Integer Celkový počet chyb u značky rozšířeného dotazu
Href řetězec Chyby identifikátoru URI rozšířené značky dotazu

Typ operace

Typ dlouhotrvající operace.

Název Typ Popis
Přeindexovat řetězec Operace přeindexování, která aktualizuje indexy pro dříve přidaná data na základě nových značek

Stav značky rozšířeného dotazu

Stav značky rozšířeného dotazu

Název Typ Popis
Přidání řetězec Byla přidána značka rozšířeného dotazu a dlouhotrvající operace přeindexuje existující instance DICOM.
Připraveno řetězec Značka rozšířeného dotazu je připravená pro QIDO-RS.
odstraňování řetězec Odstraňuje se značka rozšířeného dotazu.

Úroveň rozšířené značky dotazu

Úroveň informační hierarchie DICOM, na které se tato značka vztahuje.

Název Typ Popis
Instance řetězec Značka rozšířeného dotazu je relevantní na úrovni instance.
Řada řetězec Značka rozšířeného dotazu je relevantní na úrovni řady.
Studie řetězec Značka rozšířeného dotazu je relevantní na úrovni studie.

Stav rozšířené značky dotazu

Stav dotazu rozšířené značky dotazu.

Název Typ Popis
Zakázáno řetězec Dotazování na značku rozšířeného dotazu není povoleno.
Povoleno řetězec Dotazování na značku rozšířeného dotazu je povoleno.

Poznámka

Chyby během operace přeindexování deaktivují funkci QIDO u značky rozšířeného dotazu. Můžete ho povolit voláním rozhraní API pro aktualizaci značek rozšířených dotazů .

Rozšířená značka dotazu pro aktualizaci

Představuje značku rozšířeného dotazu pro aktualizaci.

Název Typ Popis
QueryStatus Stav dotazu značky rozšířeného dotazu Stav dotazu rozšířené značky dotazu

Rozšířená značka dotazu pro přidání

Představuje značku rozšířeného dotazu pro přidání.

Name Požaduje se Typ Popis
Cesta True řetězec Cesta značky, která se obvykle skládá z ID skupiny a ID elementu PatientId (0010,0020), má cestu 00100020
VR řetězec Reprezentace hodnoty této značky Je volitelný pro standardní značku a vyžaduje se pro privátní značku.
PrivateCreator řetězec Identifikační kód implementátoru této privátní značky. Nastaveno pouze v případech, kdy je značka privátní značkou.
Level Ano Úroveň rozšířené značky dotazu Představuje hierarchii, ve které je tato značka relevantní. Měla by to být studie, série nebo instance.

Příklad kódu 1MicrosoftPC definuje privátní značku (0401,1001) s vyjádřením SS hodnoty na úrovni instance.

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

Příklad kódu 2 používá standardní značku s klíčovým slovem ManufacturerModelName s reprezentací LO hodnoty, která je definována na úrovni řady.

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

Příklad kódu 3 používá standardní značku (0010,0040) a je definován ve studiích. Reprezentace hodnoty je již definována standardem DICOM.

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

Souhrn

Tento koncepční článek vám poskytl přehled funkce rozšířené značky dotazu ve službě DICOM.

Další kroky

Další informace o nasazení služby DICOM najdete v tématu