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

Formatted Name

This custom Jet property displays the formatted name of a person or an individual provider. The application’s system properties hold the logic to construct the formatted name.

If the system is not able to construct the formattedName or if the properties are not defined, the name (Last name) property is displayed as a default value.

The formattedName is a read-only string. It cannot be used in quick search, advanced search, filter or sort components. It can be used at any other place like a generic property for the above resources. For example, in a region, a tab or a table.

Person’s Formatted Name

In the context of the 'persons' resource, use the floor plan property "formattedName" to display the formatted name for a person.

The system property ohi.jsui.formatted.name.persons stores the construct logic for the formatted name. For example: [1]

ohi.jsui.formatted.name.persons = initials.firstName.name

Resource Properties

The construct logic can use following properties from the context of the 'person' resource:

  • name (Last Name)

  • firstName

  • middleName

  • personTitle
    A 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 without a displayOrder are displayed last. The construct logic does not consider the displayPosition of the title.

  • 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, the formattedName property returns value as "**".

Availability

This custom Jet property is available within Policies, Claims and Capitation JET UI floor plans.

Example

To display a person’s formatted name along with it’s date of birth, add the formattedName and the dateOfBirth properties in the context of the person resource on a recursive floor plan.

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

Individual Provider’s Formatted Name

In the context of the 'individualproviders' resource, use the floor plan property "formattedName" to display the formatted name for an individual provider.

The system property ohi.jsui.formatted.name.individualproviders stores the construct logic for the formatted name.

For example: [1]

ohi.jsui.formatted.name.individualproviders = providerTitle.firstName.name

The construct logic can use following properties from the context of the 'individual provider' resource:

  • name (Last Name)

  • firstName

  • middleName

  • providerTitle
    A provider 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 without a displayOrder are displayed last. The construct logic does not consider the displayPosition of the title.

  • initials

  • prefix (Display Code is used)

  • suffix

  • single value non-time valid character field usage name

Availability

This custom Jet property is available within Policies, Claims and Capitation JET UI floor plans.

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.

  • ohi.jsui.formatted.address.person for person address

  • 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 date and timestamp objects can be used to set defaults to date/timestamp fields in forms (region/table), in (pre) filters in LOV, multivalue properties, search pages to conditionally limit the results based on various date driven criteria or within condition expression of conditional display component.

They support operations like addDays, minusDays, addMonths, minusMonths, addYears(), minusYears().

For example: lastUpdatedDate.gte(${systemDateTimeJET.minusDays(10)})

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

POST http://[hostName]:[portNumber]/[api-context-root]/policies/search

{
  "resource": {
    "q": "lastUpdatedBy.eq(${userJET.id})"
  }
}

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" : "boilerplate key for label to be shown in UI" //
   },
   {
     value" :"value 2"
    "label" : "label 2"
  }]
  "display": "radio" ( checkbox/dropdown),
  "evaluateCondition": [{

   }]
}]

1. Each attribute within the configuration is separated by a '.'