Crisis pregnancy center database?? (1 Viewer)

sharinglife

Registered User.
Local time
Today, 02:52
Joined
Jan 21, 2003
Messages
10
I have been assigned the task of creating a database for our local crisis pregnancy center. Do any of you have or know of a sample database that I could adapt to work in this situation?
I'm not very well versed in creating things in access from scratch. Excel, Word, Powerpoint....I'm good to go...but Access is a different animal.

If you don't know of any samples....how should I start?

Any help will be greatly appreciated!!!!!
 

Mile-O

Back once again...
Local time
Today, 08:52
Joined
Dec 10, 2002
Messages
11,316
sharinglife said:
I have been assigned the task of creating a database for our local crisis pregnancy center...how should I start?

The first thing to do is think about what data you are going to store. Break it down into smaller objects. I don't know what sort of info you'd want to capture with a "local crisis pregnancy" centre.

So, start with this and post back with initial assumptions. Also, to aid your knowledge, search this forum and the internet for "normalisation" and "normal form" - knowing this theory beforehand is a bonus before you dive in and then get stuck.
 

sharinglife

Registered User.
Local time
Today, 02:52
Joined
Jan 21, 2003
Messages
10
I know we need data such as:

Name
Address
Phone
Email
Birthdate
Emergency Contact
Spouse

I also need to be able to schedule appointments, show test results, print mailing labels, etc.
 

Mile-O

Back once again...
Local time
Today, 08:52
Joined
Dec 10, 2002
Messages
11,316
What sort of information do you need to store with scheduling appointments? Can more than one person have an appointment on the same day? Are there appointment "slots" or is it casual appointing?

What sort of information is returned with test results? Are tests ongoing? Do tests cost?
 

sharinglife

Registered User.
Local time
Today, 02:52
Joined
Jan 21, 2003
Messages
10
Yes, more than one person can an appointment on the same day. There are appointment slots. Increments of 30 minutes. The appointment slot only needs the name to show...but it needs to link back to the appropriate client file.

The tests do not cost. Some of the tests are recurring...but most will not be. The results will just need to be able to be typed in.
 

Mile-O

Back once again...
Local time
Today, 08:52
Joined
Dec 10, 2002
Messages
11,316
So, your looking at a table for people:

tblPeople
PeopleID
Forename
Surname
Address1
Address2
Address3
ZipCode
Email
DateOfBirth

I take it these fields are just names of people:
Emergency Contact
Spouse
In that case they can go in, too.


A table for appointments:

tblAppointments
AppointmentID
DateOfAppointment
SlotID
PeopleID
Attended

Now, that's brought about a table for slots:

tblSlots
SlotID
SlotTime

You have made it read like there are different types of tests, is this so? If so, we can develop this further...
 

sharinglife

Registered User.
Local time
Today, 02:52
Joined
Jan 21, 2003
Messages
10
Yes, there are different kinds of tests. But I do not know what they are. Is there a way that they can just type in the type of test given, then type the results in the results field when they get them?
 

Mile-O

Back once again...
Local time
Today, 08:52
Joined
Dec 10, 2002
Messages
11,316
tblTests
TestID
TestName

So, we should now add a TestID to tblAppointments.

I don't know what sort of form the "results" would take to continue further - i.e. values, Positive/Negative, etc.
 

sharinglife

Registered User.
Local time
Today, 02:52
Joined
Jan 21, 2003
Messages
10
The main test will be a pregnancy test....results are either positive or negative. The other tests, I am unsure about. Just a text field would probably work fine.
 

Mile-O

Back once again...
Local time
Today, 08:52
Joined
Dec 10, 2002
Messages
11,316
sharinglife said:
The main test will be a pregnancy test....results are either positive or negative. The other tests, I am unsure about. Just a text field would probably work fine.

Should you not really find out more about the information the "sponsor" requires the database to work with?

Maybe you want to add a Result field to the tblAppointments also if you fancy the people just typing the result in.

What I've given you just now is a small set of tables that can be related quite simply. Once you've got your tables in place then you can build queries to bring the data together, and then forms to show the data.
 

sharinglife

Registered User.
Local time
Today, 02:52
Joined
Jan 21, 2003
Messages
10
I have sent email asking the center exactly what info they need to capture and use.

Thanks for your help. I'm sure I'll post here again as I run into problems!
 

Mile-O

Back once again...
Local time
Today, 08:52
Joined
Dec 10, 2002
Messages
11,316
No probs. Remember to lookup normalisation to get an idea of why things were split into these tables, and could be split into more.
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 02:52
Joined
Feb 28, 2001
Messages
27,259
Sharinglife, I'll add my two cents worth for the purpose of helping you design what you are doing. This next statement isn't ALWAYS true for Access, but frequently you are using Access as a simulation/tool/model of your business.

Therefore, the thing you want to ask is, if I had to do this with paper and keep the paper forever, what would I need to keep? In other words, what would my file folders and cabinets look like?

This is not at all to disagree with other posters; just visualize this in your mind...

First, you can easily imagine a master folder for every client, alphabetized in one set of file cabinets. (Implication: One TABLE in Access, one master record per client.)

You could imagine that you wanted to maintain as much privacy as possible, so perhaps your master record is controlled by a code number rather than the actual name. (Autonumbered records work GREAT for this purpose.)

Second, an appointment book for a given date, in which a client name / number can be written at a specific time. (Implication: One TABLE in Access, one record per valid date/time combination, with a slot for a person's name/client number)

If you write the lookup of the person's name correctly, you can get Access to store the code number even if you look up the name, so you can tag the appointment record with the master record's code number if you wish.

Third, do you have separate consultants? You will need to keep some sort of records for them. (Implication: One TABLE in Access, one record per consultant. Second implication: The appointment book needs to show which consultant has the appointment with which client, so the corresponding table has to also have a link to the available consultants.) Possible an employee number would work here.

Fourth, can many different tests be performed for each person? And can each person repeat tests if they are a repeat client? In the paper model, you would attach each test result sheet to the folder for that client. (Implication: One TABLE in Access, one record per TEST, with room for a date, client name/number-code, and result for that particular date and test.)

Do you begin to see how this modeling concept works?

Now, instead of physically attaching things together with a paper clip or staple, you use a JOIN (i.e. you establish a RELATIONSHIP) between tables when they have a field in common. That is why I suggested a code number for each client.

So when you have an appointment or test result applicable to a client, you include the client's CODE NUMBER in that test record. The same number appears in the client's master record and all related records such as appointments and tests. Do you see where this is going?

I must warn you, it takes a certain mind-set to do this right. But if you do get a good design, it will make your record-keeping so much easier in the long run.
 

sharinglife

Registered User.
Local time
Today, 02:52
Joined
Jan 21, 2003
Messages
10
HOLY MOLY! I can see what you're saying in my mind....but I have no clue how to put that into Access.

I'm kind of a novice when it comes to creating things from scratch in Access. I'm geared much more toward Word, Excel, and Powerpoint. I'm expert level in each of those.....but very beginner in Access.

Do you have an example of this?
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 02:52
Joined
Feb 28, 2001
Messages
27,259
Well, a thing worth doing is worth doing well, including doing some preliminary design work. I'm going to suggest something heretical to you. (At least some of the members might find it so...)

Start with Excel as your design medium. Imagine that you were going to build a spreadsheet for each person, each appointment, each consultant, each test, each other thing that you think would be represented by a separate file folder in this paper method. Think about what columns you would need to keep. In this design, you would think 'flat-file' issues. If you see something that you need to track, odds are that it will either be another column in one (or more) of your worksheets or it will be a whole new worksheet with a bunch of data on its own.

This approach won't help you with the relationships, but it will help you organize your thoughts on what data you need to keep with each spreadsheet. And it is visual enough to let you get started even as a novice. Sometimes you just have to see it on the screen for the ideas to jell.

Now, once you have decided what each sheet in the workbook should contain, you can begin building tables. You should have one table for every sheet you built. HOWEVER, this is where Access's power comes into play.

In any sheet where you have data that also appears on another sheet, you have identified a CANDIDATE for establishing a relationship. Not a certain relationship - but a candidate for one. If you find, for instance, that you have the need to keep case workers with the same client, you might have an assignment sheet that is different than the appointment sheet. If you think you would have kept it on paper, make another sheet for it just to capture the information on requirements.

Now let's look at your appointment sheet. The name and call-back phone number of the client would be there for the convenience of the appointment scheduling person. But you would also have that information in the client's record. Rather than duplicate the effort, you would just put the client's record number in the appointment and let Access call up the name and phone number for you. This is done with a two-table query that involves a JOIN (relationship) in which the element in common would be the client ID number. Instead of duplicating the client data in the appointment table, just point to the client.

You will probably have a consultant for which you need both a name and a phone number so you can verify the appointment as a reminder. Again, if the consultant has a code number in a separate record, you can let Access find that for you. Use another number and just POINT to the required data.

Now, as to being a novice. We all were novices at one time or another. The key with Access is to learn by doing as well as by reading. So prepare yourself by building a few databases. Look at the elements of the Northwind database that is one of the samples. It will show you ways of linking tables, building reports from multi-table queries, etc.

Now, an issue that vexes some folks is choice of data types. As a novice, you really only need to consider four types, or at most five. The rest can be ignored for the moment.

You will need dates and/or times - use the Date data type.

You will need code numbers, record numbers, and counting numbers - use the Long (Integer) data type.

You will need names, addresses, and phone numbers with punctuation in them - use Text data type.

You MIGHT need monetary data - use Currency data type.

You might have check boxes for something being done or not done, for an option being taken or not taken - use Yes/No data type. (If you have more than just yes/no choices, then this is really just a LONG in disguise.)

It is POSSIBLE that you might need to compute or store ratios of some sort. If so, use the DOUBLE (Real) data type for consistency.

Now, be aware that I'm suggesting a course of action that MIGHT waste some space in your records. On the other hand, it might not. And when you get more comfortable with data types, you can go back to change things without too much impact.

You can also find some tutorial books on Access. I strongly advise that as a novice you should make the investment. You will also find all too quickly that you have outgrown the books, which is a GOOD thing. In closing on this sub-topic, I will suggest that before you buy a particular book, thumb through it to see whether the explanations they give make sense to you. My wife teaches Office software and says that some of the books out there are trash, others are gold - but her students often disagree with her on which is which. So what matters is that the books makes sense TO YOU.
 

Users who are viewing this thread

Top Bottom