Création d'un ensemble de règles Assistant à l'aide de l'éditeur CER

La première tâche consiste à créer un ensemble de règles à l'aide de l'éditeur CER qui détermine si les conseils s'affichent ou non. Notez que l'exemple de conseil sera affiché si l'état matrimonial d'une personne est défini sur "marié" et qu'aucune relation du type "conjoint" n'a été saisie. Par conséquent, nous devons configurer un ensemble de règles qui regarde tout d'abord l'état matrimonial d'une personne puis les relations de cette dernière afin d'évaluer si l'affichage du conseil est nécessaire. Commençons par créer un ensemble de règles :
  1. Connectez-vous à l'administration de l'application.
  2. Dans la zone Raccourcis de l'espace de travail Administration, sélectionnez Règles et preuves.
  3. Sélectionnez le lien Ensemble de règles Cúram Express.
  4. Dans le menu Action, sélectionnez Nouveau pour créer un ensemble de règles.
  5. Renommez l'ensemble de règles SpouseRuleSet, puis cliquez sur le bouton Enregistrer. Affectez l'ensemble de règles à une catégorie, si nécessaire.
  6. Dans l'onglet Ensemble de règles Cúram Express, recherchez le nouvel ensemble de règles SpouseRuleSet.
  7. Dans me menu Actions de SpouseRuleSet, sélectionnez Poursuivre l'édition. Cela permet d'ouvrir un nouvel onglet contenant l'éditeur CER.

Il convient maintenant de concevoir la logique pour SpouseRuleSet. D'un point de vue commercial, le conseil est fourni dans la page d'accueil de la personne si cette personne est mariée et qu'aucune relation conjugale n'a été enregistrée pour celle-ci. Dans la mesure où il s'agit d'une logique simple, nous pouvons passer directement à l'éditeur CER pour concevoir l'implémentation des règles.

L'implémentation fonctionne comme suit. Tout d'abord, nous devons identifier la personne pour laquelle le conseil s'affiche à l'aide du paramètre concernRoleID à partir de Person_homePage. L'élément concernRoleID est envoyé depuis le contexte de conseil. Nous devons ensuite rechercher la personne ainsi que ses relations associées à l'aide de concernRoleID. Enfin, en vérifiant si l'état matrimonial de la personne est défini sur "marié" et en identifiant le nombre de relations conjugales, nous pouvons déterminer si le conseil doit être fourni. Pour concevoir cette implémentation, il convient d'effectuer les étapes suivantes à l'aide de l'éditeur CER :

  1. A partir de l'élément de menu Classe de règles, créez une nouvelle classe appelée SpouseAdvice.
  2. Dans l'onglet Propriétés, cliquez sur le lien Editer en regard de la zone Etendre.
  3. Utilisez le lien Modifier pour laisser la classe de règles SpouseAdvice étendre AbstractAdviceContext dans CoreAdvisorRuleSet.
  4. A partir de l'élément de menu Attribut, créez les nouveaux attributs suivants pour SpouseAdviceRuleClass : concernRoleID, adviceContextID, advice et description dans la classe de règles SpouseAdvice.
  5. Définissez la zone Type de données pour chaque nouvel attribut. En ce qui concerne l'attribut concernRoleID, définissez la zone Type de données sur NumberParameter à partir de CoreAdvisorRuleSet. En ce qui concerne l'attribut adviceContextID, définissez la zone Type de données sur Number. En ce qui concerne l'attribut advice, définissez la zone Type de données sur Liste d'éléments AbstactAdviceItem dans CoreAdvisorRuleSet. En ce qui concerne l'attribut description, définissez la zone Type de données sur Message. A partir de l'élément de menu Classe de règles, créez une nouvelle classe de règles appelée SpouseAdviceItem. Laissez la classe de règles SpouseAdviceItem s'étendre depuis AbstractAdviceItem dans CoreAdvisorRuleSet.
  6. A partir de l'élément de menu Attribut, créez les nouveau attributs suivants pour la classe de règles SpouseAdviceItem : adviceText, showAdvice, priority, status, category, adviceContext, description et ConcernRoleID.
  7. Définissez la zone Type de données pour chaque nouvel attribut. En ce qui concerne l'attribut adviceText, définissez le Type de données sur String. En ce qui concerne l'attribut showAdvice, définissez la zone Type de données sur Boolean. En ce qui concerne l'attribut priority, définissez la zone Type de données sur la table de codes AdvicePriority. En ce qui concerne l'attribut status, définissez la zone Type de données sur la table de codes AdviceStatus. En ce qui concerne l'attribut category, définissez la zone Type de données sur la table de codes AdviceCategory. En ce qui concerne l'attribut adviceContext, définissez la zone Type de données sur Number. En ce qui concerne l'attribut description, définissez la zone Type de données sur Message. En ce qui concerne l'attribut concernRoleID, définissez la zone Type de données sur Number.
  8. Faites glisser un opérateur Code Table (Table de codes) dans l'attribut priority. Dans l'onglet Propriétés de l'opérateur, définissez la Table sur AdvicePriority et définissez la valeur sur AP2001.
  9. Faites glisser un opérateur Code Table (Table de codes) dans l'attribut status. Dans l'onglet Propriétés de l'opérateur, définissez la Table sur AdviceStatus et définissez la valeur sur AS2002.
  10. Faites glisser un opérateur Code Table (Table de codes) dans l'attribut category. Dans l'onglet Propriétés de l'opérateur, définissez la Table sur AdviceCategory et définissez la valeur sur AC2001.

Nous avons à présent étendu les attributs essentiels et pouvons passer à l'ajout de la logique aux règles. Nous devons tout d'abord déterminer si la personne est mariée ou non, en procédant de la manière suivante :

  1. Créez un nouvel attribut Person pour la classe de règles SpouseAdviceItem. En ce qui concerne l'attribut Person, définissez la zone Type de données sur Person dans ruleset ParticipantEntitiesRuleSet.
  2. Faites glisser un opérateur Search (Recherche) dans l'attribut Person. Cliquez deux fois que l'opérateur Search (Recherche) pour ouvrir la boîte de dialogue Edit Search (Editer la recherche) et entrez le Type de données Person mentionné précédemment.
  3. Ajoutez une nouvelle correspondance à l'opérateur Search (Recherche), puis faites-y glisser une référence qui fait référence à l'attribut concernRoleID dans la classe de règles SpouseAdviceItem.
  4. Sélectionnez l'option Single Item (Elément unique) dans l'onglet Propriétés de l'opérateur Search (Recherche).
  5. Créez un nouvel attribut pour la classe de règles SpouseAdviceItem et appelez-le isMarried.
  6. Définissez la zone Type de données du nouvel attribut sur Boolean.
  7. Faites glisser un opérateur Compare (Comparaison) vers le nouvel attribut. Modifiez son expression afin de comparer l'élément maritalStatus dans l'attribut Person par rapport à Codetable MaritalStatus à l'aide de la valeur MS2.

Calculons à présent le nombre de relations conjugales de la personne en procédant comme suit :

  1. Créez un nouvel attribut pour la classe de règles SpouseAdviceItem, que vous appellerez relationships. En ce qui concerne l'attribut relationships, définissez la zone Type de données sur une Liste de type ConcernRoleRelationship à partir de l'ensemble de règles ParticipantEntitiesRuleSet.
  2. Faites glisser un opérateur Search (Recherche) dans l'attribut Relationships. Cliquez deux fois sur l'attribut pour ouvrir la boîte de dialogue Edit Search (Editer la recherche), entrez le Type de données ConcernRoleRelationship mentionné ci-dessus.
  3. Ajoutez une nouvelle correspondance à l'opérateur Search (Recherche), puis faites-y glisser une référence qui fait référence à l'attribut concernRoleID dans la classe de règles SpouseAdviceItem.
  4. Créez un nouvel attribut pour la classe de règles SpouseAdviceItem, appelez-le numOfSpouseRelationships avec le type de données Number.
  5. Faites glisser un opérateur Size (Taille) dans le nouvel attribut. Faites ensuite glisser un opérateur Filter (Filtre) dans l'opérateur Size (Taille).
  6. Dans l'opérateur Filter (Filtre), laissez l'élément Empty List (Liste vide) faire référence à l'attribut relationships. En ce qui concerne l'élément Empty Member (Membre vide), faites-y glisser un nouvel opérateur Compare (Comparaison) permettant de comparer l'élément relationshipType dans l'attribut relationships à l'aide de la valeur de Codetable RelationshipTypeCode RT6.

Enfin, nous pouvons déterminer le résultat des étapes précédentes en procédant comme suit :

  1. Ouvrez l'attribut showAdvice dans la classe de règles SpouseAdviceItem.
  2. Faites-y glisser l'opérateur AND, afin de définir isMarried comme première condition. Pour la deuxième condition, ajoutez un opérateur Compare (Comparaison) en regard de la condition isMarried permettant de comparer si numOfSpouseRelationship est égal à 0.
  3. Ouvrez l'attribut adviceText dans la classe de règles SpouseAdviceItem.
  4. Faites glisser un opérateur de propriétés String (Chaîne) dans l'attribut et dans l'onglet Propriétés, puis donnez-lui la valeur startCapture.
  5. Ouvrez l'attribut advice dans la classe de règles SpouseAdvice.
  6. Faites glisser un opérateur Fixed List (Liste fixe) dans l'attribut, puis complétez le Type de données de cet opérateur à l'aide de AbstractAdviceItem.
  7. Faites glisser un opérateur Create (Création) dans l'opérateur Fixed List (Liste fixe), puis créez la classe de règles SpouseAdviceItem avec des paramètres. Le paramètre concernRoleID de SpouseAdviceItem doit faire référence à concernRoleID dans SpouseAdvice. Le paramètre adviceContext de SpouseAdviceItem doit faire référence à adviceContextID dans SpouseAdvice.
  8. Enregistrez et validez l'ensemble de règles dans l'éditeur CER.
  9. Si aucune erreur ne se produit lors de la validation, publiez l'ensemble de règles dans l'administration de l'application à l'aide de l'option Publier dans l'onglet Ensemble de règles Cúram Express.