FO_INS_Tests

This table contains the rules for test restrictions based on insurance related data.

Each record in this table represents a rule. Each rule, or instruction, is assigned to an insurance code and is executed for each test ordered at the time a user enters the test on the order screen.

The decision for processing these rules is the question "Is this test payable by this insurance and should the user be allowed to order the test?”

The system may process multiple rules for each test or condition. It is important that the rules are prioritized appropriately using the rule sequence so exception rules are processed before generic rules.

 

Field Type Notes

InsTests_ID

int

ID field, a counter. Unique

InsCode

varchar(50)

Insurance code for this rule.

Enter a valid insurance code.

RuleSequence

int

Used to order the sequence of rule processing for this insurance code.

Enter an integer.

Remember that exception rules need to be processed before generic rules.

AllowTestOrder

int

Determines if test can be ordered for this insurance.

Enter 0 or 1

0 = do not allow test order

1 = allow test order

(does it default to 0 if skip this entry?)

InsPolicyStartsWith

varchar(50)

Policy number starting characters. Rule applies only if policy number starts with these characters.

Enter a string of characters.

Skip this entry if rule applies to all policy numbers for this insurance.

Limits the tests a user can order for a specific insurance to only policy numbers containing these characters. Used in conjunction with the AllowTestOrder field.

(if AllowTestOrder=0 and this field has 'ABC', does that mean that tests can be ordered for any policy number that does not include 'ABC' -- so a rule could be made like this and another rule with AllowTestOrder=1 and no value in this field, thus only excluding tests for policies that contain 'ABC'?)

INSRank

int

Insurance rank.

Always enter 1

1 = primary insurance, this rule will apply

This rule will NOT apply if this entry is skipped or any other value is entered.

 

(why wouldn't this just be referential to the InsRank in FO_Ins.? Why enter a rule that doesn't apply? This construct seems to allow an admin to enter a value contradictory to how the insurance is used in for an order. IE enter a 2 here so no rules apply and the insurance is primary for an order. Actually so many ways to be contradictory to the insurance usage on an order.) Do we need to come up with better guidelines for writing rules?

Payable_Test

varchar(4000)

Defines the list of test codes that will be paid by this insurance.

Multidimensional pipe delimited value, with leading and trailing pipes.

Enter valid test codes separated by pipes.

Skip this entry ignore this component for the rule decision.

NotPayable_Test

varchar(4000)

Defines the list of test codes that will NOT be paid by this insurance.

Multidimensional pipe delimited value, with leading and trailing pipes.

Enter valid test codes separated by pipes.

Skip this entry ignore this component for the rule decision.

AllTestsPayable

int

Determines if ALL tests are payable.

Enter 0 or 1

0 = no

1 = yes, all tests are payable

Overrides the Payable_Test and NotPayable_Test list fields if set to 1.

NoTestsPayable

int

Determines if NO tests are payable.

Enter 0 or 1

0 = no, all or some tests are payable

1 = yes, all tests are NOT payable

Overrides the Payable_Test and NotPayable_Test list fields if set to 1.

UserMessage

varchar(80)

Text message displayed if this rule is the decision point.

 

Need to map out the table relationships.]