Uitgebreide querytags
Overzicht
Standaard ondersteunt de DICOM-service het uitvoeren van query's op de DICOM-tags die zijn opgegeven in de conformiteitsverklaring. Door uitgebreide querytags in te schakelen, kan de lijst met tags eenvoudig worden uitgebreid op basis van de behoeften van de toepassing.
Met behulp van de onderstaande API's kunnen gebruikers hun DICOM-studies, -reeksen en -exemplaren indexeren op zowel standaard- als privé-DICOM-tags, zodat ze kunnen worden opgegeven in QIDO-RS-query's.
API's
Versie: v1
Om de ondersteunde tags in een bepaald DICOM-service-exemplaar te beheren, zijn de volgende API-eindpunten toegevoegd.
API | Beschrijving |
---|---|
POST .../extendedquerytags | Uitgebreide querytags toevoegen |
GET .../extendedquerytags | Uitgebreide querytags weergeven |
GET .../extendedquerytags/{tagPath} | Uitgebreide querytag ophalen |
VERWIJDEREN .../extendedquerytags/{tagPath} | Uitgebreide querytag verwijderen |
PATCH .../extendedquerytags/{tagPath} | Uitgebreide querytag bijwerken |
GET .../extendedquerytags/{tagPath}/errors | Uitgebreide querytagfouten weergeven |
GET .../operations/{operationId} | Bewerking ophalen |
Uitgebreide querytags toevoegen
Voegt een of meer uitgebreide querytags toe en start een langlopende bewerking waarmee huidige DICOM-exemplaren opnieuw worden geïndexeerd met de opgegeven tag(s).
POST .../extendedquerytags
Aanvraagheader
Naam | Vereist | Type | Beschrijving |
---|---|---|---|
Content-Type | True | tekenreeks |
application/json wordt ondersteund |
Aanvraagbody
Naam | Vereist | Type | Beschrijving |
---|---|---|---|
body |
Uitgebreide querytag voor toevoegen[] |
Beperkingen
De volgende VR-typen worden ondersteund:
VR | Beschrijving | Overeenkomende enkele waarde | Bereikkoppeling | Fuzzy Matching |
---|---|---|---|---|
AE | Toepassingsentiteit | X | ||
AS | Tekenreeks leeftijd | X | ||
CS | Codereeks | X | ||
DA | Date | X | X | |
DS | Decimale tekenreeks | X | ||
DT | Datum/tijd | X | X | |
FD | Dubbele drijvende komma | X | ||
FL | Eén drijvendekommage | X | ||
IS | Tekenreeks geheel getal | X | ||
LO | Lange tekenreeks | X | ||
PN | Naam van persoon | X | X | |
SH | Korte tekenreeks | X | ||
SL | Lang ondertekend | X | ||
SS | Kort ondertekend | X | ||
TM | Tijd | X | X | |
Gebruikersinterface | Unieke id | X | ||
UL | Niet-ondertekend lang | X | ||
VS | Niet-ondertekend kort | X |
Notitie
Sequentiële tags, die tags zijn onder een tag van het type Reeks items (SQ), worden momenteel niet ondersteund. U kunt maximaal 128 uitgebreide querytags toevoegen.
Antwoorden
Naam | Type | Beschrijving |
---|---|---|
202 (geaccepteerd) | Bewerkingsreferentie | Uitgebreide querytag(s) zijn toegevoegd en er is een langdurige bewerking gestart om bestaande DICOM-exemplaren opnieuw te indexeren |
400 (Foute aanvraag) | Aanvraagbody bevat ongeldige gegevens | |
409 (Conflict) | Een of meer aangevraagde querytags worden al ondersteund |
Uitgebreide querytags weergeven
Een lijst met alle uitgebreide querytags.
GET .../extendedquerytags
Antwoorden
Naam | Type | Beschrijving |
---|---|---|
200 (OK) |
Uitgebreide querytag[] |
Retourneert uitgebreide querytags |
Uitgebreide querytag ophalen
Een uitgebreide querytag ophalen.
GET .../extendedquerytags/{tagPath}
URI-parameters
Naam | In | Vereist | Type | Beschrijving |
---|---|---|---|---|
tagPath | leertraject | True | tekenreeks | tagPath is het pad voor de tag. Dit kan tag of trefwoord zijn. Patiënt-id wordt bijvoorbeeld vertegenwoordigd door 00100020 of PatientId |
Antwoorden
Naam | Type | Beschrijving |
---|---|---|
200 (OK) | Uitgebreide querytag | De uitgebreide querytag met de opgegeven tagPath |
400 (Foute aanvraag) | Het aangevraagde tagpad is ongeldig | |
404 (niet gevonden) | Uitgebreide querytag met aangevraagd tagPath is niet gevonden |
Uitgebreide querytag verwijderen
Verwijder een uitgebreide querytag.
DELETE .../extendedquerytags/{tagPath}
URI-parameters
Naam | In | Vereist | Type | Beschrijving |
---|---|---|---|---|
tagPath | leertraject | True | tekenreeks | tagPath is het pad voor de tag. Dit kan tag of trefwoord zijn. Patiënt-id wordt bijvoorbeeld vertegenwoordigd door 00100020 of PatientId |
Antwoorden
Naam | Type | Beschrijving |
---|---|---|
204 (geen inhoud) | Uitgebreide querytag met aangevraagd tagPath is verwijderd. | |
400 (Foute aanvraag) | Het aangevraagde tagpad is ongeldig. | |
404 (niet gevonden) | Uitgebreide querytag met aangevraagd tagPath is niet gevonden |
Uitgebreide querytag bijwerken
Een uitgebreide querytag bijwerken.
PATCH .../extendedquerytags/{tagPath}
URI-parameters
Naam | In | Vereist | Type | Beschrijving |
---|---|---|---|---|
tagPath | leertraject | True | tekenreeks | tagPath is het pad voor de tag. Dit kan tag of trefwoord zijn. Patiënt-id wordt bijvoorbeeld vertegenwoordigd door 00100020 of PatientId |
Aanvraagheader
Naam | Vereist | Type | Beschrijving |
---|---|---|---|
Content-Type | True | tekenreeks |
application/json wordt ondersteund. |
Aanvraagbody
Naam | Vereist | Type | Beschrijving |
---|---|---|---|
body | Uitgebreide querytag voor bijwerken |
Antwoorden
Naam | Type | Beschrijving |
---|---|---|
20 (OK) | Uitgebreide querytag | De bijgewerkte uitgebreide querytag |
400 (Foute aanvraag) | Het aangevraagde tagpad of de hoofdtekst is ongeldig | |
404 (niet gevonden) | Uitgebreide querytag met aangevraagd tagPath is niet gevonden |
Uitgebreide querytagfouten weergeven
Bevat fouten in een uitgebreide querytag.
GET .../extendedquerytags/{tagPath}/errors
URI-parameters
Naam | In | Vereist | Type | Beschrijving |
---|---|---|---|---|
tagPath | leertraject | True | tekenreeks | tagPath is het pad voor de tag. Dit kan tag of trefwoord zijn. Patiënt-id wordt bijvoorbeeld vertegenwoordigd door 00100020 of PatientId |
Antwoorden
Naam | Type | Beschrijving |
---|---|---|
200 (OK) |
Fout met uitgebreide querytag[] |
Lijst met uitgebreide querytagfouten die zijn gekoppeld aan de tag |
400 (Foute aanvraag) | Het aangevraagde tagpad is ongeldig | |
404 (niet gevonden) | Uitgebreide querytag met aangevraagd tagPath is niet gevonden |
Bewerking ophalen
Een langdurige bewerking uitvoeren.
GET .../operations/{operationId}
URI-parameters
Naam | In | Vereist | Type | Beschrijving |
---|---|---|---|---|
operationId | leertraject | True | tekenreeks | De bewerkings-id |
Antwoorden
Naam | Type | Beschrijving |
---|---|---|
200 (OK) | Bewerking | De voltooide bewerking voor de opgegeven id |
202 (geaccepteerd) | Bewerking | De actieve bewerking voor de opgegeven id |
404 (niet gevonden) | De bewerking is niet gevonden |
QIDO met uitgebreide querytags
Tagstatus
De status van uitgebreide querytag geeft de huidige status aan. Wanneer een uitgebreide querytag voor het eerst wordt toegevoegd, wordt de status ervan ingesteld op Adding
en wordt een langlopende bewerking gestart om bestaande DICOM-exemplaren opnieuw te indexeren. Nadat de bewerking is voltooid, wordt de tagstatus bijgewerkt naar Ready
. De uitgebreide querytag kan nu worden gebruikt in QIDO.
Als bijvoorbeeld de tag Manufacturer Model Name (0008,1090) wordt toegevoegd en de status heeft Ready
, kunnen de volgende query's worden gebruikt om opgeslagen exemplaren te filteren op de naam van het fabrikantmodel.
../instances?ManufacturerModelName=Microsoft
Ze kunnen ook worden gebruikt met bestaande tags. Bijvoorbeeld:
../instances?00081090=Microsoft&PatientName=Jo&fuzzyMatching=true
Status van tagquery
QueryStatus geeft aan of QIDO is toegestaan voor de tag. Wanneer een bewerking voor opnieuw indexeren een of meer DICOM-exemplaren voor een tag niet kan verwerken, wordt QueryStatus van die tag automatisch ingesteld op Disabled
. U kunt ervoor kiezen om indexeringsfouten te negeren en toe te staan dat query's deze tag gebruiken door de QueryStatus
in te Enabled
stellen op via de API Uitgebreide querytag bijwerken. QIDO-aanvragen die verwijzen naar ten minste één handmatig ingeschakelde tag, bevatten de set tags met indexeringsfouten in de antwoordheader erroneous-dicom-attributes
.
Stel dat er fouten zijn opgetreden bij het opnieuw indexeren van de uitgebreide querytag PatientAge
, maar dat deze handmatig is ingeschakeld. Voor de volgende query ziet PatientAge
u in de erroneous-dicom-attributes
header.
../instances?PatientAge=035Y
Definities
Uitgebreide querytag
Een DICOM-tag die wordt ondersteund voor QIDO-RS.
Naam | Type | Beschrijving |
---|---|---|
Pad | tekenreeks | Pad van tag, normaal gesproken samengesteld uit groeps-id en element-id. Bijvoorbeeld PatientId (0010.0020) heeft een pad 00100020 |
VR | tekenreeks | Waardeweergave van deze tag |
PrivateCreator | tekenreeks | Identificatiecode van de implementeerfunctie van deze persoonlijke tag |
Niveau | Uitgebreid querytagniveau | Niveau van uitgebreide querytag |
Status | Status van uitgebreide querytag | Status van de uitgebreide querytag |
QueryStatus | Querystatus van uitgebreide querytag | Querystatus van uitgebreide querytag |
Fouten | Naslaginformatie over uitgebreide querytagfouten | Verwijzing naar uitgebreide querytagfouten |
Bewerking | Bewerkingsreferentie | Verwijzing naar een langdurige bewerking |
Codevoorbeeld 1 is een standaardtag (0008.0070) met Ready
de status.
{
"status": "Ready",
"level": "Instance",
"queryStatus": "Enabled",
"path": "00080070",
"vr": "LO"
}
Codevoorbeeld 2 is een standaardtag (0010,1010) met Adding
de status. Er wordt een bewerking met id 1a5d0306d9624f699929ee1a59ed57a0
uitgevoerd en er zijn tot nu toe 21 fouten opgetreden.
{
"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"
}
Bewerkingsreferentie
Verwijzing naar een langdurige bewerking.
Naam | Type | Beschrijving |
---|---|---|
Id | tekenreeks | bewerkings-id |
Href | tekenreeks | URI naar de bewerking |
Bewerking
Vertegenwoordigt een langdurige bewerking.
Naam | Type | Beschrijving |
---|---|---|
OperationId | tekenreeks | De bewerkings-id |
OperationType | Type bewerking | Type van de langdurige bewerking |
CreatedTime | tekenreeks | Tijdstip waarop de bewerking is gemaakt |
LastUpdatedTime | tekenreeks | Tijdstip waarop de bewerking de laatste keer is bijgewerkt |
Status | Bewerkingsstatus | Geeft de uitvoeringsstatus van de bewerking aan |
Percentage voltooid | Geheel getal | Percentage werk dat is voltooid door de bewerking |
Resources | Tekenreeks[] |
Verzameling van resourceslocaties die door de bewerking worden gemaakt of bewerkt |
Het volgende codevoorbeeld is een actieve herindexbewerking.
{
"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
}
Bewerkingsstatus
Vertegenwoordigt de uitvoeringsstatus van een langdurige bewerking.
Naam | Type | Beschrijving |
---|---|---|
Niet gestart | tekenreeks | De bewerking is niet gestart |
Wordt uitgevoerd | tekenreeks | De bewerking wordt uitgevoerd en is nog niet voltooid |
Voltooid | tekenreeks | De bewerking is voltooid |
Mislukt | tekenreeks | De bewerking is voortijdig gestopt nadat een of meer fouten zijn opgetreden |
Fout met uitgebreide querytag
Een fout die is opgetreden tijdens een uitgebreide indexeringsbewerking voor querytags.
Naam | Type | Beschrijving |
---|---|---|
StudyInstanceUid | tekenreeks | UID van het onderzoekexemplaar waar indexeringsfouten zijn opgetreden |
SeriesInstanceUid | tekenreeks | UID van het reeksexemplaar waarin indexeringsfouten zijn opgetreden |
SopInstanceUid | tekenreeks | UID van Sop-exemplaar waarin indexeringsfouten zijn opgetreden |
CreatedTime | tekenreeks | Tijdstip waarop de fout is opgetreden (UTC) |
ErrorMessage | tekenreeks | Foutbericht |
Het volgende codevoorbeeld bevat een onverwachte waardelengtefout op een DICOM-exemplaar. Dit gebeurde op 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."
}
Naslaginformatie over fouten in uitgebreide querytags
Verwijzing naar uitgebreide querytagfouten.
Naam | Type | Beschrijving |
---|---|---|
Count | Geheel getal | Totaal aantal fouten in de uitgebreide querytag |
Href | tekenreeks | URI naar uitgebreide querytagfouten |
Het type bewerking
Het type langlopende bewerking.
Naam | Type | Beschrijving |
---|---|---|
Opnieuw indexeren | tekenreeks | Een herindexeringsbewerking waarmee de indexen voor eerder toegevoegde gegevens worden bijgewerkt op basis van nieuwe tags |
Status van uitgebreide querytag
De status van uitgebreide querytag.
Naam | Type | Beschrijving |
---|---|---|
Toevoegen | tekenreeks | De uitgebreide querytag is toegevoegd en een langdurige bewerking is het opnieuw indexeren van bestaande DICOM-exemplaren |
Gereed | tekenreeks | De uitgebreide querytag is gereed voor QIDO-RS |
Verwijderen | tekenreeks | De uitgebreide querytag wordt verwijderd |
Uitgebreid querytagniveau
Het niveau van de DICOM-informatiehiërarchie waar deze tag van toepassing is.
Naam | Type | Beschrijving |
---|---|---|
Exemplaar | tekenreeks | De uitgebreide querytag is relevant op exemplaarniveau |
Reeks | tekenreeks | De uitgebreide querytag is relevant op reeksniveau |
Studie | tekenreeks | De uitgebreide querytag is relevant op studieniveau |
Querystatus van uitgebreide querytag
De querystatus van uitgebreide querytag.
Naam | Type | Beschrijving |
---|---|---|
Uitgeschakeld | tekenreeks | Er mag geen query worden uitgevoerd op de uitgebreide querytag |
Ingeschakeld | tekenreeks | Er mag een query worden uitgevoerd op de uitgebreide querytag |
Notitie
Fouten tijdens de herindexeringsbewerking schakelt QIDO uit op de uitgebreide querytag. U kunt de API Uitgebreide querytag bijwerken aanroepen om deze in te schakelen.
Uitgebreide querytag voor bijwerken
Vertegenwoordigt uitgebreide querytag voor het bijwerken.
Naam | Type | Beschrijving |
---|---|---|
QueryStatus | Querystatus van uitgebreide querytag | De querystatus van uitgebreide querytag |
Uitgebreide querytag voor toevoegen
Staat voor uitgebreide querytag voor toevoegen.
Naam | Vereist | Type | Beschrijving |
---|---|---|---|
Pad | True | tekenreeks | Pad van tag, normaal gesproken samengesteld uit de groeps-id en element-id die de PatientId (0010.0020) heeft pad 00100020 |
VR | tekenreeks | Waardeweergave van deze tag. Dit is optioneel voor standaardtag en vereist voor persoonlijke tag | |
PrivateCreator | tekenreeks | Identificatiecode van de implementeerfunctie van deze persoonlijke tag. Alleen ingesteld wanneer de tag een persoonlijke tag is | |
Niveau | Waar | Uitgebreid querytagniveau | Vertegenwoordigt de hiërarchie waarvoor deze tag relevant is. Moet een studie, reeks of exemplaar zijn |
Codevoorbeeld 1MicrosoftPC
is het definiëren van de persoonlijke tag (0401.1001) met de SS
waardeweergave op het exemplaarniveau.
{
"Path": "04011001",
"VR": "SS",
"PrivateCreator": "MicrosoftPC",
"Level": "Instance"
}
Codevoorbeeld 2 gebruikt de standaardtag met het trefwoord ManufacturerModelName
met de LO
waardeweergave die is gedefinieerd op reeksniveau.
{
"Path": "ManufacturerModelName",
"VR": "LO",
"Level": "Series"
}
Codevoorbeeld 3 gebruikt de standaardtag (0010.0040) en is gedefinieerd voor studies. De waardeweergave is al gedefinieerd door de DICOM-standaard.
{
"Path": "00100040",
"Level": "Study"
}
Samenvatting
In dit conceptuele artikel hebt u een overzicht gegeven van de functie Extended Query Tag in de DICOM-service.
Volgende stappen
Zie voor meer informatie over het implementeren van de DICOM-service