Release Notes for Oracle Health Insurance Enterprise Policy Administration Patch 3.22.1.0.2

This document contains the release notes for Oracle Health Insurance Enterprise Policy Administration Patch 3.22.1.0.2.

Version compatibility: Oracle Health Insurance Enterprise Policy Administration Release 3.22.1.x is only compatible with other Oracle Health Insurance applications release version 3.22.1.x unless explicitly stated otherwise.
In accordance with the OHI error correction policy (Document 1494031.1 on My Oracle Support), error correction support will be provided for this release and the previous two releases.

Enhancements

ID Summary Description Included in Patch

NXT-25000

Resource representation parameters support through request body

Currently, resource representation influencing parameters are passed in "Accept" header of HTTP request. When number of values passed in header increase and all headers size crosses 8K, server rejects HTTP request.

This enhancement provides an alternative way to pass more than 8K data in resource representation parameters. Instead of passing these parameters in HTTP request header, now these parameters get passed in HTTP request body. This capability is available only for "POST /generic/{entitiy_name}/search" API. This version supports passing parameters in header as well as body. In future releases the parameters in header support will be removed, hence passing parameters will be only supported via HTTP request body. Parameter names are same in body as well as header. In body, these parameters are mentioned under "resourceRepresentation". When body includes "resourceRepresentation", it completely ignores header parameters.

Example 1: Resource representation influencing parameters in HTTP request header only

POST http://[hostName]:[portNumber]/[api-context-root]/generic/persons/search

Header - Accept : application/json;fields=officeAddress

Body :

{
    "resource": {
        "q": "dateOfBirth.eq('1900-01-01').and.name.eq('Doe')"
    }
}

"officeAddress" field is additionally included in response along with default resource representation

Example 2: Resource representation influencing parameters in HTTP request body only

POST http://[hostName]:[portNumber]/[api-context-root]/generic/persons/search

Body :

{
    "resource": {
        "q": "dateOfBirth.eq('1900-01-01').and.name.eq('Doe')"
    },
    "resourceRepresentation": {
        "fields": "officeAddress"
    }
}

"officeAddress" field is additionally included in response along with default resource representation

Example 3: Resource representation influencing parameters in HTTP request body as well as header

POST http://[hostName]:[portNumber]/[api-context-root]/generic/persons/search

Header - Accept : application/json;fields=homeAddress;expand=all

Body :

{
    "resource": {
        "q": "dateOfBirth.eq('1900-01-01').and.name.eq('Doe')"
    },
    "resourceRepresentation": {
        "fields": "officeAddress"
    }
}

"officeAddress" field is additionally included in response along with default resource representation. "homeAddress" and all the dynamic fields/records of person entity won’t be shown in response even though "expand" parameter is available in header. Because, when "resourceRepresentation" is available in body, header parameters are completely ignored.

POL-11122

Optimize the performance of reference sheet lines queries

The performance of querying reference sheet lines from dynamic logic (using SearchBuilder) is optimized by caching the query results (controlled by a system property).

POL-11138

Extend Extract Integration Point

This enhancement extends the extract Integration Point to include dynamic record identifiers.

POL-9796

Improved 'date paid to' handling of zero amount registrations

With this enhancement a single zero amount registration gets applied to multiple consecutive periods having a zero premium amount thereby moving the 'date paid to' to the end date of last free period.

This change impacts the following Activities/Integration Points:

  • Process Registrations Activity

  • Apply Registrations Activity

  • Process and Apply Registrations IP’s

  • Sample Process and Apply Registrations IP’s

Upgrade Steps for Installation

To perform the upgrade, perform the following steps:

  1. Perform any pre-upgrade steps.

  2. Stop all the managed nodes running the .existing version of the application.

  3. Perform any pre-undeploy steps.

  4. Undeploy the existing version of the application.

  5. Back up the database.

  6. Perform any post-undeploy steps.

  7. Unpack the release bundle into a directory that we refer to as OHI_ROOT from now on.

  8. Change Installation Configuration: In <OHI_ROOT>/util/install, make a copy of ohi_install.cfg.template and name it ohi_install.cfg.

  9. Edit ohi_install.cfg to contain your specific database connection data and other configuration settings. The settings are explained in the file itself.

  10. Make sure NO connections are present to the database using the OHI_xxx_USER account (where xxx is the abbreviation of the application)

  11. Run the Upgrade script:

    1. Open a command window and browse to <OHI_ROOT>/util/install.

    2. Run the upgrade by executing ./ohi-update.sh .

  12. Make the required changes to the ohi properties file

  13. Perform any post-upgrade steps

  14. Start WebLogic application server

  15. Deploy the Application

  16. Perform any post-deploy steps

Configuration Properties

Ref Action Subject Description

POL-11122

Added

ohi.referencesheetlines.query.results.cache.enabled

This is an optional property that controls if the reference sheet lines query results should be cached or not. The default value is true.

POL-11122

Added

ohi.referencesheetlines.query.results.cache.spec

A specification of Google Guava’s CacheBuilder configuration. It configures a cache for reference sheet lines query results. Defined as a string which is a series of comma-separated keys or key-value pairs, each corresponding to a CacheBuilder method. See Google Guava’s CacheBuilderSpec for additional detail.

This is an optional property.

Default value is "maximumSize=1000,softValues,recordStats"

Web Services

Ref Action Subject Description

POL-11138

Modified

Extract Integration Point

The extract Integration Point now exposes the identifiers of the dynamic records.

POL-9796

Modified

Process and Apply Registrations

Added support for applying a single zero amount registration for multiple consecutive periods

POL-9796

Modified

Sample Process and Apply Registrations

Added support for applying a single zero amount registration for multiple consecutive periods

Data Conversion

This section intentionally left blank.

Dynamic Logic

Ref Action Subject Description

POL-11151

Added

Added predefined method getPolicyEnrollmentProducts()

The getPolicyEnrollmentProducts() predefined method can be used to fetch all the Policy Enrollment Products for a specific person. The method is called from a person.

UI Changes

This section intentionally left blank.

Deprecated items (to be removed in future release)

Ref Action Subject Description

NXT-25000

Deprecated

Remove the support of resource representation parameters in accept header

Resource representation influencing parameters such as fields, expand, response etc. won’t be supported in the header of HTTP request in one of the next major releases. Hence, these parameters should be passed as request body.

Breaking Changes

This section intentionally left blank.

Bug Fixes

BugDB SR Internal BP Summary

34165226

3-29306946721

POL-10578

BP

Resources cannot be searched, when the code starts with 25

Description:

For resources(Policies/Group clients etc) having code starting with 25, when we try to search for these resources in the Jet UI, the search never gets completed. When checking the console, the API call is returning a 400 Bad request as status.

Resolution:

Handled ESAPI PercentCodec for search involving 'like search' with % symbol

34192913

POL-10644

BP

Business Event Rules Page: 'Description' field is not present in the quick search as well as in the table

Description:

Business Event Rules Page does not contain description in quick search and the table

Resolution:

Business Event Rules Page contains description in quick search and table

34518945

3-30070356458

POL-11194

BP

The selection for polling aggregate events is inefficient

Description:

If the system property "ohi.connector.event.aggregation.activated" is set to true, the connector checks every x seconds (which is set by the ohi.connector.event.aggregation.interval) if there are unprocessed aggregate events for the connector configuration: this check is a selection which had an inefficient execution plan.

Resolution:

Optimized the selection for polling on aggregation events for connector configurations.

34495227

3-30279611451

POL-11151

BP

Person Covered Service generation improvements

Description:

When there are sequential locked Person Covered Services and Person Covered Services are regenerated with the exact same start- and end date are regenerated, the Business Error GEN-TMVL-011 is thrown. This error results in Policies that remain in Edit status, when submitting them.

During Person Covered Service generation, the Reference Input Date is used to skip regenerating all the Person Covered Services that have an end date before this date. To determine the Reference Input Date, it can be useful to know the start date of the first policy enrollment product of a person, regardless of the policy that is submitted at that moment.

Resolution:

GEN-TMVL-011 does not occur anymore if Person Covered Services are regenerated with the exact same start- and end date as existing locked Person Covered Services.

Predefined method "person.getPolicyEnrollmentProducts" is added to be used in the dynamic logic for generating Person Covered Services. This method returns a list of all the Policy Enrollment Products of a person and can only be used in Person Covered Service dynamic logic.

If the dynamic logic need to retrieve policy enrollment products, it is recommended to use this method, as is searches for all policy enrollment products over all policies this person is enrolled on. The results will be cached, therefore the search is executed only once per dynamic logic execution and will not have a big impact on the performance of submitting policies that will generate Person Covered Services.

34279528

3-29420975001

POL-10785

BP

Updating dynamic records with many flex codes is very slow

Description:

If a dynamic record is defined with many flex codes, change event rules defined on an update of this dynamic record take very long time to complete.

Resolution:

Performance on processing these change event rules has been drastically improved.

34508125

3-29698387381

POL-11178

BP

Calculate premium activity runs very slow for 4000 groups

Description:

Calculate premium activity runs very slow for 4000 groups. Coherence event queue is stuck and activities are processed at a very slow rate.

Resolution:

Processing of group account activities is now throttled

34491664

3-30172717271

POL-11145

BP

Updates in multi row tabs are saved incorrectly on the policies page

Description:

If a record is updated in a tab in the Jet UI on the policies page where multiple rows are displayed, the update is actually done on another record. As an example: Record A and B are shown. A field on record A is updated. After saving record B is updated with the new information and record A is not. This also happens if multiple records are updated at the same time. This behavior is seen on OHI resources as well as dynamic records as well as pages opened up from the policies page.

Resolution:

In JET screens updates in multi row tabs are saved correctly. For example: If there are 2 dynamic records A and B and a field on Record A is updated, after save Record A has the update and not B

34500097

3-30322410943

POL-11169

BP

A mandatory dynamic field based on a flex code is not showing on the policies enrollment tab

Description:

A mandatory dynamic field based on a flex code on the policy enrollment object is not being shown in the JET UI. When the policy is in view mode, the field cannot be populated.

Resolution:

A mandatory dynamic field based on a flex code on the policy enrollment object displays the values in the dropdown in JET Policies page and it can be viewed without issues after save

Issues that were backported in previous Release / Patch

No backports.