第101章 FHIR コンポーネント
Camel バージョン 2.23 以降で利用可能
FHIR コンポーネントは、Java での FHIR (Fast Healthcare Interoperability Resources) 仕様のオープンソース実装である HAPI-FHIR ライブラリーと統合されます。
Maven ユーザーは、このコンポーネントの pom.xml に以下の依存関係を追加する必要があります。
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-fhir</artifactId>
    <version>${camel-version}</version>
</dependency>
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-fhir</artifactId>
    <version>${camel-version}</version>
</dependency>101.1. URI 形式
FHIR コンポーネントは、次の URI 形式を使用します。
fhir://endpoint-prefix/endpoint?[options]
fhir://endpoint-prefix/endpoint?[options]エンドポイント接頭辞は次のいずれかです。
- capabilities
- create
- delete
- history
- load-page
- meta
- operation
- patch
- read
- search
- transaction
- update
- validate
FHIR コンポーネントは、以下に記載される 2 個のオプションをサポートします。
| 名前 | 説明 | デフォルト | タイプ | 
|---|---|---|---|
| configuration (common) | 共有設定を使用する | FhirConfiguration | |
| resolveProperty Placeholders (advanced) | 起動時にコンポーネントがプロパティープレースホルダーを解決するかどうか。String タイプのプロパティーのみがプロパティープレースホルダーを使用できます。 | true | boolean | 
FHIR エンドポイントは、URI 構文を使用して設定されます。
fhir:apiName/methodName
fhir:apiName/methodNameパスおよびクエリーパラメーターを使用します。
101.1.1. パスパラメーター (2 個のパラメーター):
| 名前 | 説明 | デフォルト | タイプ | 
|---|---|---|---|
| apiName | 必須 操作の種類 | FhirApiName | |
| methodName | 必須: 選択した操作に使用するサブ操作 | String | 
101.1.2. クエリーパラメーター (26 個のパラメーター):
| 名前 | 説明 | デフォルト | タイプ | 
|---|---|---|---|
| encoding (common) | すべてのリクエストに使用するエンコーディング | String | |
| fhirVersion (common) | 使用する FHIR バージョン | DSTU3 | String | 
| inBody (common) | ボディにて交換で渡されるパラメーターの名前を設定します。 | String | |
| log (common) | リクエストとレスポンスをすべてログに記録します | false | boolean | 
| prettyPrint (common) | すべてのリクエストをきれいに印刷します | false | boolean | 
| serverUrl (common) | FHIR サーバーのベース URL | String | |
| bridgeErrorHandler (consumer) | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、consumer は org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | boolean | 
| exceptionHandler (consumer) | コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、consumer は例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | ExceptionHandler | |
| exchangePattern (consumer) | コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。 | ExchangePattern | |
| compress (advanced) | 送信 (POST/PUT) コンテンツを GZIP 形式に圧縮します | false | boolean | 
| connectionTimeout (advanced) | 初期 TCP 接続の試行と確立にかかる時間 (ミリ秒) | 10000 | Integer | 
| deferModelScanning (advanced) | このオプションが設定されている場合は、指定されたタイプの子リストが実際にアクセスされるまで、モデルクラスの子はスキャンされません。 | false | boolean | 
| fhirContext (advanced) | FhirContext は、作成するのにコストのかかるオブジェクトです。複数のインスタンスを作成しないようにするために、直接設定できます。 | FhirContext | |
| forceConformanceCheck (advanced) | 適合性チェックを強制します | false | boolean | 
| sessionCookie (advanced) | すべてのリクエストに追加する HTTP セッション Cookie | String | |
| socketTimeout (advanced) | 個々の読み取り/書き込み操作をブロックする時間 (ミリ秒単位) | 10000 | Integer | 
| summary (advanced) | _summary パラメーターを使用して、サーバーが応答を変更するように要求します | String | |
| synchronous (advanced) | 同期処理を厳密に使用するか、Camel が非同期処理を使用できるかどうかを設定します (サポートされている場合)。 | false | boolean | 
| validationMode (advanced) | Camel が FHIR Server の適合ステートメントをいつ検証する必要があるか | ONCE | String | 
| proxyHost (proxy) | プロキシーホスト | String | |
| proxyPassword (proxy) | プロキシーパスワード | String | |
| proxyPort (proxy) | プロキシーポート | Integer | |
| proxyUser (proxy) | プロキシーのユーザー名 | String | |
| accessToken (security) | OAuth アクセストークン | String | |
| password (security) | Basic 認証に使用するユーザー名 | String | |
| username (security) | Basic 認証に使用するユーザー名 | String |