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.

De volgende Accept header(s) voor het antwoord worden 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 LOVR type.

Elk bestand dat is opgeslagen, moet een unieke combinatie hebben van StudyInstanceUID, SeriesInstanceUIDen 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.

Paylo voor store-respons

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, SeriesInstanceUIDen 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 Transaction (sectie 10.5) heeft vastgesteld dat de gegevensset validatiewaarschuwingen 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 onderzoek 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 header(s) 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 op application/dicom)

Een exemplaar ophalen

De volgende Accept header(s) 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 op application/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 op application/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 deze 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
OW 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 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: HTTP 304 (Not Modified) het antwoord wordt verzonden zonder hoofdtekst van het antwoord.
  • Gegevens zijn gewijzigd sinds de laatste aanvraag: HTTP 200 (OK) het 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 jpegen wordt genegeerd voor png renderaanvragen. Als de parameter niet is opgegeven, wordt standaard ingesteld op 100.

Oorspronkelijke versie ophalen

Met behulp van de bulk-updatebewerking kunt u de oorspronkelijke en 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 voorbeeldaanvraag:

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 bovenstaande 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 .. /Serie?... 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(s) worden ondersteund voor het zoeken:

  • application/dicom+json

Wijzigingen zoeken vanuit v1

Als in de v1-API en voor 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 Ondersteuningswaarde(s) 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. Zowel openbare als persoonlijke tags worden ondersteund.
Wanneer all dit is opgegeven, raadpleegt u de zoekreactie voor meer informatie.
Als er 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.

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. Deze 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 op Series niveau ook geretourneerd.
  • Als de doelresource is Study's Instances, Series worden ook niveaukenmerken geretourneerd.
  • NumberOfStudyRelatedInstances geaggregeerd kenmerk wordt ondersteund op Study niveau includeField.
  • NumberOfSeriesRelatedInstances geaggregeerd kenmerk wordt ondersteund op Series niveau includeField.

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. Antwoordtekst 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.

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 studie-/reeksniveau voor meerdere exemplaren. Twee exemplaren kunnen bijvoorbeeld verschillende patientName hebben. 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 hoofdlettergevoelig en accent in-gevoelig voor PN VR-typen.
  • Matching is hoofdlettergevoelig en 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, seriesen instance komen overeen met de DICOM-kenmerken StudyInstanceUID, SeriesInstanceUIDrespectievelijk 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+jsonhebben.

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 annulering van een niet-eigenaar Workitem aanvragen.

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 watch- en gebeurtenis-SOP-klassen definieert waarmee annuleringsaanvragen en andere gebeurtenissen kunnen worden doorgestuurd, worden deze klassen niet geïmplementeerd door deze DICOM-service en worden er dus geen annuleringsaanvragen voor werkitems geretourneerd die IN PROGRESS fouten 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+jsonhebben.

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 mag niet de UID van de transactie (0008.1195) bevatten. Dit is nodig om de rol van dit 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+jsonhebben.

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+jsonhebben.

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 biedt ondersteuning voor koptekstvelden zoals vereist in tabel 11.6.3-2.

Een geslaagd antwoord heeft geen nettolading of een nettolading met een document statusrapport.

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 mag het kenmerk Transactie-UID (0008.1195) niet bevatten. Dit is nodig om de rol van dit 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+jsonhebben.

De nettolading van de aanvraag bevat de change UPS State Data Elements. Deze gegevenselementen zijn:

  • 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, COMPLETEDof CANCELED.

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(s) worden ondersteund voor het zoeken:

  • application/dicom+json

Ondersteunde zoekparameters

De volgende parameters voor elke query worden ondersteund:

Sleutel Ondersteuningswaarde(s) 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, raadpleegt u De zoekreactie 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 <= 200liggen. 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, doen Doejo doJohn Doe alle overeenkomsten. Komt echter ohn niet overeen.
Doorzoekbare kenmerken

We ondersteunen het zoeken op deze 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

Deze overeenkomende typen worden ondersteund:

Zoektype Ondersteund kenmerk Opmerking
Bereikquery Scheduled​Procedure​Step​Start​Date​Time {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.

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.