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 00100020 PatientId |
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 00100020 PatientId |
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 00100020 PatientId |
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 Adding
a 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-attributes
odpově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