簡単な回答: DICOMオブジェクト(画像、レポート、線量記録など)はすべて、データ要素のリストであり、それぞれがタグで識別されます。タグはグループ番号と要素番号で構成され、それぞれ4桁の16進数で表されます。例えば、患者の名前は(0010,0010)です。各要素には、どのような種類のデータ(テキスト、日付、UID、整数、バイナリ)が含まれているかを示す値表現(VR)と、その値自体があります。ピクセルデータは、(7FE0,0010) Pixel Dataという別の要素です。完全な辞書は標準のパート6にあり、約5,000の公開タグがあります。ベンダーは奇数のグループ番号を持つプライベートタグを追加できます。
レベル
DICOMタグは、DICOM階層に対応する4つのレベルに整理されています。患者(氏名、ID、生年月日、性別)、検査(Study Instance UID、日付、受付番号、説明、紹介医)、シリーズ(Series Instance UID、モダリティ、部位)、画像(SOP Instance UID、SOP Class UID、行数、列数、ビット数、ウィンドウ設定、ピクセルデータ)。各ファイルには、これら4つのレベルすべての値が繰り返されます。
DICOMは、階層のどのレベルを記述しているかに基づいて属性をグループ化します。同じ値は、スタディのすべてのファイルで繰り返されるため、単一の画像でも正しく保存できます。
| レベル | タグ | 名前 | VR | 例 |
|---|---|---|---|---|
| 患者 | (0010,0010) | 患者名 | PN | DOE^JANE^^^ |
| 患者 | (0010,0020) | 患者ID | LO | MRN-00012345 |
| 患者 | (0010,0030) | 患者の生年月日 | DA | 19800523 |
| 患者 | (0010,0040) | 患者の性別 | CS | F |
| スタディ | (0020,000D) | スタディインスタンスUID | UI | 1.2.840.113619.2.55… |
| スタディ | (0008,0020) | スタディ日付 | DA | 20260314 |
| スタディ | (0008,0050) | アクセッション番号 | SH | RAD2026-77812 |
| スタディ | (0008,1030) | スタディの説明 | LO | CT CHEST W/O CONTRAST |
| スタディ | (0008,0090) | 紹介医の氏名 | PN | SMITH^JOHN |
| シリーズ | (0020,000E) | シリーズインスタンスUID | UI | 1.2.840.113619.2.55… |
| シリーズ | (0008,0060) | モダリティ | CS | CT |
| シリーズ | (0018,0015) | 検査された身体部位 | CS | CHEST |
| 画像 | (0008,0018) | SOPインスタンスUID | UI | 1.2.840.113619.2.55… |
| 画像 | (0008,0016) | SOPクラスUID | UI | 1.2.840.10008.5.1.4.1.1.2 (CT画像保存) |
| 画像 | (0028,0010) / (0028,0011) | 行数 / 列数 | US | 512 / 512 |
| 画像 | (0028,0100) | 割り当てられたビット数 | US | 16 |
| 画像 | (0028,1050) / (0028,1051) | ウィンドウ中心 / 幅 | DS | 40 / 400 |
| 画像 | (7FE0,0010) | ピクセルデータ | OB or OW | バイト |
値表現
DICOMの値表現(VR)は、ソフトウェアが要素のバイトをどのように読み取るかを示す2文字のコードです。氏名の場合はPN、文字列の場合はLOやSH、コード文字列の場合はCS、日付と時刻の場合はDA、TM、DT、一意の識別子の場合はUI、数値文字列の場合はISやDS、符号なしショートの場合はUS、シーケンスの場合はSQ、バイナリの場合はOBまたはOWです。
VRは、ソフトウェアがバイトをどのように読み取るかを指示します。一般的なもの:PN(個人名、^で区切られたコンポーネント:ファミリー^名^ミドル^接頭辞^接尾辞)、LO(長い文字列)、SH(短い文字列)、CS(コード文字列、大文字、固定リストから)、DA(日付 YYYYMMDD)、TM(時刻)、DT(日時)、UI(一意の識別子、ドット付きの数字、最大64文字)、IS(整数文字列)、DS(10進数文字列)、US(符号なし短整数)、SQ(シーケンス、さらにデータ要素のネストされたリスト)、OB/OW(その他のバイトまたはワード、生のバイナリ)。DICOMweb JSONでは、各属性は{"vr": "PN", "Value": [...]}のように記述されます。これはDICOMweb explainedで示されています。
UID:変更してはならない識別子
DICOMのStudy、Series、SOP Instance UIDは、スキャナーが製造元の登録済みルートで生成し、PACSインデックス、FHIR ImagingStudy、DICOMweb URLで再利用されるグローバルに一意な識別子です。これらは一貫性を欠いて書き直されてはならず、さもないと検査全体が崩壊します。対照的に、SOP Class UIDは、画像ではなくオブジェクトの種類を識別します。
3つのUID(スタディ、シリーズ、インスタンス)は、システムにおける唯一のグローバルに一意な識別子です。これらは、製造元の登録されたルートの下でスキャナーによって生成され、PACSインデックス、FHIR ImagingStudy、DICOMweb URLなど、どこでも再利用されます。ツールがこれらを一貫性のない方法で書き換える(一方のファイルを匿名化しても、その隣は匿名化しない)と、スタディはバラバラになります。SOPクラスUIDは異なります。これはこの画像の識別子ではなく、標準によって固定されたオブジェクトの種類(CT画像、MR画像、構造化レポート)の識別子です。
個人データを運ぶタグ
個人データを運ぶDICOMタグは、標準のPart 15、Annex E、Basic Application Level Confidentiality Profileに記載されています。患者の氏名、ID、生年月日、住所と電話番号、医師と機関の名前、デバイスのシリアル番号、各レベルの日付と時刻、自由形式の説明、プライベートタグ、識別子を保持するネストされたシーケンス、ピクセルに焼き付けられたテキストが含まれます。
標準のパート15、付録Eは、基本アプリケーションレベルの機密性プロファイルを定義しています。これは、患者、臨床医、または機関を識別する属性のリストであり、それぞれにアクション(削除、ダミーへの置換、保持、クリーニング)があります。明白なものは、患者の名前、ID、生年月日、住所、電話番号、医師の名前、機関名と住所、デバイスのシリアル番号です。あまり明白でないもの:
- すべてのレベル(スタディ、シリーズ、取得、コンテンツ)の日付と時刻。研究の必要性に応じてシフトまたは削除されます。
- テクニシャンが名前で埋めることがあるフリーテキストフィールド(スタディの説明、画像コメント、プロトコル名)。
- 意味はベンダーのみが知っているプライベートタグ。安全なデフォルトは削除することです。
- ピクセル自体に描画されたテキスト(超音波や一部のスクリーンショット)。
(0028,0301)Burned In Annotationによってフラグが立てられ、画像を編集しないと削除できません。 - Identifiers hide inside nested elements.(識別子がネストされた要素内に隠れている)
優れた匿名化ツールはパート15に従い、古いUIDと新しいUIDのマッピングを安全な場所に保持し、変更した内容を記録します。より広範な情報(HIPAAセーフハーバー、GDPR匿名化および仮名化)については、De-identification of health dataを参照してください。
ヘッダーを自分で読む
DICOMヘッダーは、任意のDICOMビューア、またはDCMTKのdcmdumpやPythonのpydicomのようなコマンドラインツールで自分で読み取ることができます。これらのツールは、ファイルをタグのリストとして表示します。ヘッダーには、患者の氏名、生年月日、検査日、検査の説明が表示されるため、病院から取得した画像がご自身のものか確認できます。
どのDICOMビューアでもヘッダーを表示できます。コマンドラインツール(DCMTKのdcmdump、Pythonのpydicom)は、それをタグリストとして印刷します。病院から自身の画像を入手した場合、ヘッダーで名前、生年月日、スタディ日付が自分のものであること、およびスタディの説明が受けた検査と一致していることを確認できます。How to get your CT or MRI imagesを参照してください。
関連ページ
- DICOMweb explained
- FHIR ImagingStudy vs DICOMweb
- PACS vs RIS vs VNA
- De-identification of health data
- How to get your CT or MRI images (DICOM)
ソース
- DICOM PS3.6: Data Dictionary
- DICOM PS3.5: Data Structures and Encoding (value representations)
- DICOM PS3.15 Annex E: Attribute Confidentiality Profiles
- DICOM PS3.3: Information Object Definitions
- pydicom documentation
よくある質問
タグはなぜ(0010,0010)と00100010の両方で表記されるのですか?
これらは同じものです。16進数でのグループ0010と要素0010です。括弧付きの形式はドキュメントやビューアで使用され、8桁の形式はDICOMweb JSONのキーとして使用されます。
プライベートタグとは何ですか?
標準ではなくベンダーによって定義された要素で、奇数番号のグループ(例:(0009,xxxx)または(0029,xxxx))にあり、ベンダーブロックの名前を付けたプライベートクリエーター要素があります。そのベンダーのソフトウェアのみが意味を知っています。匿名化はデフォルトでこれらを削除します。
DICOMタグはFHIR要素と同じですか?
いいえ。FHIR ImagingStudyはそれらのうちのいくつかを運びます(UID、モダリティ、身体部位、カウント、日付)。ヘッダーの残りはDICOMに残ります。DICOM標準のパート16とFHIR仕様は、存在する少数のマッピングを文書化しています。
アーカイブ内の画像を見つけるために必要なタグは何ですか?
患者IDまたは名前でスタディを見つけ、次にスタディインスタンスUIDで正しいスタディを取得します。QIDO-RSはまさにこれらを検索し、シリーズとインスタンスUIDが応答で返されます。
Anpheros Dailyで試してみる
スキャンや検査レポートをAnpheros Dailyに一元管理し、次回の受診時に提示できるようにしておきましょう。
アプリでの使い方 →
