HL7 FHIR JP Core ImplementationGuide
1.1.0a - ci-build Japan flag

HL7 FHIR JP Core ImplementationGuide - Local Development build (v1.1.0a). See the Directory of published versions

Resource Profile: JP Core ImagingStudy Radiology Profile

項目内容
定義URL http://jpfhir.jp/fhir/core/StructureDefinition/JP_ImagingStudy_Radiology
Version 1.1.0a
Name

JP_ImagingStudy_Radiology

Title

JP Core ImagingStudy Radiology Profile

Status Active ( 2022-09-26 )
Copyright

FHIR Japanese implementation research working group in Japan Association of Medical Informatics (JAMI)

このプロファイルはImagingStudyリソースに対して、放射線検査のデータを送受信するための制約と拡張を定めたものである。


本プロファイル説明は、患者に付属する画像検査情報について、情報の登録や検索、取得のために、FHIR ImagingStudyリソースを使用するにあたっての、最低限の制約を記述したものである。

ImagingStudy リソースに対して本プロファイルに準拠する場合に必須となる要素や、サポートすべき拡張、用語、検索パラメータを定義する。

背景および想定シナリオ

本プロファイルは、一般的な画像検査でDICOMで定義される画像情報を取り扱うことを想定している。Non-DICOMの画像を取り扱う場合はMediaリソースを利用すること。

ImagingStudy リソースはDICOM画像検査において作成された内容(主としてDICOM タグ情報に相当する)を表す。一つの検査はシリーズを構成しており、それぞれのシリーズにはService-Object Pairインスタンス(SOPインスタンス)が一般的なタグ情報の中に含まれる。一つのシリーズにはただ一つのモダリティ(例えば単純エックス線撮影,CT,MRI,超音波のいずれか)から成り立つが、一つの検査は異なるモダリティによる複数のシリーズから構成されることがある。

  • Patientリソースから指定された日時、期間での画像検査情報の参照
  • ImagingStudyリソースから指定したモダリティに関する検査の画像検査情報の参照
  • ImagingStudyリソースから指定したモダリティに関するシリーズの画像検査情報の参照
  • ImagingStudyリソースから指定した部位の画像検査情報の参照
  • ImagingStudyリソースから使用可能な画像検査情報の参照
  • Encounterリソースから画像検査を実施した検査の画像検査情報の参照
  • ServiceRequestリソースから画像検査を実施した検査の画像検査情報の参照

なお、ServiceRequestリソースは画像検査を実施するために発生するオーダ情報等を格納しうるリソースであるが、オーダリング情報の標準化の状況や情報の粒度によりユースケースが異なることが想定される。よって、ServiceRequestから提供され本リソースにマッピングされるべき情報の定義についてはServiceRequestおよび一連のTASK管理あるいはProcedureに関連するユースケースで別途検討される。

スコープ

ImagingStudyリソースはDICOMのstudy, seriesおよび画像に関連する情報を提供し、それらの情報をどのようにして取り出すか(native DICOMフォーマットで受け取るか、JPEGなどの一般的な画像情報に変換したものを受けとるかなど)を示す。ImagingStudyは一つのDICOM studyのすべての情報を網羅するために用いられる。

このリソースでは32ビットのタグ(DICOMタグと呼ばれる)で示されるDICOMアトリビュート(タグ情報)をmappingするためのエレメントが用意されている。 DICOMタグは4桁の16進数がコンマで区切られたペア(例 (0008, 103E) )として表現される。それぞれのタグ情報に関する名称と値のペアについてはDICOM Part6 Data Dictionaryに記載されている。さらに、情報体の中のタグ情報の用途についてはDICOM Part 3 Information Object Definitionsに記載されている。Number of Instances in StudyなどのDICOMにおける問い合わせモデルに関する情報は DICOM Part 4 Annex Cで参照できる。

最も単純な場合、ImagingStudyはDICOM query(例えばQIDO-RS)を行うことなく重要なDICOMタグ情報へのアクセスを提供する。一方で、DICOMの実画像情報などのインスタンスはImagingStudyリソースには保存されないため、この情報を保存するためにはDICOM WADO-RSサーバやほかのストレージ機能を利用する必要がある。 (FHIRではREST APIを用いることが想定されており,親和性の観点からはDICOM web accessの利用が想定される。)

ImagingStudyは一つのDICOM studyに対してのリファレンスであり、またそのスタディのサブセットに対する参照にも利用できる。一方で、複数のImagingStudyリソースが同じDICOM studyを参照することや,同じDICOM study内の異なるサブセット(シリーズ)を参照することもあり得る。

上記のようなDICOMに関連して用いられるImagingStudyの用途が本プロファイルでのスコープであり、ImagingStudyの情報項目の1つを取り扱う際に必要な要件を定義している。

プロファイル定義

Usage:

プロファイル詳細

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraintsdoco
.. ImagingStudy 0..*ImagingStudyDICOM画像検査で作成されたコンテンツの表現。スタディは一連のシリーズで構成され、各シリーズには、共通のコンテキストで取得または生成された一連のサービスオブジェクトペアインスタンス(SOPインスタンス-画像またはその他のデータ)が含まれる、シリーズは1つのモダリティ(X線、CT、MR、超音波など)のみだがスタディには複数の異なるモダリティのシリーズが含まれる場合がある
... identifier S0..*Identifierスタディ全体の識別子
... status S1..1coderegistered | available | cancelled | entered-in-error | unknown
... modality 0..*Coding実際の取得モダリティーの場合、モダリティーの全シリーズ。対応するDICOM tag: (0008, 0061)
... subject S1..1Reference(JP Core Patient Profile | Device | Group)検査対象者
... encounter 0..1Reference(JP Core Encounter Profile)この画像検査が関連しているEncounterリソース
... started 0..1dateTimeスタディの開始時期
... basedOn 0..*Reference(CarePlan | ServiceRequest | Appointment | AppointmentResponse | Task)実施された依頼
... referrer 0..1Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile)依頼紹介医師
... interpreter 0..*Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile)画像の読影者
... endpoint 0..*Reference(Endpoint)スタディにアクセスするエンドポイント
... numberOfSeries 0..1unsignedIntスタディに含まれるシリーズ数
... numberOfInstances 0..1unsignedIntスタディ関連のインスタンス数
... procedureReference 0..1Reference(JP Core Procedure Profile)実施されたProcedure への参照
... procedureCode 0..*CodeableConcept実施されたProcedureのコード
Binding: http://playbook.radlex.org/playbook/SearchRadlexAction (extensible): コードは http://playbook.radlex.org/playbook/SearchRadlexAction に該当があれば使わなければならない。ただし、実施された行為のタイプにこれらのコードがなじまない場合は他のコードが利用される可能性がある。

... location 0..1Reference(Location)ImagingStudy が実施された場所
... reasonCode 0..*CodeableConceptスタディが依頼された理由
... reasonReference 0..*Reference(JP Core Condition Profile | JP Core Observation Common Profile | Media | JP Core DiagnosticReport Common Profile | DocumentReference)スタディが実施された理由
... note 0..*Annotationユーザが定義したコメント
... description 0..1string機関生成の記述
... series 0..*BackboneElement個々のスタディはインスタンスの1以上のシリーズを有する
.... uid 1..1idそのシリーズに対するDICOM Series Instance UID
.... number 0..1unsignedIntこのシリーズの数値型識別子
.... modality S1..1Codingシリーズが取得されたモダリティ
.... description 0..1stringシリーズの人間可読な形式での短い要約記述
.... numberOfInstances 0..1unsignedIntNumber of Series Related Instances
.... endpoint 0..*Reference(Endpoint)シリーズにアクセスするエンドポイント
.... bodySite 0..1Coding検査した人体部位
Binding: SNOMEDCTBodyStructures (example): DICOM tagに設定されているコードをデフォルトとするが、JJ1017Pの小部位コードの利用を許容する。

.... laterality 0..1Coding人体部位の左右識別
Binding: Laterality (example): DICOM定義書の中で示される語句(コード)をデフォルトとするが、JJ1017Pの左右コードの利用を許容する。

.... specimen 0..*Reference(Specimen)画像検査をした検体
.... started 0..1dateTimeシリーズの開始時期
.... performer 0..*BackboneElementシリーズの実施者
..... actor S1..1Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile | JP Core Organization Profile | CareTeam | JP Core Patient Profile | Device | RelatedPerson)Who performed the series
.... instance 0..*BackboneElementシリーズからの単一SOPインスタンス
..... uid S1..1idDICOM SOP Instance UID
..... sopClass S1..1CodingDICOM class type
..... number 0..1unsignedIntThe number of this instance in the series
..... title 0..1stringインスタンスの記述

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. ImagingStudy 0..*ImagingStudyDICOM画像検査で作成されたコンテンツの表現。スタディは一連のシリーズで構成され、各シリーズには、共通のコンテキストで取得または生成された一連のサービスオブジェクトペアインスタンス(SOPインスタンス-画像またはその他のデータ)が含まれる、シリーズは1つのモダリティ(X線、CT、MR、超音波など)のみだがスタディには複数の異なるモダリティのシリーズが含まれる場合がある
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ0..*Identifierスタディ全体の識別子
... status ?!SΣ1..1coderegistered | available | cancelled | entered-in-error | unknown
Binding: ImagingStudyStatus (required): The status of the ImagingStudy.

... modality Σ0..*Coding実際の取得モダリティーの場合、モダリティーの全シリーズ。対応するDICOM tag: (0008, 0061)
Binding: http://dicom.nema.org/medical/dicom/current/output/chtml/part16/sect_CID_29.html (extensible): Type of acquired data in the instance.


... subject SΣ1..1Reference(JP Core Patient Profile | Device | Group)検査対象者
... encounter Σ0..1Reference(JP Core Encounter Profile)この画像検査が関連しているEncounterリソース
... started Σ0..1dateTimeスタディの開始時期
Example General: 2011-01-01T11:01:20+03:00
... basedOn Σ0..*Reference(CarePlan | ServiceRequest | Appointment | AppointmentResponse | Task)実施された依頼
... referrer Σ0..1Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile)依頼紹介医師
... interpreter Σ0..*Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile)画像の読影者
... endpoint Σ0..*Reference(Endpoint)スタディにアクセスするエンドポイント
... numberOfSeries Σ0..1unsignedIntスタディに含まれるシリーズ数
... numberOfInstances Σ0..1unsignedIntスタディ関連のインスタンス数
... procedureReference Σ0..1Reference(JP Core Procedure Profile)実施されたProcedure への参照
... procedureCode Σ0..*CodeableConcept実施されたProcedureのコード
Binding: http://playbook.radlex.org/playbook/SearchRadlexAction (extensible): コードは http://playbook.radlex.org/playbook/SearchRadlexAction に該当があれば使わなければならない。ただし、実施された行為のタイプにこれらのコードがなじまない場合は他のコードが利用される可能性がある。


... location Σ0..1Reference(Location)ImagingStudy が実施された場所
... reasonCode Σ0..*CodeableConceptスタディが依頼された理由
Binding: ProcedureReasonCodes (example): The reason for the study.


... reasonReference Σ0..*Reference(JP Core Condition Profile | JP Core Observation Common Profile | Media | JP Core DiagnosticReport Common Profile | DocumentReference)スタディが実施された理由
... note Σ0..*Annotationユーザが定義したコメント
... description Σ0..1string機関生成の記述
... series Σ0..*BackboneElement個々のスタディはインスタンスの1以上のシリーズを有する
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... uid Σ1..1idそのシリーズに対するDICOM Series Instance UID
Example General: 2.16.124.113543.6003.2588828330.45298.17418.2723805630
.... number Σ0..1unsignedIntこのシリーズの数値型識別子
Example General: 3
.... modality SΣ1..1Codingシリーズが取得されたモダリティ
Binding: http://dicom.nema.org/medical/dicom/current/output/chtml/part16/sect_CID_29.html (extensible): Type of acquired data in the instance.

.... description Σ0..1stringシリーズの人間可読な形式での短い要約記述
Example General: CT Surview 180
.... numberOfInstances Σ0..1unsignedIntNumber of Series Related Instances
.... endpoint Σ0..*Reference(Endpoint)シリーズにアクセスするエンドポイント
.... bodySite Σ0..1Coding検査した人体部位
Binding: SNOMEDCTBodyStructures (example): DICOM tagに設定されているコードをデフォルトとするが、JJ1017Pの小部位コードの利用を許容する。

.... laterality Σ0..1Coding人体部位の左右識別
Binding: Laterality (example): DICOM定義書の中で示される語句(コード)をデフォルトとするが、JJ1017Pの左右コードの利用を許容する。

.... specimen Σ0..*Reference(Specimen)画像検査をした検体
.... started Σ0..1dateTimeシリーズの開始時期
.... performer Σ0..*BackboneElementシリーズの実施者
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... function Σ0..1CodeableConceptType of performance
Binding: ImagingStudySeriesPerformerFunction (extensible): The type of involvement of the performer.

..... actor SΣ1..1Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile | JP Core Organization Profile | CareTeam | JP Core Patient Profile | Device | RelatedPerson)Who performed the series
.... instance 0..*BackboneElementシリーズからの単一SOPインスタンス
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... uid S1..1idDICOM SOP Instance UID
Example General: 2.16.124.113543.6003.189642796.63084.16748.2599092903
..... sopClass S1..1CodingDICOM class type
Binding: http://dicom.nema.org/medical/dicom/current/output/chtml/part04/sect_B.5.html#table_B.5-1 (extensible): The sopClass for the instance.

..... number 0..1unsignedIntThe number of this instance in the series
Example General: 1
..... title 0..1stringインスタンスの記述

doco Documentation for this format

Constraints

IdGradePathDetailsRequirements
dom-2errorImagingStudyIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorImagingStudyIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorImagingStudyIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorImagingStudyIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeImagingStudyA resource should have narrative for robust management
: text.`div`.exists()
ele-1errorImagingStudy.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorImagingStudy.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorImagingStudy.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorImagingStudy.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorImagingStudy.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.modalityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.startedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.referrerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.interpreterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.endpointAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.numberOfSeriesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.numberOfInstancesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.procedureReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.procedureCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.locationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.seriesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorImagingStudy.series.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorImagingStudy.series.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorImagingStudy.series.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorImagingStudy.series.uidAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.numberAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.modalityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.numberOfInstancesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.endpointAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.bodySiteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.lateralityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.specimenAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.startedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.performerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.performer.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorImagingStudy.series.performer.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorImagingStudy.series.performer.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorImagingStudy.series.performer.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorImagingStudy.series.performer.functionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.performer.actorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.instanceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.instance.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorImagingStudy.series.instance.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorImagingStudy.series.instance.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorImagingStudy.series.instance.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorImagingStudy.series.instance.uidAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.instance.sopClassAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.instance.numberAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.instance.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ImagingStudy 0..*ImagingStudyDICOM画像検査で作成されたコンテンツの表現。スタディは一連のシリーズで構成され、各シリーズには、共通のコンテキストで取得または生成された一連のサービスオブジェクトペアインスタンス(SOPインスタンス-画像またはその他のデータ)が含まれる、シリーズは1つのモダリティ(X線、CT、MR、超音波など)のみだがスタディには複数の異なるモダリティのシリーズが含まれる場合がある
... identifier S0..*Identifierスタディ全体の識別子
... status S1..1coderegistered | available | cancelled | entered-in-error | unknown
... modality 0..*Coding実際の取得モダリティーの場合、モダリティーの全シリーズ。対応するDICOM tag: (0008, 0061)
... subject S1..1Reference(JP Core Patient Profile | Device | Group)検査対象者
... encounter 0..1Reference(JP Core Encounter Profile)この画像検査が関連しているEncounterリソース
... started 0..1dateTimeスタディの開始時期
... basedOn 0..*Reference(CarePlan | ServiceRequest | Appointment | AppointmentResponse | Task)実施された依頼
... referrer 0..1Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile)依頼紹介医師
... interpreter 0..*Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile)画像の読影者
... endpoint 0..*Reference(Endpoint)スタディにアクセスするエンドポイント
... numberOfSeries 0..1unsignedIntスタディに含まれるシリーズ数
... numberOfInstances 0..1unsignedIntスタディ関連のインスタンス数
... procedureReference 0..1Reference(JP Core Procedure Profile)実施されたProcedure への参照
... procedureCode 0..*CodeableConcept実施されたProcedureのコード
Binding: http://playbook.radlex.org/playbook/SearchRadlexAction (extensible): コードは http://playbook.radlex.org/playbook/SearchRadlexAction に該当があれば使わなければならない。ただし、実施された行為のタイプにこれらのコードがなじまない場合は他のコードが利用される可能性がある。

... location 0..1Reference(Location)ImagingStudy が実施された場所
... reasonCode 0..*CodeableConceptスタディが依頼された理由
... reasonReference 0..*Reference(JP Core Condition Profile | JP Core Observation Common Profile | Media | JP Core DiagnosticReport Common Profile | DocumentReference)スタディが実施された理由
... note 0..*Annotationユーザが定義したコメント
... description 0..1string機関生成の記述
... series 0..*BackboneElement個々のスタディはインスタンスの1以上のシリーズを有する
.... uid 1..1idそのシリーズに対するDICOM Series Instance UID
.... number 0..1unsignedIntこのシリーズの数値型識別子
.... modality S1..1Codingシリーズが取得されたモダリティ
.... description 0..1stringシリーズの人間可読な形式での短い要約記述
.... numberOfInstances 0..1unsignedIntNumber of Series Related Instances
.... endpoint 0..*Reference(Endpoint)シリーズにアクセスするエンドポイント
.... bodySite 0..1Coding検査した人体部位
Binding: SNOMEDCTBodyStructures (example): DICOM tagに設定されているコードをデフォルトとするが、JJ1017Pの小部位コードの利用を許容する。

.... laterality 0..1Coding人体部位の左右識別
Binding: Laterality (example): DICOM定義書の中で示される語句(コード)をデフォルトとするが、JJ1017Pの左右コードの利用を許容する。

.... specimen 0..*Reference(Specimen)画像検査をした検体
.... started 0..1dateTimeシリーズの開始時期
.... performer 0..*BackboneElementシリーズの実施者
..... actor S1..1Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile | JP Core Organization Profile | CareTeam | JP Core Patient Profile | Device | RelatedPerson)Who performed the series
.... instance 0..*BackboneElementシリーズからの単一SOPインスタンス
..... uid S1..1idDICOM SOP Instance UID
..... sopClass S1..1CodingDICOM class type
..... number 0..1unsignedIntThe number of this instance in the series
..... title 0..1stringインスタンスの記述

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ImagingStudy 0..*ImagingStudyDICOM画像検査で作成されたコンテンツの表現。スタディは一連のシリーズで構成され、各シリーズには、共通のコンテキストで取得または生成された一連のサービスオブジェクトペアインスタンス(SOPインスタンス-画像またはその他のデータ)が含まれる、シリーズは1つのモダリティ(X線、CT、MR、超音波など)のみだがスタディには複数の異なるモダリティのシリーズが含まれる場合がある
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ0..*Identifierスタディ全体の識別子
... status ?!SΣ1..1coderegistered | available | cancelled | entered-in-error | unknown
Binding: ImagingStudyStatus (required): The status of the ImagingStudy.

... modality Σ0..*Coding実際の取得モダリティーの場合、モダリティーの全シリーズ。対応するDICOM tag: (0008, 0061)
Binding: http://dicom.nema.org/medical/dicom/current/output/chtml/part16/sect_CID_29.html (extensible): Type of acquired data in the instance.


... subject SΣ1..1Reference(JP Core Patient Profile | Device | Group)検査対象者
... encounter Σ0..1Reference(JP Core Encounter Profile)この画像検査が関連しているEncounterリソース
... started Σ0..1dateTimeスタディの開始時期
Example General: 2011-01-01T11:01:20+03:00
... basedOn Σ0..*Reference(CarePlan | ServiceRequest | Appointment | AppointmentResponse | Task)実施された依頼
... referrer Σ0..1Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile)依頼紹介医師
... interpreter Σ0..*Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile)画像の読影者
... endpoint Σ0..*Reference(Endpoint)スタディにアクセスするエンドポイント
... numberOfSeries Σ0..1unsignedIntスタディに含まれるシリーズ数
... numberOfInstances Σ0..1unsignedIntスタディ関連のインスタンス数
... procedureReference Σ0..1Reference(JP Core Procedure Profile)実施されたProcedure への参照
... procedureCode Σ0..*CodeableConcept実施されたProcedureのコード
Binding: http://playbook.radlex.org/playbook/SearchRadlexAction (extensible): コードは http://playbook.radlex.org/playbook/SearchRadlexAction に該当があれば使わなければならない。ただし、実施された行為のタイプにこれらのコードがなじまない場合は他のコードが利用される可能性がある。


... location Σ0..1Reference(Location)ImagingStudy が実施された場所
... reasonCode Σ0..*CodeableConceptスタディが依頼された理由
Binding: ProcedureReasonCodes (example): The reason for the study.


... reasonReference Σ0..*Reference(JP Core Condition Profile | JP Core Observation Common Profile | Media | JP Core DiagnosticReport Common Profile | DocumentReference)スタディが実施された理由
... note Σ0..*Annotationユーザが定義したコメント
... description Σ0..1string機関生成の記述
... series Σ0..*BackboneElement個々のスタディはインスタンスの1以上のシリーズを有する
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... uid Σ1..1idそのシリーズに対するDICOM Series Instance UID
Example General: 2.16.124.113543.6003.2588828330.45298.17418.2723805630
.... number Σ0..1unsignedIntこのシリーズの数値型識別子
Example General: 3
.... modality SΣ1..1Codingシリーズが取得されたモダリティ
Binding: http://dicom.nema.org/medical/dicom/current/output/chtml/part16/sect_CID_29.html (extensible): Type of acquired data in the instance.

.... description Σ0..1stringシリーズの人間可読な形式での短い要約記述
Example General: CT Surview 180
.... numberOfInstances Σ0..1unsignedIntNumber of Series Related Instances
.... endpoint Σ0..*Reference(Endpoint)シリーズにアクセスするエンドポイント
.... bodySite Σ0..1Coding検査した人体部位
Binding: SNOMEDCTBodyStructures (example): DICOM tagに設定されているコードをデフォルトとするが、JJ1017Pの小部位コードの利用を許容する。

.... laterality Σ0..1Coding人体部位の左右識別
Binding: Laterality (example): DICOM定義書の中で示される語句(コード)をデフォルトとするが、JJ1017Pの左右コードの利用を許容する。

.... specimen Σ0..*Reference(Specimen)画像検査をした検体
.... started Σ0..1dateTimeシリーズの開始時期
.... performer Σ0..*BackboneElementシリーズの実施者
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... function Σ0..1CodeableConceptType of performance
Binding: ImagingStudySeriesPerformerFunction (extensible): The type of involvement of the performer.

..... actor SΣ1..1Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile | JP Core Organization Profile | CareTeam | JP Core Patient Profile | Device | RelatedPerson)Who performed the series
.... instance 0..*BackboneElementシリーズからの単一SOPインスタンス
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... uid S1..1idDICOM SOP Instance UID
Example General: 2.16.124.113543.6003.189642796.63084.16748.2599092903
..... sopClass S1..1CodingDICOM class type
Binding: http://dicom.nema.org/medical/dicom/current/output/chtml/part04/sect_B.5.html#table_B.5-1 (extensible): The sopClass for the instance.

..... number 0..1unsignedIntThe number of this instance in the series
Example General: 1
..... title 0..1stringインスタンスの記述

doco Documentation for this format

Constraints

IdGradePathDetailsRequirements
dom-2errorImagingStudyIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorImagingStudyIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorImagingStudyIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorImagingStudyIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeImagingStudyA resource should have narrative for robust management
: text.`div`.exists()
ele-1errorImagingStudy.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorImagingStudy.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorImagingStudy.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorImagingStudy.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorImagingStudy.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.modalityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.startedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.referrerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.interpreterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.endpointAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.numberOfSeriesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.numberOfInstancesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.procedureReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.procedureCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.locationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.seriesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorImagingStudy.series.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorImagingStudy.series.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorImagingStudy.series.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorImagingStudy.series.uidAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.numberAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.modalityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.numberOfInstancesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.endpointAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.bodySiteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.lateralityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.specimenAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.startedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.performerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.performer.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorImagingStudy.series.performer.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorImagingStudy.series.performer.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorImagingStudy.series.performer.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorImagingStudy.series.performer.functionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.performer.actorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.instanceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.instance.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorImagingStudy.series.instance.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorImagingStudy.series.instance.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorImagingStudy.series.instance.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorImagingStudy.series.instance.uidAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.instance.sopClassAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.instance.numberAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorImagingStudy.series.instance.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())

 

Other representations of profile: CSV, Excel, Schematron

必須要素

次のデータ項目は必須(データが存在しなければならない)、あるいは、データが送信システムに存在する場合はサポートされなければならないことを意味する。(Must Support)。

必須項目

ImagingStudyリソースは、次の要素を持たなければならない。

  • status︓検査項目情報の状態は必須である
  • subject︓このリソースが示す検査項目がどの患者のものかを示すため、参照するpatientリソース定義を必須とした

Must Support

ImagingStudyリソースは該当する情報が存在する場合、次の要素を持たなければならない。

  • identifier:DICOM画像が存在する場合、DICOMタグのStudyInstance UID (0020,000D)が保持される必要がある。Accession Number and Issuer (0080,0050)+(0080,0051) あるいは Study ID (0020,0010)の設定も可能だが、JP CoreではStudyInstance UIDをMust Supportとし、他は任意とする(複数のidentifierの設定は可能)。必要に応じてオーダ番号等を持つことも可能である
  • series.modality:DICOM画像が存在する場合シリーズが取得されたモダリティを示す、DICOMでは必須情報となっておりDICOMタグ(0008,0060)の情報が格納される
  • series.performer.actor:組織または撮影者を示す具体的には実施医あるいは操作者(診療放射線技師)を示す関連するリソースへのreferenceである、DICOMタグとは(0008, 1050) (0008, 1052) (0008, 1070) (0008, 1072) にマッピングされる
  • series.instance.uid:画像のユニークID、DICOMタグ(0008,0018)にある値をそのまま設定する
  • series.instance.sopClass:SOPクラスUID、DICOMタグ(0008,0016)にある値をそのまま設定する

Extension定義

このプロファイルでは拡張定義は行っていない。

注意事項

Mappings

ImagingStudyはDICOM tagとの対応が重要である。各エレメントとDICOM tagのマッピングについては Resource ImagingStudy - Mappingsを参照すること。

ProcedureCode

ProcedureCodeについてはRadLex lexiconに定義されているものを利用することを想定している。これは本家の仕様に基づくものである。一方で、JJ1017についてはこの利用を制限するものでは無いが、JJ1017には手技に関連する情報以外に部位情報や左右の情報を含むため、利用する場合は以下に示すbodySiteやlateralityとの整合性を確保する必要がある。

BodySiteとlaterality

ImagingStudyのbodySiteエレメントには原則としてDICOMタグに含まれる部位情報が設定されるのが原則である。これはオーダ情報等の別の管理情報には左右や部位の間違いが含まれることがあり、実際の撮影時に修正されることがあるためである。ただし、DICOMに部位情報が含まれない場合はJJ1017Pなどのコードあるいはそのサブセットを用い指定することを許容する。ただし、lateralityエレメントとの整合性をとり、部位情報が正しいものであることを確認すること。 また、DICOMではSNOMED-CTとのmappingがなされており、DICOMで定義されているSNOMED-CTのコードの利用は無償で可能となる契約がなされている。 BodySite等でDICOMでmappingされているSNOMED-CTをCodeSystemとして利用する場合、コードに対応するdisplay textの表記にはSNOMED-CTで規定されている表記を用いること。同様にDICOMをCodeSystemとして指定する際はBody Part Examined (0018,0015)に規定されている表記を指定すること。

利用方法

OperationおよびSearch Parameter 一覧

Search Parameter一覧

コンフォーマンス パラメータ
SHOULD identifier token GET [base]/ImagingStudy?identifier=urn:oid:2.16.124.999999.9999.1154777499.30246.19789.3503430045
SHOULD patient reference GET [base]/ImagingStudy?patient=123
SHOULD patient,modality reference,token GET [base]/ImagingStudy?patient=123&modality=CT
SHOULD patient,bodysite reference,token GET [base]/ImagingStudy?patient=123&bodysite=T-15460
SHOULD patient,started reference,date GET [base]/ImagingStudy?patient=123&started=eq2021-06-25
SHOULD patient,started,modality,bodysite reference,date,token,token GET [base]/ImagingStudy?patient=123&started=eq2021-06-18&modality=CT&bodysite=T-15460
SHOULD encounter reference GET [base]/ImagingStudy?encounter=Encounter/456

操作詳細

必須検索パラメータ

次の検索パラメータは必須でサポートされなければならない。(SHALL) ImagingStudyリソースでは検索の多様性が求められるため、必須としての検索項目は定義していない。

推奨検索パラメータ

次の検索パラメータはサポートすることが推奨される。(SHOULD

1.患者中心での検索:対象患者(= Patientリソース)を条件とした検索をサポートすることが望ましい

   GET [base]/ImagingStudy?patient={reference}

例:

   GET [base]/ImagingStudy?patient=123

2.モダリティ中心の検索:対象患者(= Patientリソース)と撮影に使用されたモダリティを条件とした検索をサポートすることが望ましい

   GET [base]/ImagingStudy?patient={reference}&modality={token}

例:

   GET [base]/ImagingStudy?patient=123&modality=CT

3.部位中心の検索:対象患者(= Patientリソース)と撮影の対象となった撮影部位を条件とした検索をサポートすることが望ましい

   GET [base]/ImagingStudy?patient={reference}&bodysite={token}

例:

   GET [base]/ImagingStudy?patient=123&bodysite=T-15460

4.日付中心の検索:対象患者(= Patientリソース)と撮影の日時を条件とした検索をサポートすることが望ましい

   GET [base]/ImagingStudy?patient={reference}&started={date}

例:

   GET [base]/ImagingStudy?patient=123&started=eq2021-06-25

5.日付中心の検索:対象患者(= Patientリソース)と撮影の日時を条件とした検索をサポートすることが望ましい

   GET [base]/ImagingStudy?patient={reference}&started={date}

例:

   GET [base]/ImagingStudy?patient=123&started=eq2021-06-25

6.複数の条件を組み合わせた検索:対象患者(= Patientリソース)、撮影の日時、撮影に使用されたモダリティ、撮影の対象となった撮影部位を条件とした検索をサポートすることが望ましい

   GET [base]/ImagingStudy?patient={reference}&started={date}&modality={token}&bodysite={token}

例:

   GET [base]/ImagingStudy?patient=123&started=eq2021-06-18&modality=CT&bodysite=T-15460

7.来院情報中心の検索:来院情報(= Encounterリソース)を条件とした検索をサポートすることが望ましい

   GET [base]/ImagingStudy?encounter={reference}

例:

   GET [base]/ImagingStudy?encounter=456
オプション検索パラメータ

本プロファイルで追加定義されたオプション検索パラメータはない。

サンプル