생활사건 권장사항 규칙 세트 작성

생활사건을 제출하고 나면 사용자가 제출한 생활사건을 기반으로 해당 지역에서 적합하다고 간주되는 지역사회 서비스를 표시하는 화면이 표시됩니다. 동일한 화면에 자체 검사 또는 접수를 수행할 권장 정부 프로그램도 나열될 수 있습니다. 생활사건 권장 규칙 세트는 TriageInterface 규칙 세트를 확장하고 AbstractTriageResult를 확장해야 합니다. 다음과 같습니다.

<RuleSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation=
  "../../../../CREOLEInfrastructure/xsd/curam/
    creole/xsd/RuleSet.xsd"
  name="LifeEventRecommendationsRuleSet">        
  <Class name="LifeEventRecommendation"
    extends="AbstractTriageResult"
    extendsRuleSet="TriageInterfaceRuleSet">
    ...
  </Class>
  ...
</RuleSet>

많은 부분에 있어 생활사건 권장사항 규칙 세트 작성 방법은 선별 규칙 세트 작성 방법과 비슷하므로 독자는 이 안내서의 선별 사용자 정의 장을 참조할 수 있습니다. 생활사건 권장사항의 규칙의 다른점은 생활사건 스크립트를 실행하는 사용자가 지정된 데이터 저장소 엔티티를 변경하는지 여부 및 해당 엔티티가 변경되는 경우 변경의 특성에 따라 결정을 할 수 있다는 점입니다. 예를 들어, 규칙 세트는 추가된 새 수입 엔티티를 기반으로 한 권장사항을 작성하고 기존 수입 엔티티의 변경사항을 기반으로 다른 권장사항을 작성할 수 있습니다. 아래 예는 생활사건 권장사항을 지원하는 규칙 속성을 Person 클래스에 추가하는 방법을 보여줍니다.

<Class name="Person" xsi:noNamespaceSchemaLocation=
  "http://www.curamsoftware.com/CreoleRulesSchema.xsd">
  <Attribute name="curamDataStoreUniqueID">
    <type>
      <javaclass name="Long"/>
    </type>
    <derivation>
      <specified/>
    </derivation>
  </Attribute>
  
  <Attribute name="curamHasChanged">
    <type>
      <javaclass name="Boolean"/>
    </type>
    <derivation>
      <specified/>
    </derivation>
  </Attribute>
  
  <Attribute name="curamChangeType">
    <type>
      <javaclass name="String"/>
    </type>
    <derivation>
      <specified/>
    </derivation>
  </Attribute>
</Class>

생활사건을 제출하고 나면 Life Event Broker가 규칙 세션을 초기화하고 생활사건의 데이터 저장소 엔티티에 해당하는 규칙 오브젝트를 작성합니다. 그런 다음 데이터 저장소 엔티티에 대응하는 차이 명령을 기반으로 이러한 규칙 오브젝트를 수정합니다. 위에 설명된 개인 규칙 클래스의 예를 보면, 생활사건 IEG 스크립트를 실행한 결과 데이터 저장소의 개인 엔티티가 변경된 경우 curamHasChanged 속성이 true를 리턴합니다. curamChangeType이 다음과 같은 변경 유형을 리턴합니다.