DICOM Conformance Statement v2
Notitie
API-versie 2 is de nieuwste API-versie. Zie DICOM-service-API v2-wijzigingen voor een lijst met wijzigingen in v2 in vergelijking met v1
De Medical Imaging Server voor DICOM® ondersteunt een subset van de DICOMweb Standard. Ondersteuning omvat:
Daarnaast worden deze niet-standaard-API's ondersteund:
De service maakt gebruik van REST API-versiebeheer. De versie van de REST API moet expliciet worden opgegeven als onderdeel van de basis-URL, zoals in het volgende voorbeeld:
https://<service_url>/v<version>/studies
Deze versie van de conformance-instructie komt overeen met de v2
versie van de REST API's.
Zie de documentatie voor API-versiebeheer voor meer informatie over het opgeven van de versie bij het indienen van aanvragen.
U vindt voorbeeldaanvragen voor ondersteunde transacties in de Postman-verzameling.
Opschoning van de preeken
De service negeert het bestand van 128 byte en vervangt de inhoud door null-tekens. Dit gedrag zorgt ervoor dat er geen bestanden die via de service worden doorgegeven, kwetsbaar zijn voor het beveiligingsprobleem met schadelijke voornaamwoorden. Deze preambule opschoning betekent echter ook dat pretogen die worden gebruikt voor het coderen van inhoud met dubbele indeling, zoals TIFF, niet kunnen worden gebruikt met de service.
Studies Service
Met de studiesservice kunnen gebruikers DICOM Studies, Series en Instances opslaan, ophalen en zoeken. We hebben de niet-standaard delete-transactie toegevoegd om een volledige levenscyclus van resources mogelijk te maken.
Winkel (STOW-RS)
Deze transactie maakt gebruik van de POST- of PUT-methode voor het opslaan van representaties van studies, reeksen en exemplaren in de nettolading van de aanvraag.
Wijze | Pad | Beschrijving |
---|---|---|
POSTEN | .. /Studies | Sla exemplaren op. |
POSTEN | .. /studies/{study} | Sla exemplaren op voor een specifieke studie. |
PUT | .. /Studies | Upsert-exemplaren. |
PUT | .. /studies/{study} | Upsert-exemplaren voor een specifieke studie. |
Parameter study
komt overeen met het DICOM-kenmerk StudyInstanceUID. Indien opgegeven, wordt een exemplaar dat niet tot het opgegeven onderzoek behoort, geweigerd met een 43265
waarschuwingscode.
Hieronder ziet u de enige antwoordheader Accept
die wordt ondersteund:
application/dicom+json
De volgende Content-Type
headers worden ondersteund:
multipart/related; type="application/dicom"
application/dicom
Notitie
De server zal geen kenmerken dwingen of vervangen die conflicteren met bestaande gegevens voor POST-aanvragen. Alle gegevens worden opgeslagen zoals opgegeven. Voor upsert-aanvragen (PUT) worden de bestaande gegevens vervangen door de nieuwe ontvangen gegevens.
Vereiste kenmerken opslaan
De volgende DICOM-elementen moeten aanwezig zijn in elk DICOM-bestand dat wordt opgeslagen:
StudyInstanceUID
SeriesInstanceUID
SOPInstanceUID
SOPClassUID
PatientID
Notitie
Alle UID's moeten tussen de 1 en 64 tekens lang zijn en mogen alleen alfanumerieke tekens of de volgende speciale tekens bevatten: .
, -
. PatientID
blijft een vereiste tag zijn en kan de waarde als null in de invoer hebben. PatientID
wordt gevalideerd op basis van het LO
VR
type.
Elk bestand dat is opgeslagen, moet een unieke combinatie hebben van StudyInstanceUID
, SeriesInstanceUID
en SopInstanceUID
. De waarschuwingscode 45070
wordt geretourneerd als er al een bestand met dezelfde id's bestaat.
Alleen overdrachtssyntaxis met expliciete waardeweergaven worden geaccepteerd.
Notitie
Aanvragen zijn beperkt tot 4 GB. Er kan geen enkel DICOM-bestand of een combinatie van bestanden deze limiet overschrijden.
Wijzigingen opslaan vanuit v1
In eerdere versies mislukt een Store-aanvraag als een van de vereiste of doorzoekbare kenmerken is mislukt. Vanaf V2 mislukt de aanvraag alleen als de validatie van vereiste kenmerken mislukt.
Validatie van kenmerken die niet zijn vereist voor de API, resulteert in het bestand dat wordt opgeslagen met een waarschuwing. Er wordt een waarschuwing gegeven over elk mislukt kenmerk per exemplaar. Wanneer een reeks een kenmerk bevat dat mislukt, of wanneer er meerdere problemen zijn met één kenmerk, wordt alleen de eerste reden van het mislukte kenmerk genoteerd.
Als een kenmerk wordt opgevuld met null-waarden, wordt het kenmerk geïndexeerd wanneer het doorzoekbaar is en wordt opgeslagen als in dicom+json-metagegevens. Er is geen validatiewaarschuwing opgegeven.
Antwoordstatuscodes opslaan
Code | Beschrijving |
---|---|
200 (OK) |
Alle SOP-exemplaren in de aanvraag zijn opgeslagen. |
202 (Accepted) |
De oorspronkelijke server heeft een aantal exemplaren opgeslagen en andere zijn mislukt of geretourneerde waarschuwingen. Aanvullende informatie over deze fout kan worden gevonden in de hoofdtekst van het antwoordbericht. |
204 (No Content) |
Er is geen inhoud opgegeven in de transactieaanvraag van het archief. |
400 (Bad Request) |
De aanvraag is onjuist opgemaakt. De opgegeven id van het onderzoekexemplaren voldoet bijvoorbeeld niet aan de verwachte UID-indeling. |
401 (Unauthorized) |
De client wordt niet geverifieerd. |
406 (Not Acceptable) |
De opgegeven Accept header wordt niet ondersteund. |
409 (Conflict) |
Geen van de exemplaren in de winkeltransactieaanvraag zijn opgeslagen. |
415 (Unsupported Media Type) |
De opgegeven Content-Type gegevens worden niet ondersteund. |
424 (Failed Dependency) |
De DICOM-service heeft geen toegang tot een resource die afhankelijk is van het voltooien van deze aanvraag. Een voorbeeld is het niet openen van de verbonden Data Lake Store of de sleutelkluis voor het ondersteunen van door de klant beheerde sleutelversleuteling. |
500 (Internal Server Error) |
Er is een onbekende interne fout opgetreden op de server. Probeer het later opnieuw. |
503 (Service Unavailable) |
De service is niet beschikbaar of bezet. Probeer het later opnieuw. |
Nettolading van reactie opslaan
De nettolading van het antwoord vult een DICOM-gegevensset met de volgende elementen:
Tag | Name | Beschrijving |
---|---|---|
(0008, 1190) | RetrieveURL |
De URL ophalen van de studie als de StudyInstanceUID is opgegeven in de winkelaanvraag en ten minste één exemplaar is opgeslagen. |
(0008, 1198) | FailedSOPSequence |
De reeks exemplaren die niet zijn opgeslagen. |
(0008, 1199) | ReferencedSOPSequence |
De volgorde van opgeslagen exemplaren. |
Elke gegevensset in de FailedSOPSequence
gegevensset bevat de volgende elementen (als het DICOM-bestand dat probeert te worden opgeslagen, kan worden gelezen):
Tag | Name | Beschrijving |
---|---|---|
(0008, 1150) | ReferencedSOPClassUID |
De unieke SOP-klasse-id van het exemplaar dat niet is opgeslagen. |
(0008, 1155) | ReferencedSOPInstanceUID |
De unieke id van het SOP-exemplaar van het exemplaar dat niet is opgeslagen. |
(0008, 1197) | FailureReason |
De redencode waarom dit exemplaar niet kan worden opgeslagen. |
(0008, 1196) | WarningReason |
A WarningReason geeft validatieproblemen aan die zijn gedetecteerd, maar die niet ernstig genoeg zijn om de opslagbewerking te mislukken. |
(0074, 1048) | FailedAttributesSequence |
De volgorde hiervan ErrorComment bevat de reden voor elk mislukt kenmerk. |
Elke gegevensset in de gegevensset ReferencedSOPSequence
heeft de volgende elementen:
Tag | Name | Beschrijving |
---|---|---|
(0008, 1150) | ReferencedSOPClassUID |
De unieke SOP-klasse-id van het exemplaar dat is opgeslagen. |
(0008, 1155) | ReferencedSOPInstanceUID |
De unieke id van het SOP-exemplaar van het exemplaar dat is opgeslagen. |
(0008, 1190) | RetrieveURL |
De URL voor het ophalen van dit exemplaar op de DICOM-server. |
Een voorbeeld van een antwoord met Accept
header application/dicom+json
zonder failedAttributesSequence in een ReferencedSOPSequence:
{
"00081190":
{
"vr":"UR",
"Value":["http://localhost/studies/d09e8215-e1e1-4c7a-8496-b4f6641ed232"]
},
"00081198":
{
"vr":"SQ",
"Value":
[{
"00081150":
{
"vr":"UI","Value":["cd70f89a-05bc-4dab-b6b8-1f3d2fcafeec"]
},
"00081155":
{
"vr":"UI",
"Value":["22c35d16-11ce-43fa-8f86-90ceed6cf4e7"]
},
"00081197":
{
"vr":"US",
"Value":[43265]
}
}]
},
"00081199":
{
"vr":"SQ",
"Value":
[{
"00081150":
{
"vr":"UI",
"Value":["d246deb5-18c8-4336-a591-aeb6f8596664"]
},
"00081155":
{
"vr":"UI",
"Value":["4a858cbb-a71f-4c01-b9b5-85f88b031365"]
},
"00081190":
{
"vr":"UR",
"Value":["http://localhost/studies/d09e8215-e1e1-4c7a-8496-b4f6641ed232/series/8c4915f5-cc54-4e50-aa1f-9b06f6e58485/instances/4a858cbb-a71f-4c01-b9b5-85f88b031365"]
}
}]
}
}
Een voorbeeld van een antwoord met Accept
header application/dicom+json
met een FailedAttributesSequence in een ReferencedSOPSequence:
{
"00081190":
{
"vr":"UR",
"Value":["http://localhost/studies/d09e8215-e1e1-4c7a-8496-b4f6641ed232"]
},
"00081199":
{
"vr":"SQ",
"Value":
[{
"00081150":
{
"vr":"UI",
"Value":["d246deb5-18c8-4336-a591-aeb6f8596664"]
},
"00081155":
{
"vr":"UI",
"Value":["4a858cbb-a71f-4c01-b9b5-85f88b031365"]
},
"00081190":
{
"vr":"UR",
"Value":["http://localhost/studies/d09e8215-e1e1-4c7a-8496-b4f6641ed232/series/8c4915f5-cc54-4e50-aa1f-9b06f6e58485/instances/4a858cbb-a71f-4c01-b9b5-85f88b031365"]
},
"00081196": {
"vr": "US",
"Value": [
1
]
},
"00741048": {
"vr": "SQ",
"Value": [
{
"00000902": {
"vr": "LO",
"Value": [
"DICOM100: (0008,0020) - Content \"NotAValidDate\" does not validate VR DA: one of the date values does not match the pattern YYYYMMDD"
]
}
},
{
"00000902": {
"vr": "LO",
"Value": [
"DICOM100: (0008,002a) - Content \"NotAValidDate\" does not validate VR DT: value does not mach pattern YYYY[MM[DD[HH[MM[SS[.F{1-6}]]]]]]"
]
}
}
]
}
}]
}
}
Redencodes voor fout opslaan
Code | Beschrijving |
---|---|
272 |
De winkeltransactie heeft het exemplaar niet opgeslagen vanwege een algemene fout bij het verwerken van de bewerking. |
43264 |
De validatie van het DICOM-exemplaar is mislukt. |
43265 |
Het opgegeven exemplaar StudyInstanceUID komt niet overeen met de opgegeven StudyInstanceUID in de winkelaanvraag. |
45070 |
Een DICOM-exemplaar met hetzelfde StudyInstanceUID , SeriesInstanceUID en SopInstanceUID is al opgeslagen. Als u de inhoud wilt bijwerken, verwijdert u eerst dit exemplaar. |
45071 |
Er wordt een DICOM-exemplaar gemaakt door een ander proces of de vorige poging om te maken is mislukt en het opschoningsproces is niet voltooid. Verwijder eerst het exemplaar voordat u opnieuw probeert te maken. |
Waarschuwingsredencodes opslaan
Code | Beschrijving |
---|---|
45063 |
Een DICOM-exemplaargegevensset komt niet overeen met SOP-klasse. De Studies Store-transactie (sectie 10.5) merkte op dat de gegevensset niet overeenkomt met de beperkingen van de SOP-klasse tijdens de opslag van het exemplaar. |
1 |
De Studies Store-transactie (sectie 10.5) heeft vastgesteld dat de gegevensset validatie heeft |
Foutcodes opslaan
Code | Beschrijving |
---|---|
100 |
De opgegeven instantiekenmerken voldoen niet aan de validatiecriteria. |
Ophalen (WADO-RS)
Deze Retrieve Transaction biedt ondersteuning voor het ophalen van opgeslagen studies, reeksen, exemplaren en frames op basis van referentie.
Wijze | Pad | Beschrijving |
---|---|---|
GET | .. /studies/{study} | Haalt alle exemplaren in een studie op. |
GET | .. /studies/{study}/metadata | Haalt de metagegevens voor alle exemplaren in een studie op |
GET | .. /studies/{study}/series/{series} | Hiermee worden alle exemplaren in een reeks opgehaald |
GET | .. /studies/{study}/series/{series}/metadata | Haalt de metagegevens voor alle exemplaren in een reeks op |
GET | .. /studies/{study}/series/{series}/instances/{instance} | Hiermee haalt u één exemplaar op |
GET | .. /studies/{study}/series/{series}/instances/{instance}/metadata | Haalt de metagegevens voor één exemplaar op |
GET | .. /studies/{study}/series/{series}/instances/{instance}/rendered | Hiermee wordt een exemplaar opgehaald dat wordt weergegeven in een afbeeldingsindeling |
GET | .. /studies/{study}/series/{series}/instances/{instance}/frames/{frames} | Haalt een of meer frames op uit één exemplaar. Als u meer dan één frame wilt opgeven, scheidt een komma elk frame om terug te keren. Bijvoorbeeld: /studies/1/series/2/instance/3/frames/4,5,6 . |
GET | .. /studies/{study}/series/{series}/instances/{instance}/frames/{frame}/rendered | Hiermee haalt u één frame op dat wordt weergegeven in een afbeeldingsindeling |
Instanties ophalen binnen studie of reeks
De volgende Accept
headers worden ondersteund voor het ophalen van exemplaren binnen een studie of een reeks.
multipart/related; type="application/dicom"; transfer-syntax=*
multipart/related; type="application/dicom";
(als er geen overdrachtssyntaxis is opgegeven, wordt 1.2.840.10008.1.2.1 als standaard gebruikt)multipart/related; type="application/dicom"; transfer-syntax=1.2.840.10008.1.2.1
multipart/related; type="application/dicom"; transfer-syntax=1.2.840.10008.1.2.4.90
*/*
(als er geen overdrachtssyntaxis is opgegeven,*
wordt deze gebruikt als standaardwaarde en mediaType standaard ingesteld opapplication/dicom
)
Een exemplaar ophalen
De volgende Accept
headers worden ondersteund voor het ophalen van een specifiek exemplaar.
application/dicom; transfer-syntax=*
multipart/related; type="application/dicom"; transfer-syntax=*
application/dicom;
(als er geen overdrachtssyntaxis is opgegeven,1.2.840.10008.1.2.1
wordt deze als standaard gebruikt)multipart/related; type="application/dicom"
(als er geen overdrachtssyntaxis is opgegeven,1.2.840.10008.1.2.1
wordt deze als standaard gebruikt)application/dicom; transfer-syntax=1.2.840.10008.1.2.1
multipart/related; type="application/dicom"; transfer-syntax=1.2.840.10008.1.2.1
application/dicom; transfer-syntax=1.2.840.10008.1.2.4.90
multipart/related; type="application/dicom"; transfer-syntax=1.2.840.10008.1.2.4.90
*/*
(als er geen overdrachtssyntaxis is opgegeven,*
wordt deze gebruikt als standaardwaarde en mediaType standaard ingesteld opapplication/dicom
)
Frames ophalen
De volgende Accept
headers worden ondersteund voor het ophalen van frames.
multipart/related; type="application/octet-stream"; transfer-syntax=*
multipart/related; type="application/octet-stream";
(als er geen overdrachtssyntaxis is opgegeven,1.2.840.10008.1.2.1
wordt deze als standaard gebruikt)multipart/related; type="application/octet-stream"; transfer-syntax=1.2.840.10008.1.2.1
multipart/related; type="image/jp2";
(als er geen overdrachtssyntaxis is opgegeven,1.2.840.10008.1.2.4.90
wordt deze als standaard gebruikt)multipart/related; type="image/jp2";transfer-syntax=1.2.840.10008.1.2.4.90
application/octet-stream; transfer-syntax=*
voor ophalen van één frame
*/*
(als er geen overdrachtssyntaxis is opgegeven,*
wordt deze gebruikt als standaardwaarde en mediaType standaard ingesteld opapplication/octet-stream
)
Overdrachtssyntaxis ophalen
Wanneer de aangevraagde overdrachtssyntaxis verschilt van het oorspronkelijke bestand, wordt het oorspronkelijke bestand getranscodeerd naar de aangevraagde overdrachtssyntaxis. Het oorspronkelijke bestand moet een van de volgende indelingen zijn om de transcodering te laten slagen, anders kan transcodering mislukken.
- 1.2.840.10008.1.2 (Little Endian Impliciet)
- 1.2.840.10008.1.2.1 (Little Endian Explicit)
- 1.2.840.10008.1.2.2 (Expliciete VR Big Endian)
- 1.2.840.10008.1.2.4.50 (JPEG-basislijnproces 1)
- 1.2.840.10008.1.2.4.57 (JPEG Lossless)
- 1.2.840.10008.1.2.4.70 (JPEG Lossless Selection Value 1)
- 1.2.840.10008.1.2.4.90 (JPEG 2000 Alleen verliesloos)
- 1.2.840.10008.1.2.4.91 (JPEG 2000)
- 1.2.840.10008.1.2.5 (RLE Lossless)
Een niet-ondersteunde transfer-syntax
resultaten in 406 Not Acceptable
.
Metagegevens ophalen (voor studie, reeks of exemplaar)
De volgende Accept
header wordt ondersteund voor het ophalen van metagegevens voor een studie, een reeks of een exemplaar.
application/dicom+json
Het ophalen van metagegevens retourneert geen kenmerken met de volgende waardeweergaven.
VR-naam | Beschrijving |
---|---|
OB | Andere byte |
OD | Overig dubbel |
OF | Andere float |
OL | Overig lang |
OV | Andere 64-bits zeer lang |
ACH | Ander woord |
VN | Onbekend |
Opgehaalde metagegevens bevatten het null-teken wanneer het kenmerk is opgevuld met null's en opgeslagen zoals is.
Validatie van metagegevenscache ophalen (voor studie, reeks of exemplaar)
Cachevalidatie wordt ondersteund met behulp van het ETag
mechanisme. In het antwoord op een metagegevensaanvraag wordt ETag geretourneerd als een van de headers. Deze ETag kan in de cache worden opgeslagen en als een If-None-Match
header worden toegevoegd in latere aanvragen voor dezelfde metagegevens. Er zijn twee soorten antwoorden mogelijk als de gegevens bestaan.
- Gegevens blijven ongewijzigd sinds de laatste aanvraag: het antwoord wordt verzonden zonder hoofdtekst van het
HTTP 304 (Not Modified)
antwoord. - Gegevens zijn gewijzigd sinds de laatste aanvraag: het
HTTP 200 (OK)
antwoord wordt verzonden met bijgewerkte ETag. Vereiste gegevens worden geretourneerd als onderdeel van de hoofdtekst.
Gerenderde afbeelding ophalen (bijvoorbeeld of frame)
De volgende Accept
headers worden ondersteund voor het ophalen van een gerenderde afbeelding van een exemplaar of een frame.
image/jpeg
image/png
In het geval dat er geen Accept
header is opgegeven, wordt de service standaard weergegeven image/jpeg
.
De service biedt alleen ondersteuning voor het weergeven van één frame. Als rendering wordt aangevraagd voor een exemplaar met meerdere frames, wordt standaard alleen het eerste frame weergegeven als een afbeelding.
Wanneer u een bepaald frame opgeeft dat moet worden geretourneerd, begint frameindexering bij 1.
De quality
queryparameter wordt ook ondersteund. Een geheel getal tussen 1
en 100
inclusief (1 is slechtste kwaliteit en 100 is de beste kwaliteit) kan worden doorgegeven als de waarde voor de queryparameter. Deze parameter wordt gebruikt voor afbeeldingen die worden weergegeven als jpeg
en wordt genegeerd voor png
renderaanvragen. Als de parameter niet is opgegeven, wordt standaard ingesteld op 100
.
Oorspronkelijke versie ophalen
Met behulp van de bulkupdatebewerking kunt u de oorspronkelijke of meest recente versie van een studie, reeks of exemplaar ophalen. De nieuwste versie van een studie, reeks of exemplaar wordt altijd standaard geretourneerd. De oorspronkelijke versie kan worden geretourneerd door de msdicom-request-original
header in te stellen op true
. Hier ziet u een voorbeeld van een aanvraag:
GET ../studies/{study}/series/{series}/instances/{instance}
Accept: multipart/related; type="application/dicom"; transfer-syntax=*
msdicom-request-original: true
Content-Type: application/dicom
Antwoordstatuscodes ophalen
Code | Beschrijving |
---|---|
200 (OK) |
Alle aangevraagde gegevens zijn opgehaald. |
304 (Not Modified) |
De aangevraagde gegevens zijn ongewijzigd sinds de laatste aanvraag. Inhoud wordt in dat geval niet toegevoegd aan de hoofdtekst van het antwoord. Zie de voorgaande sectie Cachevalidatie voor metagegevens ophalen (voor studie, reeks of exemplaar) voor meer informatie. |
400 (Bad Request) |
De aanvraag is onjuist opgemaakt. De opgegeven id van het studie-exemplaar voldoet bijvoorbeeld niet aan de verwachte UID-indeling of de aangevraagde codering van overdrachtssyntaxis wordt niet ondersteund. |
401 (Unauthorized) |
De client wordt niet geverifieerd. |
403 (Forbidden) |
De gebruiker is niet gemachtigd. |
404 (Not Found) |
De opgegeven DICOM-resource kan niet worden gevonden of voor een gerenderde aanvraag bevat het exemplaar geen pixelgegevens. |
406 (Not Acceptable) |
De opgegeven Accept header wordt niet ondersteund of voor gerenderde en transcodes aanvragen dat het aangevraagde bestand te groot was. |
424 (Failed Dependency) |
De DICOM-service heeft geen toegang tot een resource die afhankelijk is van het voltooien van deze aanvraag. Een voorbeeld is het niet openen van de verbonden Data Lake Store of de sleutelkluis voor het ondersteunen van door de klant beheerde sleutelversleuteling. |
503 (Service Unavailable) |
De service is niet beschikbaar of bezet. Probeer het later opnieuw. |
Zoeken (QIDO-RS)
Met query's op basis van de id voor DICOM Objects (QIDO) kunt u zoeken naar studies, reeksen en exemplaren op kenmerken.
Wijze | Pad | Beschrijving |
---|---|---|
Zoeken naar studies | ||
GET | .. /Studies?... | Zoeken naar studies |
Zoeken naar reeksen | ||
GET | .. /reeks?... | Zoeken naar reeksen |
GET | .. /studies/{study}/series?... | Zoeken naar reeksen in een studie |
Zoeken naar exemplaren | ||
GET | .. /Exemplaren?... | Exemplaren zoeken |
GET | .. /studies/{study}/instances?... | Zoeken naar instanties in een studie |
GET | .. /studies/{study}/series/{series}/instances?... | Zoeken naar exemplaren in een reeks |
De volgende Accept
header wordt ondersteund voor zoeken.
application/dicom+json
Wijzigingen zoeken vanuit v1
In de v1-API en verdergaan met v2, als een uitgebreide querytag fouten bevat omdat een of meer van de bestaande exemplaren een tagwaarde hadden die niet kon worden geïndexeerd, worden volgende zoekquery's met de uitgebreide querytag geretourneerd erroneous-dicom-attributes
zoals beschreven in de documentatie. Tags (ook wel kenmerken genoemd) met validatiewaarschuwingen van STOW-RS zijn echter niet opgenomen in deze header. Als een winkelaanvraag resulteert in validatiewaarschuwingen voor doorzoekbare kenmerken op het moment dat het exemplaar is opgeslagen, worden deze kenmerken mogelijk niet gebruikt om naar het opgeslagen exemplaar te zoeken. Doorzoekbare kenmerken die niet kunnen worden gevalideerd, kunnen echter resultaten retourneren als de waarden worden overschreven door instanties in dezelfde studie of reeks die zijn opgeslagen na de mislukte, of als de waarden al correct zijn opgeslagen door een vorig exemplaar. Als de kenmerkwaarden niet worden overschreven, worden er geen zoekresultaten geproduceerd.
Een kenmerk kan op de volgende manieren worden gecorrigeerd.
- Het opgeslagen exemplaar verwijderen en een nieuw exemplaar uploaden met de gecorrigeerde gegevens
- Een nieuw exemplaar uploaden in dezelfde studie/reeks met gecorrigeerde gegevens
Ondersteunde zoekparameters
De volgende parameters voor elke query worden ondersteund:
Sleutel | Ondersteuningswaarden | Toegestaan aantal | Beschrijving |
---|---|---|---|
{attributeID}= |
{value} |
0...N | Zoeken naar overeenkomende kenmerken/waarden in query |
includefield= |
{attributeID} all |
0...N | De andere kenmerken die moeten worden geretourneerd in het antwoord. Zowel openbare als persoonlijke tags worden ondersteund. Wanneer all dit is opgegeven, raadpleegt u de zoekreactie voor meer informatie.Als een combinatie van {attributeID} en all wordt opgegeven, wordt de server standaard gebruikt all |
limit= |
{value} |
0..1 | Een geheel getal om het aantal waarden te beperken dat in het antwoord wordt geretourneerd. De waarde kan liggen tussen het bereik 1 >= x <= 200. Standaard ingesteld op 100 |
offset= |
{value} |
0..1 | Sla resultaten over {value} .Als er een verschuiving wordt opgegeven die groter is dan het aantal zoekresultaten, wordt een antwoord van 204 (geen inhoud) geretourneerd. |
fuzzymatching= |
true / false |
0..1 | Als true fuzzy matching wordt toegepast op het kenmerk PatientName. Het doet een voorvoegsel woord overeenkomst van een naamonderdeel in PatientName-waarde. Als PatientName bijvoorbeeld 'John^Doe' is, dan 'joh', 'do', 'jo do', 'Doe' en 'John Doe'. Maar 'ohn' komt niet overeen. |
Doorzoekbare kenmerken
We ondersteunen het doorzoeken van de volgende kenmerken en zoektypen.
Kenmerkwoord | Alle studies | Alle reeksen | Alle exemplaren | Reeks studie | Onderzoekexemplaren | Onderzoekreeksexemplaren |
---|---|---|---|---|---|---|
StudyInstanceUID |
X | X | X | |||
PatientName |
X | X | X | |||
PatientID |
X | X | X | |||
PatientBirthDate |
X | X | X | |||
AccessionNumber |
X | X | X | |||
ReferringPhysicianName |
X | X | X | |||
StudyDate |
X | X | X | |||
StudyDescription |
X | X | X | |||
ModalitiesInStudy |
X | X | X | |||
SeriesInstanceUID |
X | X | X | X | ||
Modality |
X | X | X | X | ||
PerformedProcedureStepStartDate |
X | X | X | X | ||
ManufacturerModelName |
X | X | X | X | ||
SOPInstanceUID |
X | X | X |
Notitie
We bieden geen ondersteuning voor zoeken met behulp van lege tekenreeksen voor kenmerken.
Zoeken in overeenkomende zoekopdrachten
We ondersteunen de volgende overeenkomende typen.
Zoektype | Ondersteund kenmerk | Opmerking |
---|---|---|
Bereikquery | StudyDate /PatientBirthDate |
{attributeID}={value1}-{value2} . Voor datum-/tijdwaarden ondersteunen we een inclusief bereik op de tag. Dit bereik is toegewezen aan attributeID >= {value1} AND attributeID <= {value2} . Als {value1} dit niet is opgegeven, worden alle exemplaren van datums/tijden vóór en inclusief {value2} overeenkomend. {value2} Als dit niet is opgegeven, worden alle exemplaren van {value1} en latere datums/tijden vergeleken. Een van deze waarden moet echter aanwezig zijn. {attributeID}={value1}- en {attributeID}=-{value2} geldig zijn, is echter {attributeID}=- ongeldig. |
Exacte overeenkomst | Alle ondersteunde kenmerken | {attributeID}={value1} |
Fuzzy Match | PatientName , ReferringPhysicianName |
Komt overeen met een onderdeel van de naam die begint met de waarde |
Overeenkomst met UID-lijst | StudyInstanceUID |
Komt overeen met studies die zijn geïdentificeerd door de waarden in de lijst. Ondersteunt komma (,) of een backslash (\) als een geldig scheidingsteken. {attributeID}=1.2.3,5.6.7,8.9.0 retourneert details die zijn gekoppeld aan alle studies, gezien ze bestaan. |
Kenmerk-id
Tags kunnen op verschillende manieren worden gecodeerd voor de queryparameter. We hebben de standaard gedeeltelijk geïmplementeerd zoals gedefinieerd in PS3.18 6.7.1.1.1. De volgende coderingen voor een tag worden ondersteund.
Weergegeven als | Opmerking |
---|---|
{group}{element} |
0020000D |
{dicomKeyword} |
StudyInstanceUID |
Voorbeeldquery voor het zoeken naar exemplaren:
../instances?Modality=CT&00280011=512&includefield=00280010&limit=5&offset=0
Antwoord zoeken
Het antwoord is een matrix van DICOM-gegevenssets. Afhankelijk van de resource worden standaard de volgende kenmerken geretourneerd.
Standaardstudietags
Tag | Kenmerknaam |
---|---|
(0008, 0020) | StudyDate |
(0008, 0050) | AccessionNumber |
(0008, 1030) | StudyDescription |
(0009, 0090) | ReferringPhysicianName |
(0010, 0010) | PatientName |
(0010, 0020) | PatientID |
(0010, 0030) | PatientBirthDate |
(0020, 000D) | StudyInstanceUID |
Standaardreekstags
Tag | Kenmerknaam |
---|---|
(0008, 0060) | Modality |
(0008, 1090) | ManufacturerModelName |
(0020, 000E) | SeriesInstanceUID |
(0040, 0244) | PerformedProcedureStepStartDate |
Standaardexemplaren
Tag | Kenmerknaam |
---|---|
(0008, 0018) | SOPInstanceUID |
Als includefield=all
, deze kenmerken worden opgenomen samen met standaardkenmerken. Naast de standaardkenmerken bevat deze lijst een volledige lijst met kenmerken die op elk resourceniveau worden ondersteund.
Andere studietags
Tag | Kenmerknaam |
---|---|
(0008, 0005) | SpecificCharacterSet |
(0008, 0030) | StudyTime |
(0008, 0056) | InstanceAvailability |
(0008, 0201) | TimezoneOffsetFromUTC |
(0008, 0063) | AnatomicRegionsInStudyCodeSequence |
(0008, 1032) | ProcedureCodeSequence |
(0008, 1060) | NameOfPhysiciansReadingStudy |
(0008, 1080) | AdmittingDiagnosesDescription |
(0008, 1110) | ReferencedStudySequence |
(0010, 1010) | PatientAge |
(0010, 1020) | PatientSize |
(0010, 1030) | PatientWeight |
(0010, 2180) | Occupation |
(0010, 21B0) | AdditionalPatientHistory |
(0010, 0040) | PatientSex |
(0020, 0010) | StudyID |
Andere reekstags
Tag | Kenmerknaam |
---|---|
(0008, 0005) | SpecificCharacterSet |
(0008, 0201) | TijdzoneOffsetFromUTC |
(0020, 0011) | SeriesNumber |
(0020, 0060) | Laterality |
(0008, 0021) | SeriesDate |
(0008, 0031) | SeriesTime |
(0008, 103E) | SeriesDescription |
(0040, 0245) | PerformedProcedureStepStartTime |
(0040, 0275) | RequestAttributesSequence |
Andere exemplaartags
Tag | Kenmerknaam |
---|---|
(0008, 0005) | SpecificCharacterSet |
(0008, 0016) | SOPClassUID |
(0008, 0056) | InstanceAvailability |
(0008, 0201) | TijdzoneOffsetFromUTC |
(0020, 0013) | InstanceNumber |
(0028, 0010) | Rijen |
(0028, 0011) | Kolommen |
(0028, 0100) | BitsAllocated |
(0028, 0008) | NumberOfFrames |
De volgende kenmerken worden geretourneerd.
- Alle overeenkomende queryparameters en UID's in de resource-URL
IncludeField
kenmerken die op dat resourceniveau worden ondersteund- Als de doelresource is
All Series
,Study
worden ook niveaukenmerken geretourneerd. - Als de doelresource is
All Instances
,Study
worden kenmerken opSeries
niveau ook geretourneerd. - Als de doelresource is
Study's Instances
,Series
worden ook niveaukenmerken geretourneerd. NumberOfStudyRelatedInstances
geaggregeerd kenmerk wordt ondersteund opStudy
niveauincludeField
.NumberOfSeriesRelatedInstances
geaggregeerd kenmerk wordt ondersteund opSeries
niveauincludeField
.
Antwoordcodes zoeken
De query-API retourneert een van de volgende statuscodes in het antwoord.
Code | Beschrijving |
---|---|
200 (OK) |
De nettolading van het antwoord bevat alle overeenkomende resources. |
204 (No Content) |
De zoekopdracht is voltooid, maar heeft geen resultaten geretourneerd. |
400 (Bad Request) |
De query kan niet worden uitgevoerd op de server omdat het queryonderdeel ongeldig is. De hoofdtekst van het antwoord bevat details van de fout. |
401 (Unauthorized) |
De client wordt niet geverifieerd. |
403 (Forbidden) |
De gebruiker is niet gemachtigd. |
414 (URI Too Long) |
De URI heeft de maximale ondersteunde lengte van 8192 tekens overschreden. |
424 (Failed Dependency) |
De DICOM-service heeft geen toegang tot een resource die afhankelijk is van het voltooien van deze aanvraag. Een voorbeeld is het niet openen van de verbonden Data Lake Store of de sleutelkluis voor het ondersteunen van door de klant beheerde sleutelversleuteling. |
503 (Service Unavailable) |
De service is niet beschikbaar of bezet. Probeer het later opnieuw. |
Opmerkingen
- Query's uitvoeren met behulp van de query
TimezoneOffsetFromUTC (00080201)
wordt niet ondersteund. - De query-API retourneert
413 (request entity too large)
niet. Als de aangevraagde limiet voor het antwoord van de query buiten het acceptabele bereik valt, wordt er een ongeldige aanvraag geretourneerd. Alles wat binnen het acceptabele bereik wordt aangevraagd, wordt opgelost. - Wanneer de doelresource Study/Series is, is er een potentieel voor inconsistente metagegevens op onderzoek/reeksniveau voor meerdere exemplaren. Twee exemplaren kunnen bijvoorbeeld verschillend
patientName
zijn. In dit geval wint de meest recente winst en kunt u alleen zoeken op de meest recente gegevens. - Gepaginade resultaten zijn geoptimaliseerd om eerst overeenkomende nieuwste instantie te retourneren, wat mogelijk leidt tot dubbele records op volgende pagina's als nieuwere gegevens die overeenkomen met de query zijn toegevoegd.
- Matching is niet hoofdlettergevoelig en niet accentgevoelig voor PN VR-typen.
- Matching is niet hoofdlettergevoelig en is accentgevoelig voor andere VR-typen tekenreeksen.
- Alleen de eerste waarde wordt geïndexeerd van één gegevenselement met een waarde die onjuist meerdere waarden heeft.
- Door de standaardkenmerken te gebruiken of het aantal aangevraagde resultaten te beperken, worden de prestaties gemaximaliseerd.
- Wanneer een kenmerk is opgeslagen met behulp van null-opvulling, kan het worden gezocht met of zonder de null-opvulling in URI-codering. Resultaten die worden opgehaald, zijn voor kenmerken die zowel met als zonder null-opvulling zijn opgeslagen.
Delete
Deze transactie maakt geen deel uit van de officiële DICOMweb Standard. Hierbij wordt de DELETE-methode gebruikt om weergaven van studies, reeksen en exemplaren uit de store te verwijderen.
Wijze | Pad | Beschrijving |
---|---|---|
DELETE | .. /studies/{study} | Verwijder alle exemplaren voor een specifieke studie. |
DELETE | .. /studies/{study}/series/{series} | Verwijder alle exemplaren voor een specifieke reeks in een studie. |
DELETE | .. /studies/{study}/series/{series}/instances/{instance} | Een specifiek exemplaar in een reeks verwijderen. |
Parameters study
, series
en instance
komen overeen met de DICOM-kenmerken StudyInstanceUID
, SeriesInstanceUID
respectievelijk SopInstanceUID
.
Er zijn geen beperkingen voor de header, Content-Type
koptekst of hoofdtekst van de aanvraagAccept
.
Notitie
Na een verwijderingstransactie kunnen de verwijderde exemplaren niet meer worden hersteld.
Antwoordstatuscodes
Code | Beschrijving |
---|---|
204 (No Content) |
Wanneer alle SOP-exemplaren worden verwijderd. |
400 (Bad Request) |
De aanvraag is onjuist opgemaakt. |
401 (Unauthorized) |
De client wordt niet geverifieerd. |
403 (Forbidden) |
De gebruiker is niet gemachtigd. |
404 (Not Found) |
Wanneer de opgegeven reeks niet is gevonden in een studie of als het opgegeven exemplaar niet in de reeks is gevonden. |
424 (Failed Dependency) |
De DICOM-service heeft geen toegang tot een resource die afhankelijk is van het voltooien van deze aanvraag. Een voorbeeld is het niet openen van de verbonden Data Lake Store of de sleutelkluis voor het ondersteunen van door de klant beheerde sleutelversleuteling. |
503 (Service Unavailable) |
De service is niet beschikbaar of bezet. Probeer het later opnieuw. |
Nettolading van antwoord verwijderen
De hoofdtekst van het antwoord is leeg. De statuscode is de enige nuttige informatie die wordt geretourneerd.
Worklist-service (UPS-RS)
De DICOM-service ondersteunt de Push- en Pull-SOPs van de Worklist-service (UPS-RS). Deze service biedt toegang tot één werklijst met Workitems, die elk een UPS (Unified Procedure Step) vertegenwoordigt.
Overal staat de variabele {workitem}
in een URI-sjabloon voor een Workitem UID.
Beschikbare UPS-RS-eindpunten zijn:
Term | Pad | Beschrijving |
---|---|---|
POSTEN | {s}/workitems{? AffectedSOPInstanceUID} | Een werkitem maken |
POSTEN | {s}/workitems/{instance}{?transaction} | Een werkitem bijwerken |
GET | {s}/workitems{?query*} | Search for work items (Werkitems zoeken) |
GET | {s}/workitems/{instance} | Een werkitem ophalen |
PUT | {s}/workitems/{instance}/state | Status van werkitem wijzigen |
POSTEN | {s}/workitems/{instance}/cancelrequest | Werkitem annuleren |
POSTEN | {s}/workitems/{instance}/abonnees/{AETitle}{?deletionlock} | Abonnement maken |
POSTEN | {s}/workitems/1.2.840.10008.5.1.4.34.5/ | Abonnement onderbreken |
DELETE | {s}/workitems/{instance}/abonnees/{AETitle} | Abonnement verwijderen |
GET | {s}/abonnees/{AETitle} | Abonnementskanaal openen |
Workitem maken
Deze transactie maakt gebruik van de POST-methode om een nieuwe Workitem te maken.
Wijze | Pad | Beschrijving |
---|---|---|
POSTEN | .. /workitems | Maak een Workitem. |
POSTEN | .. /workitems? {workitem} | Hiermee maakt u een Workitem met de opgegeven UID. |
Als deze niet is opgegeven in de URI, moet de nettoladinggegevensset de Workitem in het SOPInstanceUID
kenmerk bevatten.
De Accept
en Content-Type
headers zijn vereist in de aanvraag en moeten beide de waarde application/dicom+json
hebben.
Er zijn verschillende vereisten met betrekking tot DICOM-gegevenskenmerken in de context van een specifieke transactie. Kenmerken moeten mogelijk aanwezig zijn, niet aanwezig zijn, leeg zijn of niet leeg zijn. Deze vereisten vindt u in deze tabel.
Notitie
Hoewel in de referentietabel wordt aangegeven dat SOP Instance UID niet aanwezig moet zijn, is deze richtlijnen specifiek voor het DIMSE-protocol en worden anders verwerkt in DICOMWeb. UID van het SOP-exemplaar moet aanwezig zijn in de gegevensset als deze zich niet in de URI bevindt.
Notitie
Alle codes voor voorwaardelijke vereisten, inclusief 1C en 2C, worden beschouwd als optioneel.
Antwoordstatuscodes maken
Code | Beschrijving |
---|---|
201 (Created) |
De doelwerkitem is gemaakt. |
400 (Bad Request) |
Er is een probleem met de aanvraag. De nettolading van de aanvraag voldoet bijvoorbeeld niet aan de vereisten. |
401 (Unauthorized) |
De client wordt niet geverifieerd. |
403 (Forbidden) |
De gebruiker is niet gemachtigd. |
409 (Conflict) |
De Workitem bestaat al. |
415 (Unsupported Media Type) |
De opgegeven Content-Type gegevens worden niet ondersteund. |
424 (Failed Dependency) |
De DICOM-service heeft geen toegang tot een resource die afhankelijk is van het voltooien van deze aanvraag. Een voorbeeld is het niet openen van de verbonden Data Lake Store of de sleutelkluis voor het ondersteunen van door de klant beheerde sleutelversleuteling. |
503 (Service Unavailable) |
De service is niet beschikbaar of bezet. Probeer het later opnieuw. |
Nettolading van reactie maken
Een geslaagd antwoord heeft geen nettolading. De Location
headers en Content-Location
antwoorden bevatten een URI-verwijzing naar de gemaakte Workitem.
Een nettolading van een foutantwoord bevat een bericht met een beschrijving van de fout.
Annulering aanvragen
Met deze transactie kan de gebruiker een annulering aanvragen van een workitem die geen eigendom is.
Er zijn vier geldige Workitem-statussen:
SCHEDULED
IN PROGRESS
CANCELED
COMPLETED
Deze transactie slaagt alleen ten opzichte van Workitems in de SCHEDULED
status. Elke gebruiker kan het eigendom van een Workitem claimen door de UID van de transactie in te stellen en de status te wijzigen in IN PROGRESS
. Vanaf dat jaar kan een gebruiker de Workitem alleen wijzigen door de juiste transactie-UID op te geven. Hoewel UPS SOP-klassen Watch en Event definieert waarmee annuleringsaanvragen en andere gebeurtenissen kunnen worden doorgestuurd, worden deze klassen niet door deze DICOM-service geïmplementeerd en worden annuleringsaanvragen voor werkitems die IN PROGRESS
een fout retourneren. Een workitem in eigendom kan worden geannuleerd via de transactie Change Workitem State .
Wijze | Pad | Beschrijving |
---|---|---|
POSTEN | .. /workitems/{workitem}/cancelrequest | De annulering van een geplande Workitem aanvragen |
De Content-Type
header is vereist en moet de waarde application/dicom+json
hebben.
De nettolading van de aanvraag kan actie-informatie bevatten zoals gedefinieerd in de DICOM Standard.
Statuscodes voor annuleringsreacties aanvragen
Code | Beschrijving |
---|---|
202 (Accepted) |
De aanvraag is geaccepteerd door de server, maar de status Target Workitem is nog niet gewijzigd. |
400 (Bad Request) |
Er is een probleem opgetreden met de syntaxis van de aanvraag. |
401 (Unauthorized) |
De client wordt niet geverifieerd. |
403 (Forbidden) |
De gebruiker is niet gemachtigd. |
404 (Not Found) |
Het doelwerkitem is niet gevonden. |
409 (Conflict) |
De aanvraag is inconsistent met de huidige status van de Target Workitem. De doelwerkitem bevindt zich bijvoorbeeld in de SCHEDULED of COMPLETED status. |
415 (Unsupported Media Type) |
De opgegeven Content-Type gegevens worden niet ondersteund. |
424 (Failed Dependency) |
De DICOM-service heeft geen toegang tot een resource die afhankelijk is van het voltooien van deze aanvraag. Een voorbeeld is het niet openen van de verbonden Data Lake Store of de sleutelkluis voor het ondersteunen van door de klant beheerde sleutelversleuteling. |
503 (Service Unavailable) |
De service is niet beschikbaar of bezet. Probeer het later opnieuw. |
Nettolading annuleringsreactie aanvragen
Een geslaagd antwoord heeft geen nettolading en een nettolading van een foutantwoord bevat een bericht met een beschrijving van de fout.
Als het Workitem-exemplaar al de status Geannuleerd heeft, bevat het antwoord de volgende HTTP-waarschuwingsheader: 299: The UPS is already in the requested state of CANCELED.
Workitem ophalen
Met deze transactie wordt een Workitem opgehaald. Het komt overeen met de UPS DIMSE N-GET-bewerking.
Raadpleeg: https://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_11.5
Als de Workitem op de oorspronkelijke server bestaat, wordt de Workitem geretourneerd in een acceptabel mediatype. De geretourneerde Workitem bevat niet het kenmerk Transactie-UID (0008.1195). Dit is nodig om de rol van het kenmerk te behouden als een toegangsvergrendeling.
Wijze | Pad | Beschrijving |
---|---|---|
GET | .. /workitems/{workitem} | Aanvraag om een Workitem op te halen |
De Accept
header is vereist en moet de waarde application/dicom+json
hebben.
Workitem-antwoordstatuscodes ophalen
Code | Beschrijving |
---|---|
200 (OK) | Workitem Instance is opgehaald. |
400 (Foute aanvraag) | Er is een probleem met de aanvraag. |
401 (Niet geautoriseerd) | De client wordt niet geverifieerd. |
403 (verboden) | De gebruiker is niet gemachtigd. |
404 (niet gevonden) | Het doelwerkitem is niet gevonden. |
424 (mislukte afhankelijkheid) | De DICOM-service heeft geen toegang tot een resource die afhankelijk is van het voltooien van deze aanvraag. Een voorbeeld is het niet openen van de verbonden Data Lake Store of de sleutelkluis voor het ondersteunen van door de klant beheerde sleutelversleuteling. |
503 (service niet beschikbaar) | De service is niet beschikbaar of bezet. Probeer het later opnieuw. |
Nettolading van Workitem-antwoord ophalen
- Een geslaagd antwoord heeft één deel nettolading met de aangevraagde Workitem in het geselecteerde mediatype.
- De geretourneerde Workitem mag niet de UID van de transactie (0008, 1195) van de Workitem bevatten, omdat dit alleen bekend moet zijn bij de eigenaar.
Workitem bijwerken
Met deze transactie worden kenmerken van een bestaande Workitem gewijzigd. Het komt overeen met de UPS DIMSE N-SET-bewerking.
Raadpleeg: https://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_11.6
Als u een Workitem momenteel in de SCHEDULED
status wilt bijwerken, is het Transaction UID
kenmerk niet aanwezig. Voor een Workitem in de IN PROGRESS
status moet de aanvraag de huidige UID van de transactie bevatten als een queryparameter. Als de Workitem zich al in de COMPLETED
of CANCELED
statussen bevindt, is 400 (Bad Request)
het antwoord .
Wijze | Pad | Beschrijving |
---|---|---|
POSTEN | .. /workitems/{workitem}? {transaction-uid} | Workitem-transactie bijwerken |
De Content-Type
header is vereist en moet de waarde application/dicom+json
hebben.
De nettolading van de aanvraag bevat een gegevensset met de wijzigingen die moeten worden toegepast op het doelwerkitem. Wanneer een reeks wordt gewijzigd, moet de aanvraag alle items in de reeks bevatten, niet alleen de items die moeten worden gewijzigd. Wanneer u meerdere kenmerken als groep wilt bijwerken, moet u deze bijwerken als meerdere kenmerken in één aanvraag, niet als meerdere aanvragen.
Er zijn veel vereisten met betrekking tot DICOM-gegevenskenmerken in de context van een specifieke transactie. Kenmerken moeten mogelijk aanwezig zijn, niet aanwezig zijn, leeg zijn of niet leeg zijn. Deze vereisten vindt u in deze tabel.
Notitie
Alle codes voor voorwaardelijke vereisten, inclusief 1C en 2C, worden beschouwd als optioneel.
Notitie
De aanvraag kan de waarde van het kenmerk Procedurestapstatus (0074.1000) niet instellen. Procedurestapstatus wordt beheerd met behulp van de transactie Wijzigingsstatus of de transactie Annulering aanvragen.
Statuscodes voor workitem-transacties bijwerken
Code | Beschrijving |
---|---|
200 (OK) |
De Target Workitem is bijgewerkt. |
400 (Bad Request) |
Er is een probleem met de aanvraag. Bijvoorbeeld: (1) de doelwerkitem zich in de COMPLETED of CANCELED -status bevindt. (2) de transactie-UID ontbreekt. (3) de UID van de transactie is onjuist. (4) de gegevensset voldoet niet aan de vereisten. |
401 (Unauthorized) |
De client wordt niet geverifieerd. |
403 (Forbidden) |
De gebruiker is niet gemachtigd. |
404 (Not Found) |
Het doelwerkitem is niet gevonden. |
409 (Conflict) |
De aanvraag is inconsistent met de huidige status van de Target Workitem. |
415 (Unsupported Media Type) |
De opgegeven Content-Type gegevens worden niet ondersteund. |
424 (Failed Dependency) |
De DICOM-service heeft geen toegang tot een resource die afhankelijk is van het voltooien van deze aanvraag. Een voorbeeld is het niet openen van de verbonden Data Lake Store of de sleutelkluis voor het ondersteunen van door de klant beheerde sleutelversleuteling. |
503 (Service Unavailable) |
De service is niet beschikbaar of bezet. Probeer het later opnieuw. |
Nettolading van workitem-transactiereactie bijwerken
De oorspronkelijke server ondersteunt headervelden zoals vereist in tabel 11.6.3-2.
Een geslaagd antwoord heeft geen nettolading of een nettolading met een statusrapportdocument.
Een nettolading van een foutreactie kan een statusrapport bevatten waarin eventuele fouten, waarschuwingen of andere nuttige informatie worden beschreven.
Werkitemstatus wijzigen
Deze transactie wordt gebruikt om de status van een Workitem te wijzigen. Deze komt overeen met de UPS DIMSE N-ACTION-bewerking 'UPS-status wijzigen'. Statuswijzigingen worden gebruikt om het eigendom van een Workitem te claimen, te voltooien of te annuleren.
Raadpleeg: https://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_11.7
Als de Workitem op de oorspronkelijke server bestaat, wordt de Workitem geretourneerd in een acceptabel mediatype. De geretourneerde Workitem bevat niet het kenmerk Transaction UID (0008.1195). Dit is nodig om de rol van het kenmerk te behouden als een toegangsvergrendeling, zoals hier wordt beschreven .
Wijze | Pad | Beschrijving |
---|---|---|
PUT | .. /workitems/{workitem}/state | Werkitemstatus wijzigen |
De Accept
header is vereist en moet de waarde application/dicom+json
hebben.
De nettolading van de aanvraag bevat de change UPS State Data Elements. Deze gegevenselementen zijn als volgt.
- Transactie-UID (0008, 1195). De nettolading van de aanvraag bevat een transactie-UID. De gebruikersagent maakt de transactie-UID bij het aanvragen van een overgang naar de
IN PROGRESS
status voor een bepaalde Workitem. De gebruikersagent geeft aan dat Transaction UID in volgende transacties met dat Workitem. - Procedurestapstatus (0074, 1000). De juridische waarden komen overeen met de aangevraagde statusovergang. Dit zijn:
IN PROGRESS
,COMPLETED
ofCANCELED
.
Statuscodes van workitemstatus wijzigen
Code | Beschrijving |
---|---|
200 (OK) |
Workitem Instance is opgehaald. |
400 (Bad Request) |
De aanvraag kan om een van de volgende redenen niet worden uitgevoerd: (1) de aanvraag is niet geldig gezien de huidige status van de Target Workitem. (2) de transactie-UID ontbreekt. (3) De UID van de transactie is onjuist |
401 (Unauthorized) |
De client wordt niet geverifieerd. |
403 (Forbidden) |
De gebruiker is niet gemachtigd. |
404 (Not Found) |
Het doelwerkitem is niet gevonden. |
409 (Conflict) |
De aanvraag is inconsistent met de huidige status van de Target Workitem. |
424 (Failed Dependency) |
De DICOM-service heeft geen toegang tot een resource die afhankelijk is van het voltooien van deze aanvraag. Een voorbeeld is het niet openen van de verbonden Data Lake Store of de sleutelkluis voor het ondersteunen van door de klant beheerde sleutelversleuteling. |
503 (Service Unavailable) |
De service is niet beschikbaar of bezet. Probeer het later opnieuw. |
Nettolading workitemstatusantwoord wijzigen
- Antwoorden bevatten de koptekstvelden die zijn opgegeven in sectie 11.7.3.2.
- Een geslaagd antwoord heeft geen nettolading.
- Een nettolading van een foutreactie kan een statusrapport bevatten waarin eventuele fouten, waarschuwingen of andere nuttige informatie worden beschreven.
Werkitems zoeken
Met deze transactie kunt u zoeken naar Workitems op kenmerken.
Wijze | Pad | Beschrijving |
---|---|---|
GET | .. /workitems? | Zoeken naar Workitems |
De volgende Accept
header wordt ondersteund voor zoeken.
application/dicom+json
Ondersteunde zoekparameters
De volgende parameters voor elke query worden ondersteund:
Sleutel | Ondersteuningswaarden | Toegestaan aantal | Beschrijving |
---|---|---|---|
{attributeID}= |
{value} |
0...N | Zoeken naar overeenkomende kenmerken/waarden in de query. |
includefield= |
{attributeID} all |
0...N | De andere kenmerken die moeten worden geretourneerd in het antwoord. Alleen kenmerken op het hoogste niveau kunnen worden opgenomen, niet kenmerken die deel uitmaken van reeksen. Zowel openbare als persoonlijke tags worden ondersteund. Wanneer all wordt opgegeven. Zie Het zoekantwoord voor meer informatie over welke kenmerken worden geretourneerd voor elk querytype. Als er een combinatie van {attributeID} en all wordt opgegeven, wordt de server standaard ingesteld op het gebruik van 'all'. |
limit= |
{value} |
0...1 | Een geheel getal om het aantal waarden te beperken dat in het antwoord wordt geretourneerd. De waarde kan tussen het bereik 1 >= x <= 4000 liggen. Standaard ingesteld op 100 . |
offset= |
{value} |
0...1 | {value} resultaten overslaan. Als er een verschuiving wordt opgegeven die groter is dan het aantal zoekresultaten, wordt een 204 (no content) antwoord geretourneerd. |
fuzzymatching= |
true \ false |
0...1 | Als echte fuzzy overeenkomsten worden toegepast op kenmerken met de PN-waardeweergave (Person Name). Het woord voorvoegsel komt overeen met een naamonderdeel in deze kenmerken. Als dit bijvoorbeeld PatientName het resultaat isJohn^Doe , danjoh , do en Doe jo do John Doe alle overeenkomsten. Komt echter ohn niet overeen. |
Doorzoekbare kenmerken
We ondersteunen het zoeken op de volgende kenmerken.
Kenmerkwoord |
---|
PatientName |
PatientID |
ReferencedRequestSequence.AccessionNumber |
ReferencedRequestSequence.RequestedProcedureID |
ScheduledProcedureStepStartDateTime |
ScheduledStationNameCodeSequence.CodeValue |
ScheduledStationClassCodeSequence.CodeValue |
ScheduledStationGeographicLocationCodeSequence.CodeValue |
ProcedureStepState |
StudyInstanceUID |
Notitie
We bieden geen ondersteuning voor zoeken met behulp van lege tekenreeksen voor kenmerken.
Zoeken in overeenkomende zoekopdrachten
We ondersteunen de volgende overeenkomende typen.
Zoektype | Ondersteund kenmerk | Opmerking |
---|---|---|
Bereikquery | ScheduledProcedureStepStartDateTime |
{attributeID}={value1}-{value2} . Voor datum-/tijdwaarden ondersteunen we een inclusief bereik op de tag. Dit bereik is toegewezen aan attributeID >= {value1} AND attributeID <= {value2} . Als {value1} dit niet is opgegeven, worden alle exemplaren van datums/tijden vóór en inclusief {value2} overeenkomend. {value2} Als dit niet is opgegeven, worden alle exemplaren van {value1} en latere datums/tijden vergeleken. Een van deze waarden moet echter aanwezig zijn. {attributeID}={value1}- en {attributeID}=-{value2} geldig zijn, {attributeID}=- is echter niet geldig. |
Exacte overeenkomst | Alle ondersteunde kenmerken | {attributeID}={value1} |
Fuzzy Match | PatientName |
Komt overeen met een onderdeel van de naam die begint met de waarde. |
Jokertekenovereenkomst | PatientID , ReferencedRequestSequence.AccessionNumber , ReferencedRequestSequence.RequestedProcedureID , ProcedureStepState , ScheduledStationNameCodeSequence.CodeValue , ScheduledStationClassCodeSequence.CodeValue , ScheduledStationGeographicLocationCodeSequence.CodeValue |
De volgende jokertekens worden ondersteund: * - Komt overeen met nul of meer tekens. Bijvoorbeeld: {attributeID}={val*} komt overeen met 'val', 'geldig', 'value' maar niet 'evaluate'. ? - Komt overeen met één teken. Bijvoorbeeld: {attributeID}={valu?} komt overeen met 'value', 'valu1' maar niet 'valued' of 'valu' |
Notitie
Hoewel we geen volledige reeks overeenkomende overeenkomsten ondersteunen, ondersteunen we wel exacte overeenkomsten op de kenmerken die in een reeks zijn opgenomen.
Kenmerk-id
Tags kunnen op veel manieren worden gecodeerd voor de queryparameter. We hebben de standaard gedeeltelijk geïmplementeerd zoals gedefinieerd in PS3.18 6.7.1.1.1. De volgende coderingen voor een tag worden ondersteund.
Weergegeven als | Opmerking |
---|---|
{group}{element} |
00100010 |
{dicomKeyword} |
PatientName |
Voorbeeldquery:
../workitems?PatientID=K123&0040A370.00080050=1423JS&includefield=00404005&limit=5&offset=0
Antwoord zoeken
Het antwoord is een matrix van 0...N
DICOM-gegevenssets met de volgende kenmerken die worden geretourneerd.
- Alle kenmerken in DICOM PowerShell 3.4 Table CC.2.5-3 met een retoursleuteltype 1 of 2
- Alle kenmerken in DICOM PowerShell 3.4 Table CC.2.5-3 met een retoursleuteltype van 1C waarvoor aan de voorwaardelijke vereisten wordt voldaan
- Alle andere Workitem-kenmerken die als overeenkomende parameters zijn doorgegeven
- Alle andere Workitem-kenmerken die als
includefield
parameterwaarden worden doorgegeven
Antwoordcodes zoeken
De query-API retourneert een van de volgende statuscodes in het antwoord:
Code | Beschrijving |
---|---|
200 (OK) |
De nettolading van het antwoord bevat alle overeenkomende resource. |
206 (Partial Content) |
De nettolading van het antwoord bevat slechts enkele zoekresultaten en de rest kan worden aangevraagd via de juiste aanvraag. |
204 (No Content) |
De zoekopdracht is voltooid, maar heeft geen resultaten geretourneerd. |
400 (Bad Request) |
Er is een probleem met de aanvraag. Bijvoorbeeld een ongeldige syntaxis voor queryparameters. De hoofdtekst van het antwoord bevat details van de fout. |
401 (Unauthorized) |
De client wordt niet geverifieerd. |
403 (Forbidden) |
De gebruiker is niet gemachtigd. |
424 (Failed Dependency) |
De DICOM-service heeft geen toegang tot een resource die afhankelijk is van het voltooien van deze aanvraag. Een voorbeeld is het niet openen van de verbonden Data Lake Store of de sleutelkluis voor het ondersteunen van door de klant beheerde sleutelversleuteling. |
503 (Service Unavailable) |
De service is niet beschikbaar of bezet. Probeer het later opnieuw. |
Aanvullende opmerkingen
De query-API retourneert 413 (request entity too large)
niet. Als de aangevraagde limiet voor het antwoord van de query buiten het acceptabele bereik valt, wordt er een ongeldige aanvraag geretourneerd. Alles wat binnen het acceptabele bereik wordt aangevraagd, wordt opgelost.
- Gepaginade resultaten zijn geoptimaliseerd om eerst overeenkomende nieuwste instantie te retourneren, wat kan leiden tot dubbele records op volgende pagina's als nieuwere gegevens die overeenkomen met de query zijn toegevoegd.
- Matching is niet hoofdlettergevoelig en accentgevoelig voor PN VR-typen.
- Matching is niet hoofdlettergevoelig en accentgevoelig voor andere vr-tekenreekstypen.
- Als er een scenario is waarin het annuleren van een Workitem en het uitvoeren van query's op hetzelfde moment gebeurt, sluit de query waarschijnlijk de Workitem uit die wordt bijgewerkt en de antwoordcode is
206 (Partial Content)
.
Notitie
DICOM® is het gedeponeerde handelsmerk van de National Electrical Manufacturers Association voor haar standaardenpublicaties met betrekking tot digitale communicatie van medische informatie.