DICOM 服務 API v2 變更
本參考指南提供 DICOM® 服務 V2 API 中變更的摘要。 若要查看 v2 中的完整功能集,請參閱 DICOM 一致性語句 v2。
v2 中的變更摘要
儲存
選擇性屬性的 Lenient 驗證
在舊版中,如果任何 必要 或 可搜尋的屬性 失敗,Store 要求就會失敗。 從 v2 開始,只有在必要的屬性驗證失敗時 ,要求才會 失敗。
API 不需要的屬性驗證失敗,會導致檔案在回應中以警告儲存。 警告會導致的 202 Accepted
HTTP 傳回碼,而響應承載包含 WarningReason
標記 (0008, 1196
)。
每個實例的每個失敗屬性都有警告。 當序列包含驗證失敗的屬性,或單一屬性有多個問題時,只會指出第一個失敗的屬性原因。
選擇性屬性有一些值得注意的行為,這些屬性會失敗驗證:
- 搜尋驗證失敗的屬性會傳回研究/數列/實例,如果值是以此處所述的幾種方式之一更正。
- 透過 WADO
/metadata
端點擷取元數據時,不會傳回屬性。
即使這些屬性驗證失敗,擷取研究/數列/實例一律會傳回具有原始屬性的原始二進位檔。
如果屬性以 Null 填補,當可搜尋且儲存為 dicom+json 元數據時,屬性會編製索引。 未提供驗證警告。
Retrieve
單一畫面擷取支援
新增下列 Accept
標頭支援單一畫面擷取:
application/octet-stream; transfer-syntax=*
搜尋
具有驗證警告的擴充查詢標籤搜尋結果可能不完整
在 v1 API 中,如果擴充查詢標籤有任何錯誤,因為一或多個現有的實例有無法編製索引的標籤,則後續包含擴充查詢卷標的搜尋查詢會如檔中所述傳回erroneous-dicom-attributes
。 不過,此標頭中不包含具有 STOW-RS 驗證警告的標籤(也稱為屬性)。 如果存放區要求在儲存實例時產生可搜尋屬性的驗證警告,這些屬性可能無法用來搜尋已儲存的實例。 不過,如果值覆寫在失敗之後所儲存的相同研究/系列中的實例,或先前實例已正確儲存值,則驗證失敗的任何 可搜尋屬性 都能夠傳回結果。 如果未覆寫屬性值,則不會產生任何搜尋結果。
您可以透過下列方式更正屬性:
- 刪除已儲存的實例,並上傳具有更正數據的新實例
- 使用更正的數據,在相同的研究/系列中上傳新的實例
預設會傳回較少的研究、數列和實例屬性
默認傳回的屬性集已減少,以改善效能。 請參閱搜尋回應檔中的詳細清單。
新增至默認標籤的屬性。
捲標層級 | 標籤 | 屬性名稱 |
---|---|---|
研究 | (0008, 1030) | StudyDescription |
數列 | (0008, 1090) | ManufacturerModelName |
從預設標籤移除的屬性。
捲標層級 | 標籤 | 屬性名稱 |
---|---|---|
研究 | (0008, 0005) | SpecificCharacterSet |
研究 | (0008, 0030) | StudyTime |
研究 | (0008, 0056) | InstanceAvailability |
研究 | (0008, 0201) | TimezoneOffsetFromUTC |
研究 | (0010, 0040) | PatientSex |
研究 | (0020, 0010) | StudyID |
數列 | (0008, 0005) | SpecificCharacterSet |
數列 | (0008, 0201) | TimezoneOffsetFromUTC |
數列 | (0008,103E) | SeriesDescription |
數列 | (0040, 0245) | PerformedProcedureStepStartTime |
數列 | (0040, 0275) | RequestAttributesSequence |
執行個體 | (0008, 0005) | SpecificCharacterSet |
執行個體 | (0008, 0016) | SOPClassUID |
執行個體 | (0008, 0056) | InstanceAvailability |
執行個體 | (0008, 0201) | TimezoneOffsetFromUTC |
執行個體 | (0020, 0013) | InstanceNumber |
執行個體 | (0028, 0010) | 資料列 |
執行個體 | (0028, 0011) | 資料行 |
執行個體 | (0028, 0100) | BitsAllocated |
執行個體 | (0028, 0008) | NumberOfFrames |
所有已移除的標籤都是其他標記的一部分,其會在使用 includefield = all
查詢時傳回。
可為 Null 填補的屬性搜尋,且不需要填補
使用 Null 填補來儲存屬性時,可以在 URI 編碼中使用或不使用 Null 填補來搜尋屬性。 擷取的結果適用於使用 和 不含 Null 填補儲存的屬性。
Operations
狀態 completed
已重新命名為 succeeded
為了符合 Microsoft的 REST API 指導方針, completed
狀態已重新命名為 succeeded
。
變更摘要
變更摘要現在接受時間範圍
變更摘要 API 現在接受選擇性 startTime
和 endTime
參數,以協助界定結果的範圍。 時間範圍內的變更仍然可以使用現有的 offset
和 limit
參數分頁。 位移相對於和endTime
所startTime
定義的時間範圍。 例如,從 2023 年 7 月 24 日上午 09:00 UTC 開始的第五個變更摘要專案會使用查詢字串 ?startTime=2023-07-24T09:00:00Z&offset=5
。
針對 v2,建議一律包含時間範圍來改善效能。
注意
DICOM® 是美國電氣製造商協會對於其與醫療資訊數位通訊相關的標準出版物的註冊商標。