IBM Support

IBM Cúram Social Program Management 6.0.5.8

Release notes


Abstract

These are the release notes for IBM Cúram Social Program Management 6.0.5.8

Content

Introduction
Installing this release
Supported Hardware and Software
Improvements and Resolved Issues
Known Issues
Notices

Introduction

Welcome to this 6.0.5.8 release.

This is a cumulative release which incorporates the improvements and resolved issues contained in previous 6.0.5 fix pack releases. The release notes for the previous releases and the most up to date version of these release notes are available at http://www.ibm.com/support/docview.wss?uid=swg27037963.

You can download the latest version of IBM Cúram Upgrade Helper 6.0.5 from http://www-933.ibm.com/support/fixcentral/.

The IBM Cúram Upgrade Helper contains documentation and tooling to assist with upgrading your Cúram application codebase and database to work with a newer version of Cúram. The Cúram Upgrade Guide describes a recommended process for performing application and database upgrades. The Upgrade Helper contains tools to assist you with implementing the upgrade, including tooling to produce a schedule of required migrations for your upgrade, tooling to provide information about database schema changes and tooling to generate initial SQL scripts for applying changes to your database.

IBM Cúram Social Program Management in Knowledge Center

IBM Cúram Social Program Management 6.0.5.8 documentation is available in IBM Knowledge Center.



Installing this release

Pre-requisites
Pre-Installation Steps
Installation
Post-Installation Steps

Pre-requisites

Ensure that all installed third party software versions are consistent with those outlined in the Supported Hardware and Software section.

Pre-Installation Steps

Prior to running the installer please ensure all files in your Cúram installation are writable.

Please ensure that you also action the following pre-installation steps as necessary:

Pre-Installation Step for IBM Cúram Social Program Management Platform

This pre-installation step was introduced in IBM Cúram 6.0.5.2 and is required for all customers.

Prior to installing this release add the following entry to the <installation_dir>\installedComponents.xml file:

<component version="6.0.5.2" name="SpellChecker" packName="Spell Checker" />

<component version="6.0.5.2" name="IEGAdmin" packName="IEGAdmin" />

Pre-Installation Step for installations where Danish or Finnish are the intended locale

This pre-installation step was introduced in IBM Cúram 6.0.5.6 and is required by all customers who are applying the Fix Pack to installations where Danish or Finnish is the intended locale.

Prior to installing this release, please ensure that the following steps are completed:

1. Set the locale attribute of the installation element in the <installation_dir>\Installer\InstalledComponents.xml file. For example:

<installation locale="da" originalInstallerCategory="SPM">

2. Make the following changes to the <installation_dir>\SetEnvironment.sh file (or SetEnvironment.bat in the case of a Windows installation)

  • Add "da" or "fi" to the end of the SERVER_LOCALE_LIST environment variable
  • Change the LOCALE_LIST environment variable to be "da" or "fi"

3. Edit the <installation_dir>\EJBServer\project\properties\Bootstrap.properties file and set

  • curam.dmx.locale property to "da" or "fi",
  • curam.environment.default.dateformat property to "dd MM yyyy" for Danish or "d M y" for Finnish

Note - the locale for Danish and Finnish are as follows:

  • Danish - da
  • Finnish - fi

Pre-Installation Step for installations where Arabic is the intended locale

This pre-installation step is required by all customers who are applying the Fix Pack to installations where Arabic is the intended locale.

Prior to installing this release, please ensure that the following steps are completed:

  1. Set the locale attribute of the installation element in the <installation_dir>\Installer\InstalledComponents.xml file. For example:
    1. <installation locale="ar" originalInstallerCategory="SPM">
  2. Make the following changes to the <installation_dir>\SetEnvironment.sh file (or SetEnvironment.bat in the case of a Windows installation)
    1. Add "ar" to the end of the SERVER_LOCALE_LIST environment variable
    2. Change the LOCALE_LIST environment variable to be "ar"
  3. Edit the <installation_dir>\EJBServer\project\properties\Bootstrap.properties file and set the curam.dmx.locale property to "ar", the set curam.environment.default.dateformat property to "dd MM yyyy"

Installation

The installation steps are as follows:

  • Extract the contents of the zip file to a local drive location.
  • Run the Cúram installer, which can be found in the INSTALLER folder at that location.
  • After installing, the appropriate build targets must be run as necessary for your installation.

Post-Installation Steps

SUPER v VERSION_NOT_USED

POST-119 - Required for IBM Curam Income Support for Medical Assistance, IBM Curam Income Support: Addition of two client components

This step is required (since 6.0.5.5 iFix2) for all customers upgrading from a previous version that are licensed for IBM Cúram Income Support, IBM Curam Income Support for Medical Assistance.

Two new client components called FederalExchange and HCRCommon have been added and require the following configuration.

Update your Client Component Order to add the two new components. The entry must be made after the HCR component.

For example,

set CLIENT_COMPONENT_ORDER=...,HCR,FederalExchange,HCRCommon,...

Update %SERVER_DIR%\project\config\deployment_packaging.xml by adding the two new components after the HCR component for the Curam ear.

For example,

<ear name="Curam" requireServer="true">

<components>..,HCR,FederalExchange,HCRCommon,...</components>

...

</ear>

POST-123 - Required when IBM Curam Income Support is installed with IBM Curam Child Welfare and IBM Curam Child Care

This step is required (since 6.0.4.5) for all customers where IBM Cúram Income Support is installed with IBM Cúram Child Welfare and IBM Cúram Child Care.

The properties listed below should be added to the Application.prx file in the component which has highest precendence in the SERVER_COMPONENT_ORDER. For example, SERVER_DIR/components/<custom>/properties directory where <custom> is a directory created under components that conforms to the same directory structure as components/core.

     <property name="curam.case.product.registrars" dynamic="yes" constant="ENV_PRODUCT_REGISTRARS_LIST">
    <type>STRING</type>
  
<value>curam.sample.sl.fact.SampleSportingGrantEvidenceRegistrarFactory,curam.core.sl.infrastructure.fact.ParticipantEvidenceRegistrarFactory,curam.childcare.evidence.service.fact.ChildCareEvidenceRegistrarFactory,curam.evidence.service.fact.EVDEvidenceRegistrarFactory,curam.financial.impl.FinancialRegistrar,curam.evidence.sl.fact.EvidenceRegistrarFactory,curam.isproduct.sl.fact.ISPEvidenceRegistrarFactory,curam.cfss.ccs.adoptionsubsidy.sl.fact.AdoptionSubsidyEvidenceRegisterFactory</value>
    <default-value>curam.sample.sl.fact.SampleSportingGrantEvidenceRegistrarFactory,curam.core.sl.infrastructure.fact.ParticipantEvidenceRegistrarFactory,curam.childcare.evidence.service.fact.ChildCareEvidenceRegistrarFactory,curam.evidence.service.fact.EVDEvidenceRegistrarFactory,curam.financial.impl.FinancialRegistrar,curam.evidence.sl.fact.EvidenceRegistrarFactory,curam.isproduct.sl.fact.ISPEvidenceRegistrarFactory,curam.cfss.ccs.adoptionsubsidy.sl.fact.AdoptionSubsidyEvidenceRegisterFactory</default-value>
    <category>CASE</category>
    <locales>
      <locale language="en">
        <display-name>curam.case.product.registrars</display-name>
		<description>List of case product registrars.</description>
      </locale>
    </locales>
  </property>
  <property name="curam.case.evidencecomponenthook.registrars" dynamic="yes" constant="ENV_EVIDENCECOMPONENT_HOOK_REGISTRARS_LIST">
    <type>STRING</type>
    <value>curam.iveeligibility.sl.fact.IVEEligibilityEvidenceComponentHookRegistrarFactory,curam.isproduct.sl.fact.CGISSEvidenceComponentHookRegistrarFactory</value>
    <default-value>curam.iveeligibility.sl.fact.IVEEligibilityEvidenceComponentHookRegistrarFactory,curam.isproduct.sl.fact.CGISSEvidenceComponentHookRegistrarFactory</default-value>
    <category>CASE</category>
    <locales>
      <locale language="en">
        <display-name>curam.case.evidencecomponenthook.registrars</display-name>
        <description>List of evidence component hook registrars.</description>
      </locale>
    </locales>
  </property>
  <property name="curam.case.evidencecontrollerhook.registrars" dynamic="yes" constant="ENV_EVIDENCECONTROLLER_HOOK_REGISTRARS_LIST">
    <type>STRING</type>
    <value>curam.childcare.sl.fact.ProviderAdvanceEvidenceControllerHookFactory,curam.childcare.sl.fact.ChildCareEvidenceControllerHookFactory,curam.isproduct.sl.fact.ISPEvidenceControllerHookRegistrarFactory</value>
    <default-value>curam.childcare.sl.fact.ProviderAdvanceEvidenceControllerHookFactory,curam.childcare.sl.fact.ChildCareEvidenceControllerHookFactory,curam.isproduct.sl.fact.ISPEvidenceControllerHookRegistrarFactory</default-value>
    <category>CASE</category>
    <locales>
      <locale language="en">
        <display-name>curam.case.evidencecontrollerhook.registrars</display-name>
        <description>List of evidence controller hook registrars.</description>
      </locale>
    </locales>
  </property>

Where a database already exists, the build insertproperties target should be run to incorporate this step.

POST-124 - Post install step for IBM Cúram Income Support/IBM Cúram Income Support for Medical Assistance, IBM Cúram Child Care and IBM Cúram Child Welfare

Update Extension Handlers when IBM Cúram Income Support/IBM Cúram Income Support for Medical Assistance, IBM Cúram Child Care and IBM Cúram Child Welfare are installed in the same environment.

The properties listed below should be added to the Application.prx file in the component which has highest precendence in the SERVER_COMPONENT_ORDER. For example, SERVER_DIR/components/<custom>/properties directory where <custom> is a directory created under components that conforms to the same directory structure as components/core.
  <property name="curam.mappings.extension_handlers" dynamic="yes" constant="ENV_WORKSPACESERVICES_MAPPING_EXTENSION_HANDLERS">
    <type>STRING</type>
    <value>curam.childcare.sl.impl.PersonMappingExtension,curam.intakeconfig.extensionhandler.impl.ApplicationExtensionHandler,curam.intakeconfig.extensionhandler.impl.PersonExtensionHandler,curam.intakeconfig.extensionhandler.impl.AbsentParentExtensionHandler,curam.isproduct.intakeapplication.sl.impl.PersonMappingExtension,curam.isproduct.intakeapplication.sl.impl.HouseholdInformationMappingExtension,curam.isproduct.intakeapplication.sl.impl.FasterServicesMappingExtension,curam.isproduct.intakeapplication.sl.impl.SubmissionMappingExtension</value>
    <default-value>curam.intakeconfig.extensionhandler.impl.ApplicationExtensionHandler,curam.intakeconfig.extensionhandler.impl.PersonExtensionHandler,curam.intakeconfig.extensionhandler.impl.AbsentParentExtensionHandler,curam.isproduct.intakeapplication.sl.impl.PersonMappingExtension,curam.isproduct.intakeapplication.sl.impl.HouseholdInformationMappingExtension,curam.isproduct.intakeapplication.sl.impl.FasterServicesMappingExtension,curam.isproduct.intakeapplication.sl.impl.SubmissionMappingExtension</default-value>
<category>WSSVCS</category>
    <locales>
      <locale language="en">
        <display-name>Data mapping extension handlers</display-name>
        <description>List of data mapping extension handlers.</description>
      </locale>
    </locales>
  </property>

Where a database already exists, the build insertproperties target should be run to incorporate this step.

POST-59 - Required for IBM Cúram Income Support, IBM Cúram Income Support for Medical Assistance: Update the client component order and deployment packaging configuration.

This step is required (since 6.0.5.2) for all customers that are licensed for IBM Cúram Income Support, IBM Cúram Income Support for Medical Assistance

1. Remove the following components from the CLIENT_COMPONENT_ORDER

  • HCROnline
  • NavigatorSecure
  • NavigatorNonSecure

2. Update the <ear></ear> NavigatorS element in EJBServer\project\config\deployment_packaging.xml to include the HCROnline,CitizenWorkspace,IntelligentEvidenceGathering,Datastore components (in the order specified), and add a new custom-web-xml entry (as shown below).

 
<ear 
name="NavigatorS" 
requireHelp="false" 
requireServer="false" 
> 
<components>NavigatorSecure,HCROnline,CitizenWorkspace,IntelligentEvidenceGathering,Datastore,CPMExternalSecure,CEFWidgets</components> 
<context-root>/NavigatorS</context-root> 
<custom-web-xml>${SERVER_DIR}/components/CitizenWorkspace/ear/${dd.type}</custom-web-xml> 
</ear> 

POST-63 - Required for IBM Cúram Social Program Management Platform: Update the deployment packaging configuration.

This step is required (since 6.0.5.1) for all customers that are licensed for IBM Cúram Social Program Management Platform

Update EJBServer\project\config\deployment_packaging.xml to replace the following <ear> element

<ear 
name="CPMExternalNS" 
requireServer="false" 
> 
<components>CPMExternalNonSecure</components> 
<context-root>/CPMExternalNS</context-root> 
</ear> 

with

<ear 
name="CPMExternalNS" 
requireServer="false" 
> 
<components>CPMExternalNonSecure,CEFWidgets</components> 
<context-root>/CPMExternalNS</context-root> 
</ear>

POST-65 - Required for IBM Cúram Income Support for Medical Assistance: Replace CGISSEWAPPWorkspaceSection.sec

This step is required (since 6.0.5.1) for all customers that are licensed for IBM Cúram Income Support for Medical Assistance.

Replace EJBServer\components\ISProduct\tab\ApplicationViews\CGISSEWAPPWorkspaceSection.sec with the file provided in Readme\Additional Files.

Where a database already exists, the build inserttabconfiguration target should be run to incorporate this step.

POST-72 - Required for IBM Cúram Social Program Management Platform: Update client component order and deployment packaging configuration to add new IEGAdmin component.

This step is required (since 6.0.5.2) for all customers that are licensed for IBM Cúram Social Program Management Platform.

A new client component called IEGAdmin has been added and requires the following configuration.

  • Update the client component order environment variable to include a new component IEGAdmin directly after the IntelligentEvidenceGathering component.

For example,

set CLIENT_COMPONENT_ORDER=...,IntelligentEvidenceGathering,IEGAdmin,...

  • Update the EJBServer\project\config\deployment_packaging.xml to to include a new IEGAdmin component directly after the IntelligentEvidenceGathering component for the Curam ear element.

For example,

<ear name="Curam" requireServer="true">

<components>..,IntelligentEvidenceGathering,IEGAdmin,...</components>

...

</ear>

POST-88 - Required when IBM Cúram Income Support is installed with IBM Cúram Child Welfare and IBM Cúram Child Care

This step is required (since 6.0.5.3) for all customers where IBM Cúram Income Support is installed with IBM Cúram Child Welfare and IBM Cúram Child Care.

The properties listed below should be added to the Application.prx file in the component which has highest precendence in the SERVER_COMPONENT_ORDER. For example, SERVER_DIR/components/<custom>/properties directory where <custom> is a directory created under components that conforms to the same directory structure as components/core.

    <property name="curam.participant.createpdc" dynamic="yes" constant="ENV_PARTICIPANT_CREATEPDC">
    <type>STRING</type>
    <value>YES</value>
    <default-value>YES</default-value>
    <category>INF_MISC</category>
    <locales>
      <locale language="en">
        <display-name>curam.participant.createpdc</display-name>
        <description>Whether or not participant data case should be created on accessing participant data. 
                  This is to cater for demo data but is not intended for use in production environment, 
                  where concurrency issues might arise.</description>
      </locale>
    </locales>
  </property>
  
  <property name="curam.case.product.registrars" dynamic="yes" constant="ENV_PRODUCT_REGISTRARS_LIST">
    <type>STRING</type>
  
<value>curam.sample.sl.fact.SampleSportingGrantEvidenceRegistrarFactory,curam.core.sl.infrastructure.fact.ParticipantEvidenceRegistrarFactory,curam.childcare.evidence.service.fact.ChildCareEvidenceRegistrarFactory,curam.evidence.service.fact.EVDEvidenceRegistrarFactory,curam.financial.impl.FinancialRegistrar,curam.evidence.sl.fact.EvidenceRegistrarFactory,curam.isproduct.sl.fact.ISPEvidenceRegistrarFactory,curam.cfss.ccs.adoptionsubsidy.sl.fact.AdoptionSubsidyEvidenceRegisterFactory</value>
    <default-value>curam.sample.sl.fact.SampleSportingGrantEvidenceRegistrarFactory,curam.core.sl.infrastructure.fact.ParticipantEvidenceRegistrarFactory,curam.childcare.evidence.service.fact.ChildCareEvidenceRegistrarFactory,curam.evidence.service.fact.EVDEvidenceRegistrarFactory,curam.financial.impl.FinancialRegistrar,curam.evidence.sl.fact.EvidenceRegistrarFactory,curam.isproduct.sl.fact.ISPEvidenceRegistrarFactory,curam.cfss.ccs.adoptionsubsidy.sl.fact.AdoptionSubsidyEvidenceRegisterFactory</default-value>
    <category>CASE</category>
    <locales>
      <locale language="en">
        <display-name>curam.case.product.registrars</display-name>
		<description>List of case product registrars.</description>
      </locale>
    </locales>
  </property>
  <property name="curam.case.evidencecomponenthook.registrars" dynamic="yes" constant="ENV_EVIDENCECOMPONENT_HOOK_REGISTRARS_LIST">
    <type>STRING</type>
    <value>curam.iveeligibility.sl.fact.IVEEligibilityEvidenceComponentHookRegistrarFactory,curam.isproduct.sl.fact.CGISSEvidenceComponentHookRegistrarFactory</value>
    <default-value>curam.iveeligibility.sl.fact.IVEEligibilityEvidenceComponentHookRegistrarFactory,curam.isproduct.sl.fact.CGISSEvidenceComponentHookRegistrarFactory</default-value>
    <category>CASE</category>
    <locales>
      <locale language="en">
        <display-name>curam.case.evidencecomponenthook.registrars</display-name>
        <description>List of evidence component hook registrars.</description>
      </locale>
    </locales>
  </property>
    <property name="curam.case.evidencecontrollerhook.registrars" dynamic="yes" constant="ENV_EVIDENCECONTROLLER_HOOK_REGISTRARS_LIST">
    <type>STRING</type>
    <value>curam.childcare.sl.fact.ProviderAdvanceEvidenceControllerHookFactory,curam.childcare.sl.fact.ChildCareEvidenceControllerHookFactory,curam.isproduct.sl.fact.ISPEvidenceControllerHookRegistrarFactory</value>
    <default-value>curam.childcare.sl.fact.ProviderAdvanceEvidenceControllerHookFactory,curam.childcare.sl.fact.ChildCareEvidenceControllerHookFactory,curam.isproduct.sl.fact.ISPEvidenceControllerHookRegistrarFactory</default-value>
    <category>CASE</category>
    <locales>
      <locale language="en">
        <display-name>curam.case.evidencecontrollerhook.registrars</display-name>
        <description>List of evidence controller hook registrars.</description>
      </locale>
    </locales>
  </property>

Where a database already exists, the build insertproperties target should be run to incorporate this step.



Supported Hardware and Software

The Cúram Supported Prerequisites document outlines the supported prerequisites for this release.



Improvements and Resolved Issues

Support for the Arabic Language
Cúram Enterprise Framework
Cúram Modules
Solutions

Support for the Arabic Language

IBM Cúram Social Program Management 6.0.5.8 provides support for the Arabic language for the following components:

  • IBM Cúram Social Program Management Platform
  • IBM Cúram Provider Management
  • IBM Cúram Social Enterprise Collaboration
  • IBM Cúram Business Intelligence and Analytics
  • IBM Cúram Universal Access
  • IBM Cúram Appeals
  • IBM Cúram Outcome Management
  • IBM Cúram Life Event Management
  • IBM Cúram Evidence Broker
  • IBM Cúram Verification Engine

The following features provide support for the Arabic language:

  • User Interface Mirroring
    The reading direction of the Arabic language is right to left across a user interface or screen. When reading an Arabic user interface the reader's eye is drawn to the rightmost part of the screen for important information such as shortcuts, navigation or menu information. When the Arabic locale is in use the user interface is flipped to present elements on the right of the screen that in the English locale appear on the left.

  • Arabic Translations
    Arabic translations have been added for the components that are listed above.

The following product features are unchanged:

  • Numerals are presented in English numeric format
  • The Gregorian Calendar is used
  • GB, US, and Canadian address formats are supported

The following items are outside the scope of the support for the Arabic language

  • IBM Cúram components other than those listed above are not supported.
  • The CER editor, Dynamic Product editor, IEG Editor and Datastore Editor are not mirrored in the Cúram Administration suite. The XML artefacts can instead be edited using an appropriate XML editor.
  • The GSS Searchserver is not supported. The standard Cúram search mechanism is supported with the limitation that only exact text searching is supported for Arabic characters.
  • Service plans functionality is not translated into Arabic or enabled for Arabic. Service plans functionality is superseded by IBM Cúram Outcome Management, which is fully enabled and translated.
  • The Evidence Flow widget is used in the Cases tab of the internal Cúram application. The widget presents a graphical display of evidence raised against a case to date and includes a "Tile" view to show the list of active evidence per evidence type. This "Tile" is not mirrored in the user interface. This Tile presents a summary view and all data is available in the application.
  • Collation in Cúram 6.0.5.8 does not follow all variants of Hamza joined characters. Collation follows the literal character values.
  • The spellchecker included in the Rich Text Editor of the Cúram application does not include an Arabic dictionary. The dictionaries supported for spell checking are American English (en-US), Brazilian Portuguese (pt-BR), British English (en-GB), Candadian French (fr-CA), French (fr-FR), German (de-DE), Italian (it-IT) and Spanish (es-ES). If you are using Microsoft Internet Explorer 10 or Google Chrome (v35+) browsers, you can however avail of the embedded spell checking plugin in these browsers and the Arabic dictionary that can be installed from within the browser add-ons options. (In Internet Explorer 10, "Manage add-ons" - "Spelling Correction" - Show "All dictionaries" - Download and install; In Chrome, Settings - Languages and spellchecker settings - Add).
  • Documentation is not translated into the Arabic language.

Cúram Enterprise Framework

Integrated Case Management
Dynamic Evidence
Intake
Common Intake
Technical Services
Application Development Environment
Administration Suite

SPMP-14375 - The "* required field" string is not shown in any modals

The string "* required field", which is normally shown on all modal windows in the application to explain the purpose of the required asterisk symbol was not being displayed. This issue has been resolved.

SPMP-15079 - Render out-of-the-box charts in native BIRT format - Flex/Flash turned-off

All out-of-the-box BIRT charts were previously rendered using Flex/Flash. To better support right-to-left languages and mobile devices, charts are now rendered in native BIRT format as PNG images. If you have developed custom BIRT charts these will continue to be rendered in Flex.

PO03603, TEC-17199 - User subscribed to a work queue cannot add a task from that work queue to their My Tasks List

Previously, the users could not add the available tasks (e.g., assigned to the supervisor work queue) to their list even they were indirectly subscribed to that work queue (e.g. supervisor work queue) through either org unit, position or job. It was because the validations did not cover these indirect work queue subscription combinations. Now these missing validations are added and the users are allowed to add the available tasks to their list.

PO04073, TEC-17734 - Available Task Search is not working correctly for Assign To of the same type one of which exceeds the read multi max

Previously, when the users selected more than one assigned objects (e.g., User and Position) to search for the available tasks, it only returned the search result (e.g., 5) of the first assigned object if the scenario was as follows:

- the max displaying limit was set to a value (e.g., 10)

- the number of records returned (e.g, 5) by the first assigned was smaller than the limit

- the number of records returned (e.g, 12 ) by the first assigned was greater than the limit

Now the Available Task Search is working correctly if they select more than one assigned objects to search for the available tasks.

PO04416, TEC-18101 - Process Instance Errors search throwing an exception if failed process instance does not contain any associated activity instances

Previously, when certain workflow process instances failed at enactment, no activity instances were created. However, the process instance error search still tried to find the activity details even though none existed for some workflow instances. This resulted in an exception when performing a Process Instance Errors search. This has now been resolved by adding a check to the search to identify if an activity identifier exists or not. If the activity identifier does not exist, the search will display a "No Activity Instance Created" message.

TEC-18395 - Workflow task actions that contain parameter values with special characters do not open correctly in a modal

Previously if a user created a task that included a primary or secondary task action in which the page parameter of the action included certain special characters, the user would get an error when the action link was opened in the modal URL. This has now been resolved.

Integrated Case Management

Evidence Management
Participant Management
Eligibility & Entitlement
Common
Investigations
Case Audits

Evidence Management

SPMP-13980 - Case participant link on evidence details page is throwing exception.

Previously, clicking on a participant link on dynamic evidence caused an application error on some types of Integrated Case. This is now resolved.

SPMP-14283 - Evidence Dashboard Usability Improvements

The evidence dashboard has been enhanced to provide users with a more intuitive view on evidence and significantly save time adding new evidence. The following are a list of enhancements introduced:

Adding Evidence from the Dashboard

Users will be able to create evidence directly from the evidence type displayed within the dashboard. When a user rolls their mouse over an evidence type, they will see an icon which allows them to add the evidence in one click. Previously, users would have only had the option to add evidence from the dashboard using the 'Add Evidence' action menu item which could involve up to 6 additional clicks e.g. Select the action item, change the filter to display different evidence types, find the evidence type on the row, click on the row action menu item and then select to add. Being able to create a new evidence record with one click should reduce this sign

Show both recorded and not recorded evidence in one view

Users will be able to see which evidence types contain evidence records that have already been captured. Previously, all evidence type names were displayed as a hyperlink on the dashboard. This meant that if a user wanted to check if evidence was already held, they may decide to go to the list to get that information. However, if there were not records held, they would be taken to an empty list. The dashboard now provides this by only displaying a hyperlink on evidence types that have one or more evidence records held. If no evidence has been recorded for an evidence type, then the name of the type is not hyperlinked. Effectively, users will be able to see which evidence types are recorded and not recorded in the main dashboard view. Because of this, the 'Not Recorded' filter has been removed.

Evidences will now be listed in alphabetical order vertically rather than horizontally (note this will be based on the parent for the feature that shows the child evidence indentation).

Show evidence relationships for dynamic evidence

Dashboards containing dynamic evidence types will also visually present evidences so that users can see which evidence types are related. For example, dynamic evidences that have an associated child record will be displayed so that the child evidence type is grouped along with the parent (regardless of the category) – the child type will be indented to indicate this hierarchy.

_Note for Income Support customers: as this release contains this for dynamic only, this feature will only be seen on an Insurance Affordability Case. This feature will be available for static evidence in a later release so that caseworkers managing Income Support cases will also see the relationship hierarchy._

PO04311, SPMP-14515 - Evidence_workspaceTypeList slow response times

Previously, when viewing the list of recorded evidence using the evidence type list page, the page was experiencing page load time issues as volumes increased.

This performance issue has now been addressed.

SPMP-15098 - New event added to evidence activation to support pre processing requirements

Evidence Activation has been updated to raise a new event before processing the activation.

The interface for this new event is curam.core.sl.infrastructure.impl.EvidenceControllerInterface.EvidencePreActivationEvents

and it includes one operation

preActivation(EvidenceControllerInterface evidenceControllerInterface, CaseKey key, ApplyChangesEvidenceLists list)

In order to use this, customers must implement the interface and bind the interface to the custom implementation. This can be done in a Guice Module using a Multibinder as shown below:

// Get the listener set.

final Multibinder<EvidencePreActivationEvents> evidencePreActivationEvents =

Multibinder.newSetBinder(binder(), EvidencePreActivationEvents.class);

// Add a listener.

evidencePreActivationEvents.addBinding().to(

CustomEvidencePreActivationEvents.class);

Participant Management

SPMP-14607 - Provide address APIs to support customers implementing their own custom address formats

New Address APIs have been delivered which provide the ability for customers to implement their own custom address format.

These Address APIs allow customers to configure address format, implement validation for the fields, display custom address fields, and configure code table for the fields as per their requirement.

The following is the Address API provided to customize address:

- AddressFormat.java

- getTagArray()

- validateAddress()

- getShortFormat()

- getLongFormat()

- getAddressAsList

- parseFieldsToData()

- storeElements()

To use this API, create subclass of the above class and implement the methods. Assign the class to the address format using guice binding.

When a custom Address format is implemented, this may necessitate a change to out-of-the-box search pages which contain address lines as search parameters. Customers can update to use custom address lines by updating the UIM for the participants and implement the participant search facade.

The APIs provided to customize address search for participant types are:

- PersonSearchKeyValidator

- EmployerSearchKeyValidator

- EducationalInstituteSearchKeyValidator

- ExternalPartySearchKeyValidator

- InformationProviderSearchKeyValidator

- ProductProviderSearchKeyValidator

- ServiceSupplierSearchKeyValidator

- UtilitySearchKeyValidator

To use this API, create subclass of the above classes and implement methods

- validateSearchKey()

- validateAddressSearchKey()

Assign the classes to the participant type using guice binding

Eligibility & Entitlement

PO04683, SPMP-15008 - Add hookpoint for when a precedent change set is deferred to batch processing

A callback hook has been added to the dependency manager to allow the developer to detect when a precedent change set gets moved from deferred processing to batch. To utilise this hook the developer must add the following two customisations:

(1) Register their implementation of the interface in their Guice module.

(2) Provide the Java implementation of the interface to take an appropriate action. Eg: log the occurrence of the event, raise a notification for the user.

Since these implementations are not shipped OOTB they are listed as text below.

(1) register the custom implementation in the Guice module.

  public class Module extends AbstractModule {
    @Override
    protected void configure() {
      binder().bind(PrecedentChangeSetToBatchNotification.class).to(
        PrecedentChangeSetToBatchNotificationImpl.class);
    }
  }

(2) provide the Java implementation of the interface

import java.util.ArrayList;
import java.util.List;
import curam.core.fact.CaseHeaderFactory;
import curam.core.intf.CaseHeader;
import curam.core.sl.impl.NotificationWDOStruct;
import curam.core.sl.infrastructure.impl.TaskDefinitionIDConst;
import curam.core.struct.CaseHeaderDtls;
import curam.core.struct.CaseHeaderKey;
import curam.util.exception.AppException;
import curam.util.exception.InformationalException;
import curam.util.workflow.impl.EnactmentService;
/**
 * The following code sample illustrates how to implement the
 * PrecedentChangeSetToBatchNotification interface to respond to a deferred
 * process reassessment being pushed to batch. In this case a notification
 * is raised to the user describing what has happened. 
 * 
 */
public class PrecedentChangeSetToBatchNotificationImpl
implements PrecedentChangeSetToBatchNotification {
  /**
   * Raise a notification when a precedent change set gets deferred to batch.
   *
   * NB Do not allow this method to throw exceptions, as this would interfere
   * with the dependency processing.
   * 
   * @param status Indicates the status of this call to the hook. A value 0 
   * indicates that the deferral was due to the number of precedents being too
   * large to process in DP, value 1 indicates that an error occurred when
   *  processing the DP.  
   * @param instDataID The identifier for the DP instance data record.
   * @param precedentChangeSetID The identifier for the precedent change set.
   * @param dependentCount The number of dependents affected by the change set.
   * @param userID The user who caused the deferred process to be queued.
   * @param caseID Optional - the identifier of the case whose changes caused
   * the DP to be queued.
   * 
   * @throws AppException Do not throw this!!
   * @throws InformationalException Do not throw this!!
   */
  @Override
  public void deferredToBatch(final int status, final long instDataID, 
    final long precedentChangeSetID,
    final long dependentCount, String userID, long caseID)
    throws AppException, InformationalException {
    
    // The status parameter indicates why this change set was deferred to
    // batch. 0 means it had too many dependants, 1 means it encountered an
    // error during reassessment.
    final String deferralReason;
    if (status == 0) {
      deferralReason = "Too many dependants to reassess. ";
    } else {
      deferralReason = "An error occurred during online reassessment.";
    }
    
    // Construct a message indicating how many dependants were affected by
    // the change.
    final String dependantCountMessage = " Dependant count: " + dependentCount;
    try {
      final NotificationWDOStruct notificationStruct = new NotificationWDOStruct();
      notificationStruct.userName = userID;
      notificationStruct.caseID = caseID;
      
      if (0 != caseID) {
        final CaseHeader caseHeader = CaseHeaderFactory.newInstance();
        final CaseHeaderKey caseKey = new CaseHeaderKey();
        caseKey.caseID = caseID;
        final CaseHeaderDtls caseDtls = caseHeader.read(caseKey);
        notificationStruct.subject = "Case reassessment deferred to batch - "
          + caseDtls.caseReference;
        notificationStruct.body = "The reassessments resulting from your"
          + " recent edits to case "
          + caseDtls.caseReference + " will be performed by batch processing."
          + " Reason: " + deferralReason
          + dependantCountMessage;
      } else {
        notificationStruct.subject = "Case reassessment(s) deferred to batch";
        notificationStruct.body = "One or more cases affected by your recent" 
        	+ " edits will be reassessed by batch processing instead of online."
          + " Reason: " + deferralReason
          + dependantCountMessage;
      }
      final List<NotificationWDOStruct> enactmentStructs =
        new ArrayList<NotificationWDOStruct>();      
      enactmentStructs.add(notificationStruct);
      
      if (0 != caseID) {
        // Create a notification where the case is known.
        EnactmentService.startProcessInV3CompatibilityMode(
          TaskDefinitionIDConst.defaultCaseNotificationTaskDefinitionID,
          enactmentStructs);
      } else {
        // Create a notification where the case is not known.
        EnactmentService.startProcessInV3CompatibilityMode(
          TaskDefinitionIDConst.defaultnotificationTaskDefinitionID,
          enactmentStructs);
      }
    } catch (Exception e) {
      // We don't want to throw an exception from here as it would impact
      // dependency processing.
      e.printStackTrace();
    }
  }
}

SPMP-15009 - Configurable hook for processSkippedCases in batch processing

A callback hook has been added to the Dependency Manager batch program to allow the developer to capture (a) the IDs of the cases being reassessed by the batch program and (b) the IDs of any cases which were skipped by the batch program due to errors, along with information about these errors.

To utilise this hook the developer must add the following two customisations:

(1) Register their implementation of the interface in their Guice module.

(2) Provide the Java implementation of the interface to take an appropriate action.

Since these implementations are not shipped OOTB they are listed as text below.

(1) Register the custom implementation in the Guice module.

  public class Module extends AbstractModule {
    public void configure() {
      final MapBinder<String, BatchStream> batchStreamMapbinder = MapBinder.newMapBinder(binder(), String.class, BatchStream.class);  
      batchStreamMapbinder.addBinding(BATCHPROCESSNAME.PERFORMBATCHRECALCULATIONSFROMPRECEDENTCHANGESET).toInstance(new CustomSmarterDepsStream());
    }
  }

(2) Provide the Java implementation of the interface

Provide your implementation of interface curam.core.impl.BatchStream. This must implement three methods:

  /** Gets called for each case which gets processed by the stream. */
  processRecord(BatchProcessingID batchProcessingID, Object parameters) throws AppException, InformationalException;
  /** Gets called at the end of each chunk, passing in the list of skipped records. */
  processSkippedCases(BatchProcessingSkippedRecordList batchProcessingSkippedRecordList) throws AppException, InformationalException;
  /** Does not currently get called by the infrastructure. For possible future usage. */
  getChunkResult(int skippedCasesCount) throws AppException, InformationalException;

A sample implementation is shown below. Note that this is for illustrative purposes only.

import curam.core.impl.BatchStream;
import curam.core.struct.BatchProcessingID;
import curam.core.struct.BatchProcessingSkippedRecord;
import curam.core.struct.BatchProcessingSkippedRecordList;
import curam.util.exception.AppException;
import curam.util.exception.InformationalException;
public class CustomSmarterDepsStream implements BatchStream {
  /**
   * Gets called for each record processed by a batch stream.
   * The return value of this method is ignored by the caller.
   */
  @Override
  public BatchProcessingSkippedRecord processRecord(
    BatchProcessingID caseID, Object parameters)
    throws AppException, InformationalException {
    System.out.println(" BatchStream.processRecord "
      + caseID.recordID);
    return null;  // this return value is ignored by infrastructure.
  }
  /**
   * Gets called with a list of the case IDs of skipped records.
   * The return value of this method is ignored by the caller.
   */
  @Override
  public void processSkippedCases(
    final BatchProcessingSkippedRecordList idList)
    throws AppException, InformationalException {
    // Print out the list of skipped case IDs.
    System.out.println("# skipped cases: " + idList.dtls.size());
    for (int i = 0; i < idList.dtls.size(); i++) {
      BatchProcessingSkippedRecord rec = idList.dtls.get(i);
      System.out.println(" - " + rec.recordID);      
    }
    
  }
  /**
   * Present for compatability only - the infrastructure never calls this
   * method.
   */
  @Override
  public String getChunkResult(final int skippedCasesCount) throws AppException,
      InformationalException {
      return null;
  }
}

PO04264, SPMP-15016 - Automatically initialise converters map at first access

In some conditions it had been determined that the map of rule object converters could be accessed before it was fully initialised. This manifests as an Expressionsingleitem:ITEMS_NOT_FOUND_IN_LIST error.

The class which manages the mapping of rule object converters has been changed to detect whether the converters have been initialized before attempting to return a converter, and will force initialization if necessary.

PO04634, SPMP-15023 - Add caching to improve performance of the reassessment process

High level caches have been added to the reassessment process to improve its performance. These caches have been added to the functionality which processes the storage of the granular level results. It was found that for cases with a significant number of previous reassessments, the same database reads were being executed excessively due to the fact that the reassessment looks back over previous breakdown information to come up with the detail for the current statement view. The changes eliminate the need for this by caching the information instead. The caches are invalidated automatically when reassessment is complete.

Each of the new caches has two environment variables associated with it. These are:

'curam.cache.transaction-group.breakdownTxnCache.timeToIdle'

'curam.cache.transaction-group.breakdownInfoTxnCache.timeToIdle'

'curam.cache.transaction-group.previousNOUPIDCache.timeToIdle'

'curam.cache.transaction-group.noupTxnCache.timeToIdle'

'curam.cache.transaction-group.noupReassessmentInfoDtlsListTxnCache.timeToIdle'

'curam.cache.transaction-group.breakdownTxnCache.timeToLive'

'curam.cache.transaction-group.breakdownInfoTxnCache.timeToLive'

'curam.cache.transaction-group.previousNOUPIDCache.timeToLive'

'curam.cache.transaction-group.noupTxnCache.timeToLive'

'curam.cache.transaction-group.noupReassessmentInfoDtlsListTxnCache.timeToLive'

These new properties should be set via the System Administration Application. A value of 2000 can be set for each, but this can be tuned if necessary.

PO03748, SPMP-15024 - Error on viewing "Case Decision" event from a calendar

Previously, Case Decision events were not displayed correctly for the decisions generated from CER based rulesets. On selecting the Case Decision event from the calendar, the following error occurred "No RuleSet could be found for Product "2501". This issue is resolved now.

Common

PO03930, SPMP-15039 - Close CasesPending Closure batch process setting incorrect Reason Code

Previously when the Close Cases Pending Closure batch process was run, the cases were closed with an incorrect closure reason that was different from the one specified by the user. This issue is now resolved.

Investigations

SPMP-14797 - Generated pdf preview not displaying for some proforma communications

Previously, a user was unable to preview a proforma communication associated with a notification, action plan or contact log because the generated PDF file displayed an error that the file was corrupted.

This issue is now resolved.

Case Audits

PO03988, SPMP-14231 - Modal window opening new copy of itself when it should refresh in Case Audit page

Previously, a confirmation window appeared when an audit user tried to remove specific cases from an audit plan using the "Select Specific cases to audit" page. On the confirmation modal, on selecting the "Remove" option, a new modal window opened instead of refreshing the parent modal and the parent modal remained underneath. This issue is now resolved.

Dynamic Evidence

Evidence Maintenance
Evidence Validations

Evidence Maintenance

PO04613, CDP-1435 - Participants displayed in evidence view pages should be hyperlinks

Previously, participant name on a dynamic evidence was not a hyperlink. This is now resolved.

CDP-1455 - DynamicEvidenceRuleSet.addressRecord attribute should return null when empty rather than throw an error

Previously DynamicEvidenceRuleset base rule-set was throwing an error for addressCalculator attribute when there was no address available. This did not allow empty addresses in a timeline to be propagated. This rule attribute was updated to return null when there is no address available. As a result empty addresses are now allowed in timeline.

Evidence Validations

PO04774, CDP-1480 - Null pointer occurs on sharing dynamic evidence where identical comparison of the shared evidence spans different evidence type versions with different number of attributes

Dynamic evidence identical validation logic was failing on sharing evidence when the evidence being shared was of later evidence type version than the evidence already existing on the target case which prevented evidence from being shared. Dynamic evidence identical validation was updated to treat evidence instances as being different if they were created using different evidence type versions. This update has fixed evidence sharing issue.

Intake

PO04281, CIR-772 - Authorization fails when more than 300 characters are entered on the authorization comments field

The size of the Comments attribute of the AuthorizationDataLog entity has been increased. The domain definition of the Comments attribute of AuthorizationDataLog entity has been changed from COMMENTS to RICH_TEXT_COMMENTS. This allows a user to enter up to 1957 characters in the comments field.

CIR-808 - Evidence Activation Customization section added on Intake Developer guide

A new section has been added to the Intake developer guide for the evidence activation hook added to the authorization process on application cases. Previously, the application case authorization process only activated evidence which were configured for brokering to a target case, for example, an Application Case,an Integrated Case/Product Delivery or Outcome Plan. A hook has been provided so that evidence can be activated irrespective of whether it has been configured for brokering to a target case. The hook can be implemented by binding curam.commonintake.evidencebroker.impl.CIREvidenceActivationhooks interface which has getEvidenceTypesFromOtherSource() method.

Common Intake

PO03904, CI-4364 - Reset button not available on the Application Search page

Previously, 'Reset' button was missing on 'Application Search' page. This has been resolved now by providing 'Reset' button on the page.

PO04092, CI-4373 - Application Error occurs when trying to access sensitive note without high enough sensitivity

Previously, an application error occured when user accessed the Note page against a Person participant with higher sensitivity than user's sensitivity. This has been fixed by blocking the content to be displayed and displaying appropriate error message.

CI-4383 - Make the generation of the notification APPLICATIONREASSIGNMENTNOTIFICATION configurable OOTB

Previously, APPLICATIONREASSIGNMENTNOTIFICATION workflow triggers a notification to be created when a new application is (re)assigned to a case worker or workqueue. The notification is sent to each and every user subscribed to that WQ. This has been made configurable which is defaulted to 'YES'

CI-4399 - 'Add Verification Item' modal opens when we click on row level action item 'Add Proof'

Previously, clicking on row level action item 'Add Proof' from the Verifications menu, was opening a modal with heading as 'Add Verification Item'. This is now resolved.

PO03227, CI-4402 - Status is different across the CaseHeader and CaseStatus tables

Previously the CaseHeader and CaseStatus tables had different values for the Status attribute when an Income Support Case is closed automatically by the system. When transferring the application, the status code for that particular caseheader was set to "Closed" whereas the CaseStatus table had the status code as "Open". This issue has been resolved.

PO00868, CI-4403 - Check eligibility runs into infinite loop

Previously the in-progress widget would sometimes run continuously for a long period of time and prevent further check eligibility. On the server, the check eligibility execution was happening so fast that both the in-progress and completed status of creole program recommendation execution had the same time when stored in database. This was causing the in progress status to be fetched and thus causing the missing check eligibility link. This has been solved by removing the in-progress status when the completed status gets entered into the database.

PO01183, CI-4404 - The Advisor widget polls the server for updates periodically

The Advisor widget will poll the server periodically to determine if the Advice to be presented in the Advisor widget has changed. The frequency of polling is based on the system property curam.advisor.advicerefreshinterval, which specifies a millisecond value.

The number of times the Advisor will poll the server is limited by the system property, curam.advisor.advicepollingFrequency, which contains an integer number of times the Advisor should poll to determine if new advice is present.

Technical Services

Web Services

PO02456, TEC-18366 - Issue with DOWS processing in CuramWsXmlDocHandler class

The Curam webservices message receiver CuramWsXmlDocHandler was not honoring the schema defined by the WSDL when generating the response message. The CuramWsXmlDocHandler was generating the response message with the XML element defined for request in the schema in WSDL. This issue has been resolved.

Application Development Environment

Core Development Infrastructure
Server Development Environment
Client Development Environment

Core Development Infrastructure
Third Party Software
Miscellaneous

Third Party Software

TEC-18381 - Memory leak issues in IE9 (and IE8)

Previously, Internet Explorer could retain significant amounts of memory when closing tabs or unloading the modal dialogs or expandable list panels.

Changes have been made to better comply with the way memory is handled by the older Internet Explorer browser versions to avoid this issue.

Miscellaneous

TEC-18258 - Resolve oustanding issue for static content resources in IEG

Previously, when the static content server was enabled, resources that were being rendered within the Intelligent Evidence Gathering framework were being served from the application server, instead of the static content server.

This issue has been fixed so that JavaScript and CSS resources are correctly served from the static content server, when it has been enabled.

PO04628, TEC-18314 - Person tabs give no context on active tab

There was an issue in IEG with the person tabs where the screen reader was not reading out the context of which tab was currently active or inactive.

This issue has now been resolved and the screen reader reads out whether a tab is active or inactive.

Server Development Environment

PO02378, TEC-18367 - IllegalArgumentException error when instantiating PersonFactory

When method tracing was enabled, an IllegalArgumentException application error was displayed when instantiating PersonFactory. This now been resolved.

PO04370,TEC-18050 - When using foreign keys with DB2 for z/OS running the database target causes tables with foreign keys to go into check pending state

For DB2 for z/OS the SQL templates for applying foreign key constraints (when using property curam.db.zos.enableforeignkeys=true) caused tables to go into check pending state, causing the database target to fail and requiring intervention to resolve the check pending state.

The SQL templates have added the NOT ENFORCED clause to avoid this behavior and the database target will now run to completion successfully.

Client Development Environment

PO03865, TEC-17884 - JAWS reading Unlabelled buttons in the DropDownButton.html

Previously, JAWS would read off-screen INPUT fields in dropdown buttons. These fields should be ignored by JAWS.

This issue has now been resolved.

PO04394, TEC-18086 - Session timout modal now accessible to screen reader

Previously, the session timeout dialog was not readable by screen readers such as JAWS. The dialog has now been annotated, and the timeout countdown will be announced. However, depending on the user's JAWS speech rate configuration, the time announcements may lag slightly behind the actual counter.

PO04553, TEC-18240 - Focus does not automatically move to a new modal dialog

Previously, the focus did not automatically move to a new modal dialog if there was a form on it with no editable fields. This issue has been resolved.

PO03670, TEC-18260 - Prevent incorrect about:blank o3rpu parameter when working with modals

Previously, if a modal was opened from an actions menu item or a shortcuts panel of a newly opened tab before the tab content was fully loaded the message 'The page you have requested is not available' was displayed. This has been resolved.

PO04533, TEC-18261 - Word document fails to open due to COM API incompatibility

Previously, opening a Word document from the Word File Edit Widget could fail if there were certain applications running on a user's machine along with the browser.

This has been fixed so that a Word document opens irregardless of any other applications running on a user's machine.

PO04338, TEC-18262 - Changes to Word document intermittently not saved and "page expired" errors

Previously, when using the File Edit Widget to edit a Word document, saving it could potentially fail with a "page expired" error message or no message.

This issue has been resolved so that the user will be notified when their save operation cannot be accomplished because of another save operation that is still in progress.

PO03812, TEC-18263 - Performance issue when opening a Word document from Cúram, related to document fields

Previously the Word File Edit widget had a potential performance issue, whereby it could take the user a substantial period of time to open a Word document if it contained a significant number of template fields.

This issue has been fixed so that the impact of the number of fields in the document template has the minimum possible impact on opening a Word document from the Word File Edit widget.

PO04285, TEC-18264 - Word integration: sporadic Jacob Exception when opening a document

Previously, a Word document would sporadically fail to open from Cúram and the "Dispatch not hooked to windows memory" message would be displayed in the Java console.

This has now been resolved and documents open successfully.

TEC-18265 - Modal error handler can potentially cause closed modal dialogs to re-appear on screen

Previously, in certain rare scenarios it was possible that previously opened and closed application dialogs would re-appear on the screen all at once.

The application has been improved to protect against this situation.

PO02969, TEC-18267 - Setting "uploadMaximumSize" property of ApplicationConfiguration.properties results in a NullPointerException

Using the "uploadMaximumSize" property in ApplicationConfiguration.properties resulted in a NullPointerException when a file was uploaded which exceeded the configured maximum size. This has been resolved and the expected error message will be displayed.

PO03832, TEC-18269 - Update to the Renderer API to allow resource content to be served from static server

Previously, when the static content server was enabled, resources that were being rendered within the renderer framework were being served from the application server instead of the static content server. The includeScriptURIs() method within the renderer infrastructure has been updated to fix this issue.

TEC-18369 - Session timeout modal provided for the external application

A new feature has been introduced in external applications which warns a user when their current session is about to expire.

This feature can be configured in 2 ways:

  • Globally for all external applications at runtime by updating properties in the system admin application.
  • Per external application at runtime by updating the specific application configuration (*.app) XML file.

Global Configuration

  • Enabling the feature

The system administrator can enable the feature by creating a new property called curam.environment.enable.timeout.warning.modal in the system administration application. The value of this property should be set to a valid boolean value. It's value should be set to true to enable the property. The feature is disabled by default.

  • Enabling the global time period.

The system administrator can configure the period of time in seconds that a user has to respond to a timeout warning dialog before the the current session expires. This can be achieved by creating a new property called curam.environment.timeout.warning.modal.time in the system administration application. The value of this property should be set to a valid integer value. This value defaults to 120 seconds.

  • Enabling the global logout page associated with the Quit button

The system administrator can configure the global logout page identifier associated with the Quit button within the timeout warning dialog for all external applications by adding the curam.environment.timeout.warning.modal.logoutpage property. The type on the property should be set to a string value. The default logout page identifier is LogoutWrapper.

Please refer to the section on Configuring Application Properties in the Cúram System Configuration Guide for further information about adding new application properties.

Additionally it should be noted that the defaults for the size of the modal and text within the modal are configurable at build time. See the Build Time Defaults heading below for further details.

Specific Application Configuration

The timeout-warning element within the application configuration document configures this new feature for a specific external application.

The following attributes can be used to configure the size of the modal and text within this modal dialog. Each of these attributes are optional and in the case where an attribute is not specified the value will be taken from the build time defaults provided. See the Build Time Defaults heading below for further details on these.

  • title - This attribute is taken from associated properties file and is used to display the title on the timeout warning dialog.
  • user-message - This attribute is taken from associated properties file and is used to display the main user message to the user before the session expires.
  • quit-button - This attribute is taken from the associated properties file and is used to display the Quit modal button text to the user before the session expires.
  • continue-button - This attribute is taken from the associated properties file and is used to display the Continue modal button text to the user before the session expires.
  • width - This attribute configures the width of the modal in pixels
  • height - This attribute configures the height of the modal in pixels
  • timeout - This attribute configures the period of time in seconds that the user has to take action within the modal before the session expires. The countdown timer displayed within the modal will start at this value and countdown to *0:0* until the session times out.
<ac:timeout-warning title="timeout.title"
                    user-message="timeout.user-message"
                    continue-button="timeout.continue"
                    quit-button="timeout.logout"
                    timeout="300"
                    width="650"
                    height="300"/>
   <ac:timeout-warning/>
  • Enabling the specific logout page associated with the Quit button

In order to configure the logout associated with the Quit button within the dialog for a specific feature the logout attribute needs to be set to true on the logout banner menu item on the person banner menu.

The following example demonstrates this:

<ac:banner-menu type="person" title="person.title" page-id="somPageID">
  <ac:menu-item id="logout" title="menu.logout.title" text="menu.logout.text"    page-id="LogoutWrapper" logout="true"/>
</ac:banner-menu>

If there is no specific configuration for the logout page in the application configuration then the global configuration for the logout page is used instead.

Build Time Defaults

CDEJResources.properties

The following properties are configurable in the CDEJResources.properties file.

timeout.warning.modal.title=Timeout Warning
timeout.warning.modal.expired.title=Timeout
# New lines are supported in this property by using '\\n' as a delimiter to mark the end of # a line. There must be a character on each side of a '\\n' delimiter.
timeout.warning.modal.user.message=You will be logged out when the countdown reaches 0 seconds:\\nClick Continue to resume using the application or Quit to exit.\\n
timeout.warning.modal.continue.buton=Continue
timeout.warning.modal.quit.buton=Quit

ApplicationConfiguration.properties

The following defaults can be configured in the ApplicationConfiguration.properties file

# Width of modal in pixels
timeout.warning.modal.width=550
# Height of modal in pixels
timeout.warning.modal.height=180
# Configures the buffering period (in seconds) to allow a server more time to respond to client request over a slow network. 
timeout.warning.modal.appServer.buffering.period=20

TEC-18371 - New API for developing a locale picker

A renderer framework API has been added that generates a URL, which changes the session locale to a specified value and redirects the application to a resource once the locale is changed. API is outlined below.

public static String curam.util.client.render.RendererLocaleUtils.constructLocaleSetterPath(String locale, String resource, RendererContext context)

Returns a string representing a URL, that when called will change the session locale and redirect to a given resource.

Parameters:

  • locale - a well formed locale value, matching the form [a-zA-Z]{2}(_[a-zA-Z]{2})?, indicates what locale to switch the session to
  • resource - a string representing the URL of the resource to redirect to, after the locale has been updated. Because the entire URL is sent as a request parameter value, it is required that parameter values in the URL are individually URL encoded and in turn the entire URL is URL encoded
  • context - Renderer context

Returns:

  • A URL string that changes the session locale and redirects to a resource afterwards

Throws:

  • ClientException - if the locale is in the incorrect format or when the resource contains illegal characters
  • DataAccessException - if error occurs when retrieving user data
public static String curam.util.client.render.RendererLocaleUtils.constructLocaleSetterPath(String Locale, RendererContext context)

Returns a string representing a URL, that when called will change the session locale and redirect to the page that requested the URL, i.e. will be returned to the current page once the locale is changed.

Parameters:

  • locale - a well formed locale value, matching the form [a-zA-Z]{2}(_[a-zA-Z]{2})?, indicates what locale to switch the session to
  • context - Renderer context

Returns:

  • A URL string that changes the session locale and redirects the calling page

Throws:

  • ClientException - if the locale is in the incorrect format
  • DataAccessException - if error occurs when retrieving user data
public static String curam.util.client.render.RendererLocaleUtils.constructLocaleSetterPath(Locale Locale, String resource, RendererContext context)

An overloaded version of the method that accepts a java.util.Locale object instead of a locale string.

public static String curam.util.client.render.RendererLocaleUtils.constructLocaleSetterPath(Locale Locale, RendererContext context)

An overloaded version of the method that accepts a java.util.Locale object instead of a locale string.

TEC-18372 - New 'directLink' URL parameter provided to allow an external application page to be opened directly in the browser

The external application uses a single URL path (/Curam/application.do), that does not change as the user navigates the application. As such, users could only navigate to a particular page by first going to the application start page (i.e. the landing page), and then navigating to the desired page through the application. There was no way for users to directly access pages in the external application.

We have now added a new request parameter that can be passed to this URL, allowing you to specify which page you would like to open directly. The new parameter is called 'directLink'. When used, the specified page will open in the external application, and if the page is associated with a navigation bar item, the navigation bar will also be displayed, otherwise it will not be.

Links, that directly open up specific pages in the application, can now be created by setting the value of this parameter to the desired page name and optionally including any request parameters you wish to pass to the desired page.

Examples

To directly access a page named "UserHome", create a URL like this,

<SERVER>/Curam/application.do?directLink=UserHome

This causes the external application to load up the UserHome page.

To directly access a page named "MyScreenings" and pass it the parameters, "screeningID=101" and "username=joe", create a link like this,

<SERVER>/Curam/application.do?directLink=MyScreenings%3FscreeningID%3D101%26username%3Djoe

NOTE: The value of the "directLink" parameter should be URL encoded.

This would cause the external application to load up the MyScreenings page and pass parameter "screeningID=101".

Look & Feel

PO03635, TEC-18370 - Cluster lines are missing in Dynamic Evidence Create/modify and BO View pages

Previously, the styling for Cluster lines and Cluster titles were missing on Dynamic UIM pages. This issue has been resolved.

Administration Suite

GLS-1772 - Mistranslation of Arabic word for Thursday

Previously in an Arabic application, when creating or editing a user, the "Access Periods" section had a mistranslation of the word Thursday. Instead of Thursday, Tuesday was appearing twice. This issue has now been resolved.

Organization

SPMP-14589 - MaintainWorkingPattern.getNextWorkingDate logic not considering time aspect

Previously within MaintainWorkingPattern.getNextWorkingDate when calculating the next working date, the time aspect of the working pattern was not taken into consideration, a day was added regardless of the current time in comparison to the opening hours of the working pattern. This has been fixed so that the opening hours are now considered; if it is before or during opening hours on a working day assign to current date otherwise assign the date of the next working day.

PO03663, SPMP-15038 - Unable to assign position to a time slot on any date except date the location schedule was created

Previously, the validation that prevents a position from being assigned to a slot if the position has a start date later than the implied effective end date of the slot's location schedule was incorrectly applied across locations.

This issue has now been resolved.

Cúram Modules

Verification
Supervisor Workspace
Financial Management
Evidence Broker
Intelligent Evidence Gathering
Provider Management
Social Enterprise Collaboration
Universal Access

Verification

PO03970, VER-306 - Incorrect codetable reference for VERIFICATION_POSTPONED_ON domain definition

Previously, the codetable reference for 'verificationPostponedon' had an incorrect case on the VERIFICATION_POSTPONED_ON domain definition.

The issue has now been corrected with the lower case 'v' for the codetable reference in the domain definition VERIFICATION_POSTPONED_ON.

VER-355 - Provide ability to apply a single verification item to multiple evidence records

Previously a verification item was added individually to each evidence record. We now provide a feature where a verification item can be added and applied to more than one evidence record requiring verification. The evidence the verification item is applied to could either be within the context of one participant or across multiple participants on the case. This will reduce the steps for users to verify data, removing steps that are duplicated when entering the same verification item individually on separate evidence records.

For example if a client provides a birth certificate that can be used to verify their date of birth and citizenship, the user can enter the verification item once and apply it to both pieces of evidence on the case.

VER-357 - Enhanced Verification API to retrieve outstanding verification information for the evidence dashboard

Previously the API used to retrieve the verification status for evidence types on the evidence dashboard, was using a wide read which resulted in slow performance when a number of evidence records were present. A new read method was added to the Verification entity to retrieve the necessary data in a more efficient manner. In addition, a new method was added to the VerificationController interface, curam.core.sl.impl.VerificationInterface.listOutstandingVerificationAndEvidenceTypeForCase, to use this new entity operation.

The evidence dashboard uses this new interface method and therefore the performance issue is now resolved.

Administration

PO04316, VER-356 - Performance degrades within Verifications processing

Previously, performance within Verification functions degraded as volumes of evidence for verification increased. The performance issue was due to reading the Verification Configuration data several times during the course of a transaction at multiple levels in processing.

This is now corrected by implementing a caching strategy, wherein a Global cache that caches the Verification configuration data is available in place and ensures that for subsequent hits, the data is read from the cache.

Supervisor Workspace

PO04345, SPMP-14559 - Performance of the My Workqueues POD

Previously, the "My Work Queues" POD on the Supervisor Workspace home page was by default listing all work queues subscribed by the users and the organization objects under the remit of the Supervisor user. This was causing slow response times in certain usage particular where the depth of the organization structure was quite deep or otherwise there were a lot of workqueues to present.

In an earlier release a similar issue existed and was fixed for the My Workqueues list page in Supervisor Workspace. In this release we have applied the same change to this "My Workqueues" POD. Now, by default this POD lists the workqueues the supervisor is subscribed to, which removes the performance problems on this page.

Financial Management

PO01348, SPMP-8319 - Deduction appears twice on the payment correction case

Previously an active deduction was listed twice on the deductions listing on the payment correction cases.

This issue has been resolved and an active deduction only appears once in the list.

SPMP-14328 - Provide the ability to turn off the notification generation for a suspended payment

Previously, a notification was generated to the case owner by default, when a payment was suspended. A new application property has been introduced that can be used to optionally turn off this notification thereby allowing customers to decide if this notification is useful in their business process.

curam.workflow.genpaymentsuspendedticket' is the new application property introduced to turnoff the notification generation to the case owner for a suspended payment. By default, the system creates a notification to the case owner when the payment has been suspended.

Evidence Broker

PO04266, SPMP-14470 - Incorrect error message on Incoming evidence list following deletion of evidence sharing configuration

Previously, an error message was displayed on the Incoming Evidence page when an evidence sharing configuration record was deleted for an evidence type after a piece of evidence of that type was shared to the Incoming Evidence list of the target case. This resulted in the following type of error message "Multiple identical sharing configurations for evidence of type '<Evidence Type>' exist. Please contact your system administrator." and the incoming evidence list was no longer accessible. This issue is now resolved and the shared evidence is visible in the Incoming evidence list even when the sharing configuration is deleted.

PO04605, SPMP-14965 - Unsupported case types for evidence sharing filling the log files with exception messages

The case types supported for evidence sharing out-of-the-box are Integrated Case, Product Delivery, Liability and Participant Data Case. To support evidence sharing for these, each case type has a binding with an implementation of Evidence Broker Sharing Strategy and based on the case type involved, a look is performed on a map to pick the corresponding implementation. For any other case type, not supported for evidence sharing, no binding exists and when the look up happens on the map, there is no implementation found. Previously we were throwing an exception saying that there was no implementation found for the case type. Now, instead we have delivered an empty implementation, which does nothing, therefore the look-up now returns this dummy implementation rather than a not found exception.

SPMP-15018 - Sharing to multiple cases, the failure to automate the shared evidence on one target case should not impact the automation of that shared evidence on other target case(s)

Previously, when sharing evidence to multiple target cases, failure to automate the evidence on one target case resulted in the automation failing on all target cases the evidence was being shared to.

This meant that the evidence was shared to the Incoming/In-Edit evidence list page on all target cases and required manual intervention by users to progress.

To reduce the level of manual intervention required, this error handling has been enhanced. Now, when one of the automation (activation or acceptance) steps fails and it falls back to the previous evidence sharing stage, we retry that automation step again on a per target case basis so that it can succeed on the relevant target case(s) and only fail on the target case(s) containing the problem.

This is only relevant for the automation steps post sharing (auto-accept and auto-activate). If the evidence sharing stage itself fails, there are no new retries on a per target case basis.

Administration

PO04368, SPMP-14612 - Duplicate entries on Evidence Broker configuration page

Previously, when configuring evidence sharing in admin, duplicate entries were listed for source and target case types. This issue has been resolved.

Intelligent Evidence Gathering

PO03984, TEC-17672 - Hover help text not always working in IEG External styling list question

There was an issue in IEG when trying to click a help icon on a list question. The user had to click slightly above the image in order to launch the help dialog.

The issue has now been fixed and clicking directly on the help icon will launch the help dialog.

PO04531,TEC-18255 - Date formats defined in the application configuration properties file not picked up by IEG

An issue existed in IEG whereby date formats entered in the custom ApplicationConfiguration.properties file were not being picked up by the IEG application when running in External Mode. This was causing the date format to be set to the default format for the user's specific locale.

This behavior did not match that of the rest of the Cúram application.

This issue has now been resolved and date formats set in the ApplicationConfiguration.properties are correctly read by the IEG Application.

For more information on setting date formatting properties in the ApplicationConfiguration.properties please see the following documentation:

https://www-01.ibm.com/support/knowledgecenter/SS8S5A_6.0.5/com.ibm.curam.content.doc/WebClientReference/r_WEBCREF_Development1ConfiguringApplication1.html?lang=en

TEC-18256 - IEG Script Cache - scripts being incorrectly removed from the cache when a script is saved

When an IEG script is saved, the associated IEG Script Definition cache is invalidated to ensure that the new version of that script is loaded from the database. In a deployed application, this invalidation occurs in an asynchronous process.

In some scenarios (i.e. when the cache is being invalidated and loaded as a result of new internal identifiers being generated and added to the script), the call to invalidate the cache could in fact cause the newly added script in the cache to be removed and the script to be read from the database again each time the script is accessed. This defect was due to the place in the logic where the call to invalidate the cache was being made. This has now been resolved.

Provider Management

Financials
Miscellaneous

Financials

PO04522, CPM-2348 - Storage limit on the CaseDecision.tagValues field being exceeded in CPM financials when a large number of service line items are recorded

Previously, when a large number of service invoice line items were created, an exception was encountered when the tag information associated with a case decision was too large to fit in the 'tagValues' field. This issue is resolved now.

Now, a 'token' is written to the 'tagValues' field that indicates to financial processing that it must source the tag information from the case decision objective tags directly.

Miscellaneous

PO03883, CPM-2337 - Duplicate records in AddressElement related demo data

Previously, there were duplicate entries present in the AddressElement table due to incorrect data in the ADDRESSELEMENT.DMX demo data file.

This data has now been corrected.

CPM-2341 - Encoding issues in the Provider Management Guide in the Knowledge Center

The following pages in the Knowledge Center had encoding issues

  • Roster Line Items,
  • Manual Roster Generation, and
  • Entering Attendance.

The encoding issues have been corrected in the pages listed above.

Social Enterprise Collaboration

Social Enterprise Folder

SEC-706 - Middle initial name and age are not appearing for Attachments

Previously, the middle name and age was not displayed in the dropdown list on the New Attachment page.

This has now has been fixed.

Universal Access

GUM-6016 - Citizen Workspace external login page support enabled for SSO integration

The purpose of this feature is to support the integration of Universal Access with Enterprise Single Sign On systems. The typical flow is that when a user attempts to access a protected resource they are re-directed to an Enterprise-wide single sign on page where they can sign up or sign in. The existence of the Enterprise single sign on page obviates the need for a login page within Universal Access and so, when the appropriate configuration properties are set Universal Access will, instead of loading its own login page, re-direct the user to a post login identified as CitizenAccount_startProcess.

The CitizenAccount_startProcess page is designed to continue whatever process the user was currently engaged in prior to requesting the login. The re-direction occurs at the level of the browser top window (as opposed to within any iframes in the page content). The format of the URL for the re-direction is:

Developers integrating with the Single Sign On system should ensure that this URL pattern is protected so that the Enterprise Single Sign on screen is

returned when the client's browser requests this URL. Prior to re-direction the http session is terminated and the system requests expiry/removal by the

browser of a configurable set of cookies. This facilitates switching to a new user when an Enterprise authentication system is in use.

Some items of note:

  • All parameters for the page are encoded.
  • Out of the box two parameters are transmitted:
    • A 'lang' parameter whose value is the language code of the current user. This can be used by integrators to ensure that the Enterprise login page is rendered in the correct language for the current user.
    • A 'token' parameter. The purpose of this token is to allow for the safe transfer of personal data entered earlier in the session as an anonymous user to the account that the user just logged into.

Configuration

  1. Set the application property curam.citizenworkspace.use.external.login.page to true.
  2. Set the application property curam.citizenworkspace.cookies.to.remove.for.external.login to a comma separated list of Cookies that should be removed prior to re-direct. For example adding the "LtpaToken2" to this list will ensure that WebSphere sessions that use this token are terminated.

GUM-3443 - Triage, Screening and Application links on the home page not reading from enable properties in system administration

Previously, the links to Triage, Screening and Applications on the Universal Access default home page were not enabled/disabled based on the following sysadmin properties: curam.citizenworkspace.screening.enabled, curam.citizenworkspace.intake.enabled. These properties now enable/disable the links.

GUM-3661 - Links on summary page are not in the correct tabbing order

Previously, the tabbing order (when using the tab key) on the motivation results page was from the "Hide" link to "Help Me Decide" to "Submit Application" which resulted in accessibility issues. This ordering has now been corrected and is as follows: "Submit Application" button to "Help Me Decide" link to "Hide" link.

GUM-4909 - Expose OnlineProgramGroup APIs

Previously, OnlineProgramGroup functionality was not exposed to external users resulting in custom methods having to be written to attain the same functionality. These APIs are now exposed and can be used for customization.

GUM-5066 - Missing Index in LifeEvent table

Previously, an index was missing for the LifeEvent table. An index has now been added to the "RelatedPerson" column.

GUM-5303 - Expose script execution API

Previously, the script execution was not exposed and as a result customers were unable to add customizations based on it's execution. A public API has now been provided for a script execution.

GUM-5521 - Citizen Workspace VIM references Citizen Account constant

Previously the External.App.Context client constant was defined in webclient\components\CitizenAccount\Application\My Applications\Constants.properties. This created an unwanted dependency from CitizenWorkspace to CitizenAccount.

To resolve this dependency Constants.properties has been moved to webclient\components\CitizenWorkspace\Application\Applications.

GUM-5555 - Support for iterative screening

Universal Access now supports iterative screening. Previously, on completion of a screening in the portal, a citizen could either exit or proceed to the intake application flow from the Screening Results page. There was no way for users to return to the screening from the Screening Results page, change programs and/or the information entered in the IEG script, and rescreen based on the new information. Iterative screening allows citizens to change the programs they selected and/or their IEG information from the Screening Results page and My Screenings list page and rescreen to see how the new information affects their eligibility result.

For example, after completing a screening for SNAP and Cash Assistance, a citizen might want to add the Medical Assistance program to the screening, and run the screening again to check eligibility for Medical Assistance. Alternatively, a citizen might want to change the information that was entered in the IEG script (not change programs) and re-run the screening based on the new information.

Rescreening Allowed Configuration

A new configuration setting named Rescreening Allowed has been added to the screening type pages in the administration application. This setting enables rescreening for the screening type. The Rescreening Allowed setting works with the Program Selection setting (also available on the screening type).

If the Rescreening Allowed setting is enabled, on completion of the screening in Universal Access, a link is displayed on both the Screening Results page and the My Screenings page available for logged in users. Depending on how the screening is configured, this link allows the citizen to change the programs selected when the screening was initiated and/or modify the information entered in the IEG script.

Link Text Displayed on the Screening Results page

The link text that is displayed on the Screening Results page is conditional. For more information, see below:

  • You can change the information you have entered and rescreen by clicking here.

The above text is displayed if the Rescreening Allowed configuration setting is set to true and there is one program associated with the screening. When selected, the 'here' link returns the citizen to the last IEG Summary page from where they can modify the IEG information if required.

  • You can change the programs, or information you recorded and rescreen by clicking here.

The above text is displayed if both the Rescreening Allowed configuration setting and the Program Selection configuration setting are set to true and there are multiple programs associated on the screening. When selected, the 'here' link returns the citizen to the Program Selection page. From this page, the citizen can change programs if required. On clicking Next on the Program selection page, the citizen is returned to the last IEG Summary page from where they can modify the IEG information.

Changes to My Screenings list page

To support this enhancement, the following changes have been made to the My Screenings list page available for logged in users:

  • The My Screenings page has been enhanced to include a new cluster named Completed Screenings. Previously, only an In Progress Screenings cluster existed on this page. The In Progress Screenings cluster listed both completed screenings and screenings that were saved by a citizen. To allow for better separation between saved screenings, completed screenings and actions that can be performed for both, saved screenings are now listed in the In Progress cluster where they can be resumed by the citizen as per the previous behavior. Completed screenings are now listed in the Completed Screenings cluster.
  • A new link named Rescreen is conditionally displayed for a completed screening listed in the Completed Screenings cluster. The Rescreen link is displayed if the Rescreening Allowed configuration setting is enabled for the screening type in administration. This link allows citizens to change their programs and/or information entered in IEG and rescreen for eligibility if required. If the Rescreening Allowed setting is not enabled for the screening type, this link is not displayed.
  • A new link named View Results is displayed for each completed screening that is listed in the Completed Screenings cluster. When selected, this link returns the citizen to the Screening Results page from which further follow on actions applicable to the screening can be performed such as Print PDF, Apply Online if eligible as per existing system behavior.

PO02992, GUM-5733 - Enable localized error messages to be displayed on Application Double Submission

Previously, when a user submitted an application in a locale other than English, then clicked back to resubmit the application, an English error message (not the correct locale) "The application you are trying to submit has already been submitted" is displayed instead of the appropriate localized message. This has now been fixed.

GUM-5755 - API for accessing CitizenScriptExecution by ID and Last Updated date

Previously, the last written attribute of the citizenScriptExecution was not exposed and as a result customers were not able to use it's value in customization. An API getScriptExecutionLastUpdated() has now been provided to allow customers access to this information.

PO04483, GUM-5808 - Calculation of filing date does not take the time of day that the application was submitted into account

Working Patterns are used to maintain the details about an organizations working days, dates and times and is used in the calculation of the filing date of an application. Previously, when an application was submitted outside of working hours as defined by the working pattern, the filing date was calculated using getNextWorkingDate by adding one day onto the current date regardless of the time of day the application was submitted. For example, if the application was submitted at 08:00, and the agencies working hours were 09:00 - 17:00, the filing date was still being set to the current date +1 instead of the current date. This has now been resolved and the time of day that the application was submitted is now considered. In the example above, the filing date is now correctly set to the current date.

GUM-5892 - Screening Results page does not transition to the Screening Next Steps page

Previously in IE8, the Screening Results page was not transitioning correctly to the Screening Next Steps page. The user was being incorrectly transitioned to an old version of the Universal Access landing page. This issue has now been fixed.

PO04530, GUM-5959 - External application banner does not provide the user name to the screen reader

Previously, the title of the welcome message in the external application banner read "undefined" which meant that it could not be read by a screen reader. The title of the welcome message has now been updated to reflect the welcome message text so that it can now be read by a screen reader.

PO04622, GUM-5968 - Exit, Print and Back buttons act as Next buttons in IE8

Previously, in the IE8 browser, when a user selected the buttons to Exit, Back or Print, the same behavior as the 'Next' action was occurring. This issue is now resolved so that the Exit button will navigate back to the landing page, the Back button will navigate back to the previous page and the Print will navigate to the print page.

PO04691, GUM-5992 - Expiring anonymous logins when landing page is requested

In the Universal Access portal, anonymous screening sessions were not expiring when the user returned to the landing page. This resulted in a security issue. This issue has been resolved and the application will invalidate the anonymous sessions making it impossible to retrieve anonymously entered data.

GUM-6013 - Event to allow custom change of ownership behaviour when transitioning from anonymous to logged in user

The following new Event API was added. It provides an opportunity to transfer entities created during the anonymous portion of the session to the ownership of the logged in account.

@AccessLevel(AccessLevelType.EXTERNAL)
@Implementable
public abstract class ChangeOwnershipEvents {
  /**
   * An ownership change is in progress. This happens when an anonymous user
   * provides login credentials, this event provides an opportunity to transfer
   * entities created during the anonymous portion of the session to the
   * ownership of the logged in account. At this point in the processing, it is
   * now safe to transfer the information from the anonymous account to the
   * associated logged in account.
   * 
   * @param anonymousUsername
   *          anonymous user account. Information associated with this account
   *          can be safely transferred to the logged in user.
   * @param loggedInUser
   *          the logged in user. Information can be safely transferred to this
   *          account.
   */
  public abstract void changeOwnership(final String anonymousUsername,
      final String loggedInUser);
}

GUM-6014 - Remove ProgramTypeDAO access restriction

The ProgramTypeDAO previously had an Internal Access restriction. This has been corrected to allow External Access to match the ProgramType facade.

GUM-6015 - Provide hook for inserting SOAP headers for the ProcessApplication web service

The following new event API was added. It facilitates the addition of a header to a SOAP message for the ProcessApplication web service.

abstract class ReceiveIntakeApplicationEvents {
  void preSendApplication(final IntakeApplication intakeApplication, final String systemName, final ServiceClient serviceClient);
}

Solutions

Income Support
Child Welfare
Child Welfare SDM

Income Support

PO00454, CS-12136, CGISS-5586 - Display Rules - FA Expenses are not being displayed within decisions.

Previously, on the Food Assistance determination display, the message "The household has no expenses." was incorrectly displayed when there were expenses. This issue is now resolved. The medical and shelter expenses are displayed with the right Allowable/Not Allowable values.

CGISS-7404 - Incorrect Gross and Net Income Limits for Food Assistance have wrong household size

Previously, when determining the eligibility for the Food Assistance program, the ineligible members were also being counted in the Gross and Net Income household size. This issue is now resolved by excluding the ineligible member from the household size.

PO03848, CGISS-7590 - ISIntakeConfiguration APPRESOURCE contains duplicate entries

Previously, the four entries mentioned below were duplicated in the APPRESOURCE.dmx file. These duplicates have been removed:

InternalApplication_submission_V1_Sub

InternalApplication_submission_V1_Sub_ElectronicSignature

InternalApplication_submission_V1_Sub_InterviewTimes

InternalApplication_submission_V1_Sub_SubmissionSections

PO04343,PO04651, CGISS-7637 - Slow load of Product Delivery Case Context Panel

Previously, the API listOutstandingIntegratedCaseVerificationDetails of curam.verification.sl.infrastructure.intf.Verification was used to retrieve the list of outstanding verification records. Using this API, the count was calculated in double against the actual which impacted load time of the context panel. This issue is now resolved by updating the implementation to use the new API getOutstandingVerificationCountForCase from the same class.

CGISS-7737 - ABAWD - extra split at check eligibility date when application date in the past

Previously, when the ABAWD configuration was turned on, there was an issue where incorrect ineligibility determinations were done for parts of months:

When a member transitions from non-ABAWD to ABAWD or ABAWD to non-ABAWD, the member should be considered non-ABAWD for the entire month. The member was found ineligible for the ABAWD portion of the month and then eligibility (and countable months) started the first of the following month.

When a member works for part of a month and does not reach 80 hours and does not have 3 countable months already, the member should get a countable month for that month. Instead the member was found ineligible for the rest of the month after the work ends and the countable months started the next month.

These issues are now resolved.

CGISS-7787 - Display rules show Additional months incorrectly when the unit is ineligible due to over income

Previously, for an applicant that was eligible for Additional Months, the determination was displayed incorrectly when a change in income resulted in ineligibility. The Additional Months were still being displayed. This issue is now resolved.

CGISS-7800 - Apply Curam styling to Income Support reports

All out-of-the-box BIRT charts were previously rendered using Flex/Flash. To better support right-to-left languages and mobile devices, charts are now rendered in native BIRT format as PNG images. If you have developed custom BIRT charts these will continue to be rendered in Flex.

CGISS-7841 - Food Assistance ABAWD Time Limits Summary Screen Display Issues

The Food Assistance ABAWD Time Limit Summary Screen provides the caseworker with a single summary of ABAWD information at a member level. There were the following display issues on this screen:

  • The ABAWD's clock period should display the 36 month clock period dates; instead it displayed a 60 month period.
  • For the out of state countable months, the state name in which those months were received was not displayed.
  • The values on the screen display after application authorization were cleared when the Integrated Case evidences were in edit.
  • The ABAWD countable months were listed twice for the same time period. This issue was seen when an additional application was added for an ABAWD who applies after previously having been eligible.

These issues are now resolved.

CGISS-7845 - Food Assistance ABAWD regain eligibility decisions incorrect in specific instances

For Food Assistance ABAWD, the decisions were incorrect for the below scenarios:

  • When there was more than one ABAWD member in a household, the eligibility regain determination was incorrect.
  • When there is a regain that occurred through information from a new application, there were issues with the regain date and the eligibility begin date.

These issues are now resolved.

CGISS-7851 - For Food Assistance ABAWD display rules does not show Regain eligibility end date

Previously there was an issue on the Food Assistance ABAWD display rules. These display rules are on the Household tab. When the ABAWD member has regained employment then is no longer meeting work requirements, the member is then eligible for the three additional months of benefits; however, in this situation, the end date for the regain employment period was not displayed.

This issue had been resolved. If the Three Additional Months start then the end date of the regain employment period is displayed.

CGISS-7862 - Missing index in MEMBERGROUP table - SIMDETERMAUTHORIZATIONID

Previously the SIMDETERMAUTHORIZATIONID column on the MEMBERGROUP table did not have an index. An index is now added and named as MEMGRPSMATIDINDX.

CGISS-7863 - Missing indexes in BENEFITGROUP table

Previously, indices were missing for the CASEID and CONCERNROLEID columns in the BENEFITGROUP table. Two separate indices have now been added and are named as BENGRPCASEIDINDX and BENGRPCNRLIDINDX.

PO03194, CGISS-7934 - There are over 500 database warnings on cgiss

Previously, there were over 500 database warnings created due to rate table related data manage files (dmx) as the row entries were not in the correct order. This has been resolved.

CGISS-7938 - When ABAWD is off no need for extra decision splits

Previously, there was an extra split in eligibility decision for a three month period even when ABAWD was turned off. This has been resolved so that there is no unnecessary split in eligibility decision when ABAWD is turned off.

CGISS-7992 - Additional months are getting reversed when unit fails over the Income limit at later date after 3 Additional months were determined.

Previously, ABAWD three Additional Months were getting reversed when the unit fails for over the income limit after three additional months were determined. This has been resolved and additional months are not getting reversed once started but a member can lose eligibility for the duration of additional months.

CGISS-8003 - Food Assistance Time Limits for the New Member Added is shown Blank and the same details are updated on the Primary client Time Limit Custer

Previously, when a new member was added to an existing integrated case which had a member with countable months, the countable month details for the new member was not displayed on the Time Limit page of the member. Also, the countable month details for the new member was displayed incorrectly on the Time Limit page of the primary client. This has been resolved so that the countable months are correctly displayed for both the members in their respective Food Assistance Time Limit pages.

CGISS-8006 - There is an Unhandled Server Exception shown on the Time Limits when the Meal Group Evidence is not added on the IC case

Previously, Food Assistance Time Limit page for a new member added to an existing integrated case was displaying unhandled server exception error message when Meal Group Member evidence was not added for that member. This error was occurring only when ABAWD was enabled. This has been resolved.

PO03626, CGISS-8014 - "404 Not Found" issue occurs when user closes the "Review Eligibility Result" after authorizing the application

Previously a "404 Not Found" message was displayed when a user closed the "Review Eligibility Result" modal dialog after authorizing or declining the application. The null link for the close button was due to the absence of a tag in the corresponding pages and also the navigation link to the application list page.

This issue has been resolved. The missing tag was added along with the link for the application list page in the "Review Eligibility Result" modal dialog.

PO03756, CGISS-8017 - Contributor Total Amount validation issue on a change of Contributor evidence

Previously, there was an issue with the validation displayed when an existing contributor record was effective dated and another contributor record was added. The current validation was considering the legacy contributor record only while calculating the new contributor amount and tallying against the Shelter Expense amount. This has been resolved. The validation was modified to check both the legacy contributor and the new contributor records separately to have less than or the same as the Shelter Expense amount.

PO02484, CGISS-8018 - Exception in OOTB code when curam.trace.methods is enabled

Previously, after setting curam.trace.methods property to true, a user received an error when trying to create 'Contributor' evidence record. This is because of wrong casting logic during the validation.

This has been fixed by updating the casting logic.

PO02731, CGISS-8019 - Household relationship evidence using different codetables causing warning message

Previously, when a user viewed the Household Relationship evidence in the Evidence dashboard or the Evidence Broker, the information presented was misleading due to the wrong association being set when creating the reciprocal household relationship record.

This has been resolved to set the correct association when creating the reciprocal household relationship record.

Previously, a warning message was displayed when the user modified a Household Relationship evidence record start date. This occurred because the end date was set incorrectly while modifying the start date.

This issue has also been corrected.

PO02728, CGISS-8020 - Error when a removed household member is added to the case

Previously, when a househould member who had been removed from a case was added back onto the case, the household member evidence caused a validation error to be displayed. Also, at the same time the household relationship evidence start date was changed to the application date instead of being set to the start date as was added via the evidence workspace. This issue has been corrected.

PO03261, CGISS-8021 - Household relationship start and end dates are not updated

Previously, the household relationship evidence was not properly evaluated during eligibility checks. This is resolved. Now, the household relationship period is determined as expected.

PO03163, CGISS-8023 - After removing a prospect member from the application, the system does not "Resolve prospect applicants" in the Income Support Application To Do List

Previously when submitting an application for multiple prospect persons on the Income Support application home page, prospect persons did not show a check mark for the To Do List item "Resolve propect applicants". This occurred even when all the members present in the Clients tab were registered or the prospect persons were removed. This issue has been resolved. The check mark now appears next to "Resolve prospect applicants".

PO03245, CGISS-8024 - Extension evidence with year 2014 or later cannot be edited

Previously, Extension evidence with a year of 2014 or later could not be edited. This has been resolved. A change has been made to support an additional code table value that corrects this limitation. The code table for YearCodeRange has been extended to 2020.

CGISS-8025 - Ineligible decision for Cash Assistance when Unborn Child evidence exists

Previously for Cash Assistance, there was an ineligible decision until the pregnancy end date when there was a single pregnant woman (who is not a minor parent). This was due to Unborn Child evidence being counted incorrectly while determining the Federal Time Limit.

This has been resolved by not counting the unborn child record during the Federal Time Limit determination.

PO03586, CGISS-8026 - Evidence - business asset and ownership evidences cannot be deleted

Previously it was not possible to delete/discard business asset and the related ownership evidence. This has been resolved and both can now be discarded. The ownership evidence must be deleted prior to deleting the business ownership evidence.

PO03626, CGISS-8028 - "404 Not Found" issue occurs when user closes the "Review Eligibility Result" after authorizing the application

Previously a "404 Not Found" message was displayed when a user closed the "Review Eligibility Result" modal dialog after authorizing or declining the application. The null link for the close button was due to the absence of a tag in the corresponding pages and also the navigation link to the application list page.

This issue has been resolved. The missing tag was added along with the link for the application list page in the "Review Eligibility Result" modal dialog.

PO03756, CGISS-8029 - Contributor Total Amount validation issue on a change of evidence

Previously there was a validation issue when an existing Contributor record was effective dated and another Contributor record was added. The current validation was considering the legay Contributor record while calculating the new contributor amount and tallying against the Shelter Expense amount.

This has been resolved. The validation in the ValidatorContributor.java class was modified to check both the legacy contributor and the new Contributor records separately to have less than or the same as the Shelter Expense amount.

PO03994, CGISS-8030 - Slow load of IC context panel

Previously, there was a performance issue in loading the context panel of the integrated case. This was because all the evidences were being checked to find the number of outstanding verifications.

This has been resolved by introducing a new verification API to just retrieve the total number of outstanding verifications.

PO04343, CGISS-8034 - Issue with loading Person Data Case homepage context panel

Previously, there was an issue in loading the context panel of the PD case. This issue occurred because evidences were checked to determine the number of outstanding verifications.

This has been improved by retrieving the data in a more efficient manner, so that only the total count of outstanding verifications is retrieved. The number of SQL executions has been reduced.

PO04343, CGISS-8035 - Repeated calls to the method 'MaintainConcernRoleRelationships'

Previously, there was an issue with the call to 'MaintainConcernRoleRelationships'. The call was made repeatedly with the same 'headofhouseholdConcernRoleKey' being passed each time.

This has now been improved by making just one call and persisting the results for checking against all household members. The number of SQL executions has been reduced.

Medical Assistance

CGISS-7672 - Enhance the unassign expenses functionality to allow selection of multiple items

Previously, it was not possible for the user to select and unassign multiple expenses for a spend down period. Though there is functionality available to unassign all expenses, the capability for the user to select specific expenses to unassign was not available. The unassign expense functionality is now enhanced to allow the user to select multiple expenses to remove from a spend down period.

PO04145, HCR-3746 - HCR Rules - Static method reads the database for address logic

The Static function 'curam.hcrcase.creole.statics.impl.Statics.isInCurrentState' contains a database call for address information to determine if the address is in the current state location however retrieval of address records should be retrieved via CREOLE rules and has been addressed as follows:

  • The function 'curam.hcrcase.creole.statics.impl.Statics.isInCurrentState' has been deprecated.
  • The function 'curam.hcrcase.creole.statics.implStatics.isInSpecifiedState' has been added taking the parameter addressData that is used to compare its address state value against the 'EnvVars.ENV_US_STATE_LOCATION' environmental variable to determine if the states are equal.
  • The rule set attributes ' VerificationDeterminator.isESStateAndResidenceStateVerified and ' VerificationDeterminator.needToVerify' has been updated to call the new static function 'isInSpecifiedState' and to use the address data populated by CREOLE rules. The changes have been added to the rule set located in 'EJBServer/components/HCR/CREOLE_Rule_Sets/ResidencyVerificationByStateRuleSet'
  • The rule set attributes ' ResidencyVerificationByStateDeterminator' has been updated to call the new static function 'isInSpecifiedState' and to use the address data populated by CREOLE rules. The changes have been added to the rule set located in 'EJBServer/components/HCR/CREOLE_Rule_Sets/ResidencyVerificationByStateRuleSet'
  • The rule set attribute 'related_address' has been added to the class 'Address' in 'EJBServer/components/HCR/CREOLE_Rule_Sets/AddressVerDataRuleSet'
  • The rules attributes 'ResidencyCalculator.addressOfPrimarySameAsConfiguredState', ResidencyCalculator.isTemporaryAbsenceTimeline and 'ResidencyCalculator.addressOfTheIndividualSameAsConfiguredState' has been updated to call the new static function 'isInSpecifiedState' and to use the address data populated by CREOLE rules. The changes have been added to the rule set located in EJBServer/components/HCR/CREOLE_Rule_Sets/NonFinancialRuleSet.xml

HCR-4159 - Web service call (getEssentialHealthcareBenefitPremium) in HealthCareReformEligibilityRuleset

In the HCR citizen portal scripts there was a possible performance risk caused where the eligibility and entitlement rules are called.

The eligibility and entitlement rules were calling out to a static method that invoked a web service and the risk was that if the

response from the web service took seconds to respond it would seriously affect the performance of the portal.

It was decided to remove this static call out from the rules and calculate essentialHealthBenefitPremium through rules alone.

This was achieved by adding a new entity IAUnit to the datastore which was in turn used in the rules to calculate the essentialHealthBenefitPremium

attribute. The IAUnit is created by an a new IEG custom callout at the end of the IEG Portal scripts. This custom call now invokes the webservice

to get the essentialHealthBenefitPremium amount and populates it on the datastore.

As the new custom callout happens at the end of the script the web service is sure to be called only once.

PO02810 PO02907, HCR-4166 - Eligibility start date is wrong for new member added to household

Previously when a new member was added to an existing PD, the eligible units were not aligned with the eligibility determination. This issue has been fixed by creating a new attribute adverseActionEligibleUnits in the PD eligibility rules which align the eligible units with the eligiblity determination. Also for determining the correct eligible units for the extended period, new attribute isEligibleUnitsExtendedPeriod that determines the extended period members based on realignment of the eligible units. This new attribute isEligibleUnitsExtendedPeriod is then referred in the display rules of the PD.

HCR-4221 - Manage duplicate evidences on the AC to avoid the information being discarded when brokered over to the IC

Previously if two or more income records were entered with exactly the same information in the application script, only one income record was being brokered over to the Integrated Case, the other ones were discarded as duplicate evidence.

Income evidence was updated to include hidden unique auto generated attribute. This update has resolved evidence brokering issue.

HCR-5410 - Account Transfer - County code mapping is missing

Previously, no county code was provided in the Account Transfer outbound payload.

Now a strategy mechanism (hook point) has been provided, and a standard strategy has been implemented (_CountyCodeRetrievalStrategy_).

The standard strategy retrieves a county code from a couple (state,county) using data stored in a '.properties' file that is specified by the environment variable {{ENV_HCR_ACCOUNT_TRANSFER_OUTBOUND_COUNTYCODE_MAPPING_SOURCE}}.

The default '.properties' file is _ATCountyCodeMapping.properties_ .

In order to use the standard strategy, the '.properties' file must follow this pattern:

<state>.<county>=<county code>

e.g.

{{UT.USCT1=001}}

{{UT.USCT2=002}}

{{NC.USCT1=003}}

The _county code_ and the _county name_ fields have been added to the outbound payload, and the 'county' attribute of Address entity in the CoC datastore has been populated form the Address evidence.

HCR-6566 - Evidence updates to be added to support the removal of a member

Previously, to remove a case participant from the Insurance Affordability application case and integrated case, the user had to end date the application details, member relationship, tax filing status, and tax relationship evidences. As a result of this enhancement, a case participant is now removed from an Insurance Affordability application and integrated Case by updating the application details evidence with an End Date and End Reason. When end dating the application details for a case participant, the following processing will now occur:

  • Once the user applies the evidence change to end date the application details for a case participant, the system will automatically end date the member relationship, tax filing status, and tax relationship evidence that is associated with the removed participant.
  • If the removed participant is married and filing taxes jointly, the tax filing status record for the associated spouse is updated to uncheck the married filing jointly indicator effective the day after the participant is removed from the household.
  • The case participant role for the removed case participant is end dated with the same date as on the application details evidence.

PO04355, HCR-7995 - spouseID is not populated on the datastore of the unassisted flow impacting the relationship type set in retrieveDemographicsAndEligibilityDetails

The custom function 'UpdateSpouseInformation' to set the clients 'spouseID' was not called in the unassisted flow script (HealthCareQuickShopping.xml)and this resulted in the relationship type being recorded incorrectly within the webservice retrieveDemographicsAndEligibilityDetails .

This issue has been resolved an the HealthCareQuickShopping.xml script has been updated with a call to the custom function 'UpdateSpouseInformation' where the spouse information is now set correctly

PO04453, HCR-8011 - HCR is storing off stored attribute values when executing Program Group Logic

HCR Program Group Logic is responsible for storing the dependencies associated with its execution. These dependencies will trigger further executions of program group logic if items inside that dependency set change.

Previously, Program Group Logic was storing rule attribute values and their corresponding dependencies (i.e. dependencies with a type of STORED_AV) for the HCRProgramGroup rule class. This resulted in unnecessary storage and maintenance of these attributes and dependencies. This has now been resolved.

Related items: The following items are related to this item: HCR-8026, HCR-8080

Additional Notes

Customers may now wish to identify and clean up the redundant STORED_AV dependencies on their databases. The SQL below is the SQL used by PD to identify, back up and delete these records. It is expected that these SQL statements will affect a very large number of records on a database, and will also affect several indexes. Therefore, these SQL statements should not be executed without first consulting with a DBA or other professional with knowledge of the local environment/database.

In order to ensure that the correct dependencies are present in the system for the future, it is recommended that customers execute full reassessments on HCR cases at an appropriate juncture.

SQL Snippets

The SQL below is the SQL used by PD to identify, back up and delete these records. It is expected that these SQL statements will affect a very large number of records on a database, and will also affect several indexes. Therefore, these SQL statements should not be executed without first consulting with a DBA or other professional with knowledge of the local environment/database.

{noformat}

-- Example SQL which will identify the number of rows on the CreoleRuleAttributeValue database table that could potentially be deleted

select count(*)

from creoleruleattributevalue cav, creoleattributeavailability caa , creoleruleclass crc

where

cav.creoleattributeavailabilityid=caa.creoleattributeavailabilityid and

caa.creoleruleclassid = crc.creoleruleclassid and

crc.name='HCRProgramGroup';

-- Example SQL which will identify the number of rows on the Dependency database table that could potentially be deleted

select count(*)

from dependency d, creoleruleattributevalue cav, creoleattributeavailability caa , creoleruleclass crc

where

d.dependentid=cav.creoleruleattributevalueid and

d.dependentType = 'STORED_AV' and

cav.creoleattributeavailabilityid=caa.creoleattributeavailabilityid and

caa.creoleruleclassid = crc.creoleruleclassid and

crc.name='HCRProgramGroup';

-- Example SQL which will backup of all the previously identified data in the CreoleRuleAttributeValue table.

create table creoleruleattributevalue_bak as

select *

from creoleruleattributevalue

where creoleruleattributevalueid in (

select creoleruleattributevalueid

from creoleruleattributevalue cav, creoleattributeavailability caa , creoleruleclass crc

where

cav.creoleattributeavailabilityid=caa.creoleattributeavailabilityid and

caa.creoleruleclassid = crc.creoleruleclassid and

crc.name='HCRProgramGroup');

-- Example SQL which will backup of all the previously identified data in the Dependency table.

create table dependency_bak as

select *

from dependency

WHERE dependentType = 'STORED_AV'

and dependencyid in (

select dependencyid

from dependency d, creoleruleattributevalue cav, creoleattributeavailability caa , creoleruleclass crc

where

d.dependentid=cav.creoleruleattributevalueid and

cav.creoleattributeavailabilityid=caa.creoleattributeavailabilityid and

caa.creoleruleclassid = crc.creoleruleclassid and

crc.name='HCRProgramGroup');

-- Example SQL which will delete all of the previously identified data in the CreoleRuleAttributeValue database table.

delete from creoleruleattributevalue

where creoleruleattributevalueid in (

select creoleruleattributevalueid

from creoleruleattributevalue cav, creoleattributeavailability caa , creoleruleclass crc

where

cav.creoleattributeavailabilityid=caa.creoleattributeavailabilityid and

caa.creoleruleclassid = crc.creoleruleclassid and

crc.name='HCRProgramGroup');

-- Example SQL which will delete all of the previously identified data in the Dependency database table.

delete from dependency

WHERE dependentType = 'STORED_AV'

and dependencyid in (

select dependencyid

from dependency d, creoleruleattributevalue cav, creoleattributeavailability caa , creoleruleclass crc

where

d.dependentid=cav.creoleruleattributevalueid and

cav.creoleattributeavailabilityid=caa.creoleattributeavailabilityid and

caa.creoleruleclassid = crc.creoleruleclassid and

crc.name='HCRProgramGroup');

{noformat}

PO04454, HCR-8026 - HCR Program Group Logic is not storing off all precedents for executions of HCRProgramGroupRuleSet

HCR Program Group Logic is responsible for storing the dependencies associated with its execution. These dependencies will trigger further executions of program group logic if items inside that dependency set change.

Previously, Program Group Logic was not storing the precedents associated with the HCR Program Group Rule Set. This meant that, in some cases, further executions of Program Group Logic were not triggered by the Dependency Manager in the event of the HCR Program Group Rule Set being changed. This has now been resolved.

Related items: The following items are related to this item: HCR-8011, HCR-8080

Additional Notes

In order to ensure that the correct dependencies are present in the system for the future, it is recommended that customers execute full reassessments on HCR cases at an appropriate juncture.

HCR-8080 - HCR Program Group Logic is not storing off precedents correctly

HCR Program Group Logic is responsible for storing the dependencies associated with its execution. These dependencies will trigger further executions of program group logic if items inside that dependency set change.

Previously, Program Group Logic was not storing all of the precedents for all of the Product Deliveries associated with the Integrated Case. This meant that in some cases further executions of Program Group Logic were not triggered by the Dependency Manager. This has now been resolved.

Related items: The following items are related to this item: HCR-8011, HCR-8026

Additional Notes

In order to ensure that the correct dependencies are present in the system for the future, it is recommended that customers execute bulk reassessment on HCR cases at an appropriate juncture.

PO04442, HCR-8122 - Mapping of County evidence for COC

Previously 'county' attribute in the change of circumstance datastore was not populated. This has now been resolved and the attribute is populated retrieving the data from the Address evidence.

Fix implemented in _AddressEvidence_ prepopulators.

PO04570, HCR-8158 - System giving MA incorrectly for Retro months and Application month

A number of issues with Check RetroActive Medicaid Eligibility have been corrected which had resulted in incorrect Streamline Medicaid determinations.

- The coverage start date is now correctly calculated as the start of the retroactive period.

- Where Magi based income rules fail there is no longer a fallback on Magi income while determining retroactive Medicaid eligibility.

- Gap filling logic is not applied to retroactive Medicaid eligibility though any eligible start period will be extended to month start.

PO04524, HCR-8163 - When Pregnancy end date is in the past the product delivery case is not created and the Integrated Case evidence are in 'In-Edit' state.

Previously when an applicant's pregnancy end date is in the past, the product delivery case is not created and the integrated case evidence are in a 'in-edit' state. This issue is now resolved and the product delivery case is created and the integrated case evidence is not going into an 'in-edit' state.

HCR-8197 - Extra incorrect Streamlined Medicaid product delivery case created when a new household member is added to the integrated case

Previously an additional incorrect Streamlined Medicaid product delivery case was created when a change of circumstance was performed introducing a new household member. This issue has now been resolved.

HCR-8198 - Incorrect display text on the Portal Results page

Previously, on the citizen portal summary results page, members not eligible for Unassisted Qualified Health Plan (UQHP) were being displayed along with eligible members for UQHP.

This issue has been resolved and members not eligible for UQHP are not displayed alongside those members who are eligible for UQHP.

HCR-8199 - Inbound CoC: The Submitted Date on Application Case from Account transfer CoC Application is displaying current date.

Previously, the submitted date on Application Case from Account Transfer Change of Circumstance Application was displaying the current date. This has now been resolved and the submitted date is displaying the Account Transfer Change of Circumstance Application submission date.

A new program type constant for attribute {{ApplicationSubmissionDate}} for Account Transfer Change of Circumstance application has been added

{{kATCoCApplicationCase = "ATCOC"}}

PO04476, HCR-8200 - Database Table: FederalExchangeMessageLog has no Data Dictionary description

Previously FederalExchangeMessageLog had no Data Dictionary description.

FederalExchangeMessageLog Entity now has following documentation:

Table Description

Federal Exchange Message Log : This entity provides a persistence mechanism for all Federal Exchange webservice messages Stores GlobalApplicationID, XML message of the Federal Exchange webserice communication, type of the message, direction and a status.

Captures the type, direction, status and contents of Federal Exchange webservice communications.

Example

For example, each time an Inbound (FFM initiated) Account Transfer payload is received, the new record is created here with message type FEMT002 (payload), direction 1 (inbound) and status of HCRIFEIP (Inbound in progress).

Documentation for the entity attributes:

<Attribute> <<details>> direction:

Direction of the webservice message can be:

<P>'0' as an Outbound message, sent from State to FFM</P>

<P>'1' as an Inbound message, sent from FFM to State</P>

<Attribute> <<details> federalExchangeMessageXML

Raw XML webservice message.

<Attribute> <<details> globalApplicationID

Unique identifier of the distinct Federal Exchange application.

<Attribute> <<details> messageType

Type of webservice message is populated from the FedExchangeMsgType code table.

<Attribute> <<details> status

Federal Exchange application status is populated from the HCRFedExchangeAppStatus code table.

PO03999, HCR-8208 - Rules are not rerun for American Indian/Alaskan Native when end-dating Demographics

Previously, end date of demographics evidence was not considered in rules. This has been fixed now by updating the rules.

Files modified

1. InsuranceAssistanceEligibilityAndEntitlementRuleset.xml

PO04576, HCR-8218 - Retroactive Month(s) with income exceeding the FPL percentage threshold are incorrectly determined eligible for Streamlined Medicaid

A number of issues with Check Retroactive Medicaid Eligibility have been corrected which had resulted in incorrect Streamline Medicaid determinations.

- The coverage start date is now correctly calculated as the start of the retroactive period.

- Where Magi based income rules fail there is no longer a fallback on Magi income while determining retroactive Medicaid eligibility.

- Gap filling logic is not applied to retroactive Medicaid eligibility though any eligible start period will be extended to month start.

HCR-8240 - Issues with display rules implemented to indicate Coverage Category requirement failure

Previously, members were listed as failing the coverage category requirements for an extended decision on a Streamlined Medicaid product delivery case. This has now been resolved and they are no longer displayed for extended decisions. Members are only displayed under the coverage category requirements when they fail the coverage category rules.

HCR-8251 - Outbound AT is not triggered for Insurance Assistance during Open Enrollment Period when Determination is made during the Coverage Period.

Previously, Insurance Assistance determinations made within Coverage Period during Open Enrollment Period would not always trigger an Outbound Account Transfer. This has now been resolved and Account Transfer is correctly triggered.

PO04672, HCR-8282 - Incorrect extension of Medicaid program when eligibility changes from Medicaid to QHP for one additional month after the end of Postpartum month and the income is above the MA FPL

Previously an incorrect period of one month was being determined for Medicaid when an increase of income was being considered for applicant after the post partum period.This issue has now been resolved.

PO04555, HCR-8291 - Disability Type "Disabled" is not mapping when entered in COC script but mapping correctly from initial script

Previously, if an applicant indicated that they were disabled through the change of circumstance script, it was not mapped to the Disability evidence. This issue is now resolved. The disability information is correctly mapped to the Disability evidence.

HCR-8363 - Addition and Removal of members from the HCR case through evidence updates

Addition of Member

Previously, a case participant was added to the Insurance Affordability integrated case by using the 'Add Member' link from the actions menu or the 'New' link from the case members list. These links are now removed. A case participant can be added to the Insurance Affordability application case and integrated case by creating an application details evidence record for the member.

Upon creation of this evidence, if the member is a case participant, the user can select them from the case participant drop-down list. If the member is not a case participant but is registered on the system, the user can search and select the member from the organization's registered participants. If the member is not registered on the system, the user must register the person on the Register Person page and then search and select the member from the organization's registered participants on the application details evidence.

The addition of the application details evidence will result in the system automatically creating a case participant role of type "Member". When the member leaves the household for a period of time, the same case participant role will be used upon their return. This single case participant role will represent the member for the aggregate period for all their potentially eligible periods on the case including any gaps. For example the case participant role will start when the member's initial application details evidence is created and will end when the member latest application details record ends, but the case participant role period must adhere to the case period. The earliest the case participant role can begin is on the case start date and the latest it can end is on the case end date.

If a household reports a new member has joined the household, once the user applies the evidence changes, the existing product delivery case will be reassessed to reflect the change.

Removing a Member

Previously, to remove a case participant from the Insurance Affordability application case and integrated case, the user had to end date the application details, member relationship, tax filing status, and tax relationship evidences. As a result of this enhancement, a case participant is now removed from an Insurance Affordability application and integrated Case by updating the application details evidence with an End Date and End Reason. When end dating the application details for a case participant, the following processing will now occur:

  • Once the user applies the evidence change to end date the application details for a case participant, the system will automatically end date the member relationship, tax filing status, and tax relationship evidence that is associated with the removed participant.
  • If the removed participant is married and filing taxes jointly, the tax filing status record for the associated spouse is updated to uncheck the married filing jointly indicator effective the day after the participant is removed from the household.
  • The case participant role for the removed case participant is end dated with the same date as on the application details evidence.

When the application details evidence is ended for an eligible member on an existing product delivery case, the system will reassess the product delivery case to reflect the changes. Eligibility will be determined for the period of time for which the member was part of the household.

When end dating the application details evidence for a case participant on the application case, the case participant is added to the integrated case, evidence for the removed participant is brokered over to the integrated case and eligibility will be determined for the period for which the application details evidence was applicable.

When a previously removed participant is added back to an integrated case, a new application details evidence record is created for a different period. The same case participant role is used and the previously added 'End Date' to the case participant role is removed.

PO04772, PO04708, PO04107, HCR-8399 - Adverse Action support when moving Programs

Where a change of circumstance results in an individual moving to a less beneficial program adverse action is used to determine when coverage under the existing program ends. It ensures an individual in receipt of a program is given timely notice of proposed action to end their eligibility. Moving to a less beneficial program could occur when an individual moves from Streamlined Medicaid to Insurance Assistance, Streamlined Medicaid to CHIP or CHIP to Insurance Assistance.

Coverage under the existing program aligns to the end of the month in which the eligibility redetermination is made and an extended decision is used where eligibility redetermination is 10 days or less before the end of the month. This extended decision provides an additional month of coverage under the existing program to ensure the individual is given timely notice of the proposed change.

The coverage start for the new program is triggered by the ending of the existing program. Eligibility for the new program starts on the first of the month following the month in which coverage ends on the existing program. This ensures that there are no gaps or overlaps in programs when moving from one to another.

Child Welfare

PO02213, CFSS-6016 - Child Welfare Search - Participant Name Search does not return expected results

Previously, the Participant Name text entered on the Child Welfare Search was not returning the expected results. This was because of the soundex algorithm. The call to the soundex logic is now removed and the participant name search brings back the expected results.

CFSS-6209 - Charts are now rendered in native BIRT format (Flex/Flash is turned-off for OOTB charts)

All out-of-the-box BIRT charts were previously rendered using Flex/Flash. To better support right-to-left languages and mobile devices, charts are now rendered in native BIRT format as PNG images. If you have developed custom BIRT charts these will continue to be rendered in Flex.

CFSS-6191 - Issues with Intake and Investigation dashboard

Previously, the intake and investigation dashboards had the following issues:

  • Intakes and investigations created and approved by a supervisor were not reflected in their respective dashboards.
  • The intake list page accessed from an intake dashboard would not apply the relevant intake type filters.
  • The investigation performance dashboard displayed an incorrect count of completed and not completed investigations.
  • Attempts to access the investigation list page from the investigations chart resulted in a code table mismatch error.
  • The child protection investigation rating dashboard always presented an empty chart
  • The available investigation category in the investigation dashboard incorrectly included intake types in the filter selection list.

These issues have now been resolved.

  • The dashboards have been updated to include intakes and investigations owned by the supervisor.
  • The intake list page accessed via the intake dashboard considers the intake type filter.
  • The investigation performance dashboard displays the correct investigation counts.
  • The investigations list page is accessible form the investigation chart
  • The child protection investigation performance dashboard presents accurate information and the investigation category filter no longer lists intake types.

Child Welfare SDM

PO01670, CFSS-6173 - SDM Assessment Override Validation Missing

Previously, the user was inappropriately allowed to override an SDM Screening "Response Priority Assessment" to be the same value as the determined recommendation value. The issue has been addressed now that if the "Override To" value selected is "Discretionary Override" then validation message will be displayed ("The recommendation selected via an override cannot be the same as the recommendation identified via the assessment".) to user to select appropriate value. If the override to value selected is "Policy Override" then "Override To" field will be disabled, since the RPA values is always 24 hrs irrespective of the value user selected.



Known Issues

Known Issues Cúram Enterprise Framework
Solutions

Cúram Enterprise Framework

Technical Services

BIA-1590 - Failing Update ETL's on OWB

The following ETL processes within the Business Intelligence and Analytics component are reporting failures. These ETL processes extract data correctly, however, they also report an SQL exception ORA-Q1403. The SQL exception can be safely ignored.

DM_UPDATE_FACTALGRECORDST_ETL

DM_UPDATE_FACTCASEHISTORY_ETL

DW_UPDATE_INV_CCSDEC_ETL

DW_UPDATE_ADDRESS_ETL

DW_UPDATE_ALGCOUNTBACK_ETL

DW_UPDATE_ALGCOUNT_ETL

BIA-1614 - Incorrect focus area on the Audit Plan Focus Area Report

The purpose of this chart is to display the top 4 focus areas that have broken down. This chart contains a bug where the report is only returning the first 4 breakdowns returned. This can result in breakdowns not being displayed on the chart.

BIA-1513 - Failed Login Exception thrown in logs related to BIRT reporting

There is an issue where an error may be thrown in the logs when deploying the Application on an Oracle / Web Logic environment. The error message is "javax.security.auth.login.FailedLoginException". The error may be thrown in the logs when a BIRT Report is being loaded in a Pod. However the BIRT Reports are being authenticated, and they are executing and displaying the correct data. The error message does not have any impact on functionality.

Solutions

Income Support

CGISS-8104 - Individual is determined ineligible for 1 day after regaining eligibility

When an ABAWD individual, part of a household containing his wife who is also ABAWD, regains eligibility after the three countable months by satisfying the 80-hour work requirement, the eligibility determination is incorrect. He is determined ineligible just for 1 day after the regained eligibility starts. This is because of incorrect pro ration of the working hours. The expected behavior is that the individual must be determined eligible in an ongoing basis after regaining eligibility.

HCR-8367 - SBHP: No eligibility is displayed on portal after a CoC.

An issue exists in Change of Circumstances whereby Eligibility results are not being displayed in certain circumstances when State Basic Health Plan is enabled.

When a client who is eligible for for QHP (through unassisted) or IA after initial application intake then performs a Change of Circumstances that make them eligible for IA the portal eligibility results are not displayed. This issue doesn't affect case management, it is isolated to the citizen's portal results page.

HCR-8400 - Unexplained In-eligible IA PD creating for 2015 when run CHIP renewals

When a CHIP renewal is run for a single applicant with an income in the CHIP range, an extra ineligible Insurance Assistance product delivery case is being created along with the CHIP product delivery case.



Notices

Before using this information and the product it supports, read the information in "Notices".

Copyright

Licensed Materials - Property of IBM

Copyright IBM Corporation 2015. All rights reserved.

US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.



Document information

More support for: Cúram Social Program Management

Software version: 6.0.5

Operating system(s): AIX, HP-UX, Linux, Solaris, Windows, z/OS

Reference #: 7045434

Modified date: 05 May 2017


Translate this page: