第101章 FHIR JSON データ形式

Camel バージョン 2.21 以降で利用可能 Camel バージョン 2.21 以降で利用可能

FHIR-JSON データ形式は、HAPI-FHIR の JSON パーサーを利用して、JSON 形式との間で HAPI-FHIR の IBaseResource との間で解析を行います。

101.1. FHIR JSON 形式のオプション

FHIR JSon データ形式は、以下に示す 14 個のオプションをサポートしています。

名前デフォルトJava タイプ説明

fhirVersion

DSTU3

String

使用する FHIR のバージョン。設定可能な値は、DSTU2、DSTU2_HL7ORG、DSTU2_1、DSTU3、R4 です

prettyPrint

false

Boolean

プリティプリントフラグを設定します。これは、パーサーが、出力を可能な限り圧縮するのではなく、人間が読めるスペースと要素間の改行でリソースをエンコードすることを意味します。

serverBaseUrl

 

String

このパーサーが使用するサーバーのベース URL を設定します。値が設定されている場合、リソース参照が絶対 URL として提供されているが、指定されたベースと一致するベースを持っている場合、リソース参照は相対参照に変換されます。

omitResourceId

false

Boolean

true に設定すると (デフォルトは false)、エンコードされるリソースの ID は出力に含まれません。これは含まれるリソースには適用されず、ルートリソースにのみ適用されることに注意してください。つまり、これが true に設定されている場合、含まれるリソースには引き続きローカル ID がありますが、外部/包含 ID には ID がありません。

encodeElementsAppliesToResourceTypes

 

Set

これを指定した場合、リンク #setEncodeElements (Set) エンコード要素を適用するリソースタイプをパースに伝えます。ここで指定されていないリソースタイプはすべて完全にエンコードされ、要素は除外されません。

encodeElementsAppliesToChildResourcesOnly

false

Boolean

true (デフォルトが false)に設定すると、setEncodeElements (Set)に提供された値はルートリソース(通常は Bundle)には適用されませんが、その中に含まれるサブリソース(つまり、そのバンドル内の検索結果リソース)に適用されます

encodeElements

 

Set

提供されている場合は、エンコードする必要がある要素を指定し、その他すべてを除外します。このフィールドの有効な値には、Patient - Encode proent とそのすべての子 Patient.name - Encode only the recipient's name Patient.name.family - Encode only the worker's family name .text - Encode only the text element on any resource (最初の位置のみ) (必須) - これは、必須フィールド (min 0) をエンコードさせる特別なケースです

dontEncodeElements

 

Set

提供されている場合、エンコードしてはならない要素を指定します。このフィールドの有効な値には以下が含まれます。 Patient.name - Don't encode everyone and its children Patient.name - Don't encode the shortcut's name Patient.name.family - Don't encode the shortcut's family name .text - Don't encode the text element on any resource (最初の位置にはワイルドカードが含まれる可能性がある)DSTU2 note: Patient.meta などの meta の値は DSTU2 パーサーで機能しますが、Patient.meta.lastUpdated などのメタのサブ要素を持つ値は DSTU3 モードでのみ機能することに注意してください。

stripVersionsFromReferences

false

Boolean

true (デフォルト) に設定すると、バージョンを含むリソース参照は、リソースがエンコードされるときにバージョンが削除されます。ほとんどの場合、あるリソースから別のリソースへの参照は、ID とバージョンではなく、ID によってリソースを参照する必要があるため、これは通常は適切な動作です。ただし、場合によっては、リソースリンクでバージョンを保持することが望ましい場合があります。その場合、この値は false に設定する必要があります。このメソッドは、参照エンコーディングをグローバルに無効にする機能を提供します。より細かい制御が必要な場合は、setDontStripVersionsFromReferencesAtPaths (List) を使用します

overrideResourceIdWithBundleEntryFullUrl

false

Boolean

true (デフォルト)に設定すると、fullUrl が定義されている場合には Bundle.entry.fullUrl は Bundle.entry.resource のリソース ID を上書きします。この動作は、ソースデータをバンドルオブジェクトに解析するときに発生します。これが望ましい動作でない場合は、これを false に設定します (たとえば、クライアントコードが fullUrl とリソース ID の間で追加の検証チェックを実行する場合)。

summaryMode

false

Boolean

true に設定すると (デフォルトは false)、FHIR 仕様によって要約要素としてマークされた要素のみが含まれます。

suppressNarratives

false

Boolean

true に設定すると (デフォルトは false)、物語はエンコードされた値に含まれません。

dontStripVersionsFromReferencesAtPaths

 

List

指定された値の場合、指定されたパスのリソース参照には、エンコーディングプロセス中に自動的に削除されるのではなく、リソースバージョンがエンコードされます。この設定は、解析プロセスには影響しません。このメソッドは、setStripVersionsFromReferences(Boolean) よりも詳細な制御レベルを提供し、setStripVersionsFromReferences(Boolean) が true (デフォルト) に設定されている場合でも、このメソッドで指定されたパスはエンコードされます

contentTypeHeader

false

Boolean

データフォーマットがデータ形式を実行できる場合は、データフォーマットの型で Content-Type ヘッダーを設定するかどうか。たとえば、XML にマーシャリングするデータ形式の場合は application/xml、JSON にマーシャリングするデータ形式の場合は JSon です。