Erweiterte Abfragetags
Übersicht
Standardmäßig unterstützt der DICOM-Dienst Abfragen der in der Konformitätsanweisung angegebenen DICOM-Tags. Durch das Aktivieren erweiterter Abfragetags kann die Liste der Tags problemlos basierend auf den Anforderungen der Anwendung erweitert werden.
Mithilfe der unten aufgeführten APIs können Benutzer ihre DICOM-Studien, -Reihen und -Instanzen sowohl für standardmäßige als auch für private DICOM-Tags indizieren, sodass sie in QIDO-RS-Abfragen angegeben werden können.
APIs
Version: v1
Um die unterstützten Tags in einem bestimmten DICOM-Dienst instance zu verwalten, wurden die folgenden API-Endpunkte hinzugefügt.
API | BESCHREIBUNG |
---|---|
POST .../extendedquerytags | Hinzufügen erweiterter Abfragetags |
GET .../extendedquerytags | Auflisten erweiterter Abfragetags |
GET .../extendedquerytags/{tagPath} | Abrufen eines erweiterten Abfragetags |
DELETE .../extendedquerytags/{tagPath} | Löschen des erweiterten Abfragetags |
PATCH .../extendedquerytags/{tagPath} | Aktualisieren des erweiterten Abfragetags |
GET .../extendedquerytags/{tagPath}/errors | Auflisten erweiterter Abfragetagfehler |
GET .../operations/{operationId} | Get-Vorgang |
Hinzufügen erweiterter Abfragetags
Fügt ein oder mehrere erweiterte Abfragetags hinzu und startet einen Vorgang mit langer Ausführungsdauer, der aktuelle DICOM-Instanzen mit den angegebenen Tag(n) neu indiziert.
POST .../extendedquerytags
Anforderungsheader
Name | Erforderlich | type | BESCHREIBUNG |
---|---|---|---|
Content-Type | True | Zeichenfolge |
application/json wird unterstützt |
Anforderungstext
Name | Erforderlich | type | BESCHREIBUNG |
---|---|---|---|
body |
Erweitertes Abfragetag zum Hinzufügen[] |
Einschränkungen
Die folgenden VR-Typen werden unterstützt:
VR | BESCHREIBUNG | Einzelwertabgleich | Bereichsabgleich | Fuzzyabgleich |
---|---|---|---|---|
AE | Anwendungsentität | X | ||
AS | Zeichenfolge für altern | X | ||
CS | Codezeichenfolge | X | ||
DA | Date | X | X | |
DS | Dezimalzeichenfolge | X | ||
DT | Datum und Uhrzeit | X | X | |
FD | Gleitkomma-Double | X | ||
FL | Gleitkomma single (Gleitkomma) | X | ||
IS | Ganzzahlige Zeichenfolge | X | ||
LO | Lange Zeichenfolge | X | ||
PN | Name der Person | X | X | |
SH | Kurze Zeichenfolge | X | ||
SL | Signierter Long-Wert | X | ||
SS | Signiert kurz | X | ||
TM | Time | X | X | |
Benutzeroberfläche | Eindeutiger Bezeichner | X | ||
UL | Unsigned Long | X | ||
US | Unsigned Short | X |
Hinweis
Sequenzielle Tags, bei denen es sich um Tags unter einem Tag vom Typ Sequence of Items (SQ) handelt, werden derzeit nicht unterstützt. Sie können bis zu 128 erweiterte Abfragetags hinzufügen.
Antworten
Name | type | BESCHREIBUNG |
---|---|---|
202 (Akzeptiert) | Vorgangsreferenz | Erweiterte Abfragetags wurden hinzugefügt, und es wurde ein Zeitintensiver Vorgang gestartet, um vorhandene DICOM-Instanzen neu zu indizieren. |
400 (Ungültige Anforderung) | Der Anforderungstext enthält ungültige Daten. | |
409 (Konflikt) | Mindestens ein angefordertes Abfragetag wird bereits unterstützt. |
Auflisten erweiterter Abfragetags
Listen aller erweiterten Abfragetags.
GET .../extendedquerytags
Antworten
Name | type | BESCHREIBUNG |
---|---|---|
200 (OK) |
Erweitertes Abfragetag[] |
Gibt erweiterte Abfragetags zurück. |
Abrufen eines erweiterten Abfragetags
Rufen Sie ein erweitertes Abfragetag ab.
GET .../extendedquerytags/{tagPath}
URI-Parameter
Name | Geben Sie in | Erforderlich | type | BESCHREIBUNG |
---|---|---|---|---|
tagPath | path | True | Zeichenfolge | tagPath ist der Pfad für das Tag, das entweder Tag oder Schlüsselwort (keyword) sein kann. Beispielsweise wird die Patienten-ID durch 00100020 oder dargestellt. PatientId |
Antworten
Name | type | BESCHREIBUNG |
---|---|---|
200 (OK) | Erweitertes Abfragetag | Das erweiterte Abfragetag mit dem angegebenen tagPath |
400 (Ungültige Anforderung) | Angeforderter Tagpfad ist ungültig. | |
404 (nicht gefunden) | Erweitertes Abfragetag mit angefordertem tagPath wurde nicht gefunden |
Löschen eines erweiterten Abfragetags
Löschen Sie ein erweitertes Abfragetag.
DELETE .../extendedquerytags/{tagPath}
URI-Parameter
Name | Geben Sie in | Erforderlich | type | BESCHREIBUNG |
---|---|---|---|---|
tagPath | path | True | Zeichenfolge | tagPath ist der Pfad für das Tag, das entweder Tag oder Schlüsselwort (keyword) sein kann. Beispielsweise wird die Patienten-ID durch 00100020 oder dargestellt. PatientId |
Antworten
Name | type | BESCHREIBUNG |
---|---|---|
204 (Kein Inhalt) | Das erweiterte Abfragetag mit angefordertem tagPath wurde erfolgreich gelöscht. | |
400 (Ungültige Anforderung) | Der angeforderte Tagpfad ist ungültig. | |
404 (nicht gefunden) | Erweitertes Abfragetag mit angefordertem tagPath wurde nicht gefunden |
Aktualisieren des erweiterten Abfragetags
Aktualisieren sie ein erweitertes Abfragetag.
PATCH .../extendedquerytags/{tagPath}
URI-Parameter
Name | Geben Sie in | Erforderlich | type | BESCHREIBUNG |
---|---|---|---|---|
tagPath | path | True | Zeichenfolge | tagPath ist der Pfad für das Tag, das entweder Tag oder Schlüsselwort (keyword) sein kann. Beispielsweise wird die Patienten-ID durch 00100020 oder dargestellt. PatientId |
Anforderungsheader
Name | Erforderlich | type | BESCHREIBUNG |
---|---|---|---|
Content-Type | True | Zeichenfolge |
application/json wird unterstützt. |
Anforderungstext
Name | Erforderlich | type | BESCHREIBUNG |
---|---|---|---|
body | Erweitertes Abfragetag für Die Aktualisierung |
Antworten
Name | type | BESCHREIBUNG |
---|---|---|
20 (OK) | Erweitertes Abfragetag | Das aktualisierte erweiterte Abfragetag |
400 (Ungültige Anforderung) | Angeforderter Tagpfad oder -text ist ungültig | |
404 (nicht gefunden) | Erweitertes Abfragetag mit angefordertem tagPath wurde nicht gefunden |
Auflisten erweiterter Abfragetagfehler
Listet Fehler in einem erweiterten Abfragetag auf.
GET .../extendedquerytags/{tagPath}/errors
URI-Parameter
Name | Geben Sie in | Erforderlich | type | BESCHREIBUNG |
---|---|---|---|---|
tagPath | path | True | Zeichenfolge | tagPath ist der Pfad für das Tag, das entweder Tag oder Schlüsselwort (keyword) sein kann. Beispielsweise wird die Patienten-ID durch 00100020 oder dargestellt. PatientId |
Antworten
Name | type | BESCHREIBUNG |
---|---|---|
200 (OK) |
Fehler beim erweiterten Abfragetag[] |
Liste erweiterter Abfragetagfehler, die dem Tag zugeordnet sind |
400 (Ungültige Anforderung) | Angeforderter Tagpfad ist ungültig. | |
404 (nicht gefunden) | Erweitertes Abfragetag mit angefordertem tagPath wurde nicht gefunden |
Get-Vorgang
Rufen Sie einen Vorgang mit langer Ausführungsdauer ab.
GET .../operations/{operationId}
URI-Parameter
Name | Geben Sie in | Erforderlich | type | BESCHREIBUNG |
---|---|---|---|---|
operationId | path | True | Zeichenfolge | Die Vorgangs-ID |
Antworten
Name | type | BESCHREIBUNG |
---|---|---|
200 (OK) | Vorgang | Der abgeschlossene Vorgang für die angegebene ID |
202 (Akzeptiert) | Vorgang | Der ausgeführte Vorgang für die angegebene ID |
404 (nicht gefunden) | Der Vorgang wurde nicht gefunden. |
QIDO mit erweiterten Abfragetags
Tag-status
Der Status des erweiterten Abfragetags gibt den aktuellen status an. Wenn ein erweitertes Abfragetag zum ersten Mal hinzugefügt wird, wird dessen status auf Adding
festgelegt, und ein Vorgang mit langer Ausführungszeit wird gestartet, um vorhandene DICOM-Instanzen neu zu indizieren. Nach Abschluss des Vorgangs wird das Tag status auf Ready
aktualisiert. Das erweiterte Abfragetag kann jetzt in QIDO verwendet werden.
Wenn beispielsweise das Tag Manufacturer Model Name (0008,1090) hinzugefügt wird und in Ready
status, können im Folgenden die folgenden Abfragen verwendet werden, um gespeicherte Instanzen nach dem Herstellermodellnamen zu filtern.
../instances?ManufacturerModelName=Microsoft
Sie können auch mit vorhandenen Tags verwendet werden. Beispiel:
../instances?00081090=Microsoft&PatientName=Jo&fuzzyMatching=true
Tagabfrage status
QueryStatus gibt an, ob QIDO für das Tag zulässig ist. Wenn bei einem Neuindizierungsvorgang eine oder mehrere DICOM-Instanzen für ein Tag nicht verarbeitet werden können, wird der QueryStatus dieses Tags automatisch auf Disabled
festgelegt. Sie können Indizierungsfehler ignorieren und Abfragen die Verwendung dieses Tags erlauben, indem Sie über die API für erweiterte Abfragetags aktualisieren auf QueryStatus
Enabled
festlegen. Alle QIDO-Anforderungen, die auf mindestens ein manuell aktiviertes Tag verweisen, enthalten den Satz von Tags mit Indizierungsfehlern im Antwortheader erroneous-dicom-attributes
.
Angenommen, das erweiterte Abfragetag PatientAge
hat während der Neuindizierung Fehler, aber es wurde manuell aktiviert. Für die folgende Abfrage können Sie im erroneous-dicom-attributes
Header sehenPatientAge
.
../instances?PatientAge=035Y
Definitionen
Erweitertes Abfragetag
Ein DICOM-Tag, das für QIDO-RS unterstützt wird.
Name | type | BESCHREIBUNG |
---|---|---|
`Path` | Zeichenfolge | Pfad des Tags, normalerweise bestehend aus Gruppen-ID und Element-ID. (0010,0020) weist den PatientId Pfad 00100020 |
VR | Zeichenfolge | Wertdarstellung dieses Tags |
PrivateCreator | Zeichenfolge | Identifikationscode des Implementierers dieses privaten Tags |
Ebene | Erweiterte Abfragetagebene | Ebene des erweiterten Abfragetags |
Status | Status des erweiterten Abfragetags | Status des erweiterten Abfragetags |
QueryStatus | Abfragestatus des erweiterten Abfragetags | Abfrage status des erweiterten Abfragetags |
Errors | Referenz zu Fehlern des erweiterten Abfragetags | Verweis auf Erweiterte Abfragetagfehler |
Vorgang | Vorgangsreferenz | Verweis auf einen Vorgang mit langer Ausführungsdauer |
Codebeispiel 1 ist ein Standardtag (0008.0070) in Ready
status.
{
"status": "Ready",
"level": "Instance",
"queryStatus": "Enabled",
"path": "00080070",
"vr": "LO"
}
Codebeispiel 2 ist ein Standardtag (0010,1010) in Adding
status. Ein Vorgang mit der ID 1a5d0306d9624f699929ee1a59ed57a0
wird darauf ausgeführt, und bisher sind 21 Fehler aufgetreten.
{
"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"
}
Vorgangsreferenz
Verweis auf einen Vorgang mit langer Ausführungsdauer.
Name | type | BESCHREIBUNG |
---|---|---|
id | Zeichenfolge | Vorgangs-ID |
Href | Zeichenfolge | URI für den Vorgang |
Vorgang
Stellt einen Vorgang mit langer Ausführungsdauer dar.
Name | type | BESCHREIBUNG |
---|---|---|
OperationId | Zeichenfolge | Die Vorgangs-ID |
OperationType | Operation Type | Typ des vorgangs mit langer Ausführungsdauer |
CreatedTime | Zeichenfolge | Zeitpunkt, zu dem der Vorgang erstellt wurde |
LastUpdatedTime | Zeichenfolge | Zeitpunkt der letzten Aktualisierung des Vorgangs |
Status | Vorgangsstatus | Stellt die Laufzeit status des Vorgangs dar. |
PercentComplete | Integer | Prozentsatz der durch den Vorgang abgeschlossenen Arbeiten |
Ressourcen | string[] |
Sammlung von Ressourcenstandorten, die der Vorgang erstellt oder bearbeitet |
Das folgende Codebeispiel ist ein ausgeführter Neuindizierungsvorgang.
{
"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
}
Vorgangsstatus
Stellt eine Laufzeit status des Vorgangs mit langer Ausführung dar.
Name | type | BESCHREIBUNG |
---|---|---|
NotStarted | Zeichenfolge | Der Vorgang wurde nicht gestartet. |
Wird ausgeführt | Zeichenfolge | Der Vorgang wird ausgeführt und ist noch nicht abgeschlossen. |
Abgeschlossen | Zeichenfolge | Der Vorgang wurde erfolgreich abgeschlossen. |
Fehler | Zeichenfolge | Der Vorgang wurde vorzeitig beendet, nachdem ein oder mehrere Fehler aufgetreten sind. |
Fehler beim erweiterten Abfragetag
Ein Fehler, der während eines Indizierungsvorgangs für erweiterte Abfragetags aufgetreten ist.
Name | type | BESCHREIBUNG |
---|---|---|
StudyInstanceUid | Zeichenfolge | Studie instance UID, bei denen Indizierungsfehler aufgetreten sind |
SeriesInstanceUid | Zeichenfolge | Serie instance UID, bei der Indizierungsfehler aufgetreten sind |
SopInstanceUid | Zeichenfolge | Sop instance UID, bei dem Indizierungsfehler aufgetreten sind |
CreatedTime | Zeichenfolge | Zeitpunkt des Auftretens eines Fehlers (UTC) |
ErrorMessage | Zeichenfolge | Fehlermeldung |
Das folgende Codebeispiel enthält einen unerwarteten Wertlängenfehler für eine DICOM-instance. Es ist am 2021-10-06T16:41:44.4783136 aufgetreten.
{
"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."
}
Referenz zu Erweiterten Abfragetagfehlern
Verweis auf Fehler mit erweiterten Abfragetags.
Name | type | BESCHREIBUNG |
---|---|---|
Anzahl | Integer | Gesamtanzahl der Fehler für das erweiterte Abfragetag |
Href | Zeichenfolge | URI zu erweiterten Abfragetagfehlern |
Vorgangsart
Der Typ eines Vorgangs mit langer Ausführungsdauer.
Name | type | BESCHREIBUNG |
---|---|---|
Neuindizieren | Zeichenfolge | Ein Neuindizierungsvorgang, bei dem die Indizes für zuvor hinzugefügte Daten basierend auf neuen Tags aktualisiert werden. |
Erweiterte abfragetag-status
Die status des erweiterten Abfragetags.
Name | type | BESCHREIBUNG |
---|---|---|
Wird hinzugefügt | Zeichenfolge | Das erweiterte Abfragetag wurde hinzugefügt, und ein Vorgang mit langer Ausführungszeit indiziert vorhandene DICOM-Instanzen neu. |
Bereit | Zeichenfolge | Das erweiterte Abfragetag ist bereit für QIDO-RS |
Wird gelöscht | Zeichenfolge | Das erweiterte Abfragetag wird gelöscht. |
Erweiterte Abfragetagebene
Die Ebene der DICOM-Informationshierarchie, auf die dieses Tag angewendet wird.
Name | type | BESCHREIBUNG |
---|---|---|
Instanz | Zeichenfolge | Das erweiterte Abfragetag ist auf instance Ebene relevant. |
Reihen | Zeichenfolge | Das erweiterte Abfragetag ist auf Reihenebene relevant. |
Studie | Zeichenfolge | Das erweiterte Abfragetag ist auf Studienebene relevant. |
Erweiterte Abfragetagabfrage status
Die Abfrage status des erweiterten Abfragetags.
Name | type | BESCHREIBUNG |
---|---|---|
Disabled | Zeichenfolge | Das erweiterte Abfragetag darf nicht abgefragt werden. |
Aktiviert | Zeichenfolge | Das erweiterte Abfragetag darf abgefragt werden. |
Hinweis
Fehler beim Neuindizierungsvorgang deaktivieren QIDO für das erweiterte Abfragetag. Sie können die API für erweiterte Abfragetags aktualisieren aufrufen, um sie zu aktivieren.
Erweitertes Abfragetag für die Aktualisierung
Stellt ein erweitertes Abfragetag für die Aktualisierung dar.
Name | type | BESCHREIBUNG |
---|---|---|
QueryStatus | Abfragestatus des erweiterten Abfragetags | Abfrage-status des erweiterten Abfragetags |
Erweitertes Abfragetag zum Hinzufügen
Stellt ein erweitertes Abfragetag zum Hinzufügen dar.
Name | Erforderlich | type | BESCHREIBUNG |
---|---|---|---|
Pfad | True | Zeichenfolge | Pfad des Tags, der normalerweise aus der Gruppen-ID und element-ID besteht, die die PatientId (0010,0020) ist, weist Pfad 00100020 |
VR | Zeichenfolge | Wertdarstellung dieses Tags. Es ist optional für Standardtags und für privates Tag erforderlich. | |
PrivateCreator | Zeichenfolge | Identifikationscode des Implementierers dieses privaten Tags. Nur festgelegt, wenn das Tag ein privates Tag ist | |
Ebene | True | Erweiterte Abfragetagebene | Stellt die Hierarchie dar, in der dieses Tag relevant ist. Sollte eine Studie, Serie oder Instanz sein |
Codebeispiel 1MicrosoftPC
definiert das private Tag (0401,1001) mit der SS
Wertdarstellung auf instance-Ebene.
{
"Path": "04011001",
"VR": "SS",
"PrivateCreator": "MicrosoftPC",
"Level": "Instance"
}
Codebeispiel 2 verwendet das Standardtag mit Schlüsselwort (keyword) ManufacturerModelName
mit der LO
Aufreihenebene definierten Wertdarstellung.
{
"Path": "ManufacturerModelName",
"VR": "LO",
"Level": "Series"
}
Codebeispiel 3 verwendet das Standardtag (0010,0040) und wird für Studien definiert. Die Wertdarstellung ist bereits durch den DICOM-Standard definiert.
{
"Path": "00100040",
"Level": "Study"
}
Zusammenfassung
In diesem konzeptionellen Artikel erhalten Sie eine Übersicht über das Feature "Erweiterte Abfragetags" innerhalb des DICOM-Diensts.
Nächste Schritte
Weitere Informationen zum Bereitstellen des DICOM-Diensts finden Sie unter