Monday May 16, 2016

One simple tip for mobile decision making: CARE

Fiona Guy | Product Manager Oracle Policy Automation

(This blog originally appeared in the Oracle Service Cloud Product Newsletter: March 2016)

Meet Saffron, she’s a safety inspector with a large manufacturing company. It’s her job to head onto worksites to check they comply with the relevant health and safety rules. Saffron is friends with Jake, a mobile technician who provides on-site customer support.

Both are frustrated by their jobs.


Because the technology they are using is impeding their ability to deliver. For Jake, when he’s onsite with a customer it takes him a long time to identify the cause of the problem, the customer is often impatient (or worse, wants a particular answer) and he needs to make a call or go back to the office to resolve the issue. He doesn’t have the tools at hand to offer the customer a better product where one is available. Invariably, each interaction ends with an unhappy customer, and an unhappy Jake.

Saffron likes the people she meets in her inspections but is frustrated by finding when she returns to the office that she has missed collecting key information. Reporting her findings is a huge drain on her day.

With Policy Automation, life could be so much easier. Oracle Policy Automation (OPA) is an end-to-end solution for capturing, managing, and deploying policies in Oracle Service Cloud. OPA’s mobile capability allows agents in the field to:

Collect only the necessary information, and all necessary information. Policy Automation intelligently selects the next question based on previous answers, and if it already knows some information from previous interactions, it won’t bother asking it again. Quick, simple, and respectful of your staff and customer’s time.

Answer the question, correctly. Policy Automation doesn’t just direct the technician (or customer themselves) to an article and ask “does this answer your question” but actually applies the policy to the issue at hand to provide exact advice for the customer’s situation. So for Saffron, it won’t just provide guidelines on how to manage workplace safety, it will ask her for detailed information about the site (number of employees, chemicals onsite etc) and provide her with all of the checks required for the specific situation. It can also trigger intelligent suggestions to related information (advice or knowledge) and products (for customer product recommendations/upsell). Flexible updating means that the answer reflects the current state of your policy so your field agents don’t need to memorize every policy change themselves. Oh and you get reasons for the decision, great for on-site service with customers who like to know every last detail.

Resolve the issue. Policy Automation’s write once, deploy anywhere approach means you will get the same answers on your mobile device as on your back-end system. You can work without network coverage, so Jake won’t need to hang out of a customer’s window to try to get a signal. Data automatically synchs up when you’re back online and can be used with Policy Automation’s cloud and on-premise document generation capabilities to produce the reports you need. When you have finished your work in the field, you have finished your work in the office.

Evaluate the result. Decisions can be saved with an automatically generated audit report, explaining how policies were applied in each case. More than just surviving audits by showing consistently accurate decision making, this capability allows the business to proactively evaluate whether decisions are being made effectively, efficiently, change rules, and compare results. In other words, you can use Policy Automation to improve and refine your policies in future.

So what does that mean for Saffron and Jake? It means that the decisions they make are compliant, resolved as quickly as possible and leaves them and the customers feeling a whole bunch better about the interaction.

More information

For more information on enhancing your service cloud capability with Policy Automation, watch online or read up about OPA in the OPA Quick Start Guide or Oracle Technology Network.

For more information on Policy Automation for mobile devices, read the OPA for Mobile Devices or OPA Mobile datasheets or watch online.

Tuesday Mar 15, 2016

OPA - Services Newsletter - Spring 2016

Welcome to the Oracle Consulting Spring Newsletter (2016)

Please click on the preview below to download a pdf (full) version:

In this issue:

Latest OPA release - Spring 2016

The new February 2016 release has some exciting new features developed from feedback and experience on previous and current projects

OPA HR Policy Automation for Employee Self Service

The latest version of the solution is now available and news on the latest implementations is provided on the front cover.

Upgrading to OPA v12

For those customers currently considering a migration from v10 to v12, we provide a package of services that will help you to migrate smoothly. Further details in the newsletter on page 2 of the newsletter.

Thursday Dec 17, 2015

Oracle Policy Automation - Services Newsletter - Winter 2015

Welcome to the Oracle Consulting Winter Newsletter (2015)

Please click on the preview below to download a pdf (full) version:

In this issue:

Go Live! Prince’s Trust

The Prince’s Trust are now live with a new OPA and Service Cloud based solution to support the development of a new web site and CRM (Customer Relationship Management) system.

OPA Enablement Update

Our OPA SmartStart enablement team announce a new v12 accelerator programme and provide links to our Blog site which lists all the updated courses we provide.

OPA HR Policy Automation

Our HR Self Service Accelerator is being adopted by Oracle for our own staff and also with customers.

OPA Centre of Excellence

The OPA Centre of Excellence programme is continuing to grow in membership and Matthew provides an overview of the programme and what is required to achieve recognition 

Tuesday Jun 23, 2015

OPA Enablement Programme Update

Rob Bradford | OPA Rules Consultant (Europe)

OPA version 12 has been with us for a few months now, and our products team are continuing to work hard on adding even more exciting features to future releases. As a reminder, this is the first version of OPA that combines the previously separate Cloud and On-Premise versions of the software into one product. Version 12 can be run using:

  • Oracle Service Cloud - where policy models are managed by Oracle Cloud operations
  • Private Cloud - where policy models are managed and deployed in your own estate

Whichever option you choose, you will be able to take advantage of a host of new features, including mobile application support, a re-designed authoring environment, improved control and flexibility around screen design and integrated collaboration and source control via the OPA hub.

Oracle Consulting Services provide a range of enablement courses as part of our OPA SmartSmart Services package, including a brand new OPA v12 Accelerator programme - aimed at people who are already experienced at developing rules in previous versions of the product.

OPA v12 Accelerator - NEW!

Course duration: 2 days

Suitable for rule authors who have previously taken the foundation course for OPA version 10. Covers the following topics:

  • Installing OPM version 12
  • Upgrading existing policy models
  • Navigating the new OPM user interface
  • Working with the hub
  • OPA mobile
  • Designing an interview
  • Screen styling
  • Testing in v12
  • Other new features

Our existing enablement courses have also been updated to incorporate the latest features.

OPA v12 Rule Author Foundation

Course duration: 5 days

Aimed at people who are new to OPA, or existing rule authors who want to refresh their foundation knowledge as well as learning about the new features. Includes updated content and new modules around navigating the OPM user interface, multi-author collaboration via working with the hub, improved interview design, deploying policy models to mobile applications (iOS and Android), using value lists to store reference data and some additional new built in functions.

OPA v12 Rule Author Advanced

Course duration: 5 days

This course is intended for rule authors who are already proficient in the topics covered in the foundation course, and want to take their OPA knowledge to the next level. Includes updated content around the more advanced OPA rule authoring features, such as inferred entity creation, inferred relationships, cross entity reasoning and everybody's favourite - time based reasoning (TBR).

OPA v12 with BI Publisher

Course duration: 2 days

As in previous versions, OPA v12 allows you to generate documents - now referred to as 'forms' - at the end of an interview. This course takes you through the process of creating rich, dynamic forms which can include images, tables and charts.

OPA v12 Testing

Course duration: 2 days

The OPA regression suite now uses Excel spreadsheets exclusively - allowing users to replicate test data and expected outcomes quicker and more easily than within previous versions. This course takes you through the process of creating and maintaining test scripts within v12.

OPA v12 Project Manager

Course duration: 2 days

This course provides Project Managers / Team Leaders with an opportunity to explore the leading practice methods that are used to implement OPA powered systems. Topics include resourcing considerations, estimation techniques, building a project schedule, documentation standards, case studies and tips & tricks.


Our extremely popular rule author assessments are also being refreshed, and it is now possible to take the OPA foundation or advanced rule author assessments using version 12 of the product.

Oracle Consulting Services can deliver enablement programmes either at your premises, or at any of our Oracle offices spread around the country. If required, we can tailor our courses to make them more specific to your project needs - and we can provide any equipment required (laptops with software pre-installed, iPads etc.). Do not hesitate to get in touch if you want to arrange or discuss an enablement programme, or for any further information.

Monday Jun 08, 2015

OPA for HR Self Service - White Paper

Ulrich Scheuber | OPA Solution Specialist & Matthew Bickham | OPA Consulting Practice Manager

HR policies built using Oracle Policy Automation increases and sustains Employee Experience for companies who want their HR professionals to be able to build employee Self Service capabilities

"Automation of HR/HCM policies, decisions and calculations is a key element for optimization of HCM processes and reduction of complexity plus associated operational costs” is a phrase we often hear when talking to HR Executives and specialists.

» How to adapt regulatory policies based on internal agreements?

» How to transform existing manual policies into an existing HCM solution with self service capabilities for the employees?

» How to transform existing, often custom coded HR policies into new and modern HCM solutions without repeating the problems of bespoke coding again?

» How to increase transparency, flexibility and adaptability of existing and new HR policies?

» How to reduce the costs and time to market associated with new or changed policies?

» How to manage consistency of policies across different HCM solutions?

» How to reduce overall HR related services costs in times of limited IT budget whilst increasing service quality and availability?

These are the questions HR organizations ask themselves on a regular basis

95% of organizations state that policy change remains predominantly manual
34% of organizations say inconsistent policy implementation caused poor customer satisfaction

Source: Economist Intelligent Unit Survey

HR Accelerator – The solution of choice

Oracle’s HR Accelerator is a prebuilt, easy to adapt solution for managing legal policies based on best practices. The HR Accelerator package supports the new Shared Parental Leave (SPL) regime that came into force on 1st December 2014 for the UK and will apply to babies due to be born on or after 5th April 2015. An estimated 300,000 couples in the UK will be eligible to take SPL and employers are likely to see a rapidly growing number of queries and requests. The HR Accelerator includes a SPL self-help module (built directly from legislation) to deflect complex queries away from the HR department.

The HR Accelerator includes a quick start package for implementing and adapting the prebuilt policies to specific client needs. Part of the HR accelerator package is a number of pre-agreed consulting days which a customer can use to adapt policies, branding and for enablement of the business users who wish to model and adapt their own HR policies.

Oracle Policy Automation, the underlying engine of the HR Accelerator, allows modeling, managing, testing and automation of policies without IT involvement. Policies modeled in Oracle Policy Automation are used to create guided interactive service dialogues to become part of:

» Employee facing Self Service portals

» Mobile HCM solutions

» and HR service center solutions

These same policies can also be included into Core HCM solutions, On-Premise and in the Cloud, for consistent policy execution across the enterprise.

Key Benefits

Deploy and automate prebuilt HCM policies, which can be easily adapted by business users

All rules are modeled in OPA using business friendly ‘natural language’ using Microsoft Word and Excel

Rule logic, attribute naming and mapping components are designed for business rule authors to update and extend

Testers can test rules directly in OPA with no previous programming skills required

Record a complete audit trail of how decisions are reached

Available in the Cloud so no infrastructure required to set-up and run

Deploy web-based interviews directly from the modeled processes and policies

Significant cost reduction

Contacts per case drop from 3 to 1

Agent training time drops from 60 days to 5

Policy changes in days instead of months

Appeals and error rates cut in half

Pre-built legislation and Best Practices

Currently available are

Maternity pay and leave calculator

Shared Parental Leave eligibility and pay

Paternity pay and leave

Employee on-boarding

Employee off-boarding

Sick pay calculator

Career break

Voluntary redundancy calculations

Change of personal details

Change of contract details

For a full copy of the White Paper, you can download a .pdf version from here.

Wednesday Apr 29, 2015

OPA UK Cross Government Group

Matthew Bickham | OPA Implementation Manager (Europe)

The Oracle Policy Automation (OPA) UK Cross Government Group is celebrating its 3rd birthday this May and was formed by OPA users from Her Majesty’s Revenue & Customs (HMRC), the Department for Work & Pensions (DWP), the Home Office and the Legal Aid Agency. The group actively demonstrates the Cabinet Office wish for greater cross departmental working by facilitating strong collaboration. The departments share learning, resources, best practice methods and delivered OPA artefacts.

OPA Product Development works with the group giving them exclusive access to new features, before general release, and incorporates their feedback into the final version as well as the future product roadmap.

The group is divided into two with both meeting separately three times a year (normally in February, June and & September).

  • The OPA Rule Author group meets to share OPA rule authoring related knowledge and learning. Rulebase components are showcased, and discussions are conducted on rule modelling techniques and 'real world' problem solving.
  • The OPA Executive group meets separately and discusses topics that may relate to governance, government wide initiatives, group membership and resourcing.

Since its formation, the group has grown and forum meetings are now attended by a range of other government organisations. Events are normally held in London, but site visits have been arranged where members are given the opportunity to see new OPA systems being modelled and to meet many more members of the onsite delivery teams.

The group currently has over 100 participants and is growing every year as new departments begin their adoption of OPA. The departments share information through the use of a free secure online workspace. The workspace provides access to a range of resources including example rulebases, lessons learned documentation, forum notes, presentations, action logs and other OPA related resources that are shared.

Most member departments have also achieved OPA Centre of Excellence status. This programme is an Oracle recognition of a department capability, and to validate that leading practice standards are being followed. Within this programme, the department’s rule authors are fully enabled in OPA and provided with an industry recognized certificate that validates their skills up to an advanced level of expertise.

The next forum events will be held on 24th (Rule Author) & 25th (Executive) June 2015 in the Oracle London City Office in Moorgate. The Legal Aid Agency will be chairing this event.

Wednesday Feb 25, 2015

Upgrading to Oracle Policy Modelling Version 12

Max Hill | OPA Rules Consultant (Europe)

Version 12 of Oracle Policy Automation is now upon us and our customers are asking us about upgrading their existing rulebases to the latest version. In this Blog, we will be introducing some of the new OPA features and considerations for upgrading before you do so. At Oracle, we have conducted a number of upgrades already and more than happy to support you in your process so you can conduct the upgrade efficiently and make the very best of all the new features. 

First off, let's look at some of the new features of version 12:

Before you can upgrade to Version 12 you should:

Check for mathematic operators in attribute text. OPM 12 recognises “/, -, +, *, )” next to a space automatically and will assign attributes containing these symbols as multiple separate variables attributes and not single attributes.

If there are a large number of attributes containing mathematic operators then notepad++ or word macros can be used to find and replace all of these on mass. However care must be taken when using these functions, especially with Office 2007 as word documents are stored as binary files which may contain the text string you wish to replace in the file code, replacing this will corrupt the document (Notepad++).

Before Running the Migration Wizard:

Verify that your document will build correctly without errors and ensure you have closed Word, Excel and all other versions of OPM and that none of these have processes running in the background. These may interfere with the migration process.

Opening Project & Running the Migration Wizard:

In the Project tab select “Open Project” and browse to the relevant rulebase (.xprj) file. Once you have opened this the migration assistant will begin. During this process do not open any other versions of Oracle Policy Modelling, use word or excel. Outlook may also cause issues if it is running a word editor in the background. Migration should take approximately 5-10 minutes (depending upon rulebase size). Click “Continue” once Migration is complete.

Once Migration is Complete:

You may have to reassign attribute types that could not be determined automatically. This can be done by checking attribute types against the old rulebase.

You may also have to reassign entity relationships that were determined incorrectly by V12 which are usually the result of ambiguous attribute text.

In some instances spaces may need to be put into calculations otherwise they will not be recognized as such, this is a new requirement in version 12. 

Other things to looks out for are mathematic operators next to each other in Boolean attributes will cause attribute to be assigned as a variable e.g. “()/”. Errors may also arise around incorrect parsing of Booleans (can appear as multiply proven attributes). If miscellaneous errors from migration appear, take a screenshot and contact your manager or the development team. 

Once Migration is Complete:

Finally, once you have fixed all errors in the Data and Rules tabs you can address the Interview errors. Many of these will result from the new way in which V12 manages screen visibility OOTB and no longer includes flows or screen attributes. Screen errors will also arise around entity relationships that were determined incorrectly by V12, verify the correct entities using previous version.

Once you have verified that the rulebase procedure and rule dependencies are the same as in the previous version (before upgrade), the upgrade process is complete.

If you have any queries about upgrading OPA to version 12 then please contact us!

We have OPA enablement courses available in the following:

  • OPA Rule Author Foundation for Version 12 (5d)
  • OPA Rule Author Advanced for Version 12 (5d)
  • OPA with BI Publisher (2d)
  • OPA Testing Tools & Methods (2d)
  • OPA Project Leader (2d)
  • OPA Technical (2d)

Tuesday Nov 18, 2014

Oracle Policy Automation - Services Newsletter - Winter 2014

Welcome to the Oracle Consulting Services Winter newsletter (2014/15).

Please click on the preview below to download a pdf (full) version:

In this issue:

Prince’s Trust

Oracle has just started work on a new Cloud based project to support the development of a new web site and CRM (Customer Relationship Management) system.

OPA Training Update

Our training team has been hard at work preparing new training materials for the upcoming v12 release.

OPA Top Tips & Modelling

Sean Reardon, our longest standing OPA specialist has two sections in this months issue. Some tips on how to optimise modelling performance and how to use OPA advanced features.

OPA X-Gov Update

The OPA UK X-Gov Group is growing with new OPA CoEs announced and events being held later in the Winter.

Upgrading OPA

We have started to use the new product (internal preview release) to migrate and upgrade projects from v10 to v12. Max Hill from our team describes the steps taken so that we are ready for the big day.

Friday Jul 25, 2014

Rule loops in OPA rules

Rob Bradford | OPA Rules Consultant (Europe)

As any experienced rule author will know, OPA automatically runs through a series of logic checks each time a policy model is built. One of these checks is for self-referential rules, or to put it another way rules that are proven by themselves – the logical loop check. In rare situations, usually when writing complex rules involving time based reasoning or multiple entity instances, it may be necessary to implement a controlled logic looping situation.

First introduced in OPA version 10.2, rule loops allow you to overcome the problem of rules which loop back to different instances in the same entity by defining a rule as an allowable loop, allowing the rules to validate past the logical loop check.

Loops using entity instances

The following fictitious example shows an example of a 'valid' rules loop using different entity instances. The source material states:

"a person can be a UK passport holder if they meet the qualifying criteria, or if any of their parents are eligible for a UK passport."

The rules highlighted in the red boxes below cause a logical loop upon build, however in this case the logic is correct.

To implement a rule loop in OPM, first highlight the rule. Then use the Rule Properties Editor (ALT + P) in the Word toolbar, and tick the Rule Loop checkbox:

The policy model now passes validation, and is logically sound. In the following interview, Tom has been identified as Sarah's parent. Tom has been in the UK for 30 years with no criminal record, therefore qualifies. Even though Sarah does not qualify on her own accord due to the length of time spent in the UK, the fact that she has a qualifying parent means she also qualifies.

The decision report within Oracle Web Determinations shows that Sarah qualifies on the basis of her parent, Tom:

You may have realised that the way these rules have been written, even if Tom was not suitable, he may himself have a parent who qualifies - which would make Tom, and therefore Sarah eligible. Following this sequence through, it would mean anyone with a qualifying ancestor would automatically be eligible themselves.

In this example we can assume this is the intended behaviour - but it is essential to consider where the loop could, and should end. This is sometimes referred to as identifying the exit condition.

Loops using temporal reasoning

Loops can also relate to an attribute's value at different points in time, rather than different entity instances. Consider the following logic:

"An applicant will be treated as qualifying for the benefit continuously if they have been out of the country for less than 7 days, and at the time they left the country, they qualified for the benefit"

Again, we are looking at a different instance (this time on the temporal timeline) of the attribute, but OPA will identify 'the applicant qualifies for the benefit' as a loop. Specifying the attribute as a rule loop, using the method shown above can allow the rules author to overcome this.

Consider the following worked example:

  • John's benefit period runs from 1 Jan to 31 Jan 2014 (all dates inclusive). He satisfied the income criteria to qualify for the benefit throughout the month, apart from one period between 18 Jan and 20 Jan, where his income was too high.
  • John was out of the country from 6 Jan to 16 Jan - a total of 11 days. As he continued to meet the income criteria, and qualified for the benefit the day before he left, he was entitled continuously for the first 7 days of his absence.
  • On 13 Jan, John had been out the country for more than 7 days, so became ineligible.
  • When John returned to the country on 16 Jan, he became eligible again - until 18 Jan when he did not satisfy the income criteria.
  • On 19 Jan, John left the country again until 23 Jan. Although the absence was less than 7 days, and he met the income criteria from 20 Jan, he was ineligible throughout the entire absence because he was not eligible the day before he left.
  • When he returned to the UK on 23 Jan, he became eligible again. In total, he was eligible for the benefit for 23 days out of the 31 day period.

Final points

  • Careful consideration should be given before implementing rule loops, as incorrect use can result in rules that can never be proven. If you are not sure, ask an OCS consultant.
  • The logical loop check is there for a reason! You should only use this feature if you are sure there is an exit condition. If the loop is not controlled, then the OPA rules engine will keep going around and around until it eventually stops with an error.
  • It is very important that the rules are tested thoroughly to avoid any unexpected behaviour.
  • If the loop encompasses multiple rules, each individual rule must be configured separately.

This blog is brought to you by Oracle Consulting Services. Further details about OPA enablement, coaching and mentoring services can be obtained by contacting the author.

Tuesday Jul 01, 2014

Allowing Discretion in OPA Rules

Matthew Bickham | OPA Implementation Manager (Europe)

The purpose of a policy model is to make decisions on your behalf, often applying complex sets of rules. A lot of work goes into automating the decision making process so that every decision is fair, consistent and traceable. So why on earth would you want to allow a ‘human’ to over-ride this decision? There are times when some human involvement is desirable because to automate all aspects of the process may not be practical - a policy model can only make a decision if it has all the rules it needs. Examples where some discretion might be required include: medical diagnosis, staff promotion, bonus payment, application for a grant and travel approval.

Allowing discretion in rules must be carefully thought through. A policy model should always be allowed to arrive at a decision itself where it is possible for it to do so. If permitted, the rules must be modelled to clearly state discretion has been applied, and the decision report as a consequence must reflect this.

The following fictitious example provides a simple illustration of how two areas of the rules have been constructed to allow the user (a Deciding Officer) to over-ride the automated decision.

A policy model has been authored to determine whether an applicant has a Centre of Interest in Atlantis based on a number of criteria. A decision can also be based on answers provided by a Deciding Officer. A positive decision will impact an applicant’s ability to receive certain government related payment credits.

Discretion Rules

Rules to provide discretion have been modelled in Sections 1 and 3 as highlighted by the red boxes. If the applicant’s family members are not located in Atlantis, the Deciding Officer is provided with the option to over-ride the decision.

The Deciding Officer is also able to over-ride the overall decision at the end of the assessment using a similar procedure. If the system determines that the applicant’s Centre of Interest is not in Atlantis, then it is possible to over-ride this and add other factors which might be important to the determination.

It is possible to limit the ability to over-ride and use discretion on the rule decision to a limited number of end-users (i.e. Senior Deciding Officers). In this example however, all users are provided with this opportunity. Any reasons for granting discretion must be entered by the Deciding Officer during the assessment, and these are saved as part of the interview. The journey for the user commences with the Summary Screen, which provides an introduction and a link to start the assessment:

Personal details are entered on the next screen and then the user is presented with a series of questions based on the rules to determine the applicant’s Centre of Interest:

If the user answers ‘no’ to the question relating to the close family members, the policy model contains rules to allow for discretion at this point. The Deciding Officer is provided with an option to state whether other factors should be taken into account:

The Deciding Officer is required to enter other factors which they believe should be taken into account for this assessment in a free-text format:

The policy model checks the reasons have been entered, but does not investigate whether specific factors are relevant or valid. Rules can be created to allow the user to select from pre-defined lists of options prior to this to categorise the discretion more tightly. In this example the discretion is more open.The Summary Screen is displayed and the determination is presented:

Whilst the decision is positive for the applicant, the Deciding Officer is reminded that discretion has been applied. Selecting the ‘Why’ link displays the decision report, which shows the decision was made with discretion applied by the Deciding Officer:

A record of the reason for discretion is then stored within the session case file, that is then saved and stored in the host application.If the policy model determines that an applicant does not have a Centre of Interest in Atlantis, the rules will provide an option for the Deciding Officer to use discretion and over-ride this decision as well:

In summary, the ability to over-ride a policy model decision should be treated with care. In some circumstances, factors may impact a decision where it is not feasible to model them in rules.In all cases, allowing the policy model to automate the decision making process should be considered by default. This Blog is brought to you by Oracle Consulting Services. Further details about OPA enablement, coaching and mentoring services can be obtained by contacting the author.

Sunday Jan 19, 2014

Ten Minute Tutorial: XDS Logger Plugin for Determinations Server (JDeveloper)

Andrew Higginbottom | Policy Automation Technical Zealot

Welcome to another TMT. This time we will create a plugin for Oracle Determinations Server to log incoming SOAP requests in the Oracle Policy Automation XDS (eXplicit Data Set) format - not to be confused with XSD. You can take this and load it into the Oracle Policy Modeling debugger to track down issues with specific SOAP requests. DISCLAIMER: This might take you longer than 10 minutes, depending on how fast you can click and how fast your PC is!

Last time we used Eclipse but this time we will be using JDeveloper to build and test the plugin. Again there are some prerequisites:
  1. Oracle JDeveloper (I used
  2. Oracle Policy Automation Runtime Components for Java (I used v10.
  3. SoapUI (I used 4.6.4)

Once downloaded, install JDeveloper, extract the OPA Runtime Components to a convenient location and install SoapUI.

Now we begin. Start JDeveloper and accept the "Studio Developer (All Features)" role.

Select Application > New... from the main menu to create a new application workspace.
Give the application a name "ODSXDSPlugin"

Accept the default Project1 and Finish.

Having set up the Application, we now import the Determinations Server WAR file. File > Import... from the main menu, then select > WAR File. Call the project "determinations server".

At the next step Browse... to the location where you extracted the OPA Runtime and select /determinations-server/determinations-server.war.

Right-click determinations-server project, New..., General > Java Class.
Enter Name "XDSLogger", Package "com.opablog.aeh".

Add the "OnBeforeThinkEventHandler" interface. This event is fired for every request, after the request has been parsed into the session but before the rules are executed.

This time I've provided the code to copy and paste in, replacing the entire contents of the new file:

package com.opablog.aeh;

import org.apache.log4j.Logger;

public class XDSLogger implements OnBeforeThinkEventHandler {
    private Logger log = Logger.getLogger(this.getClass());
    public XDSLogger() {

    public void handleEvent(Object object, OnBeforeThinkEvent onBeforeThinkEvent) {
        try {
            StringWriter w = new StringWriter();
            SessionUtils.exportSession(onBeforeThinkEvent.getSession(), w);
        } catch (IOException e) {

    public AssessPlugin getInstance(AssessPluginRegisterArgs assessPluginRegisterArgs) {
        return this;

Edit Application Sources/config/ to configure ODS to load the plugin by updating the plugin.libraries parameter to "plugin.libraries=com.opablog.aeh.XDSLogger"

Edit Application Sources/log4j.xml to increase the logging level by setting <level value="DEBUG"/> under the <root> element. Don't do this in production!

Copy in the rulebase from the \examples\rulebases\compiled folder in your expanded OPA runtime location. Use Windows Explorer to copy the file into your JDeveloper project. For me the destination folder is located at C:\JDeveloper\mywork\ODSXDSPlugin\determinations-server\src\rulebases.

Now we can deploy the plugin to our local server.
Select Run > Start Server Instance (IntegratedWebLogicServer) from the main menu and enter credentials of your choice to use for server setup.

Wait for domain to build and server to start up. Once completed you should see "IntegratedWebLogicServer started." in the Log window.

Now we can deploy our Determinations Server with XDS logger plugin.

Right-click the determinations-server project and Deploy > "determinations-server...". Select "Deploy to Application Server", click Next, then IntegratedWebLogicServer, then Finish. Ignore any warnings logged during startup - they are only there because we turned the logging up to DEBUG.
In the deployment tab you should see that deployment has finished and you are given the URL in the Deployment - Log window.

Finally we can test our plugin by sending a request using SoapUI.
Open the URL in your favourite browser and you will see the familiar page listing the OPA services available. Grab the full URL to the specific Assess service WSDL.

Start SoapUI and select File > New SOAP Project from the main menu. Give the project a name and paste the WSDL URL for Initial WSDL. Make sure Create Requests is checked.

Open Request1 under the Assess node and paste the following minimal SOAP message to replace the default content:

<soapenv:Envelope xmlns:soapenv="" xmlns:typ="">

            <!--You may enter the following 6 items in any order-->
               <!--You have a CHOICE of the next 3 items at this level-->
            <typ:total_money outcome-style="decision-report"/>
               <typ:child id="1">
                  <typ:child_money outcome-style="value-only"/>
               <typ:child id="2">
                  <typ:child_money outcome-style="value-only"/>

Press "play" (the green arrow pointing to the right) to submit Request1. You should see a response that looks similar to the request, but with calculated values returned along with the inputs used.

In addition to processing the Assess request as normal, our new Determinations Server plugin has logged the inputs to the application log in the OPA XDS format.

You can now copy this XML into a text file and load it up in OPM to debug!

There are obvious improvements that could be made to this, such as logging each request to its own file, but I will leave those as an exercise for the reader. This is supposed to be a TMT after all!

Wednesday Jan 08, 2014

Building an Oracle Policy Automation Center of Excellence

Matthew Bickham | OPA Implementation Manager (Europe) & Center of Excellence Facilitator


We all know Oracle Policy Automation (OPA) enables business experts to be able to create sophisticated rulebase applications directly without the need to have a background or qualification in software development. The diagram below provides an overview of the steps that are normally conducted to build an OPA rulebase:  

Business rule authors are critical to every project and to wrap them into a structure, I always encourage customers to establish a Center of Excellence (CoE) where talent, skills, processes and disciplines are centrally governed within a business. Whilst business experts may not initially have the skills to build software, the CoE approach provides everything needed to grow capability and confidence in authoring rules and systems that significantly outweighs any nervousness that may have existed at the outset. This is very important because initially not all organizations are ready to take the leap of faith needed for business experts to play a more development role. For those that do, there are significant rewards. Just some quotes from our CoEs:

“OPA is the most innovative technology on our estate”

“OPA has paid for itself 7 times over and that is just with our first project!”

“OPA is a game changer. We would never have been able to achieve what we have done using any other method or technology”

OPA Projects

Any project is often born through a business need to build a system to meet a brand-new requirement. In terms of OPA this will mean that a project will include a requirement for a system to automatically make a complex decision on behalf of the organization using rules and building a customer experience friendly interview that will include assessment screens, smooth screen-flow, data validation, look-ups (of known data) and documented outputs of the rulebase determinations that are made.

Projects are normally resourced to meet the needs of the project and formed based on the availability of key people, timelines to deliver and scope of the project work. Given these variables, a lot is left to chance and luck. Rulebase resources may require initial training but there is a tension to deliver in an agile way and this needs the team to be properly trained, experienced and ready to start creating rulebase components from day one. Forming a brand new project team for every project is very difficult given issues with availability of key experts. A much better approach is to build a Center of Excellence that maintains skills and grows capability so that with every new project the team grows in strength.

The Benefits

An OPA CoE addresses start-up issues because every project is safely delivered within a structure that already has the capability and skills to deliver a project from the beginning. It will contain a pool of resources at various skills levels. Senior members of the team will evolve through experience and lead areas of work including rules architecture, test management, project management and technical architecture. The CoE is special in that it is business centric but includes IT team members who must connect and manage the integration between OPA and other systems. This enables the business authors to remain focused on delivering projects using their skills to the full.

So why is an OPA Center of Excellence any different to any other CoE? The key difference is that the CoE is business focused with more Subject Matter Experts involved more directly with building and testing rulebase components than ever before. This is not only limited to rule authoring. Those involved in testing utilize tools within OPA itself (regression tester, what-if analysis, test coverage reporting etc) to verify rules directly, safely navigating rules and components at a read-only level. Powerful test suites are developed by business experts directly into a rulebase and each key outcome is tested against manually created expected outcomes. The business expert has responsibility for this work and has proven to significantly reduce the time to develop and test solutions, not leaving all the testing effort until the end. In addition, our customers report that defect-free systems are commonplace with OPA after initial implementation because the experts in that area of the business were more intimately involved in the authoring and testing process throughout. Due to OPA’s unique natural language capability, rules are easily read and understood by testers and other members of the team and this is one of the key factors in its success.

Becoming an OPA CoE

There is a process to becoming an OPA CoE. Oracle has assisted many organizations build their structure and capability which establishes a robust model for the successful delivery of projects that utilizes OPA in the future. To start, a Center of Excellence requires management and governance to control, direct and prioritize the work that is conducted. For most, this is led by a business manager with skills to manage resources across projects and business areas. Next, there is organization and structure to the Center of Excellence. For the resource teams, training and a qualification in OPA is achieved to an advanced level to ensure that the team members are fully skilled to successfully deliver projects with the product. A skills matrix is formed and a detailed record is kept of the skills attained as the experience of each member of the team grows. A CoE will also want to be known within the business and a communication plan is created to inform internal and external stakeholders about its purpose and vision. Other criteria exist to achieve recognition and includes adherence to best practices design standards, rule authoring guidelines and the control of rules within a configuration management system.

For all OPA CoEs there is now access to an exclusive online Oracle work-group that allows for greater sharing of knowledge, promotes decision of OPA related topics and provides valuable information about forthcoming events.


The OPA CoE approach has provided many OPA customers with a valuable structure and focus that has truly maximized the use of the technology and has built a strong team around it. ‘Growing your own’ OPA capability is part of the whole ethos behind the application and true value has been achieved when our customers have taken this best practice approach.  

Please get in touch if you would like to find out more.

Monday Dec 09, 2013

Ten Minute Tutorial: Web Determinations Plugin (Java in Eclipse)

Andrew Higginbottom | Policy Automation Technical Zealot

Welcome to this TMT, today I will show you how to create a Web Determinations plugin. Plugins provide a mechanism to alter the default behavior throughout the Oracle Policy Automation web applications. You can use plugins to change the way pages and controls are rendered, the way sessions are loaded and saved, where rulebases are loaded from, and the way many other aspects of the applications work. Plugins are developed as Java or .NET classes and packaged and deployed as JARs or DLLs.

In this tutorial we will start from a completely empty workspace and have an event handler plugin up and running in under 10 minutes.

Before we get started there are two prerequisites to download:

  1. Eclipse IDE for Java EE Developers (I used Kepler SR1)
  2. Oracle Policy Automation runtime components for Java (I used v10.

Expand the downloads to a convenient location and launch eclipse.exe within the eclipse folder. Create a workspace folder (or accept the default) to hold the eclipse project files and continue to the eclipse IDE. Close the Welcome tab to see the normal eclipse view.

Now we are ready to import the out of the box Web Determinations application via the menu. File > Import, choose Web > WAR file.

On the next screen Browse... to the location where you expanded the OPA runtime download, and navigate to \web-determinations\web-determinations.war. Leave the rest of the field defaults and click Finish.

Once the project has finished importing we are ready to develop our plugin. The first step is to add our plugin class. Right-click the Java Resources > src folder then New > Class.

Enter your desired package name and class name (you will need these later) and use the Add... button to add the interface OnSessionCreatedEventHandler to the class definition. Click Finish to, well, finish.

Within the generated class we will make a few small changes to register the plugin correctly and print a message to System.out every time a session is created.

We need to change line 12 to "return this;" and on line 17 we use a basic println to write something to the output. Go on, type it, it's only one line - but please don't do this in production code!

Now we are finished with building the plugin, we just need to configure Web Determinations to load it. For development we edit the src/configuration/ file to specify the plugin's class name but you can also bundle your plugin into a JAR which will be loaded automatically from the plugins folder. Add the fully qualified name of your plugin class to the "plugin.libraries=" line:

We now copy a rulebase into the src/rulebases folder so we can actually start a session. When a single rulebase is present in the rulebases folder a new session will automatically be launched in that rulebase when the user hits the base URL. Copy in the rulebase from the \examples\rulebases\compiled folder in your expanded OPA runtime location. You can do this by copying from Windows Explorer and pasting via the context menu in eclipse.

Now we are ready to test our new plugin within a Web Deteminations session. We can Run the web-determinations project on the J2EE Preview Server provided in eclipse. Select the project root folder (web-determinations) and from the main menu use Run > Run, then Run on Server. On the next screen select Basic > J2EE Preview and click Finish.

Once the server starts up you should see the summary screen and in the Console window your message printed from the handleEvent method of your class!

This is a very simple example, intended to show how to set up a development environment and develop your first Web Determinations plugin. There a many more things you could do within this event, such as loading some reference data, creating entity instances and so on.

There are also many more event handlers you can implement and other types of plugins for changing the default Web Determinations behaviors, such as Data Adaptors, List Providers and Custom Screen/Control Providers. Check out the Extensions topic in the Oracle Policy Automation 10.4.4 Developer's Guide, starting from the Documentation page on OTN.

Check back soon for a Determinations Server plugin tutorial!

Thursday Oct 10, 2013

Can OPA be used to improve draft legislation?

Fiona Guy | Product Manager Oracle Policy Automation

Last week I had the pleasure of presenting at the UK Cross Government Business Rules Group meeting on whether technology generally, and Oracle Policy Automation specifically, can help improve draft policy and legislation. I thought it might be worthwhile to share some of those thoughts here.

1. Improving the Structure and Accuracy of the Draft Itself

Logical and Structural Coherence

The process of transforming natural language text into OPA’s constrained rule format involves understanding the logical structure of the material you are working with, identifying the conclusions and conditions of each rule, and how each of these link to other sections of the policy material. In doing so, the process naturally highlights any logical and structural errors and ambiguities which may not be immediately apparent to the reader. From my experience, even well written policy and legislation usually contains a logical error or ambiguity that requires clarification from a policy expert every 2-5 pages.

In the early days of modeling rules, we started keeping a list of errors we found, and ended up with ~30 common legislative errors uncovered by modeling legislation in this format. For example, if a section mixes and/or logic, links to another section that no longer exists, or contains a loop between sections, OPA will immediately identify this on modeling, and in many cases insist that the error be corrected before continuing.

Many people don’t realize that the structure and principles behind modeling rules in OPA were developed in consultation with a senior legislative drafter to help avoid many of these logical errors. It was important to the development team, that by allowing the rules to be modeled in a natural language format (Microsoft Word and Excel), we did not also encourage the rule modeler to create rules that failed to deliver clear and correct outcomes. In other words, the design of OPA’s constrained rule format is specifically aimed at identifying and avoiding logical and structural errors or uncertainty.

Policy Effect

Once rules have been modeled in OPA, there are a few techniques for identifying whether the draft policy or legislation achieves the desired policy outcome.

The OPA Debugger allows you to run through a single scenario to see which questions are asked, and how the outcome is determined for a single user. I’ve found that simply running through an OPA interview quickly identifies information that is poorly worded, unreasonable to collect from the target audience, or is simply too onerous as a whole. An OPA interview is also useful to assess whether the policy calculates the desired outcome for any given scenario. The decision report is automatically generated to show the reasons for the decision, so errors can be directly traced back to the exact section of draft policy or legislation.

The Coverage tools (version 10.x) allow you to check that your test cases execute every rule in the policy model. This is particularly useful for checking that every section of your policy or legislation has substantive effect. For example, I’ve seen draft legislation which categorized claimants in order to apply one of several formulas for calculating compensation, but one of the categories was worded so broadly that another category would never be applied.

The What-If Analysis (version 10.x) and Excel Testing (cloud) features allow the policy modeler to create a series of test cases to see the effect of the rules on various scenarios. The data is entered into Excel, and the values automatically calculated by OPA appear in Excel column(s), allowing the tester to use Excel’s charting, highlighting and sorting capabilities to identify and analyze the effect of the policy on a range of scenarios, including highlighting unusual outcomes/payments.

2. Improvement Through Internal Consultation/Review

While these techniques can provide some insight into the quality of the draft itself, they are limited in their ability to assess the overall policy impact on the draft’s target audience. The announcement earlier this year of Oracle In-Memory Policy Analytics, signals a significant leap in capability. The key difference here is twofold:

1 - The analysis applies to real-world data, so you can see the actual effect and budget outcomes of the draft policy. For example, you could identify that changes to a disability care scheme would cost the government an additional $1.1 million but disproportionally impact families in a particular region.

2 – The dashboard interface allows people unfamiliar with OPA to analyze and tweak the policy to compare policy options without changing the rules. Policy experts, management, committees etc within an organization could use the dashboard interface to produce charts comparing policy options using real data and real legislative rules, without installing or modeling in OPA themselves.

The experts within your own organization are often the key brains that identify when the policy is likely to go awry. I’ve demoed a prototype to a few organizations and the feedback I’ve received is that it has great potential to improve both the quality of review and speed of the internal review process itself.

3. Improvement Through Public Consultation

Numerous studies have looked at whether public consultation can contribute to the quality of draft legislation in a meaningful way. Some countries (eg Canada, UK, US, Australia and New Zealand) have actively involved citizen participation in reviewing draft policy and legislation, with varying success. With OPA, governments now have the option to quickly and accurately expose the legislation as an interactive questionnaire, allowing citizens or targeted interest groups to assess their own scenarios against the draft legislation and leave their comments on the outcome and experience. The average citizen may not have the time or inclination to read though dense legislation to determine how the changes will affect their circumstances, but I believe many would have the curiosity to answer a few questions to see how they are likely to be affected by a legislative change. An OPA interview can therefore serve to inform as well as elicit public feedback on the draft policy itself.

Final Thoughts

So can OPA help improve draft legislation? Absolutely. It’s not going to tell you that your draft is a masterpiece or award you a gold star for effort, it’s not even going to look for every error you could possibly introduce, but it is another tool in your armory for improving the policy and laws that govern determinations, and therefore to ultimately improve your overall customer experience.

Fiona Guy is an expert in advanced Oracle Policy Automation rule design and implementation topics. She has been working with the OPA product line for over 10 years, as a lead consultant and now a product manager in the OPA development team. She is also a non-practising lawyer and lectures in Legislative Drafting and Technology at the Australian National University.

Wednesday Sep 25, 2013

Using a Soft Enter to Make Calculation Rules More Readable

Jasmine Lee | Oracle Policy Automation Expert @ Oracle

As calculation rules get longer they become more difficult to read. Consider the two example rules below.

The rule below is short, has few inputs, and thus is very easy to read:

The rule below is longer, has far more inputs, and is a little more difficult to read:

You can make a long calculation rule easier to read by using a 'soft enter' (Shift+Enter). A 'regular enter', i.e. just hitting the enter key, inserts a hard enter which moves the remaining content to a new line and also indicates a new paragraph. This means that all formatting associated with a new paragraph will apply. From an OPM rule perspective it means the remaining content would become detached from the start of the rule, and the rule would be broken.

A soft enter moves the remaining content to a new line, but it does not indicate a new paragraph. This means you can make the rule appear like the example below, without the rule being broken.

In the example above, a soft enter was inserted between each item in the calculation, making it much easier to read. Below is a screenshot of the same rule with the formatting marks displayed. Notice that the only paragraph mark (  ) appears at the very end of the rule, whereas the other lines end in a soft enter (  ).


Welcome to the OPA blog where Oracle's Policy Automation experts share their views on everything OPA.


« June 2016