an expert system for marine umbrella liability insurance underwriting
TRANSCRIPT
University of PennsylvaniaScholarlyCommons
Technical Reports (CIS) Department of Computer & Information Science
July 1986
An Expert System for Marine Umbrella LiabilityInsurance UnderwritingClaire Socolovsky CaineUniversity of Pennsylvania
Follow this and additional works at: http://repository.upenn.edu/cis_reports
University of Pennsylvania Department of Computer and Information Science Technical Report No. MS-CIS-86-54.
This paper is posted at ScholarlyCommons. http://repository.upenn.edu/cis_reports/731For more information, please contact [email protected].
Recommended CitationClaire Socolovsky Caine, "An Expert System for Marine Umbrella Liability Insurance Underwriting", . July 1986.
An Expert System for Marine Umbrella Liability Insurance Underwriting
AbstractThis paper describes three versions of an expert system for marine liability insurance underwriting. The firstversion, built on a PC, was the result of a series of knowledge engineering sessions with an underwriter of aninsurance company. The prototype was accurate, but it asked too many marginally relevant questions, withoutregard to the time and business constraints of the user.
The second version was developed to address this concern. It initially asked only a subset of the relevantquestions to arrive at a premium. If the premium was too high, the prototype attempted to reduce it byperforming a sensitivity analysis on the results of the first round. This analysis was driven by meta-rules.
The third version was built on a lisp machine using a graphical expert system-building tool. The graphicalapproach and greater flexibility of the tool provided the user with an overview of the domain and permittedhim to have more control over the data. Any implementation of an expert system for marine liability insuranceunderwriting should incorporate the lessons learned from each of the three versions of the prototype. Inaddition, sensitivity analysis and a graphical interface could be useful for expert system domains other thaninsurance underwriting.
CommentsUniversity of Pennsylvania Department of Computer and Information Science Technical Report No. MS-CIS-86-54.
This technical report is available at ScholarlyCommons: http://repository.upenn.edu/cis_reports/731
AN EXPERT SYSTEM FOR MARINE UMBRELLA LIABILITY INSURANCE UNDERWRITING
Claire Socolovsky Caine MS-CIS-86-54 LlNC LAB 27
Department Of Computer and Information Science Moore School
Universfty of Pennsylvania Philadelphia, PA 191 04
July 1986
'Acknowledgements: This research was supported in part by DARPA grants N00014-85- K-0018, NSF-CER grant MCS-8219196 and U.S. Army grants DAA29-84-K-0061, DAA29-84-9-0027.
UNIVERSITY OF PENNSYLVANIA THE MOORE SCHOOL OF ELECTRICAL ENGINEERING SCHOOL OF ENGINEERING AND APPLIED SCIENCE
AN EXPERT SYSTEM FOR MARINE UMBRELLA LIABILITY INSURANCE UNDERWRITING
Claire Socolovsky Caine
Philadelphia, Pennsylvania
May, 1986
A thesis presented to the Faculty of Engineering and Applied Science of the University of Pennsylvania in partial fulfillment of the requirements for the degree of Master of Science in Engineering for graduate work in Computer and Information Science.
Timothy Finin, Advisor - Moore school
Eric X. Clemons, Advisor - Wharton School
Peter Buneman, CIS Graduate Group Chair
ABSTRACT
This paper describes three versions of an expert
system for marine liability insurance underwriting. The
first version, built on a PC, was the result of a series of
knowledge engineering sessions with an underwriter of an
insurance company. The prototype was accurate, but it asked
too many marginally relevant questions, without regard to
the time and business constraints of the user.
The second version was developed to address this
concern. It initially asked only a subset of the relevant
questions to arrive at a premium. If the premium was too
high, the prototype attempted to reduce it by performing a
sensitivity analysis on the results of the first round.
This analysis was driven by meta-rules.
The third version was built on a lisp machine
using a graphical expert system-building tool. The
graphical approach and greater flexibility of the tool
provided the user with an overview of the domain and
permitted him to have more control over the data.
Any implementation of an expert system for marine
liability insurance underwriting should incorporate the
lessons learned from each of the three versions of the
prototype. In addition, sensitivity analysis and a
graphical interface could be useful for expert system
domains other than insurance underwriting.
ACKNOWLEDGEMENTS
I wish to thank Dr. David Shpilberg and Mark
Blackman for making this project possible; Dr. Eric Clemons
and Tim Finin for their guidance; and the Decision Support
group at Coopers & Lybrand for their support.
TABLE OF CONTENTS
1 . Introduction . . . . . . . . . . . . . . . 1 2 . Description of the Domain . . . . . . . . 3 3 . The Phase I Prototype . . . . . . . . . 8 4 . The Phase I1 Prototype . . . . . . . . . . 21 5 . ThePhase I11 Prototype . . . . . . . . 29 6 . Conclusions . . . . . . . . . . . . . . . 40 Appendix A: Phase I1 Knowledge Base
Appendix B: Phase I11 Form Definitions
Appendix C: Phase I11 Schemas and Rules
An Expert System for
Marine Umbrella Liability Insurance Underwriting
1.0 Introduction
This paper describes an application of expert
systems to marine liability insurance underwriting. The
domain expert was an officer of an insurance firm in New
York City. Three versions of a prototype expert system were
built, each to improve on the functionality of the previous
one.
The three prototypes developed are referred to in
this paper as Phases I, 11, and 111. Phase I consisted of
knowledge engineering sessions with the domain expert to
produce an initial prototype. This system, built for a PC
using Insight 2, a PC expert system shell, chained through
all of the rules gathered in the knowledge engineering
sessions. The system, like most expert systems, was oriented
solely toward producing the best possible answer. It asked
every relevant question, whether important or unimportant.
It did not consider the value of the user's time in
selecting questions to ask.
The Phase I prototype successfully arrived at
premiums similar to those of two human experts. The experts
became impatient with the system, however, because it asked
too many marginally relevant questions.
The Phase I1 prototype was developed to address
this concern. It prioritized the rules and asked only the
most important ones to arrive at an initial premium. Then,
if the premium was not acceptable (i.e., too high), the
system would ltchisel'l the premium by asking more detailed
questions in areas where it believed it could reduce the
premium most effectively.
The Phase I1 system was more acceptable to the
expert because it was able to mimic more closely the way he
underwrites insurance policies. However, the capabilities
of the system were limited because of the limitations
inherent in the delivery vehicle, Insight 2.
The Phase III'prototype was built on a lisp machine -
using an expert system-building tool, written in ART, under
development by the Decision Support group at Coopers &
Lybrand. The goal of the Phase I11 system was to test the
effectiveness of the tool's graphical approach in helping
the knowledge engineer build expert systems.
Since the tool was still under development when the
Phase I11 system was being built, the experience of building
this prototype influenced the design of some of the features
of the tool. The graphical approach was very useful in
developing the system. In addition, the tool was much more
powerful than Insight, and it could smoothly produce
features that were included in the Phase I1 prototype only
with great effort.
A full implementation of this prototype would have
to incorporate some outputs of each of the phases. The
methods used to gather the information for the Phase I
system would be useful in completing the knowledge
engineering for marine liability insurance umbrella
policies. The result-directed sensitivity analysis
implemented in Phase I1 would shape the system into a more
useful tool, since it would behave more like an underwriter.
Finally, the graphical representation implemented in Phase
I11 of the system. is more appealing to the user than is a
questionnaire-like format. The user has a better idea of
the context of the information needed to be entered, and he
has more control over the inferencing.
2.0 Description of the Domain
This section describes the domain for the expert
system. First it defines some terms used in insurance
underwriting. (Complete descriptions of these and other
insurance terms are given in [WEB84].) Then, it describes
marine liability umbrella insurance and how an underwriter
- would write such a policy.
2.1 Definition of Terms
A person covered by an insurance policy is referred
to as an assured. The insurance company is the insurer, and
the person who writes the policy is the underwriter. The
role of the underwriter is to assess the risk of granting
insurance to the applicant. He makes this determination by
assessing the exposures of the applicant. Exposures are
facets of the applicant's business that are likely to result
in a certain type of loss. The risk of the applicant is the
likelihood that he will experience a loss for a given
exposure.
The underwriter gathers information about the
applicant through a broker. The insurance broker attempts
to negotiate the best price for an insurance policy on
behalf of the applicant. The broker generally receives a
commission on policies that are written through him.
An umbrella policy is one which covers more than
one type of risk. Generally, umbrella policies are written
only for large losses, 'and they are intended to take effect
when underlying insurance is exhausted. Underlying
insurance, in this case, would be insurance that is
purchased for specific risks and for smaller losses.
There generally a standard form for a liability
umbrella, which has the standard wording of the policy. If
exceptions are to be made to the general coverage that the
umbrella offers, they are attached to the end of the policy.
There are two types of exceptions: follow-form exclusions
and endorsements. The only difference between the two is
that follow-form exclusions exclude risks that the
underlying insurance excludes, and endorsements exclude
specified risks.
2.2 Marine Liability Umbrella Insurance
Marine liability umbrella insurance provides
coverage for losses due to failure to fulfill a legal
responsibility. The most common of these losses is due to
negligence on the part of the assured. The assureds for a
marine liability insurance policy must have mostly
waterfront risks. However, once his policy is written, the
assured is also covered for the non-waterfront liability
losses he may have.
To qualify for a marine liability umbrella, the
applicant must first purchase underlying insurance for
certain risks and for a specified limit. The umbrella is
intended to cover the assured in the event of an unusually
large loss..
For example, the applicant may be required to own
auto, air, and general liability insurance, all with $1
million limits, before he will be accepted for umbrella
coverage. An umbrella with a $5 million limit would then
cover all losses in excess of the limits of the underlying
insurance up to the limit of the umbrella, i.e., between $1
million and $5 million.
However, the assured may experience a loss that is
not excluded by the umbrella, but for which he has no
underlying insurance. In this situation, the umbrella
policy would pay either the entire loss up to the umbrella
limit, or the loss in excess of a specified amount (e.g.,
$250,000), depending on the drop-down clause of the
umbrella. It is the task of the underwriter to accurately
assess the exposures of the applicant to avoid eldropping
downw below the primary limits. Figure 1 is a graphical
representation of this concept.
Marine Umbrella Liability Insuran c e
Workman's Compensation 0 I n s u r a n c e (" I n s u r a n c e (*'
2.3 The Process of Underwriting
To underwrite umbrella policies, the underwriter
gathers information about the applicant, the broker, the
line of business of the applicant, and the competitive
environment. He then weights the information to decide
whether or not to accept the risk and at what price.
The broker supplies information about the
applicant. In addition, the underwriter may know more about
the applicant's loss record and business through other
sources, such as previous policies written for the
applicant. The underwriter's general relationship with the
applicant, if one already exists, plays an important role in
determining whether or not the underwriter is willing to
accept the risk.
The underwriter's relationship with the broker is
also important. The broker pre-screens the applicant whom
he submits to the underwriter. An underwriter comes to
expect a certain quality of applicant and of submission from
each broker. He will be more willing to write a policy
submitted by an honest broker whose clients have had few
unexpected losses in the past.
The underwriter's knowledge about the line of
business of the applicant can help him uncover risks. He
draws on his knowledge about losses he covered for other
applicants in a similar line of business. He is also aware
of new developments in a given line of business. He comes to
be wary of those developments which increase the exposure of
a type of applicant. For example, if an applicant stores
large containers in his warehouse, the underwriter knows to
ask what the containers hold or are intended to hold. This
question would alert the underwriter to a potentially large
pollution exposure or damage exposure from explosives.
Competition is also a factor in helping the
underwriter price a policy. If there is a lot of
competition, he will be willing to accept a lower return for
his risk than if there were no competition. However, in a
market where' there is no competition, the underwriter begins
to wonder whether his dompetitors know something he does not
know about the risk for the market.
The process of underwriting, then, is to ask
questions that will lead to areas of exposures of the
applicant.
3.0 The Phase I Prototype
The Phase I prototype consisted of collecting the
rules for the expert system. This section describes the*
four stages in developing the knowledge base for the system.
3.1 Select the Domain
The guidelines presented in [WAT86] for selecting
the domain of an expert system were followed closely.
Marine liability umbrella insurance was selected as the
domain for reasons having to do with umbrella underwriting;
the importance of umbrellas to the insurance company of the
underwriter, w h ~ was the domain expert in this case; and the
fact that this was the specialty of the individual who
served as the expert.
To underwrite a marine liability umbrella, a
substantial amount of information must be collected and
processed. Different information is needed for each
different policy, depending on the characteristics of the
applicants. An expert system built to consider these needs
could ask all of the appropriate questions without
mforgetting'lv any. In addition, it is possible to build an
expert system.for this application since the search space is
reasonably sized.
Liability umbrellas involve large dollar amounts
and therefore the potential losses are great. The cost of
developing an expert system to write these policies would be
justified by the careful consideration the system would give
to applicants. These large potential losses are compounded
by the fact that the insurance company of the domain expert
in this case writes many umbrella policies. Therefore, the
expert system would be useful for a large part of that
company's business.
Liability umbrellas were chosen also because there
existed an underwriter experienced in writing them who could
articulate his thoughts and who was interested in the
project. At the outset, the domain expert was not sanguine
about the success of the system, but he was willing to
invest the time to transfer his knowledge.
3.2 Define the Scope of the Prototype
The goal of the initial meetings with the expert
was to gain an appreciation for the magnitude of the task of
writing liability umbrella policies. The scope of the
system could then be narrowed to one that was feasible within
the time alloted and with the tools available. The importance
of narrowing the search space is emphasized in [HAY83].
Figure 2 resulted from these preliminary meetings.
Each of the areas of information that the underwriter
collects to. make his decision appear in the boxes. The
ovals represent databases of information that the expert
system should access. These databases would be updated by
the system when a policy was approved by the underwriter.
In addition, the base rates and factors that the system uses
to arrive at a premium should be updated by the underwriter
when necessary.
After considering the amount and impact of the - information in each of the boxes in Figure 1, the scope of
the expert system was narrowed. The umbrella policies that
the system would write were those that required $1 million
of underlying insurance and carried a limit of $5 million
(called 5x1 umbrellas), covered only shipbuilders and vessel
owners, and covered only those boats that fell in the class
of smallcraft.
The restriction to 5x1 umbrellas was a key
narrowing decision. All of the rules used by the expert
change when the limits change. Since the most common
combination of limits is $5 million coverage in excess of $1
*
0.
.- - 0
a.
E
c.
.- V
)
E
.- A E Q
4
cn C
'0
E
-= 3 3
-- a E
-s: 'E
E
LO
0
A 4
4
A
v T
a, P
I
i
.a Q
r
&2
X
.Q
25
*z
0
[r
.- - n
Y
. --
Fig
ure
2 1 i
million underlying insurance, the 5x1 rules were
incorporated into the expert system.
The expert also asks a different set of questions
to applicants in each of the different lines of business.
The most common of the applications received are for
shipbuilders and vessel owners (and for shipbuilders who own
vessels). Therefore, these two categories were selected
from among the others in the line of buisness box of
Figure 1.
Among vessel owners, there is a substantial
divergence in risk depending on the size and type of their
vessels. There is a uniform set of questions that must be
asked of owners of small vessels (i.e., less than 2000
horsepower). However, for larger vessels such as blue water
boats, jack-ups and semi-submersibles, there is no such
uniform set. Applications from owners of these large boats
are rarely received at the domain expert's insurance
company, and therefore they were eliminated from the scope
of this system.
3.3 Collect Rules
Once the scope of the system was defined, the
underwriter was able to focus on specific aspects of
underwriting these umbrella policies. Regular meetings with
the expert were held to develop these rules. The method
used to transfer this knowledge was through the spreadsheet
described below, a page of which appears in Figure 3.
w-
i
--------------
Rqui red Infornation ------------------ 1. C m o n Questions \' $0.75-$1.00 of receipts IS preniw
- losses xs $25,000
/ Ouestions
Ha i s type of loss described?
2. Detai l o f repair: If uessel i s comercial a. Uessel type lHEN nore chance of being asresstd ( b. Repair type for loss of use dwges .
the repair.
IF repair i s structural Uhy not so great r i s k i f structural INN 'not sa great a chance of , l j u , ~ Qulb hQ
serious d w g e a f te r repair Q N ~ I I U ~
If repair i s gas-freeing I G~ /
THEN nore chance of explosion, asphixiation.
IF red l e t t e r clausr/f fsct 3. Red l e t t e r clause i n effect? h o u n t of c i e l i n g i THEN h ~ g that 5 3 1 1 1 not@ ~9
/& xs of ant of RLC * b ~ C ( i f RLC i s enforceable)
4. 15-9 f o r the gouerment? IF SR uork i s for the gouernnent THEN
b ?? t n ~ m~~hl,t*lpl~w ,-kka4fituMi+ & CICJby NT IN$-~Q &k i f sub i s couereid3';
L.'u '9 J'-rrgx&d Can these go on comon in fo?
HEN ? Iny exceptions to I n i l UL? "Y" Uhat affects t h i s X?
~ r i~~cl lw?
If C i s a bad guy -- __- THEN ?
-. -. . - .- --- ___ ̂ _ . - - --
~ i a t to do nit! the p r m i m ? --I w'* 7. Location: 6u l f u East Coast I F US 6u l f
THEN larger chance of l i t i g a t i o n
s i t e o f wned uessels?
Figure 3
13 5 ?+ A . b b & - h \ b k 3 ~ ~ \ \ * 2 j s.4 b
Each box in the left half of Figure 2 had a
corresponding spreadsheet. The expert could then work on a
relatively isolated set of rules by directing his attention
to one spreadsheet at a time.
The rows of each spreadsheet noted the general
areas of questions the expert asked the broker when
underwriting a policy. For each area, the first column
attempted to structure the information in an IF-THEN-ELSE
format, the second column held the relationship between the
information and the premium, and the third column was
reserved for any questions that surfaced while translating
notes from the knowledge engineering sessions to the
spreadsheet.
The spreadsheets were very effective in the
knowledge acquisition phase both for the expert and for the
knowledge engineer. The expert was able to focus his
thoughts on a specific area of his work by directing his
attention to one page of a spreadsheet at a time. He was
able to expand his previous statements, which had been
translated to the spreadsheet since the previous session.
Also he was able to correct any errors that had been made in
the translation.
From the perspective of the knowledge engineer, the
spreadsheets were a way to make the transition from the
expert's narrative to specific rules. The IF-THEN-ELSE
column helped to locate gaps in the information collected
from the expert. Also, the question column helped keep the
questions in context, since they appeared along with the
information that prompted them. The process of structuring
the information into the grid of the spreadsheet was an
effective way of making a smooth transition from free-form
dialogue to a rule-based system.
3.4 Computerizing the Prototype
To use the expert's time most efficiently, a
portable computer was used to enable the knowledge engineer
to bring the system to the desk of the underwriter. For
this reason, the initial prototype was developed using a
tool for the PC. The tool selected was Insight 2, a
backward-chaining rule-based system for the PC, developed by
Level Five Software, Inc.
The rules for the system were transcribed almost
directly from the spreadsheets. The system asked all of the
applicable questions that could possibly affect the premium
- amount in all of the following areas:
o the applicant's circumstances
o the underwriter's relationship with the applicant
o the underwriter's relationship with the broker
o the type and amount of underlying insurance the applicant owns
The underwriter can take many paths in calculating
a premium. He has a preferred way of rating depending on
the line of business of the applicant. For example, he
usually derives a premium for an applicant who is a
shiprepairer by multiplying a specified percentage by the
applicant's receipts. For vessel owners, this number is not
appropriate, since his receipts do not accurately reflect
the condition of his boats. The prototype's domain expert
rates vessel owners by a method that incorporates a per-
vessel rate with a certain percentage of the applicant's
underlying insurahce premiums.
Though he has a preferred rating scheme for each
type of applicant, the expert also calculates a premium
through other methods, to compare to his initial
calculation. For example, he will multiply a certain rate
by the shipboard-employee payroll of a vessel owner and
compare the result to his earlier estimate.
The system follows the expert's process by
calculating alternate premiums depending on the line of
business of the applicant. For each group of questions, the
system calculates a factor that would contribute either
toward raising or lowering base percentages taken from a
database of base rates. Certain factors such as those
derived from competition, the broker relationship, and the
applicant loss record are used in many different
calculations. Others, such as the subcontractor factor, are
used only to calculate one specific rate for a specific type
of applicant. Figure 4 shows a rule that calculates the
premium for shiprepairers based on a percentage of receipts.
Part of the process of calculating the premium is
to verify the responses to the questions by comparing them
to expected responses. This is an integral part of the
! RULE #1 for calculating prelim percent of receipts IF brkr fac is determined AND asrd fac is determined AND competition fac is determined AND receipts credit is determined AND exposures determined
-
AND ask for shiprepairer THEN prelim receipts amt is determined AND creditsl := comp fac t brkr fac + asrd fac + rec fac AND credits2 := repair fac + vessel fac + locn fac AND credits3 := govt fac + subk fac AND credits := creditsl + credits2 + credits3 AND adj base := 0.0075 * (1- (credits / 100)) AND receipts amt := total receipts ad j base !
Figure 4 -
underwriting process, since some of the calculations are
based on premiums that were underwritten by another
insurance company (i.e., the primary premiums). Therefore,
the system has rules that calculate certain numbers and
compare them to those input by the user. For example, the
system expects the auto premium to reflect the auto
exposures of the applicant. It therefore estimates what the
auto premium should be with the information on auto
exposures input to the system. If the result is very
different from the auto premium input by the user, the
system notes this fact, and uses its own number in future
calculations. Figures 5 and 6 are screen displays of this
occurrence.
The Phase I prototype's accuracy was acceptable to
two experts who tested it against their own judgment.
However, it had various limitations. First, the Insight
tool does not permit string input and therefore there was no - way to record the names of the applicant and the broker.
This limitation was overcome for other questions by
displaying all of the possible choices on the screen and
allowing the user to choose one. However, this is not
feasible for names of applicants and brokers.
The second limitation was that in order for the
system to be useful over a number of years, there must be a
way to update the databases (containing base rates) and the
rules. As new exposures8are discovered, the rules must be
updated so that the system asks appropriate questions to
uncover them.
Based on t h e number o f v e h i c l e s t h e a p p l i c a n t owns o r l e a s e s , t h e expec ted premium f o r t h e a u t o u n d e r l y i n g i n s u r a n c e i s
13000
S i n c e t h e a u t o premium t h e a p p l i c a n t a c t u a l l y pays i s much lower t h a n t h i s e s t i m a t e , t h e a u t o e x p o s u r e may a c t u a l l y be l e s s t h a n t h a t i n d i c a t e d b y t h e number o f v e h i c l e s w h i c h t h e a p p l i c a n t owns o r l e a s e s .
2 CONTINUE 3 REPORT 5 MENU 6 HELP 7 EX:
Figure 5
19
The p a y r o l l amount o f 20000 does n o t a d e q u a t e l y compensate t h e 4 employees o f t h e a p p l i c a n t .
The t o t a l p a y r o l l f o r s h i p b o a r d employees has been c a l c u l a t e d t o be 100000
N o t i f y t h e b r o k e r o f t h i s d i f f e r e n c e , i f you w i s h .
2 CONTINUE 3 REPORT 5 MENU 6 HELP 7 EXIT
Figure 6
20
Finally, the main limitation of the system was that
it was too cumbersome to use. Its questioning routine was
too lengthy since it asked all of the appropriate questions,
though many of them may have affected the premium only
marginally. They preferred a system that asked fewer
questions initially, and then asked more questions only if
the initial premium were too high.
4.0 The Phase I1 Prototype
The Phase I1 prototype was built to first ask just
enough questions to derive a premium, and then to ask
additional questions if the premium were not acceptable.
This involved restructuring the rules of the Phase I system.
This section describes why this prioritization was
necessary, and how the approach was developed.
4.1 Motivation for Chiseling
In practice, the marine underwriter will ask only a
subset of the relevant questions. Because information is
very important in insurance underwriting, there must be very
good reasons for not obtaining all the available information
on the first pass.
The reasons have to do with the relationship
between the underwriter and the broker. The underwriter
depends on the broker for business. Therefore, he does not
want to consume too much of the broker's time. His own
time, too, is valuable.
There is another important reason. Over time, a
relationship of trust develops between broker and
underwriter. The broker screens applicants before bringing
them to the underwriter. The underwriter comes to trust the
broker's judgment as to who is a good risk.
On the basis of his initial round of questions, the
underwriter presents a proposed premium to the broker.
Because of competitive pressures, the underwriter will offer
the lowest premium he thinks is fair under the
circumstances.
The broker may accept the premium. In that case,
the deal is concluded and the necessary papers are drawn up.
Alternatively, the broker may reject the premium as
completely unacceptable. In that case, there is no need to
pursue the matter further.
Often, however, the broker will neither accept nor
reject; instead, he will make a counter-offer. The counter-
. offer tells the underwriter that his initial suggested
premium is close to an acceptable premium. The underwriter
will then consider whether he can meet the lower premium and
still make a profit.
The underwriter could do so if there are factors
not yet considered that make the assured a better risk than
the underwriter initially expected. To make this
determination, the underwriter needs more information.
Hence, he asks more questions, in an attempt to llchisellq
away at the premium he initially suggested.
4.2 Development of Prototype Phase I1
Phase I1 of the prototype implements this
*lchiseling*l process. During the second and subsequent
rounds of questioning, it continues to be important to ask
the "bestM questions first. The system uses meta-rules to
guide it in its selection of questions to ask on the second
and subsequent rounds.
This use of meta-rules is very similar to the
approach documented in [DAV85]. The meta-rules are used
specifically in "deciding which knowledge to invoke next in
a situation where more 'than one chunk of knowledge may be
applicable1* [ D A V ~ ~ ] . However, the meta-rules in the Phase
I1 system guide this decision in a different way than do
those of TEIRESIAS. While the TEIRESIAS meta-rules draw
conclusions about the utility of rules in its system, the
Phase I1 meta-rules actually invoke those rules which they
deem most applicable.
The following paragraphs describe the way the meta-
rules were developed and how they work.
4.2.1 Sensitivity Analysis using Meta-Rules
As was discussed earlier, the systemls domain
encompasses four general areas: line of business, applicant
relationship, broker relationship, and underlying insurance.
Within each area, there is a set of questions that should be
asked on the first pass. These questions tend to be either
general in nature or limited in scope. Questions that are
asked on subsequent passes either address specific details
or widen the scope of the first round questions. r
For example, on the first round, the underwriter
may ask whether the relationship with the applicant is
ttgood.tt When he is seeking to chisel, howver, he has to
know "how good.t1 So, he may take the trouble to determine
whether the applicant has suffered any losses in excess of
$1 million during the past five years. If not, the
applicant looks better. If he needs to chisel further, he
might investigate whether the applicant has suffered any
losses in excess of $l'million in the last ten years. If
not, the applicant looks better still.
Similar deepening of questioning applies to the
other three areas of inquiry. Instead of deepening, some
llsecond roundw questions may simply pursue other avenues of
inquiry within the topic. The Itline of businessw questions,
in particular, can become very involved.
The knowledge engineerts first step in implementing
the Phase I1 prototype tlchiselingtt expert system was to
identify the four general topics of inquiry: line of
business, applicant relationship, broker relationship, and
underlying insurance.
The second step was to identify wblocksll of
questions within each topic, the answers to which can affect
the results of the analysis. Each "blockM enables the
system to derive a value from which a sensitivity analysis
could be performed. In the simple example above, each
successive question about the applicant's loss record
constituted a ttblock.v
The third step was to construct a matrix of blocks.
Figure 7 presents the matrix of blocks used for the Phase I1
prototype. All the blocks in a given row of the matrix
concern the same general topic of inquiry. Thus, for the
Phase I1 prototype, there are five rows: two for "line of
businessftt and one each for "applicant relationship,"
Itbroker relationshipItt and "underlying insurance.It
The first column of the matrix in Figure 7 contains
the types of questions.which would be asked in each area on
the first pass. The categories of questions in the second
and third columns would be asked only if the initial premium
was too high. For example, the underwriter might accept a
lower margin on a policy for an applicant who provides the
underwriter with a substantial amount of business unrelated
to the umbrella insurance. Therefore, the amount of
supporting business of the applicant is a secondary
consideration for the underwriter, and becomes important
only when the underwriter is
The fourth step in implementing the Phase I1
prototype was to select an order in which the blocks should
be presented to the user. This ordering is implemented with
a set of meta-rules, that govern the order in which the
blocks of substantive rules will fire. One approach would
be to exhaust all questions about "line of businesstt first.
Another approach would be to rotate questions from each of
the five groups.
BLOCKS
BROKER name INFORMATION
loss record
supporting business
APPLICANT name supporting INFORMATION business
loss record renewal info .
location
line of bus.
PRIMARY INSURANCE
SHIP REPAIRERS
VESSEL OWNERS
descrip
receipts
payroll
employees
limit
premium
carrier
bus.
calc. for accepting lower limit
repair type subcontracting govt . work vessel type cargo coverage Red Letter
Clause addgl insurance
# boats by type use of boats vessel surveys
hazardous cargo hold-harmless agreement
cargo ownership
crew per vessel
vessel condition
addgl insurance
Figure 7
2 6
4.2.2 Driving the Process Using MMeta-meta-ruleslv
In order to improve the performance of the system,
several alternate orderings (sets of meta-rules) were
established. The ordering used (the set of meta-rules
invoked) would depend on which was most likely to produce
results in the given situation.
For example, if the initial round of calculations
arrived at the expert's baseline minimum allowable premium,
then the group of meta-rules that try to reduce the
allowable premium below the baseline would fire.
Alternatively, if the initially-suggested premium were above
the minimum allowable premium, then the system would pursue
another line of more detailed questioning to chisel the
premium lower.
Results established in the first round of
questioning determine which meta-rules will be invoked. This
is accomplished by a set of rules, which may be dubbed
wmeta-meta-rules.w These rules drive the sensitivity
analysis.
4.2.3 Sample Chiseling Rules
Figure 8 presents a sample sequence of meta-rules.
The meta-meta-rules are embedded in the inference engine and
need not be explicitly coded, since Insight executes the
meta-rules in the order in which they appear in the
knowledge base. The meta-rule entitile "RULE # 6 for
chiseling1' is the implementation of the chiseling example
given in Section 4.2.1.
I A. Rules which check if target is reached I
RULE for checking the target premium IF check target AND target is met THEN chiseling path completed AND D I S P L A Y target has been reached I
RULE for checking target IF premium <= target premium THEN target is met E L S E NOT target is met AND CYCLE I
I B. Determine chiseling paths I
RULE #1 for chiseling IF premium = rol AND NOT rol is reached AND rol is determined AND premium := rol THEN rol is reached AND check target
I
RULE # 2 for chiseling IF premium = rol AND NOT renewal is reached AND renewal is determined THEN renewal is reached AND check target
I
RULE # 3 for chiseling IF ask for shiprepairer AND NOT govt fac is reached AND govt fac is determined AND prelim receipts amt is determined THEN govt fac is reached AND premium := receipts quote AND check target
1
RULE # 4 for chiseling IF ask for shiprepairer AND NOT subk fac is reached AND subk fac is determined AND prelim receipts amt is determined THEN subk fac is reached AND pr'emium := receipts quote AND check target I
RULE # 5 for chiseling IF ask for vessel owner AND NOT hh is reached AND hold harmless agreement is determined AND prelim receipts amt is determined THEN hh is reached AND premium := receipts quote AND check target
1
RULE # 6 for chiseling IF NOT sup bus is reached AND supporting business of asrd is determined Figure 8
25
After each block of questions is asked, affected
variables are incremented or decremented, and the premium is
recomputed. If the combined decrements to the premium are
sufficient to bring the suggested premium within range, the
user is presented with the new premium and with all the
areas where chiseling was done.
This is accomplished by the rule for checking the
target, in Figure 8. This rule relies on Insight's CYCLE
feature. The keyword CYCLE indicates to the inference
engine that. it should go to the top of the knowledge base,
reset all of the variables named in the FORGET statement to
unknown (see Appendix A for this statement), and continue
trying to satisfy the goal. As a result, the next rule to
fire will be a subsequent meta-rule. The condition "X is
reachedw in each meta-rule insures that the rule fires only
once.
If all of the chiseled variables are approved, the
- system is done. If some or none are approved, the
underwriter is on his own. A fairly straightforward
enhancement would allow the system to continue chiseling if
the results were only partially approved.
5.0 The Phase I11 Prototype
The Phase I1 prototype greatly improved upon the
Phase I system's questioning routine. The Phase I11 system
was built to improve the user interface for the expert
system and to experiment with both a more powerful
environment for the system and a graphical approach to
building expert systems.
5.1 The Tool for the Phase I11 Prototype
The tool used for the Phase I11 system is being
developed by the Insurance A1 group at the accounting firm
of Coopers & Lybrand (C&L). [FRI86] describes the design of
the tool in detail. At the time the Phase I11 system was
implemented, the tool had not been completed. The tool and
the prototype were therefore developed to complement one
another; the needs of the prototype were incorporated as
features of the tool, and the capabilities of the tool
permitted additional features for the prototype.
The C&L tool uses a graphical user interface for
the expert system. The desirability of a graphical model
for solving business problems has been documented in
[CLE85]. Rather than popping questions on the screen one at
a time, the interface with the user is with drawers,
folders, and forms. The user selects a drawer that contains
information about a given request for insurance. Figure 9
is an example of a drawer. Figures 10 and 11 show the
contents of a folder and a form of this drawer.
Within a drawer are numerous folders which group
related pieces of information, much like folders in a filing
cabinet. The folders are connected by arrows, which
indicate the inter-folder relationships. Each folder has any
number of forms. The form contains slots for input
information and to hold information inferred by the system.
CASES mu CASE Fantasy Is land Hal 's Crulsa Lln. Long Is land Y w h t I IV Port Authority Uestburv I a r l n e
MARINE UMBRELLA LIABILITY INSURANCE UNDERWRITER
Long Island Yacht
Coopers tLybrand
QUALITY OF IHFORNRrIOH: - c e r t a l n - probable - guessed
PRIIITEOz a - printmd # - not printed - INFEREIICE: - - ready t~ f i r e 1-> - not ready
~ 3 1 4 6 89:25:23 Jain fiU: (no uindou)
. . -- Figure 10
Figure 11
..
-
The relationships between the data items in the
forms are represented in rules. The two main types of
relationships that can be represented in rules are inter-
folder and intra-folder relationships. The rules are
written in ART, a language developed by Inference
Corporation, since the C&L tool itself is written in ART.
An inter-folder rule is shown in Figure 12. The
user can control whether or not inter-folder rules fire by
selecting with the mouse a folder that is connected by
connector-1. For this reason, the rule has a ready-to-fire
component and a firing component. The firing component will
execute only after the user has selected the destination
folder with the mouse.
Intra-folder rules appear in Figure 13. These
rules are simpler than the inter-folder rules since they
fire as soon as their preconditions are met. They can
represent either inter-form relationships within a folder,
or intra-form relationships.
The amount of data entered in each folder and in
each form is indicated by the meter on the left part of
every folder and form icon. The meter is color-coded, so
that the user knows the origin of the information
represented by the icon. The colors indicate that the
information was entered by the user, inferred by the system,
or obtained by default. Absence of color in the meter.
indicates that there is missing information.
(defrule receipts-based-prem-1-ready-to-fire (logical (shiprepairer applicant ("X" ?s-src))
(receipts applicant (?rec ?rec-src) ) (sum-reln-f actors calculations (?srfac Isrfac-src) ) (receipts-credit calculations (?KC ?rc-src)) (repair-fac calculations (?rf ?rf-src)) (vessel-f ac calculations (?vf ?vf-src) ) (location-fac calculations (?lf ?lf-src)) (govt-fac calculations (?gf ?gf-src)) (subk-fac calculations (?sf ?sf-src)) (pct-of-receipts standard-rates (?par ?por-src)))
= > (assert (ready-to-fire (connector-1 connector-13) receipts-based-prem-1)))
(defrule receipts-based-premLl-firing "calculation of premium based on receipts for shiprepairers"
(logical (shiprepairer applicant ("X" ?s-src) ) (receipts applicant .(?rec ?rec-src) ) (sum-reln-factors calculations (?srfac ?srfac-src)) (receipts-credit calculations (?KC ?rc-src) ) (repair-fac calculations (?rf ?rf-src)) (vessel-fac calculations (?vf ?vf-src)) (location-fac calculations (?lf ?lf-src) ) (govt-fac calculations (?gf ?gf-src) ) (subk-fac calculations (?sf ?sf-src) ) (pct-of-receipts standard-rates (?por ?por-src)))
?fact <- (ready-to-fire (connector-1 connector-13) receipts-based-prem-1) (inter-folder-connector connector-1 I connector-13) = > (assert (receipts-based-prem calculations
( =(?rec * ?por * (1 - (+ ?srfac ?KC ?rf ?vf ?If ?gf ?sf) ) )
=(min-src ?rec ?por Isrfac-src ?rc ?rf ?vf ?If ?gf ?sf) ) ) )
(retract ?fact) )
; translating competition (betw 1 and 10) to a percent (betw -25 and 33)
(dafmle convert-competition-1 (logical (competition standard-rates (?cow i : (comp < 5) Isrc-comp) ) ->
. ---.. - (assert (comp-fac standard-rates
(= (25 - (lcomp 5) ) = (min-src ?arc-comp) ) ) (renewal-comp-fac standard-rates (0.333 -(rain-arc lsrc-comp))) (renewal-credit standard-rates (0.15 =(min-src Isrc-camp)))))
(defmle convert-competition-2 (logical (competition standard-rates (Icomp c : [comp > 5) Isrc-comp) ) ) => (assert (cow-fad standard-rates
(=(-7 (lcomp - 5)) = (min-arc Isrc-comp)) ) -
(renewal-comp-fac.standard-rates (-0.333 =(min-rrc ?arc-camp))) (renewal-credit standard-rates (-0.25 =(min-arc Isrc-camp)))))
(defrule convert-competition-3 (logical (competition standard-rates (5 Isrc-cornp))) => (assert (comp-fac standard-rates (0 =(rain-src ?src-comp)))
(renewal-comp-f ac standard-rates (0 = (min-src Osrc-comp) ) ) (renewal-credit standard-rates (-0.25 = (min-src Isrc-camp) ) ) ) )
Figure 13
5.2 Development of the Phase I11 Prototype
In order to build a prototype on such a system, it
is necessary .to separate the information into folders and
forms. Whereas in the prototypes developed on Insight 2 all
of the rules were lumped together in the knowledge base in
any order, the C&L tool requires the information to be
classified according to stages in the process of determining
the final premium.
For example, the folders on the left-hand side of
Figure 9 contain forms.that are mostly for data input.
Those on the right-hand side of Figure 9 contain forms that
have mostly inferenced data. The inter-folder rules
accomplish this translation of information from the left to
the right sides of the screen. The insurance policy, the
rightmost folder on the screen, is the result of the efforts
of all of the rest of the folders in the system.
The configuration of the folders for the Phase I11
system is strikingly similar to the initial information flow
diagram developed in Phase I. This similarity can be seen
by comparing Figures 2 and 9. The items in the boxes of the
information flow diagram are forms in the Phase I11
prototype. Therefore, the folder and form approach of the
C&L tool is a good medium for expert system development, at
least for the case at hand.
After the skeleton for the Phase I11 system was
developed, i.e., the folders, forms, and inter-folder
relationships were derived, the rules of the Phase I
prototype were translated to ART rules. This was a
relatively simple process, since all of the knowledge
acquisition had been completed. The relationship between
rules in the two systems can be seen by comparing Figures 4
and 12.
In addition, rules had to be written for data entry
editing. For example, if the user was permitted to select
only one of several items on a form, rules had to insure
that he did not select more than one. These rules were also
straightforward, since once a fact is retracted, ART has the
ability to chase after all conolusions that depended on that
fact and retract them also.
5.3 Performance of the Phase I11 Prototype
With the graphical approach of the C&L tool, the
user is able to see the entire problem laid out in front of
him. For the previous prototypes, the user answered one - question at a time and did not know how far along he was in
reaching his goal, or even what was the general context of
the questions. In the Phase I11 system, he can see all other
related fields on a form when he enters data, and he knows
where he is in the entire system by looking at a window at
the top of the screen, called the context window, which
displays a miniature replica of the configurations of the
folders . Another advantage of the Phase I11 system over the
previous ones is that more options are open to the knowledge
engineer using the C&L tool. It would be possible, using
this tool, to implement the enhancement described above to
allow the user to reject some but not all v1chiseled8*
variables. Also, the C&L tool permits string input, and
therefore the names of the applicant and the broker can be
entered into the system and stored.
The C&L tool also has greater flexibility for the
user to enter infornation, since he is permitted to override
certain system-inferred fields on the forms. For example,
the system has a forn called Schedule of Vessels. This farn
is really a series of forms, one for each vessel that the
applicant owns. Separately, on the Vessel Owner form, there
are fields labeled Summary of Schedule of Vessels. Rather
than enter infornation about each vessel in the schedule of
vessels, the user can input the summary fields directly.
This is advantageous from the perspective of the user since
he frequently receives the information from the broker in
the forn of a sumary, and he would like to be able to run a
"rough guess" on the system with that summary information.
The graphical interface has its drawbacks, too.
Because the user can enter infornation in any order on any
form, the advantages of chiseling realized in the Phase I1
system cannot be directly implemented in the C f L tool. In
addition, if answers to questions eliminate certain data
fields from being applicable, those fields still appear on
the forns. Both these drawbacks can be overcome, however.
To prevent the user from entering non-applicable
data, rules were written to fill those fields on the forns
with N/A. Since every non-applicable field will be filled
in, the user will see a full reading on the data meter
corresponding to the form containing these fields.
Therefore the non-applicable areas will not appear as
missing information. An improvement over this method would
be for the tool to prevent the non-applicable fields from
being displayed.
In order to convey to the user the priorities among
data items established in Phase 11, to implement chiseling,
fields on the forms could be color coded, or highlighted.
Rules could be written 'which would control those fields that
would be highlighted at any given point in time.
6.0 Conclusions
Sensitivity analysis in expert systems could be
applicable to domains other than insurance underwriting.
[CLE85] describes a method for sensitivity analysis on
graphical models for any business domain. In addition, the
C&L tool, in its full implementation as described in
[FRI86], will be able to perform sensitivity analysis for
any type of financial expert system.
Insurance underwriting is a fertile field for
expert system applications. A survey conducted by Coopers &
Lybrand of the top 100 insurance firms in New York [COO861
indicates that there is substantial interest among those
firms in developing expert systems. In addition,
Syntelligence, Inc. has developed an Underwriting Advisor,
intended for use by field underwriters in the areas of
commercial property, workers' compensation, inland marine
general liability, and commercial auto insurance [EXP86].
The prototypes described in this paper were based
on ocean marine liability insurance. Since standard rates
do not exist for ocean marine liability umbrella policies,
the underwriter of these umbrellas depends heavily on his
judgement and experience. It is therefore difficult to
develop a generic expert system for marine liability
umbrella insurance that could be used by more than one
insurance company.
Any subsequent implementation of an expert system
for marine liability insurance underwriting should
incorporate the lessons learned in each of the three Phases
of the prototype. The knowledge acquisition methods (e.g.,
the spreadsheet approach) of the Phase I prototype could be
used to gather the remaining information in the domain, to
make the system a complete one for the application. The
result-directed sensitivity analysis of the second phase of
the prototype would enable the final system to perform like
the underwriters. The user interface of the Phase I11
prototype is desirable, as is its flexibility and the
increased amount of control the user has over the
inferencing process.
The existing prototypes cover only a subset of the
domain of marine liability umbrellas, since the scope was
narrowed in the Phase I knowledge acquisition stage. A
complete system would include all lines of business, rather
than just ship repairers and vessel owners. It would also
consider combinations of insurance limits other than 5x1.
The chiseling rules of the Phase I1 system are only
a subset of the possible ones. The prototype modeled only
the simple relationships between information collected on
the "first passN and the chiseling rules. Additional
chiseling rules could, for example, trade off premium for
coverage by excluding certain risks to lower the premium.
The graphical approach of the Phase I11 system
permitted the user to get an idea of the context of the
information he was supplying. The entire system is
represented by icons which appear on the screen in an
intuitively appealing format for the underwriter.
Any of the prototypes, in their current state,
could be used effectively as a training tool for new
underwriters. Currently, the trainee sits with the
underwriter for many months trying to learn the business by
watching. The prototypes would teach the trainee the
appropriate questions to ask in a wider variety of
hypothetical situations than he would see during his
apprenticeship with the underwriter.
In order for an implementation version to be used
in practice by the underwriter, it must include an easy way
to update the rules, the base rates, and the loss records of
both applicants and brokers. The prototypes are not yet
field-ready, but they do represent a solid start toward a
deployable expert system for marine liability insurance
underwriting.
REFERENCES AND - BIBILOGRAPHY [CLE85] Clemons, E.K., Greenfield, A.J., I1The SAGE System
Architecture: A System for the ~apid Development of Graphics Interfaces for Decision S~pport,~~ IEEE Computer Graphics and Applications, November, 1985.
[COO861 I1Expert Systems in the Insurance Industry: A Survey Report," to be published in June, 1986, Coopers & Lybrand, New York, NY.
[DAV85] Davis, R., Buchanan, B.G., "Meta-Level Knowledge: Overview and application^,^^ in Readings in Knowledge Representation, Ronald J. Brachman & ~ e c G r J. Levesque, eds., Morgan Kaufmann Publishers, Inc., Los Altos, CA, 1985, pp. 390-397.
[EXP86] "Financial Applications Status Report,I1 Expert .Systems Strategies, Cahners Publishing Co., Vol. 2, No. 2, February, 1986, pp. 11-12.
[FRI86] Friedman, J., Jain, A., llFramework for Prototyping Expert Systems for Financial Applicationstn unpublished paper, Coopers & Lybrand, NY, 1986.
[GAU78] Gaunt, L.D., Williams, N.A., Commerical Liability Underwriting, Insurance Institute of America, Malvern, PA, 1978.
[HAY831 Hayes-Roth, F., Waternam, D.A., Lenat, D.B., Building Expert Systems, Addison-Wesley, Reading, MA, 1983.
[LAU77] Laurie, J.J., Lee, J.F., Baglini, N.A., Principles of Property and Liability Underwriting, Insurance - Institute of America, Malvern, PA, 1977.
[ROD701 Rodda, W.H., Marine Insurance: Ocean - and Inland, Prentice-Hall, Inc., Englewood Cliffs, NJ, 1970.
[WAT86] Waterman, D.A., A Guide to Expert Systems, Addison- Wesley, Reading, MA, 1986.
[WEB841 Webb, B.L., Insurance Company Operations, American Institute for Property and Liability Underwriters, Malvern, PA, 1984;
-
APPENDIX A
The Phase I1 Knowledge Base
TITLE MARINE LIABILITY UMBRELLA INSURANCE UNDERWRITER 1
I
1
1
INIT dummy ! first pass value for rate-on-line is $10,000 INIT rol = 10000 INIT min rol = 7500 ! competition is set to a level of 8 INIT competition = 8 INIT max vessel value = 0 INIT per vessel quote = 0 INIT barge prem = 0 INIT tug prem = 0 INIT cs prem = 0 ! factors for round 2 INIT govt fac = 0 INIT subk fac = 0 FORGET prelim receipts amt is determined AND check target AND target is met THRESHOLD = 60 MULTI line of business AND special cargo AND cs special cargo CONFIDENCE OFF GOALSELECT OFF SUPPRESS ALL I
1. rates are determined 1.1 chiseling is done 1.2 chiseling failed
! ! I. CHISELING RULES I
RULE #1 to control chiseling IF alternative suggestion exists AND target premium c premium *.0.75 THEN chiseling is done AND DISPLAY target is too low
1
RULE #2 to control chiseling IF alternative suggestion exists AND target premium > premium THEN chiseling is done AND DISPLAY make sure higher rate is not a trap I
! in case he really didn't have an alt. suggestion !
RULE # 3 to control chiseling IF alternative suggestion exists AND target premium = premium THEN chiseling is done I
RULE #4 to control chiseling (real chiseling to do here) IF alternative suggestion exists AND target premium >= premium * 0.75 AND target premium c premium AND chiseling checks initialized AND chiseling path completed
THEN chiseling is done I
RULE #6 to control chiseling IF dummy THEN chiseling failed AND DISPLAY target cannot be reached I
! The CYCLE is in this rule so that the FORGET ! statement can become active 1
RULE for initializing chiseling checks IF dummy THEN chiseling checks initialized AND NOT rol is reached AND NOT renewal is reached AND NOT govt fac is reached AND NOT subk fac is reached AND NOT hh is reached AND NOT sup bus is reached AND CYCLE
1
1 A. Rules which check if target is reached 1
RULE for checking the target premium IF check target AND target is met THEN chiseling path completed AND DISPLAY target has been reached I
RULE for checking target IF premium <= target,premium THEN target is met ELSE NOT target is met AND CYCLE 1
I B. Determine chiseling paths ! the statement "X is reachedw is initially set ! to false. After the corresp. chiseling rule is ! tried, if is set to true. Subsequent chiseling ! cycles will not retry the rule. I
RULE #1 for chiseling IF premium = rol AND NOT rol is reached AND rol is determined AND premium := rol THEN rol is reached AND check target I
RULE # 2 for chiseling IF premium = rol AND NOT renewal is reached AND renewal is determined THEN renewal is reached AND check target I
RULE #3 for chiseling IF ask for shiprepairer AND NOT govt fac is reached AND govt fac is determined AND prelim receipts amt is determined THEN govt fac is reached
I F ask for shiprepairer AND NOT subk fac is reached AND subk fac is determined AND prelim receipts amt is determined THEN subk fac is reached AND premium := receipts quote AND check target I
RULE # 5 for chiseling IF ask for vessel owner AND NOT hh is reached AND hold harmless agreement is determined AND prelim receipts ant is determined THEN hh is reached AND premium := receipts quote AND check target 1
RULE # 6 for chiseling I F NOT sup bus is reached AND supporting business of asrd is determined THEN sup bus is reached AND premium := premium * (1 - (asrd business fac / 100)) AND check target I
! 11. FIRST PASS: CALCULATE PREMIUMS 1
I A. Shiprepairer: I Mainly care about I premium based on percent of receipts. 1
RULE #1 for goal (shiprepairer) IF brkr fac is determined AND applicant information collected AND competition fac is determined AND exposures determined .AND ask for shiprepairer AND NOT ask for vessel owner AND receipts quote is determined THEN rates are determined AND excess quote := C G L quote + auto quote + sr quote AND premium := receipts quote AND D I S P L A Y sr final results 1
I B. Vessel Owners: I Use premium based on payroll to compare to 1 main premium calculation, which is xs ul + P & I 1
RULE #2 for goal (vessel owners) IF brkr Eac is determined AND applicant information collected
AND competition fac is determined AND exposures determined AND ask for vessel owner AND NOT ask for shiprepairer AND payroll quote is determined THEN rates are determined AND excess quote:= CGL quote + auto quote + per vessel quote AND premium := excess quote AND DISPLAY vo final results
1
I C. Shiprepairer who also owns vessels I Premium based on payroll is reported separately, I but excess quote reflects exposures of both I
RULE #3 for goal (shiprepairer and vessel owner) IF brkr fac is determined AND applicant information collected AND competition fac.is determined AND exposures determined AND ask for shiprepairer AND ask for vessel owner AND payroll quote is determined AND receipts quote is determined THEN rates are determined AND excess quotel := CGL quote + auto quote AND excess quote2 := sr quote + per vessel quote AND excess quote := excess quotel + excess quote2 AND premium := receipts quote AND DISPLAY vo final results I
! 11. BROKER RELATIONSHIP 1
RULE for determining broker factor I F brkr reln is determined THEN brkr fac is determined AND brkr fac := brkr reln fac
I I A. LOSS Record I
! For testing purposes, broker #1 is good, ! #2 is bad, and # 3 is indifferent I
RULE #1 to determine reln with brkr I F brkr I S broker #1 THEN brkr reln is determined AND brkr reln fac := 5 I
RULE #2 to determine reln with brkr I F brkr I S broker #2 THEN brkr reln is determined AND brkr reln fac := -10 I
RULE # 3 to determine reln with brkr I F brkr I S broker #3 THEN brkr reln is determined AND brkr reln fac := 0
I
RULE # 4 to determine reln with brkr I F brkr I S other broker AND broker reln asked
THEN brkr reln is determined 1
! If the broker is not known, then ask for ! the broker relationship to be input. ! (Should also save the info to the data base) I
RULE #1 to ask for reln to be input IF brkr reln IS good THEN broker reln asked AND brkr reln fac := 5 I
RULE # 2 to ask for reln to be input IF brkr reln IS bad THEN broker reln asked AND brkr reln fac := -10 I
RULE # 3 to ask for reln to be input IF brkr reln IS indifferent THEN broker reln asked AND brkr reln fac := 0
1
I B. Supporting Business ! This is not asked on the first pa,ss I
! For testing purposes, broker #1 is substantial, ! #2 is some, and # 3 is none. 1
RULE #1 for supporting business of brkr IF brkr IS broker #1 THEN supporting business of brkr is determined AND brkr business fac := 0 I
RULE #2 for supporting business of brkr IF brkr IS broker # 2 THEN supporting business of brkr is determined AND brkr business fac := -5 I
RULE # 3 for-supporting business of brkr IF brkr IS broker # 3 THEN supporting business of brkr is determined AND brkr business fac := -10 I
RULE # 4 for supporting business of brkr IF brkr IS other broker AND broker sup bus asked THEN supporting business of brkr is determined !
! If the broker is not known, then ask for the amount ! of supporting business from the broker to be input. ! (Should also save the info to the data base) 1
RULE #1 for asking for supporting business input IF brkr sup bus IS substantial THEN brkr sup bus asked AND brkr business fac := 0 I
RULE # 2 for asking for supporting business input IF brkr sup bus IS little THEN brkr sup bus asked AND brkr business fac := -5
I
RULE # 3 for asking for supporting business input IF brkr sup bus IS none THEN brkr sup bus asked AND brkr business fac := -10 I
! 111. A P P L I C A N T INFORMATION I
RULE for collecting applicant information IF line of business is determined AND asrd loss rec is determined AND locn is determined THEN applicant information collected I
I A. Line of Business I
RULE #1 for line of business IF line of business IS shiprepairer THEN ask for shiprepairer AND line of business is determined I
RULE # 2 for line of business IF line of business IS vessel owner THEN ask for vessel owner AND line of business is determined 1
I B. Applicant Loss Record I
! Should be able to look up applicant in the ! data base but cannot do so because there is no ! way to enter the applicant's name, and there are ! too many to choose from. I
RULE #1 to determine loss record of applicant (clean) IF avg claim in excess of $10,000 < 25000 THEN asrd loss rec is determined AND asrd fac := 10 I
RULE # 2 to determine reln with asrd (good) IF ask for shiprepairer AND receipts credit is determined AND avg claim in excess of $10,000 c 0.5 * total receipts THEN asrd loss rec is determined AND asrd fac := 5 I
! In rule # 3 , should really ask for details of losses ! in excess of $100,000: Year, amt, descrip of loss, has ! the problem which caused the loss been remedied. 1
RULE # 3 to determine reln with asrd (bad) IF ask for shiprepairer AND avg claim in excess of $10,000 >= 0.5 * total receipts THEN asrd loss rec is determined AND asrd fac := -10 I
RULE # 4 to determine reln with asrd (bad) IF ask for vessel owner AND avg claim in excess of $10,000 < 100000 THEN asrd loss rec is determined AND asrd fac := 5
I
RULE # 5 to determine reln with asrd (bad) IF ask for vessel owner AND avg claim in excess of $10,000 >= 100000 THEN asrd loss rec is determined AND asrd fac := -10
I
I C. Location of Applicant I
RULE #1 for location factor IF location IS U.S. Gulf THEN locn is determined AND locn fac := -10 AND location is gulf I
RULE #2 for location factor . IF location IS East Coast THEN locn is determined AND locn fac := 0 AND location is east coast I
RULE #3 for location factor IF location IS other THEN locn is determined AND locn fac := 0 AND location is other I
I A. Previous policy info: (asked on second round) I I 1. Premium I
RULE for determining previous policy premium IF previous bumbershoot premium is known THEN prev prem is determined AND prev prem := previous bumbershoot premium ELSE prev prem is determined AND prev prem := 0
1
I 2. Loss Record I
RULE #1 for renewal loss record IF renewal rec IS clean THEN renewal loss record is determined AND renewal fac := 10 AND renewal record is clean
I
RULE # 2 for renewal loss record IF renewal rec IS good THEN renewal loss record is determined AND renewal fac := 5
I
RULE # 3 for renewal loss record IF renewal rec IS bad THEN renewal loss record is determined AND renewal fac := -10 I
RULE #4 for renewal loss record IF renewal rec IS indifferent THEN renewal loss record is determined AND renewal fac := 0
I
I 3. Number of Years of Renewal I
RULE #1 for renewal policy questions IF renewal policy AND renewal loss record is determined THEN renewal policy is determined AND num years := number of years of renewal I
RULE # 2 for renewal policy questions IF NOT renewal policy THEN renewal policy is determined AND num years := 0 AND renewal comp fac := 0 1
I 4. Renewal Credits I Note: renewal comp fac is > 0 for comp < 5 I and < 0 for comp > 5 . These rules temper the I increase or decrease given to a renewing client I
I Also note that renewal comp fac is calculated I in Section V. 1
RULE #1 for renewal credits IF renewal policy is determined AND prev prem is determined AND competition fac is determined AND competition < 5 THEN prevprem quote is determined AND prevprem quote:=prev prem*0.85+(0.15* renewal comp fac)
1
RULE #2 for renewal credits IF renewal policy is determined AND prev prem is determined AND competition fac is determined AND competition > 4 THEN prevprem quote is determined AND prevpreld quote:=prev prem*1.25+(0.25* renewal comp fac)
1
I 5 . Renewal record for chiseling I
RULE for determining premium based on renewal premium IF renewal policy AND renewal record is clean AND prevprem quote is determined THEN renewal is determined AND premium := prevprem quote ELSE renewal is determined
I
t C. Supporting Business of Applicant I (Not on the first pass.) I
RULE #1 for supporting business of asrd IF asup bus IS a lot THEN supporting business of asrd is determined AND lots of asrd supporting business AND asrd business fac := 0 t
RULE # 2 for supporting business of asrd IF asup bus IS some
THEN supporting business of asrd is determined AND some asrd supporting business AND asrd business fac := -5 I
RULE #3 for supporting business of asrd IF asup bus IS none THEN supporting business of asrd is determined AND little asrd supporting business AND asrd business fac := -10 1
! IV. APPLICANT GENERAL INFORMATION 1
I B. Receipts I
! For receipts of < 1 mil, the. minimum premium applies 1
RULE # 2 for calculating receipts credit/penalty IF total receipts < 2500000 THEN receipts credit is determined AND rec fac := 0 I
RULE #3 for calculating receipts credit/penalty IF total receipts > 2499000 AND total receipts < 5000000 THEN receipts credit is determined AND rec fac := 10 I
RULE #4 for calculating receipts credit/penalty IF total receipts > 4999000 AND total receipts < lOOOOOOO THEN receipts credit is determined AND rec fac := 15 I
RULE #5 for calculating receipts credit/penalty IF total receipts > 9999000 AND total receipts < 25000000 THEN receipts credit is determined AND rec face:= 25 t
RULE #6 for calculating receipts credit/penalty IF total receipts > 24999000 THEN receipts credit is determined AND rec fac := 33 I
I C. Payroll I
I 1. Jones Act employees (shipboard) 1
RULE for determining input wet payroll IF input wet payroll > 0 OR input wet payroll <= 0 THEN total wet payroll is determined
2. Non-shipboard payroll (magnitude of operation) ! RULE for determining total dry payroll IF total dry payroll > 0 OR total dry payroll <= 0 THEN total dry payroll is determined 1
! D. Employees 1
I 1. Jones Act Employees (doublecheck payroll) 1
RULE for determining number of wet employees IF num wet emps > 0 OR num wet emps <= 0 THEN num wet emps is determined AND wet emp pyrl := 25000 * num wet emps
I
I 2. Non-shipboard Employees I
RULE for determining number of dry employees IF num dry emps > 0 OR num dry emps <= 0 THEN num dry emps is determined
I
! V. COMPETITIVE ENVIRONMENT I
! This section does not ask any questions. It just ! translates a number from 1 to '0 (initialized at the ! beginning of the program) to a percent credit/penalty. I I A. Lots of competition: credit I
RULE #1 for converting comp scale to percent of prem IF competition c 5 THEN competition fac is determined AND comp fac := 25 - (competition * 5 ) AND renewal comp fac := 3 3 . 3 f
I B. Little competition: penalty I
RULE #2 for converting comp scale to percent of prem IF competition > 5 THEN competition fac is determined AND comp fac := (0 - 7 ) * (competition - 5) AND renewal'comp fac := - 3 3 . 3 I
RULE # 3 for converting comp scale to percent of prem IF competition = 5 THEN competition fac is determined AND comp fac := (0 - 7) * (competition - 5) AND renewal comp fac := 0 I
! VI. EXPOSURES I I A. Exposures Unrelated to Line of Business I
RULE for general exposures IF CGL questions completed AND wc questions completed AND air questions completed AND auto questions completed THEN general exposures determined I
I B. Exposures Dependent on ~ i n e of Business I
RULE for all exposures IF general exposures determined
AND shiprepairer completed AND vessel owner completed THEN exposures determined 1
! VII. CALCULATE PREMIUMS I
I A. Premium Based on Payroll (for vo only) ! I 1. Verify payroll amount I
RULE #1 for total wet payroll IF num wet emps is determined !AND num dry emps is determined AND wet emp pyrl > input wet payroll THEN final payroll is determined AND DISPLAY guy is lying AND total wet payroll := wet emp pyrl I
RULE #2 for total wet payroll IF num wet emps is determined !AND num dry emps is determined AND wet emp pyrl <= input wet payroll THEN final payroll is determined AND total wet payroll := input wet payroll ! I 2. Calculate the premium 1
RULE for calculating percent of payroll IF final payroll is determined THEN payroll quote is determined AND credits := comp fac + brkr fac + asrd fac AND adj base := 0.03 * (1- (credits / 100) ) AND payroll quote := total wet payroll * adj base I
I B. Premium Based on Receipts 1
I 1. Calculate preliminary premium 1
I Percentages are divided by 100 because they are I stated in whole numbers. I
I o For Shiprepairers 1
RULE #1 for calculating prelim percent of receipts IF ask for shiprepairer AND receipts credit is determined THEN prelim receipts amt is determined AND creditsl := comp fac + brkr fac + asrd fac + rec fac AND credits2 := repair fac + vessel fac + locn fac AND credits3 := govt fac + subk fac AND credits := creditsl + credits2 + credits3 AND adj base := 0.0075 * (1- (credits / 100) ) AND receipts quote := total receipts * adj base
o For Vessel Owners 1
! This rule is not used because vessel owners are not ! rated on receipts 1
RULE #2 for calculating prelim percent of receipts
IF ask for vessel owner AND receipts credit is determined AND NOT ask for shiprepairer THEN prelim receipts amt is determined AND credits := comp fac + brkr fac + asrd fac + rec fac AND adj base := 0.0075 * (1- (credits / 100) ) AND receipts quote := total receipts * adj base 1
I 2. Calculate Rate on line 1
! This is for the second pass. ROL is set to 10,000 I
I Rate on Line is minimum policy premium. I
RULE #1 for determining rate on line IF asrd loss rec is determined AND renewal policy is determined AND lots of asrd supporting business OR num years > 3 THEN rol is determined AND rol := min rol I
RULE # 2 for determining rate on line IF asrd loss rec is determined AND renewal policy is determined AND little asrd supporting business OR num years c 3 I
OR nun years = 3 THEN rol is determined AND rol := rol I
I 3. Determine premium based on receipts 1
RULE #1 for rate-on-line test and final pct of receipts IF prelim receipts amt is determined AND receipts quote c rol THEN receipts quote is determined AND receipts quote := rol AND DISPLAY adjusted receipts results I
RULE # 2 for rate-on-line test and final pct of receipts IF prelim receipts amt is determined AND receipts quote >= rol THEN receipts quote is determined AND DISPLAY receipts results
I
! VIII. SHIP REPAIRER EXPOSURES I
RULE #1 for shiprepairer questions IF ask for shiprepairer AND sr exposures determined THEN shiprepairer completed 1
RULE # 2 for shiprepairer questions IF NOT ask for shiprepairer THEN shiprepairer completed I
RULE for determining sr exposures IF sr primary is determined AND repair fac is determined
AND vessel fac is determined THEN sr exposures determined I
I A. Ship Repairer Primary Insurance I
RULE for determining sr primary insurance IF sr limit determined AND sr prem determined AND sr carrier determined THEN sr primary is determined I
I 1. Limit I
RULE #1 for sr limit IF sr limit c 500000 THEN sr limit determined AND DISPLAY decline because of sr limit AND rates are determined I
RULE 1 2 for sr limit IF sr limit >= 500000 AND sr limit < 1000000 THEN sr limit determined' AND low sr limit fac := -50
RULE # 3 for sr limit IF sr limit >= 1000000 THEN sr limit determined AND low sr limit fac := 0 I
I 2. Premium I
RULE for sr prem IF sr premium > 0 OR sr premium <= 0 THEN sr prem determined AND sr crl := low sr limit fac AND sr cr2 := brkr fac + asrd fac AND sr cr := sr crl + sr cr2 AND sr quote := 0.0075 * (1 - ( sr cr / 100)) 1
I 3. Carrier I
! Possible carriers are: Aetna, Chub, Kemper, ! AI, Lloyds, other 1
RULE #1 for carrier IF sr carrier IS Aetna OR sr carrier IS Chub OR sr carrier IS Kemper OR sr carrier IS A1 OR sr carrier IS Lloyds THEN sr carrier determined AND sr carrier expertise fac := 0 1
RULE #2 for carrier IF sr carrier IS other carrier AND sr carrier expertise determined AND sr carrier rating determined THEN sr carrier determined
1
I a. Competence 1
RULE #1 for carrier expertise I F sr expertise rate < 3 THEN sr carrier expertise determined AND sr carrier expertise fac := 0
1
RULE # 2 for carrier expertise IF sr expertise rate >= 3 THEN sr carrier expertise determined AND sr carrier expertise fac := -5
1
I b. Best's Rating (solvency) I
RULE #1 for determining sr carrier IF sr carrier rating I S A or A plus THEN sr carrier is ok
1
RULE # 2 for determining sr carrier I F sr carrier rating I S B plus THEN sr carrier may not be ok 1 RULE #3 for determining sr carrier IF sr carrier rating IS less than B plus THEN sr carrier is unacceptable 1
RULE # 4 for determining sr carrier IF sr carrier is ok THEN sr carrier rating determined 1
RULE # 5 for determining sr carrier I F sr carrier is unacceptable THEN sr carrier rating determined AND DISPLAY decline coverage I
RULE #6 for determining sr carrier IF sr carrier may not be ok AND small sr primary carrier THEN sr carrier rating determined AND DISPLAY might decline coverage I
RULE #7 for determining sr carrier I F sr carrier may not be ok AND NOT small sr primary carrier THEN sr carrier rating determined I
I B. Repair Type I
RULE #1 for repair fac I F repair type I S structural THEN repair fac is determined AND repair fac := 0 I
RULE #2 for repair fac IF repair type IS engine THEN repair fac is determined AND repair fac := -5 I
RULE # 3 for repair fac
IF repair type IS both engine and structural THEN repair fac is determined AND repair fac := -3 I
I C. Vessel Type I
RULE #1 for vessel fac IF vessel type IS rig THEN vessel fac is determined AND vessel fac := -50 I
RULE #2a for vessel fac IF vessel type IS commercial AND NOT repair is potentially gas freeing THEN vessel fac is determined AND vessel fac := 0 I
RULE #2b for vessel fac IF vessel type IS commercial AND repair is potentially gas freeing THEN vessel fac is determined AND vessel fac := -15
1
RULE # 3 for vessel fac IF vessel type IS not commercial THEN vessel fac is determined AND vessel fac := 10
I I E . Government Work I
RULE for government factor IF sr work is for the government THEN govt fac is determined AND govt fac := 5 E L S E govt fac is determined AND govt fac := 0 I
I F. Subcontracting I
RULE #1 for subcontractor factor IF more than 25 pct of work subcontracted on premises THEN ask subk questions I
RULE #2 for subcontractor factor IF NOT ask subk questions THEN subk fac is determined AND subk fac := 0 I
RULE # 3 for subcontractor factor IF ask subk questions AND hold harmless agreement exists with subcontractor AND Best rating of subcontractors insurer is A or A plus THEN subk fac is determined AND subk fac := 0
I
RULE # 4 for subk questions IF ask subk questions AND NOT hold harmless agreement exists with subcontractor OR NOT Best rating of subcontractors insurer is A or A plus THEN subk fac is determined
AND subk fac := -10 I
! IX. VESSEL OWNER EXPOSURES 1
RULE #1 for vessel owner questions IF ask for vessel owner AND vo exposures determined THEN vessel owner completed I
RULE #2 for vessel owner questions IF NOT ask for vessel owner THEN vessel owner completed 1
RULE for determining vo exposures IF schedule of vessels is determined AND vo primary is determined AND barge fleet credits calculated THEN vo exposures determined AND vo cred := brkr fac + asrd fac + cornp fac AND per vessel quote := per vessel quote * (1-(vo cred/100)) I
I A. Protection & Indemnity (P&I) Primary Insurance 1
RULE #1 for determining vo primary insurance IF applicant has a P and I policy AND vo limit determined AND vo prem determined AND vo carrier determined AND cargo exclusion determined THEN vo primary is determined I
RULE #2 for determining vo primary insurance IF NOT applicant has a P and I policy AND CGL watercraft deletion questions asked THEN vo primary is determined t
I 1. Carrier I
RULE #1 for P and I carrier IF vo carrier IS Carrier #1 OR vo carrier IS Carrier #2 OR vo carrier IS Carrier # 3 THEN vo carrier determined AND vo carrier expertise fac := 0 I
RULE #2 for P and I carrier IF vo carrier IS other carrier AND vo carrier expertise determined AND vo carrier rating determined THEN vo carrier determined I
I a. Competence 1
RULE #1 for carrier expertise IF vo expertise rate < 3 THEN vo carrier expertise determined AND vo carrier expertise fac := 0 1 RULE #2 for carrier expertise IF vo expertise rate >= 3
THEN vo carrier expertise determined AND vo carrier expertise fac := -5 I
I b. Best's Rating (solvency) 1
RULE #1 for determining vo carrier IF vo carrier rating IS A or A plus THEN vo carrier is ok 1
RULE #2 for determining vo carrier IF vo carrier rating IS B plus THEN vo carrier may not be ok I
RULE # 3 for determining vo carrier IF vo carrier rating IS less than B plus THEN vo carrier is unacceptable
I
RULE #4 for determining ,vo carrier IF vo carrier is ok THEN vo carrier determined 1
RULE # 5 for determining vo carrier IF vo carrier is unacceptable THEN vo carrier determined AND DISPLAY decline coverage I
RULE #6 for determining vo carrier IF vo carrier may not be ok AND small vo primary carrier THEN vo carrier determined AND DISPLAY might decline coverage
I
RULE #7 for determining vo carrier IF vo carrier may not be ok AND NOT small vo primary carrier THEN vo carrier determined 1
I 2. Limit 1
RULE #1 for vo limit IF vo limit < 500000 THEN vo limit determined AND DISPLAY decline because of vo limit AND rates are determined I
RULE # 2 for vo limit IF vo limit >= 500000 AND vo limit < 1000000 THEN vo limit determined AND low vo limit fac := -50 1
RULE # 3 for vo limit IF vo limit >= 1000000 THEN vo limit determined AND low vo limit fac := 0 I I 3. premium ! RULE for PandI quote IF vo limit determined
AND vo carrier determined AND limit factors determined THEN vo prem determined AND vo credl := low vo limit fac + vo carrier expertise fac AND vo cred2 := extent fac + collision fac AND vo cred := vo credl + vo cred2 AND PandI quote := 0.0075 * (1 - (vo cred/100)) * vo premium I
I 4. Watercraft Exclusion Deleted From CGL Policy I
RULE #1 for asking CGL watercraft deletion questions I F MEL and ROW are covered THEN CGL watercraft deletion questions asked 1
RULE # 2 for asking CGL watercraft deletion questions IF NOT MEL and ROW are covered THEN CGL watercraft deletion questions asked AND DISPLAY ff wreck removal 1
I 5. P & I form: is cargo excluded from coverage? I
RULE #1 for determining if cargo is excluded from P & I I F NOT P and I form is SP 38 THEN cargo exclusion determined I
RULE # 2 for determining if cargo is excluded from P & I I F P and I form is SP 38 AND cargo is covered THEN cargo exclusion determined 1
RULE # 3 for determining if cargo is excluded from P & I I F P and I form is SP 38 AND NOT cargo is covered AND cargo is owned THEN cargo exclusion determined AND DISPLAY cargo is not covered
I
RULE #4 for-determining if cargo is excluded from P&I I F P and I form is SP 38 AND NOT cargo is covered AND NOT cargo is owned THEN cargo exclusion determined AND DISPLAY if cargo exclusion I
I 6 . P & I Limit Restrictions I
RULE for determining P&I limit factors IF limit extent credit is determined AND limit wrt value of vessel is determined THEN limit factors determined 1
I a. Determine if limit applies to vessel I or to peril I
RULE #1 for determining limit extent credit IF limit extent is determined AND multiowned boat collision is danger AND likelihood of multiowned boat collision is determined AND multiowned boat collision is likely THEN limit extent credit is determined
AND extent fac := 10 I
RULE #2 for determining limit extent credit IF limit extent is determined AND multiowned boat collision is danger AND likelihood of multiowned boat collision is determined AND NOT multiowned boat collision is likely THEN limit extent credit is determined AND extent fac := 0 I
RULE # 3 for determining limit extent credit IF limit extent is determined AND multiperil accident is danger THEN limit extent credit is determined AND extent fac := 10
I
I
RULE #1 for determining limit extent IF limit extent IS limit on each vessel OR limit extent IS limit on each occurrence THEN multiperil accident is danger AND NOT multiowned boat collision is danger AND limit extent is determined
I
RULE # 2 for determining limit extent IF limit extent IS sep limits for PI and collision/towers THEN multiowned boat collision is danger AND NOT multiperil accident is danger AND limit extent is determined I
RULE #1 for likelihood of multi-owned boat collision IF schedule of vessels is determined AND total barges > 0 THEN likelihood of multiowned boat collision is determined AND multiowned boat collision is likely 1
RULE #2 for likelihood of multi-owned boat collision IF schedule-of vessels is determined AND total barges = 0 THEN likelihood of multiowned boat collision is determined AND NOT multiowned boat collision is likely I I b. Ask if limit covers full value of vessel I
RULE #1 for determining limit wrt value of vessel IF schedule of vessels is determined AND vo limit determined AND max vessel value < vo limit AND P and I covers excess RDC, towers AND half limit := vo limit / 2 AND max vessel value >= half limit THEN limit wrt value of vessel is determined AND collision fac := 5
I
RULE #2 for determining limit wrt value of vessel IF schedule of vessels is determined AND vo limit determined AND max vessel value < vo limit AND P and I covers excess RDC, towers AND half limit := vo limit / 2
AND max vessel value < half limit THEN limit wrt value of vessel is determined AND collision fac := 0
1
RULE # 3 for determining limit wrt value of vessel IF schedule of vessels is determined AND vo limit determined AND max vessel value c vo limit AND NOT P and I covers excess RDC, towers THEN limit wrt value of vessel is determined AND D I S P L A Y P and I does not cover xs RDC, investigate AND collision fac := 0
1
RULE # 4 for determining limit wrt value of vessel IF schedule of vessels is determined AND vo limit determined AND max vessel value >= vo limit AND col tow limit type determined AND col tow limit is hull value THEN limit wrt value of vessel is determined AND collision fac := 10 1 RULE # 5 for determining limit wrt value of vessel I F schedule of vessels is determined AND vo limit determined AND rnax vessel value >= vo limit AND col tow limit type determined AND col tow limit is P and I limit THEN limit wrt value of vessel is determined AND collision fac := -10 I
RULE #1 for determining collision, towers limit type IF ctl IS hull value THEN col tow limit is hull value AND col tow limit type determined I
RULE # 2 for-determining collision, towers limit type I F ctl IS P and I limit THEN col tow limit is P and I limit AND col tow limit type determined 1
I 1 7 . schedule of Vessels 1
RULE for determining schedule of vessels IF barge prem determined AND tug prem determined AND crewsupply prem determined THEN schedule of vessels is determined I
I a. Tugs I
I - tug premium - 1
RULE #1 for determining tug premium IF total tugs = 0 THEN tug prem determined I
RULE # 2 for determining tug premium IF total tugs > 0
AND tug value determined AND tug crew contrib determined AND towers contrib determined AND tug location determined AND tug age determined THEN tug prem determined AND tug base := 750 + crew contrib + towers contrib AND tug credits := tug age fac + locn fac + river fac AND tug prem:=total tugs * tug base * (1 -(tug credits/100)) AND per vessel quote := per vessel quote + tug prem
1
I - tug value - 1
RULE for tug value and adjusting max vessel value IF tug value > max vessel value THEN tug value determined AND max vessel value := tug value ELSE tug value determined 1
I - tug crew contribution - I
RULE for crew contribution to the premium IF dummy THEN tug crew contrib determined AND crew contrib := number of crew on tug * 750 I
I - tug towers contribution - 1
RULE for calculating risk due to towers liability IF tug special cargo determined AND tug cargo determined THEN towers contrib determined AND towers creditsl := tug haz fac + tug rig fac AND towers credits2 := tug tandem fac + tug own fac AND towers credits := towers creditsl + towers credits2 AND towers contrib := 1500 * (1 - (towers credits / 100)) ! I - - special cargo I
RULE for determining special cargo IF tandem tows asked AND pull rigs determined AND no special cargo determined THEN tug special cargo determined I
RULE #1 for special cargo (tandem tows, rigs) IF special cargo IS tandem tows THEN tandem tows asked AND tandem tows AND tug tandem fac := -50 ELSE tandem tows asked AND NOT tandem tows AND tug tandem fac := 0
RULE #2 for special cargo (tandem tows, rigs) IF special cargo IS rigs THEN pull rigs determined AND tug rig fac := -400 ELSE pull rigs determined AND tug rig fac := 0
I
RULE # 3 for special cargo (tandem tows, rigs) IF special cargo IS neither THEN no special cargo determined ELSE no special cargo determined I
I - - cargo (esp. what the tug pulls) I
! If he tows his own barges then ask the cargo ! questions when you ask about barges. I
RULE for determining cargo risks IF tug cargo ownership determined AND tug hazardous cargo determined THEN tug cargo determined I
o Tug owner pulls his own barges? 1
I credit, if he does, because he can't sue himself I
RULE #1 for tug/barge-pulled-by-tug cargo ownership IF total barges > 0 AND tow own barge THEN tug cargo ownership determined AND tug own fac := 0 1
RULE # 2 for tug/barge-pulled-by-tug cargo ownership IF total barges > 0 AND NOT tow own barge THEN tug cargo ownership determined AND tug own fac := 50 I
RULE # 3 for tug/barge-pulled-by-tug cargo ownership IF total barges = 0 THEN tug cargo ownership determined AND tug own fac := 0 I
I o Pulls hazardous cargo? I
RULE for determining tug/barge-pulled-by-tug cargo IF tug cargo is hazardous THEN tug hazardous cargo determined AND tug-haz fac := -50 ELSE tug hazardous cargo determined AND tug haz fac := 0
1
I - tug location - I
! do not penalize him for being on the river and ! being a tandem tower I
RULE #1 for determining tug location IF location is east coast OR location is gulf THEN tug location determined AND river fac := 0 I
RULE # 2 for determining tug location IF location is other AND location is river
AND tandem tows THEN tug location determined AND NOT location is other AND river fac := -350
1
RULE # 3 for determining tug location IF location is other AND location is river AND NOT tandem tows THEN tug location determined AND NOT location is other AND river fac := -400 I
RULE #4 for determining tug location IF location is other AND NOT location is river THEN tug location determined AND river fac := 0
1
I - tug age - I
RULE #1 for determining tug age IF tug age < 5 THEN tug age determined AND tug age fac := 10 1 ! ask for survey on another pass I
!RULE # 2 for determining tug age !IF tug age >= 5 !AND last survey > 3 !THEN tug age determined !AND tug age fac := 0 I
RULE # 3 for determining tug age IF tug age >= 5 !AND NOT last survey > 3 THEN tug age determined AND tug age fac := 5 I
I b. Barges I
I - barge premium - I
RULE #1 for determining barge premium IF dry barges = 0 AND liquid barges = 0 THEN barge prem determined AND total barges := 0
1
RULE #2 for determining barge premium IF dry barges > 0 OR liquid barges > 0 AND total barges := dry barges + liquid barges AND barge value determined AND barge cargo determined AND barge cargo ownership determined AND barge age determined THEN barge prem determined AND barge base amt:=500+barge cargo contrib+barge own cargo
AND barge prem := barge base amt * (1 - (barge age fac/100)) AND per vessel quote := per vessel quote + barge prem I
I - barge value - I
RULE for determining barge value IF barge value > max vessel value THEN barge value determined AND max vessel value := barge value ELSE barge value determined I
I - barge cargo exposures - I
RULE #1 for calculating barge cargo exposures IF liquid barges > 0 AND liquid cargo is a pollutant or is hazardous THEN barge cargo determined AND tug cargo is hazardous AND cs cargo is hazardous AND barge cargo contrib := 500 I
RULE # 2 for calculating barge cargo exposures IF liquid barges > 0 AND NOT liquid cargo is a pollutant or is hazardous THEN barge cargo determined AND NOT tug cargo is hazardous AND NOT cs cargo is hazardous AND barge cargo contrib := 0
1
RULE # 3 for calculating barge cargo exposures IF liquid barges = 0 THEN barge cargo determined AND NOT tug cargo is hazardous AND NOT cs cargo is hazardous AND barge cargo contrib := 0
I
RULE for calculating barge cargo ownership I F dry barges > 0 AND NOT barge cargo is owned THEN barge cargo ownership determined AND barge own cargo : = 250 ELSE barge cargo ownership determined AND barge own cargo := 0
1
I - barge age - I
RULE #1 for determining barge age IF barge age < 5 THEN barge age determined AND barge age fac := 10
1
!RULE #2 for determining barge age ! I F barge age >= 5 !AND last survey > 3 !THEN barge age determined !AND barge age fac := 0 I : RULE #3 for determining barge age I F barge age >= 5 !AND NOT last survey > 3
THEN barge age determined AND barge age fac := 5 I
I c. crewboats and supplyboats I
I - crewsupply premium - I
! towers only applies for tug-supply boats. ! can identify a tug-supply bec it is very big. ! Otherwise, a crewboat or supplyboat is rated like a tug. I
RULE #1 for collecting crewsupply information IF total crewsupply = 0 THEN crewsupply prem determined I
RULE # 2 for determining crewsupply premium IF crewsupply value determined AND crewsupply crew contrib determined AND cs location determined AND crewsupply age determined THEN crewsupply prem determined AND cs base amt := 750 + cs crew contrib + cs towers contrib AND cs credits:=crewsupply age fac + locn fac + cs river fac AND cs prem := cs base amt * (1 - (cs credits / 100)) AND per vessel quote := per vessel quote + cs prem I
I - crewsupply value - 1
RULE for determining crewsupply value IF max value adjusted AND tugsupply determined THEN crewsupply value determined
I
RULE for adjusting max vessel value IF crewsupply value > max vessel value THEN max value adjusted AND max vessel value := crewsupply value ELSE max value adjusted I
RULE for determining if the boat is also a tug IF tugsupply suspected AND boat is a tugsupply AND cs towers contrib determined THEN tugsupply determined ELSE tugsupply determined AND cs towers contrib := 0
1
RULE for suspecting that the boat is a tug-supply boat IF crewsupply value > 1000000 OR crewsupply horsepower > 1000 THEN tugsupply suspected ELSE dummy AND NOT tugsupply suspected
I
I - crewsupply crew contribution - I
RULE for crewsupply crew contribution to the premium IF dummy THEN crewsupply crew contrib determined AND cs crew contrib := number of crew on crewsupply * 750
I
I - tugsupply towers contribution - I
RULE for calculating towers risk for tugsupply boats IF cs special cargo determined AND cs cargo determined THEN cs towers contrib determined AND cs tow creditsl := cs haz fac + cs rig fac AND cs tow credits2 := cs tandem fac + cs own fac AND cs tow credits := cs tow creditsl + cs tow credits2 AND cs towers contrib := 1500 * (1 - (cs tow credits/100))
1
I - - special cargo I
RULE for determining cs special cargo IF cs tandem tows asked AND cs pull rigs determined AND cs no special cargo determined THEN cs special cargo determined I
RULE #1 for cs special cargo IF cs special cargo IS tandem tows THEN cs tandem tows asked AND tandem tows AND cs tandem fac := -50 ELSE cs tandem tows asked AND NOT tandem tows AND cs tandem fac := 0 I
RULE #2 for cs special cargo IF cs special cargo IS rigs THEN cs pull rigs determined AND cs rig fac := -400 ELSE cs pull rigs determined AND cs rig fac := 0 I
RULE #3 for cs special cargo IF cs special cargo IS neither THEN cs no special cargo determined ELSE cs no special cargo determined I
I - - cargo (esp. what the tugsupply pulls) I
! if he also owns tugs, then the cargo factors ! were asked in the tug section. I
RULE #1 for determining cs cargo risks IF total tugs > 0 THEN cs cargo determined AND cs own fac := tug own fac AND cs haz fac := tug haz fac I ;
RULE # 2 for determining cs cargo risks IF total tugs = 0 AND cs cargo ownership determined AND cs hazardous cargo determined THEN cs cargo determined I I o Tug owner pulls his own barge? I
RULE for cs/barge-pulled-by-cs cargo IF total barges > 0 AND tow own barge THEN cs cargo ownership determined AND cs own fac := 0 ELSE cs cargo ownership determined AND cs own fac := 50
1
I o Pulls hazardous cargo? I
RULE for determining tug-suppts and barge's cargo IF cs cargo is hazardous THEN cs hazardous cargo determined AND cs haz fac := -50 ELSE cs hazardous cargo determined AND cs haz fac := 0 I
! - crewsupply location - I
! if he has tugs, then he answered this question already I
RULE #1 for determing cs, location IF total tugs > 0 .
THEN cs location determined AND cs river fac := river fac I
RULE #2 for determining cs location IF location is east coast OR location is gulf THEN cs location determined AND cs river fac := 0 1
RULE # 3 for determining cs location IF location is other AND location is river AND tandem tows THEN cs location determined AND cs rive3 fac := -350
1
RULE #4 for determining cs location IF location is other AND location is river AND NOT tandem tows THEN cs location determined AND cs river fac := -400 I
RULE #5 for determining cs location IF location is other AND NOT location is river THEN cs location determined AND cs river fac := 0
- crewsupply age - I
RULE #1 for determining crewsupply age IF crewsupply age < 5 THEN crewsupply age determined AND crewsupply age fac := 10
I
!RULE #2 for determining crewsupply age
!IF crewsupply age >= 5 !AND last survey > 3 !THEN crewsupply age determined !AND crewsupply age fac := 0 I
RULE #3 for determining crewsupply age IF crewsupply age >= 5 !AND NOT last survey > 3 THEN crewsupply age determined AND crewsupply age fac := 5 I
I 8. Barge Fleet Credits 1
RULE #1 for calculating barge fleet credits IF total barges <= 5 THEN barge fleet credits calculated I
RULE #2 for calculating barge fleet credits IF total barges > 5 AND total barges <= 10 THEN barge fleet credits calculated AND barge credit := total barge prem * 0.33 AND per vessel quote.:= per vessel quote - barge credit
1
RULE # 3 for calculating barge fleet credits I F total barges > 10 THEN barge fleet credits calculated AND barge credit := total barge prem * 0.66 AND per vessel quote := per vessel quote - barge credit I
! X. UNDERLYING INSURANCE FOR GENERAL EXPOSURES 1
I A. Comprehensive General I
RULE for obtaining CGL info I F CGL limit determined AND CGL carrier determined AND CGL form determined AND CGL premium determined THEN CGL questions completed
Liability
I 1. CGL form (claims-made?) 1
! Note: Must also ask for number of aggregates I
~ L E #1 for determining CGL form IF CGL form is claims made AND retro date less than three years AND discovery period less than six months THEN CGL form determined AND DISPLAY use Marks form ! RULE # 2 for determining CGL form I F CGL form is claims made AND NOT retro date less than three years OR NOT discovery period less than six months THEN CGL form determined AND DISPLAY consider declining claims made I
~ L E # 3 for determining CGL form
I F NOT CGL form is claims made THEN CGL form determined 1
I 2. Carrier I
RULE #1 for CGL carrier I F CGL carrier I S Aetna OR CGL carrier I S Chub OR CGL carrier I S Kemper OR CGL carrier I S A1 OR CGL carrier I S Lloyds THEN CGL carrier determined AND CGL carrier expertise fac := 0
1
RULE #2 for CGL carrier I F CGL carrier IS other carrier AND CGL carrier expertise determined THEN CGL carrier determined 1
I a. Competence 1
RULE #1 for CGL carrier expertise I F CGL expertise rate < 3 THEN CGL carrier expertise determined AND CGL carrier expertise fac := 0 I
RULE # 2 for CGL carrier expertise I F CGL expertise rate >= 3 THEN CGL carrier expertise determined AND CGL carrier expertise fac := -5
1
I b . Best s rating (solvency) 1
RULE #1 for determining CGL carrier I F CGL carrier rating I S A or A plus THEN CGL carrier is ok I
RULE # 2 for *determining CGL carrier I F CGL carrier rating I S B plus THEN CGL carrier may not be ok I
R U L E ' # 3 for determining CGL carrier I F CGL carrier rating I S less than B plus THEN CGL carrier is unacceptable I
RULE # 4 for determining CGL carrier I F CGL carrier is ok THEN CGL carrier determined I
RULE #5 for determining CGL carrier I F CGL carrier is unacceptable THEN CGL carrier determined AND DISPLAY decline coverage
1
RULE #6 for determining CGL carrier I F CGL carrier may not be ok AND small CGL primary carrier THEN CGL carrier determined AND DISPLAY might decline coverage I
RULE #7 for determining CGL carrier IF CGL carrier may not be ok AND NOT small CGL primary carrier THEN CGL carrier determined 1
I 3. Limit I
RULE #1 for CGL limit IF CGL limit < 1000000 THEN CGL limit determined AND D I S P L A Y decline because of CGL limit AND rates are determined
1
RULE #2 for CGL limit IF CGL limit >= 1000000 THEN CGL limit determined 1
I , 4. Premium 1
RULE for CGL prem IF CGL premium >= 0 THEN CGL premium determined AND CGL cred:=brkr fac+ asrd fac AND CGL quote := 0.50 * (1-(CGL cred / 100)) 1 I B. Auto I
RULE #1 for obtaining auto info IF autos owned or leased AND auto quote is determined THEN auto questions completed 1
RULE # 2 for obtaining auto info IF NOT autos owned or leased THEN auto questions completed AND auto quote := 0 I
I 1. Auto Exposure Questions I
I To estimate the underlying premium I
1 a. cars, trucks, tractor/trailers 1
RULE for estimating auto underlying premium IF private cars determined AND trucks determined AND tractors determined THEN auto prem estimated AND auto estimate := auto num + truck nun + trac num
1
RULE for number of owned private cars, etc. IF owned autos >= 0 THEN private cars determined AND auto num := owned autos * 500 I
RULE for number of owned trucks IF owned trucks >= 0 THEN trucks determined AND truck num := owned trucks * 1000 I
RULE for number of owned tractor/trailers IF owned tractors >= 0 THEN tractors determined AND trac num := owned tractors * 1500 I
I b. Cargo exposures I
RULE #1 for asking cargo questions IF auto cargo legal exposure AND hazardous cargo is determined THEN auto cargo questions asked I
RULE # 2 for asking cargo questions IF NOT auto cargo legal exposure THEN auto cargo questions asked AND auto min limit := 0 I
RULE #1 for determining if cargo is hazardous IF auto cargo is hazardous AND cargo is explosive or flammable AND auto cargo is owned THEN hazardous cargo is determined AND DISPLAY decline because of hazardous cargo AND auto min limit := 5000000 I
RULE # 2 for determining if cargo is hazardous IF auto cargo is hazardous AND NOT cargo is explosive or flammable THEN hazardous cargo is determined AND auto min limit := 5000000 I
RULE # 3 for determining if cargo is hazardous IF auto cargo is hazardous AND cargo is explosive or flammable AND NOT auto cargo is owned THEN hazardous cargo is determined AND auto min limit := 5000000 I
RULE # 4 for determining if cargo is hazardous IF NOT auto cargo is hazardous THEN hazardous cargo is determined AND auto min limit := 1000000 I I 2. Underlying auto insurance information I
RULE for obtaining underlying auto info IF auto limit determined AND auto carrier determined AND auto premium determined THEN underlying auto questions completed I
I a. Carrier 1
RULE #i for auto carrier IF auto carrier IS carrier #1 OR auto carrier IS carrier #2 OR auto carrier IS carrier # 3 THEN auto carrier determined AND auto carrier expertise fac := 0 I
RULE # 2 for auto carrier I F auto carrier I S other carrier AND auto carrier expertise determined THEN auto carrier determined
I i . Competence I
RULE #1 for auto carrier expertise I F auto expertise rate < 3 THEN auto carrier expertise determined AND auto carrier expertise fac := 0 I
RULE #2 for auto carrier expertise I F auto expertise rate >= 3 THEN auto carrier expertise determined AND auto carrier expertise fac := -5 I
ii. Best s rating (solvency)
RULE #1 for determining auto carrier I F auto carrier rating IS A or A plus THEN auto carrier is ok. I
RULE #2 for determining auto carrier I F auto carrier rating I S B plus THEN auto carrier may not be ok I
RULE #3 for determining auto carrier I F auto carrier rating I S less than B plus THEN auto carrier is unacceptable I
RULE # 4 for determining auto carrier I F auto carrier is ok THEN auto carrier determined
1
RULE # 5 for determining auto carrier I F auto carrier is unacceptable THEN auto carrier determined AND DISPLAY decline coverage
I
RULE #6 for determining auto carrier I F auto carrier may not be ok AND small auto primary carrier THEN auto carrier determined AND DISPLAY might decline coverage I
RULE #7 for determining auto carrier I F auto carrier may not be ok AND NOT small auto primary carrier THEN auto carrier determined I I b. Limit 1
RULE #1 for auto limit I F auto cargo questions asked AND auto limit < auto min limit THEN auto limit determined AND DISPLAY decline because of auto limit I
RULE #2 for auto limit
I F auto cargo questions asked AND auto limit >= auto min limit THEN auto limit determined 1
1 c. Premium I
RULE for auto prem I F auto premium >= 0 THEN auto premium determined 1
I 3. Premium based on Auto underlying premium I
RULE #1 for determining auto quote I F auto prem estimated AND underlying auto questions completed AND high end := 1.10 * auto estimate AND high end < auto premium THEN auto quote is determined AND auto quote := 0.5 * auto premium AND DISPLAY check auto exposure because input prem is high
I
RULE # 2 for determining auto quote I F auto prem estimated AND underlying auto questions completed AND low end := 0.90 * auto estimate AND low end > auto premium THEN auto quote is determined AND auto quote := 0.5 * auto estimate AND D I S P L A Y check auto exposure because input prem is low I
RULE # 3 for determining auto quote I F auto prem estimated AND underlying auto questions completed AND low end := 0.90 * auto estimate AND high end := 1.10 * auto estimate AND low end <= auto premium AND high end >= auto premium THEN auto quote is determined AND auto quote := 0.5 * auto estimate
1
I C. Air I
RULE #1 for obtaining air info I F aircraft owned or leased AND required limit determined AND underlying air questions asked THEN air questions completed I
R U U # 2 for obtaining air info I F NOT aircraft owned or leased THEN air questions completed 1
RULE for obtaining underlying air info I F air carrier determined AND air carrier expertise determined AND air limit determined AND air premium determined THEN underlying air questions asked 1
I 1. Number of Owned Aircraft
I To determine minimum underlying covg required I
RULE #1 for number of owned aircraft IF owned aircraft > 0 AND number of seats >= 5 THEN required limit determined AND required limit := number of seats * 1OOOOOO I
RULE #2 for number of owned aircraft IF owned aircraft > 0 AND number of seats < 5 THEN required limit determined AND required limit := 5000000 I
RULE #3 for number of owned aircraft IF owned aircraft = 0 AND leased aircraft > 0 THEN required limit determined AND required limit := 1000000
I
I 2. Carrier I
RULE #1 for air carrier IF air carrier IS U S AIG OR air carrier IS AAAU OR air carrier I S Federal OR air carrier IS Lloyds THEN air carrier determined AND air carrier expertise fac := 0 I
RULE #2 for air carrier IF air carrier IS other carrier AND air carrier expertise determined THEN air carrier determined I
I a. Competence I
RULE #1 for air carrier expertise IF air expertise rate < 3 THEN air carrier expertise determined AND air carrier expertise fac := 0 I
RULE # 2 for air carrier expertise IF air expertise rate >= 3 THEN air carrier expertise determined AND air carrier expertise fac := -5 1
I b. Best s rating (solvency) I
RULE #1 for determining air carrier IF air carrier rating IS A or A plus THEN air carrier is ok 1 RULE #2 for determining air carrier IF air carrier rating IS B plus THEN air carrier may not be ok
RULE #3 for determining air carrier IF air carrier rating IS less than B plus
THEN air carrier is unacceptable I
RULE # 4 for determining air carrier IF air carrier is ok THEN air carrier determined
1
RULE # 5 for determining air carrier IF air carrier is unacceptable THEN air carrier determined AND DISPLAY decline coverage
I
RULE # 6 for determining air carrier IF air carrier may not be ok AND small air primary carrier THEN air carrier determined . AND DISPLAY might decline coverage
1
RULE #7 for determining air carrier IF air carrier may not be ok AND NOT small air primary carrier THEN air carrier determined I
I 3. Limit I
~ L E #1 for air limit IF air limit < required limit THEN air limit determined AND DISPLAY decline because of air limit AND NOT rates are determined AND stop the program I
RULE # 2 for air limit IF air limit >= required limit THEN air limit determined I
I 3. Premium 1
RULE for air prem IF air premium > 0 OR air premium <= 0 THEN air premium determined I
I D. Workman's Comp I
RULE for obtaining wc info !IF wc carrier determined !AND wc carrier expertise determined IF wc limit determined THEN wc questions completed I I 1. Carrier
I a. Competence 1
RULE #1 for wc carrier expertise IF wc expertise rate < 3 THEN wc carrier expertise determined AN13 wc carrier expertise fac := 0 I
RULE # 2 for wc carrier expertise
IF wc expertise rate >= 3 THEN wc carrier expertise determined AND wc carrier expertise fac := -5 I
I b. Best's rating (solvency) I
RULE #1 for determining wc carrier IF wc carrier rating IS A or A plus THEN wc carrier is ok
1
RULE #2 for determining wc carrier IF wc carrier rating IS B plus THEN wc carrier may not be ok
I
RULE # 3 for determining wc carrier IF wc carrier rating IS less than B plus THEN wc carrier is unacceptable I
RULE #4 for determining wc carrier IF wc carrier is ok THEN wc carrier determined I
RULE #5 for determining wc carrier ,
IF wc carrier is unacceptable THEN wc carrier determined AND DISPLAY decline coverage I
RULE # 6 for determining wc carrier IF wc carrier may not be ok AND small wc primary carrier THEN wc carrier determined AND DISPLAY might decline coverage I
RULE #7 for determining wc carrier IF wc carrier may not be ok AND NOT small wc primary carrier THEN wc carrier determined 1
I 2. Limit (only need to know if statutory) I
RULE #1 for wc limit IF statutory limit for wc insurance OR NOT statutory limit for wc insurance THEN wc limit determined 1
RULE # 2 for wc limit IF NOT statutory limit for wc insurance THEN wc limit determined AND DISPLAY decline because of wc limit I I , , , , , - - - - - - - - - - - - - - - - - - - - - - - -
I - T E X T - I , , , , , - - - - - - - - - - - - - - - - - - - - - - - -
1
TEXT brkr Select the broker for the application:
I
TEXT brkr reln What is the loss record of the broker? I
TEXT brkr sup bus How would you describe the amout of supporting
business of the broker? I
TEXT previous bumbershoot premium is known Is the premium for the past year's umbrella liability
policy known? I
TEXT renewal rec What is the loss record on the policy to renew?
I
TEXT renewal policy Is this a renewal policy? 1
TEXT previous bumbershoot premium ~nter-the premium for the previous umbrella policy:
I
TEXT avg claim in excess of $10,000 Enter the amount of the average claim in excess of $10,000 over the past five years:
1
TEXT location Where does the applicant operate? . I
TEXT asup bus How would you describe the amount of supporting
business of the applicant? 1
TEXT line of business Select the line of business of the applicant. You
may select more than one. I
TEXT total receipts Enter the amount of total receipts of the applicant's business: 1
TEXT input wet payroll Enter total-payroll amount for shipboard employees: I
TEXT total dry payroll Enter total payroll amount for non-shipboard employees: I
TEXT num wet emps Enter the number of shipboard employees:
I
TEXT num dry emps Enter the number of non-shipboard employees: 1
TEXT number of years of renewal Enter the number of years the applicant
has been renewing his policy: I
TEXT sr carrier Select the carrier for the Ship Repairer Legal Liability primary insurance 1
TEXT sr expertise rate Rate the expertise of the primary ship repairer insurer on a scale from 1 (excellent) to 5 (poor): I
TEXT sr carrier rating What is the Best's rating for the Ship Repairer underlying insurance?
I
TEXT small sr primary carrier Is the surplus of the carrier for the Ship Repairer insurance small? I
TEXT sr limit What is the limit of the Ship Repairer underlying insurance?
I
TEXT sr premium What is the premium for the Ship Repairer underlying insurance? I
TEXT repair type What type of repair does the applicant generally perform? I
TEXT repair is potentially gas freeing Is the type of ship repair.the applicant generally
performs potentially gas-freeing? I
TEXT vessel type On what type of vessel are the repairs generally performed?
I
TEXT sr work is for the government Is the government a major client of the ship repairer? I
TEXT more than 2 5 pct of work subcoxitracted on premises Does a subcontractor perform more than 25% of the ship repair
work on the applicant's premises? 1
TEXT hold harmless agreement exists with subcontractor Does the ship repairer have a hold-harmless agreement
with his subcontractor? I
TEXT Best rating of subcontractors insurer is A or A plus Is the Best's rating of the subcontractor's insurer
A or A+? I
TEXT applicant has a P and I policy Does the applicant have P and I underlying insurance?
1
TEXT vo carrier Select the carrier for the P & I primary insurance: 1
TEXT vo expertise rate Rate the expertise of the primary P and I insurer on a scale from 1 (excellent) to 5 (poor): I
TEXT vo carrier rating What is the Best's rating for the P and I underlying insurance? I
TEXT small vo primary carrier Is the surplus of the carrier for the P and I insurance adequate? I
TEXT vo limit What is the limit of the P and I underlying insurance? 1
TEXT vo premium What is the premium for the P and I underlying insurance? I
TEXT MEL and ROW are covered Does the applicant have coverage for Maritime Employer's
Liability and Removal of Wreck?
I
TEXT P and I form is SP 38 Is the underlying P and I policy written on an SP-38 form?
1
TEXT cargo is covered Does the applicant have cargo coverage?
1
TEXT cargo is owned Does the applicant own the cargo?
I
TEXT limit extent How would you describe the restriction on the P and I limit?
1
TEXT P and I covers excess RDC, towers Does the P and I policy cover excess collision and
towers liability? I
TEXT ctl Which of the following determines the collision/towers limit:
I
TEXT total tugs Enter the total number of tugs in the fleet:
I
TEXT number of crew on tug Enter the average number of crew on the tugboats:
1 TEXT tow own barge Does the applicant tow his own barges? I
TEXT tug value Enter the average value of the tugs:
1
TEXT special cargo Does the tug tow any of the following?
t
TEXT tug cargo is hazardous Is the tug cargo hazardous?
! TEXT location is river Does the applicant operate on a river?
I
TEXT tug age Enter the average age of the tugs:
I
!TEXT last survey I How many years has it been since applicant ! last surveyed his fleet? I
TEXT dry barges Enter the total number of barges carrying dry cargo:
! TEXT liquid barges
Enter the total number of barges carrying liquid cargo: I
TEXT liquid cargo is a pollutant or is hazardous Is the liquid cargo a pollutant or hazardous? 1
TEXT barge value Enter the average value of the barges:
1
TEXT barge cargo is owned Does the applicant own the cargo which is
carried in the barge? I
TEXT barge age Enter the average age of the barges:
I
TEXT total crewsupply Enter the total number of crewboats and supplyboats
the fleet: I
TEXT number of crew on crewsupply Enter the average number of crew on a crewboat or supplyboat:
I
TEXT crewsupply value Enter the average value of a crewboat or supplyboat:
I
TEXT crewsupply age Enter the average age of a crewboat or supplyboat:
I
TEXT boat is a tugsupply Are there tug-supply boats in the fleet?
I
TEXT crewsupply horsepower Enter the horsepower of the crewboat or supplyboat:
1
TEXT cs special cargo Does the tug-supply tow any of the following?
1
TEXT cs carao is hazardous Is the-cargo pulled by or carried on the tug-supply hazardous?
1
TEXT CGL form is claims made Is the CGL policy written for claims-made coverage?
I
TEXT retro date less than three years Is the retro date of the policy within three years
of the ifiception of the policy? ! TEXT discovery period less than six months
Is the discovery period allowed by policy less than six months?
I
TEXT CGL carrier Select the carrier for the CGL primary insurance: ! TEXT CGL expertise rate Rate the expertise of the primary CGL insurer on a scale from 1 (excellent) to 5 (poor) : I
TEXT CGL carrier rating What is the Best's rating for the CGL insurance? I
TEXT small CGL primary carrier Is the surplus of the carrier for the CGL insurance adequate? ! TEXT CGL limit What is the limit of the CGL underlying insurance?
1
TEXT CGL premium
What is the premium for the CGL underlying insurance? I
TEXT autos owned or leased Does the applicant own or lease any autos,
trucks, or tractor/trailers? I
TEXT owned autos Enter the total number of owned or leased private passenger vehicles, pick-ups, and vans.
1
TEXT owned trucks Enter the number of owned or leased trucks:
I
TEXT owned tractors Enter the number of owned or leased tractor/trailers:
I
TEXT auto cargo legal exposure Does the applicant have an auto cargo legal exposure?
I
TEXT auto cargo is hazardous Is the cargo hazardous?
I
TEXT cargo is explosive or flammable Is the cargo explosive or flamniable?
1
TEXT auto cargo is owned Does the applicant own the cargo?
I
TEXT auto carrier Select the carrier for the Auto primary insurance: I
TEXT auto expertise rate Rate the expertise of the primary Auto insurer on a scale from 1 (excellent) to 5 (poor) : I
TEXT auto carrier rating What is the Best's rating for the Auto insurance? I
TEXT small auto primary carrier Is the surplus of the carrier for the Auto insurance adequate? I
TEXT auto limit What is the limit of the Auto insurance?
1
TEXT auto premium What is the premium for the Auto underlying insurance? I
-
TEXT aircraft owned or leased Does the applicant own or lease any aircraft?
I
TEXT owned aircraft Enter the number of owned or leased aircraft:
I
TEXT number of seats Enter the number of seats on the aircraft:
I
TEXT leased aircraft Enter the number of chartered aircraft:
I
TEXT air carrier
Select the carrier for the Air primary insurance: 1
TEXT air expertise rate Rate the expertise of the primary Air insurer on a scale from 1 (excellent) to 5 (poor) : I
TEXT air carrier rating What is the Best's rating for the Air insurance? I
TEXT small air primary carrier Is the surplus of the carrier for the Air insurance adequate? I
TEXT air limit What is the limit of the Air insurance? I
TEXT air premium What is the premium for the Air underlying insurance? I
TEXT wc expertise rate Rate the expertise of the primary workman's comp insurer on a scale from 1 (excellent) to 5 (poor) : . 1
TEXT wc carrier rating What is the Best's rating for the Workmans Comp insurance? I
TEXT small wc primary carrier Is the surplus of the carrier for the Workmans Comp insurance adequate? I
TEXT statutory limit for wc insurance Is the limit for the workman's comp insurance statutory? I
TEXT alternative suggestion exists Do you have a suggestion for a premium which would be more
appropriate for this applicant? I
TEXT target premium Enter the value of your suggested premium:
I
I - - - - , - , - - , - , , , , - , - - - - - - - - - - - -
I
DISPLAY make sure higher rate is not a trap The broker's suggested premium is substantially higher than
the premium I have suggested. Examine the applicant's case more closely, since there may be an exposure which the broker has not tole us about and which I have not thought to ask about. I
DISPLAY decline because of wc limit The applicant is not insured up to the statutory
limit for workman's comp insurance. Consider declining the umbrella coverage.
1
DISPLAY decline because of auto limit The minimum amount of auto insurance which the
applicant must have, given his auto risks, is [auto min limit ( 9 , O ) J
The applicant is not insured up to this amount in his underlying insurance. Therefore,
decline the umbrella coverage. 1
DISPLAY decline because of air limit The minimum amount of air insurance which the
applicant must have, given his air risks, is [required limit (9,O) ]
The applicant is not insured up to this amount in his underlying insurance. Therefore, decline the umbrella coverage.
DISPLAY decline because of sr limit The minimum amount of ship repairer legal
liability insurance which the applicant must have is one million dollars:
The applicant is not insured up to this amount in his underlying insurance. Therefore, decline the umbrella coverage.
1
DISPLAY decline because of vo limit The minimum amount of Protection and
Indemnity insurance which the applicant must have is one million dollars.
The applicant is not insured up to this amount in his underlying insurance. Therefore, decline the umbrella coverage.
1
DISPLAY decline because of CGL limit The minimum amount of Comprehensive General
Liability insurance which the applicant must have is one million dollars.
The applicant is not insured up to this amount in his underlying insurance. Therefore, decline the umbrella coverage.
I
DISPLAY check auto exposure because input prem is high Based on the number of vehicles the applicant
owns or leases, the expected premium for the auto underlying insurance is
[auto estimate (9,O) 1
Since the auto premium the applicant actually pays is much higher than this estimate, the auto exposure may actually be greater than that indicated by the number of vehicles which the applicant owns or leases.
I
DISPLAY check auto exposure because input prem is low Based on the number of vehicles the applicant
owns or leases, the expected premium for the auto underlying insurance is
[auto estimate ( 9 , O ) 1
Since the auto premium the applicant actually pays is much lower than this estimate, the auto exposure may actually be less than that indicated by the number of vehicles which the applicant owns
or leases. I
DISPLAY ff wreck removal llFollow form1* wreck removal, since Removal of Wreck
is not covered in any policy. This will exclude wreck removal costs from the coverage of the umbrella.
I
DISPLAY ff cargo exclusion Exclude cargo in the umbrella policy. The applicant
does not own the cargo, and it is not covered either in a cargo policy or in the PtI policy.
I
DISPLAY cargo is not covered Note that the applicant owns the cargo, but the cargo
is not covered either in the P&I policy or in a cargo pol icy.
! DISPLAY P and I does not cover xs RDC, investigate
The P and I policy does not cover collision losses once the limit for the collision policy has been reached. This is a rare situation, since the P and I usually does cover excess collision.
There may be no cause for alarm. However, the reason that the P and I does not cover excess collision may be important.
1
DISPLAY adjusted receipts results The amount of receipts is sufficiently
low to cause the calculated premium to fall below the rate-on-line. Therefore, the premium amount, based on the receipts, is the rate-on-line of
DISPLAY receipts results The following factors have affected
the calculation of the premium based on a percent of receipts:
broker reln: [brkr fac (4, 0) 1 applic reln: [asrd fac (4, 0) 1 competition: [comp fac (4, O)] rcpt credit: [rec fac (4, O)] repair type: [repair fac (4, 0) 1 vessel type: [vessel fac (4, 0) 1 repair location: [locn fac (4, 0) 1 govt work: [govt fac (4, 0) 1 subcontracting: [subk fac (4, 0) 1
The base amt of receipts is 0.75%. This has been multiplied by the sum of the above percentages and by the annual receipts of [total receipts (10, O)] dollars to produce a premium of
[receipts quote (10 , O)]. 1
DISPLAY might decline coverage Because the underlying insurance carrier
is small, there is a large risk of loss if that carrier defaults.
Therefore, consider declining coverage for the umbrella.
1
DISPLAY decline coverage Because the underlying insurance carrier
has a bad Best's rating, there is a large risk of loss if that carrier defaults.
Therefore, consider declining coverage for the umbrella.
1
DISPLAY decline because of hazardous cargo Since the applicant owns his auto cargo, and that
cargo is very hazardous, the amount of non-marine risk is very large.
Since it is desirable to write premdominantly marine risks in a marine liability umbrella, consider declining the coverage.
I
DISPLAY guy is lying The payroll amount of [input wet payroll (9, 0) 1
does not adequately compensate the [num wet emps (6, O)] employees of the applicant.
The total payroll for shipboard employees has been calculated to be [wet emp pyrl (9, O)].
Notify the broker of this difference, if you wish. I
DISPLAY use Marks form Since the CGL underlying insurance is written on a
claims-made basis, use the "hybridN bumbershoot form. I
DISPLAY consider declining claims made The CGL policy is on a claims-made basis, which means that
the insurer must pay losses when the assured files a claim, regardless of when the accident actually occurred.
Therefore, exposures which existed previously, but which no loger exist could potentially be covered by this policy. The retro date determines how far in the past the accident could have occurred in order to be covered by this policy. The discovery period allows the assured to file a claim ,
after his coverage has ended, for a loss which occured during the term of this policy.
Since the retro date is more than three years in the past, or the discovery period is more than six months, consider declining the umbrella coverage because the risk exposure is too unpredictable.
I
DISPLAY vo final results The alternative premium calculations which have been
derived in this session are:
Percent of Payroll : [payroll quote ( 9 , 0) 1 I Per Vessel Rate 81 Excess Underlying: [excess quote (9,0)]
1
DISPLAY sr final results The alternative premium calculations which have been
derived in this session are:
Percent of Receipts: Excess Underlying:
I
[receipts quote (9, 0) 1 [excess quote (9,O) 1
DISPLAY target is too low The suggested premium is substantially lower than the premium
I suggested. I wjll not even bother to try to meet it. I
DISPLAY make sure higher rate is not a trap Before accepting the higher suggested premium for this
application, I recommend that you make sure that the higher rate is not an indication that there is a large exposure of which I am not aware.
1
DISPLAY target cannot be reached Despite my attempts to reduce the premium, I have not
been able to reach the premium you suggested. However, I have determined that a premium of [ premium (9,0)] is acceptable. I
DISPLAY target has been reached I have been able to lower my premium to meet the premium
you suggested of [target premium (9,0)]. I
END
APPENDIX B
Form Definitions for the Graphical Interface of the Phase I11 Prototype
5/05/86 15: 18:29 Page 1
... ,,, -*- Mode: ART; Base: 10.; Package: ART-User -*-
(deffacts underwriter "Current drawer"
(current-drawer bumbershoot))
(defschema bumbershoot "Bumbershoot drawer"
(instance-of drawer) (title "MARINE UMBRELLA LIABILITY INSURANCE UNDERWRITER") (case-type "Applicant") (folder-scale 0.8) (header-ff-extent (15 100) ) )
(defschema gen-info-folder "General Info folder"
(instance-of folder) (title "GENERAL INFORMATION" ) (header-title "GEN INFO") (in-drawer bumbershoot) (icon-title ("GENERAL" "INFORMATION") ) (icon-coords (2 368) ) (header-icon-coords (20 78) ) )
(defschema primary-coverage-folder "Primary Cdverage folder"
(instance-of folder) (title "PRIMARY INSURANCE COVERAGE INFORMATION") (header-title "PRIM COVG") (in-drawer bumbershoot) (icon-title ("PRIMARY" "COVERAGE") ) (icon-coords (173 246) ) (header-icon-coords (152 54) ) )
(defschema line-of-business-folder "Line of Business folder"
(instance-of folder) (title "LINE OF APPLICANT'S BUSINESS") (header-title "BUS LINE") (in-drawer bumbershoot) (icon-title ("LINE OF" "BUSINESS") ) (icon-coords (173 490) ) (header-icon-coords (152 102)))
(defscherp endorsements-folder "Endorsements folder"
(instance-of folder) (title "ENDORSEMENTS") (header-title "ENDORSMT") (in-drawer bumbershoot) (icon-title ("ENDORSEMNTS" " " ) ) (icon-coords (347 612) ) (header-icon-coords (296 126) ) )
(defschema standard-rates-folder "Standard rates folder"
(instance-of folder) (title "STANDARD RATE RANGES") (header-title "STD RATES") (in-drawer bumbershoot) (icon-title ("STANDARD" "RATES")) (icon-coords (359 246) ) (header-icon-coords (306 54) ) )
(defschema credits-penalties-folder "Premium Credits and Penalties folder"
(instance-of folder) (title "PREMIUM CREDITS AND PENALTIES") (header-title "CRED&PENW ) (in-drawer bumbershoot) (icon-title ("CREDITS" " & PENALTIES")) (icon-coords (545 368)) (header-icon-coords (450 78) ) )
; (def schema premium-calculation-folder
HAL: >risk-manager>demoform. art.4 5/05/86 15: 18:29 Page 2
"Premium Calculation folder" (instance-of folder) (title "PREMIUM CALCULATIONS") (header-title "PREMIUM") (in-drawer bumbershoot) (icon-title ("PREMIUM" "CALCULATION") ) (icon-coords (711 368) ) (header-icon-coords (582 78) ) )
(defschema policy-folder "Final Policy folder"
(instance-of folder) (title "UMBRELLA POLICY") (header-title "POLICY") (in-drawer bumbershoot) (icon-title ("UMBRELLA" "POLICY") ) (icon-coords (878 368) ) (header-icon-coords (714 78) ) )
(def schema connector-1 "Connector from gen-info-folder to credits-penalties-folder"
(instance-of connector) (folder-from gen-info-folder) (folder-to credits-penalties-f older) )
(defschema connector-2 "Connector from gen-info-folder to primqry-coverage-folder"
(instance-of connector) (folder-from gen-info-folder) (folder-to primary-coverage-folder) (drawer-configuration (13)) (header-configuration (16) ) )
(defschema connector-3 "Connector from gen-info-folder to line-of-business-folder"
(instance-of connector) (folder-from gen-info-folder) (folder-to line-of-business-folder) (drawer-configuration (13) ) (header-configuration (16) ) )
(defschema connector-4 "Connector from line-of-business-folder to credits-penalties-folder''
(instance-of connector) (folder-from line-of-business-folder) (foldef-to credits-penalties-folder) (drawer-configuration (14) ) (header-configuration (15) ) )
(defschema connector-5 "Connector from line-of-business-folder to endorsements-folder"
(instance-of connector) (folder-from line-of-business-folder) (folder-to endorsements-folder) (drawer-configuration (14) ) (header-configuration (15) ) )
(def schema connector-6 "Connector from primary-coverage-folder to credits-penalties-foldern
(instance-of connector) (folder-from primary-coverage-folder) (folder-to credits-penalties-folder) (drawer-configuration (14) ) (header-configuration (15)))
(defschema connector-7 "Connector from primary-coverage-folder to endorsements-folder"
(instance-of connector) (folder-from primary-coverage-folder) (folder-to endorsements-folder) (drawer-configuration (14) ) (header-configuration (15) ) )
(defschema connector-8 "Connector from endorsements-folder to credits-penalties-foldern
(instance-of connector)
5/05/86 15:18:29 Page 3
(folder-from endorsements-folder) (folder-to credits-penalties-folder) (drawer-configuration (28) ) (header-configuration (38) ) )
(defschema connector-9 "Connector from endorsements-folder to policy-folder"
(instance-of connector) (folder-from endorsements-folder) (folder-to policy-folder) (drawer-configuration (375) ) (header-configuration (302) ) )
(defschema connector-10 "Connector from credits-penalties-folder to policy-folder"
(instance-of connector) (folder-from credits-penalties-folder) (folder-to policy-folder) )
;(defschema connector-11 "Connector from premium-calculation-folder to policy-folder"
: (instance-of connector) : (folder-f rom premium-calculation-folder) ; (folder-to policy-folder) )
;(defschema connector;l2 "Connector from premium-calculation-folder to standard-rates-folder"
; (instance-of connector) ; (folder-from premium-calculdtion-folder) : (folder-to standard-rates-folder) ; (drawer-configuration (11 -330 -521)) : (header-configuration (16 -46 -407) ) )
(defschema connector-13 "Connector from standard-rates-folder to credits-penalties-folder"
(instance-of connector) (folder-from standard-rates-folder) (folder-to credits-penalties-folder) (drawer-configuration (16) ) (header-configuration (16) ) )
(defschema applicant-gen-info-form "Applicant General Information Form"
(instance-of form) (title- "APPLICANT GENERAL INFORMATION") (icon-title ("APPLICANT" "GEN INFO") ) (icon-coords (65 267)) (in-folder gen-info-folder) (form-fields ((200 100 "(name applicant (?val ?src) ) " 1.0 (enter) string 30 1 tr12 (50 100 "1. Name of applicant" (6 1.0 1.0 1.0) tr12))
(220 130 "(name broker (?val ?src))" 1.0 (enter) string 30 1 tr12 (50 130 "2. Name of broker" (6 1.0 1.0 1.0) tr12)) (250 180 " (shiprepairer applicant (?val ?src) ) " 1.0 (check) string 3 1 tr12 (100 180 "a. Ship Repairer" (6 1.0 1.0 1.0) tr12)) (250 210 " (shipbuilder applicant (?val ?src) ) " 1.0 (check) string 3 1 tr12 (100 210 "b. Ship Builder" (6 1.0 1.0 1.0) tr12)) (250 240 " (charterer applicant (?val ?src) ) " 1.0 (check) string 3 1 tr12 (100 240 "c. Charterer" (6 1.0 1.0 1.0) tr12)) (250 270 " (wharfinger applicant (?val ?src) ) " 1.0 (check) string 3 1 tr12 (100 270 "d. Wharfinger" (6 1.0 1.0 1.0) tr12)) (250 300 " (stevedore applicant (?val ?src) ) " 1.0 (check) string 3 1 tr12 (100 300 "e. Stevedore" (6 1.0 1.0 1.0) tr12)) (250 330 " (warehouseman applicant (?val ?src) ) " 1.0 (check) string 3 1 tr12 (100 330 "f. Warehouseman" (6 1.0 1.0 1.0) tr12)) (200 400 "(gulf applicant (?val ?src))" 1.0 (check) string 3 1 tr12 (100 400 "a. U.S. Gulf" (6 1.0 1.0 1.0) tr12)) (200 430 " (river applicant (?val ?src) ) " 1.0 (check) string 3 1 tr12 (100 430 "b. River" (6 1.0 1.0 1.0) tr12)) (200 460 " (east applicant (?val ?src) ) " 1.0 (check) string 3 1 tr12 (100 460 "c. East Coast" (6 1.0 1.0 1.0) tr12))
5/05/86 15:18:29 Page 4
(200 490 "(other-loc applicant (?val ?src))" 1.0 (check) string 3 1 tr12 (100 490 "d. Other" (6 1.0 1.0 1.0) tr12)) (300 560 " (boats applicant (?val ?src) ) " 1.0 (check) string 3 1 tr12 (100 560 "a. Watercraft" (6 1.0 1.0 1.0) tr12)) (300 590 "(planes applicant (?val ?src))" 1.0 (check) string 3 1 tr12 (100 590 "b. Aircraft" (6 1.0 1.0 1.0) tr12)) (300 620 "(cars applicant (?val ?src) ) " 1.0 (check) string 3 1 tr12 (100 620 "c. Autos or Trucks" (6 1.0 1.0 1.0) tr12)) (800 130 " (wet-emps applicant (?val ?src) ) " 1.0 (enter) number 6 0 tr12 (650 130 "a. Shipboard: " (6 1.0 1.0 1.0) tr12))
(800 160 "(dry-emps applicant (?val ?src))" 1.0 (enter) number 8 0 tr12 (650 160 "b. Non-shipboard: " (6 1.0 1.0 1.0) tr12)) (800 230 "(wet-payroll applicant (?val ?src))" 1.0 (enter) number 8 0 tr12 (650 230 "a. Shipboard: " (6 1.0 1.0 1.0) tr12)) (800 260 " (dry-payroll applicant (?val ?src) ) " 1.0 (enter) number 6 0 tr12 (650 260 "b. Non-shipboard: " (6 1.0 1.0 1.0) tr12)) (800 300 " (receipts applicant (?val ?src) ) " 1.0 (enter) number 10 0 tr12 (600 300 ,
"8. Annual recefpts " (6 1.0 1.0 1.0) tr12)) (960 370 " (agg-losses applicant (?val ?src) ) " 1.0 (enter) number 8 0 tr12 (650 370 "a. Agg. losses > $25,00O/year for past 5 years:" (6 1.0 1.0 1.0) tr12)) (960 400 " (big-losses applicant (?val ?src) ) " 1.0 (enter) string 3 1 tr12 (650 400 "b. Any losses > $100,000 in past 5 years? (Y/N):" (6 1.0 1.0 1.0) tr12)) (960 430 "(huge-losses applicant (?val ?src))" 1.0 (enter) string 3 1 tr12 (650 430 "c. Any losses > $250,000 in any year? (Y/N) :" (6 1.0 1.0 1.0) tr12))))
(has-string (50 160 "3. Line of Business: " (6 1.0 1.0 1.0) tr12)
(50 370 "4. Location: " (6 1.0 1.0 1.0) tr12)
(50 530 "5. Does applicant own or lease any of the following: " (6 1.0 1.0 1.0) tr12)
(600 100 "6. Number of employees " (6 1.0 1.0 1.0) tr12)
(600 200 "7. Annual payroll" (6 1.0 1.0 1.0) tr12)
(600 340 "9. Loss Record" (6 1.0 1.0 1.0) tr12)))
(defschema broker-relationship-form "Broker Relationship Form"
(instance-of form) (title "BROKER RELATIONSHIP") (icon-title ("BROKER" "RELATIONSHIP")) (icon-coords (305 267)) (in-folder gen-info-f older) (form-fields ((360 150 "(good broker (?val ?src))" 1.0 (check) string 3 1 tr12 (250 150 "a. Good" (6 1.0 1.0 1.0) tr12)) (360 200 " (bad broker (?val ?src) ) " 1.0 (check) string 3 1 tr12 (250 200 "b. Bad" (6 1.0 1.0 1.0) tr12)) (360 250 " (indifferent broker (?val ?src) ) " 1.0 (check) string 3 1 tr12 (250 250 "c. Indifferent" (6 1.0 1.0 1.0) tr12)) (360 450 "(none broker (?val ?src))" 1.0 (check) string 3 1 tr12 (250 450 "a. None" (6 1.0 1.0 1.0) tr12)) (360 500 " (marginal broker (?val ?src) ) " 1.0 (check) string 3 1 tr12 (250 500 "b. Marginal" (6 1.0 1.0 1.0) tr12)) (360 550 "(substantial broker (?val ?src) ) " 1.0 (check) string 3 1 tr12 (250 550 "c. Substantial" (6 1.0 1.0 1.0) tr12))))
(has-string (200 100 "1. Loss record on broker's book of business is:" (6 1.0 1.0 1.0) tr12))
(has-string (200 400 "2. Amount of business of broker's office received:"
HAL: >risk-manager>demoform.art.4 5/05/86 15:18:29 Page 5
(defschema applicant-relationship-form "Applicant Relationship Form"
(instance-of form) (title "APPLICANT RELATIONSHIP") (icon-title ("APPLICANT" "RELATIONSHIP")) (icon-coords (545 267) ) (in-folder gen-info-folder) (form-fields ((360 150 "(good applicant (?val ?src))" 1.0 (check) string 3 1 tr12 (250 150 "a. Good" (6 1.0 1.0 1.0) tr12)) (360 200 "(bad applicant (?val ?src) ) " 1.0 (check) string 3 1 tr12 (250 200 "b. Bad" (6 1.0 1.0 1.0) tr12)) (360 250 " (indifferent applicant (?val ?src)) " 1.0 (check) string 3 1 tr12 (250 250 "c. Indifferent" (6 1.0 1.0 1.0) tr12)) (360 450 "(none applicant (?val ?src))" 1.0 (check) string 3 1 tr12 (250 450 "a. None" (6 1.0 1.0 1.0) tr12)) (360 500 " (marginal applicant (?val ?src) ) ' 1.0 (check) string 3 1 tr12 (250 500 "b. Marginal" (6 1.0 1.0 1.0) tr12)) (360 550 "(substantial applicant (?val ?src))" 1.0 (check) string 3 1 tr12 (250 550 "c. Substantial" (6 1.0 1.0 1.0) tr12))))
(has-string (200 100 "1. Loss record of applicant's account is:" (6 1.0 1.0 1.0) tr12))
(has-string (200 400 "2. Amount of supporting business from applicant:" (6 1.0 1.0 1.0) tr12)))
(defschema renewal-info-form "Renewal Information Form"
(instance-of form) (title "POLICY mNEWAL INFORMATION") (icon-title ("RENEWAL" "INFORMATION") ) (icon-coords (785 267) ) (in-folder gen-info-folder) (form-fields
( (360 150 " (good-renew applicant (?val ?src) ) " 1.0 (check) string 3 1 tr12 (250 150 "a. Good" (6 1.0 1.0 1.0) tr12)) (360 200 "(bad-renew applicant (?val ?src))" 1.0 (check) string 3 1 tr12 (250 200 "b. Bad" (6 1.0 1.0 1.0) tr12)) (360 250 " (indifferent-renew applicant (?val ?src)) " 1.0 (check) string 3 1 tr12 (250 250 "c. Indifferent" (6 1.0 1.0 1.0) tr12)) (450 350 " (premium-renew applicant (?val ?src) ) " 1.0 (enter) number 9 0 tr12 (200 350 "2. Premium on policy to renew:" (6 1.0 1.0 1.0) tr12)) (550 450 " (years-renew applicant (?val ?src) ) " 1.0 (enter) number 3 0 tr12 (200 450 "3. Number of years applicant is a client:" (6 1.0 1.0 1.0) tr12))))
(has-string (200 100 "1. Loss record on renewal policy is:" (6 1.0 1.0 1.0) tr12)))
(defschema vessel-owner-form "Vessel Owner Form; summary fields for schedule of vessels"
(instance-of form) (title "VESSEL OWNER") (icon-title ("VESSEL" "OWNER") ) (icon-coords (65 110) ) (in-folder line-of-business-folder) (form-fields
( (300 170 " (tug-num vessel (?val ?src) ) " 1.0 (enter) number 4 0 tr12 (150 170 "i. Number" (6 1.0 1.0 1.0) tr12)) (300 200 "(tug-value vessel (?val ?src))" 1.0 (enter) number 6 0 tr12 (150 200 "ii. Average value" (6 1.0 1.0 1.0) tr12)) (300 230 " (tug-crew vessel (?val ?src) ) " 1.0 (enter) number 4 0 tr12 (150 230 "iii. Average crew" (6 1.0 1.0 1.0) tr12)) (300 300 " (l-barge-num vessel (?val ?src) ) " 1.0 (enter) number 4 0 tr12 (150 300 "i. Number" (6 1.0 1.0 1.0) tr12)) (300 330 " (l-barge-val vessel (?val ?src) ) " 1.0 (enter) number 6 1 tr12 (150 330 "ii. Average value" (6 1.0 1.0 1.0) tr12)) (300 400 " (d-barge-num vessel (?val ?src) ) " 1.0 (enter) number 4 0 tr12 (150 400 "i. Number" (6 1.0 1.0 1.0) tr12)) (300 430 " (d-barge-val vessel (?val ?src) ) " 1.0 (enter) number 6 0 tr12 (150 430 "ii. Average value" (6 1.0 1.0 1.0) tr12)) (300 500 " (cs-num vessel (?val ?src) ) " 1.0 (enter) number 4 0 tr12 (150 500 "i. Number" (6 1.0 1.0 1.0) tr12))
5/05/86 15:18:29 Page 6
(300 530 " (cs-val vessel (?val ?src))" 1.0 (enter) number 6 0 tr12 (150 530 "ii. Average value" (6 1.0 1.0 1.0) tr12)) (300 560 " (cs-crew vessel (?val ?src) ) " 1.0 (enter) number 4 0 tr12 (150 560 "iii . Average crew" (6 1.0 1.0 1.0) tr12)) (300 630 "(good vessel (?val ?src))" 1.0 (check) string 3 1 tr12 (150 630 "i. Good" (6 1.0 1.0 1.0) tr12)) (300 660 "(fair vessel (?val ?src))" 1.0 (check) string 3 1 tr12 (150 660 "ii. Fair" (6 1.0 1.0 1.0) tr12)) (300 690 " (poor vessel (?val ?src) ) " 1.0 (check) string 3 1 tr12 (150 690 "iii. Poor" (6 1.0 1.0 1.0) tr12)) (750 100 "(pollution vessel (?val ?src))" 1.0 (enter) string 3 1 tr12 (500 100 "2. Is pollution covered? (Y/N) :" (6 1.0 1.0 1.0) tr12)) (860 200 " (p-and-i vessel (?val ?src) ) " 1.0 (enter) string 3 1 tr12 (500 200 "3. Is applicant covered by a P & I policy? (Y/N):" (6 1.0 1.0 1.0) tr12)) (950 300 " (r-o-w vessel (?val ?src) ) " 1.0 (enter) string 3 1 tr12 (500 300 "4. Does applicant have coverage for removal of wreck? (Y/N) :" (6 1.0 1.0 1.0) tr12))
(750 450 " (hull-val-is-limit vessel (?val ?src) ) " 1.0 (check) string 3 1 tr12 (550 450 "a. Hull value" (6 1.0 1.0 1.0) tr12)) (750 500 " (coll-towers-is-limit vessel (Jval ?src) ) " 1.0 (check) string 3 1 tr12 (550 500 "b. Collision/Towers 1imi.t" (6 1.0 1.0 1.0) tr12))))
(has-string (50 100 "1. Summary of schedule of vessels" (6 1.0 1.0 1.0) tr12))
(has-string (100 140 "a. Tugboats" (6 3.0 1.0 1.0) tr12))
(has-string (100 270 "b. Barges carrying liquid cargo" (6 1.0 1.0 1.0) tr12))
(has-string (100 370 "c. Barges carrying dry cargo" (6 1.0 1.0 1.0) tr12))
(has-string (100 470 "d. Crewboats and Supplyboats" (6 1.0 1.0 1.0) tr12))
(has-string (100 600 "e. Condition of vessels: " (6 1.0 1.0 1.0) tr12))
(has-string (500 400 "5. Limit of P&I insurance is:" (6 1.0 1.0 1.0) tr12)))
(defschema vessel-information-form "Vessel Information Form (schedule of vessels) "
(instance-of form) (title "VESSEL INFORMATIONn) (icon-title ("VESSEL" "INFORMATION") ) (icon-coords (305 110) ) (in-folder line-of-business-folder) ( scheduled-by vessel) (new-schedule yes) (form-fields
( (500 140 " (tug vessel (?val ?src) ) " 1.0 (check) string 3 1 tr12 (250 140 "a. Tugboat" (6 1.0 1.0 1.0) tr12)) (500 180 "(barge vessel (?val ?src))" 1.0 (check) string 3 1 tr12 (250 180 "b. Barge" (6 1.0 1.0 1.0) tr12)) (500 220 " (crewsupp vessel (?val ?src))" 1.0 (check) string 3 1 tr12 (250 220 "c. Crewboat/SupplyboatW (6 1.0 1.0 1.0) tr12)) (500 260 " (fishboat vessel (?val ?src) ) " 1.0 (check) string 3 1 tr12 (250 260 "d. Fishboat/Blue Water/Semi-sub" (6 1.0 1.0 1.0) tr12)) (500 300 " (sailboat vessel (?val ?src) ) " 1.0 (check) string 3 1 tr12 (250 300 "e. Sailboat/Yachtm (6 1.0 1.0 1.0) tr12)) (450 350 "(crew vessel (?val ?src) ) " 1.0 (enter) number 3 0 tr12 (200 350 "2. Number of crew on vessel: " (6 1.0 1.0 1.0) tr12)) (450 400 "(value vessel (?val ?src))" 1.0 (enter) number 9 0 tr12 (200 400 "3. Value of vessel: " (6 1.0 1.0 1.0) tr12)) (450 450 "(age vessel f?val ?src) ) " 1.0 (enter) number 9 0 tr12 (200 450
5/05/86 15:18:29 Page 7
"4 . Age o f v e s s e l : " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( 4 5 0 500 " ( c a r g o v e s s e l ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) s t r i n g 3 1 t r 1 2 (200 500 "5. C a r g o i s h a z a r d o u s ( Y / N ) : " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( 450 550 " ( o w n e r s h i p v e s s e l ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) number 9 0 t r 1 2 ( 2 0 0 550 "6. C a r g o i s owned (Y/N) : " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) ) ) )
( h a s - s t r i n g ( 2 0 0 1 0 0 "1. Type o f V e s s e l : " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) ) )
( de f s chema s h i p - r e p a i r e r - f o r m " S h i p R e p a i r e r Form"
( i n s t a n c e - o f f o rm) ( t i t l e "SHIP REPAIRER") ( i c o n - t i t l e ("SHIP" "REPAIRER") )
( i c o n - c o o r d s (545 1 1 0 ) ) ( i n - f o l d e r line-of-business-folder) ( f o r m - f i e l d s
( ( 4 0 0 1 0 0 " ( r i g r e p a i r e r ( ? v a l ? s r c ) ) " 1 . 0 ( c h e c k ) s t r i n g 3 1 t r 1 2 (250 1 0 0 "a. R i g s " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( 4 0 0 1 3 0 " ( commerc i a l r e p a i r e r ( ? v a l ? s r c ) ) " 1 . 0 ( c h e c k ) s t r i n g 3 1 t r 1 2 (250 1 3 0 "b. Commerc ia l" ( 6 1 . 0 1 .0 1 . 0 ) t r 1 2 ) )
( 4 0 0 1 6 0 " (non-commerc ia l r e p a i r e r ( ? v a l ? s r c ) ) " 1 . 0 ( c h e c k ) s t r i n g 3 1 t r 1 2 (250 1 6 0 "c. Non-commercial" (.6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( 4 0 0 230 " ( s t r u c t u r a l r e p a i r e r ( ? v a l ? s r c ) ) " 1 . 0 ( c h e c k ) s t r i n g 3 1 t r 1 2 (250 230 "a . S t r u c t u r a l " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( 4 0 0 260 " ( e n g i n e r e p a i r e r ( ? v a l ? s r c ) ) " 1 . 0 ( c h e c k ) s t r i n g 3 1 t r 1 2 (250 260 "b. E n g i n e / P r o p e l l e r " ( 6 1 . 0 1 .0 1 . 0 ) t r 1 2 ) )
( 5 0 0 300 " ( g o v t r e p a i r e r ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) s t r i n g 3 1 t r 1 2 ( 2 0 0 300 "3. Is t h e gove rnmen t a c l i e n t ? (Y/N) " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( 530 340 " ( s u b k r e p a i r e r ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) s t r i n g 3 1 t r 1 2 ( 2 0 0 340 "4 . I s t h e r e p a i r work s u b c o n t r a c t e d (Y/N) ? " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( 5 5 0 370 " ( subk-hh r e p a i r e r ( ? v a l ? s r c ) ) " 0 .0 ( c h e c k ) s t r i n g 3 1 t r 1 2 (250 370 "a. T h e r e i s a h o l d - h a r m l e s s a g r e e m e n t " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( 5 5 0 400 " ( s u b k - i n s u r e r r e p a i r e r ( ? v a l ? s r c ) ) " 0 . 0 ( e n t e r ) s t r i n g 20 1 t r 1 2 (250 400 "b. I n s u r e r o f t h e s u b c o n t r a c t o r : " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( 550 430 " ( s u b k - r a t i n g r e p a i r e r ( ? v a l ? s r c ) ) " 0 . 0 ( e n t e r ) s t r i n g 2 0 1 t r 1 2 (250 430 "c. B e s t ' s r a t i n g o f t h e i n s u r e r : "
( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) ) ( 5 7 0 470 "(r- l-c r e p a i r e r ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) s t r i n g 3 1 t r 1 2 (200 470 "5. Is t h e r e a Red L e t t e r C l a u s e i n e f f e c t (Y/N)? " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( 550 510 " ( r - l - c - amt r e p a i r e r ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) number 7 0 t r 1 2 ( 2 5 0 510 " a . Amount o f t h e Red L e t t e r C l a u s e : " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) ) ) )
( h a s - s t r i n g ( 2 0 0 70 "1. Type o f v e s s e l s r e p a i r e d : " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( h a s - s t r i n g ( 2 0 0 200 "2. Type o f r e p a i r s p e r f o r m e d : " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) ) )
( de f s chema s h i p - b u i l d e r - f o r m " S h i p B u i l d e r Form"
( i n s t a n c e - o f f o r m ) ( t i t l e "SHIP BUILDER") ( i c o n - t i t l e ("SHIP" "BUILDER") ) ( i c o n - c o o r d s ( 7 8 5 1 1 0 ) ) ( i n - f o l d e r line-of-business-folder) ( f o r m - f i e l d s
( ( 350 1 3 0 " ( s h i p b u i l d e r dummy ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) s t r i n g 3 1 t r 1 2 ( 2 5 0 1 3 0 "Not A v a i l a b l e " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) ) ) ) )
( de f s chema c h a r t e r e r - f o r m " C h a r t e r e r Form"
( i n s t a n c e - o f f o rm) ( t i t l e "CHARTERER") ( i c o n - t i t l e ("CHARTERER" " " ) ) ( i c o n - c o o r d s ( 6 5 4 2 0 ) )
5/05/86 15:18:29 Page 8
(in-folder line-of-business-folder) (form-fields
( (350 130 " (charterer dummy (?val ?src) ) " 1.0 (enter) string 3 1 tr12 (250 130 "Not Available'' (6 1.0 1.0 1.0) tr12)))))
(defschema wharfinger-form "Wharfinger Form"
(instance-of form) (title "WHARFINGER") (icon-title ("WHARFINGER" " " ) )
(icon-coords (305 420) ) (in-f older line-of-business-f older) (form-fields
( (350 130 " (wharfinger dummy (?val ?src)) " 1.0 (enter) string 3 1 tr12 (250 130 "Not Available" (6 1.0 1.0 1.0) tr12)))))
(defschema stevedore-form "Stevedore Form"
(instance-of form) (title "STEVEDORE") (icon-title ("STEVEDORE" " " ) )
(icon-coords (545 420)) (in-folder line-of-business-f older) (form-fields ((350 130 "(stevedore duniny (?val ?src) ) " 1.0 (enter) string 3 1 tr12 (250 130 " ~ o t Available" (6 1.0 1.0 1.0) tr12)))))
(defschema warehouseman-form "Warehouseman Form"
(instance-of form) (title "WAREHOUSEMAN" ) (icon-title ("WAREHOUSEMAN" " ' I))
(icon-coords (785 420)) (in-folder line-of-business-folder) (form-fields
( (350 130 " (warehouseman dummy (?val ?src) ) " 1.0 (enter) string 3 1 tr12 (250 130 "Not Available" (6 1.0 1.0 1.0) tr12)))))
(defschema p-and-i-form "P & I Form"
(instance-of form) (title "PROTECTION AND INDEMNITY") (icon-title ("PROTECTION AND" "INDEMNITY") ) (icon-coords (25 267) ) (in-folder primary-coverage-folder) (form-f ields ((300 100 "(limit p-and-i (?val ?src))" 1.0 (enter) number 8 0 tr12 (200 100 "1. Limit" (6 1.0 1.0 1.0) tr12)) (300 200 " (premium p-and-i (?val ?src) ) " 1.0 (enter) number 8 0 tr12 (200 200 "2. Premium" (6 1.0 1.0 1.0) tr12)) (300 300 " (carrier p-and-i (?val ?src) ) " 1.0 (enter) string 30 1 tr12 (200 300 "3. Carrier" (6 1.0 1.0 1.0) tr12)))))
(defschema cgl-form "CGL Form"
(inst ance-of form) (title "COMPREHENSIVE GENERAL LIABILITY") (icon-title ("COMPREHENSIVE" "GENL LIABILITY") ) (icon-coords (225 267)) (in-folder primary-coverage-folder) (form-fields ((300 100 "(limit cgl (?val ?src))" 1.0 (enter) number 8 0 tr12 (200 100 "1. Limit" (6 1.0 1.0 1.0) tr12)) (300 200 " (premium cgl (?val ?src)) " 1.0 (enter) number 8 0 tr12 (200 200 "2. Premium" (6 1.0 1.0 1.0) tr12)) (300 300 "(carrier cgl (?val ?src))" 1.0 (enter) string 30 1 tr12 (200 300 "3. Carriern (6 1.0 1.0 1.0) tr12)) (500 400 " (boat-excl cgl (?val ?src))" 1.0 (enter) string 3 1 tr12 (200 400 "4. Watercraft exclusion deleted (Y/N)?" (6 1.0 1.0 1.0) tr12)) (550 500 " (mel-covered cgl (?val ?src) ) " 1.0 (enter) string 3 1 tr12 (200 500 "5. Is Maritime Employer's Liability covered (Y/N)?" (6 1.0 1.0 1.0) tr12)))))
(defschema air-form "Air Form"
HAL: >risk-manager>demoform. art.4 5/05/86 15: 18:29 Page 9
( i n s t a n c e - o f f o rm) ( t i t l e "AIR INSURANCE") ( i c o n - t i t l e ("AIR" "INSURANCE") )
( i c o n - c o o r d s ( 4 2 5 267 ) ) ( i n - f o l d e r p r i m a r y - c o v e r a g e - f o l d e r ) ( f o r m - f i e l d s
( ( 3 0 0 1 0 0 " ( l i m i t a i r ( ? v a l ? s r c ) ) " 1.0 ( e n t e r ) number 8 0 t r 1 2 ( 2 0 0 1 0 0 "1. L i m i t " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( 300 200 " (premium a i r ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) number 8 0 t r 1 2 (200 200 "2 . Premium" ( 6 1 .0 1 . 0 1 . 0 ) t r 1 2 ) )
(300 300 " (carr ier a i r ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) s t r i n g 30 1 t r 1 2 (200 300 "3 . C a r r i e r " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( 550 400 " ( p l anes -owned a i r ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) number 4 0 t r 1 2 ( 2 0 0 400 "4. Number o f owned o r l e a s e d a i r c r a f t : " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( 500 500 " ( n u m - s e a t s a i r ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) number 4 0 t r 1 2 ( 2 0 0 500 "5. Number o f s e a t s on o w n e d / l e a s e d a i r c r a f t : " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( 5 0 0 600 " ( p l a n e s - c h a r t e r e d a i r ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) number 4 0 t r 1 2 (200 600 "6. Number o f c h a r t e r e d a i r c r a f t : " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) ) ) ) )
( d e f s c h e m a a u t o - f o r m "Auto Form"
( i n s t a n c e - o f f o rm) ( t i t l e "AUTO INSURANCE") '
( i c o n - t i t l e ("AUTO" '"INSURANCE") )
( i c o n - c o o r d s ( 6 2 5 2 6 7 ) ) ( i n - f o l d e r p r i m a r y - c o v e r a g e - f o l d e r ) ( f o r m - f i e l d s
( ( 3 0 0 1 0 0 " ( l i m i t a u t o ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) number 8 0 t r 1 2 ( 2 0 0 1 0 0 "1. L i m i t " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
(300 200 " (premium a u t o ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) number 8 0 t r 1 2 ( 2 0 0 200 "2 . Premium" ( 6 1 . 0 1 .0 1 . 0 ) t r 1 2 ) )
( 300 300 " (car r ie r a u t o ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) s t r i n g 30 1 t r 1 2 ( 2 0 0 300 "3. C a r r i e r " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( 550 450 " ( c a r s a u t o ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) number 4 0 t r 1 2 ( 2 5 0 450 " a . p r i v a t e p a s s e n g e r c a r s , p i c k - u p s , vans " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( 550 500 " ( t r u c k s a u t o ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) number 4 0 t r 1 2 ( 2 5 0 500 "b. t r u c k s " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( 550 550 " ( t r a c t o r s a u t o ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) number 4 0 t r 1 2 (250 550 "c. t r a c t o r / t r a i l e r s " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
(55D 650 " ( c a r g o a u t o ( ? v a l ? a r c ) ) " 1 . 0 ( e n t e r ) s t r i n g 3 1 t r 1 2 ( 2 0 0 650 "4. Do v e h i c l e s c a r r y h a z a r d o u s c a r g o (Y/N)?" ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) ) ) )
( h a s - s t r i n g ( 2 0 0 400 "4. Number o f owned o r l e a s e d v e h i c l e s by t y p e : " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) ) )
( d e f s c h e m a workmans-comp-form "Workman's Compensa t i on I n s u r a n c e Form"
( i n s t a n c e - o f f o rm) ( t i t l e "WORKMAN' S COMPENSATION INSURANCE" ) ( i c o n - t i t l e ("WORKMAN'S COMP" "INSURANCE") ) ( i c o n - c o o r d s ( 8 2 5 2 6 7 ) ) ( i n - f o l d e r p r i m a r y - c o v e r a g e - f o l d e r ) ( f o r m - f i e l d s
( ( 4 0 0 1 0 0 " ( l i m i t wc ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) s t r i n g 3 1 t r 1 2 ( 2 0 0 1 0 0 "1. Is l i m i t s t a t u t o r y (Y/N)?" ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
( 300 200 " (carrier wc ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) s t r i n g 30 1 t r 1 2 (200 200 "2. C a r r i e r " ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) ) ) ) )
; ( de f s chema g e n e r a l - s t a n d a r d - r a t e s - f o r m " s t a n d a r d r a t e s u s e d f o r m u l t i p l e t y p e s o f c a l c u l a t i o n s "
; ( i n s t a n c e - o f f o rm) : ( t i t l e "GENERAL STANDARD RATES") : ( i c o n - t i t l e ("GENERAL" "STANDARD RATES") )
; ( i c o n - c o o r d s ( 6 5 267 ) ) ; ( i n - f o l d e r s t a n d a r d - r a t e s - f o l d e r ) ; ( f o r m - f i e l d s ; ( ( 5 0 0 1 0 0 " ( c o m p e t i t i o n s t a n d a r d - r a t e s ( ? v a l ? s r c ) ) " 1 . 0 ( e n t e r ) number
2 0 t r 1 2 (200 1 0 0 "1. D e g r e e o f c o m p e t i t i o n : ( l = h i g h : 10= low)" ( 6 1 . 0 1 . 0 1 . 0 ) t r 1 2 ) )
HAL: >risk-manager>demoform. art.4 5/05/86 15:18:29 Page 10
(350 140 " (comp-fac standard-rates (?val ?src) ) " 1.0 (enter) number 5 2 tr12 (200 140 "2. Competition factor" (6 1.0 1.0 1.0) tr12)) (350 180 "(renewal-comp-fac standard-rates (?val ?src))" 1.0 (enter) number 5 2 tr12 (200 180 "3. Competition factor for renewal policy" (6 1.0 1.0 1.0) tr12)) (350 220 "(renewal-credit standard-rates (?val ?src))" 1.0 (enter) number 5 2 tr12 (200 220 "4. Renewal credit" (6 1.0 1.0 1.0) tr12)))))
:(defschema boat-rates-form "Base rates for per-vessel premium"
: (instance-of form) ; (title "VESSEL RATES") ; (icon-title ("VESSEL" "RATES") ) ; (icon-coords (305 267)) ; (in-folder standard-rates-folder) : (form-fields ; ((300 100 "(tugs standard-rates (?val ?src) ) " 1.0 (enter) number
7 0 tr12 (200 100 "1. Tugs" (6 1.0 1.0 1.0) tr12)) (300 130 " (barges standard-rates (?val ?src) ) " 1.0 (enter) number 7 0 tr12 (200 130 "2. Barges" (6 1.0 1.0 1.0) tr12)) (350 160 "(crew-supply standard-rates (?val ?src) ) " 1.0 (enter) number 7 0 tr12 (200 160 "3, Crew/supply boats" (6 1.0 1.0 1.0) tr12)))))
: (defschema receipts-credit-form "credits for receipts volume"
: (instance-of form) ; (title "RECEIPTS CREDITS") : (icon-title ("RECEIPTS" "CREDITS") ) ; (icon-coords (545 267)) : (in-folder standard-rates-folder) ; (form-fields ; ((300 200 "(receipts-min-1 standard-rates (?val ?src))" 1.0 (enter) number
9 0 tr12) (500 200 "(receipts-max-1 standard-rates (?val ?src))" 1.0 (enter) number 9 0 tr12) (700 200 " (receipts-credit-1 standard-rates (?val ?src) ) " 1.0 (enter) number 5 2 tr12) (300 300 "(receipts-min-2 standard-rates (?val ?src))" 1.0 (enter) number 9 0 tr12) (500 300 " (receipts-max-2 standard-rates (?val ?src) ) " 1.0 (enter) number 9 0 tr12) (700 300 " (receipts-credit-2 standard-rates (?val ?src) ) " 1.0 (enter) number 5'2 tr12) (300 400 "(receipts-min-3 standard-rates (?val ?src))" 1.0 (enter) number 9 0 tr12) (500 400 "(receipts-max-3 standard-rates (?val ?src))" 1.0 (enter) number 9 0 tr12) (700 400 " (receipts-credit-3 standard-rates (?val ?src) ) " 1.0 (enter) number 5 2 tr12) (300 500 " (receipts-min-4 standard-rates (?val ?src))" 1.0 (enter) number 9 0 tr12) (500 500 "(receipts-max-4 standard-rates (?val ?src))" 1.0 (enter) number 9 0 tr12) (700 500 " (receipts-credit-4 standard-rates (?val ?src) ) " 1.0 (enter) number 5 2 tr12) (300 600 "(receipts-min-5 standard-rates (?val ?src) ) " 1.0 (enter) number
: 9 0 tr12) (500 600 " (receipts-max-5 standard-rates (?val ?src) ) " 1.0 (enter) number 9 0 tr12) (700 600 "(receipts-credit-5 standard-rates (?val ?src))" 1.0 (enter) number 5 2 tr12)))
: (has-string (300 100 "MINIMUM" (6 1.0 1.0 1.0) tr12)) : (has-string (500 100 "MAXIMUM" (6 1.0 1.0 1.0) tr12)) ; (has-string (700 100 "CREDIT" (6 1.0 1.0 1.0) tr12)))
;(defschema general-info-factors-form "Factors calculated from applicant general information"
: (instance-of form) : (title "FACTORS CALCULATED FROM GENERAL INFORMATION") ; (icon-title ("GENERAL INFO" "FACTORS") ) ; (icon-coords (65 267)) : (in-folder credits-penalties-folder)
HAL: >risk-manager>demoform.art.4 5/05/86 15:18:29 Page 11
: (form-fields : ( (450 100 " (loss-fac-b calculations (?val ?src) ) " 1.0 (enter) number
5 2 tr12 (200 100 "1. Broker loss factor" (6 1.0 1.0 1.0) tr12))
(450 140 " (supporting-bus-fac-b calculations (?val ?src) ) " 1.0 (enter) number 5 2 tr12 (200 140 "2. Broker supporting business factor" (6 1.0 1.0 1.0) tr12)) (450 180 " (loss-fac-a calculations (?val ?src) ) " 1.0 (enter) number 5 2 trl2 (200 180 "3. Applicant loss factor" (6 1.0 1.0 1.0) tr12)) (350 220 "(supporting-bus-fac-a calculations (?val ?src))" 1.0 (enter) number 5 2 tr12 (200 220 "4. Applicant supporting busigess" (6 1.0 1.0 1.0) tr12)) (450 260 "(location-fac calculations (?val ?src))" 1.0 (enter) number 5 2 tr12 (200 260 "5. Location factor" (6 1.0 1.0 1.0) tr12)) (450 300 "(loss-fac-renewal calculations (?val ?src))" 1.0 (enter) number 5 2 tr12 (200 300 "6. Loss factor on renewal policy" (6 1.0 1.0 1.0) tr12)) (450 340 "(adjusted-wet-payroll calculations (?val ?src))" 1.0 (enter) number 5 2 tr12 (200,340 "7. Adjusted shipboard payroll" (6 1.0 1.0 1.0). tr12)))))
: (defschema underlying-ins-factors-form "Factors calculated-from info on underlying insurance"
; (instance-of form) ; (title "FACTORS CALCULATED FROM UNDERLYING INSURANCE") ; (icon-title ("U/L INSURANCE" "FACTORS") ) : (icon-coords (305 267) ) : (in-folder credits-penalties-folder) : (f orm-f ields : ( (450 150 " (low-sr-limit-fac calculations (?val ?src) ) " 1.0 (enter) number
5 2 tr12 (250 150 "a. Low primary limit" (6 1.0 1.0 1.0) tr12)) (450 200 " (sr-expertise-fac calculations (?val ?src) ) " 1.0 (enter) number 5 2 tr12 (250 200 "b. Carrier expertise" (6 1.0 1.0 1.0) tr12)) (450 250 "(sr-prem-contribution calculations (?val ?src))" 1.0 (enter) number 9 0 tr12 (250 250 " c . Premium contribution" (6 1.0 1.0 1.0) tr12))
(450 350 "(low-pi-limit-fac calculations (?val ?src))" 1.0 (enter) number 5 2 tr12 (250 350 "a. Low primary limit" (6 1.0 1.0 1.0) tr12)) (450 400 " (pi-expertise-fac calculations (?val ?src) ) " 1:O (enter) number 5 2 tr12 (250 400 "b. Carrier expertise" (6 1.0 1.0 1.0) tr12)) (450 450 " (pi-prem-contribution calculations (?val ?src) ) " 1.0 (enter) number 9 0 tr12 (250 450 "c. Premium contribution" (6 1.0 1.0 1.0) tr12))
(450 500 "(pi-limit-extent-fac calculations (?val ?src) ) " 1.0 (enter) number 5 2 tr12 (250 500 "d. Extent of P&I limit" (6 1.0 1.0 1.0) tr12))))
; (has-string (200 100 "1. Ship Repairer Underlying Insurance" (6 1.0 1.0 1.0) tr12)) ; (has-string (200 300 "2. Protection & Indemnity Underlying Insurance"
(6 1.0 1.0 1.0) tr12)))
:(defschema line-of-business-factors-form "Factors calculated from info on line of business"
: (instance-of form) ; (title "FACTORS CALCULATED FROM BUSINESS EXPOSURES") ; (icon-title ("LINE OF BUS" "FACTORS") ) ; (icon-coords (545 267) ) : (in-folder credits-penalties-folder) ; (f orm-f ields ; ((450 150 "(repair-fac calculations (?val ?src))" 1.0 (enter) number
5/05/86 15:18:29 Page 12
5 2 tr12 (250 150 "a. Type of repairs" (6 1.0 1.0 1.0) tr12)) (500 200 " (vessel-fac calculations (?val ?src) ) " 1.0 (enter) number 5 2 tr12 (250 200 "b. Type of vessels to repair" (6 1.0 1.0 1.0) tr12)) (450 250 " (govt-fac calculations (?val ?src) ) " 1.0 (enter) number 5 2 tr12 (250 250 "c. Repairs for the government" (6 1.0 1.0 1.0) tr12)) (450 300 "(subk-fac calculations (?val ?src))" 1.0 (enter) number 5 2 tr12 (250 300 "d. Repair work is subcontracted" (6 1.0 1.0 1.0) tr12)) (500 450 " (collision-fac calculations (?val ?src) ) " 1.0 (enter) number 5 2 tr12 (250 450 "a. Likelihood of collisions" (6 1.0 1.0 1.0) tr12)) (500 500 "(crew-contrib calculations (?val ?src))" 1.0 (enter) number 9 0 tr12 (250 500 "b. Tug crew contribution" (6 1.0 1.0 1.0) tr12)) (500 550 " (tug-haz-fac calculations (?val ?src) ) " 1.0 (enter) number 5 2 tr12 (250 550 "c. Hazardous cargo for tug" (6 1.0 1.0 1.0) tr12)) (500 600 " (tug-rig-fac calculations (?val ?src) ) " 1.0 (enter) number 5 2 tr12 (250 600 "d. Tug pulls rigs" (6 1.0 1.0 1.0) tr12))))
(has-string (200 100 "1. Ship Repairer" (6 1.0 1.0 1.0) tr12)) (has-string (200 400 "2. Vessel Owner" (6 1.0 1.0 1.0) tr12)))
(defschema premiums-form "Premiums calculated"
(instance-of form) (title "PREMIUMS") (icon-title ("PREMIUMS" " ") )
(icon-coords (785 267)) (in-folder credits-penalties-folder) (form-fields
( (450 100 " (receipts-based-prem calculations (?val ?src) ) " 1.0 (enter) number 9 0 tr12 (200 100 "1. Premium based on receipts" (6 1.0 1.0 1.0) tr12)) (550 200 " (per-vessel-prem calculations (?val ?src) ) " 1.0 (enter) number 9 0 tr12 (200 200 "2. Per-vessel rate + excess underlying premium" (6 1.0 1.0 1.0) tr12)) (450 300 " (payroll-based-prem calculations (?val ?src) ) " 1.0 (enter) number 9 0 tr12 (200 300 "3. Premium based on receipts" (6.1.0 1.0 1.0) tr12)) (450 400 "(renewal-based-prem calculations (?val ?src))" 1.0 (enter) number 9 0 tr12 (200 400 "4. Premium based on previous premium" (6 1.0 1.0 1.0) tr12)))))
APPENDIX C
Schema Definitions and Inferencing Rules of the Phase I11 Prototype
HAL: >risk-manager>demorule.art. 3
-.. , , , -*- Mode: ART: Base: 10.; Package: ART-User -*-
(def-viewpoint-levels (schedule merging nil))
(defconstant *na-number* -9999999999)
(defrelation ready-to-fire (?con ?rule) )
(defrelation inter-folder-connector (?c))
(defrelation selected (?form ?par) )
(def schema applicant "applicant information" (name) (shiprepairer) (shipbuilder) (charterer) (wharfinger) (stevedore) (warehouseman) (gulf) (river) (east) (other-loc) (boats) (planes) (cars) (property) (receipts) (wet-emps) (dry -emps) (wet-payroll) (dry-payroll) (big-losses) (huge-losses) (agg-losses) (good) (bad) (indifferent) (none) (marginal) (substantial) (good-renew) (bad-renew) (indif ferent-renew) (premium-renew) (years-renew) )
(def schema broker "broker information" (name) (good) (bad) (indifferent) (none) (marginal) (substantial) (loss-fac) (supporting-bus-fac) )
(defschema vessel "Data for vessel schedule"
(instance-of schedule-object) (type-name "Vessel") (tug) (barge) (crewsupp) (fishboat) (sailboat) (crew) (value) (age (cargo) (ownership)
5/05/86 21: 1 1:30 Page 1
(tug-num) ( tug-va lue) (tug-crew) (1-barge-num) (1-barge-val) (d-barge-num) (d-barge-val) (cs-num) ( c s - v a l ) (cs-crew) (good) ( f a i r ) (poor ) ( p o l l u t i o n ) (p-and-i) (r-0-W) ( h u l l - v a l - i s - l i m i t )
- f c o l l - t o w e r s - i s - l i m i t ) )
(defschema r e p a i r e r "Data f o r s h i p r e p a i r e r "
( r i g ) (commercial ) (non-commercial) ( s t r u c t u r a l ) (eng ine) (govt ) (subk) (subk-hh) ( subk- insurer ) ( subk- ra t ing) (r-1-c) (r-1-c-amt) ( g a s ) )
(def schema dummy "Dummy r e l a t i o n f o r forms which a r e not y e t a v a i l a b l e "
( s h i p b u i l d e r ) ( c h a r t e r e r ) (whar f inger ) ( s t e v e d o r e ) (warehouseman) )
(defschema p-and-i "Data f o r P&I under ly ing insurance"
( l i m i t ) ( c a r r i e r ) (premium) )
(defschema c g l "Data f o r CGL under ly ing insurance"
( l i m i t ) ( c a r r i e r ) (premium) (boa t -exc l ) (mel-covered) )
(defschema a i r "Data f o r A i r u n d e r l y i n g insurance"
( l i m i t ) ( c a r r i e r ) (premium) (planes-owned) (num-seats) (p lanes -char te red) )
5/05/86 21 : 1 1 :30 Page 2
(defschema a u t o "Data f o r Auto under ly ing insurance"
( l i m i t ) ( c a r r i e r ) (premium) ( c a r s ) ( t r u c k s ) ( t r a c t o r s )
(def schema wc "Data for Workman's Comp underlying insurance"
(limit) (carrier) )
(defschema calculations "Factors calculated from input data which adjust base premium rate"
(loss-fac-a) (loss-fac-b) (loss-fac-renewal) (supporting-bus-a) (support ing-bus-b) (renewal-based-prem) (payroll-based-prem) (per-vessel-prem) (receipts-based-prem) (location-f ac) (receipt s-credit) (adjusted-wet-payroll) (sum-reln-factors) (low-sr-limit-fac) (sr-experti se-f ac) (govt-fac) (subk-fac) (repair-f ac) (vessel-fac) (sr-prem-contribution) (low-pi-limit-f ac) (pi-expertise-f ac) (pi-prem-cont ribution) (pi-limit-extent-fac) (collision-fac) (crew-contrib) (tug-haz-fac) (tug-rig-fac) )
(def schema st andard-rates (competition) (comp-fac) (renewal-cow-fac) (renewal-credit) (receipt s-min-1) (receipts-min-2) (receipts-min-3) (receipts-min-4) (receipts-min-5) (receipts-max-1) (receipt s-max-2) (receipts-max-3) (receipt s-max-4) (receipt s-max-5) (receipts-credit-1) (receipt s-credit-2) (receipts-credit-3) (receipts-credit-4) (receipts-credit-5) (emp-salary) (pct-of-payroll) (pct-of-sr-ul) (rate-on-line) (pct-of-receipt s) (min-sr-limit) (acceptable-sr-limit) (tugs) (barges) (crew-supply) )
5/05/86 21: 1 1:30 Page 3
(defrule start-general-preparation "Start general preparation"
(declare (salience 100) ) = >
(sprout (assert (schedule single single) ) ) )
HAL: >risk-manager>demorule.art.3 5/05/86 21: 11:30 Page 4
: Filling up the "databases"
(defrule competition-amt (schedule single single) => (assert (competition standard-rates (8 i) )
(tugs standard-rates (750 i) ) (barges standard-rates (500 i) ) (crew-supply standard-rates (750 i)) (receipts-min-1 standard-rates (0 i) ) (receipts-max-1 standard-rates (2500000 i)) (receipts-credit-1 standard-rates (0 i)) (receipts-min-2 standard-rates (2499999 i) ) (receipt s-max-2 standard-rates (5000000 i) ) (receipts-credit-2 standard-rates (0.1 i)) (receipts-min-3 standard-rates (4999999 i)) (receipts-max-3 standard-rates (10000000 i)) (receipts-credit-3 standard-rates (0.15 i)) (receipts-min-4 standard-rates (9999999 i)) (receipts-max-4 standard-rates (25000000 i)) (receipts-credit-4 standard-rates j0.25 i)) (receipts-min-5 standard-rates (24999999 i)) (receipts-max-5 standard-rates (999999999 i)) (receipts-credit-5 standard-rates (0.33 i)) (pct-of-receipts standard-rates (0.0075 i) ) (pct-of-payroll standard-rates (0.03 i) ) (pct-of-sr-ul standard-rates (0.0075 i)) (emp-salary standard-rates (20000 i)) (acceptable-sr-limit standard-rates (500000 i) ) (min-sr-limit standard-rates (1000000 i)) (rate-on-line standard-rates (10000 i))))
; Broker loss factor (good)
(defrule broker-loss-fac-1-ready-to-fire (logical (good broker ("X" ?src) ) ) => (modify (schema broker
(bad ( " " ?src)) (indifferent (" " ?src) ) ) )
(assert (ready-to-fire (connector-1) broker-loss-fac-1)))
(defrule broker-loss-fac-1-firing "calculation of broker loss record factor"
(good broker ("X" ?src) ) ?fact <- (ready-to-fire (connector-1) broker-loss-fac-1) (inter-folder-connector connector-1) => (assert (loss-fac-b calculations (5 =(min-src ?src)))) (retract ?fact) )
; Broker loss factor (bad)
(defrule broker-loss-fac-2-ready-to-fire (logical (bad broker ("X" ?src ) ) ) => (modify (schema broker
(good ( " " ?src)) (indifferent ( " " ?src) ) ) )
(assert (ready-to-fire (connector-1) broker-loss-fac-2)))
(defrule broker-loss-fac-2-firing "calculation of broker loss record factor"
(bad broker ("Xu ?src) ) ?fact <- (ready-to-fire (connector-1) broker-loss-fac-2) (inter-folder-connector connector-1) => (assert (loss-fac-b calculations (-10 =(min-src ?src)))) (retract ?fact) )
; Broker loss factor (indifferent)
5/05/86 21: 1 1:30 Page 5
(defrule broker-loss-fac-3-ready-to-fire (logical (indifferent broker ("X" ?src) ) )
= > (modify (schema broker
(good ( " " ?src)) (bad ( " " ?src)) ) )
(assert (ready-to-fire (connector-1) broker-loss-fac-3) ) )
(defrule broker-loss-fac-3-firing "calculation of broker loss record factor"
(indifferent broker ("X" ?src) ) ?fact <- (ready-to-fire (connector-1) broker-loss-fac-3) (inter-folder-connector connector-1) = > (assert (loss-fac-b calculations (0 =(min-src ?src)))) (retract ?fact) )
; Broker supporting business factor (none)
(defrule broker-supporting-bus-fac-1-ready-to-fire (logical (none broker ("X" ?src))) => (modify (schema broker
(marginal ( " " ?src)) (substantial (" " ?src) ).) )
(assert (ready-to-f ire (connector-1 ) broker-sup-bus-f ac-1) ) )
(defrule broker-supporting-bus-fac-1-firing "calculation of broker supporting business factor"
(none broker ("X" ?src)) ?fact <- (ready-to-fire (connector-1) broker-sup-bus-fac-1) (inter-folder-connector connector-1) = > (assert (supporting-bus-b calculations (-10 =(min-src ?src)))) (retract ?fact) )
: Broker supporting business factor (marginal)
(defrule broker-supporting-bus-fac-2-ready-to-fire (logical (marginal broker ("X" ?src) ) ) => (modify (schema broker
(none ( " " ?src)) (substantial (" " ?src))))
(assert (ready-to-fire (connector-1) broker-sup-bus-fac-2) ) )
(defrule-broker-supporting-bus-fac-2-firing "calculation of broker supporting business factor"
(marginal broker ("X" ?src) ) ?fact <- (ready-to-fire (connector-1) broker-sup-bus-fac-2) (inter-folder-connector connector-1) => (assert (supporting-bus-b calculations (-5 =(min-src ?src)))) (retract ?fact) )
; Broker supporting business factor (substantial)
(defrule broker-supporting-bus-fac-3-ready-to-fire (logical (substantial broker ("X" ?src) ) ) => (modify (schema broker
(none ( " " ?src)) (marginal ( " " ?src))))
(assert (ready-to-fire (connector-1) broker-sup-bus-fac-3) ) )
(defrule broker-supporting-bus-fac-3-firing "calculation of broker supporting business factor"
(substantial broker ("X" ?src)) ?fact <- (ready-to-fire (connector-1) broker-sup-bus-fac-3) (inter-folder-connector connector-1) => (assert (supporting-bus-b calculations (-5 =(min-src ?src)))) (retract ?fact) )
; Applicant loss factor (good)
HAL: >risk-manager>demorule.art. 3 5/05/86 21: 11 :30 Page 6
(defrule applicant-loss-fac-1-ready-to-fire (logical (good applicant ("X" ?src) ) )
= > (modify (schema applicant
{bad ( " " ?src)) (indifferent ( " " ?src) ) ) )
(assert (ready-to-fire (connector-1) applicant-loss-fac-1) ) )
(defrule applicant-loss-fac-1-firing "calculation of applicant loss record factor"
(good applicant ("X" ?src) ) ?fact <- (ready-to-fire (connector-1) applicant-loss-fac-1) (inter-folder-connector connector-1) => (assert (loss-fac-a calculations (5 =(min-src ?src)))) (retract ?fact) )
: Applicant loss factor (bad)
(defrule applicant-loss-fac-2-ready-to-fire (logical (bad applicant ("X" ?src) ) ) => (modify (schema applicant
(good ( " " ?src)) (indifferent ( " " ?src) ) ) )
(assert (ready-to-fire (connector-1) applicant-loss-fac-2) ) )
(defrule applicant-loss-fac-2-firing "calculation of applicant .loss reco.rd factor"
(bad applicant ("X" ?src) ) ?fact <- (ready-to-fire (connector-1) applicant-loss-fac-2) (inter-folder-connector connector-1) => (assert (loss-fac-a calculations (-10 = (min-src ?src) ) ) )
(retract ?fact) )
; Applicant loss factor (indifferent)
(defrule applicant-loss-fac-3-ready-to-fire (logical (indifferent applicant ("X" ?src) ) )
= > (modify (schema applicant
(good ( " " ?src) ) (bad ( " " ?src))))
(assert (ready-to-fire (connector-1) applicant-loss-fac-3)))
(defrule applicant-loss-fac-3-firing "calculation of applicant loss record factor"
(indifferent applicant ("X" ?src) ) ?fact <- (ready-to-fire (connector-1) applicant-loss-fac-3) (inter-folder-connector connector-1) = > (assert (loss-fac-a calculations (0 =(min-src ?src) ) ) ) (retract ?fact))
; Applicant supporting business factor (none)
(defrule applicant-supporting-bus-fac-1-ready-to-fire (logical (none applicant ("X" ?src) ) )
=> (modify (schema applicant
(marginal ( " " ?src)) (substantial ( " " ?src) ) ) )
(assert (ready-to-fire (connector-1) applicant-sup-bus-fac-1)))
(defrule applicant-supporting-bus-fac-1-firing "calculation of applicant supporting business factor"
(none applicant ("X" ?src) ) ?fact <- (ready-to-fire (connector-1) applicant-sup-bus-fac-1) (inter-folder-connector connector-1) = > (assert (supporting-bus-a calculations (-10 =(min-src ?src)))) (retract ?fact) )
; Applicant supporting business factor (marginal)
HAL: >risk-manager>demorule.art.3
(defrule applicant-supporting-bus-fac-2-ready-to-fire (logical (marginal applicant ("X" ?src) ) ) = > (modify (schema applicant
(none ( " " ?src)) (substantial ( " " ?src))))
(assert (ready-to-fire (connector-1) applicant-sup-bus-fac-2)))
(defrule applicant-supporting-bus-fac-2-firing "calculation of applicant supporting business factor"
(marginal applicant ("X" ?src) ) ?fact <- (ready-to-fire (connector-1) applicant-sup-bus-fac-2) (inter-folder-connector connector-1) => (assert (supporting-bus-a calculations ( -5 =(min-src ?src) ) ) )
(retract ?fact))
; Applicant supporting business factor (substantial)
(defrule applicant-supporting-bus-fac-3-ready-to-fire (logical (substantial applicant ("X" ?src) ) ) => (modify (schema applicant
(none ( " " ?src)) (marginal ( " " ?src))))
(assert (ready-to-fire (connector-1) applicant-sup-bus-fac-3)))
(defrule applicant-supporting-bus-fac-3-firing "calculation of applicant supporting business factor"
(substantial applicant ("X" ?src) ) ?fact <- (ready-to-fire (connector-1) applicant-sup-bus-fac-3) (inter-folder-connector connector-1) => (assert (supporting-bus-a calculations (-5 =(min-src ?src)))) (retract ?fact) )
; If applicant is not a shiprepairer, invalidate shiprepairer form
(defrule line-of-business-ready-to-fire (logical (shiprepairer applicant ( " " ?src))) => (assert (ready-to-f ire (connector-3) line-of -business) ) )
(defrule line-of-business-firing (logical (shiprepairer applicant ( " " ?src) ) )
?fact 5- (ready-to-fire (connector-3) line-of-business) (inter-folder-connector connector-3) => (assert (commercial repairer ("N/A" =(min-src ?src) ) )
(non-commercial repairer ("N/AW = (min-src ?src) ) ) (structural repairer ("N/An =(min-src ?src) ) )
(engine repairer ("N/A" = (min-src ?src) ) ) (govt repairer ("N/An = (min-src ?src) ) )
(subk repairer ("N/A" =(min-src ?src))) (subk-hh repairer ("N/A" = (min-src ?src) ) ) (subk-insurer repairer ("N/A" = (min-src ?src) ) ) (r-1-c repairer ("N/A" = (min-src ?src) ) ) (r-1-c-amt repairer (= *na-number* = (min-src ?src) ) ) )
(retract ?fact))
; Line of business is not mutually exclusive
(defrule shiprepairer-selected-setup (logical (shiprepairer applicant ("X" ?src) ) ) => (assert (selected app-gen-info-form line-of-business)))
(defrule shiprepairer-selected-check (selected app-gen-info-form line-of-business) (not (shiprepairer applicant ? ) ) => (assert (shiprepairer applicant ( " " i) ) ) )
(defrule shipbuilder-selected-setup (logical (shipbuilder applicant ("X" ?src) ) ) =>
5/05/86 21: 11:30 Page 8
(assert (selected app-gen-info-form line-of-business)))
(defrule shipbuilder-selected-check (selected app-gen-info-form line-of-business) (not (shipbuilder applicant ? ) ) => (assert (shipbuilder applicant ( " " i) ) ) )
(defrule charterer-selected-setup (logical (charterer applicant ("X" ?src) ) ) = > (assert (selected app-gen-info-form line-of-business)))
(defrule charterer-selected-check (selected app-gen-info-form line-of-business) (not (charterer applicant ? ) ) => (assert (charterer applicant ( " " i) ) ) )
(defrule wharfinger-selected-setup (logical (wharfinger applicant ("X" ?src) ) ) => (assert (selected app-gen-info-form line-of-business)))
(defrule wharfinger-selected-check (selected app-gen-info-form line-of-business) (not (wharfinger applicant ?) ) => (assert (wharfinger applicant- ( " " i))))
(defrule stevedore-selected-setup (logical (stevedore applicant ("X" ?src) ) ) => (assert (selected app-gen-info-form line-of-business)))
(defrule stevedore-selected-check (selected app-gen-info-form line-of -business) (not (stevedore applicant ? ) ) => (assert (stevedore applicant ( " " i) ) ) )
(defrule warehouseman-selected-setup (logical (warehouseman applicant ("X" ?src) ) ) => (assert (selected app-gen-info-form line-of-business)))
(defrule warehouseman-selected-check (selected app-gen-info-form line-of-business) (not (warehouseman applicant ?) ) => (assert (warehouseman applicant ( " " i) ) ) )
; Location of applicant's business
(defrule location-factor-l-ready-to-fire (logical (gulf applicant ("X" ?src) ) ) => (modify (schema applicant
(east ( " " ?src)) (river ( " " ?src) ) (other-loc ( " " ?src)) ) )
(assert (ready-to-fire (connector-1) location-factor-1)))
(defrule location-factor-l-firing (gulf applicant ("X" ?src) ) ?fact <- (ready-to-fire (connector-1) location-factor-1) (inter-folder-connector connector-1) => (assert (location-fac calculations (-10 =(min-src ?src)))) (retract ?fact))
(defrule location-factor-2-ready-to-fire (logical (east applicant ("X" ?src) ) ) = > (modify (schema applicant
(gulf ( " " ?src))
HAL: >risk-manager>demorule.art.3 5/05/86 21: 11:30 Page 9
(river ( " " ?src)) (other-loc ( " " ?src))))
(assert (ready-to-fire (connector-1) location-factor-2)))
(defrule location-factor-2-firing (east applicant ("X" ?src) ) ?fact <- (ready-to-fire (connector-1) location-factor-2) (inter-folder-connector connector-1) = > (assert (location-fac calculations (0 = (min-src ?src) ) ) ) (retract ?fact))
(defrule location-factor-3-ready-to-fire (logical (river applicant ("X" ?src) ) ) => (modify (schema applicant
(gulf ( " " ?src)) (east ( " " ?src)) (other-loc ( " " ?src)) ) )
(assert (ready-to-f ire (connector-1) location-factor-3) ) )
(defrule location-factor-3-firing (river applicant ("X" ?src) ) ?fact <- (ready-to-fire (connector-1) location-factor-3) (inter-folder-connector connector-1) = > (assert (location-fac calculations (-400 =(min-src ?src)))) (retract ?fact))
(defrule location-factor-4-ready-to-fire (logical (other-loc applicant ("X" ?src) ) ) = > (modify (schema applicant
(gulf ( " " ?src)) (east ( " " ?src)) (river ( " " ?src) ) ) )
(assert (ready-to-fire (connector-1) location-factor-4)))
(defrule location-factor-4-firing (other-loc applicant ("X" ?src) ) ?fact <- (ready-to-fire (connector-1) location-factor-4) (inter-folder-connector connector-1) => (assert (location-fac calculations (-400 =(min-src ?src)))) (retract ?fact))
; Applicant renewal loss factor (good)
(defrule renewal-loss-fac-1-ready-to-fire (logical (good-renew applicant ("X" ?src) ) ) => (modify (schema applicant
(bad-renew ( " " ?src) ) (indifferent-renew ( " " ?src)) ) )
(assert (ready-to-fire (connector-1) renewal-loss-fac-1)))
(defrule renewal-loss-fac-1-firing "calculation of applicant loss record factor"
(good-renew applicant ("X" ?src)) ?fact <- (ready-to-fire (connector-1) renewal-loss-fac-1) (inter-folder-connector connector-1) = > (assert (loss-fac-renewal calculations (5 =(min-src ?=.KC)))) (retract ?fact) )
; Applicant renewal loss factor (bad)
(defrule renewal-loss-fac-2-ready-to-fire (logical (bad-renew applicant ("X" ?src) ) ) => (modify (schema applicant
(good-renew ( " " ?src) ) (indifferent-renew ( " " ?src))) )
(assert (ready-to-fire (connector-1) renewal-loss-fac-2) ) )
(defrule renewal-loss-fac-2-firing
HAL: >risk-manager>demorule.art.3 5/05/86 21:11:30 Page 10
"calculation of applicant loss record factor" (bad-renew applicant ("X" ?src) ) ?fact <- (ready-to-fire (connector-1) renewal-loss-fac-2) (inter-f older-connector connector-1) => (assert (loss-fac-renewal calculations (-10 = (min-src ?src) ) ) ) (retract ?fact) )
: Applicant renewal loss factor (indifferent)
(defrule renewal-loss-fac-3-ready-to-fire (logical (indifferent-renew applicant ("X" ?src) ) ) = > (modify (schema applicant
(good ( " " ?src)) (bad ( " " ?src))))
(assert (ready-to-fire (connector-1) renewal-loss-fac-3)))
(defrule renewal-loss-fac-3-firing "calculation of applicant loss record factor"
(indifferent-renew applicant ("X" ?src) ) ?fact <- (ready-to-fire (connector-1) renewal-loss-fac-3) (inter-folder-connector connector-1) = > (assert (loss-fac-renewal calculations (0 =(min-src ?src)))) (retract ?fact) )
; translating Competition (betw 1 and 10) to a percent (betw -25 and 33)
(defrule convert-competition-1 (logical (competition standard-rates (?cow & :(?cow < 5) ?src-cow))) = > (assert (comp-f ac standard-rates
(= (25 - (?camp * 5) ) = (min-src ?src-comp) ) )
(renewal-comp-fac standard-rates (0.333 =(min-src ?src-comp))) (renewal-credit standard-rates (0.15 =(min-src ?src-camp)))))
(defrule convert-competition-2 (logical (competition standard-rates (?cow & : (?cow > 5) ?src-comp) ) ) = > (assert (comp-f ac standard-rates
(=( -7 * (?camp - 5)) =(min-src ?src-comp))) (renewal-comp-fac standard-rates (-0.333 =(min-src ?src-comp))) (renewal-credit standard-rates (-0.25 =(min-src ?src-comp)))))
(defrule.convert-competition-3 (logical (competition standard-rates (5 ?src-comp))) => (assert (comp-fac standard-rates (0 =(min-src ?src-comp)))
(renewal-comp-fac standard-rates (0 = (min-src ?src-comp) ) ) (renewal-credit standard-rates (-0.25 =(min-src ?src-camp)))))
:This is a new section
(defrule renewal-based-premium-ready-to-fire (logical (premium-renew applicant (?pp ?pp-src))
(renewal-credit standard-rates (?KC ?KC-src)) (renewal-comp-fac standard-rates (?rcf ?rcf-src)))
=> (assert (ready-to-fire (connector-1 connector-13) renewal-based-premium)))
(defrule renewal-based-premium-firing "calculation of premium based on previous year's premium"
(logical (premium-renew applicant (?pp ?pp-src)) (renewal-credit standard-rates (?KC ?rc-src)) (renewal-comp-fac standard-rates (?rcf ?rcf-src)))
?fact <- (ready-to-fire (connector-1 connector-13) renewal-based-premium) (inter-folder-connector connector-1 1 connector-13) => (assert (renewal-based-prem calculations
( =(?pp * ((1 - ?KC) + (abs ?KC) ?ref)) =(min-src ?pp-src ?KC-src ?rcf-src))))
(retract ?fact))
(defrule receipts-credit-calc-ready-to-fire (logical (receipts applicant (?rec ?rec-src))
HAL: >risk-manager>demorule.art. 3 5/05/86 2 1: 1 1:30 Page 1 1
(case ( (and (receipts-min-1 standard-rates (?rmn & : (?rmn < ?rec) ?rmn-src) ) (receipts-max-1 standard-rates ( ? r m & :(?rmx > ?rec)?rmx-src)) (receipts-credit-1 standard-rates (?rcr ?rcr-src))))
((and (receipts-min-2 standard-rates (?rmn & : (?rmn < ?rec) ?rmn-src) ) (receipts-max-2 standard-rates (?rm & :(?rmx > ?rec)?rmx-src)) (receipts-credit-2 standard-rates (?rcr ?rcr-src))))
( (and (receipts-min-3 standard-rates (?rm & : (?rmn < ?rec) ?rmn-src) ) (receipts-max-3 standard-rates (?rm & :(?rmx > ?rec)?rmx-src)) (receipts-credit-3 standard-rates (?rcr ?rcr-src))))
((and (receipts-min-4 standard-rates (?rmn & : (?rmn < ?rec) ?rmn-src)) (receipts-max-4 standard-rates (?rmx & : (?rmx > ?rec) ?rmx-src) ) (receipts-credit-4 standard-rates (?rcr ?rcr-src))))
((and (receipts-min-5 standard-rates (?rm & :(?rmn < ?rec) ?rmn-src)) (receipts-max-5 standard-rates (?rmx & : (?rmx > Irec) ?rm-src) ) (receipts-credit-5 standard-rates (?rcr ?rcr-src)))) ) )
= > (assert (ready-to-fire (connector-1 connector-13) receipts-credit-calc)))
(defrule receipts-credit-calc-firing "calculation of credit for receipts volume"
(logical (receipts applicant (?rec ?rec-src) ) (case ((and (receipts-min-1 standard-rates (?rmn & :(?rmn < ?rec) ?rmn-src))
(receipts-max-1 standard-rates ( ? r m & :(?rim > ?rec)?rmx-src)) (receipts-credit-1 standard-rates (?rcr ?rcr-src)) ) )
((and (receipts-min-2 standard-rates (?rmn & :(?rmn < ?rec) ?rmn-src)) (receipts-max-2 standard-rates (?rmx & :(?rmx > ?rec)?rmx-src)) (receipts-credit-2 standard-rates (?rcr ?rcr-src))))
((and (receipts-min-3 standard-rates (?rm & : (?rmn < ?rec) ?rmn-src)) (receipts-max-3 standard-rates (?rm & :(?rmx > ?rec)?rm-src)) (receipts-credit-3 standard-rates (?rcr ?rcr-src))))
((and (receipts-min-4 standard-rates (?rm & : (?rmn < ?rec) ?rmn-src) ) (receipts-max-4 standard-rates (?rm & :(?rmx > ?rec)?rmx-src)) (receipts-credit-4 standard-rates (?rcr ?rcr-src))))
( (and (receipts-min-5 standard-rates (?rm & : (?rmn < ?rec) ?rmn-src) ) (receipts-max-5 standard-rates (?rm & : (?rm > ?rec)?rmx-src)) (receipts-credit-5 standard-rates (?rcr ?rcr-src))))))
?fact <- (ready-to-fire (connector-1 connector-13) receipts-credit-calc) (inter-folder-connector connector-1 I connector-13) => (assert (receipts-credit calculations
(?rcr =(min-src ?rec-src ?rmn-src ?rmx-src)))) (retract ?fact) )
(defrule check-payroll-input-ready-to-fire (logical (wet-emps applicant (?we ?we-src) )
(wet-payroll applicant (?wp ?wp-src) ) (emp-salary standard-rates (?es ?es-src) ) )
= > (assert (ready-to-fire (connector-1 connector-13) check-payroll-input)))
(defrule check-payroll-input-firing "adjustment of employee payroll based on number of emps"
(logical (wet-emps applicant (?we ?we-src) ) (wet-payroll applicant (?wp ?wp-src) ) (amp-salary standard-rates (?es ?es-src) ) )
?fact <- (ready-td-fire (connector-1 connector-13) check-payroll-input) (inter-folder-connector connector-1 I connector-13) = > (modify (schema calculations
(adjusted-wet-payroll ( = (max ?wp (?we * ?es) ) =(min-src ?we-src ?wp-src ?es-src)))))
(retract ?fact) )
(defrule collect-factors (logical (loss-fac-a calculations (?lfa ?lfa-src))
(supporting-bus-a calculations (?sbfa ?sbfa-src)) (loss-fac-b calculations (?lfb ?lib-src)) (supporting-bus-b calculations (?sbfb ?sbfb-src)) (comp-fac standard-rates (?cf ?cf-src)))
= > (assert (sum-reln-factors calculations
( = (+ ?lfa ?sbfa ?lib ?sbfb ?cf) =(min-src ?lfa-src ?sbfa-src ?lib-src ?sbfb-src ?cf-src)))))
(defrule payroll-based-prem-1-ready-to-fire (logical (boats applicant ( " X " ?b-src) )
5/05/86 21:11:30 Page 12
(adjusted-wet-payroll calculations (?awp ?awp-src)) (sum-reln-factors calculations (?srfac ?srfac-src)) (pct-of-payroll standard-rates (?pop ?pop-src)))
=> (assert (ready-to-fire (connector-1 connector-13) payroll-based-prem-1)))
(defrule payroll-based-prem-1-firing "calculation of premium based on shipboard payroll"
(logical (boats applicant ("X" ?b-src) ) (adjusted-wet-payroll calculations (?awp ?awp-src)) (sum-reln-factors calculations (?srfac ?srfac-src)) (pct-of-payroll standard-rates (?pop ?pop-src)))
?fact <- (ready-to-fire (connector-1 connector-13) payroll-based-prem-1) (inter-folder-connector connector-1 I connector-13) = > (assert (payroll-based-prem calculations ( =(?awp * ?pop * (1 - ?srfac))
=(inin-src ?awp-src ?srfac-src ?pop-src)))) (retract ?fact) )
(defrule payroll-based-prem-2-ready-to-fire (logical (boats applicant ( " " ?b-src) ) )
= > (assert (ready-to-fire (connector-1) payroll-based-prem-2)))
(defrule payroll-based-prem-2-firing "premium based on shipboard payroll is not applicable"
(logical (boats applicant ( " " ?src) ) ) ?fact <- (ready-to-fire (connector-1) payro'll-based-prem-2) (inter-folder-connector connector-1) = > (assert (payroll-based-prem calculations (=*na-number* =(min-src ?src)))) (retract ?fact) )
(defrule receipts-based-prem-1-ready-to-fire (logical (shiprepairer applicant ("X" ?s-src))
(receipts applicant (?rec ?rec-src) ) (sum-reln-factors calculations (Isrfac Zsrfac-src)) (receipts-credit calculations (?rc ?rc-src)) (repair-fac calculations (?rf ?rf-src)) (vessel-fac calculations (?vf ?vf-src) ) (location-fac calculations (?lf ?If-src) ) (govt-fac calculations (?gf ?gf-src)) (subk-fac calculations (?sf ?sf-src)) (pct-of-receipts standard-rates (?por ?por-src)))
=> (assert (ready-to-fire (connector-1 connector-13) receipts-based-prem-1)))
(defrule receipts-based-prem-1-firing "calculation of premium based on receipts for shiprepairers"
(logical (shiprepairer applicant ("X" ?s-src) ) (receipts applicant (?rec ?rec-src) ) (sum-reln-factors calculations (?srfac ?srfac-src)) (receipts-credit calculations (?rc ?rc-src)) (repair-fac calculations (?rf ?rf-src) ) (vessel-fac calculations (?vf ?vf-src)) (location-fac calculations (?lf ?If-src) ) (govt-fac calculations (?gf ?gf-src)) (subk-fac calculations (?sf ?sf-src)) (pct-of-receipts standard-rates (?por ?por-src)))
?fact <- (ready-to-fire (connector-1 connector-13) receipts-based-prem-1) (inter-folder-connector connector-1 I connector-13) => (assert (receipts-based-prem calculations
( =(?rec * ?por * (1 - (+ ?srfac ?rc ?rf ?vf ?If ?gf ?sf) ) )
=(min-src ?rec ?por ?srfac-src ?rc ?rf ?vf ?If ?gf ?sf)))) (retract ?fact) )
(defrule receipts-based-prem-2-ready-to-fire (logical (shiprepairer applicant ( " " ?b-src))) => (assert (ready-to-fire (connector-1) receipts-based-prem-2) ) )
(defrule receipt s-based-prem-2-firing "premium based on receipts is not applicable"
(logical (shiprepairer applicant ( " " ?src) ) )
?fact <- (ready-to-fire (connector-1) receipts-based-prem-2)
HAL: >risk-manager>demorule.art.3 5/05/86 21:11:30 Page 13
(inter-folder-connector connector-1) => (assert (receipts-based-prem calculations (=*na-number* =(min-src ?src)))) (retract ?fact) )
(defrule shiprepairer-limit-1-ready-to-fire (logical (shiprepairer applicant ("X" ?sr-src) )
(min-sr-limit standard-rates (?ml ?ml-src)) (limit shiprepairer (?lim & : (?lim < ?ml) ?lim-src) ) )
=> (assert (ready-to-fire (connector-1 connector-6 connector-13)
shiprepairer-limit-1)))
; JACOB: need an error message here & stop evaluating the applicant
(defrule shiprepairer-limit-1-firing. "ship repairer underlying insurance limit is unacceptably low"
(logical (shiprepairer applicant ("X" ?sr-src)) (min-sr-limit standard-rates (?ml ?ml-src)) (limit shiprepairer (?lim & : (?lim < ?ml) ?lim-src)))
?fact <- (ready-to-f ire (connector-1 connector-6 connector-13) shiprepairer-limit-1)
(inter-folder-connector connector-1 I connector-6 I connector-13) = > (modify (schema calculations
(low-sr-limit-fac ( -1 =(min-src ?sr-src, ?ml-src ?lim-src)))
(receipts-based-prem ( =*na-number* =(min-src ?sr-src ?ml-src ?lim-src)))))
(retract ?fact) )
(defrule shiprepairer-limit-2-ready-to-fire (logical (shiprepairer applicant ("X" ?sr-src) )
(min-sr-limit standard-rates (?ml ?ml-src)) (acceptable-sr-limit standard-rates (?as1 ?asl-src)) (limit shiprepairer
(?lim & : (and (?lim >= ?ml) (?lim < ?asl) ) ?lim-src) ) ) = > (assert (ready-to-fire (connector-1 connector-6 connector-13)
shiprepairer-limit-2) ) )
(defrule shiprepairer-limit-2-firing "limit of shiprepairer underlying insurance is low"
(logical ( shiprepairer applicant ( "X" ?sr-src) ) (min-sr-limit standard-rates (?ml ?ml-src)) (acceptable-sr-limit standard-rates (?as1 ?asl-src)) (limit shiprepairer
(?lim & : (and (?lim >= ?ml) (?lim < ?asl) ) ?lim-src) ) )
?fact <- (ready-to-fire (connector-1 connector-6 connector-13) shiprepairer-limit-2)
(inter-folder-connector connector-1 I connector-6 I connector-13) = > (modify (schema calculations
(low-sr-limit-fac ( -0.5 =(min-src ?sr-src ?ml-src ?asl-src ?lim-src)))))
(retract ?fact) )
(def rule shiprepairer-limit-3-ready-to-fire (logical (shiprepairer applicant ("X" ?sr-src) )
(acceptable-sr-limit standard-rates (?as1 ?asl-src)) (limit shiprepairer (?lim & : (?lim >= ?asl) ?lim-src)) )
= > (assert (ready-to-f ire (connector-1 connector-6 connector-13)
shiprepairer-limi t-3) ) )
(defrule shiprepairer-limit-3-firing "limit of shiprepairer underlying insurance is adequate"
(logical (shiprepairer applicant ("X" ?sr-src) ) (acceptable-sr-limit standard-rates (?as1 ?asl-src)) (limit shiprepairer (?lim & :(?lim >= ?asl) ?lim-src)))
?fact <- (ready-to-f ire (connector-1 connector-6 connector-13) shiprepairer-limit-3)
(inter-folder-connector connector-1 I connector-6 I connector-13) = > (modify (schema calculations
(low-sr-limit-fac ( 0
=(min-src ?sr-src ?ad-src ?lim-src))))) (retract ?fact) )
(defrule sr-prem-contrib-ready-to-fire (logical (shiprepairer applicant ("X" ?sr-src) )
(sum-reln-factors calculations (?srfac ?srfac-src)) (low-sr-limit-fac calculations (?lfac ?lfac-src)) (pct-of-sr-ul standard-rates (?pos ?pos-src)) (premium shiprepairer (?p ?p-src)))
=> (assert (ready-to-fire (connector-1 connector-6 connector-13)
sr-prem-contrib) ) )
(defrule sr-prem-contrib-firing "limit of shiprepairer underlying insurance is adequate"
(logical (shiprepairer applicant (PX" ?sr-src)) (sum-reln-factors calculations (?srfac ?srfac-src)) (low-sr-limit-fac calculations (?lfac ?lfac-src) ) (pct-of-sr-ul standard-rates ( ?pos ?pos-src) ) (premium shiprepairer (?p ?p-src)))
?fact <- (ready-to-fire (connector-1 connector-6 connector-13) sr-prem-contrib)
(inter-folder-connector connector-1 I connector-6 I connector-13) => (assert (sr-prem-contribution calculations
( =(?p * ?pos *. (1 - (+ ?srfac ?lfac))) =(min-src ?p-src ?pos-src ?srfa,c-src ?lfac-src))))
(retract ?fact) )
(defrule repair-type-1-ready-to-fire (logical (structural repairer ("X" ?s-src) )
(not (engine repairer ("X" ?e-src) ) ) ) = > (assert (ready-to-fire (connector-4) repair-type-1)))
(defrule repair-type-1-firing (logical (structural repairer ("X" ?s-src))
(not (engine repairer :"X" ? ) ) ) ) ?fact <- (ready-to-fire (connector-4) repair-type-1) (inter-folder-connector connector-4) = > (assert (repair-fac calculations (0 =(min-src ?s-src)))) (retract ?fact) )
(defrule repair-type-2-ready-to-fire (logical (not (structural repairer ("X" ? ) ) )
(engine repairer ("X" ?n-src) ) ) = > (assert (ready-to-fire (connector-4) repair-type-2)))
(defrule repair-type-2-firing (logical (not (structural repairer ("X" ? ) ) )
(engine repairer ("X" ?e-src) ) ) ?fact <- (ready-to-fire (connector-4) repair-type-2) (inter-folder-connector connector-4) = > (assert (repair-fac calculations (-0.05 =(min-src ?e-src)))) (retract ?fact) )
(defrule repair-type-3-ready-to-fire (logical (structural repairer ("X" ?s-src))
(engine repairer ("X" ?e-src) ) ) = > (assert (ready-to-fire (connector-4) repair-type-3)))
(defrule repair-type-3-firing (logical (structural repairer ("X" ?s-src) )
(engine repairer ("X" ?e-src) ) ) ?fact <- (ready-to-f ire (connector-4) repair-type-3) (inter-folder-connector connector-4) => (assert (repair-fac calculations (-0.03 =(min-src ?s-src ?e-src)) ) )
(retract ?fact))
(defrule vessel-type-1-ready-to-fire (logical (rig repairer ("Xn ?r-src) ) )
HAL: >risk-manager>demorule.art. 3 5/05/86 21: 11:30 Page 15
=> (assert (ready-to-fire (connector-4) vessel-type-1) ) (modify (schema repairer
(commercial (" " = (min-src ?r-src) ) )
(non-commercial ( " " = (min-src ?r-src) ) ) (gas ("N/An = (min-src ?r-src) ) ) ) ) )
(defrule vessel-type-1-firing (logical (rig repairer ("X" ?r-src) ) )
(inter-folder-connector connector-4) ?fact <- (ready-to-fire (connector-4) vessel-type-1) => (assert (vessel-fac calculations (-0.5 =(min-src ?r-src)))) (retract ?fact) )
(defrule vessel-type-2-ready-to-fire. (logical (non-commercial repairer ("X" ?r-src) ) )
=> (assert (ready-to-fire (connector-4) vessel-type-2)) (modify (schema repairer
(commercial (" " = (min-src ?r-src) ) ) (rig ( " " =(min-src ?r-src))) (gas ("N/AW =(min-src ?r-src))))))
(defrule vessel-type-2-firing (logical (non-commercial repairer ("X" ?r-src) ) ) (inter-folder-connector connector-4) ?fact <- (ready-to-fire (connector-4) vessel-type-2) => (assert (vessel-fac calculati~ons (0.10' = (min-src ?r-src) ) ) ) (retract ?fact) )
(defrule vessel-type-3-ready-to-fire (logical (commercial repairer ("X" ?r-src) )
(gas repairer ("N" ?g-src))) => (assert (ready-to-fire (connector-4) vessel-type-3) ) (modify (schema repairer
(non-commercial ( " " = (min-src ?r-src) ) ) (rig ( " " = (min-src ?r-src) ) ) ) ) )
(defrule vessel-type-3-firing (logical (commercial repairer ("X" ?r-src) )
(gas repairer ("N" ?g-src))) (inter-folder-connector connector-4) ?fact 5- (ready-to-fire (connector-4) vessel-type-3) => (assert (vessel-fac calculations (0 = (min-src ?r-src ?g-src) ) ) ) (retract ?fact))
(defrule vessel-type-4-ready-to-fire (logical (commercial repairer ("X" ?r-src) )
(gas repairer ("Y" ?g-src) ) ) => (assert (ready-to-fire (connector-4) vessel-type-4)) (modify (schema repairer
(non-commercial ( " " = (min-src ?r-src) ) ) (rig ( " " = (min-src ?r-src) ) ) ) ) )
(defrule vessel-type-4-firing (logical (commercial repairer ("Xu ?r-src))
(gas repairer ("Y" ?g-src) ) )
(inter-folder-connector connector-4) ?fact <- (ready-to-fire (connector-4) vessel-type-4) = > (assert (vessel-fac calculations (-0.15 =(min-src ?r-src ?g-src) ) ) )
(retract ?fact))
(defrule govt-work-1-ready-to-fire (logical (govt repairer ("Y" ?g-src) ) ) = > (assert (ready-to-fire (connector-4) govt-work-1) ) )
(defrule govt-work-1-firing (logical (govt repairer ("Y" ?g-src) ) ) (inter-folder-connector connector-4)
5/05/86 21:11:30 Page 16
?fact <- (ready-to-fire (connector-4) govt-work-1) => (assert (govt-fac calculations (0.05 =(min-src ?g-src)))) (retract ?fact))
(defrule govt-work-2-ready-to-fire (logical (govt repairer ("N" ?g-src) ) ) = > (assert (ready-to-fire (connector-4) govt-work-2) ) )
(defrule govt-work-2-firing (logical (govt repairer ("N" ?g-src) ) )
(inter-folder-connector connector-4) ?fact <- (ready-to-fire (connector-4) govt-work-2) => (assert (govt-fac calculations (0 = (min-src ?g-src) ) ) ) (retract ?fact) )
(defrule subcontractor-1-ready-to-fire (logical (subk repairer ("N" ?s-src) ) ) = > (assert (ready-to-fire (connector-4) subcontractor-1)) (modify (schema repairer
(subk-hh ("N/An = (min-src ?s-src) ) ) (subk-insurer ("N/A" =(min-src ?s-src) ) )
(subk-rating ("W/A" = (min-src ?s-src) ) ) ) ) )
(defrule subcontractor-1-firing (logical (subk repairer ("N" ?s-src) ) )
(inter-folder-connector conne-ctor-4) ?fact <- (ready-to-f ire (connector-4) subcontractor-1) => (assert (subk-fac calculations (0 = (min-src ?s-src) ) ) )
(retract ?fact) )
(defrule subcontractor-2-ready-to-fire (logical (subk repairer ("Y" ?s-src) )
(subk-hh repairer ("Y" ?hh-src) ) (or (subk-rating repairer ("A" ?rl-src))
(subk-rating repairer ("A+" ?r2-src)))) => (assert (ready-to-fire (connector-4) subcontractor-2) ) )
(defrule subcontractor-2-firing (logical (subk repairer ("Y" ?s-src) )
(subk-hh repairer ("Y" ?hh-src) ) (or (subk-rating repairer ("A" ?rl-src) )
(subk-rating repairer ("A+" ?r2-src)) ) )
(inter-folder-connector connector-4) ?fact <- (ready-to-f ire (connector-4) subcontractor-2) => (assert (subk-fac calculations (0 = (min-src ?s-src) ) ) )
(retract ?fact) )
(defrule subcontractor-3-ready-to-fire (logical (subk repairer ("Y" ?s-src) )
(or (subk-hh repairer ("N" ?hh-src) ) ) (and (not (subk-rating repairer ("A" ? ) ) )
(not (subk-rating repairer ("A+" ?) ) ) ) )
=> (assert (ready-to-fire (connector-4) subcontractor-3) ) )
(defrule subcontractor-3-firing (logical (subk repairer ("Y" ?s-src) )
(or (subk-hh repairer ("N" ?hh-src) ) )
(and (not (subk-rating repairer ("A" ? ) ) ) (not (subk-rating repairer ("A+" ?) ) ) ) )
(inter-folder-connector connector-4) ?fact <- (ready-to-fire (connector-4) subcontractor-3) => (assert (subk-fac calcuiations (-0.10 =(min-src ?s-src)))) (retract ?fact) )
; load database with broker information
(defrule dummy-broker-1
(logical (name broker ("Alexander 6 Alexander" ?b-src))) => (assert (good broker ("X" i))
(substantial broker ("X" i))))
(defrule dummy-applicant-1 (logical (name applicant ("Mark Blackman" ?a-src))) => (assert (shiprepairer applicant ("X" i))
(east applicant ("X" i)) (receipts applicant (2900000 1)) (wet-emps applicant (10 i) ) (dry-emps applicant (90 i) ) (wet-payroll applicant (200000 i)) (dry-payroll applicant (3000000 i)) (good applicant ("X" i)) . (boats applicant ("X" i) ) (substantial applicant ("X" i) ) (good-renew app;icant ("X" i)) (premium-renew applicant (200000 i) ) (years-renew applicant (5 i)) (commercial repairer ("X" i)) (structural repairer ("X" i) ) (govt repairer ("Y" i) ) (subk repairer ("Y" i)) (subk-hh repairer ("Y" i) ) (subk-insurer repairer ("Kemper" i)) (subk-rating repairer ("A" i) ) (r-1-c repairer ("N" i) ) (gas repairer ("Y" i) ) (limit p-and-i (1000000 i))) )
(defrule enter-applicant-name (schedule single single)
=> (assert (name applicant ("Mark Blackman" e) ) ) )
5/05/86 21: 11:30 Page 17
(def rule enter-broker-name (schedule single single)
= > (zssert (name broker ("Alexander & Alexander" e) ) ) )