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.

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

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

Web Service Connection Settings

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.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.enrollmentresponse.request.enabled

Allows the enrollment step to be disabled from the claims flow (typically for pricing only installation).
Possible values: Boolean
Default value: true
Change effective: Next Execution
Access Mode: Public

ohi.ws.enrollmentresponse.request.lob

This property can be set to true if the enrollment request uses the name lineOfBusinessCode as a request parameter
Possible values: Boolean
Default value: false
Change effective: Next Execution
Access Mode: Public

ohi.ws.enrollmentresponse.responsedefinition.code

Can be specified to be included in enrollment requests to drive response generation based on a specific (dynamic logic) function.
Possible values: String
Default value:
Change effective: Next Execution
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

ohi.ws.paymentstatusresponse.request.enabled

The use of the Payment Status integration point is optional. In the event when the payment status information is provided through the Payment Status integration point, enable this integration point by setting the value to true.
Possible values: Boolean
Default value: false
Change effective: Next Execution
Access Mode: Public

Configuration of External Web Services Endpoint URIs

Claims can call external Web Services. The endpoint URIs for these services are configured using properties. The following table describes the web services' endpoint URI parameters.

ohi.claimsout.datafile.notification.endpoint

MANDATORY
Used to specify the URI for sending out 'completion message' for claims out (FileBased).
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.paymentstatus.endpoint.response

MANDATORY
The replyTo URI for the Payment Status Response service that is provided by the OHI Claims system. This URI is passed in the Payment Status Request message. Typically, this is a reference to a loadbalancer or a service endpoint on a service bus that forwards the request to a physical machine that executes the Web Service.
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.policyaccounttransaction.endpoint.request

MANDATORY
Reference to the Policy Account Transactions URI of OHI Policies that OHI Claims uses to deliver Policy Account Transaction events if no specific URL is defined.
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.policyaccounttransaction.<0>.endpoint.request

MANDATORY
Reference to the Policy Account Transactions URI of OHI Policies that OHI Claims uses to deliver Policy Account Transaction events for the specific event rule.
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.reprocessclaims.datafile.notification.endpoint

MANDATORY
Used to specify the URI for sending out 'completion message' for claims reprocessing (FileBased).
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.claimevent.endpoint.request

Reference to the Web Service endpoint that OHI Claims uses to deliver Claim events (if configured). Multiple Web Service endpoints can be specified as comma separated URLs.
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.claimevent.<0>.endpoint.request

Claim Event Rule specific reference to the Web Service endpoint that OHI Claims uses to deliver Claim events (if configured). Multiple Web Service endpoints can be specified as comma separated URLs. <0> is replaced by the Claim Event Rule code. If specified, this property value takes priority over the value specified for ohi.claimevent.endpoint.request.
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.ctrclaimevent.endpoint.request

Reference to the Web Service endpoint that OHI Claims uses to deliver Claim Transaction events (if configured). Multiple Web Service endpoints can be specified as comma separated URLs.
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.ctrclaimevent.<0>.endpoint.request

Reference to the Web Service endpoint that OHI Claims uses to deliver Claim Transaction events (if configured). Multiple Web Service endpoints can be specified as comma separated URLs. <0> is replaced by the Claim Transaction Event Rule code. If specified, this property value takes priority over the value specified for ohi.ctrclaimevent.endpoint.request
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.financialmessage.datafile.notification.endpoint

For sending out financial message data file creation notification in Generate Financial Message Activity. For FileBased requests. Sample value is http://machine.domain:port/financialmessage/datafile
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.financialmessage.endpoint.request

For sending out financial message in Generate Financial Message Activity. For MessageBased requests. Sample value is http://machine.domain:port/financialmessage
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.paymentstatus.endpoint.request

Reference to the Web Service endpoint which the OHI Claims system uses to request for Payment Status information. Required when ohi.ws.paymentstatusresponse.request.enabled = true
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.resendfinancialmessage.datafile.notification.endpoint

For re-sending financial message data file creation notification in Resend Financial Message Activity. For FileBased requests. Sample value is http://machine.domain:port/resend/financialmessage/datafile
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.resendfinancialmessage.endpoint.request

For sending out financial message in Resend Financial Message Activity. For MessageBased requests. Sample value is http://machine.domain:port/resend/financialmessage
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

Oracle recommends enabling payload logging for a brief period and diagnostic purposes only.

Web Service Client Authentication

Claims secure Outbound RESTful invocations using either Basic Authentication or OAuth 2.0.

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.<0>.client.authentication.
    The default value is BasicAuthentication.
    The placeholder <0> 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

Web Service: Claim Event
Client Name: ClaimEventClient

Web Service: Claims Out File Delivery
Client Name: ClaimsTransactionOutNotificationClient

Web Service: Claim Transaction Event Rules
Client Name: PolicyAccountTransactionClient

Web Service: Data Exchange Export Notification
Client Name: DataExchangeExportNotificationClient

Web Service: Data Exchange Import Notification
Client Name: DataExchangeImportNotificationClient

Web Service: Data Replication Authorization Events
Client Name: DataReplicationAuthorizationEvents

Web Service: Data Replication Authorization Entities
Client Name: DataReplicationAuthorizationEntities

Web Service: Data Replication Person Events
Client Name: DataReplicationPersonEvents

Web Service: Data Replication Person Entities
Client Name: DataReplicationPersonEntities

Web Service: Enrollment
Client Name: PolicyEnrollmentClient

Web Service: Financial Message Notification
Client Name: FinancialMessageNotificationClient

Web Service: Reprocess Claims Criteria
Client Name: ClaimReprocessCriteriaResponseNotificationClient

Web Service: Send Financial Message
Client Name: SendFinancialMessageClient

Web Service: Resend Financial Message
Client Name: ResendFinancialMessageClient

Web Service: Workflow Notification
Client Name: WorkflowEventClient

Web Service: Workflow Task Done Notification
Client Name: TaskDoneEventClient

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 Security 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.<0>.media.type, where the placeholder <0> is the name of the client.

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

Web Service: Activity Notification
Client Name: ActivityResponseClient

Web Service: Claim Event
Client Name: ClaimEventClient

Web Service: Claims Out File Delivery
Client Name: ClaimsTransactionOutNotificationClient

Web Service: Claim Transaction Event Rules
Client Name: PolicyAccountTransactionClient

Web Service: Reprocess Claims Criteria
Client Name: ClaimReprocessCriteriaResponseNotificationClient

Web Service: Claim Transaction Event
Client Name: CtrClaimEventClient

Web Service: Workflow Notification
Client Name: WorkflowEventClient

Web Service: Workflow Task Done Notification
Client Name: TaskDoneEventClient

Web Service Validation

ohi.ws.<0>.request.validate

If set to true, the request will be validated against an XSD when it is received. For production systems, with extensively tested integrations, the recommended value is false.
Possible values: Boolean
Default value: false
Change effective: Next Execution
Access Mode: Public

ohi.ws.<0>.response.validate

If set to true, the response will be validated against an XSD when it is received. For production systems, with extensively tested integrations, the recommended value is false.
Possible values: Boolean
Default value: false
Change effective: Next Execution
Access Mode: Public

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

Using OAuth 2.0 for REST Client Invocations

Oracle Health Insurance applications RESTful services are OAuth 2.0 protected. In that case, the application validates and inspects OAuth 2.0 access tokens sent as bearer tokens in the HTTP Authorization header.

For more information, see Authenticate using OAuth 2.0.

The following table lists OAuth 2.0 properties:

ohi.oauth.accesstoken.expiry.time.delay

To model the overhead of fetching an access token from an OAuth2 authorization server for caching the access token in the REST client. For example, to account for some network delay between the client and the authorization server. For example, if the authorization server returns a token with an expiry time of 3600 seconds and if the network delay is 100 ms, then you can configure 100 ms for this key. The system will cache the resulting access token for the original expiry time minus overhead time, that is, 3600000 - 100 = 3599900 ms. You must specify the value in milliseconds.
Possible values: Integer ≥ 0
Default value: 10
Change effective: Immediate
Access Mode: Public

ohi.oauth.jwk.set.url

The URL value for the OAuth2 authorization server JSON Web Key (JWK) Set endpoint. The OAuth2 authorization server must support RFC 7517. Token Validation Method is JWKSET.
Possible values: String, URL
Default value:
Change effective: After Restart
Access Mode: Public

ohi.oauth.jwk.set.validation.audience

Client Id or audience claim for Token Validation. Token Validation Method is JWKSET.
Possible values: String
Default value:
Change effective: After Restart
Access Mode: Public

ohi.oauth.jwk.set.validation.issuer

Issuer for Token Validation. Token Validation Method is JWKSET.
Possible values: String or URL
Default value:
Change effective: After Restart
Access Mode: Public

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

Signing algorithm that the Authorization Server uses. Token Validation Method is JWKSET.
Possible values: String
Default value: RS256
Change effective: After Restart
Access Mode: Public

ohi.oauth.jws.signing.algorithm

Algorithm 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 an assertion). Note that it only supports RSA algorithms.
Possible values: RS256, RS384, RS512
Default value: RS512
Change effective: Immediate
Access Mode: Public

ohi.oauth.jwt.expiration.period

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 an assertion) .
Possible values: 0 ≤ Integer ≤ 9999
Default value: 600
Change effective: Immediate
Access Mode: Public

ohi.oauth.jwt.userid.claim

Specifies the claim in the JWT that can identify the user for which the system creates the OAuth2 access token. Token Validation Method is JWKSET.
Possible values: String
Default value: sub
Change effective: Immediate
Access Mode: Public

ohi.oauth.openidconnect.accesstoken.client_id

Client ID of the OpenID Connect client that has to be present to acquire an access token.
Possible values: String
Default value:
Change effective: Immediate
Access Mode: Public

ohi.oauth.openidconnect.accesstoken.credential

Credential associated with the OpenID Connect client that has to be present to acquire an access token.
Possible values: String
Default value:
Change effective: Immediate
Access Mode: Public

ohi.oauth.token.introspection.endpoint.client_id

Unique Client Id for resolving the username and password credentials. When calling the OAuth2 authorization server token validation or introspection endpoint, the system uses this unique Client Id to construct the Basic Authentication Authorization header. Token Validation Method is OAUTH2_ENDPOINT.
Possible values: String
Default value:
Change effective: Immediate
Access Mode: Public

ohi.oauth.token.introspection.endpoint.url

The URL value for the OAuth2 authorization server token validation or introspection endpoint. It assumes that the endpoint supports Basic Authentication. Token Validation Method is OAUTH2_ENDPOINT.
Possible values: String, URL
Default value:
Change effective: After Restart
Access Mode: Public

ohi.oauth.token.introspection.response.username

Specifies the RFC 7662 defined Introspection Response element to derive the username from. Token Validation Method is OAUTH2_ENDPOINT.
Possible values: String
Default value: sub
Change effective: Immediate
Access Mode: Public

ohi.oauth.token.issuer.<0>

For Token Validation. Specific issuer identifier. Requires use of properties ohi.oauth.token.issuers and ohi.oauth.token.issuer.<0>.user.claim.
Possible values: String or URL
Default value:
Change effective: After Restart
Access Mode: Public

ohi.oauth.token.issuer.<0>.user.claim

For Token Validation. Issuer-specific user claim. Requires use of properties ohi.oauth.token.issuers and ohi.oauth.token.issuer.<0>.
Possible values: String
Default value:
Change effective: After Restart
Access Mode: Public

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.
Possible values: Comma-separated string, e.g. oracle_idcs,azure_ad
Default value:
Change effective: After Restart
Access Mode: Public

ohi.oauth.token.jwt.assertion.param.name

Name of JWT assertion parameter used in OAuth token request. It could be different across OAuth server.
Possible values: String
Default value: assertion
Change effective: Immediate
Access Mode: Public

ohi.oauth.token.validation.method

Determines the access Token Validation Method. Possible values: JWKSET: The resource server validates the OAuth2 access tokens . 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 that an OAuth2 authorization server exposes. Use this method to validate ID tokens that an OpenID Provider issues.OAUTH2_ENDPOINT: validates the token using an OAuth2 authorization server’s token introspection endpoint as defined by RFC 7662.
Possible values: JWKSET, OAUTH2_ENDPOINT
Default value: JWKSET
Change effective: Immediate
Access Mode: Public

Claims in an OAuth 2.0 token can differ per token issuer. The following example demonstrates mapping a specific claim in an access token to Oracle Health Insurance user based on the issuer of the token:

# configure multiple token issuers as comma-separated string

ohi.oauth.token.issuers=oracle_idcs,azure_ad

# configure issuer to user claim mapping for issuer oracle_idcs
ohi.oauth.token.issuer.oracle_idcs=https://identity.oraclecloud.com/
ohi.oauth.token.issuer.oracle_idcs.user.claim=sub

# configure issuer to user claim mapping for issuer azure_ad
ohi.oauth.token.issuer.azure_ad=https://sts.windows.net/fa15d692-e9c7-4460-a743-29f29522229/
ohi.oauth.token.issuer.azure_ad.user.claim=oid

Activity and Task 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.financialmessage.create.noninvoiceaccdetail

Decides the creation of non-invoice accounting details in financial message. If set to true, activity creates non-invoice account details in financial message. If the property is set to 'false', non-invoice accounting details won’t be created
Possible values: Boolean
Default value: true
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.bucketsize.SELECT_TRANSACTIONS_IN_SET

Utilized for Select Transactions In Set activity bucketing. It decides how many sub-activities will run in one transaction to improve performance. This one utilizes a technical table to bucketise the working set.
Possible values: Integer ≥ 1
Default value: 5000
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.finalize.attempts.constraint

Total maximum number of times to attempt finalization of a claim.
Possible values: Integer ≥ 1
Default value: 1000
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.ADD_MESSAGE_CHILD

Utilized for activity grouping. It decides how many sub-activities will run in one transactionto improve performance. This directly groups child activities according to groupSize.
Possible values: Integer ≥ 1
Default value: 100
Change effective: Next Execution
Access Mode: Public

ohi.processing.groupsize.CREATE_CLAIMS_OUT_RESPONSE

Utilized for activity grouping. It decides how many sub-activities will run in one transactionto improve performance. This directly groups child activities according to groupSize.
Possible values: Integer ≥ 1
Default value: 500
Change effective: Next Execution
Access Mode: Public

ohi.processing.groupsize.GENERATE_FINANCIAL_MESSAGES

Utilized for Generate Financial Message activity grouping It decides how many sub-activities will run in one transaction to improve performance. This directly groups child activities according to groupSize.
Possible values: Integer ≥ 1
Default value: 500
Change effective: Next Execution
Access Mode: Public

ohi.processing.groupsize.RESOLVE_PEND_CHILD

Utilized for activity grouping. It decides how many sub-activities will run in one transactionto improve performance. This directly groups child activities according to groupSize.
Possible values: Integer ≥ 1
Default value: 100
Change effective: Next Execution
Access Mode: Public

ohi.processing.groupsize.SUBMIT_PEND_RESO_CRITERIA_REQ

Utilized for activity grouping. It decides how many sub-activities will run in one transactionto improve performance. This directly groups child activities according to groupSize.
Possible values: Integer ≥ 1
Default value: 100
Change effective: Next Execution
Access Mode: Public

ohi.processing.groupsize.SUBMIT_REPROCESSCLAIM_REQ

Utilized for activity grouping. It decides how many sub-activities will run in one transactionto improve performance. This directly groups child activities according to groupSize.
Possible values: Integer ≥ 1
Default value: 100
Change effective: Next Execution
Access Mode: Public

ohi.processing.groupsize.SUPERSEDE_REVERSE

Utilized for activity grouping. It decides how many sub-activities will run in one transaction to improve performance. This directly groups child activities according to groupSize.
Possible values: Integer ≥ 1
Default value: 500
Change effective: Next Execution
Access Mode: Public

ohi.processing.groupsize.UNFINALIZE_LARGE_CLAIM_CHILD

Utilized for activity grouping. It decides how many sub-activities will run in one transactionto improve performance. This directly groups child activities according to groupSize.
Possible values: Integer ≥ 1
Default value: 100
Change effective: Next Execution
Access Mode: Public

ohi.processing.groupsize.UNSEND_FINANCIAL_MESSAGES_IN_SET

Utilized for Unsend financial messages in set activity grouping. It decides how many sub-activities will run in one transaction to improve performance. This directly groups child activities according to groupSize.
Possible values: Integer ≥ 1
Default value: 100
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.pagesize.GENERATE_FINANCIAL_MESSAGES

Utilized for reading financial message chunks to generate financial messages in flat files or XML. It is used to determine how records will be processed.
Possible values: Integer ≥ 1
Default value: 5000
Change effective: Next Execution
Access Mode: Public

ohi.processing.pagesize.combination.check.matching.lines

It is used to determine the number of claim lines that are selected from history in each set for matching
Possible values: Integer ≥ 1
Default value: 200
Change effective: Next Execution
Access Mode: Public

ohi.processing.paymentstatuscomplete.interval

Value (in seconds) - time interval that the application uses to check if all Payment Status response messages for a claim are received. For example: if this value is configured to be 5 seconds then the application will check every 5 seconds (until the period that is specified by property ohi.processing.paymentstatuscomplete.timeout is reached) if all Payment Status response messages for a claim are received. Falls back to ohi.processing.paymentstatuscomplete.timeout when not specified.
Possible values: 1≤ Integer ≤ value of ohi.processing.paymentstatuscomplete.timeout
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.processing.paymentstatuscomplete.timeout

Value (in seconds) that the application uses to determine if all Payment Status response messages for a claim are received in time; if a response is not received before the time out period is exceeded, the Payment Status Complete task ends in an errored state. Increase this value if the Payment Status service does not respond to requests within 60 seconds. Provides a fallback to ohi.processing.paymentstatuscomplete.interval in case that property has not been specified.
Possible values: Integer ≥ 1
Default value: 60
Change effective: Next Execution
Access Mode: Public

ohi.processing.pricingfinalize.attempts.constraint

Total maximum number of times a claim can attempt to be finalized for pricing.
Possible values: Integer ≥ 1
Default value: 1000
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 Tasks as per Activity Type

Claims allow you to individually specify some of the above application properties on a per-activity-type basis. This provides finer-grained control of loading and processing semantics.

To perform this, concatenate the mnemonic for the specific activity type after the specific property key, for example:

ohi.processing.groupsize.CALCULATE_PREMIUM=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 Installation Guide.

Group membership information is cached under ohi.processing.cache.ingroup.<cacheName>.spec. For each use case, there is a separate cacheName. All those caches are Google Guava caches.

The .spec property specifies the configuration of the Google Guava CacheBuilder. It is a string consisting of comma-separated keys or key-value pairs, each corresponding to a CacheBuilder method.

For example, (specify this on a single line):

"maximumSize=10000, expireAfterWrite=5m,softValues".

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.

ohi.registrationimport.filereader.chunk.size

A separate processing activity is spawned for processing a chunk or batch of registrations of the specified size.
Possible values: Integer ≥ 1
Default value: 1000
Change effective: Next Execution
Access Mode: Public

Claims URL References

In workflow messages or HTTP API RESTful services links, URL references can be passed. The following parameters drive the construction of the URL for these pages:

ohi.claims.viewedit.url

MANDATORY
Property that is used to construct URL of view-edit-claims JET UI (deep link) page to include the URL in the workflow notification. The value should contain everything from the JET UI context root (OHI will append the id of the claim for which the workflow notification is constructed) and should not contain hostname/port
Possible values: String
Default value: /claimsjs/?ojr=view-edit-claims;id=
Change effective: Next Execution
Access Mode: Public

The system encodes the URI before sending it, and the receiving system is responsible for decoding it upon receipt.

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

Enrollment Client

ohi.enrollment.logtraffic

This property switches on or off HTTP traffic logging for Jersey/REST machine-to-machine enrollment communication. When it is true - requires additional logback configuration
Possible values: Boolean
Default value: false
Change effective: Next Execution
Access Mode: Public

ohi.enrollment.server.connect.timeout

This property specifies the number of milliseconds the system allows to establish a connection with the Enrollment Service.
Possible values: Integer ≥ 1
Default value: 1000
Change effective: Next Execution
Access Mode: Public

ohi.enrollment.server.read.timeout

This property specifies the number of milliseconds the system allows to get the result from the Enrollment Service.
Possible values: Integer ≥ 1
Default value: 1000
Change effective: Next Execution
Access Mode: Public

ohi.enrollment.server.status.operation

This property specifies the request path to identify the Enrollment operation to invoke. Do not add a leading or trailing slash.
Possible values: String
Default value: api/enrollments/search
Change effective: Next Execution
Access Mode: Public

ohi.enrollment.server.uri

This property specifies the scheme and authority part that hosts the Enrollment system. Example value: 'http://acme.net:7998' (do not add a trailing slash).
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

Enrollment inquiries can be logged at a low level. This enables us to trace HTTP requests and responses between the system that initiates the request for enrollment status information and the enrollment system that responds to these inquiries.

To configure this, add the following information to the logging configuration.

<logger name="ohi.enrollment_client" level="info"/>

Replicating Member and Authorizations Data

Member data can be replicated from policies and authorization data from Oracle Health Insurance Authorizations. These are referred to as source systems.

The following table lists the parameters:

ohi.ws.sourcesystem.<0>.baseurl

MANDATORY
Base URI to the source system; must include the context root for accessing HTTP API services; by default that context root is '/api', you may change it with a deployment plan.
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.datareplication.event.retrieval.diff.current.timestamp

System property to fetch events created before given number of seconds. The default value is 30s which means events which were created upto 30s before current time will be replicated in target system.
Possible values: Integer ≥ 0
Default value: 30
Change effective: Next Execution
Access Mode: Public

ohi.datareplication.event.retrieval.include.current.timestamp

Property when set to true fetches events created before current time, when false this restriction doesn’t apply.
Possible values: Boolean
Default value: true
Change effective: Next Execution
Access Mode: Public

ohi.datareplication.event.retrieval.interval

For specifying the number of seconds between consecutive polls for retrieving events from a replication source.
Possible values: Integer ≥ 1
Default value: 300
Change effective: Next Execution
Access Mode: Public

ohi.datareplication.event.retrieval.max.numberofretries

The maximum number of times the target system will try to connect to the source system to retrieve the events.
Possible values: Integer ≥ 0
Default value: 3
Change effective: Next Execution
Access Mode: Public

Extract

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.

Workflow Tasks

ohi.workflow.enable.request

Decides whether workflow events should go out or not, if set to true workflow events will go out
Possible values: Boolean
Default value: false
Change effective: Next Execution
Access Mode: Public

ohi.workflow.end.logic.request

The code of the dynamic logic that creates the payload for the end workflow request.
Possible values: Codes of dynamic logic of signature End Workflow Request
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.workflow.start.logic.request

The code of the dynamic logic that creates the payload for the start workflow request.
Possible values: Codes of dynamic logic of signature Start Workflow Request
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.workflow.start.logic.response

The code of the dynamic logic that processes the start workflow response.
Possible values: Codes of dynamic logic of signature Start Workflow Response
Default value:
Change effective: Next Execution
Access Mode: Public

ohi.workflowtaskdone.enabled

Property that controls whether task done event should be sent out or not
Possible values: Boolean
Default value: true
Change effective: Next Execution
Access Mode: Public

ohi.workflowtaskstart.endpoint.request

Reference to the Web Service endpoint which the OHI application uses to initiate a Workflow task.
Possible values: String
Default value:
Change effective: Next Execution
Access Mode: Public