Property Definitions Integration Point

Background

All the Oracle Health Insurance applications rely on system properties to enable unique behavior. The Installation Guide contains an exhaustive list of the system properties.

The purpose of the following HTTP integration point is to make the definition of the system properties available on a running system.

System Property Definitions Integration Point

This integration point provides the ability to retrieve all system property definitions, including the relevant characteristics.

The HTTP API Property Definitions integration point access restriction protects the operations.

The endpoint is available at the following location:

http://[hostName]:[portNumber]/[api-context-root]/propertydefinitions

Operations

GET (all)

This method returns all the system property definitions ordered by name.

Example of a response:

{
    "items": [
    {
        "name" : "ohi.policies.calculate.commission",
        "description" : "This property can be set to true if a license for commission calculation is present.",
        "deprecated" : false,
        "mandatory" : false,
        "defaultValue" : "false",
        "possibleValues" : "true or false",
        "accessMode" : "Protected",
        "changeEffective" : "AfterRestart"
    }, {
        "name" : "ohi.policies.calculate.leapyear.fiscalyear.startmonth",
        "description" : "Can be set to let the fiscal year start at another month than January. Used for leap year detection. If for example set to 4, the period of 2019-04-01 to 2020-03-31 is now the leap year. \nIf this property is not specified, days in a year is considered as 365 for non-contracted policies.",
        "deprecated" : false,
        "mandatory" : false,
        "defaultValue" : null,
        "possibleValues" : "Positive integer, values between 1 and 12",
        "accessMode" : "Public",
        "changeEffective" : "NextExecution"
    },
...
]
}

This operation returns a status described in Response Messages, typically 200.

The following table lists the attributes of a system property definition:

Table 1. GET (all)
Attribute Description

name

The unique name of the property. This name may include a placeholder like {0}. For example ohi.service.{0}.client.authentication.

description

Describes the purpose of the property and actual value that the property must use for placeholders.

deprecated

  • true: Future release will deprecate and remove the system property definition.

  • false: The system property definition does not deprecate.

mandatory

  • true: Set this value explicitly for the application to start properly. This means a property with a defaultValue is never mandatory, as it has a default value.

  • false: There is no need to supply a value.

defaultValue

The property uses this value when there is no explicit value.

possibleValues

A list of the values for this property.

accessMode

  • Public: Users (Cloud Services) can set this property.

  • Protected: Only (Cloud Services) administrators can configure this property.

changeEffective

Shows when a changed value takes effect. The values are:

  • Immediate: Changes take effect immediately.

  • NextExecution: Changes apply with the next execution of the use case or business process.

  • AfterRestart: Changes implemented after restart of the Oracle Health Insurance application.

The Immediate value of the ChangeEffective attribute does not influence the polling delay for reading the properties file. It only defines when changes that polling detects effectuates in the application.

Get (subset)

This method is available at:

http://[hostName]:[portNumber]/[api-context-root]/propertydefinitions?name=<prefix>

The method returns only the system property definitions that have their name, starting with the given prefix, ordering each value by name.

This operation returns a status as described in the Response Messages. If it finds at least one matching property the value is typically 200. 204 if there is no match.

GET (one)

This operation is available on the same location, followed by /{property}, where {property} is the exact name of the property.

http://[hostName]:[portNumber]/[api-context-root]/propertydefinitions/{property}

This operation is like the GET (subset) operation but returns the property if it exactly matches the path parameter {property}.

This operation returns a status as described in Response Messages. If it finds a matching property, the value is typically 200. If it does not find a property with that name, then it is 404.