次の方法で共有


DICOM ファイルを更新する

一括更新操作を使用すると、DICOM® サービスに格納されている複数のファイルのイメージング メタデータを変更できます。 たとえば、一括更新を使用すると、1 つの非同期操作で 1 つ以上のスタディの DICOM 属性を変更できます。 この API を使用すると、患者の人口統計の変化に対する更新を実行し、時間のかかるアップロードを繰り返すコストを回避できます。

効率の向上以外に、一括更新機能は 変更フィード の変更の記録を保持し、将来の取得のために元の変更されていないインスタンスを保持します。

制限事項

一括更新操作を使用する場合、いくつかの制限があります。

  • 1 回の操作で最大 50 個のスタディを更新できます。
  • 特定のスタディに対して一度に実行できる一括更新操作は 1 つだけです。
  • UID の変更に関連する更新の場合、1 回の操作で更新できるスタディは 1 つだけです。
  • UID 更新の一部として更新できるのは、Study Instance UID と Series Instance UID のみです。 SOP インスタンス UID をインスタンスに対して更新することはできません。
  • ターゲット UID (studyInstanceUIDseriesInstanceUidsopInstanceUId) が既に存在する場合、UID 更新操作は失敗します。
  • 最新バージョンのスタディのみを削除したり、元のバージョンに戻したりすることはできません。
  • null 以外の値から null 値にフィールドを更新することはできません。

一括更新操作を使用する

一括更新は、調査のエンドポイントで使用できる非同期の実行時間の長い操作です。 要求ペイロードには、更新する 1 つ以上のスタディ、更新する属性のセット、およびそれらの属性の新しい値が含まれます。

複数の研究の事例を更新する

一括更新エンドポイントは、指定された属性を使用して各スタディのすべてのインスタンスを更新する実行時間の長い操作を開始します。

POST {dicom-service-url}/{version}/studies/$bulkUpdate
POST {dicom-service-url}/{version}/partitions/{PartitionName}/studies/$bulkUpdate

リクエストヘッダー

名前 必須 タイプ 説明
コンテンツタイプ いいえ ひも application/json がサポートされています

要求本文

リクエストボディには、更新すべき研究に関する仕様が含まれています。 studyInstanceUidschangeDatasetの両方が必要です。

{
    "studyInstanceUids": ["1.113654.3.13.1026"],
    "changeDataset": { 
        "00100010": { 
            "vr": "PN", 
            "Value": 
            [
                { 
                    "Alphabetic": "New Patient Name 1" 
                }
            ] 
        } 
    }
}

UID を更新するには、次のように変更データセットに新しい UID を指定する必要があります。 seriesInstanceUidは省略可能なフィールドです。

  1. 次の形式の要求を使用して、スタディ内のすべてのインスタンスの studyInstanceUid を更新します。
{
    "studyInstanceUids": ["1.2.3.4"],
    "changeDataset": { 
        "0020000D": { 
            "vr": "UI", 
            "Value": ["1.2.3.5"]
        } 
    }
}
  1. 次の形式の要求を使用して、系列内のすべてのインスタンスの studyInstanceUidseriesInstanceUid を更新します。 一度に更新できるスタディは 1 つだけであり、シリーズ レベルの更新を実行する場合は、階層全体を含む必要があることに注意してください。 シリーズ レベルの更新では、新しい studyInstanceUidseriesInstanceUid の両方を changeDatasetで提供する必要があります。
{
    "studyInstanceUids": ["1.2.3.4"],
    "seriesInstanceUid": "5.6.7.8",
    "changeDataset": { 
        "0020000D": { 
            "vr": "UI", 
            "Value": ["1.2.3.5"]
        },
        "0020000E": { 
            "vr": "UI", 
            "Value": ["5.6.7.9"]
        } 
    }
}

応答

一括更新操作が正常に開始されると、API は 202 状態コードを返します。 応答の本文には、操作への参照が含まれています。

HTTP/1.1 202 Accepted
Content-Type: application/json
{
    "id": "1323c079a1b64efcb8943ef7707b5438",
    "href": "../v1/operations/1323c079a1b64efcb8943ef7707b5438"
}

操作が正常に開始されない場合、応答にはエラー一覧のエラーに関する情報 (1 つ以上の失敗したインスタンスの 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 正しい ひも 操作の ID

応答

{
    "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 (OK) オペレーション 指定した ID の操作が完了しました。
202 (承諾済み) オペレーション 指定した ID の操作が実行されています。
404 (見つかりません) 操作が見つかりません

研究バージョンの取得

Retrieve (WADO-RS) トランザクションを使用すると、スタディ、系列、またはインスタンスの元のバージョンと最新バージョンの両方を取得できます。 既定では、スタディ、系列、またはインスタンスの最新バージョンが返されます。 msdicom-request-original ヘッダーを true に設定すると、元のバージョンが返されます。 UID 更新に関連する一括更新では、新しい UID のみを使用して元のバージョンと最新バージョンを取得できます。 要求の例を次に示します。

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

UID 更新に関連する一括更新では、新しい UID のみを使用して元のバージョンと最新バージョンを取得できます。

削除

delete メソッドは、スタディ、系列、またはインスタンスの元のバージョンと最新バージョンの両方を削除します。

変更フィード

変更フィードには、作成アクションと削除アクションと同じ方法で更新アクションが記録されます。 UID の更新では、以前の UID の変更フィード エントリは更新されません。 更新アクションは、新しい UID にのみ存在します。

サポートされている DICOM モジュール

一括更新操作を使用して、 シーケンスではない患者識別モジュール患者人口統計モジュール 内のすべての属性を更新できます。 サポートされている属性は、テーブルで呼び出されます。

一括更新で自動的に変更される属性

一括更新を実行すると、DICOM サービスは要求された属性と 2 つの追加メタデータ フィールドを自動的に更新します。 自動的に更新される情報を次に示します。

タグ 属性名 説明 価値
(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 アーク の下に登録されています。

患者識別モジュールの属性

属性名 タグ 説明
患者の名前 (0010,0010) 患者のフル ネーム
患者 ID (0010,0020) 患者のプライマリ病院識別番号またはコード
その他の患者 ID (0010,1000) 患者を識別するために使用されるその他の識別番号またはコード
患者 ID の種類 (0010,0022) この項目の識別子の型。列挙値: TEXT RFID BARCODE。 識別子は、型に関係なく、バイナリ値 としてではなく 文字列としてコード化されることに注意してください。
その他の患者名 (0010,1001) 患者を識別するために使用されるその他の名前
患者の生年月日 (0010,1005) 患者の生年月日
患者の母親の誕生名 (0010,1060) 患者の母親の誕生名
医療記録ロケーター (0010,1090) 患者の既存の医療記録 (フィルム ジャケットなど) を検索するために使用される識別子。

患者人口統計モジュールの属性

属性名 タグ 説明
患者の年齢 (0010,1010) 患者の年齢
職業 (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) レジストリ内の獣医患者の識別番号
患者 ID の発行者 (0010,0021) 患者 ID を発行した割り当て機関 (システム、組織、機関、または部門) の識別子

一般的な学習モジュール

属性名 タグ 説明
スタディインスタンスUID (0020,000D) 検査の一意識別子
シリーズ インスタンス UID (0020,000E) シリーズの一意識別子
紹介医師の名前 (0008,0090) 患者の紹介医の名前
受付番号 (0008,0050) 調査の順序を識別する RIS 生成番号
研究の説明 (0008,1030) 実施された調査 (コンポーネント) の教育機関によって生成された説明または分類

DICOM® は、医療情報のデジタル通信に関する標準出版物に関する米国電機工業会 (National Electrical Manufacturers Association) の登録商標です。