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
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
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