DICOM サービス API v2 の変更点
この参照 ガイドでは、DICOM® サービスの V2 API での変更の概要を示します。 v2 の機能の完全なセットについては、 DICOM 適合性宣言書 v2を参照してください。
v2の変更の概要
ストア
省略可能な属性の Lenient 検証
以前のバージョンでは、必要な または検索可能な属性 検証に失敗した場合、Microsoft Store要求は失敗します。 v2 以降、要求は、必要な属性 検証に失敗した場合にのみ失敗します。
API で不要な属性の検証に失敗すると、応答に警告が表示されてファイルが保存されます。 警告の結果、 202 Accepted
の HTTP リターン コードが生成され、応答ペイロードに WarningReason
タグ (0008, 1196
) が含まれます。
インスタンスごとに失敗した各属性に関する警告が表示されます。 シーケンスに検証に失敗する属性が含まれている場合、または 1 つの属性に複数イシューがある場合は、最初に失敗した属性の理由のみが示されます。
検証に失敗する省略可能な属性には、いくつかの注目すべきビヘイビアーがあります:
- 検証に失敗した属性を検索すると、ここで説明するいくつかの方法のいずれかで値が修正された場合、スタディ/系列/インスタンス 返されます。
- WADO
/metadata
エンドポイント経由でメタデータを取得する場合、属性は返されません。
スタディ/系列/インスタンスを取得すると、それらの属性が検証に失敗した場合でも、元の属性を持つ元のバイナリ ファイルが常に返されます。
属性が null 値で埋め込まれている場合、属性は検索可能なときにインデックスを付加され、dicom+json メタデータにそのまま保存されます。 検証の警告は表示されません。
Retrieve
単一フレーム取得のサポート
次の Accept
ヘッダーを追加することで、単一フレームの取得がサポートされます:
application/octet-stream; transfer-syntax=*
検索
検証の警告が表示された拡張クエリ タグの検索結果が不完全である可能性があります
v1 API では、v2 に対して続けて、 拡張クエリ タグ にエラーが発生した場合、既存のインスタンスの 1 つ以上にインデックスを付加できないタグ値があるため、拡張クエリ タグを含む後続の検索クエリは、 ドキュメント で詳しく説明されているようにerroneous-dicom-attributes
に返されます。 ただし、STOW-RSからの検証の警告があるタグ (属性とも呼ばれます) は、このヘッダーに含まれません。 ストア要求によって、インスタンスが保存された時点で 検索可能な属性の検証警告が発生した場合、それらの属性を使用して保存されたインスタンスを検索できないことがあります。 ただし、検証に失敗した 検索可能な属性は、失敗した後に保存された同じスタディ/シリーズ内のインスタンスによって値が上書きされた場合、または値が以前のインスタンスによって既に正しく保存されている場合に、結果を返すことができます。 属性値が上書きされない場合、検索結果は生成されません。
属性は、次の方法で修正できます:
- 保存されているインスタンスを削除し、修正されたデータを含む新しいインスタンスをアップロードします
- 修正されたデータを含む同じスタディ/シリーズに新しいインスタンスをアップロードする
既定では返されるスタディ、シリーズ、インスタンスの属性が少なくなります
既定では返される属性のセットは、パフォーマンスを向上させるために削減されています。 検索応答 ドキュメントの詳細なリストを参照してください。
属性が既定のタグに新しく追加されました。
タグ レベル | Tag | 属性名 |
---|---|---|
検査 | (0008, 1030) | StudyDescription |
系列 | (0008, 1090) | ManufacturerModelName |
既定のタグから削除された属性。
タグ レベル | Tag | 属性名 |
---|---|---|
検査 | (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 値 埋め込みの有無にかかわらず保存される属性に対して行われます。
操作
completed
の状態の名前が succeeded
に変更されました
Microsoft の REST API ガイドライン に合わせて、 completed
の状態の名前が succeeded
に変更されました。
変更フィード
変更フィードが時間の範囲を受け入れるようになりました
Change Feed API は、結果のスコープを設定するのに役立つ省略可能な startTime
パラメータと endTime
パラメータを受け入れるようになりました。 時間の範囲内の変更は、既存の offset
と limit
パラメータを使用してページ分割できます。 オフセットは、 startTime
と endTime
によって定義されたtimeウィンドウを基準にしています。 たとえば、2023 年 7 月 24 日午前 9 時 (UTC) から始まる 5 番目の変更フィード エントリでは、クエリ文字列 ?startTime=2023-07-24T09:00:00Z&offset=5
が使用されます。
v2 の場合は、パフォーマンスを向上させるために、常に時間の範囲を含めておくことをお勧めします。
Note
DICOM® は、医療情報のデジタル通信に関する標準出版物に関する米国電機工業会 (National Electrical Manufacturers Association) の登録商標です。