K
Kurt
Here is a screen shot of the design for a database used
to track patients who are enrolled in one or more studies:
http://members.cox.net/kheisler6/patient study%
20database.jpg
I need to change the design to accomodate some
situations, but I'm not sure about the best approach.
Situation 1:
------------
There are approximately 50 studies going on, with the
potential for more (i.e. records in tblStudies). Patients
can be enrolled in more than one study. Over the course
of each study, enrolled patients will come in for several
visits. The nature of the visit depends on the study
(i.e., each study has a certain type of visit associated
to it). For example, a person enrolled in the FLU study
will come in and get a shot and get his temperature
taken. A person enrolled in the MILK study will come in
and get his temperature, weight, height taken, but no
shot. Consequently, with 50 studies, there are
potentially 50 unique visit types.
1. Should tblVisits be related to tblStudies (instead of
tblPatients as it is now)?
2. How do I store and manage the visit information, since
the field names are mostly unique for each study? (50+
tables!?!)? Is this a situation where it's best to not
shoot for ideal normalization, and just have a Visits
table with all the potential fields for all studies,
knowing that many of those fields will be blank and
irrelevant for certain patients/studies?
Situation 2:
------------
Currently, tblDoctors is related one-to-many to
tblPatients. tblDoctorGroups is related to tblDoctors via
a junction table. The problem is that the researchers
sometimes know the patient's doctor group, but not the
individual doctor. The current design doesn't permit them
to select a doctor group for the patient.
1. Should I keep everything as is but add a DoctorGroupID
field to tblPatients, and relate that to tblDoctorGroups?
General Question
----------------
Several different researchers will be accessing this
database, mostly to enter visit information when a
patient enrolled in his/her study comes in.
When it comes to setting up forms, the many-to-many
relationships always trip me up. Is this is a good
approach:
1. The main form would be frmPatients. If the researcher
wants to enter information about a patient visit, he
would use frmPatients, which would show:
- general info. about the patient, doctor combo box,
etc.
- a datasheet subform (linked to the main form) to add
or show the study(s) the patient is enrolled in
- a datasheet subform (linked to the studies subform)
to add or show visit information for that selected study)
2. The patient is always a child, who always has one (and
only one) parent associated with him. However, one parent
may have several children enrolled in a study or studies.
So if I'm on Little Joe's record on frmPatients, would I
select (or add if NotInList) his parent from a combo box
of potential parents (from tblParents)? And then do the
same on Little Joe's sister's record?
Or should I instead point the user to a Parents form
where he enters the parent and then enters or selects the
parent's child(ren) (in a datasheet subform, for
example)? This way, when I go back to frmPatients and
look at Little Joe's record, his parent will
automatically be assigned. Is either method prefered?
###
This is a lot so thanks for your time and advice. Kurt
to track patients who are enrolled in one or more studies:
http://members.cox.net/kheisler6/patient study%
20database.jpg
I need to change the design to accomodate some
situations, but I'm not sure about the best approach.
Situation 1:
------------
There are approximately 50 studies going on, with the
potential for more (i.e. records in tblStudies). Patients
can be enrolled in more than one study. Over the course
of each study, enrolled patients will come in for several
visits. The nature of the visit depends on the study
(i.e., each study has a certain type of visit associated
to it). For example, a person enrolled in the FLU study
will come in and get a shot and get his temperature
taken. A person enrolled in the MILK study will come in
and get his temperature, weight, height taken, but no
shot. Consequently, with 50 studies, there are
potentially 50 unique visit types.
1. Should tblVisits be related to tblStudies (instead of
tblPatients as it is now)?
2. How do I store and manage the visit information, since
the field names are mostly unique for each study? (50+
tables!?!)? Is this a situation where it's best to not
shoot for ideal normalization, and just have a Visits
table with all the potential fields for all studies,
knowing that many of those fields will be blank and
irrelevant for certain patients/studies?
Situation 2:
------------
Currently, tblDoctors is related one-to-many to
tblPatients. tblDoctorGroups is related to tblDoctors via
a junction table. The problem is that the researchers
sometimes know the patient's doctor group, but not the
individual doctor. The current design doesn't permit them
to select a doctor group for the patient.
1. Should I keep everything as is but add a DoctorGroupID
field to tblPatients, and relate that to tblDoctorGroups?
General Question
----------------
Several different researchers will be accessing this
database, mostly to enter visit information when a
patient enrolled in his/her study comes in.
When it comes to setting up forms, the many-to-many
relationships always trip me up. Is this is a good
approach:
1. The main form would be frmPatients. If the researcher
wants to enter information about a patient visit, he
would use frmPatients, which would show:
- general info. about the patient, doctor combo box,
etc.
- a datasheet subform (linked to the main form) to add
or show the study(s) the patient is enrolled in
- a datasheet subform (linked to the studies subform)
to add or show visit information for that selected study)
2. The patient is always a child, who always has one (and
only one) parent associated with him. However, one parent
may have several children enrolled in a study or studies.
So if I'm on Little Joe's record on frmPatients, would I
select (or add if NotInList) his parent from a combo box
of potential parents (from tblParents)? And then do the
same on Little Joe's sister's record?
Or should I instead point the user to a Parents form
where he enters the parent and then enters or selects the
parent's child(ren) (in a datasheet subform, for
example)? This way, when I go back to frmPatients and
look at Little Joe's record, his parent will
automatically be assigned. Is either method prefered?
###
This is a lot so thanks for your time and advice. Kurt