Release Notes for Oracle Health Insurance Product Definition Release 3.21.1.0.0

This document contains the release notes for Oracle Health Insurance Product Definition Release 3.21.1.0.0.

Version compatibility: Oracle Health Insurance Product Definition Release 3.21.1.x is only compatible with other Oracle Health Insurance applications release version 3.21.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-18299

JET: Page Access Functions

For JET pages, menu access is based on the function codes, and explicit resource level access is needed to be able to view/edit data. Example: Granting view access to function code FN0002, will enable menu item for message configuration. Now, for a user to search and view messages, explicit access must be granted to 'get' (view) messages resource. Explicit get (view) access must also be granted to all its sub resources. In the case of 'update' grants, all the linked resources must also have 'get' access for LOVs to work.

With this enhancement, access to all the api/ip resources needed to operate the JET UI page will be granted implicitly by the system. This implicit api/ip access grant will follow the authorization level of the function access grant. For example, view only access grant to FN0002, will grant only GET access to generic resource /messages.

Access to special operations like submitting a policy or a group client would require explicit authorizations to api/ip. The api/ip access that must be explicitly granted is specified in the user access section of the security guide.

NXT-20012

HTTP Query API response only includes requested fields

Before this release, HTTP API resources allowed for payload content customization through the expand and fields accept header parameter, however still some defaults were always included.
This enhancement allows for having total control on the payload content by adding another parameter to the Accept header: defaultoverride=true.

NXT-20013

Allow traversing of more levels for referenced fields for Generic HTTP APIs

Before this release, in HTTP API, only two levels of references from any resource level were allowed. All details were allowed at any level but the references were only allowed up until 2 levels. This restriction was put in place for not having memory pressures. It is seen from customer feedback and JET implementation that it can be restrictive sometimes, example being: claim→person→addressList→countryRegion→country→code. Since person is a reference from claim, it is only possible to go to addressList but not further. Allowing for more levels can still cause memory pressures if done for the entire object graph. The solution is to lift restrictions on certain references:

  • Person

  • Country

  • ClaimForm

  • ServiceAddress

  • RenderingAddress

  • CountryRegion

  • Provider : IndividualProvider and OrganizationProvider

NXT-20490

Reporting views: Base view generator + specific IP

The base view generator is now included into the OHI applications itself and can be triggered from the Base View Generation IP. This new base view generator is going to replace the existing (script based) view generator which is now deprecated and will be removed in a future release.

NXT-20854

Improvements for Logging to the Database

For logging to the database using the OHI Database Appender, the following capabilities are added:

  • OHI applications automatically remove customer-defined loggers if these are not explicitly marked as durable.

  • Purging log messages: customers can configure the retention period for log event types. Frequently purging log messages helps to limit the amount of log messages stored in the database.

  • It is now possible to bundle log messages in a data file set. An HTTP API resource is made available to define the criteria for selecting the messages that will be bundled.

NXT-21006

Add alternate user identifier and OAuth2-specific mapping to that user identifier based on OAuth token issuer; JWK Set token validation (RFC 7517) is now using OpenID Connect

Some systems identify a user by a technical unique identifier that is not suitable to be displayed in user interface pages. With this enhancement, it is possible to use the User Provisioning IP to specify an alternate, unique user identifier (alternateUserIdentifier attribute), next to the existing loginName, for uniquely identifying and resolving users.

This enhancement also allows configuration to map a specific claim in an OAuth2 access token to the OHI User based on the issuer of the token.

Configuration for RFC 7517 token validation is now based on OpenID Connect. The properties for it have changed. The option to specify a local key store containing a set of public key certificates was removed. The easiest way to use JWK Set based token validation is to use the OpenID Discovery URI via system property "ohi.oauth.idp.uri" in combination with system property "ohi.oauth.jwk.set.validation.audience". Alternatively, set the following system properties if OpenID Discovery cannot be used:

  • ohi.oauth.jwk.set.url

  • ohi.oauth.jwk.set.validation.audience

  • ohi.oauth.jwk.set.validation.issuer.url

  • ohi.oauth.jwk.set.validation.jws.signing.algorithm (defaults to value "RS256")

For obtaining an Access Token using OpenID Connect, specification of the clientId and secret combination was changed.

  • System property "ohi.oauth.token.introspection.endpoint.client_secret" was removed.

  • For obtaining an Access Token using OpenID Connect use system property "ohi.oauth.openidconnect.accesstoken.credential".

  • Use of the latter has to be accompanied by specifying a matching credential. For example, assuming the value for system property "ohi.oauth.openidconnect.accesstoken.credential" is "openid_token_credential", specify a credential at resource "/API_ROOT/credentials/credential/openid_token_credential" with the clientId as username and the secret as password.

NXT-21120

Additional Dynamic Fields for OHI Messages table

The number of dynamic fields available on the OHI Messages table was too small. With this enhancement, the number of dynamic fields on OHI Messages table are extended to support the requirements.

NXT-21306

Introduce the possibility to have aliases in fields/expand list

With this enhancement, it is possible to use aliases in fields/expand section in Generic HTTP APIs.
Integration Guide: Influence Resource Representation

OIG-1366

Dynamic Logic Hooks/Extensions

This enhancement make it possible to extend dynamic logic delivered as part of configuration by customers to provide their specific changes/extensions. This is enabled by introducing a new signature 'Extension' for all such extensions with a reference to the base dynamic logic that it is extending. At runtime, the application finds out all the extensions and invokes them.

OIG-1434

Dynamic Logic Framework should allow to use package statement in the logic

Before this release the dynamic logic framework assumes all scripts to be written in a default package ohi.dynamiclogic. This is done to apply the security restrictions and to allow for logging only in scripts defined in the aforementioned package.

This causes problems with reusability, as every logic that requires to use the reusable code, needs to append ohi.dynamiclogic before importing it. This makes it difficult to manage and test these groovy logic in isolation. On top of that, dynamic logic framework does not play well, if the package statement is explicitly included as ohi.dynamiclogic, as it appends another ohi.dynamiclogic in front of it.

With this enhancement, it is possible to declare packages in the script and the framework will work with the package defined. It is however important, that the packages defined should start with ohi.dynamiclogic, otherwise security restrictions will be enforced.

OIG-1445

Create Rest Service to generate objects and download them as zip

Introduction of the Objects Integration Point to download the objects as a zip. This Objects Integration Point also introduces the capability to generate dynamic fields and records as just a plain key-value pair, to avoid having to regenerate these after every introduction of dynamic data.

OIG-1446

Generate Signatures for Dynamic Logic as part of meta object creation

This enhancement adds the generation of skeleton dynamic logic groovy files along with generation of objects to assist in groovy coding. These signatures are generated as part of 'Generate Objects' feature in the View Objects page(ADF) and as part of the Objects Integration Point.

POL-6797

Dynamic Logic Framework should allow for reusable groovy classes to be created and used

With this enhancement, dynamic logic framework allows for coding reusable classes to be reused as structures in other groovy scripts. This enhancement also introduces a new signature name for coding such reusable classes/scripts. The name of the signature is "Reusable Code" and does not have any specific bindings.

Configuration Properties

Ref Action Subject Description

NXT-20490

Added

ohi.baseview.generation.worker.count

The number of worker threads to start for a base view generation process

NXT-20854

Modified

ohi.incident.datafileset.retentionperiod

The property ohi.incidents.datafileset.retentionperiod is renamed to ohi.incident.datafileset.retentionperiod

NXT-20854

Modified

ohi.incident.target

The property ohi.incidents.target is renamed to ohi.incident.target

NXT-21006

Added

ohi.oauth.jwk.set.validation.jws.signing.algorithm

Signing algorithm used by the Authorization Server.

NXT-21006

Added

ohi.oauth.jwk.set.validation.issuer

Issuer for token validation.

NXT-21006

Added

ohi.oauth.openidconnect.accesstoken.credential

Credential associated with the OpenID Connect client that has to be present to acquire an access token.

NXT-21006

Added

ohi.oauth.openidconnect.accesstoken.client_id

Client ID of the OpenID Connect client that has to be present to acquire an access token.

NXT-21006

Added

ohi.oauth.jwk.set.validation.audience

Client Id or audience claim for token validation.

NXT-21006

Added

ohi.oauth.openidconnect.accesstoken.validation.clockskew

Defines the maximum acceptable clock skew (in seconds) for validating timestamps of ID tokens that are issued by an OpenID Provider.

NXT-21006

Added

ohi.oauth.token.issuer.{0}.user.claim

Issuer-specific user claim

NXT-21006

Added

ohi.oauth.token.issuer.{0}

Specific issuer identifier

NXT-21006

Added

ohi.oauth.token.issuers

Comma-separated string of possible token issuers

NXT-21006

Removed

ohi.oauth.jws.verification.key.selection.key_id

NXT-21006

Removed

ohi.oauth.jwk.keystore.name

NXT-21006

Removed

ohi.oauth.jws.verification.key.selection.signing_keys_only

NXT-21006

Removed

ohi.oauth.token.introspection.endpoint.client_secret

NXT-21006

Removed

ohi.oauth.jws.verification.key.selection.public_keys_only

NXT-21006

Removed

ohi.oauth.jws.verification.key.selection.jws_algorithm

NXT-21006

Removed

ohi.oauth.jwk.publickey.keyid.source

Web Services

Ref Action Subject Description

NXT-20490

Added

Base View Generation Integration Point

New Integration Point

NXT-21006

Modified

Provisioning Integration Point

Added alternateUserIdentifier: an alternate identifier, next to the loginName, for uniquely identifying a user

OIG-1445

Added

Objects Integration Point

New Integration Point

Data Conversion

This section intentionally left blank.

Dynamic Logic

Ref Action Subject Description

OIG-1366

Added

Dynamic Logic Signature

Introduced a new signature with name "Extension"

POL-6797

Added

Dynamic Logic Signature

Introduced a new signature with name "Reusable Code"

UI Changes

Ref Action Subject Description

NXT-20490

Added

Tables page

New indicator PII?

NXT-20490

Added

Record Definitions page

New indicator PII?

OIG-1366

Modified

Dynamic Logic Page

Added Base dynamic logic. This is done for both UI (ADF and Jet) where applicable.

Deprecated items (to be removed in future release)

Ref Action Subject Description

NXT-20490

Reporting Views

The reporting views as generated by the runnable jar are now deprecated.

Breaking Changes

Ref Action Subject Description

NXT-20854

Modified

ohi.incident.target

The property ohi.incidents.target is renamed to ohi.incident.target

NXT-20854

Modified

ohi.incident.datafileset.retentionperiod

The property ohi.incidents.datafileset.retentionperiod is renamed to ohi.incident.datafileset.retentionperiod

Bug Fixes

BugDB SR Internal BP Summary

32073651

PRD-2406

Dynamic Logic exception: Restricted method invocation

Description:

When accessing the object returned by the JSON slurper, the application raises an exception, e.g.: Error occurred in dynamic logic "DYLO_NAME" on line "xxx": "java.lang.SecurityException: Restricted method invocation."

Resolution:

The new version of Groovy packaged with the application returns a Lazymap object from the JSON slurper. Access from Dynamic Logic to objects of this type was not permitted, this has now been changed.

31989295

PRD-2407

No Data Sets displayed under PRODUCTS_HTTP Outbound Set

Description:

Currently products_http does not have any products listed under it. The Data Sets which are created for PRODUCTS_HTTP should be displayed under PRODUCTS_HTTP Outbound Set.

Resolution:

The data set which is created for PRODUCTS_HTTP is now displayed under PRODUCTS_HTTP Outbound Set.

32107885

3-24068646251

PRD-2424

Business validation error not handled correctly in UI leading to unexpected exception

Description:

When business validation added to the corresponding UI data row, exception throws and it was not handled in UI. So it navigates to the standard error page.

Resolution:

Handled the error where save logic is written. Now it will be shown in the corresponding page like standard error.

32139227

3-24118210941

PRD-2428

Product service definitions with same start date but different end date are not detected as duplicates

Description:

When building a product with product service definitions with same start date but different end date, the product build fails with technical error instead of a validation error.

Resolution:

The end date is removed when detecting potential product service definitions. So, if a product has product service definitions with same start date but different end date, now a validation error (PRD-VL-PROD-002) is logged when building the product.

32150149

3-24500949741

PRD-2432

Exception occurred when user selects value to the column level multivalue flex code.

Description:

When the user selects a value from the LOV for a multivalued flex code column, null pointer exception was thrown and error page was displayed.

Resolution:

A value can now be selected from the LOV for a multivalued flex code column.

32334665

3-24738743651

PRD-2466

Dynamic records not displayed in exported excel

Description:

Dynamic column value at column level not displayed in exported excel

Resolution:

Dynamic column value at column level not displayed in exported excel

32469409

PRD-2486

Task is stuck in 'PROCESSING' status if the node leaves the cluster

Description:

When the node processing a task leaves the cluster or if the node is stopped while the task is being processed, then the status of the task remains in 'PROCESSING' status. The other nodes in the cluster should have recovered/requeued that task.

Resolution:

When a node leaves the cluster, then the tasks that are currently being processed by that node are now recovered by the other node(s) in the cluster.

32559017

PRD-2506

Unable to set cost share options for all limits attached to service definitions

Description:

In Popup dialogs, next and previous buttons don’t work due to refresh issue.

Resolution:

With the refresh issue fix, Next and Previous buttons display appropriate results.

Issues that were backported in previous Release / Patch

BugDB Internal Summary Backport BugDB SR

32073651

PRD-2406

Dynamic Logic exception: Restricted method invocation

3.20.3.0.1

32073667

31989295

PRD-2407

No Data Sets displayed under PRODUCTS_HTTP Outbound Set

3.20.3.0.1

32083413

32107885

PRD-2424

Business validation error not handled correctly in UI leading to unexpected exception

3.20.3.0.1

32113605

3-24068646251

32107885

PRD-2424

Business validation error not handled correctly in UI leading to unexpected exception

3.20.2.0.2

32113614

3-24068646251

32150149

PRD-2432

Exception occurred when user selects value to the column level multivalue flex code.

3.20.3.0.1

32150161

3-24500949741

32150149

PRD-2432

Exception occurred when user selects value to the column level multivalue flex code.

3.20.2.0.2

32150167

3-24500949741

Known Issues

BugDB SR Internal Summary

24716118

PRD-1586

Accessibility - Component is not labeled

Description:

Component is not labeled, either by specifying the label attribute, or by being referred to by the 'for' attribute of a panelLabelAndMessage or outputLabel

31371956

PRD-2261

Specific Network search in view generated product page

Description:

Filter By in quick search for 'View Generated Product' page shows 'Specific Networks' twice- one for provider group and the second for assigned provider group label. But only one is expected.

31060661

3-22654524781

PRD-2288

Moving products from Edit to Review, some stay in Edit with 'valid' status'

Description:

Moving products from Edit to Review, some stay in Edit with 'valid' status'.

31116281

PRD-2290

With clicking Next button dialog button not refreshed

Description:

In Popup dialogs, Next and previous button doesn’t work due to refresh issue.

32011035

3-23142528018

PRD-2401

OHI Tabs opened in browsers do not respond after some time.

Description:

The OHI tabs opened in browsers do not seem to respond after some time. It looks like there is a time out issue. Browser: Chrome and Internet Explorer Environment: Dev https://hbfx-test-cla-pol.oracleindustry.com/policies/ Session expires before the session-timeout time & clicking on tabs in the ADF application leads to errors. This behavior is observed on cloud environments but works fine for On premises.

32477670

PRD-2488

No base view generated for reference sheet lines

Description:

Reference sheet(line)s use a different storage structure (JSON) for the dynamic fields. The base view generator does not support that yet. So the reference sheet line columns can’t be queried using base views.

32525599

PRD-2499

Usage names with a reserved SQL work result in view generation failure.

Description:

A usage name like "level" (which is a SQL reserved word) results in a failure in the deprecated view generator for the table where this usage is used.

32560678

PRD-2508

Baseview generation sometimes might result in error: ORA-01461

Description:

Occasionally baseview generation results in error: ORA-01461. In the event that this happens, typically resubmitting the generation process resolves the problem.