更新 DICOM 檔案
大量更新作業可讓您針對儲存在 DICOM® 服務中多個檔案的影像中繼資料進行變更。 例如,大量更新可讓您針對單一非同步作業中的一個或多個研究修改 DICOM 屬性。 您可以使用此 API 來執行病患人口統計變更的更新,避免因為重複且費時的上傳而產生成本。
除了效率提升之外,大量更新功能會在變更摘要中保留變更記錄,並保存原始、未修改的執行個體以供日後擷取。
限制
使用大量更新作業有一些限制:
- 在單一作業中最多可以更新 50 項研究。
- 一次只能執行一項大量更新作業。
- 您無法只刪除最新版的研究,或還原到原始版本。
- 您無法將任何欄位從非 null 更新為 null 值。
使用大量更新作業
大量更新是可在研究端點上執行的非同步長時間執行作業。 要求承載會包含一個或多個要更新的研究、要更新的屬性集,以及這些屬性的新值。
更新多個研究中的執行個體
大量更新端點會啟動長時間執行的作業,以指定屬性來更新每個研究中的所有執行個體。
POST {dicom-service-url}/{version}/studies/$bulkUpdate
POST {dicom-service-url}/{version}/partitions/{PartitionName}/studies/$bulkUpdate
要求標頭
名稱 | 必要 | 類型 | 描述 |
---|---|---|---|
內容-類型 | False | string | 支援application/json |
要求本文
要求本文會包含要更新的研究規格。 studyInstanceUids
和 changeDataset
都是必要項目。
{
"studyInstanceUids": ["1.113654.3.13.1026"],
"changeDataset": {
"00100010": {
"vr": "PN",
"Value":
[
{
"Alphabetic": "New Patient Name 1"
}
]
}
}
}
回覆
成功啟動大量更新作業時,API 會傳回 202
狀態碼。 回應的本文會包含作業的參考。
HTTP/1.1 202 Accepted
Content-Type: application/json
{
"id": "1323c079a1b64efcb8943ef7707b5438",
"href": "../v1/operations/1323c079a1b64efcb8943ef7707b5438"
}
如果作業無法成功啟動,回應會在錯誤清單中包含失敗的相關資訊,包括失敗執行個體的 UID。
{
"operationId": "1323c079a1b64efcb8943ef7707b5438",
"type": "update",
"createdTime": "2023-05-08T05:01:30.1441374Z",
"lastUpdatedTime": "2023-05-08T05:01:42.9067335Z",
"status": "failed",
"percentComplete": 100,
"results": {
"studyUpdated": 0,
"studyFailed": 1,
"instanceUpdated": 0,
"errors": [
"Failed to update instances for study 1.113654.3.13.1026"
]
}
}
名稱 | 類型 | 描述 |
---|---|---|
202 (已接受) | 作業參考 | 啟動長時間執行作業來更新 DICOM 屬性 |
400 (錯誤的要求) | 要求本文的資料無效 |
作業狀態
您可以輪詢 href
URL 來了解更新作業的目前狀態,直到完成為止。 傳回 200
代碼表示作業已順利完成。
GET {dicom-service-url}/{version}/operations/{operationId}
URI 參數
名稱 | 位於 | 必要 | 類型 | 描述 |
---|---|---|---|---|
operationId | path | True | string | 作業識別碼 |
回覆
{
"operationId": "1323c079a1b64efcb8943ef7707b5438",
"type": "update",
"createdTime": "2023-05-08T05:01:30.1441374Z",
"lastUpdatedTime": "2023-05-08T05:01:42.9067335Z",
"status": "completed",
"percentComplete": 100,
"results": {
"studyUpdated": 1,
"instanceUpdated": 16,
// Errors will go here
}
}
名稱 | 類型 | 描述 |
---|---|---|
200 (確定) | 作業 | 具有指定識別碼的作業已完成 |
202 (已接受) | 作業 | 具有指定識別碼的作業正在執行中 |
404 (找不到) | 找不到作業 |
擷取研究版本
擷取 (WADO-RS) 交易可讓您擷取原始和最新版本的研究、系列或執行個體。 預設一律會傳回最新版的研究、系列或執行個體。 將 msdicom-request-original
標頭設定為 true
可傳回原始版本。 範例要求如下:
GET {dicom-service-url}/{version}/studies/{study}/series/{series}/instances/{instance}
Accept: multipart/related; type="application/dicom"; transfer-syntax=*
msdicom-request-original: true
Content-Type: application/dicom
刪除
delete 方法會同時刪除研究、系列列或執行個體的原始版本和最新版本。
變更摘要
變更摘要會透過與建立和刪除動作相同的方式記錄更新動作。
支援的 DICOM 模組
不是序列的病患識別模組和病患人口統計模組中的任何屬性都可以使用大量更新作業來更新。 資料表中列出支援的屬性。
大量更新中自動變更的屬性
當您執行大量更新時,DICOM 服務會更新所要求的屬性,以及另外兩個中繼資料欄位。 以下是自動更新的資訊:
標籤 | Attribute name | 描述 | 值 |
---|---|---|---|
(0002,0012) | 實作類別 UID | 唯一識別寫入此檔案及其內容的實作。 | 1.3.6.1.4.1.311.129 |
(0002,0013) | 實作版本名稱 | 識別實作類別 UID (0002,0012) 的版本 | DICOM 服務的組件版本 (例如 0.1.4785) |
在這裡,UID 1.3.6.1.4.1.311.129
是在 IANA 中 Microsoft OID arc 底下註冊的識別碼。
病患識別模組屬性
屬性名稱 | 標記 | 描述 |
---|---|---|
病患姓名 | (0010,0010) | 病患的全名 |
病患識別碼 | (0010,0020) | 病患的主要醫院識別編號或代碼。 |
其他病患識別碼 | (0010,1000) | 用來識別病患的其他識別編號或代碼。 |
病患識別碼的類型 | (0010,0022) | 此項目中的識別碼類型。 列舉值:TEXT RFID BARCODE 請注意,不論類型為何,識別碼都會編碼為字串,而不是二進位值。 |
其他病患名稱 | (0010,1001) | 用來識別病患的其他名稱。 |
病患出生時的姓名 | (0010,1005) | 病患出生時的姓名。 |
病患母親出生時的姓名 | (0010,1060) | 病患母親出生時的姓名。 |
病歷尋找程式 | (0010,1090) | 用來尋找病患現有醫療記錄的識別碼 (例如 film jacket)。 |
病患人口統計模組屬性
屬性名稱 | 標記 | 描述 |
---|---|---|
病患年齡 | (0010,1010) | 病患的年齡。 |
Occupation | (0010,2180) | 病患的職業。 |
病患資料描述的機密約束 | (0040,3001) | 有關病患資訊機密性的醫療操作者特殊指示 (例如,他們不得在其他病患面前時使用病患姓名)。 |
病患的出生日期 | (0010,0030) | 指定病患的出生日期 |
病患的出生時間 | (0010,0032) | 指定病患的出生時間 |
病患的性別 | (0010,0040) | 指定病患的性別。 |
品質控制對象 | (0010,0200) | 指出該對象是否為品質控制假體。 |
病患的尺寸 | (0010,1020) | 病患的高度或長度 (以公尺為單位) |
病患的體重 | (0010,1030) | 病患的體重 (以公斤為單位) |
病患的地址 | (0010,1040) | 指定病患的法定地址 |
軍階 | (0010,1080) | 病患的軍階 |
服務分支 | (0010,1081) | 軍隊分支。 效忠國家或地區的軍人也可能包含在內 (例如,美軍)。 |
居住國家/地區 | (0010,2150) | 病患目前所居住的國家/地區 |
居住區域 | (0010,2152) | 病患居住國家內的區域 |
病患的電話號碼 | (0010,2154) | 可以連絡到病患的電話號碼 |
族裔 | (0010,2160) | 病患的族裔或種族 |
病患的宗教偏好 | (0010,21F0) | 病患的宗教偏好 |
病患註解 | (0010,4000) | 關於病患的使用者定義註解 |
負責人員 | (0010,2297) | 具有病患醫療決策權的人員姓名。 |
負責人員角色 | (0010,2298) | 負責人員與病患的關係。 |
負責組織 | (0010,2299) | 具有病患醫療決策權的組織名稱。 |
病患物種描述 | (0010,2201) | 病患的物種。 |
病患品種描述 | (0010,2292) | 病患的品種。 請參閱第 C.7.1.1.1.1 節。 |
品種登錄號碼 | (0010,2295) | 登錄中的獸醫病患識別編號。 |
病患標識碼的簽發者 | (0010,0021) | 發出病患識別碼的指派授權單位識別碼 (系統、組織、機構或部門)。 |
一般研究模組
屬性名稱 | 標記 | 描述 |
---|---|---|
轉介醫生的姓名 | (0008,0090) | 病患的轉介醫生姓名。 |
登錄編號 | (0008,0050) | RIS 產生的數字,用來識別研究的順序。 |
研究描述 | (0008,1030) | 機構為所執行研究 (成分) 產生的描述或分類。 |
注意
DICOM® 是美國電氣製造商協會對於其與醫療資訊數位通訊相關的標準出版物的註冊商標。