Custom Jet Properties

The Oracle Health Insurance JET framework provides a set of custom properties which can be used with pre-defined resources to display JET specific fields like formatted name, recent group account holders etc. These custom properties are defined below:

Formatted Name

This property is used to display the formatted name in context of a person or an individual provider or an agent which is built using user defined logic. System properties are used to store the logic required to display the formatted name.

Person’s Formatted Name

Property "formattedName" is used to display the formatted name for a person.

Resource Name: persons

System Property used to store the formattedName construct logic: ohi.jsui.formatted.name.persons

Floor plan property to be used in context of 'persons' resource: formattedName

Available to be used within Policies, Claims and Capitation JET UI floor plans.

Fields available in context of the 'person' resource which can be used when customizing the system property:

  • name (Last Name)

  • firstName

  • middleName

  • personTitle

    • Person can have multiple titles

    • In case of multiple titles, they are sorted using displayOrder that is, titles with lower display position are displayed first

    • If multiple titles have same displayOrder then they are sorted by the display name

    • Titles with no displayOrder assigned are displayed last

    • displayPosition is not considered when generating the formatted name

  • initials

  • prefix (Display Code is used)

  • suffix

  • single value non-time valid character field usage name

If the person resource is returned as concealed that is, if access restriction is set, formattedName property returns value as "**"

Individual Provider’s Formatted Name

This property is used to customize and display the formatted name for an individual provider.

Resource Name: individualproviders

System Property used to store the formattedName construct logic: ohi.jsui.formatted.name.individualproviders

Floor plan property to be used in context of 'individualproviders' resource: formattedName

Available to be used within Policies, Claims and Capitation JET UI floor plans

Fields available in context of the 'person' resource which can be used when customizing the system property:

  • name (Last Name)

  • firstName

  • middleName

  • providerTitle

    • Person can have multiple titles

    • In case of multiple titles, they are sorted using displayOrder that is, titles with lower display position are displayed first

    • If multiple titles have same displayOrder then they are sorted by the display name

    • Titles with no displayOrder assigned are displayed last

    • displayPosition is not considered when generating the formatted name

  • initials

  • prefix (Display Code is used)

  • suffix

  • single value non-time valid character field usage name

Agent’s Formatted Name (Policies Only)

This property is used to customize and display the formatted name for an agent.

Resource Name: agents

System Property used to store the formattedName construct logic: ohi.jsui.formatted.name.agents

Floor plan property to be used in context of 'agents' resource: formattedName

Available to be used within Policies JET UI floor-plans only.

Fields available in context of the 'person' resource which can be used when customizing the system property:

  • name (Last Name)

  • firstName

  • middleName

  • initials

  • prefix (Display Code is used)

  • suffix

  • single value non-time valid character field usage name

Configuring Formatted Name System Properties

These system properties can be configured with any of the properties defined above for each resource. Each attribute within the configuration is separated by a '.'

Examples

ohi.jsui.formatted.name.persons = initials.firstname.name
ohi.jsui.formatted.name.individualproviders = providerTitle.firstname.name
ohi.jsui.formatted.name.agents = initials.name.agentDynamicField1
If the system is not able to resolve the formattedName using the above properties or if the properties are not defined, the name (Last name) property is displayed as a default value.

Using Formatted Names in Floor Plans

formattedName property can be used in context of the following resources:

  • persons

  • individualproviders

  • agents

formattedName property has the following attributes:

  • Type: String

  • Always read-only

  • Cannot be used as a search criterion that is, cannot be used in quick search, advanced search, filter or sort

  • Can be used at any other place like a generic property for the above resources. For example, in region, tab, table etc.

Examples

1. Displaying person’s formatted name along with date of birth: formattedName and person’s 'dateOfBirth' added in context of person resource on recursive floor plan.

 "name": "person",
 “sequence": 1,
 "properties": [
    {
        "name": "formattedName",
        "sequence": 1
    },
    {
        "name": "dateOfBirth",
        "sequence": 2
    }
]

2. Displaying agent’s formatted name in context of agent resource on a recursive page.

 "name": "agents",
 “sequence": 1,
 "properties": [
    {
        "name": "formattedName",
        "sequence": 1
    }
]

Address

The following address related properties are accessible in context of person and organization resource.

ActiveAddressesListJET

This list property filters and displays only the addresses which are valid as of the system date. This can be used in place of addressList on a person to view only active address. It is possible to filter out addresses by using a filter condition. For example, based on address type. For details on how to use filter on multi value list, see Properties chapter of the Developer Guide for details.

InactiveAddressesListJET

This list property filters and displays only the addresses which are not valid as of the system date. This can be used in place of addressList on a person to view only inactive address. It is possible to filter out addresses by using a filter condition. For example, based on address type. For details on how to use filter on multi value list, see Properties chapter of the Developer Guide for details.

FormattedAddressesJET

This property can be used from addressList, inactiveAddressesList or activeAddressesList to show the formatted address. The specifics around address format are given by system property.

1)ohi.jsui.formatted.address.person for person address 2)ohi.jsui.formatted.name.organization for org address

The system property can be configured to use any information on the address (line).

'#' between the properties indicates the next property is displayed after a 'space'.

'~' indicates start of a new line.

'*' between the properties indicates the next property is displayed after a 'comma'.

For example, A system property is configured as:

street#houseNumber#additionalPart1~additionalPart2~additionalPart3~city#postalCode~countryRegion.code*country.code

The address is displayed as:

Address type ( Start date - End date) (section gets repeated for each applicable address type) <value of street> <value of houseNumber> <value of additionalPart1> <value of additionalPart2> <value of additionalPart3> <value of city> <value of postal code> <value of countryRegion>, <value of country>

Any value that is null is not displayed. If the complete row results in no value (empty row), then the row is now displayed.

The above info is displayed for each item in the address list, inactiveAddressesList or activeAddressesList.

{
  "properties": [
    {
      "name": "activeAddressesListJET",
      "sequence": 1,
      "filter":"addressType.code.eq("MAILING")",
        "properties": [
          {
            "name": "formattedAddressesJET",
            "sequence": 1,
          }]
    }
]}

This configuration would display formatted MAILING address as per system property configuration.

Created By (createdByJET)

Displays created by user’s displayName. This generic property is available on all the auditable resources. For system records for which there is no entry in the user table, this property returns "System".

 "properties": [
    {
        "name": "createdByJET",
        "sequence": 1
    }
]

Last Updated By (lastUpdatedByJet)

Displays last updated user’s displayName. This generic property is available on all the auditable resources. Note that for system records for which there is no entry in the user table, this property returns "System".

SystemDateJET and systemDateTimeJET

These timestamp objects support operations like addDays, minusDays, addMonths, minusMonths, addYears(), minusYears(). They can be used as filters within query requests based on dates.

For example
lastUpdatedDate.gte(${systemDateTimeJET.minusDays(10)})
{
       "name": "startDate",
       "sequence": 12,
       "default": "${context.systemDateJET}"
}

Access to Logged in the User Object

Logged in users information can be accessed through userJet object. This object gives access to all the information about the logged-in user which is returned by userinformation IP. For example: Widget queries can access logged-in user information by accessing "User object" in the query API policies?q= lastUpdatedBy.eq(${userJET.id})

Recent Policyholder (Policies Only)

Recent Policyholder property is used to display the most recent policyholder in context of the selected policy. This property is only configurable within Policies Search and Policy View or Edit floor-plans.

  • Property usage name: recentPolicyHolder

  • Returns the reference to the person resource which the system has identified as the most recent policyholder

  • Can be configured to display any attribute from the returned person resource

Sample configuration:

"name": " recentPolicyHolder",
"sequence": 1,
"properties": [
    {
        "name": "person",
        "sequence": 1,
        "properties": [
            {
                "name": "formattedName"
            }
        ]
    }
]

Recent Group Account (Policies Only)

Recent Group Account property is used to display the most recent group account in context of the selected policy. This property is only configurable within Policies Search and Policy View or Edit floor-plans.

  • Property usage name: recentGroupAccount

  • Returns the reference to the group account resource which the system has identified as the most recent group account

  • Can be configured to display any attribute from the returned groupaccount resource

Sample configuration:

"name": " recentGroupAccount",
"sequence": 1,
"properties": [
    {
        "name": "groupaccounts",
        "sequence": 1,
        "properties": [
            {
                "name": "displayName"
            }
        ]
    }
]
This property is resolved only for Group policies.

Policy Product (enrollmentproductJET) (Policies Only)

This custom property can be used for connecting of Policy enrollment product.

This Jet property triggers a custom component, that displays enrollment product list or group account product list based on the context. Sample configuration:

{
"name": " enrollmentproductJET",
"sequence": 1
}

Policy Add-on (addonsJET) (Policies Only)

This custom property can be used for connecting of Policy enrollment product add-on.

This Jet property triggers a custom component, that displays the applicable add-ons list based on the context. For an enrollment product it displays the list of available add-ons defined at the product level. For a group policy it displays the add-ons based on insurance class availability.

Sample configuration:

{
"name": " addonsJET",
"sequence": 1
}

Policy Parameters Alias (Policies Only)

This custom property can be used for in connect of Policy enrollment product parameterAlias.

This Jet property triggers a custom component, that displays the applicable parameter alias list based on the context. In context of individual policy it displays the parameters defined at Enrollment product level. When in context of group policy it displays Parameters configured both at Group Account Product Parameters and Enrollment Product Parameters. If the same Parameter is defined at both Group and Enrollment Product Level, it is displayed only once in the drop-down.

Sample configuration:

{
"name": " parameterAliasJET",
"sequence": 1
}

Parameter Value

Four custom JET properties are defined to display and store the Parameter Values that is, one for each parameter type

  • parametersAmountJet

    • The drop-down list contains the available parameters of type Amount based on selected product

  • parametersPercentageJet

    • The drop-down list contains the available parameters of type percentage based on selected product

  • parametersDaysJet

    • The drop-down list contains the available parameters of type service days based on selected product

  • parametersUnitsJet

    • The drop-down list contains the available parameters of type number of units based on selected product

Parameter Values depend on the parameter configuration that is, discrete or not.

  • When the parameter domain is a discrete domain

    • Display the values as a drop-down with the list of configured values (including currency for Amount)

    • When the parameter alias on the parameter value is no longer included in a parameter domain on the enrollment product or group account product in context, it is still included in the list of values

    • For new parameters select the default value from the drop-down as configured

    • Parameter domain may specify time validity, in that case, only the value valid on the policy enrollment product start date are displayed

  • Else displays the value as a text box (including currency for Amount)

    • For new parameters the default value is auto selected based on the configuration

Page level user defined properties

A custom enum/date property can be specified in the floor plan to steer conditional displays. This is page specific property and can be specified as follows :

property:[{
  "name”: "myenum"
  "type": "enum|date"
  "custom":"true" – indicates it is a custom field
  "default" :"value 1"
   values :[{ -- only for enum
     "value" :"value 1"// this is the value to be used for condition evaluation
     "label" : "bolerpate key for label to be shown in UI" //
   },
   {
     value" :"value 2"
    "label" : "lable 2"
  }]
  "display": "radio" ( checkbox/dropdown),
  "evaluateCondition": [{

   }]
}]
-----