On 2014-09-03 19:45, Rachad El-Badrawi wrote:
> Hi All,
> We are considering BASE as the molecular diagnostics backend system for
> a project, and I was trying to figure out some of the backend workings
> of the schema. I would appreciate some feedback on the following:
> 1) Is there a document that explains the PG schema that BASE uses, as
> far as the role of each table, and how it fits in the global model for BASE?

The best documentation related to this can be found at 

It's not really a database schema, but a mix of java classes and how 
they map to the database. It should be fairly up to date but may lack 
some information about the latest new features. There are lots of 
details and you probably also want to read 

> 2) Is there an instance of BASE which includes a comprehensive project
> that shows the meaningful use for the database?

There is a BASE demo server at http://base2.thep.lu.se/demo/ but it has 
not been maintained for some time so I think what you can see there may 
not be very helpful.

There is also a document describing a manual test procedure that is 
performed before any new major release at: 

This test go through most major features in BASE, but in a real scenario 
one would probably want to automate some of the steps since it requires 
a lot of clicking...

Also, the test data set we use is not publicly available so it may 
require several changes to work with other kind of data.

> At a more detailed level:
> 3) Patients/Subjects are entered as Biosources (from the web front end),
> and are saved in the BioMaterials table. Samples from these subjects are
> added as Samples (from the web front end) and are saved in the same
> BioMaterials table, too. Same for extracts. To relate these entries
> together, one can make use of the parent_id column and the discriminator
> level (i.e. 1, 2, 3). Is this explanation accurate?

Kind of, but it is not the full picture...

The parent_id column is a shortcut that is used only for items that has 
a single parent. If you, for example, pool several extracts into a 
single one, the parent_id column can't be used. The actual parent/child 
relationship is always stored in the BioMaterialEvents and 
BioMaterialEventSources2 tables, and is only duplicated in the parent_id 
column if possible.

> 4) Is there a way of entering/saving that a specific sample has been
> analyzed/complete?

You could use annotations for that. That is more or less what we do 
currently, combined with other annotations for flagging if something 
needs to re-done.

> 5) The number in the column event_type in the BioMaterialEvents table,
> what does it reference?

It is the type of the event. Every biomaterial has a single CREATION (1) 
event, then they can have any number of OTHER (3) events and BIOASSAY 
(2) creation events.

> 6) Where is the sample type saved in the database?

In the ItemSubtypes table.

Hope this helpful, you are always welcome with more questions.


Slashdot TV.  
Video for Nerds.  Stuff that matters.
The BASE general discussion mailing list
unsubscribe: send a mail with subject "unsubscribe" to

Reply via email to