Understanding how the business rules are evaluated and handled by the System Manager is not necessary when setting up a basic configuration for the Decision Support Pipeline (DSP) feature. If the Staff User intends to develop complex business rules utilizing the Match String or developing additional addons, the information in this article will explain more in-depth on how business rules are evaluated behind the scenes. For a more basic workflow of business rules, see Business Rules Workflow and Examples.
How it Works
When the EvaluateBusinessRules event hook is triggered in the Business Rule Evaluation Stage, the System Manager will pull all active business rules from the database, based on the current pipeline and the request’s NVTGC, and will order them based on their Rule Number property. For each business rule, the System Manager will evaluate the business rule’s Match String, which will filter the Fulfillment Data records that are linked to the current request. These linked records will create a matched list of FufillmentData Records for evaluation. If the FulfillmentData doesn't meet the criteria of the match string, the System Manager will move on to the next business rule. If there are any matches, the System Manager will review the business rule's Target properties.
- When reviewing the Target properties, if the Business Rule specifies an:
- Addon Target- The System Manager will check the list of matched Fulfillment Data to see if the results were generated by the specified Addon. If it was, the System Manager will create a Recommendation for that Addon.
- Route Target- The System Manager will create a Recommendation record with the corresponding queue name. A business rule can be created to use queues as a recommended fulfillment option if fulfillment data wasn't generated.
- System Target- The System Manager will first sort the Fulfillment Data records by the selected criteria (e.g., cheapest, fastest), with any additional generated data sorted at the end of the list. The System Manager will select the first Fulfillment Data record from that sorted list. The Source of that Fulfillment Data record will be used to specify the Addon Target of a recommendation record for the request.
- Cheapest- The System Manager will first order the Fulfillment Data records by Cost, then will sort them by Turnaround Time, to ensure that the selected Fulfillment Data record is the cheapest, and also the fastest, in the event that the cheapest cost is shared between two different fulfillment options.
- Fastest- The System Manager will first order the Fulfillment Data records by Turnaround Time, then will sort them by Cost, to ensure that the selected Fulfillment Data record is the fastest, and also the cheapest, in the event that the fastest turnaround time is shared between two different fulfillment options.
- The System Manager will review the Recommendation record to see if the business rule has the Automatic or Recommended property and what Target was written to the record in the previous step. In the database, the Automatic property is a boolean, where true is equivalent to “Automatic” and false is equivalent to “Recommended”.
- Please see the examples below for pipeline and recommendation routing:
- If the pipeline is a Pre-Copyright Pipeline and the recommendation is Automatic the request will route to Awaiting Pipeline Sending.
- If the pipeline is a Pre-Copyright Pipeline and the recommendation is Recommended the request will route to Awaiting Copyright Clearance - Pipeline.
- If the pipeline is a Post-Copyright Pipeline and the recommendation is Automatic the request will route to Awaiting Pipeline Sending.
- If the pipeline is a Post-Copyright Pipeline and the recommendation is Recommended the request will route to Awaiting Pipeline Request Review.
- Please see the examples below for pipeline and recommendation routing:
- If none of the Business Rules were able to produce a positive match against any of the Fulfillment Data records for a request, the request will be routed to either the “Awaiting Copyright Clearance - Pipeline” queue or the “Awaiting Pipeline Request Review” queue, depending on the current pipeline.
As of ILLiad 9.1.2, if a fulfillment source hasn't been identified by a DSP addon(s), a transaction can now be automatically routed to a specific DSP queue. To enable this functionality, the "Route" business rule must be placed after any other "Addon" or "System" business rules for the pipeline.