Release Notes for Oracle Health Insurance Value-Based Payments Release 4.23.1.0.0

This document contains the release notes for Oracle Health Insurance Value-Based Payments Release 4.23.1.0.0.

Version compatibility: Oracle Health Insurance Value-Based Payments Release 4.23.1.x is only compatible with other Oracle Health Insurance applications release version 4.23.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 Patch

AUT-2740

Dynamic Logic Statistics Integration Point enhanced to retrieve statistics ordered by total allocated memory

To retrieve statistics ordered by total allocated memory, use the GET call: http://<host>:<port>/<context-root>/dynamiclogicstatistics/allocatedmemory This call retrieves the dynamic logic statistics ordered by total allocated memory per dynamic logic code. Also, three new statistics are added: totalAllocatedMemory, maxAllocatedMemory, avgAllocatedMemory.

AUT-2741

Dynamic Logic Test Unit Integration Point returns response when status is 400

Dynamic Logic Test Unit Integration Point now returns a response body when status is 400 with a False value. If status is 400 with an exception, then the response body is not displayed.

AUT-2742

Purging capabilities are added for tables related to data import.

This enhancement introduces purging capabilities for tables related to data import.

AUT-2744

Improved memory management

The Application Health Check status 429, informs the load-balancer or client programs that no new requests should be sent anymore, when the free memory goes below the threshold limit as set by the system properties. When the memory state becomes low, lower, or critical, then depending on the state either no new background processing tasks are started, or they are rejected, or terminated.

AUT-2789

Purging capabilities are added for activity processing technical tables.

This enhancement introduces purging capabilities for activity processing technical tables.

Documentation Links:
Administration Guide

AUT-2954

JVM garbage collection metrics included in Prometheus.

This enhancement adds metrics for garbage collection monitoring. The following system properties control these metrics:

  • ohi.instrumentation.gather.jvm: Set to true to enable recording of JVM metrics only. Requires restarting the application to take effect.

  • ohi.instrumentation.gather.system: Set to true to enable system metrics. Effective immediately. There is no requirement for a restart.

  • ohi.instrumentation.gather.gc: Set to true to enable the following garbage collection metrics: JvmGCMetrics, JvmHeapPressureMetrics. Effective immediately. There is no requirement for a restart.

AUT-2998

Dynamic Logic Query Management: Warning on too many Rows Retrieved

This enhancement retrieves a large number of records at once in dynamic logic, which results in memory shortage and impacts the application. For better diagnosis, a new system property, "ohi.persistence.read.maxrowstoretrieve", is created. Any query that retrieves more rows than this threshold results in a warning in the application log. It’s only a warning, no other functional impact.

Documentation Links:
Installation Guide

AUT-3010

New Metrics for Activities and Extracts

This enhancement adds the following new metrics to the applications:

  • Activity Framework Metrics:

    • ohi.activityprocessing.activities.started.count - Monitors the number of activities started.

    • ohi.activityprocessing.activities.completed.timer - Monitors the duration of a completed activity.

  • Extract Metrics:

    • ohi.extract.extracts.started.count - Monitors the number of extracts started.

    • ohi.extract.entities.processed.count - Monitors the number of processed (root) entities.

AUT-3021

New statistics added to Test Unit IP and Dynamic Logic Statistics IP, along with new Query Metrics and a System property

This enhancement introduces the following:

  • New fields included in the Test Unit IP:

    • queryCount (total number of queries started while running the dynamic logic),

    • retrievedRowsCount (total number of rows retrieved for all the queries run while running the dynamic logic),

    • maxResultSetSize (highest number of rows retrieved among all the queries run).

  • New fields included in the Dynamic Logic Statistics IP:

    • queryCount (total number of queries started while running the dynamic logic),

    • averageRowsCount (average number of rows retrieved while running the dynamic logic),

    • retrievedRowsCount (total number of rows retrieved for all the queries run while running the dynamic logic),

    • maxResultSetSize (highest number of rows retrieved among all the queries run).

  • A new link added to the overview response of the Dynamic Logic Statistics IP: http://<host>:<port>/<context-root>/dynamiclogicstatistics/retrievedrows

  • New Query metrics included:

    • ohi.persistence.query.count (counts number of queries run),

    • ohi.persistence.query.rowcount (counts number of rows retrieved).

  • A new System property: ohi.instrumentation.gather.persistence. Set to true/false to enable/disable recording of persistence metrics.

AUT-3045

Spring Batch Metrics included in Prometheus

This enhancement introduces the inclusion of batch metrics in Prometheus. These metrics enable tracking CMT’s progress and other batch processes.

Documentation Links:
Administration Guide

NXT-21670

Query API Diacritic Insensitivity

This enhancement introduces diacritic insensitive searches for the query API, and other integration points that use the same domain-specific query language.

NXT-23157

Financial Holds and Financial Transaction Set Pages

This enhancement introduces financial hold pages for claims, as well as financial transaction set pages for claims, policies, and value-based payment applications.

NXT-24143

Query API GET Operation is disabled by default

This enhancement introduces property ohi.service.queryapi.get.support to enable the GET operation on the query API (deprecated behavior). By default it is set to false.

This enhancement re-implements the enrollment integration point callout. The parameters are no longer embedded in the URL but included in the message instead. This is a breaking change.

Following are some examples of searches that compare the use of GET and POST:

Table 1. Search a Person with Two Filters
With GET With POST

HTTP Method

GET

POST

URI

http://[hostName]:[portNumber]/[api-context-root]/generic/persons?q=dateOfBirth.eq('1900-01-01').and.name.eq('Doe')

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

JSON Body

N/A

{
    "resource": {
        "q": "dateOfBirth.eq('1900-01-01').and.name.eq('Doe')"
    }
}
Table 2. Search a Person on Two Filters with Ordering on Criteria, Limit, and Offset for Pagination
With GET With POST

HTTP Method

GET

POST

URI

http://[hostName]:[portNumber]/[api-context-root]/generic/persons?q=dateOfBirth.eq('1900-01-01').and.name.eq('Doe')&orderBy=code:desc&limit=10&offset=0

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

JSON Body

N/A

{
    "resource": {
        "q": "dateOfBirth.eq('1900-01-01').and.name.eq('Doe')",
        "orderBy": "code:desc",
        "limit": 10,
        "offset": 0
    }
}
Table 3. Searching via Dynamic Logic
With GET With POST
String response = initCallOut(WebTarget.class)
        .path("generic/messages")
        .queryParam("q","code.eq('OHI-DYLO-001')")
        .request("application/json")
        .buildGet()
        .invoke()
        .readEntity(String.class)
String response = initCallOut(WebTarget.class)
        .path("generic/messages/search")
        .request()
        .buildPost(Entity.json(jsonPayload))
        .invoke()
        .readEntity(String.class)

Where jsonPayload is a String representing:

{
    "resource": {
        "q": "code.eq('OHI-DYLO-001')"
    }
}

Please note that the Page Links associated to the query response also had a structure change: the "searchResource" element was renamed to "body". See an example below:

Table 4. Change in the Response
Before this release In this release
"searchResource": {
    "resource": {
        "offset": "50",
        "name": "activities"
    }
}
"body": {
    "resource": {
        "offset": "50",
        "name": "activities"
    }
}

NXT-25239

Non-Unique Relation Identifiers

This enhancement introduces a new configuration setting that controls whether a relation identifier is unique across relations.

Documentation Links:
Configuration Guide

NXT-25248

UI: Filtering Referenced Data Based on Related Configuration

This enhancement introduces the capability to filter referenced data based on related configuration. With this enhancement, users can configure elements such as an enrollment products list of values to display only products for which at least one group account product is defined, or a list of values on diagnosis to show only those that are associated with a specific group.

NXT-25361

JavaScript Extension Toolkit Upgrade to v14

This enhancement includes an upgrade of the JET (JavaScript Extension Toolkit) core library to version 14, bringing the following changes:

  • The color of selected items (lists or tables) has been changed from green to blue.

  • Sharp borders are now applied around focused elements.

  • Number and amount formats are automatically determined based on the user’s country and are supported out of the box. Country-level number and amount format settings are no longer considered.

NXT-26135

List of Values Support for Quick Search and Mode

This enhancement introduces a feature that allows searching using a list of values in quick search.

Documentation Links:
Developer Guide

NXT-26197

Improvements to Table Components

This enhancement brings multiple changes to the table UI component:

  • The general look and feel of the table has been updated.

  • All columns are now displayed by default.

  • It is now possible to set minimum and maximum column widths at the table component level using the minColWidth(%) and maxColWidth(%) settings.

Documentation Links:
Developer Guide - Table Component

NXT-26601

Improved Language Configuration Support

This enhancement introduces a new feature to facilitate the process of setting up a new language in any of the OHI components. It provides the ability for business users to install new languages on the existing installation of the OHI application through the OHI installer. Once the language is installed in the system, the user can change the language from the preferences menu.

NXT-27308

UI: Rendering Address for Individual Providers

This enhancement allows users to add a new rendering address for individual providers directly from the individual provider page.

NXT-27499

Remove unused properties for vault configuration

With this release few properties which are used to authenticate/authorize vault has been removed.

OIG-2764

Simplified Application Client Configuration

This enhancement allows users to reuse application clients configured in the authorization server across REST clients.

POL-10966

POL-11206

Technical Identifiers in HTTP APIs

This enhancement introduces alternate, non-guessable technical identifiers (ID) in HTTP APIs. The database upgrade (running ohi-update.sh) may take longer for this release as the length of technical identifier columns is now increased.

The data type of technical identifiers like id and any foreign key attributes such as createdBy, lastUpdatedBy, and subjectId is changed from number to string in a generic HTTP API response, except for complex objects. This does not require any change in the JET UI, but any other consumers of HTTP API may need a change to parse the technical identifier as a string.

Sample HTTP API Response
  • Old format

{
  "id": 1587903,
  "code": "PERS123",
  "createdBy": 212,
  "dateOfBirth": "1900-01-01",
  "dobInterpretation": "E",
  "gender": "F",
  "lastUpdatedBy": 212,
  ...
}
  • New format

{
  "id": "158790378430",
  "code": "PERS123",
  "createdBy": "212",
  "dateOfBirth": "1900-01-01",
  "dobInterpretation": "E",
  "gender": "F",
  "lastUpdatedBy": "212",
  ...
}

POL-11213

Enhanced look-up capabilities for referenced properties

This enhancement introduces the option to specify a combination of search criteria for a look-up in the UI. With this enhancement it is now possible to, for example, specify a person look-up with the search criteria last name, date of birth, marital status, and identifier. The criteria support the operators between, greater than, less than, like, and equal. Each criterion with a specified value acts as an AND condition to the search.

This enhancement also introduces the option to configure a lookup on existing data for a string. With this enhancement it is now possible to, for example, specify a list of existing page names or tags on the Floorplan page, a list of grouping labels on the Draft Provider Pricing Clause page, and a list of aggregation levels in the Product page. The user can select a value from the lookup or add a new value. To enable this behavior, the setting "group" should be enabled for the string property.

POL-12061

Indicator Overflow and PII in Usage Configuration Page

This enhancement allows users to configure indicator overflow and PII settings through the usage page.

POL-9591

Throttle Number of Global Level Activities that can Run in Parallel

This enhancement introduces a limit to the number of parent activities that can run in parallel at any point in time.

PRD-3598

Label Component Prefix

This enhancement introduces the capability to include a prefix in the label component of a floor plan by utilizing the prefix property.

Documentation Links:
Developer Guide

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

Additional Upgrade Steps for Installation

The following phases are defined:

  1. pre-upgrade: Application is still running

  2. pre-undeploy: Application is stopped, but not undeployed.

  3. post-undeploy: Application is undeployed. Database is backed up

  4. post-upgrade: Released upgrade script has run.

  5. post-deploy: New application is deployed and is up and running.

Stage: post-upgrade

Action: Enable MAX_STRING_SIZE parameter to Extended. Please follow the below instructions from oracle documentation based on the type of database hosting for oracle 19c database. https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/MAX_STRING_SIZE.html

Configuration Properties

Ref Action Description

AUT-2954

Added

ohi.instrumentation.gather.jvm

New system property

AUT-2998

Added

ohi.persistence.read.maxrowstoretrieve

New system property

AUT-3021

Added

ohi.instrumentation.gather.{0}

New system property

CPN-2525

Modified

ohi.processing.max.concurrentparentactivities.size

The default value is changed to 8

CPN-2525

Modified

ohi.processing.concurrentparentactivities.throttle

Added an optional system property that controls whether the parent level activities should be throttled or not. Default value is true

CPN-2567

Added

ohi.processing.throttle.activities.task.priority.{0}.{1}

Priority of the task (per activity type per activity level) for execution. The first placeholder is the activity type code and the second placeholder is the activity level.

CPN-2567

Added

ohi.processing.throttle.activities.task.dequeue.delay.{0}.{1}

Amount of delay in seconds (per activity type per activity level) when a task re-queues for another attempt. The first placeholder is the activity type code and the second placeholder is the activity level.

CPN-2567

Added

ohi.processing.concurrentparentactivities.throttle.{0}.{1}

System property that determines whether the parent level/root activities should be throttled per activity type per activity level. The first placeholder is the activity type code and the second placeholder is the activity level

CPN-2567

Added

ohi.processing.max.concurrentparentactivities.size.{0}.{1}

System property that determines the number of parent activities that run in parallel per activity type per activity level. The first placeholder is the activity type code and the second placeholder is the activity level

NXT-24143

Added

ohi.service.queryapi.get.support

Property to enable support for GET operations in Query API. The default value for this property is "False", which means the system will accept only "POST" requests.

Note: This property has been deprecated.

NXT-27499

Removed

ohi.vault.jkskeystore.url

URL to JKS keystore that contains certificates

NXT-27499

Removed

ohi.vault.clientpem.url

Resource URL to Vault Client pem

NXT-27499

Removed

ohi.vault.clientkeypem.url

Resource URL to Vault Client Key pem

NXT-27499

Removed

ohi.vault.jkskeystore.password

Password for JKS keystore that contains certificates

NXT-27499

Removed

ohi.vault.jkstruststore.url

URL to JKS truststore that contains certificates

POL-9591

Added

ohi.processing.concurrentparentactivities.throttle

Added an optional system property that controls whether the parent level activities should be throttled or not. Default value is true

POL-9591

Added

ohi.processing.max.concurrentparentactivities.size

Added an optional system property that controls the number of parent level activities that can run in parallel. Default value is 2.

Web Services

Ref Action Description

CPN-2334

Modified

dynamiclogicstatistics

/dynamiclogicstatistics/reset has been added

CPN-2338

Modified

testdynamiclogic

log message in Test Unit IP

CPN-2436

Modified

dynamiclogicstatistics

Statistics are only increased when needed.

NXT-25239

Modified

Relations IP

If more than 1 relation is matched to an identifier, then an error message is thrown

NXT-25239

Modified

identifiertypes API

An identifier type cannot be set to unique when identifiers exist

NXT-25239

Modified

relationidentifiers API

Identifier must be unique when identifier type is set to be unique

POL-10966

Added

relationlinktypes API

API to configure relation links of different types.

POL-10966

Added

relationlinks API

API to maintain relationships between two relations by a pair of relation links.

POL-10966

Modified

persons API

Ability to send in relation links in a list is added.

POL-10966

Modified

relations API

Relation links added.

POL-10966

Modified

Relation Integration Point

Relation links added

POL-10966

Modified

organizations API

Ability to send in relation links in a list is added.

POL-10966

Modified

Policy In Integration Point

Ability to send in relation links added. Only available in OHI Policies.

POL-11206

Modified

Generic HTTP APIs

The data type of technical identifiers like id, createdBy and lastUpdatedBy in the response (and metadata) is changed from number to string

Data Conversion

Ref Action Description

NXT-25239

Added

Identifier types

New column IND_UNIQUE added to REL_IDENTIFIER_TYPES_B with default value set to 'Y' in all the applications except for Policies.

NXT-25239

Removed

Relation Identifiers

Unique constraint on identifier and identifier type is dropped in all the applications except for policies as in policies it was already dropped earlier.

Dynamic Logic

Ref Action Description

POL-11206

Modified

Code Generation

The length of ID attribute is extended from 14 digits to 19 digits. So, this may have an impact if the id is used in code generation dynamic logic (eg: for policy, claim, relation or provider). So, ensure that the generated code fits the length limit/passes field validation dynamic logic (eg: for providers)

POL-11206

Modified

Call out to generic HTTP APIs

The data type of technical identifiers like id, createdBy and lastUpdatedBy in the response (and metadata) is changed from number to string. So, any dynamic logic that parses generic HTTP API response needs to parse the technical identifiers as string instead of number

UI Changes

Ref Action Description

NXT-23157

Added

Financial holds and Financial Transaction Set

Added financial hold page in claims and financial transaction set pages in claims, policies and value based payment application

NXT-26135

Added

Search, List Pages

Search on a list of values through a quick search

NXT-27308

Modified

Individual Providers

Deeplink added for service addres

NXT-27308

Removed

Service Address

Service address page is removed from main menu

POL-10966

Added

Link Types

Setup link types

POL-10966

Modified

Persons

Added ability to maintain relation links

POL-10966

Modified

Organizations

Added ability to maintain relation links

POL-11213

Added

List of Values

Complex search criterion for look ups for Referenced Properties in UI

POL-11213

Added

Grouping Label

Grouping values of particular string field across all the records of the resource in context.

POL-12061

Modified

Usages page

Indicators Overflow and PII added

Breaking Changes

Ref Action Description

NXT-24143

Modified

Enrollment Integration Point

The implementation of the enrollment request is changed: the request parameters are no longer embedded in the URL but are instead included in the message payload. This change is applicable for claims only.

POL-11206

Modified

Call out to generic HTTP APIs in dynamic logic

The data type of technical identifiers like id, createdBy and lastUpdatedBy in the response (and metadata) is changed from number to string. So, any dynamic logic that parses generic HTTP API response needs to parse the technical identifiers as string instead of number

POL-11206

Modified

Generic HTTP APIs

The data type of technical identifiers like id, createdBy and lastUpdatedBy in the response (and metadata) is changed from number to string

Bug Fixes

BugDB SR Internal BP Summary

34588281

CPN-2208

Usage: The search is not retained when navigating back to usage page after making changes to a selected usage record

Description:

Go to Usage page for any entity e.g.: Policies. Search for any specific usage record. Click on View icon to view or edit anything on that particular record. After making changes, click on Apply button, so that user is navigated back to Usage page. Click on Save button. The search box still shows the previously searched value but the table shows all the records

Resolution:

The previous search is retained when navigating back to usage page after making changes to a selected usage record

34594236

CPN-2216

Money fields are getting saved without decimal places when 4 decimal places are entered

Description:

When a value with 4 decimal places is entered in a money field ('9999.9999'), on save it automatically rounds off to the next whole number value without any decimal places('10000').

Resolution:

Money fields are now rounded-off based on decimal precision specified in data model and not converted to whole number

34733146

3-29584669481

CPN-2273

OptimisticLockingException when updating lastlogintimestamp of the user

Description:

Updating lastLoginTimestamp is controlled by a system property ohi.ws.last.login.update.threshold i.e the lastLoginTimestamp is not updated if the user logs-in multiple times with in the same hour.But if there are concurrent requests next second after this hour, both the API/IP requests try to update the same user record, system throws 500 error in this case.

This causes problem in updating the LASTLOGINTIMESTAMP

Resolution:

Error thrown by the system is ignored in case there are concurrent requests to update the same user record. The LASTLOGINTIMESTAMP will be set according to the first request that updates the user record amongst all the incoming concurrent requests.

34853768

CPN-2334

Dynamiclogicstatistics Reset URL missing in Dynamiclogicstatistics Response Body

Description:

/dynamiclogicstatistics/reset URL is not showing up in /dynamiclogicstatistics response body.

Resolution:

/dynamiclogicstatistics/reset URL is showing in /dynamiclogicstatistics response body.

35361103

3-32933090951

CPN-2539

Unable to load FastStringService class during dynamic logic execution

Description:

During claim processing, execution of few dynamic logic fail with "java.lang.RuntimeException: Unable to load FastStringService" exception which prevents claims processing

Resolution:

Implemented mechanism to load FastStringService class at the application startup time so that it will be available later in dynamic logic execution

35440902

3-33108720861

CPN-2572

Failure in enabling dynamic logic cache across the cluster nodes

Description:

Dynamic logic executables cache wasn’t getting enabled across cluster nodes after CMT import.

Resolution:

Ensured to have all the prerequisites available to enable cache in other nodes

35052041

3-30739647241

CPN-2444

Application processing is slow during CMT import

Description:

If a CMT data set containing large number of items that execute dynamic logic (eg: to validate if the dynamic field is valid as per the field validation dynamic logic) are imported when other operations are processed (which involves executing a number of dynamic logic), both CMT import and other operations become very slow because execution of dynamic logic in both CMT import and processing is handled inefficiently.

Resolution:

The execution of dynamic logic in both CMT import and processing has been optimized.

35087362

3-31977844691

CPN-2452

HTTP api metadata caches url from the first api request to get the metadata of a resource

Description:

When metadata of any entity is accessed first time using generic API, it’s generated with absolute URLs and gets cached. Subsequent requests to the same metadata is served from the cache. In multi-node system, accessing metadata from different nodes will return already cached metadata and base URL (hostname and port) mentioned there won’t match with current requests' base URL.

Resolution:

Instead of caching generic API metadata request response with absolute URLs, it gets cached by replacing base URL by placeholder. While returning response for each generic API metadata, cached metadata is processed and placeholder gets replaced by base URL of current request.

35326376

CPN-2533

Remove InLine LOV implementation for rate schedule LOV at capitation page

Description:

Since the support of inline is removed from the application, few pages were found to have this old implementation.

Resolution:

Fix was made to remove all the inline LOV implementation.

35230503

CPN-2498

DynamicRecordSetup non-entity cache holds redundant FieldDetails objects

Description:

Too many redundant FieldDetails objects (which are already part of FlexCodeSetup non-entity cache) are cached in DynamicRecordSetup non-entity cache. This is causing memory issues.

Resolution:

The memory utilization of non-entity cache DynamicRecordSetup is optimized

34872151

CPN-2354

Boilerplate not loading for widgets

Description:

Users will add boilerplate keys in custom widgets. These are not getting loaded in UI

Resolution:

Boilerplates added in widgets floorplan by users will be shown in the UI. Note : when configuring more than one widget based on same resource, users might have to use labels with prefix 'WIDGETS'. This will be fixed as part of NXT-27395

34868579

CPN-2347

Zip files cannot be imported on Mac and Linux

Description:

File cannot be imported using Mac and Linux. This is a common issue observed with file upload component

Resolution:

It is possible to import Zip files on Mac and Linux.

34871106

CPN-2349

Additional Fields: Cancel button is saving the data.

Description:

Create a new claim and click on additional fields. Save few additional fields. Now edit the additional fields and click on cancel. New changes are getting saved

Resolution:

On click of cancel, the values in the additional fields drawer move back to prior state if there are any changes made.

34963799

CPN-2394

Provider search is taking around 30sec average to load a provider

Description:

Provider search takes an average of around 30sec ( 37sec-27sec) response time.

Resolution:

Added function based index on REL_PROVIDERS table NAME column to improve performance.

35302590

3-32742074681

CPN-2525

ActivitySubmissionTask enqueued to AQ does not use the priority from the task type

Description:

When ActivitySubmissionTask is enqueued (if activities throttling is enabled) to AQ, the priority is set to 0 instead of using the priority (9) from the task type

Resolution:

When ActivitySubmissionTask is enqueued to AQ, the priority from the task type is used. The default value of the property ohi.processing.max.concurrentparentactivities.size is changed to 8. System spawned activities (eg: INTEGRATION_OUT_PROCESSING) are not throttled by default

34871887

CPN-2351

Add to Floorplan - Next button is not responding

Description:

Create a usage Field and click on add to floor plan. Select custom Floor plan and click on next. Select the set and select 'Create new tile'. Now Next button is not responding

Resolution:

Next button is working fine in Usages page when Add To Floorplan action is performed

35042050

CPN-2436

Statistics count increases during GET calls on the dynamiclogicstatistics IP endpoints

Description:

Statistics count increases during a GET call on the dynamiclogicstatistics IP endpoints, even if no dynamic logic is run.

Resolution:

This issue is occurring when the dynamiclogicstatistics requests run on different nodes. This bug is resolved. Now, the statistics count increases only after a dynamic logic is executed.

34866790

CPN-2314

Display never not working for dynamic fields mentioned in floorplan when autoinclude is set to yes

Description:

Dynamic field is shown in persons page UI and able to edit it in extensibility drawer, even though the property is added to the floorplan and display attribute is set to never.

Resolution:

Dynamic field is not shown in extensibility drawer when configured in the floorplan when display 'never' is set

34945340

CPN-2287

The display sequence of fields of a reference sheet in JET is not getting displayed

Description:

The display sequence of fields of a reference sheet in JET is not getting displayed

Resolution:

Fields in reference sheet lines page are displayed according to the sequence given by the user.

34911611

CPN-2376

Field with SVTV Flex code & mandatory are not responding in additional fields drawer

Description:

Create SVTV Flex code which is mandatory for Enrollment products and fill the data for this field in the additional fields drawer, still we get the error to fill the data

Resolution:

SVTV Flex code field values can be added without any error in additional fields drawer

35153852

CPN-2472

Automatic activity fail over sometimes results in duplicate child activities

Description:

When a JVM processing activity is restarted, the activity failover happens and the other JVM in the system re-submits that activity. This creates duplicate child activities upon rolling restart. This leads to reprocessing the data file that was already successfully processed before the JVM is restarted

Resolution:

The unique Identifier issue was fixed already, the issue was not reproducible

34872229

CPN-2355

Unsaved pop-up message is showing when we click on add button on few pages

Description:

On clicking of add button unsaved pop up showing. Pop-up is also shown while scrolling to fetch more rows. The issue doesn’t occur if we add new rows without doing a blank search

Resolution:

Unsaved pop up message doesn’t show when we click on add button in table pages

34871898

CPN-2353

Reference Sheet lines page is not loading all the results

Description:

Reference Sheet Lines page is not loading more than 50 records even when there are more than 50 records present in the database.

Resolution:

Reference Sheet Lines page loads records as per expected behavior since it uses a generic API now and also quick search is made based on Query API and advance search is removed from the page

34863770

CPN-2338

'Execution starts' , Result , Execution Completed msgs display twice in logMessages in Test Unit IP Response

Description:

'Execution starts' , Result , Execution Completed msgs display twice in logMessages in Test Unit IP Response

The standard logging is confusing, it seems that the same error message is given twice. This is however not the case. One is for Test Unit dylo and the other for the actual Dylo. The dynamic logic code context is missing in the logging. These messages should be more clear.

Resolution:

Internal log messages are removed and not showing anymore in the Test Unit IP Response.

34911446

CPN-2374

Apply button is not responding in additional fields drawer when mandatory dynamic records are configured

Description:

Make a Dynamic Record as mandatory from usages page. Create a new claim and click on additional fields drawer. Apply button is not responding, when checked the console we have a error to fill in the Extensibility tab level

Resolution:

Apply button in additional fields drawer works fine with mandatory dynamic records configured

34977350

CPN-2414

Floorplan changes for Auto Include Extensibility.

Description:

The floorplan page allows auto include extensibility to set to be true and also existing floorplans have auto include extensibility set to true for templates other than SEARCH TABLE, VIEW EDIT LIST and VIEW EDIT HIERARCHICAL RECURSIVE.

Resolution:

All the existing floorplans of templates other than SEARCH TABLE, VIEW EDIT LIST and VIEW EDIT HIERARCHICAL RECURSIVE have auto include extensibility flag set to false and also while creating new floorplan, it conditionally displays the auto include extensibility based on the template.

35263864

CPN-2521

On clicking a Deeplink configured within Widgets, an empty Drawer opens up followed by a Page Navigation

Description:

On Clicking a Deeplink configured within a Widget, a Drawer opens followed by a Page Navigation to the associated page. The expected behavior for a Deeplink inside a widget is to not open a drawer but to directly navigate to the associated page.

Resolution:

On clicking a deeplink configured within a Widget, the current page in context navigates to the deeplinked page.

34868055

CPN-2345

Additional Fields: Apply and cancel buttons are shown in view mode

Description:

Additional Fields: Apply and cancel buttons should not be shown in view mode

Resolution:

Apply button is not shown in view mode in additional fields drawer

35165439

3-32387051031

CPN-2483

Referencesheetlines can not be created with blank endDate via API or IP

Description:

When trying to create reference sheet lines using API or IP with empty enddate i.e. endDate as "". Application is causing NPE

Resolution:

An empty string for a date has been handled so that NPE will not be there. Also this empty string will update the endDate as null in database.

35619672

CPN-2665

Parent activity cannot deal with spawned child activities that fail

Description:

Parent activity was unable to handle business/validation errors on individual spawned child activities. So all child activities were getting InProcess status and parent activity was getting BusinessError status.

Resolution:

Parent activity will now be able to handle business/validation errors on the level of individually spawned child activities.

35328536

3-32247856831

CPN-2535

The number of items in shared Eclipselink caches is maximized

Description:

The shared Eclipselink caches could grow unlimited, which resulted in memory shortage. To prevent that, the number of items in such a cache is now limited using the system properties ohi.persistence.cache.size.default and ohi.persistence.cache.{0}.size.

Resolution:

The number of items in shared caches is now limited using the system properties ohi.persistence.cache.size.default and ohi.persistence.cache.{0}.size.

34910041

CPN-2372

Context string enclosed in single quote gives API error

Description:

Search query formed when context string has a trailing space leads to API error. Search Query Expected is for example "q": "groupClient.code.eq('TEST ')" but actually is 'q": "groupClient.code.eq(''TEST '')"

Resolution:

Search performed without errors when context string has a trailing space as well

34887642

CPN-2363

Activities - Parameters do not show-up when you view any activity

Description:

Go to Global Activities page. Invoke a new activity and fill all the required details including parameters selection. Click on Invoke button. The activity will be saved without displaying any parameter.

Resolution:

Parameters are displayed properly in Global activities page after invoking an activity

34902704

CPN-2368

Activity recovery at startup time does not set process_stop_datetime

Description:

When an activity in 'Initial' or 'In process' status was set to 'Technical Error' status, process_stop_datetime was not set accordingly hence giving an impression that the activity’s elapsed time keeps increasing.

Resolution:

The update query which sets the 'Technical Error' status has been modified to set the correct process_stop_datetime as well.

35625343

CPN-2667

System allows to set system=false for system floorplans and widgets

Description:

BR : GEN-RULE-027 is not triggerd. Users can patch a system floor plan to "system:false" and modify its contents.

Resolution:

Update of system attribute in floorplan and widgets is not allowed anymore.

34954556

3-31347176551

CPN-2385

FlexCodeDefinitionCode and Value fields are present in the generic API Get response but are missing in the extract output.

Description:

FlexCodeDefinitionCode and Value fields were not present in the extract output but were present in the generic API Get response.

Resolution:

If FlexCodeDefinitionCode and Value fields are present in the generic API Get response, then these fields are present in the extract as well.

35425417

3-31806714591

CPN-2568

Predefined method 'lookUpFlexCode' impacts the cache after language change

Description:

Predefined method lookUpFlexCode impacts the OHI FlexCodeKeyValueCacheSupport cache after language change.

Resolution:

FlexCodeKeyValueCacheSupport retrieves all translations present after language change.

35372121

3-32959396861

CPN-2540

Reference sheet line import activity sometimes fails with NullPointerException

Description:

Reference sheet line import activity sometimes fails with NullPointerException. The exception is resolved if the activity is recovered/restarted

Resolution:

The NullPointerException is fixed and the memory utilization in reference sheet line import activity is optimized

35394045

CPN-2542

java.lang.NoClassDefFoundError: org/bouncycastle/asn1/cms/CMSObjectIdentifiers when creating a key using keystores IP

Description:

BouncyCastle library is being used in the flow of creating the keys using Keystore. This library was not bundled with the application

Resolution:

Latest version of BouncyCastle library has been bundled with the policies application.

Issues that were backported in previous Release / Patch

No backports.

Known Issues

BugDB SR Internal Summary

32477683

CPN-1431

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.

34401173

3-29621579461

CPN-2146

CMT recovery process fails with null pointer exception

Description:

During restart, the data set processes for CMT are cleaned up. As a result, CMT recovery process fails with null pointer exception

34593809

CPN-2214

Cross reference of fields across floorplan ($context.parent) does not work in filter

Description:

If a floorplan is configured with a condition on a refType property, that modifies the filter to use $context.parent as shown in following snippet, it throws an error. Ex: "filter":"${context.product.code}"

34593858

CPN-2215

Accessing parent’s properties through $context does not work for conditions floor plan component in create mode

Description:

It is not possible to access parent properties through $context in conditions component, configured on the child entity’s floor plan in create mode.

34962502

3-31180617981

CPN-2393

Edit mode is allowing multiple records for single value time valid record

Description:

Edit mode is allowing multi records for Single Value Time Validity even after setting the “addNewRow”:”Never” in floorplan. In individual provider, for create mode - Single Value Time validity, it’s not providing a new row when data is entered (which is expected). But for Edit mode - Single Value Time validity, it’s giving a new row when data is entered (which is NOT expected because “addNewRow”:”Never” is added in floorplan)

34980215

3-31796002821

CPN-2418

Dynamic logic timeout property is ignored when compiling dynamic logic at startup time

Description:

The dynamic logic timeout property (ohi.dynamiclogic.timeout or ohi.dynamiclogic.timeout.{0}) is ignored when the dynamic logic is compiled at system startup time.

35031585

3-31969350441

CPN-2430

Query API cannot handle optional field with flex code definition requesting combination with null

Description:

When you do a query search with a combination of a null, for instance (multicore.eq('Y').or.multicore.eq(null)). The result shows the records having value Y and not the ones with a null value.

35108741

CPN-2461

The order of Dynamic records does not remain same as what is configured on Record Definition page

Description:

The dynamic record shows the fields in different order than how it was configured.

35513644

CPN-2595

Person code generation dynamiclogic is not used to construct the person code, even after activating the dynamiclogic that has signature Person Code generation.

Description:

Person code generation dynamiclogic is not used to construct the person code, even after activating the dynamiclogic that has signature Person Code Generation.

35544858

3-33374204261

CPN-2612

Whenever there is a IP error response, errorCode, errorPath and errorDetails should be prefixed with 'o:' to follow the REST standards.

Description:

Few IP error responses are not inline with REST standards. 'o:' is missing.

35548098

3-33515434791

CPN-2614

Improve log messages to point to log file when appropriate

Description:

Improve log messages to point to log file when appropriate

35686859

CPN-2724

Reset Query Statistics - in Monitor Dynamic Logic Querying

Description:

When we query something in the testunit dynamic logic and then invoke/test another dynamic logic in the same testunit dynamic logic, the value/count for all query parameters displays incorrect

35684770

CPN-2727

For certain special LOV properties configured in the floorplan with suffix 'JET' ,upon selecting a value, the focus moves out of the table row

Description:

On selecting a value from dropdown for special functional LOV properties in table pages, the focus moves out of the table row

Deprecated Items

JIRA Key Announced Release Announced Summary

NXT-25000

3.22.2.0.0

The use of parameters that influence the resource representation in the 'Accept' header of an HTTP request is deprecated.

NXT-25662

3.22.2.0.0

The support to GET operations on Query API calls is deprecated.