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.
- 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.
- 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

Expose tags in Digital SDK
Tags are exposed as rules in the Digital SDK for use in Jutro Applications.
Expose tags in PolicyCenter
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")