Modifiche all'API del servizio DICOM v2
Questa guida di riferimento fornisce un riepilogo delle modifiche nell'API V2 del servizio DICOM®. Per visualizzare il set completo di funzionalità nella versione 2, vedere l'istruzione di conformità DICOM v2.
Nelle versioni precedenti, una richiesta dello Store ha esito negativo se uno degli attributi richiesti o ricercabili non riesce a convalidare. A partire dalla versione 2, la richiesta ha esito negativo solo se gli attributi obbligatori non riescono a convalidare.
La convalida degli attributi non riuscita non richiesta dall'API comporta l'archiviazione del file con un avviso nella risposta. Gli avvisi generano un codice restituito HTTP di e il payload della 202 Accepted
risposta contiene il WarningReason
tag (0008, 1196
).
Viene visualizzato un avviso relativo a ogni attributo con errori per ogni istanza. Quando una sequenza contiene un attributo che non riesce la convalida o quando si verificano più problemi con un singolo attributo, viene annotato solo il primo motivo dell'attributo non riuscito.
Esistono alcuni comportamenti rilevanti per gli attributi facoltativi che non superano la convalida:
- Cerca l'attributo che non ha superato la convalida restituisce lo studio,la serie o l'istanza se il valore viene corretto in uno dei pochi modi indicati qui.
- Gli attributi non vengono restituiti durante il recupero dei metadati tramite endpoint WADO
/metadata
.
Il recupero di uno studio,una serie o un'istanza restituisce sempre i file binari originali con gli attributi originali, anche se tali attributi non hanno superato la convalida.
Se un attributo viene riempito con valori Null, l'attributo viene indicizzato quando è ricercabile e viene archiviato così com'è nei metadati dicom+json. Non viene fornito alcun avviso di convalida.
Il recupero di un singolo frame è supportato aggiungendo l'intestazione seguente Accept
:
application/octet-stream; transfer-syntax=*
I risultati della ricerca potrebbero essere incompleti per i tag di query estesi con avvisi di convalida
Nell'API v1 e continua per v2, se un tag di query estesa presenta errori, perché una o più istanze esistenti hanno un valore di tag che non è stato possibile indicizzare, le query di ricerca successive contenenti il tag di query esteso restituiscono erroneous-dicom-attributes
come descritto in dettaglio nella documentazione. Tuttavia, i tag (noti anche come attributi) con avvisi di convalida di STOW-RS non sono inclusi in questa intestazione. Se una richiesta di archivio genera avvisi di convalida per gli attributi ricercabili al momento dell'archiviazione dell'istanza, tali attributi potrebbero non essere usati per cercare l'istanza archiviata. Tuttavia, tutti gli attributi ricercabili che non hanno superato la convalida saranno in grado di restituire risultati se i valori vengono sovrascritti dalle istanze della stessa serie/studio archiviate dopo l'operazione non riuscita oppure se i valori sono già archiviati correttamente da un'istanza precedente. Se i valori dell'attributo non vengono sovrascritti, non produrranno alcun risultato della ricerca.
Un attributo può essere corretto nei modi seguenti:
- Eliminare l'istanza archiviata e caricare una nuova istanza con i dati corretti
- Caricare una nuova istanza nella stessa serie/studio con dati corretti
Il set di attributi restituiti per impostazione predefinita è stato ridotto per migliorare le prestazioni. Vedere l'elenco dettagliato nella documentazione relativa alla risposta alla ricerca.
Attributi aggiunti di recente ai tag predefiniti.
Livello tag | Tag | Nome attributo |
---|---|---|
Studiare | (0008, 1030) | StudyDescription |
Serie | (0008, 1090) | ManufacturerModelName |
Attributi rimossi dai tag predefiniti.
Livello tag | Tag | Nome attributo |
---|---|---|
Studiare | (0008, 0005) | SpecificCharacterSet |
Studiare | (0008, 0030) | StudyTime |
Studiare | (0008, 0056) | InstanceAvailability |
Studiare | (0008, 0201) | TimezoneOffsetFromUTC |
Studiare | (0010, 0040) | PatientSex |
Studiare | (0020, 0010) | StudyID |
Serie | (0008, 0005) | SpecificCharacterSet |
Serie | (0008, 0201) | TimezoneOffsetFromUTC |
Serie | (0008, 103E) | SeriesDescription |
Serie | (0040, 0245) | PerformedProcedureStepStartTime |
Serie | (0040, 0275) | RequestAttributesSequence |
Istanza | (0008, 0005) | SpecificCharacterSet |
Istanza | (0008, 0016) | SOPClassUID |
Istanza | (0008, 0056) | InstanceAvailability |
Istanza | (0008, 0201) | TimezoneOffsetFromUTC |
Istanza | (0020, 0013) | InstanceNumber |
Istanza | (0028, 0010) | Righe |
Istanza | (0028, 0011) | Colonne |
Istanza | (0028, 0100) | BitsAllocated |
Istanza | (0028, 0008) | NumberOfFrames |
Tutti i tag rimossi fanno parte di tag aggiuntivi che verranno restituiti quando viene eseguita una query con includefield = all
.
Quando un attributo è stato archiviato usando spaziatura interna Null, può essere cercato con o senza la spaziatura interna Null nella codifica URI. I risultati recuperati sono per gli attributi archiviati sia con che senza spaziatura interna Null.
Per allinearsi alle linee guida dell'API REST di Microsoft, lo completed
stato è stato rinominato in succeeded
.
L'API Feed di modifiche accetta ora parametri e endTime
facoltativi startTime
per definire l'ambito dei risultati. Le modifiche all'interno di un intervallo di tempo possono comunque essere impaginate usando i parametri e limit
esistentioffset
. L'offset è relativo all'intervallo di tempo definito da startTime
e endTime
. Ad esempio, la quinta voce del feed di modifiche a partire dal 24/7/2023 alle 09:00 UTC userebbe la stringa ?startTime=2023-07-24T09:00:00Z&offset=5
di query .
Per la versione 2, è consigliabile includere sempre un intervallo di tempo per migliorare le prestazioni.
Nota
DICOM® è il marchio registrato della National Electrical Manufacturers Association per le sue pubblicazioni Standard relative alle comunicazioni digitali delle informazioni mediche.