Application properties
System properties influence the behavior of the system. Administrators use them to set timeout values, url addresses, processing settings, and many other properties.
System properties can be set:
-
in the ohi-proddef.properties file
-
by the Properties API.
A new Oracle Health Insurance Product Definition release may have a different set of properties that is supported.
The Property Definitions Integration Point contains the list of all available properties. |
The following tables describe all properties. The property names are formatted for readability, note that the property names and associated values should always be specified on one line in the properties file.
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.properties.file. |
Changes made to any of these properties are not immediately picked up by the application. That only happens when it reads the properties-file again. This property specifies how often the system will read the file, in minutes. Default value, every 10 minutes. Minimum value, 1 minute. Values lower than that are ignored, meaning the default value is used. |
10 |
Integer ≥ 1 |
Next Execution |
Base View Generator
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.baseview.generation. |
The number of worker threads to start for a base view generation process |
8 |
Integer ≥ 1 |
Immediate |
Dynamic Logic
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.dynamiclogic. |
Path to directory in which the system generated Dynamic Logic classes are placed. |
/tmp |
String |
Next Execution |
ohi.dynamiclogic. |
An optional property that determines whether to compile the dynamic logic (those who are not compiled before) at start-up of the application or not. |
true |
Boolean |
Next Execution |
ohi.dynamiclogic.timeout |
An optional property that determines the timeout of a running dynamic logic. If the timeout is expired, the dynamic logic is interrupted and an exception is thrown. The value is in seconds. Please note that when the dynamic logic timeout property is added/updated, the dynamic logic(s) need to be recompiled for the property change to take effect. This can be done by using the Invalidate Dynamic Logic Integration Point explained Integration Guide. |
300 |
Integer ≥ 0 |
Next Execution |
ohi.dynamiclogic. |
An optional property that determines the timeout of the running dynamic logic. If the timeout is expired, the dynamic logic is interrupted and an exception is thrown. The value is in seconds. This property is keyed on the particular dynamic logic code, therefore the placeholder <0> should be replacedwith the dynamic logic code. Please note that when the dynamic logic timeout property is added/updated, the dynamic logic(s) need to be recompiled for the property change to take effect. This can be done by using the Invalidate Dynamic Logic Integration Point explained Integration Guide. If this property is not set, the value of 'ohi.dynamiclogic.timeout' will be taken (which in its turn has a default of '300'). |
Integer ≥ 0 |
Next Execution |
Logging Support
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.logging.fileset.max. |
Maximum time in days between start and end time for bundling log events in a file set |
2 |
Integer ≥ 1 |
Immediate |
ohi.logging.phi.min. |
Minimal number of days for retaining PHI log events |
1825 |
Integer ≥ 1 |
Immediate |
ohi.logging.target |
Determines whether logging must be persisted to the database or using any configured Logback Appender. Possible values are 'database' and 'log' respectively |
log |
String |
Next Execution |
Incident Reports
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.incident. |
Whenever OHI Incident storage in datafile sets is activated, this property defines the number of days that OHI Incident datafile sets are retained. Older OHI Incident datafile sets are removed. |
10 |
Integer ≥ 1 |
After Restart |
ohi.incident.rootdir |
OHI Components makes use of the Logback library for generating log output. In the event of an unanticipated application exception, additional - more detailed exception trace information is written out to an individual exception trace file. The location for these exception trace files is controlled by this property. By default the location 'target/trace' relative to the directory where the WebLogic server was started is used. When changing the value for this property, make sure that the OS user that executes the WebLogic server processes needs to be able to create (and read/write files in) the directory referenced by the property. |
target/trace |
String |
After Restart |
ohi.incident.target |
OHI Incident files can be stored in the database, in a datafile set. Whenever this property is set to "datafileset" this feature is activated. Otherwise the default mechanism of writing incident files to an O/S file system directory. The OHI Incident datafile sets will have a code with a following pattern: "OHIIncidents<yyyyMMdd>" |
file |
"file" or "datafileset" |
After Restart |
Cache Control
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.httpapi.cache. |
Setting to be used for metadata, code of a OHI_RESOURCE_CACHE_SETTING, see ohi.httpapi.cache.control.enable. |
String |
Next Execution |
|
ohi.httpapi.cache. |
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. |
false |
Boolean |
Next Execution |
ohi.messagegroup. |
Used as an initial sizing element for the amount of message groups that can be cached |
1000 |
Integer ≥ 1 |
Next Execution |
ohi.process.cache. |
This property can be used to determine whether business process cache facilities are enabled. |
false |
Boolean |
Next Execution |
ohi.process.cache.push_ |
The time in milliseconds to back-off invalidating the business process cache for consecutive bursts of invalidations. |
250 |
Integer ≥ 0 |
After Restart |
Web Service Settings
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.ws.client. |
MANDATORY |
1000 |
Integer ≥ 0 |
After Restart |
ohi.ws.fileimport. |
MANDATORY |
String |
Next Execution |
|
ohi.service.<0>.client. |
Used to specify the (Jersey/REST specific) authentication mechanism to use for machine-to-machine communication. Allowable values are 'None', 'BasicAuthentication' (and 'OAuth'). The <0> is replaced by notification key. |
BasicAuthentication |
String |
Next Execution |
ohi.service.<0>.media. |
Used for the notification media type. <0> is replaced by notification key. |
application/json |
String |
Next Execution |
ohi.service.<0>.method. |
Used for the notification method type. The <0> is replaced by notification key. |
POST |
String |
Next Execution |
ohi.ws.api.default. |
Number of items fetched in a HTTP API request. |
50 |
Integer ≥ 1 |
Next Execution |
ohi.ws.client. |
The time in milliseconds before the attempt to connect to an outbound service times out. A value of 0 means never timeout. |
60000 |
Integer ≥ 0 |
Immediate |
ohi.ws.client. |
The maximum number of concurrent connections the HTTP client will allow to a certain host at any given moment. |
2 |
Integer ≥ 1 |
Immediate |
ohi.ws.client. |
Sets the maximum number of total concurrent connections the HTTP client will allow at any given moment. |
20 |
Integer ≥ value of ohi. |
Immediate |
ohi.ws.client. |
The time in milliseconds that the client will wait for the server to respond to the request. A value of 0 means never timeout. |
60000 |
Integer ≥ 0 |
Immediate |
ohi.ws.last.login. |
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 be updated more than once per hour. This only applies to logins through a web service, not the ADF UI. |
1 |
Integer ≥ 1 |
Next Execution |
Web Service Client Authentication
Outbound RESTful invocations can be secured using Basic Authentication or OAuth2. For details, refer to the relevant chapter in the Integration 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. Oracle Health Insurance defined client names are listed in the following table:
Web Service | Client Name | Relevant properties |
---|---|---|
Activity Notification |
ActivityResponseClient |
ohi.service.ActivityResponseClient.client.authentication |
Data Exchange Export Notification |
DataExchangeExportNotificationClient |
ohi.service.DataExchangeExportNotificationClient. client.authentication |
Data Exchange Import Notification |
DataExchangeImportNotificationClient |
ohi.service.DataExchangeImportNotificationClient. client.authentication |
Data Set Operations |
DataExchangeClient |
ohi.service.DataExchangeClient.client.authentication |
Note that defining the property for the authentication mechanism needs to be done in conjunction with defining the credentials that the web service client will use when making the request. How to enter credentials is also outlined in the Integration Guide.
Web Service Media Type
Certain outbound RESTFul invocation support multiple output formats (i.e. 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 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 in the following table:
Web Service | Client Name | Relevant properties |
---|---|---|
Activity Notification |
ActivityResponseClient |
ohi.service.ActivityResponseClient.media.type |
URL references
In HTTP API RESTful services links, URL references may be passed. Construction of the URL for these pages is driven by the following parameters:
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.<0>.application. |
MANDATORY |
String |
After Restart |
|
ohi.<0>.deeplink.url |
MANDATORY |
String |
After Restart |
|
ohi.http.api.path |
The context root of the application. For example: /<application>-ws/api. We do not anticipate for this property to be hot reloadable. |
api |
String |
Next Execution |
Before sending URI’s out, the system will encode these. The receiving system is expected to decode the URI.
Task and Activity Processing
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.activityprocessing. |
RESTful Service endpoint URL for delivering the response notification after activity processing is completed.OHI Components applications will use a POST operation by default. This can be overwritten by using ohi.service.<0>.method.type, where <0> should be replaced with notification key. Sample value is http://machine:port/api/generic_notification_service. |
String |
Next Execution |
|
ohi.activityprocessing. |
Activity type specific RESTful Service endpoint URL for delivering the response notification once activity processing is completed. The <0> should be replaced with the activity type code, for example 'REFSHEETLINE_IMPORT'. When this property is not set, the value of ohi.activityprocessing.notification.endpoint will be used. OHI Components applications will use a POST operation by default. This can be overwritten by using ohi.service.<0>.method.type, where <0> should be replaced with notification key. Sample value is http://machine:port/api/generic_notification_service. |
String |
Next Execution |
|
ohi.amount.scale |
By default, amounts are stored with scale 2 (2 digits after decimal point).A subset of amounts allow 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 are actually used depends on this property. Can be used to store calculation result amounts with greater scale. Increase of scale allows for sending financial data on a detail level (e.g. VAT on a premium for a member) to the financial system and round only after aggregation (e.g. on a group account); rounding in an early stage to 2 decimals can lead to a substantial difference with the expected outcome on an aggregate level. |
2 |
2 ≤ Integer ≤ 12. |
Next Execution |
ohi.max.headroom |
The maximum number of tasks that is to be loaded into the processing grid. |
2000 |
Integer ≥ 1 |
Next Execution |
ohi.max.headroom.<0> |
The maximum number of tasks that is to be loaded into the processing grid - per given activity type |
2000 |
Integer ≥ 1 |
Next Execution |
ohi.processing. |
A non '0' value for this property means that data (i.e. extra_info) for failed attempts will be retained. |
0 |
Integer ≥ 0 |
Next Execution |
ohi.processing. |
Utilized for extract items bucketing. It decides how many items will be exported in one transaction to improve performance. Suggested is a value between 1 and 1000. |
500 |
Integer ≥ 1 |
Next Execution |
ohi.processing.cache. |
Specification for cache that caches the results (flex code entity) of queries on flex code by key value and flex code system code. For more information, see CacheBuilderSpec’s javadoc: https://guava.dev/releases/19.0/api/docs/com/google/common/cache/CacheBuilderSpec.html |
maximumSize=10000, |
String |
Next Execution |
ohi.processing.cache. |
Specification for cache that caches the results (flex code system code) of queries on flex code system by id. For more information, see CacheBuilderSpec’s javadoc: https://guava.dev/releases/19.0/api/docs/com/google/common/cache/CacheBuilderSpec.html |
maximumSize=1000, |
String |
Next Execution |
ohi.processing.cache. |
This property allows for caching of the responses of of the "InGroup" family of function calls. |
false |
Boolean |
Next Execution |
ohi.processing.cache. |
Cache for messages in a message group. |
maximumSize=1000, |
String |
Next Execution |
ohi.processing. |
Default amount of delay in seconds used when a failed task is re-enqueued for another attempt. Is overridden if a delay is set on the task type. |
3 |
Integer ≥ 0 |
Next Execution |
ohi.processing.filldepth |
Specifies a target number of work items to process at any given time - to best utilize processing capacity. Suggested value is a multiple of the number of CPU cores available to the managed server. The system will take the maximum of 2x the number of processors reported to the JVM and the value of this property (which has in its turn a default of '3'). |
3 |
Integer ≥ 0 |
Next Execution |
ohi.processing. |
Determines the number of tasks that will be submitted for processing at any given time. Suggested value is 1 less than number of CPU cores available to the managed server. The system will take the maximum of the number of processors reported to the JVM minus 1 and the value of this property (which has in its turn a default of '1'). |
1 |
Integer ≥ 1 |
Next Execution |
ohi.processing.groupsize |
The number of tasks to be grouped (when applicable) into a collection of tasks that is to be put into the processing grid as one atomic unit. This complete collection will be processed on one processing node. |
400 |
Integer ≥ 1 |
Next Execution |
ohi.processing. |
The number of tasks to be grouped (when applicable) into a collection of tasks that is to be put into the processing grid as one atomic unit - per activity type. This complete collection will be processed on one processing node. |
400 |
Integer ≥ 1 |
Next Execution |
ohi.processing. |
The number of loader tasks to be spawned, 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 that are to be spawned. |
1 |
Integer ≥ 1 |
Next Execution |
ohi.processing. |
The number of loader tasks to be spawned 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 that are to be spawned. |
1 |
Integer ≥ 1 |
Next Execution |
ohi.processing. |
The time (in seconds) a loader task will be held back in the grid, in the event it has reached its maximum number of tasks it is allowed to load and spawn into the grid. |
3 |
Integer ≥ 1 |
Next Execution |
ohi.processing. |
The time (in seconds) a loader task will be held back in the grid, in the event it has reached its maximum number of tasks it is allowed to load and spawn into the grid - per given activity type. |
3 |
Integer ≥ 1 |
Next Execution |
ohi.processing.max. |
The maximum amount of times activity processing will try and sent out an 'activity processed' event to an external system. |
3 |
Integer ≥ 0 |
Next Execution |
ohi.processing.max. |
The maximum amount of times activity processing will try and sent out an 'activity processed' event to an external system - per activity type. |
3 |
Integer ≥ 0 |
Next Execution |
ohi.processing. |
Number of times a task can resolve as 'errored' before it stops a task flow. |
3 |
Integer ≥ 0 |
Next Execution |
ohi.processing. |
Determines how many times a specific incomplete task will be rescheduled for processing, before marking it as 'errored' |
10000 |
Integer ≥ 0 |
Next Execution |
ohi.processing. |
Determines if a failed task is retried immediately, or re-enqueued for another attempt after a delay. |
true |
Boolean |
Immediate |
ohi.processing.yield. |
Default time (in seconds) a task will be held back in the processing grid, in between execution steps. This typically is used between parent-child task relationships, where a parent task will has to regularly check on the status of its children. |
3 |
Integer ≥ 1 |
Next Execution |
ohi.processing.yield. |
Used to specify The time (in milliseconds) an (aggregate) task is going to be held back for task loaders to complete their work. |
3 |
Integer ≥ 1 |
Next Execution |
ohi.processing.yield.<0> |
Default time (in seconds) a task will be held back in the processing grid, in between execution steps. This typically is used between parent-child task relationships, where a parent task will has to regularly check on the status of its children. - per activity type. |
3 |
Integer ≥ 1 |
Next Execution |
ohi.startup.start.task. |
Controls task processing for a managed server. By default, if a managed server that executes an OHI Components application is started then it will start processing tasks from the work backlog queue. The default behavior can be overridden by setting command-line parameter ohi.startup.start.task.processing; if it is set to false a managed server that executes the OHI Components application will not process tasks after it is started. The default value is true, meaning the managed server that executes the OHI Components application will start processing tasks from the work backlog queue after it is started. |
true |
Boolean |
Next Execution |
Specifying yields, submission count, group size and loader count 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, check the Implementation Guide.
Reinsurance
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.reinsurance. |
Used to determine whether the application has to create product benefit specification reinsurance entities. |
String |
Next Execution |
|
ohi.reinsurance. |
Used to determine whether the application has to create product benefit specification reinsurance entities |
String |
Next Execution |
Callout Rules
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.servicecallout.<0>. |
MANDATORY |
String |
Next Execution |
|
ohi.rest.client.logging |
Enable/Disable logging for rest clients. When "true" will log traffic to external system. |
false |
Boolean |
Immediate |
ohi.service.client. |
The rest client cache size |
500 |
Integer ≥ 1 |
Immediate |
ohi.servicecallout. |
The media type to be used for REST call outs. Can be overriden per call out, see 'ohi.servicecallout.<0>.media.type'. |
application/json |
String |
Next Execution |
ohi.servicecallout.<0>. |
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'). |
Integer ≥ 1 |
Next Execution |
|
ohi.servicecallout.<0>. |
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. |
5 |
Integer > 1 |
Next Execution |
ohi.servicecallout.<0>. |
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. |
application/json |
String |
Next Execution |
Data exchange
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.application.uri.<0> |
MANDATORY |
String |
Next Execution |
|
ohi.cm.concurrency.limit |
Number of parallel threads used in configuration migration tool export and import processes. For better performance results, the value of this system property should be equal to the number of CPUs (core). For example, if there are 6 CPUs and each of them are single core, then this property should be set to 6. |
2 |
Integer ≥ 1 |
After Restart |
ohi.cm.dynamiclogic. |
Dynamic logic can refer to another dynamic logic and if the dynamic logic are not imported in the correct order, the compilation will fail. If it happens, CMT process retries the failed dynamiclogic. This property determines how many times the dynamic logic import is retried before marking it as 'errored' Suggested is a value between 1 and 9. |
3 |
Integer ≥ 0 |
Next Execution |
ohi.cm.dynamiclogic. |
Defines the batch size that should be read for the failure log table at a time |
100 |
Integer ≥ 0 |
Next Execution |
ohi.cm. |
This property is used in the export process and represents the number of high volume entities (for example: procedure group detail) to read in one go/at a time. It is recommended to set this value to N * 1000, where N is the number of JVMs. |
1000 |
Integer ≥ 1 |
Next Execution |
ohi.<0>.endpoint.request |
Allows for web service client interactions to identify their request URI destination. This property is used to get the URI for the end point. <0> is replaced by notification key. Sample value is http://machine.domain:port/<0>. |
String |
Next Execution |
Extract
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.extract.<0>. |
For sending out an extract completion notification related to a specific notification key. <0> is replaced by the notification key. Example: http://machine.domain:port/notifications |
String |
Next Execution |
Single Sign-On
The following table lists properties that need to be set when an Oracle Health Insurance application take part in Single Sign-On (SSO) scenarios:
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.security.sso.enabled |
The application will check for an SSO header, and if one is not found, present the user with a login screen. |
false |
Boolean |
Next Execution |
ohi.security.sso.header |
The header value in which to check for an SSO principal if it is not mapped via servlet security. |
OAM_REMOTE_USER |
String |
After Restart |
ohi.security.sso. |
The application will reject traffic without an SSO header. |
false |
Boolean |
Next Execution |
Secrets Store
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.oauth.cert.signing. |
Determines the signing algorithm for X509 certificates that are used by OHI applications to sign the JWT token that an OHI application generates for obtaining an OAuth2 access token through the assertion grant type (where the JWT is used as assertion). Only RSA algorithms are currently supported. |
SHA512withRSA |
String |
Immediate |
ohi.secure.secrets.store |
The type of store the OHI application uses for secrets |
One of the following: opss, |
After Restart |
|
ohi.vault.address |
Vault address. Must use HTTPS. |
String |
Next Execution |
|
ohi.vault. |
Path to Vault Client Key pem file. Must be accompanied by a matching value for system property ohi.vault.clientpemfile.path |
String |
Next Execution |
|
ohi.vault.clientpemfile. |
Path to Vault Client pem file. Must be accompanied by a matching value for system property ohi.vault.clientkeypemfile.path |
String |
Next Execution |
|
ohi.vault.jkskeystore. |
Password for JKS keystore that contains certificatesMust be accompanied by a matching value for system property ohi.vault.jkskeystore.path |
String |
Next Execution |
|
ohi.vault.jkskeystore. |
Path to JKS keystore that contains certificates.Must be accompanied by a matching value for system property ohi.vault.jkskeystore.password |
String |
Next Execution |
|
ohi.vault.kv.secrets. |
By default, OHI applications assume that Vault’s Key-Value secrets engine is enabled at root path "secret".The Key-Value secrets engine is used to store arbitrary secrets within the configured physical storage for Vault. |
secret |
String |
Next Execution |
ohi.vault.namespace |
OHI specific Vault namespace section, under the path determined by properties {ohi.vault.kv.secrets.engine}/{ohi.vault.namespace} to look for secrets |
ohi |
String |
Next Execution |
ohi.vault.pemfile.path |
Path to Vault pem file |
String |
Next Execution |
|
ohi.vault.token |
Vault token |
String |
Next Execution |
|
ohi.vault.truststore. |
Path to truststore that contains certificates |
String |
Next Execution |
Data File Import
The following table lists (technical) properties that influence data file (batch) processing performance. Only change these after consulting with Oracle:
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi. |
A separate processing activity is spawned for processing a chunk or batch of reference sheet lines of the specified size. |
5000 |
Integer ≥1 |
Next Execution |
Cross Origin Resource Sharing
See the Security Guide for an introduction to Cross Origin Resource Sharing (CORS). For further explanation the reader is referred to W3C’s CORS specification.
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.cors.access.control. |
MANDATORY |
String |
Next Execution |
|
ohi.cors.access.control. |
Header that indicates whether the response to request can be exposed when the omit credentials flag is unset. When this is part of the response to a preflight request it indicates that the actual request can include user credentials. |
true |
Boolean |
Next Execution |
ohi.cors.access.control. |
Header that indicates, as part of the response to a preflight request, which header field names can be used during the actual request. Allows all headers by default. The value is a comma-separated list of allowed headers. |
String |
Next Execution |
|
ohi.cors.access.control. |
Header that indicates, as part of the response to a preflight request, which methods can be used during the actual request. Allows all methods by default. The value is a comma-separated list of allowed methods. |
String |
Next Execution |
|
ohi.cors.access.control. |
Header that indicates which headers are safe to expose to the API of a CORS API specification. The value isa comma-separated list of all exposed headers. |
String |
Next Execution |
|
ohi.cors.access.control. |
Header that indicates how long the results of a preflight request can be cached in a preflight result cache, number representing seconds. |
1800 |
Integer ≥ 0 |
Next Execution |
ohi.vary.header |
Property to set Vary HTTP Header. Value is a comma-separated list |
Accept,Accept- |
String |
Next Execution |
Data Set Operations
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.datasetoperations. |
This property is used to indicate the structure of notification sent after CMT import/export. If set to 'true', notification is sent with new structureelse old structure For example - Old notification structure will have different attributes. New notification structure will have only workId, status and links attribute. |
false |
Boolean |
Next Execution |
ohi.datasetoperations. |
This property is related to the Data Set Operations Integration Point, for export usages. It contains a URI that refers to the notification message, this message is sent once the process of building the data set payload is completed. |
String |
Next Execution |
|
ohi.datasetoperations. |
This property is related to the Data Set Operations Integration Point, for import usages. It contains a URI that refers to the notification message, this message is sent once the process of uploading the data set payload is completed. Error messages prevent the import from happening. |
String |
Next Execution |
Intrusion Detection
Oracle Health Insurance applications safeguard against Cross-Site Scripting (XSS) attacks by checking "untrusted" data that may be entered in HTTP API requests (see the Security Guide for intrusion detection principles). Detection behavior can be customized using the properties that are listed in the following table:
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.untrusteddata.check |
XSS vulnerability detection is enabled by default. Disable it by setting the value for this parameter to false. This property should be used if other components in the landscape perform vulnerability detection. |
true |
Boolean |
Next Execution |
ohi.untrusteddata. |
Domain attributes of type "String" are checked by default if the length ≥ 30 characters. To be more stringent decrease the default value using this property. |
30 |
Integer ≥ 1 |
Next Execution |
ohi.untrusteddata. |
Domain attributes are checked by default. Use this property to define a comma-separated list of customer-specific attributes that should be excluded from intrusion detection checking. Format: <DOMAIN OBJECT SIMPLE NAME>.<ATTRIBUTE NAME>, |
String |
Next Execution |
|
ohi.untrusteddata. |
HTTP Headers are checked by default. Use this property to define a comma-separated list of customer-specific headers that should be excluded from intrusion detection checking. Format: <HEADER NAME>,<HEADER NAME>. |
String |
Next Execution |
|
ohi.untrusteddata. |
HTTP Query Parameters are checked by default. Use this property to define a comma-separated list of customer-specific query parameters that should be excluded from intrusion detection checking. Format: <QUERY PARAMETER NAME>,<QUERY PARAMETER NAME>. |
String |
Next Execution |
For example, to prevent mixed encoded Cookies that a client like a browser sends as part of the request to result in a Bad Request, whitelist the Cookie header as follows:
ohi.untrusteddata.whitelist.header=Cookie
OAuth2
REST Clients in Oracle Health Insurance applications can be configured to send requests to OAuth2 protected resources. See the implementation guide for further details about OAuth2 support in Oracle Health Insurance applications.
The Oracle Health Insurance application’s RESTful services can also be OAuth2 protected. In that case the application validates and / or introspects OAuth2 access tokens that are sent as Bearer tokens in the HTTP Authorization header.
The following table lists OAuth2 REST Client and server side properties.
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.oauth.accesstoken. |
To model the overhead of fetching an access token from an OAuth2 authorization server for caching the access token in the REST client, e.g. to account for some network delay between the client and the authorization server.Example: if the authorization server returns a token with an expiry time of 3600 seconds and if the network delay is expected to be 100 ms, then 100 ms could be configured for this key. The resulting access token will be cached for the original expiry time minus overhead time, i.e. 3600000 - 100 = 3599900 ms. The value should be specified in milliseconds. |
10 |
Integer ≥ 0 |
Immediate |
ohi.oauth.jwk.set.url |
URL value for the OAuth2 authorization server JSON Web Key (JWK) Set endpoint. The OAuth2 authorization server should support RFC 7517. Token Validation Method is JWKSET. |
String, URL |
After Restart |
|
ohi.oauth.jwk.set. |
Client Id or audience claim for token validation. Token Validation Method is JWKSET. |
String |
After Restart |
|
ohi.oauth.jwk.set. |
Issuer for token validation. Token Validation Method is JWKSET. |
String or URL |
After Restart |
|
ohi.oauth.jwk.set. |
Signing algorithm used by the Authorization Server. Token Validation Method is JWKSET. |
RS256 |
String |
After Restart |
ohi.oauth.jws.signing. |
Algorithm used for signing the JWT token that an OHI application generates for obtaining an OAuth2 access token through the assertion grant type (where the JWTis used as assertion). Note that only RSA algorithms are currently supported. |
RS512 |
RS256, RS384, RS512 |
Immediate |
ohi.oauth.jwt. |
Expiration period (in seconds) for the JWT token that an OHI application generates for obtaining an OAuth2 access token through the assertion grant type (where the JWT is used as assertion). |
600 |
0 ≤ Integer ≤ 9999 |
Immediate |
ohi.oauth.jwt.userid. |
Specifies the claim in the JWT that can be used to identify the user for which the OAuth2 access token was created. Token Validation Method is JWKSET. |
sub |
String |
Immediate |
ohi.oauth.openidconnect. |
Client ID of the OpenID Connect client that has to be present to acquire an access token. |
String |
Immediate |
|
ohi.oauth.openidconnect. |
Credential associated with the OpenID Connect client that has to be present to acquire an access token. |
String |
Immediate |
|
ohi.oauth.openidconnect. |
Defines the maximum acceptable clock skew (in seconds) for validating timestamps of ID tokens that are issued by an OpenID Provider. |
60 |
Integer ≥ 1 |
After Restart |
ohi.oauth.token. |
Unique client id for resolving the username and password credentials that are used to construct the Basic Authentication Authorization header when calling the OAuth2 authorization server token validation or introspection endpoint. Token Validation Method is OAUTH2_ENDPOINT. |
String |
Immediate |
|
ohi.oauth.token. |
URL value for the OAuth2 authorization server token validation or introspection endpoint. It is assumed that the endpoint supports Basic Authentication. Token Validation Method is OAUTH2_ENDPOINT. |
String, URL |
After Restart |
|
ohi.oauth.token. |
RFC 7662 defined Introspection Response element that will be used to derive the username from. Token Validation Method is OAUTH2_ENDPOINT. |
sub |
String |
Immediate |
ohi.oauth.token.issuer. |
For token validation. Specific issuer identifier. Requires use of properties ohi.oauth.token.issuers and ohi.oauth.token.issuer.<0>.user.claim. |
String or URL |
After Restart |
|
ohi.oauth.token.issuer. |
For token validation. Issuer-specific user claim. Requires use of properties ohi.oauth.token.issuers and ohi.oauth.token.issuer.<0>. |
String |
After Restart |
|
ohi.oauth.token.issuers |
For token validation. Comma-separated string of possible token issuers. Requires use of properties ohi.oauth.token.issuer.<0> and ohi.oauth.token.issuer.<0>.user.claim. |
Comma- |
After Restart |
|
ohi.oauth.token. |
Determines the access token validation method. Possible values: JWKSET: OAuth2 access tokens are validated by the resource server. Assuming the token is a JWT, validates it against a JSON Web Key (JWK) Set as defined by RFC 7517. The source of the JWK Set is an endpoint exposed by an OAuth2 authorization server. Use this method to validate ID tokens issued by an OpenID Provider.OAUTH2_ENDPOINT: validates the token using an OAuth2 authorization server’s token introspection endpoint as defined by RFC 7662. |
JWKSET |
JWKSET, OAUTH2_ |
Immediate |
User Interface
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi. |
Can be used to initiate showing a modal popup for UI accessibility settings, in case that has not been done for the user earlier. |
false |
Boolean |
Next Execution |
ohi.environment. |
Text string that is displayed on the home page of the system that helps the user to identify the environment.Samples are 'User Acceptance Test' or 'Development'. |
ohi |
String |
Next Execution |
ohi.oauth.idp.uri |
A system property needs to be set to the IDP (IDentity Provider) URL to acquire the OpenID Connect configuration. This property is expected to be set when 'ohi.oauth.use.openidconnect' is set to 'true'. |
String |
After Restart |
|
ohi.oauth.use. |
When set to true, it indicates that Oracle JET UI leverages OpenID Connect authentication. |
false |
Boolean |
After Restart |
ohi.security.oauth. |
Specifies the OpenID Connect callback URL to be invoked after authentication of the user through OpenID Connect has taken place, but before an access token has been obtained. |
oidc/callback |
String |
After Restart |
ohi.security.oauth. |
This property determines the time (in seconds) until the the OAUTH authentication cookie expires. |
3600 |
Integer ≥ 1 |
After Restart |
ohi.security.oauth. |
This property specifies the name of the shared cookie in which the OpenID connect authentication information is stored |
OHI_SHARED_AUTH |
String |
After Restart |
ohi.security.oauth. |
This property specifies the path of the OHI OAUTH Session Cookie. This path must exist in the requested URL, or the browser won’t send the Cookie header. |
/ |
String |
After Restart |
ohi.security.oauth. |
This property determines if the OAUTH authentication cookie is set to 'secure'. When set to true, the cookie is only sent to the server when a request is made with the 'https:' scheme. |
false |
Boolean |
After Restart |
ohi.security.oauth. |
Specifies the base URL of the JET Application that needs to be secured (e.g. https://host:8909/oig) |
/ |
String |
After Restart |
ohi.security.oauth. |
Specifies the OpenID Connect URL that is to be invoked after a user has selected to logout from the UI. |
oidc/logout |
String |
After Restart |
ohi.ui.maxrowstoretrieve |
Maximum number of rows retrieved to show in a UI table. Note that memory usage and page load times are impacted by this value. |
200 |
Integer ≥ 1 |
Next Execution |
ohi.ui. |
Maximum number of rows retrieved to show in a UI table for an individual page. The function code is the one shown in the 'About this page' popup, and is case sensitive. Note: it is not possible to change the number of rows shown for an individual LOV. LOV are always restricted by ohi.ui.maxrowstoretrieve. If this property is not set, the value of ohi.ui.maxrowstoretrieve will be taken (which has in its turn a default of '200') |
Integer ≥ 1 |
Next Execution |
|
ohi.ui.pollinterval |
This property controls the interval between automatic page refreshes for pages that support it. Value in milliseconds |
5000 |
Integer ≥ 1 |
Next Execution |
ohi.ui.pollinterval.<0> |
This property controls the interval between automatic page refreshes for pages that support it. The <function_code> is an optional suffix that can be used to differentiate poll intervals between different pages. |
5000 |
Integer ≥ 1 |
Next Execution |
Monitoring & Metrics
Name | Description | Default Value | Possible Values | Change Effective |
---|---|---|---|---|
ohi.healthcheck.url. |
Defines the mapping between the Healthcheck servlet and an URL pattern. Value is a URL Mapping (e.g. /up). |
String |
After Restart |
|
ohi.instrumentation. |
Set to true to tag each metric with the name of the application |
false |
Boolean |
After Restart |
ohi.instrumentation. |
Set to false to enable recording of non-OHI metrics |
true |
Boolean |
After Restart |
ohi.instrumentation. |
Set to true to enable recording of metrics |
false |
Boolean |
Immediate |
ohi.instrumentation. |
Set to true to enable recording of JVM telemetry |
false |
Boolean |
After Restart |
ohi.instrumentation. |
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. |
Comma- |
After Restart |
|
ohi.instrumentation.<0>. |
Determines if histogram buckets for the configured timer are published |
false |
Boolean |
After Restart |
ohi.instrumentation.<0>. |
Percentiles for the configured timer. |
Comma- |
After Restart |
|
ohi.instrumentation.<0>. |
Data for the timer is published if the tag name that is specified as property "ohi.instrumentation.<0>.regex.tagname" matches this regular expression |
Regular expression |
After Restart |
|
ohi.instrumentation.<0>. |
Tag name subject to testing with the regular expression that is specified as property "ohi.instrumentation.<0>.regex". Data for the timer is published if the tag name matches the regular expression. |
String |
After Restart |
|
ohi.prometheusservlet. |
Defines the mapping between the Prometheus servlet and an URL pattern |
String, URL Mapping |
After Restart |
See the Operations Guide for more details about metrics related properties.