メインコンテンツへスキップ
Extraction Rules のアクティビティを構成したので、field の値を検証および正規化するためにビジネス ルールを追加できます。

Doctor ID の調整

Doctor ID field のプロパティを調整して、事前認識の結果から OCR エラーや不要な文字を取り除きます。field region が見つかった後、field プロパティ内の regular expression によってデータが再抽出され、OCR ノイズが除去されます。
1

Doctor ID field の設定を開く

  1. Skill 名をクリックし、Fields タブに移動します。
  2. 「Doctor」Group を展開し、その横にある設定アイコンをクリックして「Doctor ID」field の設定を開きます。
2

正規表現を追加する

  1. field プロパティの Value セクションで、Regular expression オプションの横にある追加アイコンをクリックします。
  2. 次の式を Regular Expression Editor に貼り付けます。
    [0-9]{1}[\/.-]{1}[0-9]{5}[\/.-]{1}[0-9]{2}[\/.-]{1}[0-9]{3}
    
このエディターでは、Extraction Rules Activity Editor で使用される表記とは異なる一般的な表記を使用します。詳しくは、Regular Expression EditorSyntax help をクリックしてください。
3

変更を保存する

Save をクリックして Regular Expression Editor を閉じ、続けてもう一度 Save をクリックして field プロパティを閉じます。

病欠証明書の有効性を確認する

患者は、発病開始日から3日以内に病欠証明書を受け取る必要があります。つまり、発行日は開始日の3日後まででなければなりません。 この制約を適用するには、スクリプト ルールを使用します。
1

New Ruleダイアログを開く

データ フォームの下にある追加のiconをクリックします。New Ruleダイアログが開きます。
追加のiconが表示されない場合は、ドキュメント画像上部のReferenceセクションに切り替えてください。
2

ルールの種類とfieldを設定する

  1. Advanced Script Ruleを選択し、Nextをクリックします。
  2. ルール名を「Check validity」に変更します。
  3. fieldsの一覧で「Start Date」と「Date」のfieldを選択します。
  4. Nextをクリックします。
3

有効性確認のスクリプトを追加する

次のスクリプトをスクリプト エディタに貼り付けます:
// アクセスするすべてのfieldの変数を作成
var startField = Context.GetField("Start Date") ;
var dateField = Context.GetField("Date");

if (dateField && dateField.Value && startField && startField.Value)
{
   var date = dateField.Value;
   var startDate = startField.Value;

   //取り得る最も早い開始日を計算
   date.setDate(date.getDate() - 3);

   if (startDate < date)
   {
       Context.CheckSucceeded = false;
       Context.ErrorMessage = "病欠証明書の発行が遅すぎます";
   }
}
Save をクリックし、セット内のさまざまなドキュメントでルールの動作を確認します。ルールのエラー処理の挙動を確認するには、データ フォーム上の field にテスト値を手動で入力します。field の値を変更するたびに、ルールが再適用されます。

病欠期間の確認

病欠の開始日と終了日を使って病欠期間を計算します。文書に期間が指定されている場合は、その値が計算した期間と一致するかどうかを確認します。文書に期間が含まれていない場合は、計算した値を対応する fields に書き込みます。
1

New Rule ダイアログを開く

ルールを作成するには、データ フォームの下にある追加 icon をクリックします。
2

ルールの種類と fields を設定する

  1. Advanced Script Rule を選択し、Next をクリックします。
  2. ルール名を「Check duration」に変更します。
  3. fields の一覧で、「Start Date」「End Date」「Duration」の fields を選択します。fields 値を読み取るだけでなく、必要に応じて修正も行うため、両方の列で fields を選択しておくことが重要です。
  4. Next をクリックします。
3

期間のスクリプトを追加する

次のスクリプトをスクリプト エディタに貼り付けます。
// アクセスするすべてのfieldの変数を作成する
var startField = Context.GetField("Start Date") ;
var endField = Context.GetField("End Date");
var durationField = Context.GetField("Duration");

var startDate = startField.Value;
var endDate = endField.Value;

//「Start Date」と「End Date」のfieldがDocumentで見つかったか確認する
if (endField && endDate && startField && startDate)
{
   //病気休暇の期間を計算する
   var length = (1 + (endDate.getTime() - startDate.getTime()) / 3600000 / 24);

   //期間のfieldが見つからなかった場合、または数値として解析できなかった場合、計算値をfieldに渡す
   if (!durationField.Value)
       durationField.Value = length; 

   //期間のfieldが見つかった場合、その値と計算された期間を比較する
   else if (durationField.Value != length)
   {
       Context.CheckSucceeded = false;
       Context.ErrorMessage = "\"Duration\" fieldの値が実際の病気休暇期間と一致しません";
       durationField.AddSuggestion(length.toString());
   }
}
Save をクリックし、セット内のさまざまなドキュメントでルールがどのように動作するかを確認します。ルールがエラーをどのように処理するかを確認するには、データ フォーム上の fields にテスト値を手動で入力します。fields の値を変更するたびに、ルールが再適用されます。

次に行うこと

ステップ 10. Skill をテストして公開する

設定した Skill をテストし、Vantage server に公開します。

チュートリアルの概要

チュートリアルの概要に戻ります。