This is achieved by analysing the collected
documents one by one. Such an analysis enables us
to identify a number of identity attributes which
belong to a set of object classes.
In our experience, it is better to start with a complex
document, which later plays an important role in
integrating other analyses (see the fourth step).
Hospitalization: Let us start with the document
TEMPSHEET. Carrying out the first step on this
document leads us to identify the following identity
attributes: TempSheet#, Patient#, Diagnosis#, Doc#,
Surgery#, Medication#, and Intervention#, which
belong to the following classes: TempSheet, Patient,
Diagnosis, Doctor, Surgery, Medication, and
Intervention.
4.2 Identify Functional Dependence
The second step identifies the functional
dependencies existing between identity attributes
and non-identity attributes in the framework of each
of the collected documents.
- for each identity attributes (say A, B) identified in
the framework of a certain document (say
DOCUMENT1)
- for each of the document’s non-identity
attributes (say X, Y, Z)
- if each value of the chosen identity attribute
is associated with one and only one value
of the non-identity attributes then the non-
identity attribute is functionally dependent
on the chosen identity attribute.
After completing the analysis of DOCUMENT1, the
process goes on by analysing another document until
all the documents are analysed.
Hospitalization: To implement this, we start by
analysing the relationships existing between the
identity and non-identity attributes of the document
TEMPSHEET.
Figure 3 shows that the attributes RoomNo,
AcceptDate and ReleaseDate are functionally
dependent on attribute TempSheet#, because each
TempSheet# value determines one value of
RoomNo, AcceptDate and ReleaseDate.
Attributes PatientName, Address and BirthDate are
functionally dependent on attribute Patient#, because
every Patient# value identifies one value of each of
the attributes Patient, Address and Birthdate.
Attributes DiagName, SurgeryName and DocName,
MedName and Description are functionally
dependent on identity attributes Diagnosis#,
Surgery#, Doc#, Medication# and Intervention#
sequentially.
TempSheet# RoomNo
AcceptDate
ReleaseDate
Patient# PatientName
BirthDate
Address
Diagnosis# DiagName
Surgery# SurgName
Doc# DocName
Medication# MedName
Intervention# Description
TempSheet#,Date/Time Temperature
Pulse
Presure
TempSheet#,Medication# Dose
TempSheet#,Intervention# InterDate
Figure 3: Functional dependencies of Document
TEMPSHEET.
In addition to this, we find that attributes Doc# and
DocName occur again in the lower part of the
document and their values are repeated in the rows
of this part. The functional dependence between
these two attributes has already been defined and
there is no need to define it again. The presence of
the identity attribute Doc# in these rows means that
an association has to be defined to link these rows
with Doc#, as will be shown in step 3.
Furthermore, attributes Temperature, Pulse and
Presure are functionally dependent only on a
combination of the attributes TempSheet# and
Date/Time, because every value of the combination
of these attributes determines only one value of each
of the attributes Temperature, Pulse and Pressure.
For the same reason, attributes Dose and Times/Day
are functionally dependent on a combination of the
attributes TempSheet# and Medication#. Finally, we
find that attribute InterDate is functionally
dependent on a combination of attributes
TempSheet# and Intervention#.
4.3 Define Associations
The third step of the approach deals with defining
the associations existing between the identified
identity attributes of the document analysed.
In general we may define an association as follows:
An association is a relationship that exists between
objects of two classes. An object is represented by
its identity attribute. Therefore, we may say that an
association is a relationship between identity
attributes.
An association could be one-to-one, one-to-many or
many-to-many. A one-to-one association exists
between identity attributes of objects of two classes,
where every value of one identity attribute is related
to only one value of the other identity attribute. A
AN APPROACH FOR CLASS MODEL DEVELOPMENT
417