메인 콘텐츠로 건너뛰기
Extraction Rules 활동 구성을 마쳤으므로 이제 field 값들을 검증하고 정규화하기 위한 비즈니스 규칙을 추가할 수 있습니다.

의사 ID 조정하기

먼저 “Doctor ID” field 속성을 조정하겠습니다. Extraction Rules activity는 사전 인식(pre-recognition) 결과를 사용하며, 여기에는 OCR 오류와 불필요한 문자가 포함될 수 있습니다. field 영역을 찾은 후, field 속성에서 정규식을 지정하여 field 값을 추가로 조정할 수 있습니다. 그러면 데이터가 다시 추출되고 OCR 오류가 제거됩니다.
  1. 스킬 이름을 클릭한 다음 Fields 탭으로 이동합니다.
  2. “Doctor” 그룹을 확장하고, 그 옆의 설정 아이콘을 클릭하여 “Doctor ID” field 설정을 엽니다.
  3. field 속성의 Value 섹션에서 Regular expression 옵션 옆의 추가 아이콘을 클릭합니다.
  4. 아래 식을 Regular Expression Editor에 붙여 넣습니다: [0-9]{1}[\/.-]{1}[0-9]{5}[\/.-]{1}[0-9]{2}[\/.-]{1}[0-9]{3}
참고: 이 편집기는 Extraction Rules Activity Editor에서 사용하는 표기법과는 다른 일반적인 표기법을 사용합니다. 자세한 내용은 Regular Expression Editor에서 Syntax help를 클릭하십시오.
  1. Regular Expression Editor를 닫기 위해 Save를 클릭한 다음, field 속성을 닫기 위해 다시 Save를 클릭합니다.

병가 진단서 유효 여부 확인

환자는 처음 아픈 날로부터 3일 이내에 병가 진단서를 받아야 합니다. 이는 발급일이 질병 시작일로부터 최대 3일 이내여야 한다는 뜻입니다. 이 조건을 확인하려면 스크립트 규칙을 구성해야 합니다.
  1. 데이터 폼 아래의 추가 아이콘을 클릭합니다. New Rule 대화 상자가 열립니다.
참고: 추가 아이콘이 보이지 않으면 문서 이미지 위쪽의 Reference 섹션으로 전환하세요.
  1. Advanced Script Rule을 선택하고 Next를 클릭합니다.
  2. 규칙 이름을 “Check validity”로 변경합니다.
  3. field 목록에서 “Date”, “Start Date”, “End Date” field를 선택합니다.
  4. Next를 클릭합니다.
  5. 다음 스크립트를 스크립트 편집기에 붙여 넣습니다:
// Create variables for all the fields you're going to access
var dateField = Context.GetField("Date");
var startField = Context.GetField("Start Date");
var endField = Context.GetField("End Date");

var issueDate = dateField.Value;
var startDate = startField.Value;

//Check if the "Start Date" field was found on the document
if (startDate && issueDate)
{
   //Check if the issue date is not more than 3 days after the start date
    if ((issueDate.getTime() - startDate.getTime()) / 3600000 / 24 > 3)
    {
        Context.CheckSucceeded = false;
        Context.ErrorMessage = "병가 확인서가 너무 늦게 발급되었습니다";
    }
}
  1. Save를 클릭하고, 집합에 포함된 서로 다른 문서에서 규칙이 어떻게 작동하는지 확인합니다. 규칙이 오류를 어떻게 처리하는지 확인하려면 데이터 폼의 field에 테스트 값을 직접 입력할 수 있습니다. field 값을 변경할 때마다 규칙이 다시 적용됩니다.

병가 기간 확인하기

시작일과 종료일을 사용하여 병가 기간을 계산합니다. 문서에 기간이 명시되어 있는 경우, 계산된 기간과 동일한지 확인합니다. 문서에 기간이 없는 경우, 계산된 값을 해당 field에 기록합니다.
  1. 규칙을 생성하려면 데이터 폼 아래의 추가 아이콘을 클릭합니다.
  2. Advanced Script Rule을 선택하고 Next를 클릭합니다.
  3. 규칙 이름을 “Check duration”으로 변경합니다.
  4. field 목록에서 “Start Date”, “End Date”, “Duration” field를 선택합니다. field 값을 읽기만 하는 것이 아니라 필요한 경우 값을 수정하기도 할 것이므로, 양쪽 열 모두에서 field를 선택하는 것이 중요합니다.
  5. Next를 클릭합니다.
  6. 다음 스크립트를 스크립트 편집기에 붙여 넣습니다:
// Create variables for all the fields you're going to access
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;

//Check if the "Start Date" and "End Date" fields were found on the document
if (endField && endDate && startField && startDate)
{
   //Calculate the sick leave duration
   var length = (1 + (endDate.getTime() - startDate.getTime()) / 3600000 / 24);

   //If the duration field was not found or could not be parsed as a number, pass the calculated value to the field
   if (!durationField.Value)
       durationField.Value = length; 

   //If the duration field was found, compare its value with the calculated duration
   else if (durationField.Value != length)
   {
       Context.CheckSucceeded = false;
       Context.ErrorMessage = "\"Duration\" field의 값이 실제 병가 기간과 일치하지 않습니다";
       durationField.AddSuggestion(length.toString());
   }
}
  1. Save를 클릭하고 집합에 포함된 서로 다른 문서들에 규칙이 어떻게 적용되는지 확인합니다. 규칙이 오류를 어떻게 처리하는지 확인하려면 데이터 폼의 field에 테스트 값을 직접 입력할 수 있습니다. field 값을 변경할 때마다 규칙이 다시 적용됩니다.