Utökade frågetaggar
Översikt
Som standard stöder DICOM-tjänsten frågor om de DICOM-taggar som anges i överensstämmelseinstrukmentet. Genom att aktivera utökade frågetaggar kan listan med taggar enkelt utökas baserat på programmets behov.
Med hjälp av API:erna som anges nedan kan användarna indexeras sina DICOM-studier, serier och instanser på både standard- och privata DICOM-taggar så att de kan anges i QIDO-RS-frågor.
API:er
Version: v1
För att hantera taggar som stöds i en viss DICOM-tjänstinstans har följande API-slutpunkter lagts till.
API | Beskrivning |
---|---|
POST .../extendedquerytags | Lägga till utökade frågetaggar |
GET .../extendedquerytags | Lista utökade frågetaggar |
GET .../extendedquerytags/{tagPath} | Hämta utökad frågetagg |
TA BORT .../extendedquerytags/{tagPath} | Ta bort utökad frågetagg |
PATCH .../extendedquerytags/{tagPath} | Uppdatera utökad frågetagg |
GET .../extendedquerytags/{tagPath}/errors | Lista utökade frågetaggfel |
GET .../operations/{operationId} | Hämta åtgärd |
Lägga till utökade frågetaggar
Lägger till en eller flera utökade frågetaggar och startar en tidskrävande åtgärd som indexerar om aktuella DICOM-instanser med de angivna taggarna.
POST .../extendedquerytags
Begärandehuvud
Namn | Krävs | Typ | Beskrivning |
---|---|---|---|
Content-Type | True | sträng |
application/json stöds |
Begärandetext
Namn | Krävs | Typ | Beskrivning |
---|---|---|---|
body |
Utökad frågetagg för att lägga till[] |
Begränsningar
Följande VR-typer stöds:
VR | Beskrivning | Matchning med ett värde | Intervallmatchning | Fuzzy-matchning |
---|---|---|---|---|
AE | Programentitet | X | ||
AS | Ålderssträng | X | ||
CS | Kodsträng | X | ||
DA | Date | X | X | |
DS | Decimalsträng | X | ||
DT | Datum och tid | X | X | |
FD | Flyttalsdubblett | X | ||
FL | Flyttal – enskild | X | ||
IS | Heltalssträng | X | ||
LO | Lång sträng | X | ||
PN | Personnamn | X | X | |
SH | Kort sträng | X | ||
SL | Signerad lång | X | ||
SS | Signerad kort | X | ||
TM | Tid | X | X | |
UI | Unik identifierare | X | ||
UL | Osignerad lång | X | ||
USA | Osignerad kort | X |
Anteckning
Sekventiella taggar, som är taggar under en tagg av typen Sekvens av objekt (SQ), stöds för närvarande inte. Du kan lägga till upp till 128 utökade frågetaggar.
Svar
Namn | Typ | Beskrivning |
---|---|---|
202 (godkänd) | Åtgärdsreferens | Utökade frågetaggar har lagts till och en långvarig åtgärd har startats för att indexera om befintliga DICOM-instanser |
400 (felaktig begäran) | Begärandetexten har ogiltiga data | |
409 (konflikt) | En eller flera begärda frågetaggar stöds redan |
Lista utökade frågetaggar
Listor över alla utökade frågetaggar.
GET .../extendedquerytags
Svar
Namn | Typ | Beskrivning |
---|---|---|
200 (OK) |
Utökad frågetagg[] |
Returnerar utökade frågetaggar |
Hämta utökad frågetagg
Hämta en utökad frågetagg.
GET .../extendedquerytags/{tagPath}
URI-parametrar
Namn | I | Krävs | Typ | Beskrivning |
---|---|---|---|---|
tagPath | path | True | sträng | tagPath är sökvägen för taggen, som kan vara antingen tagg eller nyckelord. Till exempel representeras patient-ID av 00100020 eller PatientId |
Svar
Namn | Typ | Beskrivning |
---|---|---|
200 (OK) | Utökad frågetagg | Den utökade frågetaggen med angiven tagPath |
400 (felaktig begäran) | Sökvägen till den begärda taggen är ogiltig | |
404 (hittades inte) | Det gick inte att hitta den utökade frågetaggen med begärd tagPath |
Ta bort utökad frågetagg
Ta bort en utökad frågetagg.
DELETE .../extendedquerytags/{tagPath}
URI-parametrar
Namn | I | Krävs | Typ | Beskrivning |
---|---|---|---|---|
tagPath | path | True | sträng | tagPath är sökvägen för taggen, som kan vara antingen tagg eller nyckelord. Till exempel representeras patient-ID av 00100020 eller PatientId |
Svar
Namn | Typ | Beskrivning |
---|---|---|
204 (inget innehåll) | Den utökade frågetaggen med begärd tagPath har tagits bort. | |
400 (felaktig begäran) | Den begärda taggsökvägen är ogiltig. | |
404 (hittades inte) | Det gick inte att hitta den utökade frågetaggen med begärd tagPath |
Uppdatera utökad frågetagg
Uppdatera en utökad frågetagg.
PATCH .../extendedquerytags/{tagPath}
URI-parametrar
Namn | I | Krävs | Typ | Beskrivning |
---|---|---|---|---|
tagPath | path | True | sträng | tagPath är sökvägen för taggen, som kan vara antingen tagg eller nyckelord. Till exempel representeras patient-ID av 00100020 eller PatientId |
Begärandehuvud
Namn | Krävs | Typ | Beskrivning |
---|---|---|---|
Content-Type | True | sträng |
application/json stöds. |
Begärandetext
Namn | Krävs | Typ | Beskrivning |
---|---|---|---|
body | Utökad frågetagg för uppdatering |
Svar
Namn | Typ | Beskrivning |
---|---|---|
20 (OK) | Utökad frågetagg | Den uppdaterade utökade frågetaggen |
400 (felaktig begäran) | Sökvägen eller brödtexten för den begärda taggen är ogiltig | |
404 (hittades inte) | Det gick inte att hitta den utökade frågetaggen med den begärda tagPath |
Visa en lista över fel med utökade frågetaggen
Visar en lista över fel på en utökad frågetagg.
GET .../extendedquerytags/{tagPath}/errors
URI-parametrar
Namn | I | Krävs | Typ | Beskrivning |
---|---|---|---|---|
tagPath | path | True | sträng | tagPath är sökvägen för taggen, som kan vara tagg eller nyckelord. Patient-ID representeras till exempel av 00100020 eller PatientId |
Svar
Namn | Typ | Beskrivning |
---|---|---|
200 (OK) |
Fel med utökad frågetagg[] |
Lista över utökade frågetaggfel som är associerade med taggen |
400 (felaktig begäran) | Sökvägen till den begärda taggen är ogiltig | |
404 (hittades inte) | Det gick inte att hitta den utökade frågetaggen med den begärda tagPath |
Hämta åtgärd
Få en tidskrävande åtgärd.
GET .../operations/{operationId}
URI-parametrar
Namn | I | Krävs | Typ | Beskrivning |
---|---|---|---|---|
operationId | path | True | sträng | Åtgärds-ID |
Svar
Namn | Typ | Beskrivning |
---|---|---|
200 (OK) | Åtgärd | Den slutförda åtgärden för det angivna ID:t |
202 (accepterad) | Åtgärd | Körningsåtgärden för det angivna ID:t |
404 (hittades inte) | Åtgärden hittades inte |
QIDO med utökade frågetaggar
Taggstatus
Status för den utökade frågetaggen anger aktuell status. När en utökad frågetagg först läggs till anges dess status till Adding
och en långvarig åtgärd startas för att indexera om befintliga DICOM-instanser. När åtgärden har slutförts uppdateras taggstatusen till Ready
. Den utökade frågetaggen kan nu användas i QIDO.
Om taggen Tillverkare modellnamn (0008,1090) läggs till, och i Ready
status, kan följande frågor därefter användas för att filtrera lagrade instanser efter tillverkarens modellnamn.
../instances?ManufacturerModelName=Microsoft
De kan också användas med befintliga taggar. Exempel:
../instances?00081090=Microsoft&PatientName=Jo&fuzzyMatching=true
Tagga frågestatus
QueryStatus anger om QIDO tillåts för taggen. När en omindexeringsåtgärd inte kan bearbeta en eller flera DICOM-instanser för en tagg anges taggens QueryStatus till Disabled
automatiskt. Du kan välja att ignorera indexeringsfel och tillåta att frågor använder den här taggen QueryStatus
genom att ange till Enabled
via Update Extended Query Tag API. Alla QIDO-begäranden som refererar till minst en manuellt aktiverad tagg innehåller uppsättningen taggar med indexeringsfel i svarshuvudet erroneous-dicom-attributes
.
Anta till exempel att den utökade frågetaggen PatientAge
hade fel under omindexeringen, men den aktiverades manuellt. För följande fråga skulle du kunna se PatientAge
i erroneous-dicom-attributes
rubriken.
../instances?PatientAge=035Y
Definitioner
Utökad frågetagg
En DICOM-tagg som stöds för QIDO-RS.
Namn | Typ | Beskrivning |
---|---|---|
Sökväg | sträng | Sökväg till tagg, som normalt består av grupp-ID och element-ID. (0010 0020) har till exempel PatientId sökväg 00100020 |
VR | sträng | Värderepresentation av den här taggen |
PrivateCreator | sträng | Identifieringskod för implementeraren för den här privata taggen |
Nivå | Utökad frågetaggnivå | Nivå för utökad frågetagg |
Status | Status för utökad frågetagg | Status för den utökade frågetaggen |
QueryStatus | Frågestatus för utökad frågetagg | Frågestatus för utökad frågetagg |
Fel | Felreferens för utökad frågetagg | Referens till fel med utökade frågetaggen |
Åtgärd | Åtgärdsreferens | Referens till en långvarig åtgärd |
Kodexempel 1 är en standardtagg (0008 0070) i Ready
status.
{
"status": "Ready",
"level": "Instance",
"queryStatus": "Enabled",
"path": "00080070",
"vr": "LO"
}
Kodexempel 2 är en standardtagg (0010 1010) i Adding
status. En åtgärd med ID 1a5d0306d9624f699929ee1a59ed57a0
körs på den och 21 fel har inträffat hittills.
{
"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"
}
Åtgärdsreferens
Referens till en långvarig åtgärd.
Namn | Typ | Description |
---|---|---|
ID | sträng | åtgärds-ID |
Href | sträng | URI till åtgärden |
Åtgärd
Representerar en långvarig åtgärd.
Namn | Typ | Beskrivning |
---|---|---|
OperationId | sträng | Åtgärds-ID |
Åtgärdstyp | Åtgärdstyp | Typ av tidskrävande åtgärd |
CreatedTime | sträng | Tid när åtgärden skapades |
LastUpdatedTime | sträng | Tid när åtgärden uppdaterades senast |
Status | Åtgärdsstatus | Representerar körningstidsstatus för åtgärden |
PercentComplete | Integer | Procentandel av arbetet som har slutförts av åtgärden |
Resurser | sträng[] |
Samling resurser som åtgärden skapar eller manipulerar |
Följande kodexempel är en omindexeringsåtgärd som körs.
{
"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
}
Åtgärdsstatus
Representerar körningstidsstatus för långvariga åtgärder.
Namn | Typ | Beskrivning |
---|---|---|
NotStarted | sträng | Åtgärden har inte startats |
Körs | sträng | Åtgärden körs och har ännu inte slutförts |
Slutförd | sträng | Åtgärden har slutförts |
Misslyckad | sträng | Åtgärden har stoppats i förtid efter att ett eller flera fel har påträffats |
Fel med utökad frågetagg
Ett fel som uppstod under en indexeringsåtgärd för utökade frågetagggar.
Namn | Typ | Beskrivning |
---|---|---|
StudyInstanceUid | sträng | UID för studieinstans där indexeringsfel uppstod |
SeriesInstanceUid | sträng | Serieinstans-UID där indexeringsfel uppstod |
SopInstanceUid | sträng | Sop-instans-UID där indexeringsfel uppstod |
CreatedTime | sträng | Tid när felet inträffade (UTC) |
ErrorMessage | sträng | Felmeddelande |
Följande kodexempel innehåller ett oväntat värdelängdsfel på en DICOM-instans. Det inträffade 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."
}
Felreferens för utökade frågetagggar
Referens till utökade frågetaggfel.
Namn | Typ | Beskrivning |
---|---|---|
Antal | Integer | Totalt antal fel på den utökade frågetaggen |
Href | sträng | URI för utökade frågetaggfel |
Åtgärdstyp
Typen av långvarig åtgärd.
Namn | Typ | Beskrivning |
---|---|---|
Indexera om | sträng | En omindexeringsåtgärd som uppdaterar indexen för tidigare tillagda data baserat på nya taggar |
Status för utökad frågetagg
Status för den utökade frågetaggen.
Namn | Typ | Beskrivning |
---|---|---|
Lägga | sträng | Den utökade frågetaggen har lagts till och en långvarig åtgärd indexerar om befintliga DICOM-instanser |
Redo | sträng | Den utökade frågetaggen är klar för QIDO-RS |
Tas bort | sträng | Den utökade frågetaggen tas bort |
Utökad frågetaggnivå
Nivån för DICOM-informationshierarkin där den här taggen gäller.
Namn | Typ | Beskrivning |
---|---|---|
Instans | sträng | Den utökade frågetaggen är relevant på instansnivå |
Serie | sträng | Den utökade frågetaggen är relevant på serienivå |
Studie | sträng | Den utökade frågetaggen är relevant på studienivå |
Frågestatus för utökad frågetagg
Frågestatus för den utökade frågetaggen.
Namn | Typ | Beskrivning |
---|---|---|
Inaktiverad | sträng | Den utökade frågetaggen kan inte efterfrågas |
Enabled | sträng | Den utökade frågetaggen kan efterfrågas |
Anteckning
Fel under omindexeringen inaktiverar QIDO på den utökade frågetaggen. Du kan anropa API:et Update Extended Query Tag för att aktivera det.
Utökad frågetagg för uppdatering
Representerar den utökade frågetaggen för uppdatering.
Namn | Typ | Beskrivning |
---|---|---|
QueryStatus | Frågestatus för utökad frågetagg | Frågestatus för den utökade frågetaggen |
Utökad frågetagg för att lägga till
Representerar den utökade frågetaggen för att lägga till.
Namn | Krävs | Typ | Beskrivning |
---|---|---|---|
Sökväg | True | sträng | Sökväg till tagg, som normalt består av grupp-ID och element-ID som är PatientId (0010 0020) har sökvägen 00100020 |
VR | sträng | Värderepresentation av den här taggen. Det är valfritt för standardtaggen och krävs för privat tagg | |
PrivateCreator | sträng | Identifieringskod för implementeraren för den här privata taggen. Ange endast när taggen är en privat tagg | |
Nivå | Sant | Utökad frågetaggnivå | Representerar den hierarki där den här taggen är relevant. Bör vara en av studier, serier eller instanser |
Kodexempel 1MicrosoftPC
definierar den privata taggen (0401 1001) med värderepresentationen SS
på instansnivå.
{
"Path": "04011001",
"VR": "SS",
"PrivateCreator": "MicrosoftPC",
"Level": "Instance"
}
Kodexempel 2 använder standardtaggen med nyckelordet ManufacturerModelName
med den LO
värderepresentation som definieras på serienivå.
{
"Path": "ManufacturerModelName",
"VR": "LO",
"Level": "Series"
}
Kodexempel 3 använder standardtaggen (0010 0040) och definieras i studier. Värderepresentationen definieras redan av DICOM-standarden.
{
"Path": "00100040",
"Level": "Study"
}
Sammanfattning
Den här konceptuella artikeln gav dig en översikt över funktionen Extended Query Tag i DICOM-tjänsten.
Nästa steg
Mer information om hur du distribuerar DICOM-tjänsten finns i