Additional file 1

Identification Methods
Sample identification
Resistance in samples
samples
1
samples_id SMALLINT(5)
resistance
resistance_id SMALLINT(5)
antibiogs
1
antibiog_id TINYINT(3)
sample_id MEDIUMINT(8)
∞
sampletorflp
∞
1
rflp_path VARCHAR(40)
∞
Indexes
date DATE
∞
source_id TINYINT(3)
sampletomiru
Indexes
resistance_name ENUM('R','S','')
1
1
sample_id SMALLINT(5)
∞
∞
Indexes
active TINYINT(3)
Indexes
Indexes
sampletopatient_id SMALLINT(5)
Indexes
sample_id SMALLINT(5)
∞
reference_strain
sampletosnp
sampletopatient
resistance ENUM('R','S','')
Indexes
method_name VARCHAR(40)
miru_name VARCHAR(20)
Indexes
antibiog2_id TINYINT(3)
antibiog2_name VARCHAR(10)
method_id TINYINT(3)
∞
method_id TINYINT(3)
value TINYINT(3)
source_name VARCHAR(20)
method_miru
1
miru_id TINYINT(3)
∞
miru_id TINYINT(3)
source_id TINYINT(3)
resistance2
resistance2_id SMALLINT(5)
sample_id SMALLINT(5)
source_sample
miru
1
sampletomiru_id MEDIUMINT(8)
∞
Indexes
Indexes
antibiog2_id TINYINT(3)
sample_id SMALLINT(6)
samples VARCHAR(15)
antibiog_id TINYINT(3)
antibiog_name VARCHAR(30)
antibiog_2line
sampletorflp_id SMALLINT(6)
1
sampletosnp_id MEDIUMINT(8)
∞
∞
sample_id SMALLINT(5)
∞
isolate_id BIGINT(20)
sampletospoligo
∞
∞
strain_id TINYINT(3)
spoligotype_id TINYINT(3)
spoligotype_name VARCHAR(40)
sample_id SMALLINT(5)
∞
spoligo_id TINYINT(3)
sample_id SMALLINT(5)
Indexes
spoligotype
1
sampletospoligo_id SMALLINT(5)
∞
value VARCHAR(2)
Indexes
Sample species/strain classification
sampletostrain
snp_id SMALLINT(5)
gene_name VARCHAR(60)
Indexes
sampletostrain_id SMALLINT(5)
name VARCHAR(30)
∞
number MEDIUMINT(8)
value CHAR(2)
Indexes
reference_strain_id MEDIUMINT(8)
1
snp_id TINYINT(3)
∞
snp_id TINYINT(3)
patient_id INT(10)
snp
Indexes
value TINYINT(3)
Indexes
typing VARCHAR(20)
Indexes
Institutional record
Clinical information
Patient genotyping information
hospitalization
hospitalization_id TINYINT(4)
episode_id INT(11)
∞
patienttosnp
Episode - central entity
∞
hospital_id BIGINT(20)
1
status ENUM('Yes','No')
patient
patient_id INT(10)
taxonomy
1
patient BIGINT(20)
admission_date DATE
taxonomy_id TINYINT(4)
Indexes
out_date DATE
patient_id SMALLINT(5)
1
patientsnp_id TINYINT(3)
1
patientsnp_id TINYINT(3)
∞
number MEDIUMINT(8)
gene_name VARCHAR(60)
value CHAR(2)
Indexes
Indexes
species VARCHAR(25)
Indexes
patientsnp
1
patienttosnp_id MEDIUMINT(8)
∞
strain VARCHAR(15)
sub_strain VARCHAR(11)
Indexes
hospital
1
1
hospital_id BIGINT(20)
episode
1
episode INT(10)
∞
hospital_name VARCHAR(50)
process BIGINT(20)
∞
∞
entrydb_id TINYINT(4)
1
episode_id INT(11)
visit_id TINYINT(4)
symptom_id TINYINT(4)
∞
Mantoux_result TINYINT(3)
clinicalform_id TINYINT(3)
Indexes
pres_clinic_reason
1
Mantoux_register ENUM('Yes','No')
patient_id INT(10)
Indexes
∞
BCG_scar ENUM('Yes','No')
symptomtoepisode_id SMALLINT(6)
∞
clinical_data
episode_id INT(10)
pres_clinic_id TINYINT(3)
symptomtoepisode
hospital_id BIGINT(20)
Indexes
entry_db
1
1
pres_clinic_id TINYINT(3)
pres_clinic_name VARCHAR(30)
∞
Indexes
date_diag DATE
type_visit VARCHAR(50)
date_visit DATE
symptoms
order TINYINT(11)
Indexes
1
symptom_id TINYINT(3)
1
date_symptoms DATE
symptom_name VARCHAR(50)
∞
Indexes
date_begin_treat DATE
clinical_form
form_id TINYINT(3)
form_name VARCHAR(30)
radiology_id TINYINT(3)
Indexes
num_previous_treatment TINYINT(3)
last_treat ENUM(...)
symptomtocontact
ta_direct ENUM('Yes','No')
symptomtocontact_id TINYINT(4)
∞
contact_id TINYINT(4)
symptom_id TINYINT(4)
toxicity ENUM(...)
∞
antibiog_before ENUM('Yes','No')
date_antibiog_before DATE
Indexes
antibiog_pos ENUM('Yes','No')
∞
Contacts / Interactions
∞
contact
contact_id TINYINT(4)
episode_id MEDIUMINT(9)
∞
1
1
∞
radiology
radiology_id TINYINT(3)
1
date_situation DATE
biotype_id TINYINT(3)
Indexes
radiology_id TINYINT(4)
situation_name VARCHAR(30)
Indexes
∞
1
year_last_treat YEAR
∞
biotype
biotype_id TINYINT(3)
biotype_name VARCHAR(15)
serology ENUM('Yes','No')
Indexes
date_treatmentend DATE
Indexes
situation_id TINYINT(3)
∞
predicted_months TINYINT(3)
age SMALLINT(6)
bcg_scar VARCHAR(15)
strain_id TINYINT(3)
situation
1
species_id TINYINT(3)
situation TINYINT(3)
radiology_name VARCHAR(30)
affinity_id TINYINT(4)
date_antibiog_pos DATE
weight SMALLINT(5)
affinity
1
height SMALLINT(6)
vaccinetoepisode
affinity_id TINYINT(4)
∞
affinity_name VARCHAR(20)
Indexes
vaccinetoepisode_id INT(11)
episode_id INT(11)
Indexes
vaccine_id TINYINT(4)
∞
1
status ENUM('Yes','No')
date DATE
vaccine_name VARCHAR(40)
Indexes
Accessory tables - Django specific
auth_group_permissions
auth_user_groups
user_id INT(11)
group_id INT(11)
Indexes
diseasetoepisode
diseasetoepisode_id INT(10)
id INT(11)
vaccine
vaccine_id TINYINT(3)
∞
auth_group
1
∞
id INT(11)
∞
group_id INT(11)
1
1
episode_id INT(10)
Indexes
∞
permission_id INT(11)
name VARCHAR(80)
Indexes
disease_id TINYINT(3)
∞
id INT(11)
∞
diseases
disease_id TINYINT(3)
disease_name VARCHAR(55)
Indexes
Indexes
Indexes
Socio-Demographic information
1
auth_user
id INT(11)
∞
1
1
first_name VARCHAR(30)
1
id INT(11)
last_name VARCHAR(30)
user_id INT(11)
email VARCHAR(75)
permission_id INT(11)
password VARCHAR(128)
1
auth_user_user_permissions
username VARCHAR(30)
auth_permission
id INT(11)
name VARCHAR(50)
∞
content_type_id INT(11)
1
∞
age_diag TINYINT(3)
citizenship_id TINYINT(3)
origin_id TINYINT(3)
year_entryPT DATE
is_active TINYINT(1)
freguesia_id TINYINT(3)
is_superuser TINYINT(1)
concelho_id SMALLINT(5)
Indexes
∞
action_time DATETIME
user_id INT(11)
content_type_id INT(11)
object_id LONGTEXT
auth_message
∞
id INT(11)
user_id INT(11)
message LONGTEXT
1
id INT(11)
date_joined DATETIME
∞
django_content_type
id INT(11)
Indexes
smoker ENUM('Yes','No')
model VARCHAR(100)
drugs ENUM('Yes','No')
Indexes
django_session
session_key VARCHAR(40)
Indexes
timestamp_id TIMESTAMP
Indexes
continente_id TINYINT(4)
∞
Indexes
∞
∞
continent
1
continent_id TINYINT(3)
∞
continent_name VARCHAR(10)
∞
Indexes
∞
∞
1
freguesia
freguesia_id SMALLINT(5)
concelho_id SMALLINT(8)
∞
freguesia_name VARCHAR(50)
Indexes
type_drug VARCHAR(50)
prison ENUM('Yes','No')
expire_date DATETIME
timestamp
job_id TINYINT(3)
app_label VARCHAR(100)
session_data LONGTEXT
Indexes
1
alcohol ENUM('Yes','No')
action_flag SMALLINT(5)
change_message LONGTEXT
distrito_id TINYINT(3)
name VARCHAR(100)
object_repr VARCHAR(200)
country_name VARCHAR(30)
birthdate DATE
Indexes
django_admin_log
country_id TINYINT(3)
episode_id INT(10)
is_staff TINYINT(1)
last_login DATETIME
country
1
gender ENUM(...)
codename VARCHAR(100)
Indexes
demo_data
homeless ENUM('Yes','No')
1
sociopaty VARCHAR(40)
concelho
concelho_id SMALLINT(6)
distrito_id TINYINT(4)
transfered ENUM('True','False')
1
∞
concelho_name VARCHAR(40)
job_description VARCHAR(75)
Indexes
Residencia_Comunitaria ENUM('Yes','No')
unemployed ENUM('True','False')
education ENUM(...)
contact ENUM('Yes','No')
1
job
connection_contact ENUM(...)
job_id TINYINT(3)
time_contact ENUM(...)
job_name VARCHAR(50)
Indexes
Sns BIT(1)
Indexes
1
∞
distrito
distrito_id SMALLINT(3)
distrito_name VARCHAR(30)
country_id SMALLINT(5)
Indexes
1