Fields Element

The following elements allow for the configuration of fields.  Fields dictate the entry information required for screens and activity processing.

Fields Elements and Attributes
Element Attribute Parent Element Description Element/Attribute Values
<Fields>

The root element for the <Fields> structure.
<Field>
<Fields>

Required, Repeatable:

This element is a structure that defines a single field.  The element structure is repeated to define multiple fields.


<Name>
<Field>

Required:

This element provides the exact name of an entity database column or a dynamic field associated to an OIPA entity or activity.  It can also present data returned from an associated SQL query or an associated Math section.

  • literal
    • dynamic field name
    • math variable
    • database column name
<Display>
<Field>

Required:

This element provides the field's label. All labels can be translated to languages or renamed for a custom label.

  • literal
<DataType>
<Field>

Required:

This element classifies the field to one of the system's supported types of data. A specific data type gives a field a general definition of the potential appropriate values and the operations that can be performed on those values.

  • Blank
    • used for Filler fields
    • a blank is presented
  • Check
    • displays a check box on a screen
    • multiple check boxes are allowed for selection of multiple options
  • Client
    • values of a field of this type identify a Client by ClientGUID
    • a user can be presented with a list of all available Clients from the AsClient table
    • when a user selects this field the user is presented with a Client Search
      • this is applicable for the ClientScreen, PolicyScreen, SegmentScreen and an Activity's detail screen
  • Combo
    • presents a drop down box with one or more options for user selection
  • Data
    • date values are the only valid values
    • a calendar icon and calendar is presented to the user
  • Decimal
    • digit values and decimal points are the only valid values
      • these are classified as real numbers
    • user is presented with a calculator icon
  • Identifier
    • this value provides a <Parts> structure to generate a field value by concatenating literals, field values, math variable values and sequence numbers.
  • Integer
    • digit values are the only valid values
      • these may also be classified as whole numbers (no decimal points)
    • user is presented with a calculator icon
  • Label
    • presents a text literal that is left justified within one of a screen's field columns in which it is placed
  • Line
    • presents a line across the screen for an aesthetic appearance
  • LinkExternal
    • user is presented with a third party URL as a clickable link
  • Message
    • defines a static message or dynamic message where field values are substituted within the text
  • Money
    • user is presented with a monetary value
    • monetary values have two parts:  a decimal value and a currency code
    • user is presented with a calculator icon to enter the decimal portion of the field
    • user is presented with a drop down listing currency code options that a user can select
  • Percent
    • user is presented with a decimal value and a percent (%) sign
    • entered values are divided by 100 before persistence
    • displayed values are multiplied by 100 prior to presentation
  • Radio
    • user is presented with multiple options where only one option can be selected
  • Text
    • alphanumeric characters are valid values
    • size is limited
    • string of characters are freely formed
    • displayed/entered value is presented as a single line
  • TextArea
    • alphanumeric characters are valid values
    • a very large number of characters is possible
    • displayed/entered value is presented in multiple lines
  • Title
    • user is presented with a large bold label centered on the screen

MASK <DataType>

Optional:

This attribute provides the name of a mask. The system chooses a specific definition by the mask name and the user's security group. This attribute is applicable only for "Text" data types. Field data that is masked is not persisted with formatting characters.

  • mask name
    • definition is specific to a security group

CALENDAR <DataType>

Optional:

This attribute provides the name of an industry standard calendar type.  This influences the format of the entered or presented data value.  The attribute is applicable only for "Date" data types.

  • Gregorian
  • JP
  • JP_IMP

FORMAT <DataType>

Optional:

This attribute provides the name of a date format defined in the AsTranslation table. The attribute is applicable only for "Date" data types.

  • literal
    • name of key from AsTranslation table
    • the key's value is industry standard mnemonics for dates (no time values)
<Group>
<Field>

Optional:

This element provides a simplified name of the table that is the source of the data presented in the field.  This is used where the source data may come from one of multiple tables (i.e., criteria for search screen).

  • literal
    • examples
      • Activity
      • ActivityField
      • Address
      • AddressField
      • Client
      • ClientField
      • ClientGroupField
      • DisbursementApproval
      • Disbursement
      • DisbursementField
      • Policy
      • PolicyField
      • Program
      • ProgramField
      • Requirement
      • RequirementDefinition
      • Role
      • RoleField
      • Segment
      • Segmentname
      • SegmentField
      • Transactoin

ROLECODE <Group>

Optional:

This attribute identifies the Role whose field will be presented by the containing <Field>.

  • code value
    • valid value from AsCodeRole
<Currency>
<Field>

Optional:

This element provides a comma delimited list of currency codes.  This list is presented in OIPA as a combo box.  Selection associates the decimal value to the selected currency code.

The element is applicable to fields with a data type of Money, otherwise it is ignored.

  • list
    • valid values are currency codes from the AsCurrency table
    • one or more currency codes may provided in a comma delimited list
<DefaultCurrency>
<Field>

Optional:

This element defines the initial currency selection from the combo box presented by the <Currency> element or provides the single currency code to associate to the field's value when the <Currency> element is not configured.

This element is ignored in the Inquiry Screen's output field section.

  • currency code
    • valid value comes from the AsCurrency table
    • the currency code must also appear in the list defined by <Currency> element if that element is configured
<DefaultValue>
<Field>

Optional:

This element provides the field's initial value.

  • SYSTEMDATE
    • sets the initial field value to the current system date
    • this is applicable to Date data types
  • literal
    • sets the field's initial value to the element's literal value
    • literal must meet the data type's requirements 
<Calculated>
<Field>

Optional:

This element provides a means to "calculate" the initial value of the field.  The element's value provides different ways to calculate the field's default value.  The element's value differs between the types provided by the TYPE attribute.

  • SQL statement
    • applicable when TYPE="SQL"
  • field name
    • applicable when TYPE="REPLACE"
  • literal
    • text with no substitution
    • text with syntax to substitute values from other fields on the screen
    • applicable when TYPE="MESSAGE" or TYPE="REPLACE"
  • function call with its parameters 
    • applicable when TYPE="FUNCTION"
  • SystemDate
    • sets the field to the current system date
    • applicable applicable for Date DataTypes

TYPE <Calculated>

Required:

The attribute describes the value that is configured in the parent element.

  • SQL
    • the element's value is a full SQL SELECT query that must return a single value and a single row
    • the SQL can access information described by the "Available Prefixes and Fields for Configuration" under the Configuration Standards topic
  • REPLACE
    • this attribute's value forces the field to accept the element's value
  • MESSAGE
    • the element's value will contain a static message (contains only text) or a dynamic message (text with value substitution from other fields)
  • FUNCTION
    • the element's value will contain a function call
    • the result of the function is set to the default value of the field.

METHOD <Calculated>

Optional:

The element adds additional conditions to process the parent <Calculated> element.

  • IFEMPTY
    • the attribute's value instructs the system to process the parent element when the field's value is empty
  • FORCE
    • the attribute's value instructs the system to process every time the screen is loaded
<Disabled>
<Field>

Optional:

The element controls the ability to access the field for data entry.

  • No
    • default
    • the field is open to user entry
  • Yes
    • the field is locked from user entry
  • ReadOnly
    • the field is locked from user entry
<Hidden>
<Field>

Optional:

The element controls visibility of the field on the screen.

  • No
    • default
    • field is visible
  • Yes
    • field is hidden and not accessible for user entry.
<Expanded>
<Field>

Optional:

The element controls the width of the field.  Normally the field's width is limited to the width of a single field column on the page.  When a field is expanded, the field's width is expanded across all field columns on the page.  If the field's natural presentation is in the left column, the field is expanded to all field columns.  If the field's natural presentation is not in the left column, the field moves down a row and expands across all field columns.  The only data types that can be expanded are Combo, Radio and Text.

  • No
    • default
    • the field is not expanded
  • Yes
    • the field is expanded
<Required>
<Field>

Optional:

The element indicates where a value is required to be entered.  A required field cannot be left blank when the screen is submitted for persistence. 

There is exceptional information to note:

  • A "Yes" value for this element is not valid when the data type is Identifier.
  • A field with data type is Check must be checked before the screen is submitted else an error is generated. 
  • A field with data type is Radio must have a selection before the screen is submitted else an error is generated.
  • SecurityGroup configuration may conflict with a required field.
    • SecurityGroup configuration can prevent the user from entering data while at the same time this element may required data entry.  This situation must be avoided.
  • This element applies to dynamic fields on the Policy, Client, Segment, Activity, Suspense, Inquiry and ClientGroup Screens.
  • No
    • default
    • data entry into the field is not required
  • Yes
    • data entry into the field is required
<Final>
<Field>

Optional:

This element will indicate when the field cannot be overridden during inheritance and is only applicable to screen rules that can be inherited.  Those rules are PlanScreen and SegmentName. 

  • No
    • default
    • the field can continue to be overridden as defined by the child rule configuration
  • Yes
    • the field cannot be overridden by child rule configuration
<Query>
<Field>

Optional:

This element provides the options that populate a combo box either through a SQL query or static list of <Option> elements.

The element applies to Combo and Radio data type fields only.  If configuration does not provide this element, a screen <Event> and associated <Action> must ASSIGN option values with value\text pairs.



TYPE <Query>

Required:

This attribute defines the method to obtain the options that populate the combo box.

  • SQL
    • the value of the element is a SQL query returning 
    • the SQL must return 2 columns where the first is equal to a code and the second is user friendly descriptive text associated to the code
  • FIXED
    • options population is literally provided by the contained <Options> element structure
<Options>
<Query>

Optional:

This element provides a structure defining the options available to a Combo and Radio data type.  This element is required when the <Query> element's type is FIXED.


<Option>
<Options>

Required, Repeatable:

This element defines a single option. An option is always a key and value pair. Repeating the element allows definition of multiple key/value pairs.


<OptionValue>
<Option>

Required:

This element provides the value for the key part of the key/value pair. Often this is a code value from the AsCode table. When this option is selected, this is also the field's actual value.

  • literal
<OptionText>
<Option>

Required:

This element provides a descriptive label for the associated key. A user actually sees this on the UI.

  • literal
<Encrypt>
<Field>

Optional:

This element identifies that the field's text value will be encrypted as it is persisted to the database.  If the field applies a MASK, the MASK is applied first followed by encrypting the data.  MASK formatting characters are not persisted in the database and not part of the encrypted data.  This element may co-exist on the same field with the <Decrypt> element and is recommended.  <Decrypt> instructs the system about data retrieval while <Encrypt> impacts data persistence.

This element applies only to Activities defined by Transaction configuration.

  • No
    • default
    • the field's value is not encrypted
  • Yes
    • the field's value is encrypted

ERASE <Encrypt>

Optional:

This attribute identifies the actions the system takes on this field's data when the Activity processes successfully ("Active" status) or when the activity is deleted while it is pending ("Pending Shadow" status).  This attribute applies to Activities regardless of how they are created ( UI, Data Intake, Spawn, AsFile), regardless of the process that made it active and regardless of the process that shadowed the activity (UI, Data Intake, ShadowPendingActivities attached business rule).

  • No
    • default
    • encrypted field data persists when the activity is in Pending Shadow or Active status
  • Yes
    • field data is erased when the activity status becomes Pending Shadow or Active
<Decrypt>
<Field>

Optional:

This attribute indicates that the field's encrypted text value will be decrypted as the value is retrieved from the database with or without a SQL query.  The data is presented in its raw decrypted value.  A MASK on the field applies formatting characters after decryption.  This element may co-exist on the same field with the <Encrypt> element and is recommended.  <Encrypt> instructs the system on persisting data while <Decrypt> instructs data retrieval.

This element applies only to Activities defined by Transaction configuration.

  • No
    • default
    • there is no change to the retrieved data
  • Yes
    • encrypted data will be decrypted before presentation

ERASE <Decrypt>

Optional:

This attribute identifies the actions the system takes on this field's data when the Activity processes successfully ("Active" status) or when the activity is deleted while it is pending ("Pending Shadow" status).  This attribute applies to Activities regardless of how they are created ( UI, Data Intake, Spawn, AsFile), regardless of the process that made it active and regardless of the process that shadowed the activity (UI, Data Intake, ShadowPendingActivities attached business rule).

  • No
    • default
    • the decrypted field data persists when the activity is in Pending Shadow or Active status
  • Yes
    • field data is erased when the activity status becomes Pending Shadow or Active
<Parts>
<Field>

Optional:

This element provides a structure to define concatenation of field values, math variable values, literals and sequence numbers. This is applicable for fields where <DataType> is "Identifier".

See Parts page under Common Elements topic.


<ClearOnRecycle>
<Field>

Optional:

The element instructs the system to clear the field's value during the activity's presentation when it is manually recycled by a user. This element can only be applied to a transaction's fields.

  • No
    • default
    • the field's value is retained during the activity's re-presentation upon manual recycling
  • Yes
    • the field's value is cleared during the activity's re-presentation upon manual recycling
<ToolTip>
<Field>

Optional:

 This element provides an informational message when a user hovers over a field name or it's label.

  • message

 

XML Schema

<Fields>
    <Field>
        <Name>[field name | variable | column name]</Name>
        <Display>[literal]</Display>
        <DataType>[Blank | Check | Client | Decimal | Label | Line | LinkExternal | Message | Percent | TextArea | Title]</DataType>
        <Group ROLECODE="[code]">[table name]</Group>
        <DefaultValue>[literal]</DefaultValue>
        <Disabled>[No | Yes | ReadOnly]</Disabled>
        <Hidden>[No | Yes]</Hidden>
        <Required>[No | Yes]</Required>
        <Final>[No | Yes]</Final>
        <ToolTip>[message]</ToolTip>
    </Field>
    <Field>
        ...
        <DataType CALENDAR="[Gregorian | JP | JP_IMP]" FORMAT="[literal]">Date</DataType>
        <DefaultValue>SYSTEMDATE</DefaultValue>
        <Calculated TYPE="[SQL | REPLACE | FUNCTION]" METHOD="[FORCE | IFEMPTY]">[sql statement | SystemDate | function call]</Calculated>
        ...
    </Field>
    <Field>
        ...
        <DataType>Money</DataType>
        <Currency>[list]</Currency>
        <DefaultCurrency>[code]</DefaultCurrency>
        ...
    </Field>
    <Field>
        ...
        <DataType MASK="[name]">Text</DataType>
        <Expanded>[No | Yes]</Expanded>
        ...
    </Field>
    <Field>
        ...
        <DataType>[Combo | Radio]</DataType>
        <Expanded>[No | Yes]</Expanded>       
        <Query TYPE="SQL">[sql statement]</Query>
        ...
    </Field>
    <Field>
        ...
        <DataType>[Combo | Radio]</DataType>
        <Query>
            <Options>
                <Option>
                    <OptionValue>[code | literal]</OptionValue>
                    <OptionText>[literal]</OptionText>
                </Option>
                <Option>...</Option>
            </Options>
        </Query>
        ...
    </Field>
    <Field>
        ...
        <DataType>Identifier</DataType>
        <Parts>...</Parts>
        ...
    </Field>
    <Field>
        ...
        <Calculated TYPE="SQL" METHOD="[FORCE | IFEMPTY]">[sql statement]</Calculated>
        ...
    </Field>
    <Field>
        ...
        <Calculated TYPE="MESSAGE" METHOD="[FORCE | IFEMPTY]">[message]</Calculated>
        ...
    </Field>
    <Field>
        ...
        <Calculated TYPE="REPLACE" METHOD="[FORCE | IFEMPTY]">[field name | literal]</Calculated>
        ...
    </Field>
    <Field>
        ...
        <Calculated TYPE="FUNCTION" METHOD="[FORCE | IFEMPTY]">[function call]</Calculated>
        ...
    </Field>
    <Field>...</Field>
</Fields>

XML Schema - Transaction Feild

<Transaction>
    ...
    <Fields>
        <Field>
            ...
            <DataType MASK="[name]">Text</DataType>
            <Encrypt ERASE="[No | Yes]">[No | Yes]</Encrypt>
            <Decrypt ERASE="[No | Yes]">[No | Yes]</Decrypt>
            ...
        </Field>
        <Field>
            ...
            <ClearOnRecycle>[No | Yes]</ClearOnRecycle>
            ...
        </Field>
        <Field>...</Field>
    </Fields>
    ...
</Transaction>

XML Example

General Example

<Fields>
    <Field>
        <Name>TaxID</Name>
        <Display>Tax ID</Display>
        <DataType MASK="SSN">Text</DataType>
        <Disabled>No</Disabled>
        <Hidden>No</Hidden>
    </Field>
    <Field>
        <Name>QualNonQual</Name>
        <Display>Qual or Non-Qual</Display>
        <DataType>Text</DataType>
        <ToolTip>Indicates a Qualified or non-Qualified Policy with 'Qual' or 'NonQual'</ToolTip>
    </Field>
</Fields>

Line DataType Example

<Field>
    <Name>Line1</Name
    <Display>Line</Display>
    <DataType>Line</DataType>
</Field>

Radio and Combo DataType Population Examples

<Fields>
    <Field>
        <Name>AccountType</Name>
        <Display>Account Type</Display>
        <DataType>Radio</DataType>
        <Query TYPE="FIXED">
            <Options>
                <Option>
                    <OptionValue>C</OptionValue>
                    <OptionText>Checking</OptionText>
                </Option>
                <Option>
                    <OptionValue>S</OptionValue>
                    <OptionText>Savings</OptionText>
                </Option>
            </Options>
        </Query>
    </Field>
    <Field>
        <Name>BankStateLocation</Name>
        <Display>Bank State</Display>
        <DataType>Combo</DataType>
        <Query TYPE="SQL">SELECT CodeValue, ShortDescription FROM AsCode UNION SELECT '$$$Blank$$$', ' ' ORDER BY ShortDescription</Query>
    </Field>
</Fields>

Calculated Example

<Fields>
    <Field>
        <Name>Prefix</Name>
        <Display>Prefix</Display>
        <DataType>Text</DataType>
        <Calculated TYPE="SQL">SELECT CASE WHEN '[PolicyStatus]' = '08' THEN 'B' ELSE 'R' END</Calculated>
    </Field>
</Fields>

Currency Example

<Fields>
    <Field>
        <Name>AnnualPremium</Name>
        <Display>Annual Premium</Display>
        <DataType>Money</DataType>
        <Disabled>Yes</Disabled>
        <DefaultValue>0</DefaultValue>
        <Currency>KRW,THB,INR,USD</Currency>
        <DefaultCurrency>USD</DefaultCurrency>
    </Field>
</Fields>

Parts Examples

<Fields>
    <Field>
        <Name>ClientID</Name>
        <Display>Client Name ID</Display>
        <DataType>Identifier</DataType>
        <Parts>
            <Part TYPE="SEQUENCE" FORMAT="0000000000">ClientID</Part>
        </Parts>
    </Field>
    <Field>
        <Name>ActivityWarrantNumber</Name>
        <Display>Activity Warrant Number</Display>
        <DataType>Identifier</DataType>
        <Parts>
            <Part TYPE="FIELD" LEFT="1">Prefix</Part>
            <Part TYPE="SEQUENCE" FORMAT="0000000">AsActivity_RBWarrantNumber</Part>
        </Parts>
    </Field>
</Fields>

Activity Encrypt/Decrypt Example

<Transaction>
    <Fields>
        <Field>
            <Name>PersonalId</Name>
            <Display>Personal Id</Display>
            <DataType>Text</DataType>
            <Encrypt ERASE="Yes">Yes</Encrypt>
            <Decrypt ERASE="Yes">Yes</Decrypt>
        </Field>
        <Field>
            <Name>WithdrawalAmount</Name>
            <Display>Removal Amount</Display>
            <DataType>Money</DataType>
        </Field>
    </Fields>
</Transaction>