views:

110

answers:

5

hi,

I'm designing a database for capturing clinical trial data. The data are entered twice by two persons, independently and the results must be matched. What are the best database tools to use to achieve the best results. Any one has similar experiences?

Your helps are highly appreciated.

thanks.

+1  A: 

Are you designing a database, or the app to enter data into the database?

If you are simply looking at the database, I would capture the following information:

1) user A item X entered data
2) user A userID
3) user A intem X entered date/time

4) user B item X entered data
5) user B userID
6) user B intem X entered date/time

I'd then conclude that there was something called a "Datapoint" that contained the fields

-- entering userID
-- entry date
-- entry data (double value)
I'd also assign it a unique ID for the entry
--entryID (autoinc)

I would then state that there is something called a "data trial" that has two of these things called "data entries"

If I believed that this number of entries per data trial might be 3 verifications instead of 2, I might change my design, but initially I would give my "Data Trial" the following definition:

-- data trial name
-- data trial creation date
-- user creating data trial (userID)
-- data entry 1 (dataPointID)
-- data entry 2 (dataPointID)
-- entries verified (boolean)
and give each of these a unique ID also
-- data trial ID (autoinc)
Zak
Thank you for your quick answer, Zak. To answer your question: I'm designing the whole database. That means, I have total control of whatever tools I want to use. Also, in addtion to 2 data entry persons in the picture, there is another layers of checking: the data manager who works on the results to find any possible problems and send out queries to all parties involved.
john
You're very welcome. It sounds like you need to do a few things:1) document the process that will be used to capture and verify the data, AND the various states of the process you can be in.2) Design the database that captures both the data, and the current state of the process (has data been verified, is it back to the Data entry people, etc)3) write a quick app (maybe web based) to help the users correctly follow the process. You could just hand them an Excel spreadsheet with the relevant fields, but that doesn't really enforce the criteria.
Zak
A: 

If you are looking for a good database tool you should consider using a Entity-Relationship Designer to model your database, such as Case Studio or Embarcadero ER/Studio.

pcent
A: 

Databases are not designed to solve this issue. Double entry is an application issue and violates normalization. I would implement a verification field to indicate that the data has been verified, and if it failed or not. I would likely include an audit table containing each set of entries entered.

The application would need a lookup function to determine if this is the first entry or a subsequent entry. There are a number of design issues related to this.

  • Verification can't find first entry.
  • How to correct data if it doesn't match on verification.
  • How to handle unverified data which should be verified.
BillThor
@BillThor Double entry doesn't violate normalization. Assuming the two entries are identifiable (by user name?) then as long as you avoid non-key dependencies there's no reason why a suitable design shouldn't be in BCNF/5NF.
dportas
Consider double entry where the data is not in agreement. You are a male (entry 1), a female (entry 2). You don't have an unambiguos result. The main table shouldn't have columns for these two values, which would violate normal form. The data entry history will a username on it would be a valid weak table in normal form.
BillThor
A: 

(I can't add comments yet...) Adding to Zak's answer, if there is any doubt over how many people will enter these values (say it jumps from two to three, like Zak says) I'd break the Data entry 1 and 2 (both dataPointIDs) into another table with two columns:

--data trial id
--data entry id

This way you could theoretically have as many different users inserting the data, and the data trial table would then contain only meta data about the trial, not "business logic," which only having 2 data entries per trial essentially is.

A similar setup could be used if different trials contain different amounts of data values to be entered.

Mike
A: 

I found this one for MS Access...how to do it in postgres?

Question First i want to thank you in advance for your help. My question is as follows. i have an Ms Access database that i already entered data in it . But my supervisors need to do a Double data entry to it so i need the database to automatically check with the original Table and tells me if what I’m entering does not match the original Table and if i want to change the original Master table . I did a copy of the form called it (form2) and a copy of the table called it (table2) but don’t know what to do next I’m not an expert but I use a little VB to make simple codes to open close fields . Please help me i will really appreciate it soo much please
Thanks in advance

Answer Charles, hi

Open Form2 in design mode

Open the Properties dialog (RH click & Properties)

Ensure the form object is selected - box at top-left of form object is black.

In the properties dialog - find RecordSource property - change this from table1 to table2

Save, close objects and run as normal...

Kind regards

Geoff :-)

link is http://en.allexperts.com/q/Using-MS-Access-1440/2009/6/Ms-access-double-data.htm

john