IBM Curam Rate Table Configuration and Uses

IBM Curam – Rate Table Configuration and Uses

Introduction: 

                  Rate tables are used to maintain values that can vary over time.  An example of a rate is an FPL (Federal Poverty Limit) Limit or Gross Income limit based on the number of people in a household. Since rate tables can be created and maintained independently, this allows for a more flexible approach to rates that apply to products. Rate tables can be used for values that are effective during set time periods. For example, the reassessment of a case might call upon values in the past, where the rates have changed considerably, and these values can be stored on a rate table.

A rate table can contain an indefinite number of rows and columns which determines the number of cells. The values of individual rates are stored in these cells. Additionally, sub-rows and sub-columns can be added to each individual row and column. A rate table can also be cloned and used as a basis for a new rate table.

Each rate table has a type and effective date. Note that if two rate tables have been created for the same type, then the effective date of the rate tables continues until midnight of the day before the effective date of the next rate table.

Rate Table Construction:

In order to construct Rate Table which will be used by CER, we have to follow below steps-

  • Add Rate Table Name in CT_RateTableType.ctx code table. Exp. Update code table with below information-

<?xml version="1.0" encoding="UTF-8"?>
<codetables package="curam.codetable">
<codetable java_identifier="RATETABLETYPE" name="RateTableType">
<displaynames>
<locale language="en">Rate Table Type</locale>
</displaynames>
<code default="false" java_identifier="MEDICALLYNEEDYFMAPRATE" status="ENABLED" value="DKRT45001">
<locale language="en" sort_order="0">
<description>Medically Needy FMAP Rate</description>
<annotation/>
</locale>
</code>
</codetable>
</codetables>


  • CT_RateRowType.ctxThis code table contains rows which we want to add for an above-created table. Ex. Update code table with below information-

<code default="false" java_identifier="MEDICALLYNEEDYSINGLE" status="ENABLED" value="DKRR45011">
<locale language="en" sort_order="0">
<description>FMAP Medically Needy Single</description>
<annotation/>
</locale>
</code>
<code default="false" java_identifier="MEDICALLYNEEDYDOUBLE" status="ENABLED" value="DKRR45012">
<locale language="en" sort_order="0">
<description>FMAP Medically Needy Double</description>
<annotation/>
</locale>
</code>


  • CT_RateColumnType.ctxThis code table contain all column related to the above-created Rate table and Rate Rows. Exp. Update this code table as given below in order to add Column

<code default="false" java_identifier="MEDICALLYNEEDYFMAPRATE" status="ENABLED" value="DKRC45001">
<locale language="en" sort_order="0">
<description>Medically Needy FMAP Rate</description>
<annotation/>
</locale>
</code>

 


There are some dmx files which we need to add/update in order to pre-populate data on the application. once data is available then it will be used by other program or process.

  • RATEHEADER.dmx The rate header entity stores header information for a rate table. Each record on this table refers to a rate table with an effective date and a status. It contains the following fields:
Entity Field Description
Effective Date This field is the date on which this record becomes effective.
Rate Table Type This field is the type of the rate table. It is populated from the RateTableType code table. There should be one entry in this code table for each rate table in the system. This field is used to determine the set of temporal records that comprise the data for a given rate table.
Rate Status This field is the status of this record. It is populated from the RateStatus code table. Where a second record has been cloned from a rate table the original record will have a rate status of superseded.
Comments This field contains the comments about this record.

<row>
    <attribute name="RATEHEADERID">
      <value>45001</value>
    </attribute>
    <attribute name="EFFECTIVEDATE">
      <value>2014-04-01-00.00.00</value>
    </attribute>
    <attribute name="RATETABLETYPE">
      <value>DKRT45001</value>
    </attribute>
    <attribute name="COMMENTS">
      <value>Medically Needy Rate for FMAP</value>
    </attribute>
    <attribute name="RATESTATUS">
      <value>RS1</value>
    </attribute>
    <attribute name="VERSIONNO">
      <value>1</value>
    </attribute>
  </row>


  • RATECOLUMN.dmx The rate column entity represents a column in a given rate table. Each column can contain one or more cells. It contains the following fields:
Entity Field Description
Rate Header ID This field is the ID of the RateHeader with which this record is associated.
Parent Column ID This field is the ID of the parent column of this column. This will only be populated for sub-columns. This field is optional.
Rate Column Key Min This field is the minimum value for this column. This field is optional.
Rate Column Key Max This field is the maximum value for this column. This field is optional.
Rate Column Key Value This field is the value for this column. When there is only a single row in a table, this value is used. This field is optional.
Rate Column Type This field is the type of the column. It is populated from the ‘Rate ColumnType’ code table. There should be one entry in this code table for each rate column in the system.
Rate Column Index This field is the index of the column within the rate table. If the column has no parent, this field refers to the index of the column within the table as a whole. If the column has a parent (making it a sub-column), then this field refers to the index of the column within the parent column.
Any Minimum Indicator This field is used to indicate if any minimum value has been set for this column. If the value of this field is ‘False’, then no minimum value has been set for this column.
Any Maximum Indicator This field is used to indicate if any maximum value has been set for this column. If the value of this field is ‘False’, then no maximum value has been set for this column.

<row>
    <attribute name="RATECOLUMNID">
      <value>45001</value>
    </attribute>
    <attribute name="RATEHEADERID">
      <value>45001</value>
    </attribute>
    <attribute name="PARENTCOLUMNID">
      <value/>
    </attribute>
    <attribute name="RATECOLUMNKEYMIN">
      <value>0</value>
    </attribute>
    <attribute name="RATECOLUMNKEYMAX">
      <value>0</value>
    </attribute>
    <attribute name="RATECOLUMNKEYVALUE">
      <value>0</value>
    </attribute>
    <attribute name="RATECOLUMNTYPE">
      <value>DKRC45001</value>
    </attribute>
    <attribute name="RATECOLUMNINDEX">
      <value>1</value>
    </attribute>
    <attribute name="ANYMINIMUMIND">
      <value>0</value>
    </attribute>
    <attribute name="ANYMAXIMUMIND">
      <value>0</value>
    </attribute>
    <attribute name="VERSIONNO">
      <value>1</value>
    </attribute>
  </row>


  • RATEROW.dmxThe rate row entity represents a row in a rate table. Each rate row record can relate to one or more rate cell records. It contains the following fields:
Entity Field Description
Rate Header ID This field is the ID of the related rate header record.
Rate Row Type This field is the type for this row. This field is optional.
Rate Row Index This field is the index of the row within the rate table

<row>
    <attribute name="RATEROWID">
      <value>45011</value>
    </attribute>
    <attribute name="RATEHEADERID">
      <value>45001</value>
    </attribute>
    <attribute name="RATEROWTYPE">
      <value>DKRR45011</value>
    </attribute>
    <attribute name="RATEROWINDEX">
      <value>10</value>
    </attribute>
    <attribute name="VERSIONNO">
      <value>1</value>
    </attribute>
  </row>
  <row>
    <attribute name="RATEROWID">
      <value>45012</value>
    </attribute>
    <attribute name="RATEHEADERID">
      <value>45001</value>
    </attribute>
    <attribute name="RATEROWTYPE">
      <value>DKRR45012</value>
    </attribute>
    <attribute name="RATEROWINDEX">
      <value>11</value>
    </attribute>
    <attribute name="VERSIONNO">
      <value>1</value>
    </attribute>
  </row>


  • RATECELL.dmxThe rate cell entity represents a cell in the rate table. It contains the following fields:
Entity Field Description
Rate Column ID This field is the ID of the RateColumn record with which the cell is associated.
Rate Cell Min This field is a minimum value for this cell. If a minimum value is entered, a maximum value must be entered. Also, the minimum value cannot be greater than the maximum value.
Rate Cell Max This field is a maximum value for this cell. If a maximum value is entered, a minimum value must be entered.
Rate Cell Value This field is the value for this cell. This value is mandatory if no minimum and maximum value are entered.
Rate Cell Index This field is the index (row) of the cell within the column.
Any Minimum Indicator This field is used to indicate if any minimum value has been set for this cell. If the value of this field is ‘True’, then no minimum value has been set for this cell.
Any Maximum Indicator This field is used to indicate if any maximum value has been set for this cell. If the value of this field is ‘True’, then no maximum value has been set for this cell.
Rate Row ID This field is the ID of the RateRow record with which the cell is associated.
Blank Cell Indicator This field is used to indicate whether the rate RateCell has any value recorded.

 

<row>
    <attribute name="RATECELLID">
      <value>45011</value>
    </attribute>
    <attribute name="RATECOLUMNID">
      <value>45001</value>
    </attribute>
    <attribute name="RATECELLMIN">
      <value>0</value>
    </attribute>
    <attribute name="RATECELLMAX">
      <value>0</value>
    </attribute>
    <attribute name="RATECELLVALUE">
      <value>108</value>
    </attribute>
    <attribute name="RATECELLTYPE">
      <value/>
    </attribute>
    <attribute name="RATECELLINDEX">
      <value>1</value>
    </attribute>
    <attribute name="ANYMINIMUMIND">
      <value>1</value>
    </attribute>
    <attribute name="ANYMAXIMUMIND">
      <value>1</value>
    </attribute>
    <attribute name="RATEROWID">
      <value>45011</value>
    </attribute>
    <attribute name="BLANKCELLIND">
      <value>0</value>
    </attribute>
    <attribute name="VERSIONNO">
      <value>1</value>
    </attribute>
  </row>
  <row>
    <attribute name="RATECELLID">
      <value>45012</value>
    </attribute>
    <attribute name="RATECOLUMNID">
      <value>45001</value>
    </attribute>
    <attribute name="RATECELLMIN">
      <value>0</value>
    </attribute>
    <attribute name="RATECELLMAX">
      <value>0</value>
    </attribute>
    <attribute name="RATECELLVALUE">
      <value>217</value>
    </attribute>
    <attribute name="RATECELLTYPE">
      <value/>
    </attribute>
    <attribute name="RATECELLINDEX">
      <value>2</value>
    </attribute>
    <attribute name="ANYMINIMUMIND">
      <value>1</value>
    </attribute>
    <attribute name="ANYMAXIMUMIND">
      <value>1</value>
    </attribute>
    <attribute name="RATEROWID">
      <value>45012</value>
    </attribute>
    <attribute name="BLANKCELLIND">
      <value>0</value>
    </attribute>
    <attribute name="VERSIONNO">
      <value>1</value>
    </attribute>
  </row>


  • Execute ctgen and database build targets on EJBSERVER.
  • Refresh eclipse and log in as admin with credential admin/password to view RATE TABLE Changes.
  • Navigate to Rate Table Section to view Rate Table.

Rate Table Usages:

Rate Table mainly used by Curam Express Ruleset to get an updated rate like FPL limit. Rate Table change can be updated at runtime using admin logic so a reboot is not required.

  • To Store FPL Limit for House Hold Size.
  • Income Limit for House Hold
  • Eligibility configuration

Example Screenshots:

2016-06-14 00_47_38-Settings

2016-06-14 00_50_08-Settings

Sample Page From Curam(Not Belongs to Above Configuration):

ratetableexample

 


We developed a small tool which helps to generate all required dmx files for Rate Table development. Please follow the tutorial through below link –

IBM – Cúram RateTable Generator Tool By KW Team


 

2 thoughts on “IBM Curam Rate Table Configuration and Uses”

Leave a Reply

Your email address will not be published. Required fields are marked *