Delen via


DICOM Conformance Statement v1

Notitie

API-versie 2 is de nieuwste API-versie en moet worden gebruikt in plaats van v1. Zie de DICOM Conformance-instructie v2 voor meer informatie.

De Medical Imaging Server voor DICOM® ondersteunt een subset van de DICOMweb Standard. Ondersteuning omvat:

Daarnaast worden de volgende 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 v1 versie van de REST API's.

Zie de documentatie voor API-versiebeheer voor 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.

De 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 voor het antwoord 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 wordt gevalideerd op basis van het LO VR 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.

Antwoordstatuscodes opslaan

Code Beschrijving
200 (OK) Alle SOP-exemplaren in de aanvraag worden opgeslagen.
202 (Accepted) Sommige exemplaren in de aanvraag worden opgeslagen, maar andere zijn mislukt.
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.
403 (Forbidden) De gebruiker is niet gemachtigd.
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.
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 url 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 id van de SOP-klasse 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
(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 id van de SOP-klasse 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, 1190) RetrieveURL De URL van dit exemplaar ophalen op de DICOM-server

Een voorbeeldantwoord met Accept koptekst application/dicom+json:

{
  "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"]
      }
    }]
  }
}

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.

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, gebruikt u een komma om elk frame te scheiden 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 op application/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 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
  • */* (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 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

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: 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 ook 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 er standaard een image/jpeg service weergegeven.

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 van 1 tot 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 dit niet is opgegeven, wordt de parameter standaard ingesteld op 100.

Antwoordstatuscodes ophalen

Code Beschrijving
200 (OK) Alle aangevraagde gegevens zijn opgehaald.
304 (Not Modified) De aangevraagde gegevens zijn niet gewijzigd sinds de laatste aanvraag. In dit geval wordt inhoud 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.
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

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 wordt opgegeven. Raadpleeg 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 gebruikt all.
limit= {value} 0..1 Integerwaarde 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 Resultaten overslaan {value} ;
Als er een verschuiving is die groter is dan het aantal zoekresultaten, wordt een 204 (no content) antwoord 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'. "ohn" komt echter 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

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, die 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. De volgende coderingen voor een tag worden ondersteund.

Weergegeven als Opmerking
{group}{element} 0020000D
{dicomKeyword} StudyInstanceUID

Hier volgt een voorbeeldquery die zoekt 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, 0005) SpecificCharacterSet
(0008, 0020) StudyDate
(0008, 0030) StudyTime
(0008, 0050) AccessionNumber
(0008, 0056) InstanceAvailability
(0008, 0090) ReferringPhysicianName
(0008, 0201) TimezoneOffsetFromUTC
(0010, 0010) PatientName
(0010, 0020) PatientID
(0010, 0030) PatientBirthDate
(0010, 0040) PatientSex
(0020, 0010) StudyID
(0020, 000D) StudyInstanceUID

Standaardreekstags

Tag Kenmerknaam
(0008, 0005) SpecificCharacterSet
(0008, 0060) Modality
(0008, 0201) TimezoneOffsetFromUTC
(0008, 103E) SeriesDescription
(0020, 000E) SeriesInstanceUID
(0040, 0244) PerformedProcedureStepStartDate
(0040, 0245) PerformedProcedureStepStartTime
(0040, 0275) RequestAttributesSequence

Standaardexemplaren

Tag Kenmerknaam
(0008, 0005) SpecificCharacterSet
(0008, 0016) SOPClassUID
(0008, 0018) SOPInstanceUID
(0008, 0056) InstanceAvailability
(0008, 0201) TimezoneOffsetFromUTC
(0020, 0013) InstanceNumber
(0028, 0010) Rows
(0028, 0011) Columns
(0028, 0100) BitsAllocated
(0028, 0008) NumberOfFrames

Als includefield=all, de volgende kenmerken worden opgenomen samen met standaardkenmerken. Samen met de standaardkenmerken is dit de volledige lijst met kenmerken die op elk resourceniveau worden ondersteund.

Extra studietags

Tag Kenmerknaam
(0008, 1030) Study Description
(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

Andere reekstags

Tag Kenmerknaam
(0020, 0011) SeriesNumber
(0020, 0060) Laterality
(0008, 0021) SeriesDate
(0008, 0031) SeriesTime

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. De hoofdtekst van het antwoord bevat details van de fout.
401 (Unauthorized) De client wordt niet geverifieerd.
403 (Forbidden) De gebruiker is niet gemachtigd.
503 (Service Unavailable) De service is niet beschikbaar of bezet. Probeer het later opnieuw.

Overige notities

  • 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 verschillende patientName hebben. In dit geval wint de laatste winst en kunt u alleen zoeken op de meest recente gegevens.
  • Gepaginade resultaten zijn geoptimaliseerd om eerst het overeenkomende nieuwste exemplaar te retourneren. Dit kan leiden 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 als één gegevenselement met één waarde ten onrechte meerdere waarden heeft.

Delete

Deze transactie maakt geen deel uit van de officiële DICOMwe 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} Alle exemplaren voor een specifieke studie verwijderen
DELETE .. /studies/{study}/series/{series} Alle exemplaren voor een specifieke reeks in een studie verwijderen
DELETE .. /studies/{study}/series/{series}/instances/{instance} Een specifiek exemplaar in een reeks verwijderen

De 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 is niet geverifieerd
403 (Forbidden) De gebruiker is niet gemachtigd
404 (Not Found) Wanneer de opgegeven reeks niet is gevonden in een studie of het opgegeven exemplaar niet in de reeks is gevonden
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). De Worklist-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 Een workitem maken
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. De 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.
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 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+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 ongewijzigd.
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.

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

Nettolading van Workitem-antwoord ophalen

  • Een geslaagd antwoord heeft één deel nettolading met de aangevraagde Workitem in het geselecteerde mediatype.
  • De geretourneerde Workitem bevat niet het kenmerk Transaction UID (0008, 1195) van de Workitem, 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, mag het Transaction UID kenmerk niet aanwezig zijn. 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 meerdere kenmerken als groep moeten worden bijgewerkt, moet u de update uitvoeren 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) Het doelwerkitem heeft de status of CANCELED de COMPLETED status. (2) De UID van de transactie 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.

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 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) Het Workitem-exemplaar 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 het doelwerkitem. (2) De UID van de transactie 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.

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 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 Integerwaarde 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 {value} resultaten overslaan; Als er een verschuiving is die groter is dan het aantal zoekresultaten, wordt een 204 (no content) antwoord geretourneerd.
fuzzymatching= true | false 0...1 Als true fuzzy matching wordt toegepast op kenmerken met de Person Name (PN) Value Representation (VR); Er wordt een voorvoegselwoordovereenkomst van een naamonderdeel binnen deze kenmerken uitgevoerd. Als dit bijvoorbeeld PatientName het resultaat isJohn^Doe, danjoh, doen Doe jo 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
Zoeken in overeenkomende zoekopdrachten

We ondersteunen deze overeenkomende typen.

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 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 Komt overeen met een onderdeel van de naam die begint met de waarde

Notitie

Hoewel volledige reekskoppelingen niet worden ondersteund, 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.
503 (Service Unavailable) De service is niet beschikbaar of bezet. Probeer het later opnieuw.

Andere notities

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 niet accentgevoelig voor PN VR-typen.
  • Matching is niet hoofdlettergevoelig en is accentgevoelig voor andere VR-typen tekenreeksen.
  • Als er een scenario is waarin het annuleren van een Workitem en het uitvoeren van query's op dezelfde Workitem tegelijkertijd plaatsvindt, 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.