Scorecard rule not triggering in subprocess during decision

I’m working on a risk scoring implementation where we use a decision strategy that calls a scorecard rule to evaluate loan applications. The scorecard works perfectly when called directly from the main case flow, but fails to execute when the same decision strategy is invoked from a subprocess.

The subprocess is part of our multi-step approval workflow. When the subprocess reaches the decision shape that should trigger the scorecard evaluation, nothing happens - the score property remains null and the case proceeds without proper risk assessment. I’ve verified that the decision strategy is correctly referenced in the subprocess flow, and the same strategy works in the parent case.

I suspect there might be an issue with how the subprocess data context is passed to the scorecard rule, but I’m not sure how to debug this. Has anyone encountered issues with scorecard rules not triggering properly when called from subprocesses in Pega 8.7?

I’ve dealt with this exact scenario multiple times. Let me walk you through the complete solution addressing all three key areas:

Scorecard Rule Referencing: The first issue is likely how your scorecard is referenced in the decision strategy. When a subprocess creates a new work context, the scorecard needs to know where to find the data. In your decision strategy, verify that the scorecard component is configured to use the correct input source. If your scorecard expects properties from the parent case, you need to explicitly pass the parent case reference as an input to the strategy.

In your subprocess flow, modify the decision shape to include a parameter mapping that passes the parent case: Set a parameter like “ParentCase” = pxCoverInsKey (or your parent case reference property). Then in your decision strategy, configure the scorecard component to reference properties using this parent case context: ParentCase.ApplicantAge, ParentCase.CreditScore, etc.

Subprocess Data Context: The core issue is that subprocesses operate in their own data context. You have three options to resolve this:

  1. Pass all required properties as subprocess parameters (works for small sets of properties)
  2. Pass the parent case reference and use it to access parent properties (recommended for complex scorecards)
  3. Copy required properties to the subprocess at creation time

For option 2 (recommended), when you start the subprocess, use the “Start a subprocess” shape and configure the parameter page to include: pxCoverInsKey = Primary.pxInsName. This creates a reference to the parent case that your scorecard can use.

Decision Strategy Debugging: Enable the Decision Data Analyzer to see exactly what data the scorecard receives. Go to your decision strategy and add a Data Analyzer component right before the scorecard. Configure it to capture the input context. Run your case through the subprocess and then review the Decision Data Analyzer results in the case history.

You’ll likely see that the scorecard is receiving null values for properties it expects. This confirms the data context issue. The fix is to update your scorecard to reference properties through the parent case reference: instead of .CreditScore, use .ParentCase.CreditScore.

Alternatively, you can modify your decision strategy to include a Data Transform component before the scorecard that copies parent case properties into the current context, then the scorecard can use simple property references.

One more critical point: check your scorecard’s Applies To class. It should match either the subprocess work type OR be set to a common parent class that both the main case and subprocess inherit from. If it’s set to a specific class that doesn’t match your subprocess type, the rule won’t execute at all.

After making these changes, test thoroughly by running tracer and verifying that the scorecard executes and the score property gets populated correctly in the subprocess context.

This is a classic data context issue. When you call a subprocess, it creates a new work object context. The scorecard rule needs access to specific properties from the parent case to perform its evaluation. Check if your scorecard is referencing properties that exist in the parent case but not in the subprocess context. You might need to pass these properties explicitly as parameters when starting the subprocess.

Enable tracer and run through your subprocess to see exactly what’s happening when the decision strategy executes. Look specifically for the scorecard rule execution in the trace. You should see whether it’s being called and if there are any errors or missing property values. The tracer will show you the exact data context at the moment the scorecard tries to execute, which will help identify what’s missing or misconfigured.

Check your scorecard rule’s Applies To class. If it’s set to a specific work class that doesn’t match your subprocess work type, that could cause the issue. Also, look at the scorecard’s property references - if they use relative paths like .PropertyName, they’ll look for properties in the immediate context. You might need to use absolute paths or pass the parent case as a parameter to ensure the scorecard can access the required data.

Thanks for the input. I checked the decision shape configuration and the “Run as” is set to the case context. The input mappings look correct - I’m passing the main case reference to the subprocess. However, I’m wondering if the scorecard rule itself needs to be configured differently when used in a subprocess scenario. Should I be using a specific class context or property referencing pattern?