home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1999 September
/
CHIPCD_9_99.iso
/
software
/
uaktualnienia
/
OptionPackPL
/
iis4_07.cab
/
HIWBenefitsDatabase.asp
< prev
next >
Wrap
Text File
|
1998-04-27
|
45KB
|
2,582 lines
<%
' Save URL of calling page as needed
SetURLCallHIW
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<!--META TAGS ARE RECOMMENDED FOR THE SEARCH ENGINE-->
<META NAME="DESCRIPTION" CONTENT="How It Works Page">
<META NAME="KEYWORDS" CONTENT="help, code, source code, questions, explanation">
<META NAME="GENERATOR" CONTENT="Microsoft Visual InterDev 1.0">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso8859-1">
<!--END META TAGS-->
<TITLE>How The Benefit Database Works</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TOPMARGIN=0 LEFTMARGIN=0 ALINK=#23238E VLINK=#808080 LINK=#FFCC00>
<BASEFONT FACE="VERDANA, ARIAL, HELVETICA" SIZE=2>
<!--Change link color on mouseover
Only if running Internet Explorer 4.0 or later -->
<!--#include file=../libHighlight.inc-->
<!--BEGIN TOP TABLE HOLDING GRAPHIC, NAVIGATIONAL LINK, AND MAIN CONTENT-->
<TABLE WIDTH="100%" HEIGHT="100%" CELLPADDING=0 CELLSPACING=0 BGCOLOR="#000000" BORDER=0>
<TR>
<TD BGCOLOR="#000000" ALIGN=CENTER VALIGN=TOP WIDTH=170>
<BR>
<IMG SRC="../images/btslarge.jpg" HEIGHT=119 WIDTH=171
ALT="Behind the Scenes at Exploration Air" BORDER=0 >
<BR>
<BR>
<BR>
<!--BACK BUTTON AND VARIABLE TO RETURN TO ORIGINATING PAGE-->
<A HREF="<%=Session("URLCallHIW")%>">
<IMG SRC="../images/barrowy.gif" HEIGHT=8 WIDTH=8 ALT="Return to Exploration Air Benefits"
HSPACE=2 BORDER=0>
</A>
<FONT SIZE=2 FACE="VERDANA, ARIAL, HELVETICA"><STRONG>
<A HREF="<%=Session("URLCallHIW")%>" TITLE="Return to Exploration Air Benefits">
B A C K
</A>
</STRONG></FONT>
<BR>
<BR>
</TD>
<TD BGCOLOR="#FFFFFF" BACKGROUND="../images/btsbg.gif" VALIGN=top>
<BR CLEAR=ALL>
<TABLE CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD VALIGN=top>
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD VALIGN=top>
<FONT FACE="VERDANA, ARIAL, HELVETICA" COLOR="#0000FF" SIZE=5>
How The Benefit Database Works
</FONT>
<P>
<HR>
<FONT FACE="VERDANA, ARIAL, HELVETICA" SIZE="3">
<H2>The Big Picture</H2>
The Exploration Air Employee Benefits application stores its data in the database
ExAirBenefits, a SQL Server database created by Setup when IISSamples is installed.
<H2>What the Database Does</H2>
The database stores data pertaining to the employee
benefits. This data includes definition of the system (what benefits are available, how many
days an employee has to change their insurance choices, and so on), and information about the
individual employee's benefits choices (how much disability coverage, who the
primary care physician is, which dependents are covered, and so on).
<P>A second purpose of the database is to ensure that the data stored is
valid and internally consistent. For example, it ensures that an employee's
primary care physician is actually one of the available physicians, or that the employee
cannot sign up for two different dental plans at the same time.
<P>Another way the database ensures data consistency is by using identity columns for
primary keys (where appropriate). This allows the database itself to assign the key field
value, and ensures that no user or calling program action will result in a primary
key violation error.
<P>Another thing the database does is contain stored procedures, which are programs
written in the database language. These programs are sometimes used as an alternative to
simply executing a string of SQL code. The advantage of a stored procedure is that they
are compiled in advance, as opposed to compiled on demand, so they make more efficient
use of database server resources, and therefore run faster.
<H2>Design Goals</H2>
The design goal for the database is to store data in an appropriately structured manner,
so that data integrity is maintained.
<H2>General Principles</H2>
Identity columns are used for the primary key whenever possible. Identity columns are
integer fields which are incremented by the database. The use of an identity column for
the primary key ensures that a primary key violation
will not occur in the table. If the primary key is not an identity column, it is a
compound key consisting of foreign keys to other tables in the database.
<P>Most tables include a Name column and a Label column. These two columns may
contain the same value, but they have separate purposes. The Name column
is to show to the application administrator, and the Label column is to show to the
application user. For example, each
benefit is defined to apply to a specific year. If you want the site administration
pages to remind you which year the benefit is for, but you want the client browser to
display only the name of the benefit, you can use the Name and Label fields to show the Name
only on the administration page, and show only the Label on the client page.
<P>Rank fields are used to define a sort order for records in the table. For example, if you
want to show dependents in order of dependent type, such as showing employee, then
spouse and then children, you can sort the recordset by DependentTypeRank.
<H2>Benefits Application Tables</H2>
The following information summarizes the structure of the tables in the Benefits application.
The notation for column names in other tables is <STRONG>TableName.ColumnName</STRONG>.
<HR>
<A NAME=#Benefit>
<H3>Benefit</H3>
</A>
<H4>Overview</H4>
The Benefit table stores information about the benefits that are part of the Benefits
application. Note that <STRONG>BenefitYear</STRONG> indicates the year to which the benefit applies.
<H4>Primary Key</H4>
<STRONG>BenefitId</STRONG>
<H4>Foreign Key</H4>
Benefit does not reference any columns in other tables:
<P>The following columns reference Benefit:
<BR><STRONG><A HREF=#BenefitPlan>BenefitPlan</A>.BenefitId</STRONG>
<BR><STRONG><A HREF=#BenefitQualifier>BenefitQualifier</A>.BenefitId</STRONG>
<BR><STRONG><A HREF=#BenefitTaxStatus>BenefitTaxStatus</A>.BenefitId</STRONG>
<BR><STRONG><A HREF=#EmployeeBenefit>EmployeeBenefit</A>.BenefitId</STRONG>
<H4>Columns</H4>
The following fields are in the Benefit table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
BenefitId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
BenefitYear
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
BenefitName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
BenefitLabel
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
BenefitDesc
</TD>
<TD>
Character
</TD>
<TD>
255
</TD>
</TR>
<TR>
<TD>
BenefitText
</TD>
<TD>
Text
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
BenefitRank
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
DetailTemplate
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
MinimumPlanRanking
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
QualifierRequired
</TD>
<TD>
Tiny Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
DependentCovered
</TD>
<TD>
Tiny Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
SignatureRequired
</TD>
<TD>
Tiny Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
BenefitStatus
</TD>
<TD>
Tiny Integer
</TD>
<TD>
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#BenefitPlan>
<H3>BenefitPlan</H3>
</A>
<H4>Overview</H4>
The BenefitPlan table defines which Plans correspond to which Benefits, and the rank of
the plan within all the plans that are available for the benefit.
<H4>Primary Key</H4>
<STRONG>BenefitId</STRONG>
<BR><STRONG>PlanId</STRONG>
<H4>Foreign Key</H4>
BenefitPlan references the following columns in other tables:
<BR><STRONG><A HREF=#Benefit>Benefit</A>.BenefitId</STRONG>
<BR><STRONG><A HREF=#Plans>Plan</A>.PlanId</STRONG>
<P>No columns in other tables reference BenefitPlan
<H4>Columns</H4>
The following fields are in the BenefitPlan table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
BenefitId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
PlanId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
PlanRank
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#BenefitQualifier>
<H3>BenefitQualifier</H3>
</A>
<H4>Overview</H4>
The BenefitQualifier table defines which qualifiers make an employee eligible to change
their choices for the specified benefit, and for how many days after the occurrence of
the event.
<H4>Primary Key</H4>
<STRONG>BenefitId</STRONG>
<BR><STRONG>QualifierId</STRONG>
<H4>Foreign Key</H4>
BenefitQualifier references the following columns in other tables:
<BR><STRONG><A HREF=#Benefit>Benefit</A>.BenefitId</STRONG>
<BR><STRONG><A HREF=#Qualifier>Qualifier</A>.QualifierId</STRONG>
<P>No columns in other tables reference BenefitQualifier
<H4>Columns</H4>
The following fields are in the BenefitQualifier table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
BenefitId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
QualifierId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
ChangeDays
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#BenefitStatus>
<H3>BenefitStatus</H3>
</A>
<H4>Overview</H4>
The BenefitStatus table defines the <STRONG>BenefitStatusId</STRONG> for the Benefit table.
<H4>Primary Key</H4>
<STRONG>BenefitStatusId</STRONG>
<H4>Foreign Key</H4>
BenefitStatus does not reference any columns in other tables:
<P>The following columns reference BenefitStatus:
<BR><STRONG><A HREF=#Benefit>Benefit</A>.BenefitStatusId</STRONG>
<H4>Columns</H4>
The following fields are in the BenefitStatus table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
BenefitStatusId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
BenefitStatusName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
BenefitStatusLabel
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#BenefitTaxStatus>
<H3>BenefitTaxStatus</H3>
</A>
<H4>Overview</H4>
The BenefitTaxStatus table defines which tax status can apply to each benefit, and whether
a given tax status is the default for the benefit.
<H4>Primary Key</H4>
<STRONG>BenefitId</STRONG>
<BR><STRONG>TaxStatusId</STRONG>
<H4>Foreign Key</H4>
BenefitTaxStatus references the following columns in other tables:
<BR><STRONG><A HREF=#Benefit>Benefit</A>.BenefitId</STRONG>
<BR><STRONG><A HREF=#TaxStatus>TaxStatus</A>.TaxStatusId</STRONG>
<P>No columns in other tables reference BenefitTaxStatus
<H4>Columns</H4>
The following fields are in the BenefitTaxStatus table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
BenefitId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
TaxStatusId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
TaxDefault
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#Dependent>
<H3>Dependent</H3>
</A>
<H4>Overview</H4>
The Dependent table stores information about dependents. The employee also has a
record in the Dependent table.
<H4>Primary Key</H4>
<STRONG>DependentId</STRONG>
<H4>Foreign Key</H4>
Dependent references the following columns in other tables:
<BR><STRONG><A HREF=#Gender>Gender</A>.GenderId</STRONG>
<P>The following columns reference Dependent:
<BR><STRONG><A HREF=#EmployeeBenefitDependent>EmployeeBenefitDependent</A>.DependentId</STRONG>
<BR><STRONG><A HREF=#EmployeeDependent>EmployeeDependent</A>.DependentId</STRONG>
<H4>Columns</H4>
The following fields are in the Dependent table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
DependentId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
LastName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
FirstName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
MiddleName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
DependentBirthdate
</TD>
<TD>
Datetime
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
DependentGenderId
</TD>
<TD>
Integer
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
DependentSSN
</TD>
<TD>
Character
</TD>
<TD>
11
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#DependentType>
<H3>DependentType</H3>
</A>
<H4>Overview</H4>
The DependentType table defines dependent types. The rank column is used to define a sort
order of the various dependent types.
<H4>Primary Key</H4>
<STRONG>DependentTypeId</STRONG>
<H4>Foreign Key</H4>
DependentType does not reference any columns in other tables:
<P>The following columns reference DependentType:
<BR><STRONG><A HREF=#EmployeeDependent>EmployeeDependent</A>.DependentTypeId</STRONG>
<H4>Columns</H4>
The following fields are in the DependentType table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
DependentTypeId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
DependentTypeName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
DependentTypeLabel
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
DependentTypeRank
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#EBDStatus>
<H3>EBDStatus</H3>
</A>
<H4>Overview</H4>
The EBDStatus table defines the <STRONG>EBDStatusId</STRONG> for the EmployeeBenefitDependent table.
<H4>Primary Key</H4>
<STRONG>EBDStatusId</STRONG>
<H4>Foreign Key</H4>
EBDStatus does not reference any columns in other tables:
<P>The following columns reference EBDStatus:
<BR><STRONG><A HREF=#EmployeeBenefitDependent>EmployeeBenefitDependent</A>.EBDStatusId</STRONG>
<H4>Columns</H4>
The following fields are in the EBDStatus table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
EBDStatusId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
EBDStatusName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
EBDStatusLabel
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#EDStatus>
<H3>EDStatus</H3>
</A>
<H4>Overview</H4>
The EDStatus table defines the <STRONG>DependentStatusId</STRONG> for the EmployeeDependent table.
<H4>Primary Key</H4>
<STRONG>DependentStatusId</STRONG>
<H4>Foreign Key</H4>
EDStatus does not reference any columns in other tables:
<P>The following columns reference EDStatus:
<BR><STRONG><A HREF=#EmployeeDependent>EmployeeDependent</A>.DependentStatusId</STRONG>
<H4>Columns</H4>
The following fields are in the EDStatus table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
DependentStatusId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
DependentStatusName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
DependentStatusLabel
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#Employee>
<H3>Employee</H3>
</A>
<H4>Overview</H4>
The Employee table stores information about employees. Some of the employee demographic
information, such as name and birth date, is stored in the Dependent table.
<H4>Primary Key</H4>
<STRONG>EmployeeId</STRONG>
<H4>Foreign Key</H4>
Employee does not reference any columns in other tables:
Employee references the following columns:
<BR><STRONG><A HREF=#GeoArea>GeoArea</A>.GeoAreaId</STRONG>
<P>The following columns reference Employee:
<BR><STRONG><A HREF=#EmployeeBenefit>EmployeeBenefit</A>.EmployeeId</STRONG>
<BR><STRONG><A HREF=#EmployeeDependent>EmployeeDependent</A>.EmployeeId</STRONG>
<BR><STRONG><A HREF=#EmployeeQualifier>EmployeeQualifier</A>.EmployeeId</STRONG>
<H4>Columns</H4>
The following fields are in the Employee table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
EmployeeId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
KnownAs
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
NTUserName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
Address1
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
Address2
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
City
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
State
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
PostCode
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
Country
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
HomePhone
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
BusinessPhone
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
Fax
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
Email
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
PeriodEarnings
</TD>
<TD>
Money
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
Exemptions
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
EmployeeGeoAreaId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
EmployeeStatus
</TD>
<TD>
Tiny Integer
</TD>
<TD>
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#EmployeeBenefit>
<H3>EmployeeBenefit</H3>
</A>
<H4>Overview</H4>
The EmployeeBenefit table defines which benefits each employee has, and stores
information about the employee's benefit choices.
<H4>Primary Key</H4>
<STRONG>EmployeeId</STRONG>
<BR><STRONG>BenefitId</STRONG>
<H4>Foreign Key</H4>
EmployeeBenefit references the following columns in other tables:
<BR><STRONG><A HREF=#Benefit>Benefit</A>.BenefitId</STRONG>
<BR><STRONG><A HREF=#Employee>Employee</A>.EmployeeId</STRONG>
<BR><STRONG><A HREF=#TaxStatus>TaxStatus</A>.TaxStatusId</STRONG>
<BR><STRONG><A HREF=#Plans>Plans</A>.PlanId</STRONG>
<P>The following columns reference EmployeeBenefit:
<BR><STRONG><A HREF=#EmployeeBenefitDependent>EmployeeBenefitDependent</A>.EmployeeId</STRONG>
<BR><STRONG><A HREF=#EmployeeBenefitDependent>EmployeeBenefitDependent</A>.BenefitId</STRONG>
<H4>Columns</H4>
The following fields are in the EmployeeBenefit table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
EmployeeId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
BenefitId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
PlanId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
CreditAmount
</TD>
<TD>
Money
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
TaxStatusId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
EligibilityDate
</TD>
<TD>
Datetime
</TD>
<TD>
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#EmployeeBenefitDependent>
<H3>EmployeeBenefitDependent</H3>
</A>
<H4>Overview</H4>
The EmployeeBenefitDependent table defines which benefits each employee has, and
information about the employee's benefit choices.
<H4>Primary Key</H4>
<STRONG>EmployeeId</STRONG>
<BR><STRONG>BenefitId</STRONG>
<BR><STRONG>DependentId</STRONG>
<H4>Foreign Key</H4>
EmployeeBenefitDependent references the following columns:
<BR><STRONG><A HREF=#EmployeeBenefit>EmployeeBenefit</A>.EmployeeId and BenefitId</STRONG>
<BR><STRONG><A HREF=#Dependent>Dependent</A>.DependentId</STRONG>
<BR><STRONG><A HREF=#Physician>Physician</A>.PhysicianId</STRONG>
<P>No columns in other tables reference EmployeeBenefitDependent
<H4>Columns</H4>
The following fields are in the EmployeeBenefitDependent table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
EmployeeId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
BenefitId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
DependentId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
PhysicianId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
EBDStatus
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#EmployeeDependent>
<H3>EmployeeDependent</H3>
</A>
<H4>Overview</H4>
The EmployeeDependent table defines the relationship between employees and dependents.
<H4>Primary Key</H4>
<STRONG>EmployeeId</STRONG>
<BR><STRONG>DependentId</STRONG>
<H4>Foreign Key</H4>
EmployeeDependent references the following columns in other tables:
<BR><STRONG><A HREF=#Employee>Employee</A>.EmployeeId</STRONG>
<BR><STRONG><A HREF=#Dependent>Dependent</A>.DependentId</STRONG>
<BR><STRONG><A HREF=#DependentType>DependentType</A>.DependentTypeId</STRONG>
<P>No columns in other tables reference EmployeeDependent
<H4>Columns</H4>
The following fields are in the EmployeeDependent table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
EmployeeId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
DependentId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
DependentTypeId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
DependentStatus
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#EmployeeQualifier>
<H3>EmployeeQualifier</H3>
</A>
<H4>Overview</H4>
The EmployeeQualifier table contains one record for each change qualifier that each
employee has.
<H4>Primary Key</H4>
<STRONG>EmployeeQualifierId</STRONG>
<H4>Foreign Key</H4>
EmployeeQualifier references the following columns in other tables:
<BR><STRONG><A HREF=#Employee>Employee</A>.EmployeeId</STRONG>
<BR><STRONG><A HREF=#Qualifier>Qualifier</A>.QualifierId</STRONG>
<P>No columns in other tables reference EmployeeQualifier
<H4>Columns</H4>
The following fields are in the EmployeeQualifier table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
EmployeeQualifierId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
EmployeeId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
QualifierId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
QualifierDate
</TD>
<TD>
Datetime
</TD>
<TD>
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#EmployeeStatus>
<H3>EmployeeStatus</H3>
</A>
<H4>Overview</H4>
The EmployeeStatus table defines the <STRONG>EmployeeStatusId</STRONG> for the Employee table.
<H4>Primary Key</H4>
<STRONG>EmployeeStatusId</STRONG>
<H4>Foreign Key</H4>
EmployeeStatus does not reference any columns in other tables:
<P>The following columns reference EmployeeStatus:
<BR><STRONG><A HREF=#Employee>Employee</A>.EmployeeStatusId</STRONG>
<H4>Columns</H4>
The following fields are in the EmployeeStatus table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
EmployeeStatusId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
EmployeeStatusName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
EmployeeStatusLabel
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#Field>
<H3>Field</H3>
</A>
<H4>Overview</H4>
The Field table holds information that applies to a specific Plan, such as copayment
amounts and pre-authorization requirements. Instead of creating a number of seldom-used
columns in another table, records are added to the Field table only as needed for a
given plan. The PlanField table
defines which Plan each record in the Field table pertains to.
<H4>Primary Key</H4>
<STRONG>FieldId</STRONG>
<H4>Foreign Key</H4>
Field does not reference any columns in other tables:
<P>The following columns reference Field:
<BR><STRONG><A HREF=#PlanField>PlanField</A>.PlanId</STRONG>
<H4>Columns</H4>
The following fields are in the Field table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
FieldId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
FieldName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
FieldLabel
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#Gender>
<H3>Gender</H3>
</A>
<H4>Overview</H4>
The Gender table defines gender records, such as Male or Female.
<H4>Primary Key</H4>
<STRONG>GenderId</STRONG>
<H4>Foreign Key</H4>
Gender does not reference any columns in other tables:
<P>The following columns reference Gender:
<BR><STRONG><A HREF=#Dependent>Dependent</A>.DependentGenderId</STRONG>
<H4>Columns</H4>
The following fields are in the Gender table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
GenderId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
GenderName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
GenderLabel
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
GenderRank
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#GeoArea>
<H3>GeoArea</H3>
</A>
<H4>Overview</H4>
The GeoArea table defines geographic areas.
<H4>Primary Key</H4>
<STRONG>GeoAreaId</STRONG>
<H4>Foreign Key</H4>
GeoArea does not reference any columns in other tables:
<P>The following columns reference GeoArea:
<BR><STRONG><A HREF=#Employee>Employee</A>.EmployeeGeoAreaId</STRONG>
<BR><STRONG><A HREF=#PlanGeoArea>PlanGeoArea</A>.GeoAreaId</STRONG>
<H4>Columns</H4>
The following fields are in the GeoArea table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
GeoAreaId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
GeoAreaName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
GeoAreaLabel
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#Physician>
<H3>Physician</H3>
</A>
<H4>Overview</H4>
The Physician table contains a list of approved physicians.
<H4>Primary Key</H4>
<STRONG>PhysicianId</STRONG>
<H4>Foreign Key</H4>
Physician does not reference any columns in other tables:
<P>The following columns reference Physician:
<BR><STRONG><A HREF=#EmployeeBenefitDependent>EmployeeBenefitDependent</A>.PhysicianId</STRONG>
<H4>Columns</H4>
The following fields are in the Physician table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
PhysicianId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
PhysicianName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
PhysicianLabel
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#PlanField>
<H3>PlanField</H3>
</A>
<H4>Overview</H4>
The PlanField table defines the relationship between Plan records and Field records.
<H4>Primary Key</H4>
<STRONG>PlanId</STRONG>
<BR><STRONG>FieldId</STRONG>
<H4>Foreign Key</H4>
PlanField references the following columns in other tables:
<BR><STRONG><A HREF=#Field>Field</A>.FieldId</STRONG>
<BR><STRONG><A HREF=#Plans>Plans</A>.PlanId</STRONG>
<P>No columns in other tables reference PlanField
<H4>Columns</H4>
The following fields are in the PlanField table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
PlanId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
FieldId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
FieldValue
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
FieldRank
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#PlanGeoArea>
<H3>PlanGeoArea</H3>
</A>
<H4>Overview</H4>
The PlanGeoArea table defines the relationship between Plan records and GeoArea records.
<H4>Primary Key</H4>
<STRONG>PlanId</STRONG>
<BR><STRONG>GeoAreaId</STRONG>
<H4>Foreign Key</H4>
PlanGeoArea references the following columns in other tables:
<BR><STRONG><A HREF=#GeoArea>GeoArea</A>.GeoAreaId</STRONG>
<BR><STRONG><A HREF=#Plans>Plans</A>.PlanId</STRONG>
<P>No columns in other tables reference PlanGeoArea
<H4>Columns</H4>
The following fields are in the PlanGeoArea table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
PlanId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
GeoAreaId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#Plans>
<H3>Plans</H3>
</A>
<H4>Overview</H4>
The Plans table stores information about each plan.
<H4>Primary Key</H4>
<STRONG>PlanId</STRONG>
<H4>Foreign Key</H4>
Plans does not reference any columns in other tables:
<P>The following columns reference Plans:
<BR><STRONG><A HREF=#BenefitPlan>BenefitPlan</A>.PlanId</STRONG>
<BR><STRONG><A HREF=#EmployeeBenefit>EmployeeBenefit</A>.PlanId</STRONG>
<BR><STRONG><A HREF=#PlanField>PlanField</A>.PlanId</STRONG>
<BR><STRONG><A HREF=#PlanGeoArea>PlanGeoArea</A>.PlanId</STRONG>
<H4>Columns</H4>
The following fields are in the Plans table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
PlanId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
PlanName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
PlanLabel
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
PlanDesc
</TD>
<TD>
Character
</TD>
<TD>
255
</TD>
</TR>
<TR>
<TD>
PlanText
</TD>
<TD>
Text
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
PlanCost
</TD>
<TD>
Money
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
PhysicianRequired
</TD>
<TD>
Tiny Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
PlanStatus
</TD>
<TD>
Tiny Integer
</TD>
<TD>
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#PlanStatus>
<H3>PlanStatus</H3>
</A>
<H4>Overview</H4>
The PlanStatus table defines the <STRONG>PlanStatusId</STRONG> for the Plans table.
<H4>Primary Key</H4>
<STRONG>PlanStatusId</STRONG>
<H4>Foreign Key</H4>
PlanStatus does not reference any columns in other tables:
<P>The following columns reference PlanStatus:
<BR><STRONG><A HREF=#Plans>Plans</A>.PlanStatusId</STRONG>
<H4>Columns</H4>
The following fields are in the PlanStatus table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
PlanStatusId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
PlanStatusName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
PlanStatusLabel
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#Qualifier>
<H3>Qualifier</H3>
</A>
<H4>Overview</H4>
The Qualifier table defines change qualifiers. A valid change qualifier is required before
an employee can change their benefit options.
<H4>Primary Key</H4>
<STRONG>QualifierId</STRONG>
<H4>Foreign Key</H4>
Qualifier references the following columns in other tables:
<BR><STRONG><A HREF=#QualifierClass>QualifierClass</A>.QualifierClassId</STRONG>
<P>The following columns reference Qualifier:
<BR><STRONG><A HREF=#BenefitQualifier>BenefitQualifier</A>.QualifierId</STRONG>
<BR><STRONG><A HREF=#EmployeeQualifier>EmployeeQualifier</A>.QualifierId</STRONG>
<H4>Columns</H4>
The following fields are in the Qualifier table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
QualifierId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
QualifierName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
QualifierLabel
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
QualifierClassId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
QualifierRank
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
QualifierStatus
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#QualifierClass>
<H3>QualifierClass</H3>
</A>
<H4>Overview</H4>
The QualifierClass table defines classes of change qualifiers. Examples are administrative
change qualifiers, system-applied change qualifiers, and employee-accessible change qualifiers.
<H4>Primary Key</H4>
<STRONG>QualifierClassId</STRONG>
<H4>Foreign Key</H4>
QualifierClass does not reference any columns in other tables:
<P>The following columns reference QualifierClass:
<BR><STRONG><A HREF=#Qualifier>Qualifier</A>.QualifierClassId</STRONG>
<H4>Columns</H4>
The following fields are in the QualifierClass table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
QualifierClassId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
QualifierClassName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
QualifierClassLabel
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#QualifierStatus>
<H3>QualifierStatus</H3>
</A>
<H4>Overview</H4>
The QualifierStatus table defines the <STRONG>QualifierStatusId</STRONG> for the Qualifier table.
<H4>Primary Key</H4>
<STRONG>QualifierStatusId</STRONG>
<H4>Foreign Key</H4>
PlanStatus does not reference any columns in other tables:
<P>The following columns reference QualifierStatus:
<BR><STRONG><A HREF=#Qualifier>Qualifier</A>.QualifierStatusId</STRONG>
<H4>Columns</H4>
The following fields are in the QualifierStatus table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
QualifierStatusId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
QualifierStatusName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
QualifierStatusLabel
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
</TABLE>
<HR>
<A NAME=#TaxStatus>
<H3>TaxStatus</H3>
</A>
<H4>Overview</H4>
The TaxStatus table defines tax status codes such as Pre-tax and After-tax.
<H4>Primary Key</H4>
<STRONG>TaxStatusId</STRONG>
<H4>Foreign Key</H4>
TaxStatus does not reference any columns in other tables:
<P>The following columns reference TaxStatus:
<BR><STRONG><A HREF=#BenefitTaxStatus>BenefitTaxStatus</A>.TaxStatusId</STRONG>
<BR><STRONG><A HREF=#EmployeeBenefit>EmployeeBenefit</A>.TaxStatusId</STRONG>
<H4>Columns</H4>
The following fields are in the TaxStatus table:
<TABLE BORDER=1>
<TR>
<TH>
Column Name
</TH>
<TH>
Data Type
</TH>
<TH>
Data Length
</TH>
</TR>
<TR>
<TD>
TaxStatusId
</TD>
<TD>
Integer
</TD>
<TD>
</TD>
</TR>
<TR>
<TD>
TaxStatusName
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
<TR>
<TD>
TaxStatusLabel
</TD>
<TD>
Character
</TD>
<TD>
100
</TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
<!--END TOP TABLE HOLDING GRAPHIC, NAVIGATIONAL LINK, AND MAIN CONTENT-->
<BR>
<BR>
<CENTER>
<!--BEGIN LEGAL INFORMATION-->
<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0>
<TR>
<TD>
<FONT FACE="VERDANA, ARIAL, HELVETICA" SIZE="1">
<A HREF="../legal.htm">
©1997 Microsoft Corporation. All rights reserved. Terms of Use.
</A>
</FONT>
<P>
</TD>
</TR>
</TABLE>
</CENTER>
<!--END LEGAL INFORMATION-->
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
<!--END HTML-->
<%
'
' SetURLCallHIW saves the name of the page in the application that called HIW page
'
Sub SetURLCallHIW
' Extract the last directory from path
Dim strPathInfo, strLastChar, intLocation, ShortString, strLastDir
strPathInfo = Request.ServerVariables("HTTP_REFERER")
' now str has a value like: "http://servername/exair/benefits/Default.asp"
' we need to extract "benefits"
strLastChar = ""
ShortString = strPathInfo
intLocation = 0
If Len(ShortString) > 0 Then
' Get position of beginning of file name
Do Until strLastChar = "/"
strLastChar = right(ShortString, 1)
ShortString = left(ShortString, len(ShortString)-1)
intLocation = intLocation + 1
Loop
' Now get position of beginning of last directory name
strLastChar = ""
Do Until strLastChar = "/"
strLastChar = right(ShortString, 1)
ShortString = left(ShortString, len(ShortString)-1)
intLocation = intLocation + 1
Loop
strLastDir = mid(strPathInfo, len(strPathInfo) - (intLocation - 2), 10)
' If last directory not 'HowItWorks', then save the calling URL
If strLastDir <> "HowItWorks" Then
Session("URLCallHIW") = strPathInfo
End If
End If
End Sub
%>