A Package With Service Type Comparison

The Has Gas / No Electricity Package has the following eligibility rules:

  • Customer has gas service
  • Customer doesn't have electricity service

These rules require only one eligibility group on the package. It would looks as follows:

Group

No.

Group Description

If Group is TRUE

If Group is FALSE

1

Has Gas, Doesn't Have Electricity

Eligible

Ineligible

The following criteria will be required for this group:

Group 1: Has Gas, Doesn't Have Electricity

Seq

Field to Compare

Comparison Method

If TRUE

If FALSE

If Insufficient Data

10

Algorithm: check if customer has gas service

= TRUE

Check next condition

Group is false

Group is false

20

Algorithm: check if customer has electric service

= TRUE

Group is false

Group is true

Group is false

Both criteria are similar - they check if the customer has a given type of service and act accordingly. We used a "field to compare" algorithm to pull this off, but this algorithm is a bit counter intuitive (but understanding it will provide you with another way to implement complex eligibility criteria):

  • Field to Compare. We chose a "field to compare" algorithm that checks if an account has service agreements that belong to a given set of service types. It returns a value of TRUE if the customer has an active service agreement that matches one of the service types in the algorithm. In our example, the "check if customer has gas service" algorithm returns a value of TRUE if the customer has at least one active service agreement whose SA type references the gas service type. The "check if customer has electric service" algorithm is almost identical, only the service type differs. Refer to PKEL-SVCTYP for an example of this type of algorithm.
  • Comparison Method. We simply compare the value returned by the algorithm to TRUE and indicate the appropriate response.
Note:

Bottom line. The "field to compare" algorithm isn't actually returning a specific field's value. Rather, it's returning a value of TRUE or FALS (this is not a misspelling). This value is, in turn, compared by the "comparison method" and the group is set to true, false or check next accordingly.