第102章 FHIR JSON データ形式
Camel バージョン 2.21 以降で利用可能Camel バージョン 2.21 以降で利用可能
FHIR-JSON データ形式は、HAPI-FHIR の JSON パーサーを利用して、JSON 形式との間で HAPI-FHIR の IBaseResource
との間で解析を行います。
102.1. FHIR JSON 形式のオプション
FHIR JSon データ形式は、以下に示す 14 個のオプションをサポートしています。
名前 | デフォルト | Java タイプ | 説明 |
---|---|---|---|
fhirVersion |
|
| 使用する FHIR のバージョン。設定可能な値は、DSTU2、DSTU2_HL7ORG、DSTU2_1、DSTU3、R4 です |
prettyPrint |
|
| プリティプリントフラグを設定します。これは、パーサーが、出力を可能な限り圧縮するのではなく、人間が読めるスペースと要素間の改行でリソースをエンコードすることを意味します。 |
serverBaseUrl |
| このパーサーが使用するサーバーのベース URL を設定します。値が設定されている場合、リソース参照が絶対 URL として提供されているが、指定されたベースと一致するベースを持っている場合、リソース参照は相対参照に変換されます。 | |
omitResourceId |
|
| true に設定すると (デフォルトは false)、エンコードされるリソースの ID は出力に含まれません。これは含まれるリソースには適用されず、ルートリソースにのみ適用されることに注意してください。つまり、これが true に設定されている場合、含まれるリソースには引き続きローカル ID がありますが、外部/包含 ID には ID がありません。 |
encodeElementsAppliesToResourceTypes |
| これを指定した場合、リンク #setEncodeElements (Set) エンコード要素を適用するリソースタイプをパースに伝えます。ここで指定されていないリソースタイプはすべて完全にエンコードされ、要素は除外されません。 | |
encodeElementsAppliesToChildResourcesOnly |
|
| true (デフォルトが false) に設定すると、setEncodeElements (Set) に提供された値はルートリソース (通常は Bundle) には適用されませんが、その中に含まれるサブリソース (つまり、そのバンドル内の検索結果リソース) に適用されます |
encodeElements |
| 提供されている場合は、エンコードする必要がある要素を指定し、その他すべてを除外します。このフィールドの有効な値は次のとおりです: Patient - patient とそのすべての子をエンコードします。Patient.name - patient の名前のみをエンコードします。Patient.name.family - patient の姓のみをエンコードします。text - 任意のリソースのテキスト要素をエンコードします (最初の位置にのみワイルドカードを含めることができます)。.(mandatory) - これは、必須フィールド (最小 0) がエンコードされる特殊なケースです。 | |
dontEncodeElements |
| 提供されている場合、エンコードしてはならない要素を指定します。このフィールドの有効な値は次のとおりです。Patient - patient とそのすべての子をエンコードしないでください。Patient.name - patient の名前をエンコードしないでください。Patient.name.family - patient の姓をエンコードしないでください。text - どのリソースのテキスト要素もエンコードしないでください (ワイルドカードを含めることができるのは最初の位置のみです)。DSTU2 に関する注意: Patient.meta などのメタを含む値は DSTU2 パーサーで機能しますが、Patient.meta.lastUpdated などのメタのサブ要素を含む値は DSTU3 モードでのみ機能することに注意してください。 | |
stripVersionsFromReferences |
|
| true (デフォルト) に設定すると、バージョンを含むリソース参照は、リソースがエンコードされるときにバージョンが削除されます。ほとんどの場合、あるリソースから別のリソースへの参照は、ID とバージョンではなく、ID によってリソースを参照する必要があるため、これは通常は適切な動作です。ただし、場合によっては、リソースリンクでバージョンを保持することが望ましい場合があります。その場合、この値は false に設定する必要があります。このメソッドは、参照エンコーディングをグローバルに無効にする機能を提供します。より細かい制御が必要な場合は、setDontStripVersionsFromReferencesAtPaths (List) を使用します |
overrideResourceIdWithBundleEntryFullUrl |
|
| true (デフォルト)に設定すると、fullUrl が定義されている場合には Bundle.entry.fullUrl は Bundle.entry.resource のリソース ID を上書きします。この動作は、ソースデータをバンドルオブジェクトに解析するときに発生します。これが望ましい動作でない場合は、これを false に設定します (たとえば、クライアントコードが fullUrl とリソース ID の間で追加の検証チェックを実行する場合)。 |
summaryMode |
|
| true に設定すると (デフォルトは false)、FHIR 仕様によって要約要素としてマークされた要素のみが含まれます。 |
suppressNarratives |
|
| true に設定すると (デフォルトは false)、物語はエンコードされた値に含まれません。 |
dontStripVersionsFromReferencesAtPaths |
| 指定された値の場合、指定されたパスのリソース参照には、エンコーディングプロセス中に自動的に削除されるのではなく、リソースバージョンがエンコードされます。この設定は、解析プロセスには影響しません。このメソッドは、setStripVersionsFromReferences(Boolean) よりも詳細な制御レベルを提供し、setStripVersionsFromReferences(Boolean) が true (デフォルト) に設定されている場合でも、このメソッドで指定されたパスはエンコードされます | |
contentTypeHeader |
|
| データフォーマットがデータ形式を実行できる場合は、データフォーマットの型で Content-Type ヘッダーを設定するかどうか。たとえば、XML にマーシャリングするデータ形式の場合は application/xml、JSON にマーシャリングするデータ形式の場合は JSon です。 |