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