Customer-Configurable Application Properties

This section explains the properties that customer administrators can update in Oracle Health Insurance Cloud Services (OHI CS). These properties include settings related to user interface customizations, cache control, performance tuning, and specific application behavior adjustments.

Only the properties with Change Effective value as After Restart require a restart.

Dynamic Logic

ohi.dynamiclogic.timeout

An optional property that determines the timeout of a running Dynamic Logic. If the timeout expires, the system interrupts the Dynamic Logic and throws an exception. The value is in seconds. Please note that when you add/update a Dynamic Logic timeout property, the Dynamic Logic needs to recompile for the property change to take effect. You can do this by using the "Invalidate Dynamic Logic Integration Point".
Possible values: Integer ≥ 0
Default value: 300
Change effective: Next Execution
Access Mode: Public

ohi.dynamiclogic.timeout.<0>

An optional property that determines the timeout of the running Dynamic Logic. If the timeout expires, the system interrupts the Dynamic Logic and throws an exception. The value is in seconds. This property is for a particular Dynamic Logic code, so replace the placeholder <0> with the Dynamic Logic code for which you want to specify the timeout. Please note that when you add/update a Dynamic Logic timeout property, the Dynamic Logic needs to recompile for the property change to take effect. You can do this by using the "Invalidate Dynamic Logic Integration Point". If this property is not set, it takes the value of ohi.dynamiclogic.timeout (which in its turn has a default of '300').
Possible values: Integer ≥ 0
Default value:
Change effective: Next Execution
Access Mode: Public

Cache Control

ohi.httpapi.cache.control.cachesetting.metadata

This property specifies the code of a OHI_RESOURCE_CACHE_SETTING for metadata settings. See ohi.httpapi.cache.control.enable.
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.httpapi.cache.control.enable

Property to enable HTTP API Caching, which is disabled by default. When enabled, HTTP API will add a Cache-Control header in the response it sends.
Possible values: Boolean
Default value: false
Change effective: Next Execution
Access Mode: Public

Web Service Settings

ohi.service.client.cache.size

The rest client cache size.
Possible values: Integer ≥ 1
Default value: 500
Change effective: Immediate
Access Mode: Public

ohi.service.client.pool.active

Enable or disable to leverage connection pool functionality
Possible values: Boolean
Default value: true
Change effective: After Restart
Access Mode: Public

ohi.service.client.pool.destination.maxconnections

The maximum number of connections in the pool per destination. Effective immediately for non-cached clients.
Possible values: Integer ≥ 1
Default value: 64
Change effective: After Restart
Access Mode: Public

ohi.service.client.pool.destination.maxqueued

The maximum number of connections in the pool allowed to be queued per destination. Effective immediately for non-cached clients.
Possible values: Integer ≥ 1
Default value: 1024
Change effective: After Restart
Access Mode: Public

ohi.service.client.pool.timeout.addressresolution

The max time, in milliseconds, to resolve the host address. Effective immediately for non-cached clients.
Possible values: Integer ≥ 1
Default value: 15000
Change effective: After Restart
Access Mode: Public

ohi.service.client.pool.timeout.connection

The time in milliseconds before the attempt to connect to an outbound service times out. Effective immediately for non-cached clients.
Possible values: Integer ≥ 1
Default value: 15000
Change effective: After Restart
Access Mode: Public

ohi.service.client.pool.timeout.idle

The max time, in milliseconds, a connection can be idle. Effective immediately for non-cached clients.
Possible values: Integer ≥ 1
Default value: 60000
Change effective: After Restart
Access Mode: Public

ohi.service.client.response.content.maxsize

Maximum allowed response content size in MegaBytes (MB).
Possible values: Integer ≥ 1
Default value: 2147
Change effective: After Restart
Access Mode: Public

ohi.service.<0>.client.authentication

This property specifies the (Jersey/REST specific) authentication mechanism to use for machine-to-machine communication. Allowable values are 'None', 'BasicAuthentication' (and 'OAuth'). The notification key replaces the <0>.
Possible values: String
Default value: BasicAuthentication
Change effective: Next Execution
Access Mode: Public

ohi.service.<0>.client.pool.destination.maxconnections

The maximum number of connections in the pool per destination for client <0>. Effective immediately for non-cached clients.
Possible values: Integer ≥ 1
Default value:
Change effective: After Restart
Access Mode: Public

ohi.service.<0>.client.pool.destination.maxqueued

The maximum number of connections in the pool allowed to be queued per destination for client <0>. Effective immediately for non-cached clients.
Possible values: Integer ≥ 1
Default value:
Change effective: After Restart
Access Mode: Public

ohi.service.<0>.client.pool.timeout.addressresolution

The max time, in milliseconds, to resolve the host address. This property is specific to client <0>. Effective immediately for non-cached clients.
Possible values: Integer ≥ 1
Default value:
Change effective: After Restart
Access Mode: Public

ohi.service.<0>.client.pool.timeout.connection

The max time, in milliseconds, a connection can take to connect to destinations. A value of 0 means never timeout. This property is specific to clientId <0>. Effective immediately for non-cached clients.
Possible values: Integer ≥ 1
Default value:
Change effective: After Restart
Access Mode: Public

ohi.service.<0>.client.pool.timeout.idle

The max time, in milliseconds, a connection can be idle. This property is specific to client <0>. Effective immediately for non-cached clients.
Possible values: Integer ≥ 1
Default value:
Change effective: After Restart
Access Mode: Public

ohi.service.<0>.media.type

For the notification media type. Notification key replaces the <0>.
Possible values: String
Default value: application/json
Change effective: Next Execution
Access Mode: Public

ohi.service.<0>.method.type

This property is for the notification method type. The notification key replaces the <0>.
Possible values: String
Default value: POST
Change effective: Next Execution
Access Mode: Public

ohi.ws.client.connectiontimeout

The time in milliseconds before the attempt to connect to an outbound service times out. A value of 0 means never timeout.
Possible values: Integer ≥ 0
Default value: 60000
Change effective: Immediate
Access Mode: Public

ohi.ws.client.maxconnectionsperhost

The maximum number of concurrent connections the HTTP client will allow to a certain host at any given moment.
Possible values: Integer ≥ 1
Default value: 2
Change effective: Immediate
Access Mode: Public

ohi.ws.client.maxtotalconnections

Sets the maximum number of total concurrent connections the HTTP client will allow at any given moment.
Possible values: Integer ≥ value of ohi.ws.client.maxconnectionsperhost
Default value: 20
Change effective: Immediate
Access Mode: Public

ohi.ws.client.readtimeout

The time in milliseconds that the client will wait for the server to respond to the request. A value of 0 means never timeout.
Possible values: Integer ≥ 0
Default value: 60000
Change effective: Immediate
Access Mode: Public

ohi.ws.client.retrytimeout

The time in milliseconds that the system will wait before it makes another attempt to access a failing service. A value of 0 means no timeout before retrying.
Possible values: Integer ≥ 0
Default value: 1000
Change effective: After Restart
Access Mode: Public

ohi.ws.last.login.update.threshold

The number of hours that need to pass between logins before updating the user’s last login timestamp. By default, the last login timestamp will not update more than once per hour. This only applies to logins through a web service
Possible values: Integer ≥ 1
Default value: 1
Change effective: Next Execution
Access Mode: Public

Web Service Client Authentication

Outbound RESTful invocations can be secured using Basic Authentication or OAuth2. For details, refer to the relevant chapter in the Security Guide. Each client needs to be configured separately.

The applicable properties all follow the same naming convention: ohi.service.<service>.client.authentication. The default value is BasicAuthentication. The placeholder is the name of the client.

The basic authentication method for cloud customers is deprecated in the latest release.

Oracle Health Insurance defined client names are listed as follows:

Web Service: Activity Notification
Client Name: ActivityResponseClient
Relevant Properties: ohi.service.ActivityResponseClient.client.authentication

Web Service: Data Exchange Export Notification
Client Name: DataExchangeExportNotificationClient
Relevant Properties: ohi.service.DataExchangeExportNotificationClient.client.authentication

Web Service: Data Exchange Import Notification
Client Name: DataExchangeImportNotificationClient
Relevant Properties: ohi.service.DataExchangeImportNotificationClient.client.authentication

Web Service: Data Set Operations
Client Name: DataExchangeClient
Relevant Properties: ohi.service.DataExchangeClient.client.authentication

Defining the property for the authentication mechanism must be done in conjunction with defining the credentials that the web service client uses when making the request. The process for entering credentials is also outlined in the Developer Guide.

Web Service Media Type

Specific outbound RESTFul invocations support multiple output formats such as XML or JSON. This can be configured via the media type property. If unspecified, the default value is application/json.

The property name follows the following naming convention:

  • ohi.service.<service>.media.type. The placeholder is the name of the client.

The names of the clients that support a configurable media type are listed as follows:

Web Service: Activity Notification
Client Name: ActivityResponseClient
Relevant Properties: ohi.service.ActivityResponseClient.media.type

Task and Activity Processing

ohi.activityprocessing.notification.endpoint

RESTful Service endpoint URL for delivering the response notification after activity processing completes. OHI Components applications will use a POST operation by default. You can overwrite this by using ohi.service.<0>.method.type, where the notification key must replace the <0>. Sample value is \\http://machine:port/api/generic_notification_service.
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.activityprocessing.notification.endpoint.<0>

Activity type-specific RESTful Service endpoint URL for delivering the response notification once activity processing completes. The activity type code must replace the <0>. For example, REFSHEETLINE_IMPORT. When you do not set this property, the property uses the value of ohi.activityprocessing.notification.endpoint. OHI Components applications will use a POST operation by default. You can overwrite this by using ohi.service.<0>.method.type, where the notification key must replace the <0>. Sample value is \\http://machine:port/api/generic_notification_service.
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.amount.scale

By default, amounts are stored with the scale of 2 (two digits after the decimal point). A subset of amounts allows for a higher scale. For example, the premium amounts in calculation results allow up to 12 digits after the decimal point. How many of those additional digits the system actually uses depends on this property. The system can use it to store calculation result amounts with greater scale. An increase of scale allows for sending financial data on a detail level (For example, VAT on a premium for a member) to the financial system and round only after aggregation (For example, on a group account); rounding in an early stage to two decimals leads to a substantial difference with the expected outcome on an aggregate level.
Possible values: 2 ≤ Integer ≤ 12.
Default value: 2
Change effective: Next Execution
Access Mode: Public

ohi.max.headroom

The maximum number of tasks to load into the processing grid.
Possible values: Integer ≥ 1
Default value: 1000
Change effective: Next Execution
Access Mode: Public

ohi.max.headroom.<0>

The maximum number of tasks to load into the processing grid - per given activity type.
Possible values: Integer ≥ 1
Default value: 1000
Change effective: Next Execution
Access Mode: Public

ohi.processing.attemptLogLevel

A non-zero value for this property means that the system retains data (That is, extra_info) for failed attempts.
Possible values: Integer ≥ 0
Default value: 0
Change effective: Next Execution
Access Mode: Public

ohi.processing.concurrentparentactivities.throttle

System property that determines whether the parent level/root activities should be throttled.The parent activities spawned by the system (i.e., activities with origin 'Spawned' but not initiated by the user) are not throttled by default. This behavior can be overruled through the activity type specific property ohi.processing.concurrentparentactivities.throttle.<0>.<1>
Possible values: Boolean
Default value: true
Change effective: Next Execution
Access Mode: Public

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
Possible values: Boolean
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.processing.groupsize

The number of tasks to group (when applicable) into a collection of tasks to put into the processing grid as one atomic unit. This complete collection will process on one processing node.
Possible values: Integer ≥ 1
Default value: 400
Change effective: Next Execution
Access Mode: Public

ohi.processing.groupsize.<0>

The number of tasks to group (when applicable) into a collection of tasks to put into the processing grid as one atomic unit - per activity type. This complete collection will process on one processing node.
Possible values: Integer ≥ 1
Default value: 400
Change effective: Next Execution
Access Mode: Public

ohi.processing.loadercount

The number of loader tasks the system has to spawn, whenever an activity of that type needs to be processed and has child tasks spawned into the grid. These loaders work concurrently on the set of child tasks to spawn.
Possible values: Integer ≥ 1
Default value: 1
Change effective: Next Execution
Access Mode: Public

ohi.processing.loadercount.<0>

The number of loader tasks the system has to spawn for a specific activity type, whenever an activity of that type needs to be processed and has child tasks spawned into the grid. These loaders work concurrently on the set of child tasks to spawn.
Possible values: Integer ≥ 1
Default value: 1
Change effective: Next Execution
Access Mode: Public

ohi.processing.loaderyield

This property specifies the time (in seconds) the system holds back a loader task in the grid, in the event it reaches its maximum allowed number of tasks to load and spawn into the grid.
Possible values: Integer ≥ 1
Default value: 3
Change effective: Next Execution
Access Mode: Public

ohi.processing.loaderyield.<0>

This property specifies the time (in seconds) the system holds back a loader task in the grid, in the event it reaches its maximum allowed number of tasks to load and spawn into the grid.- per given activity type.
Possible values: Integer ≥ 1
Default value: 3
Change effective: Next Execution
Access Mode: Public

ohi.processing.max.concurrentparentactivities.size

System property that determines the number of parent activities that run in parallel by default, if throttling is enabled.The parent activities spawned by the system (i.e., activities with origin 'Spawned' but not initiated by the user) are not considered for size limit by default. This behavior can be overruled through the activity type specific property ohi.processing.max.concurrentparentactivities.size.<0>.<1>
Possible values: Integer ≥ 0
Default value: 8
Change effective: Next Execution
Access Mode: Public

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
Possible values: Integer ≥ 0
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.processing.max.numberofretries

The maximum amount of times activity processing will try to send out an 'activity processed' event to an external system.
Possible values: Integer ≥ 0
Default value: 3
Change effective: Next Execution
Access Mode: Public

ohi.processing.max.numberofretries.<0>

The maximum amount of times activity processing will try to send out an 'activity processed' event to an external system - per activity type.
Possible values: Integer ≥ 0
Default value: 3
Change effective: Next Execution
Access Mode: Public

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
Possible values: Integer ≥ 0
Default value:
Change effective: Next Execution
Access Mode: Public

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
Possible values: Integer ≥ 0
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.processing.yield.default

This property specifies the default time (in seconds) that the system holds back a task in the processing grid, in between execution steps. This is typical for parent-child task relationships, where a parent task will has to regularly check on the status of its children.
Possible values: Integer ≥ 1
Default value: 3
Change effective: Next Execution
Access Mode: Public

ohi.processing.yield.taskcompletion

This property specifies the time (in milliseconds) the system will hold an (aggregate) task backfor task loaders to complete their work.
Possible values: Integer ≥ 1
Default value: 3
Change effective: Next Execution
Access Mode: Public

ohi.processing.yield.<0>

This property specifies the default time (in seconds) that the system holds back a task in the processing grid, in between execution steps. This is typical for parent-child task relationships, where a parent task has to regularly check on the status of its children - per activity type.
Possible values: Integer ≥ 1
Default value: 3
Change effective: Next Execution
Access Mode: Public

Specify Task as per Activity Type

Oracle Health Insurance Product Definition allows to individually specify some of the aforementioned application properties on a per-activity-type basis. This provides finer grained control of loading and processing semantics.

The way to accomplish this is to concatenate the mnemonic for the specific activity type after the specific property key, for example:

ohi.processing.groupsize.REFERENCE_SHEET_IMPORT=250

This mechanism is available for the following properties:

  • ohi.processing.yield.<activity_type>

  • ohi.max.headroom.<activity_type>

  • ohi.processing.groupsize.<activity_type>

  • ohi.processing.loadercount.<activity_type>

  • ohi.processing.loaderyield.<activity_type>

  • ohi.processing.max.numberofretries.<activity_type>

For the mnemonic of individual activity types, see the Developer Guide.

Reinsurance

ohi.reinsurance.aliasCodes

Used to determine whether the application has to create product benefit specification reinsurance entities.
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.reinsurance.usageName

Used to determine whether the application has to create product benefit specification reinsurance entities
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

Callout Rules

ohi.servicecallout.<0>.url

MANDATORY
Web Service endpoint URL for a Callout Rule, <0> to be replaced with callout definition code.
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.rest.client.logging

Enable or Disable logging for rest clients. When "true" will log traffic to external system.
Possible values: Boolean
Default value: false
Change effective: Immediate
Access Mode: Public

ohi.servicecallout.media.type

The media type to be used for REST call outs. Can be overriden per call out, see 'ohi.servicecallout.<0>.media.type'.
Possible values: String
Default value: application/json
Change effective: Next Execution
Access Mode: Public

ohi.servicecallout.<0>.completeness.interval

Time interval in seconds used by the system to check if a response for the Callout Rule is received. The <0> placeholder should match the calloutdefinition code that is configured for a specific rule. Rule: 1 ≤ completeness.interval ≤ completeness.timeout. This is verified at system startup. If the completeness interval parameter is not specified for a Callout Rule, the system will use the value of 'ohi.servicecallout.<0>.completeness.timeout' (which has in its turn default value '5').
Possible values: Integer ≥ 1
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.servicecallout.<0>.completeness.timeout

Time interval in seconds used by the system to determine if a response for the Callout Rule is received in time. If a response is not received before the time out period is exceeded, the system raises an error. The <0> placeholder should match the calloutdefinition code that is configured for a specific rule. Rule: completeness.timeout > 1. This property also provides a fallback value when completeness.interval is not set.
Possible values: Integer > 1
Default value: 5
Change effective: Next Execution
Access Mode: Public

ohi.servicecallout.<0>.media.type

The media type to be used for an individual REST call out, <0> to be replaced with callout definition code. When this property is not set, the value of 'ohi.servicecallout.media.type' will be used.
Possible values: String
Default value: application/json
Change effective: Next Execution
Access Mode: Public

Data Exchange

ohi.application.uri.<0>

MANDATORY
Reference to URI of the source application to retrieve data-sets metadata to be processed. Either "CONF" or "PRD" as values replace the <0>. It is possible to define multiple URI’s, with ";" separating each.
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.<0>.endpoint.request

Allows for web service client interactions to identify their request URI destination. The system uses this property to get the URI for the end point. The notification key replaces the <0>. Sample value is \\http://machine.domain:port/<0>.
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

Data File Import

The following table lists the technical properties that influence data file (batch) processing performance.

Only make changes to these properties after consulting with Oracle.

Data Set Operations

ohi.datasetoperations.notification.endpoint.export

This property is about the Data Set Operations Integration Point, for export usages. It contains a URI that refers to the notification message, once the process of uploading the data set payload completes this message is sent.
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.datasetoperations.notification.endpoint.import

This property is about the Data Set Operations Integration Point, for import usages. It contains a URI that refers to the notification message, once the process of uploading the data set payload completes this message is sent. Error messages prevent the import from happening.
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

OAuth 2.0

REST Clients in Oracle Health Insurance applications can be configured to send requests to OAuth 2.0 protected resources. See the Security Guide for further details about OAuth 2.0 support in Oracle Health Insurance applications.

The Oracle Health Insurance application’s RESTful services can also be OAuth 2.0 protected. In that case the application validates and introspects OAuth 2.0 access tokens that are sent as Bearer tokens in the HTTP Authorization header.

The following table lists OAuth 2.0 REST Client and server-side properties.

Monitoring and Metrics

ohi.instrumentation.common.application.tag

Set to true to tag each metric with the name of the application.
Possible values: Boolean
Default value: false
Change effective: After Restart
Access Mode: Public

ohi.instrumentation.filter.ohi.nameprefix

Set to false to enable recording of non-OHI metrics.
Possible values: Boolean
Default value: true
Change effective: After Restart
Access Mode: Public

ohi.instrumentation.gather.applicationmetrics

Set to true to enable recording of OHI metrics.
Possible values: Boolean
Default value: false
Change effective: Immediate
Access Mode: Public

ohi.instrumentation.gather.gc

Set to true to enable recording of garbage collection metrics.
Possible values: Boolean
Default value: false
Change effective: After Restart
Access Mode: Public

ohi.instrumentation.gather.jvm

Set to true to enable recording of JVM metrics.
Possible values: Boolean
Default value: false
Change effective: After Restart
Access Mode: Public

ohi.instrumentation.gather.system

Set to true to enable recording of system metrics.
Possible values: Boolean
Default value: false
Change effective: After Restart
Access Mode: Public

ohi.instrumentation.gather.<0>

Set to true to enable recording of metrics for the metric set. The placeholder value is the code of the metric set
Possible values: Boolean
Default value: true
Change effective: Immediate
Access Mode: Public

ohi.instrumentation.resourceclienttimer.segment.prefixes

Comma-separated list of resource path segment prefixes for resource client timers that the system interprets as not being the last segment of the resource path.
Possible values: Comma-separated string, e.g. api,oig-api,policies-ws
Default value:
Change effective: After Restart
Access Mode: Public

ohi.instrumentation.<0>.histogram

Determines whether to publish histogram buckets for the timer you configure.
Possible values: Boolean
Default value: false
Change effective: After Restart
Access Mode: Public

ohi.instrumentation.<0>.percentiles

Percentiles for the timer you configure.
Possible values: Comma-separated string, e.g. 0.5,0.75,0.95,0.99
Default value:
Change effective: After Restart
Access Mode: Public

ohi.instrumentation.<0>.regex

The system publishes data for the timer if the tag name that you specify as property ohi.instrumentation.<0>.regex.tagname matches this regular expression.
Possible values: Regular expression
Default value:
Change effective: After Restart
Access Mode: Public

ohi.instrumentation.<0>.regex.tagname

Tag name subject to testing with the regular expression that you specify as property ohi.instrumentation.<0>.regex. The system publishes data for the timer if the tag name matches the regular expression.
Possible values: String
Default value:
Change effective: After Restart
Access Mode: Public

For ohi.instrumentation.gather.<0> the placeholder values are: dylo, activityprocessing, extract, persistence, resource, task, springbatch, datareplication.

See the Operations Guide for details about metric-related properties