Eligibility rules samples

The eligibility rules samples in this topic use the code table types that are defined in the code table samples previously in this Streamlined Medicaid category example. Update the Streamlined Medicaid financial calculations so that appropriate logic is applied while qualified for the new category in StreamlineMedicaidEligibilityAndEntitlementRuleSet FinancialsCPRCalculator.

hasPassedFinancialRulesTimelineWithDisregard
The rule determines whether the person passes financial rules with 5% income disregard. The rules vary from category to category. The new category must be added to the existing logic.
…
         <when>
           <condition>
             <all>
               <fixedlist>
                 <listof>
                   <javaclass name="Boolean"/>
                 </listof>
                 <members>
                   <equals>
                     <reference attribute="coverageCategory">
                       <current/>
                     </reference>
                     <Code table="MedicaidCoverageType">
                       <String value="MCT26013"/>
                     </Code>
                   </equals>
                   <intervalvalue>
                     <reference attribute="is65OrOlderCategoryTimeLine"/>
                   </intervalvalue>
                </members>
              </fixedlist>
             </all>
          </condition>
          <value>
            <compare comparison="&lt;=">
              <intervalvalue>
                <reference attribute="incomePercentageAsFPL"/>
              </intervalvalue>
              <reference attribute="fplLimit">
                <current/>
              </reference>
            </compare>
          </value>
        </when>
…
<Attribute name="is65OrOlderCategoryTimeLine">
<type>
  <javaclass name="curam.creole.value.Timeline">
    <javaclass name="Boolean"/>
  </javaclass>
</type>
<derivation>
  <timelineoperation>
    <all>
      <fixedlist>
        <listof>
          <javaclass name="Boolean"/>
        </listof>
        <members>
          <intervalvalue>
            <reference attribute="coveragePeriodTimeline"/>
          </intervalvalue>
          <intervalvalue>
            <reference attribute="is65OrOlderCategoryTimeLine">
              <reference attribute="coverageCategory"/>
            </reference>
          </intervalvalue>
         </members>
      </fixedlist>
    </all>
  </timelineoperation>
</derivation>
</Attribute>

hasPassedFinancialRulesTimelineWODisregard
This rule determines whether the person passes financial rules without any income disregard. The rules vary from category to category. The new category must be added to the existing logic.
…
        <when>
          <condition>
            <intervalvalue>
              <reference attribute="is65OrOlderCategoryTimeLine">
                <reference attribute="coverageCategory"/>
              </reference>
            </intervalvalue>
          </condition>
          <value>
            <compare comparison="&lt;=">
              <intervalvalue>
                <reference attribute="incomePercentageAsFPL"/>
              </intervalvalue>
              <reference attribute="medicaidUpperLimitFor65OrOlder">
                <reference attribute="insuranceAffordabilityIntegratedCase">
                      <reference attribute="memberUnit"/>
                 </reference>
              </reference>
            </compare>
          </value>
       </when>    
       …    
eligibleCoverageCategory
The rule must be used to call the coverage rules for the new category to determine the correct coverage type.
… 
        <when>
         <condition>
           <all>
             <fixedlist>
               <listof>
                 <javaclass name="Boolean"/>
               </listof>
               <members>
                 <intervalvalue>
                   <reference attribute="is65OrOlderCategoryTimeLine">
                     <reference attribute="coverageCategory"/>
                   </reference>
                 </intervalvalue>
                 <intervalvalue>
                   <reference attribute="medicaidPercentageFPL65OrOlderTimeline"/>
                </intervalvalue>
              </members>
             </fixedlist>
           </all>
         </condition>
         <value>
           <Code table="MedicaidCoverageType">
             <String value="MCT26013"/>
           </Code>
         </value>  
      </when>  
      …
      <Attribute name="medicaidPercentageFPL65OrOlderTimeline">
      <type>
        <javaclass name="curam.creole.value.Timeline">
          <javaclass name="Boolean"/>
        </javaclass> 
      </type>
      <derivation>
        <timelineoperation>
          <compare comparison="&lt;=">
            <intervalvalue>
              <reference attribute="incomePercentageAsFPL"/>
            </intervalvalue>
            <reference attribute="medicaidUpperLimitFor65OrOlder">
              <reference attribute="insuranceAffordabilityIntegratedCase">
               <reference attribute="memberUnit"/>
              </reference>
            </reference>
         </compare>
        </timelineoperation>
      </derivation>
     </Attribute>