Spark 統合ルールによって、開発者は、設定可能なルールを Spark メッセージプロセッサで使用するため、2 つの Vault 間のオブジェクトやドキュメントフィールドのマッピングに使用することができます。ターゲット Vault が ソース Vault から Spark メッセージを受け取ると、ターゲット Vault は受け取ったデータをコールバッククエリから理解できる形式に変換する必要がある場合があります。例えば、Regulatory Vault が Clinical Vault に治験プロトコルタイトルフィールドを送信する際に、Clinical Vault は統合ルールを使用してこのフィールドを相当する治験の説明フィールドにマッピングすることができます。
統合ルールはターゲット Vault で完全に設定および評価されており、受け取った Spark メッセージの処理はターゲット Vault の責任となります。
統合ルールの使用にはいくつかの手順があります:
- Vault で統合ルールレコードを設定します。ここには、統合に関する一連のルールが含まれます。
- フィールドルールおよびクエリオブジェクトルールを作成して、統合ルールに適用するルール一式を定義します。参照ルックアップを作成する場合は、参照ルックアップオブジェクトレコードを設定します。
- 統合ルールを使用するために Spark メッセージプロセッサを作成します。開発者ポータルの Spark メッセージプロセッサの詳細をご覧ください。
統合ルール管理へのアクセス
管理者 > 接続 > 統合ルールから統合ルールを表示、管理することができます。接続タブの統合ルールにアクセスするには、アプリケーション: 統合の管理権限が付与されたセキュリティプロファイルが必要です。
標準統合ルールについて
標準統合ルールは、インライン編集を使用した既存のルールの有効化と無効化など、デフォルトで UI で編集可能です。ただし、一部の Veeva が提供する統合では、統合ルールを有効化または無効化する機能が制限されたり、フィールドルールのデフォルト値を編集する機能が制限されている場合があります。
フィールドルールについて
フィールドルールは、統合ルールに適用する特定のルール一式を定義します。ターゲットオブジェクトおよびオブジェクトフィールド (またはターゲットドキュメントおよびドキュメントフィールド) を選択すると、Vault がターゲット Vault のフィールド値を設定します。クエリフィールドは、コールバッククエリの SELECT
部分と同様に、より特異性を必要とする場合には、クエリオブジェクトルールを使用して WHERE
などのフィルタを追加することができます。
フィールドマッピング
フィールドマッピングは、ソース Vault のフィールドに基づいて、ターゲット Vault のフィールド値を設定します。
例えば、ターゲット Vault が、製品レコードがソース Vault から変更されたことを伝えるメッセージを Spark メッセージ経由で受け取るとします。受け取った後に、ターゲット Vault の Spark メッセージプロセッサが、レコードで country__v
フィールドを設定します。これを行うには、ターゲット Vault が統合ルールでソース Vault をコールバックして、ソース Vault の country__v
フィールドの値をターゲット Vault の country__v
フィールドに設定します。
マッピングするデータが外部キーとまったく同じ場合、フィールドマッピングのみが必要となります。ただし多くの場合、ソース Vault のデータをターゲット Vault の相当値にマッピングするには、参照ルックアップの使用が必要となります。
参照ルックアップ
参照ルックアップは、ソースおよびターゲット Vault 間の相当値の事前定義リストにより、フィールドマッピングの追加の変換を行います。例えば、ソース Vaultから country__v
フィールドの値を受け取る場合、参照ルックアップは追加の変換を実行し、ソース Vault の値「U.S.」をターゲット Vault の相当値「United States」にマッピングします。
参照ルックアップは、すべての単一の値フィールドタイプについて、any-to-anyマッピングをサポートしています。複数値フィールドはサポートされていません。例えば、はい/いいえフィールドはサポートされており、複数値の選択リストはサポートされていません。
参照ルックアップを作成するには、接続レコードに参照ルックアップ値のリストを定義する必要があります。
静的フィールドのデフォルト
静的フィールドのデフォルトは、ターゲット Vault のフィールド値をリテラルデフォルト値に設定します。例えば、ソース Vault からレコードを受け取ると、ターゲット Vault のフィールドルールは description__c
テキストフィールドを「Spark 統合から受領」に設定、またはカスタム優先度選択リストを「トリアージが必要」に設定できます。
フィールドデフォルトルールをフィールドマッピングまたは参照ルックアップルールと併用することもできます。例えば、ソース Vault に対するクエリが値を返さない場合に「フォールバック」または「デフォルト」値を指定することができます。こうするには、フィールドルールに、フィールドデフォルト値のほか、フィールドマッピング値あるいは参照ルックアップ値を設定します。
オブジェクトフィールドをデフォルト値に設定する場合、設定されたその他のフィールドデフォルトがある可能性があります。予期しない結果を避けるため、管理者はオブジェクトフィールドデフォルトの処理順序を理解しておく必要があります。
クエリオブジェクトルールについて
クエリオブジェクトルールは、フィールドルールに特異性のある追加レイヤを設定します。フィールドルールはクエリの SELECT
部分を提供し、クエリオブジェクトルールは WHERE
にフィルタ機能を提供します。例えば、フィールドルールは製品オブジェクトレコードで国フィールドを選択できます。クエリオブジェクトルールを使って、ステータスが有効なオブジェクトレコードのみに興味があることを追加で指定できます。
クエリオブジェクトルールとフィールドルールを併用している場合、クエリオブジェクトルールは特定の 1 つのフィールドルールに関連付けられません。例えば、クエリオブジェクトルールのフィルタ句を status__v = 'active__v’
と定義する場合、Spark メッセージプロセッサ開発者ははこのクエリオブジェクトルールをこの統合ルールのすべてのフィールドルールに適用できます。
クエリオブジェクトルールを作成する方法をご覧ください。
第一クエリオブジェクトについて
注: 任意ですが、Veeva では第一クエリオブジェクトの設定が推奨されます。
統合ルールで第一クエリオブジェクトを設定することができます。統合ルールで第一クエリオブジェクトを選択することで、特定のオブジェクトまたはドキュメントに対するフィールドルールを制限しながら、そのオブジェクトまたはドキュメントの関係にアクセスすることもできます。
例えば、製造所が製品オブジェクトのオブジェクト関係フィールドとして表されている、製品の製造所のインシデント電話番号を取得する必要がある Spark 統合があるとします。製品に第一クエリオブジェクトを設定することで、統合ルールが製品と製造所間の関係にアクセスすることができます。
例えば、ワクチン製品に製造所フィールドがあり、その値が VeePharm で、VeePharm が製造所オブジェクトレコードで、そのテキストフィールドがインシデント電話番号とラベル付けされているとします。ワクチン製品であるとした場合、この Spark 統合は関連する VeePharm 製造所レコードのインシデント電話番号を素早く取得することができます。
第一クエリオブジェクトを設定すると、このオブジェクトに対するすべてのフィールドルールクエリが制限されます。例えば、第一クエリオブジェクトが製品に設定されると、ユーザと製品に関係が存在しないと判断し、この統合ルールのフィールドルールはインシデント電話番号が事務所の電話番号に設定されているユーザオブジェクトレコードをクエリできません。
統合ルールに第一クエリオブジェクトが設定されていない場合、フィールドルールは制限されず、関係にアクセスすることができません。
統合ルールの作成方法
統合ルールを作成するには:
- 管理者 > 接続 > 統合ルールで、作成をクリックします。
- 統合ルールのラベルを入力します。これは、ルールの設定時に Vault 管理者に表示されるものです。
- 統合ルールの名前を入力します。ラベルフィールドが入力されている場合、Vault はデフォルトの名前を提案します。これは、開発者が Spark メッセージプロセッサのルールを参照するために使用するものです。
- この統合ルールが適用される既存の接続を選択します。
- 任意の作業: この統合ルールが適用される既存の統合ポイントを選択します。
- 任意の作業 (推奨): 第一クエリオブジェクトを選択します。設定されている場合、第一クエリオブジェクトはこの統合ルールのフィールドルールを選択されたオブジェクトまたはドキュメントに制限すると同時に、そのオブジェクトまたはドキュメントの関係へのアクセス権限をユーザに付与します。空欄にした場合、この統合ルールのフィールドルールは制限されず、関係にアクセスすることはできません。
- 保存をクリックします。
統合ルールの作成後、この統合ルールにルール一式を定義するフィールドルールを作成してください。
フィールドルールの作成方法
統合ルールにフィールドルールを作成するには:
- 管理者 > 接続 > 統合ルールで、フィールドルールを作成したい統合ルールを選択します。
- 統合ルールの詳細ページから、フィールドルールセクションで + 作成を選択します。
- このフィールドルールのターゲットオブジェクトを選択します。
- ターゲットオブジェクトフィールドの選択リストで、ターゲットオブジェクトのフィールドを選択します。
- 任意の作業: ラベルまたは名前を変更します。オブジェクトとフィールド名に基づいて、Vault はこれらのフィールドに対してデフォルト値を提案します。ラベルは Vault 管理者がこのルールを参照する方法、名前は Spark 開発者がこのルールを参照する方法です。
- 任意の作業: 静的フィールドデフォルトを作成する場合、フィールドデフォルト値を入力してください。指定されている場合は、新規ターゲットオブジェクトレコードの作成中に値が指定されなければ、このフィールドルールは、選択されたターゲットオブジェクトフィールドをこの値に初期設定します。このフィールドのほか、フィールドマッピングまたは参照ルックアップフィールドを設定することで、このフィールドを「フォールバック」値と設定することもできます。
- 任意の作業: 参照ルックアップを作成している場合は、参照ルックアップタイプと参照ルックアップオブジェクトを選択します。
- 任意の作業: 静的デフォルトを作成していない場合は、クエリオブジェクトを指定します。現在の Vault のターゲットオブジェクトと同様に、これはソース Vault のオブジェクトです。統合ルールに第一クエリオブジェクトが設定されている場合、このフィールドはそのオブジェクトに制限されます。
- 任意の作業: クエリオブジェクトを指定している場合は、クエリフィールドを選択します。現在の Vault のターゲットオブジェクトフィールドと同様に、これはソース Vault のクエリオブジェクトのフィールドです。
- 任意の作業: クエリフィールドを指定している場合は、クエリフィールドタイプを選択します。これは、ソースVaultのフィールドのデータタイプです。
- 保存をクリックします。
クエリオブジェクトルールの作成方法
統合ルールにクエリオブジェクトルールを作成するには:
- 管理者 > 接続 > 統合ルールで、オブジェクトクエリルールを作成したい統合ルールを選択します。
- 統合ルールの詳細ページから、クエリオブジェクトルールセクションで + 作成を選択します。
- このフィールドルールのクエリオブジェクトを選択します。例:
product__v
。 - 任意の作業: ラベルまたは名前を変更します。Vault はこれらのフィールドのデフォルト値を推奨します。ラベルは Vault 管理者がこのルールを参照する方法、名前は Spark 開発者がこのルールを参照する方法です。
- 任意の作業: このクエリオブジェクトルールのステータスを変更します。機能は含まれていませんが、Spark メッセージプロセッサ開発者はルールステータスを使ってカスタムロジックを作成できます。
- フィルタ条件にフィルタ句を入力します。これは、条件 VQL で書かれているクエリオブジェクトルールのロジックです。ソース Vault を利用できる場合、[トークン] ボタンを使ってクエリオブジェクトのフィールドに入力します。例:
status__v = 'active__v'
。 - 任意の作業: すべてのカスタムトークンは形式
{{token}}
で手動で入力します。Spark メッセージプロセッサ管理者は、これらのトークンを解決する必要があります。 - VQL 構文が有効かどうか確認するには、検証リンクを使用します。ただし、このリンクは現在のターゲット Vault の VQL 構文のみを確認するもので、値がバージョンによって異なる場合、正しい構文はソースおよびターゲット Vault によって異なることがあります。開発者ポータルで VQL 構文の詳細をご覧ください。
- 保存をクリックします。