Results 1 to 9 of 9
  1. #1
    IncidentalProgrammer is offline Competent Performer
    Windows XP Access 2007
    Join Date
    Aug 2014
    Location
    Texas
    Posts
    156

    "Business Rules Engine" in Access 2007?

    Please bear with me; I've only been learning Access since June, and VBA since August.



    I have a couple of database projects I'm doing for work. Database A's primary function is comparing numbers and maintaining a glorified rolodex, but there are rules that may apply per state that the system would have to trigger under certain circumstances (policy renewals, and such). Database B's primary function is to take insurance policy information in from the user, compare it to the rules and the property data, and determine if the coverage is adequade; there are two different sets of rules that can apply depending on the property, and both are highly complex, and subject to change a little bit here and there, and sometimes be completely rewritten (every couple of years or so).

    So I heard mention of "Business Rules Engines", and have been doing some research. I'm having a hard time telling from what I'm reading if this is something that I could build into my databases, or if this is something separate? And if it's separate, is it something I could link to Access? And how would I create it? And if I'm moving the back end of my databases into SQL Server, these engines would remain outside of the server with the front ends, correct?

    I'm also trying to determine what type of rule engine would be best for either project. A's can be fairly simple, as the only comparisons I know I'll need it to make as of right now are to check the status of the insurance company, and then check what state the property is in to determine if we need to get this or that form signed. B's is going to be highly complex, with the engine working as a very large flow chart; the required coverage type and/or amount can be determined by a multitude of factors, all of which must be analyzed and considered.

    I'm thinking Database A's needs could be met with a forward-chaining production/inference rule engine (sound right?). Database B, however, is proving more difficult to determine. My first pick was a backward-chaining/goal-driven engine type, but the Wikipedia description for business rules engine also mentions "Internet Business Logic system" which sounds good, and deterministic engines, which sound even more like what I need until it mentions using domain-specific languages, which I do not know. I'm already learning VBA and SQL, so I really don't want to throw any more languages into the mix, especially since I'm not planning on making a career switch to IT, so I'm not sure that a deterministic engine is right for me, but the article says that it's easier to implement and maintain, and provides performance advantages.

    Another thing to consider is I would like for Database B's rules to be updatable by the department supervisor, if possible, rather than me having to go in and recode when rules change (and sometimes, the old rules will need to stay in the system because older accounts may still be using them). Database B is a volunteer project I'm doing for another department, that I'd really like to be able to turn over to them, with as little follow-up needed as possible.

    If anyone knows some good resources online or books on the subject, please let me know. I'm trying to find what I can online, but there's so much that doesn't apply to me (or is definitely not geared toward beginners) that I'm having a hard time finding what I need.

  2. #2
    ranman256's Avatar
    ranman256 is offline VIP
    Windows Vista Access 2010 32bit
    Join Date
    Apr 2014
    Location
    Kentucky
    Posts
    9,527
    IF you can , you would have to build this Bus. Rules yourself. Always try to use tables.
    I have a tStates table. (51 states and various info)

    A sister to this is tStatesRules. where each state has the various rules
    AK, Alaska Business License Renewal, RenewYear, Reqd
    AK, Alaska Verification Of Operator Employment, RenewYear, Reqd
    AK, etc...

    another is tStateHistory , to store past renewals, etc.

    Then on the form, you would join these table, and usu do some vba to validate , depending if all the info on the form was entered,
    or correct,
    etc.

  3. #3
    IncidentalProgrammer is offline Competent Performer
    Windows XP Access 2007
    Join Date
    Aug 2014
    Location
    Texas
    Posts
    156
    I can see where the table approach should work for Database A, but as complex as B will get, is there a way to use tables for it? Just one of the guides I have to put in is 30 pages long, and the other is only slightly shorter than that. And to use an example:

    If building type is "Legal Nonconforming", then Ordinance & Law coverage is required. O&L is divided into 3 parts: A, B & C. Coverage A must be 100% of the value of the building, and B & C must be 10% each, or 20% if a combined single limit. If Coverage A is not 100%, it may be acceptable if the county/city/state's building code includes a "damage threshold", and the amount would them be reduced from 100% by the amount of the damage threshold. So the system will need to figure first if the coverage is required or not, then take percentages of the building value as the required amounts, and then compare to the user's entry, and allow for override in case of a damage threshold. And that's only one coverage...they're all about like this, and some are worse.

  4. #4
    ranman256's Avatar
    ranman256 is offline VIP
    Windows Vista Access 2010 32bit
    Join Date
    Apr 2014
    Location
    Kentucky
    Posts
    9,527
    It may be easier to put these 'rules' in a table. For "Legal Nonconforming" record, it would have the list you mentioned and the reqd amts to verify
    O&L A , 100%, check
    O&L B , 10%, check
    O&L C, 10%, check

    etc.
    Then a visual check list could be done, or approved , or tracked.

    (whew thats complicated)

  5. #5
    IncidentalProgrammer is offline Competent Performer
    Windows XP Access 2007
    Join Date
    Aug 2014
    Location
    Texas
    Posts
    156
    A checklist is exactly what we're going for. I want the users to be able to input the policy information, Access to tell them if it's good or not, and if not why, and then for them to have a report to PDF and save in the imaging system. I've seen a lot of human error in these types of reviews over the years because the guides are complex, and individuals may misinterpret them, or forget this or that bit that applies if this this and that are this or that way, so I'm trying to automate it as much as possible to eliminate those errors, and provide the kind of uniformity that auditors want. I essentially want to make it so easy that you could take someone with just a basic knowledge of insurance terms, turn them loose with this, and have them crank out reviews that look like they've been doing it for years. That's the dream, at least.

    So I haven't really gotten to a point in Access where I've started to compare #s, yet (and I am learning as I go). In that example then, would it be done with VBA? Or a query? So if the conformance status is legal nonconforming, it would then check the value (let's say it's $5,000,000), and then set the requirements at A=$5,000,000, B=$500,000 and C=$500,000 OR B/C Combo=$1,000,000, then compare the user's entries to those numbers, and either carry on if all is well, or identify the problem area if the coverage isn't enough (I'm thinking of turning the font red).

    Sorry, I probably am overcomplicating this in my head. I just want to make sure I'm understanding it right. I have already had to scrap the initial build on both databases and start over.

  6. #6
    IncidentalProgrammer is offline Competent Performer
    Windows XP Access 2007
    Join Date
    Aug 2014
    Location
    Texas
    Posts
    156
    Oh, and in that example, the system would also need to recognize the user-entered answers that may be either a % or a $ figure, because different insurance policies write the coverage in different ways, and we have to put it down EXACTLY as it is in the policy (so I don't think we're supposed to convert a % to a $, or $ to % in this case).

  7. #7
    June7's Avatar
    June7 is online now VIP
    Windows 7 64bit Access 2010 32bit
    Join Date
    May 2011
    Location
    The Great Land
    Posts
    52,956
    Suggestion: two fields, one that identifies the entry as $ or % value then code to handle the value depending on the category
    How to attach file: http://www.accessforums.net/showthread.php?t=70301 To provide db: copy, remove confidential data, run compact & repair, zip w/Windows Compression.

  8. #8
    ranman256's Avatar
    ranman256 is offline VIP
    Windows Vista Access 2010 32bit
    Join Date
    Apr 2014
    Location
    Kentucky
    Posts
    9,527
    I would have a table to hold the 'template' data checklist. So when the user starts a new "Legal Nonconforming"...
    all the check list records are appended to the 'edit' table/ form.
    The user would then set the amounts.
    Then 'Save' would either keep them in the working tables, or write them to the perm. table.

  9. #9
    IncidentalProgrammer is offline Competent Performer
    Windows XP Access 2007
    Join Date
    Aug 2014
    Location
    Texas
    Posts
    156
    Ok, I think I can see now where this will work. It's going to take a lot of tables, but definitely easier than writing all these requirements in code!

Please reply to this thread with any new information or opinions.

Similar Threads

  1. Replies: 2
    Last Post: 07-14-2014, 10:34 AM
  2. Replies: 6
    Last Post: 05-14-2013, 09:16 PM
  3. Access 2007 query export to Excel "feature"
    By sensetech in forum Import/Export Data
    Replies: 6
    Last Post: 11-03-2012, 04:24 AM
  4. Replies: 2
    Last Post: 03-29-2012, 08:49 AM
  5. Replies: 2
    Last Post: 11-04-2011, 02:45 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Other Forums: Microsoft Office Forums