Add a tag for special processing in an external application

Add a tag to an attribute, clause, or clause term to mark it for special processing in an external application. You can also tag drop-down entries such as typelist option, clause term option, and clause term package option. Tags capture custom information about the product model that can be used for classification purposes within Advanced Product Designer App or by downstream systems using the Guidewire Cloud REST API or Digital SDK.

Tags are modeled as rules on APD editions. Tags are markers that can be applied to various elements of the product model if the tag rule evaluates to "true". For example, you can have a tag called HIGH_RISK with a condition of Limit > 1,000,000. If this tag is configured for a clause, it is applied to that clause if the value of Limit is greater than 1,000,000. Evaluation of tag rules is the responsibility of the tag user.

Tags have the following benefits:
  • You can tag insurance products at various levels with information that is loosely related to the product.
  • Tags have the same product model property rules associated with other product model elements.
  • Tags can vary by segmentation dimensions.
The following tags are preloaded. You can remove these tags if they are not needed:
  • Rate – Applies to rating
  • Submission – Applies to submissions
  • Risk Score – Applies to the risk score for a policy

You can add your own tags by choosing Manage Tags in Element Details.

Expose tags in Cloud REST APIs

Tags are exposed in Cloud REST APIs that allow output of Edition information, such as the Common API entity-schema endpoint.

Expose tags in Digital SDK

Tags are exposed as rules in the Digital SDK for use in Jutro Applications.

Expose tags in PolicyCenter

Tags are not natively exposed for use in PolicyCenter Studio but may be extended by evaluating the tag rules from the EditionRulesContainerInternal class as shown in the following code.
uses com.guidewire.pc.rest.productdefinition.v1.rule.EditionRulesContainerInternal
uses gw.api.json.JsonObject
uses gw.rest.core.pc.apd.v1.ApdProductFinder
uses gw.api.productmodel.OptionCovTermPattern
uses gw.rest.core.pc.productdefinition.v1.coverage.ConcreteCovTermWrapper

print("start")
// When evaluating your policy
var pp = Job.finder.findJobByJobNumber("0000006757").LatestPeriod

// Using the product code and edition
var productCode = pp.Policy.ProductCode;
var edition = "BaseEdition"

// Get your product and rules
var product = ApdProductFinder.loadProduct(productCode)
var editionRules = product.loadEditionRules(edition) as EditionRulesContainerInternal

// Evaluate your coverage term
var covTermPattern = pp.CodeGenHelperLine.CGHCoverageA.CGHCoverageAOptionTermTerm.Pattern

// You may need to evaluate different term patterns differently.
if(covTermPattern typeis OptionCovTermPattern){
 
  // Get the option you need the rules for
  var option = covTermPattern.getCovTermOpt("100usd");
  var covTermWrapper = new ConcreteCovTermWrapper(covTermPattern)
 
  // Get the rules for the option
  var ruleSet = editionRules.getCovTermChoiceTagRules(covTermWrapper, option.OptionCode)

  // Evaluate the rules
  if(ruleSet.first().StaticValue != null){
	ruleSet.first().StaticValueObject.forEach(\key, value -> {
  	var v = value as JsonObject

  	v.forEach(\key1, value1 -> {
    	print(value1)
  	})
	})
  }
}

print("end")
Java