# generated automatically by script/make_classes.pl
#---------------------------------------------------------------------------
package LIMS::AdditionalOption;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'additional_options',
columns => [
id => { type => 'integer', not_null => 1 },
option_name => { type => 'varchar', length => 255 },
option_label => { type => 'varchar', length => 255 },
is_active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_keys => [
[ 'option_label' ],
[ 'option_name' ],
],
);
1;
#---------------------------------------------------------------------------
package LIMS::AuditRequestCategory;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'audit_request_categories',
columns => [
id => { type => 'integer', not_null => 1 },
description => { type => 'varchar', default => '', length => 255, not_null => 1 },
active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'description' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::AuditRequestOption;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'audit_request_options',
columns => [
id => { type => 'integer', not_null => 1 },
description => { type => 'varchar', default => '', length => 255, not_null => 1 },
category_id => { type => 'integer', default => '0', not_null => 1 },
active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'description' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::ClinicalTrial;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'clinical_trials',
columns => [
id => { type => 'integer', not_null => 1 },
trial_name => { type => 'varchar', length => 50 },
active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'trial_name' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::ConsentOption;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'consent_options',
columns => [
id => { type => 'integer', not_null => 1 },
consent_name => { type => 'varchar', default => '', length => 255, not_null => 1 },
consent_label => { type => 'varchar', default => '', length => 255, not_null => 1 },
is_active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_keys => [
[ 'consent_label' ],
[ 'consent_name' ],
],
);
1;
#---------------------------------------------------------------------------
package LIMS::ContextWarningDiagnosi;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'context_warning_diagnosis',
columns => [
id => { type => 'integer', not_null => 1 },
diagnosis_id => { type => 'integer', default => '0', not_null => 1 },
context_warning_id => { type => 'integer', default => '0', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'diagnosis_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::DeletedRequest;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'deleted_requests',
columns => [
id => { type => 'serial', not_null => 1 },
request_id => { type => 'integer', default => '0', not_null => 1 },
request_number => { type => 'integer', default => '0', not_null => 1 },
year => { type => 'scalar', default => '0000', length => 4, not_null => 1 },
action => { type => 'varchar', default => '', length => 255, not_null => 1 },
user_id => { type => 'integer', default => '0', not_null => 1 },
time => { type => 'datetime' },
],
primary_key_columns => [ 'id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::Diagnos;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'diagnoses',
columns => [
id => { type => 'integer', not_null => 1 },
name => { type => 'varchar', length => 255 },
icdo3 => { type => 'varchar', length => 6 },
diagnostic_category_id => { type => 'integer' },
active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes' },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'name' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::DiagnosisChangeOption;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'diagnosis_change_options',
columns => [
id => { type => 'integer', not_null => 1 },
option_name => { type => 'varchar', default => '', length => 25, not_null => 1 },
description => { type => 'varchar', default => '', length => 255, not_null => 1 },
is_active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'option_name' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::DiagnosisContextWarning;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'diagnosis_context_warnings',
columns => [
id => { type => 'integer', not_null => 1 },
description => { type => 'varchar', default => '', length => 255, not_null => 1 },
is_active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes' },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'description' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::DiagnosticCategory;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'diagnostic_categories',
columns => [
id => { type => 'integer', not_null => 1 },
description => { type => 'varchar', length => 255 },
category_type => { type => 'enum', check_in => [ 'main', 'sub' ] },
active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes' },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'description' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::EmailAddress;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'email_addresses',
columns => [
address => { type => 'varchar', length => 255, not_null => 1 },
],
primary_key_columns => [ 'address' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::EmailContact;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'email_contacts',
columns => [
id => { type => 'integer', not_null => 1 },
display_name => { type => 'varchar', default => '', length => 255, not_null => 1 },
scope => { type => 'enum', check_in => [ 'hospital', 'organisation' ] },
referral_source_id => { type => 'integer', default => '0', not_null => 1 },
type => { type => 'enum', check_in => [ 'mdt', 'report', 'other' ] },
contact_address => { type => 'varchar', default => '', length => 255, not_null => 1 },
is_active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'type', 'contact_address' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::ErrorCode;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'error_codes',
columns => [
id => { type => 'integer', not_null => 1 },
code => { type => 'varchar', length => 2 },
description => { type => 'varchar', length => 255 },
is_unique => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'code' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::HospitalDepartment;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'hospital_departments',
columns => [
id => { type => 'integer', not_null => 1 },
display_name => { type => 'varchar', default => '', length => 50, not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'display_name' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::IcdoCategory;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'icdo_category',
columns => [
diagnostic_category_id => { type => 'integer', not_null => 1 },
icdo3 => { type => 'varchar', length => 6, not_null => 1 },
],
primary_key_columns => [ 'diagnostic_category_id', 'icdo3' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::LabSection;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'lab_sections',
columns => [
id => { type => 'integer', not_null => 1 },
section_name => { type => 'varchar', default => '', length => 255, not_null => 1 },
has_result_summary => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'no', not_null => 1 },
has_section_notes => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'no', not_null => 1 },
has_test_sign_out => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'no', not_null => 1 },
has_foreign_id => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'no', not_null => 1 },
has_results_import => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'no', not_null => 1 },
is_active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'section_name' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::LabSectionStatusOption;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'lab_section_status_option',
columns => [
lab_section_id => { type => 'integer', not_null => 1 },
status_option_id => { type => 'integer', not_null => 1 },
],
primary_key_columns => [ 'lab_section_id', 'status_option_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::LabTest;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'lab_tests',
columns => [
id => { type => 'integer', not_null => 1 },
test_name => { type => 'varchar', default => '', length => 25, not_null => 1 },
field_label => { type => 'varchar', default => '', length => 25, not_null => 1 },
lab_section_id => { type => 'integer', default => '0', not_null => 1 },
test_type => { type => 'enum', check_in => [ 'test', 'panel' ] },
has_results => { type => 'enum', check_in => [ 'yes', 'no' ] },
is_active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_keys => [
[ 'lab_section_id', 'test_type', 'field_label' ],
[ 'lab_section_id', 'test_type', 'test_name' ],
],
);
1;
#---------------------------------------------------------------------------
package LIMS::LabTestDataType;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'lab_test_data_type',
columns => [
lab_test_id => { type => 'integer', not_null => 1 },
data_type_id => { type => 'integer', default => '0', not_null => 1 },
is_active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'lab_test_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::LabTestMap;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => '_lab_test_map',
columns => [
id => { type => 'integer', not_null => 1 },
TestName => { type => 'varchar', length => 255 },
],
primary_key_columns => [ 'id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::LabTestResultDataType;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'lab_test_result_data_types',
columns => [
id => { type => 'integer', not_null => 1 },
description => { type => 'varchar', default => '', length => 25, not_null => 1 },
is_active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'description' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::LabTestResultOption;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'lab_test_result_options',
columns => [
id => { type => 'integer', not_null => 1 },
data_type_id => { type => 'integer', default => '0', not_null => 1 },
value => { type => 'varchar', default => '', length => 30, not_null => 1 },
is_active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'data_type_id', 'value' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::LabTestStatusOption;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'lab_test_status_options',
columns => [
id => { type => 'integer', not_null => 1 },
description => { type => 'varchar', default => '', length => 255, not_null => 1 },
is_editable => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
is_active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'description' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::LocalNetworkLocation;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'local_network_locations',
columns => [
parent_id => { type => 'integer', not_null => 1 },
],
primary_key_columns => [ 'parent_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::Login;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'logins',
columns => [
id => { type => 'serial', not_null => 1 },
user_id => { type => 'integer', default => '0', not_null => 1 },
address => { type => 'varchar', length => 15 },
browser => { type => 'varchar', length => 255 },
session_id => { type => 'character', length => 32 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::ParentOrganisation;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'parent_organisations',
columns => [
id => { type => 'integer', not_null => 1 },
parent_code => { type => 'varchar', default => '', length => 6, not_null => 1 },
description => { type => 'varchar', default => '', length => 255, not_null => 1 },
referral_type_id => { type => 'integer', default => '0', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_keys => [
[ 'description' ],
[ 'parent_code' ],
],
);
1;
#---------------------------------------------------------------------------
package LIMS::Patient;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'patients',
columns => [
id => { type => 'serial', not_null => 1 },
last_name => { type => 'varchar', length => 50 },
first_name => { type => 'varchar', length => 50 },
middle_name => { type => 'varchar', length => 50 },
dob => { type => 'date' },
gender => { type => 'enum', check_in => [ 'M', 'F', 'U' ], default => 'U' },
nhs_number => { type => 'varchar', length => 10 },
created_at => { type => 'timestamp', not_null => 1 },
updated_at => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'nhs_number' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::PatientCase;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'patient_case',
columns => [
id => { type => 'serial', not_null => 1 },
patient_id => { type => 'integer', default => '0', not_null => 1 },
referral_source_id => { type => 'integer', default => '0', not_null => 1 },
unit_number => { type => 'varchar', default => 'UNKNOWN', length => 255, not_null => 1 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'patient_id', 'unit_number', 'referral_source_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::PatientDemographic;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'patient_demographics',
columns => [
patient_id => { type => 'integer', not_null => 1 },
address => { type => 'varchar', length => 255 },
post_code => { type => 'varchar', length => 8 },
contact_number => { type => 'varchar', length => 15 },
gp_id => { type => 'integer', default => '0', not_null => 1 },
practice_id => { type => 'integer', default => '0', not_null => 1 },
status => { type => 'enum', check_in => [ 'alive', 'dead' ], default => 'alive', not_null => 1 },
dod => { type => 'date' },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'patient_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::PatientDemographicHistory;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'patient_demographic_history',
columns => [
id => { type => 'serial', not_null => 1 },
patient_id => { type => 'integer', default => '0', not_null => 1 },
user_id => { type => 'integer', default => '0', not_null => 1 },
action => { type => 'varchar', default => '', length => 255, not_null => 1 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::PatientEdit;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'patient_edits',
columns => [
id => { type => 'serial', not_null => 1 },
patient_id => { type => 'integer', default => '0', not_null => 1 },
last_name => { type => 'varchar', length => 50 },
first_name => { type => 'varchar', length => 50 },
middle_name => { type => 'varchar', length => 50 },
dob => { type => 'date' },
gender => { type => 'enum', check_in => [ 'M', 'F', 'U' ], default => 'U' },
nhs_number => { type => 'varchar', length => 10 },
user_id => { type => 'integer', default => '', not_null => 1 },
error_code_id => { type => 'integer', default => '', not_null => 1 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::PatientTrial;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'patient_trial',
columns => [
patient_id => { type => 'integer', not_null => 1 },
trial_id => { type => 'integer', not_null => 1 },
trial_number => { type => 'varchar', length => 255 },
],
primary_key_columns => [ 'patient_id', 'trial_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::PhoneLogOption;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'phone_log_options',
columns => [
id => { type => 'integer', not_null => 1 },
description => { type => 'varchar', default => '', length => 255, not_null => 1 },
is_active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'description' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::PreRegistration;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'pre_registration',
columns => [
id => { type => 'serial', not_null => 1 },
labno => { type => 'varchar', default => '', length => 8, not_null => 1 },
surname => { type => 'varchar', length => 25 },
is_screened => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'no', not_null => 1 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'labno' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::PreRegistrationLabTest;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'pre_registration_lab_test',
columns => [
id => { type => 'serial', not_null => 1 },
reg_specimen_id => { type => 'integer', default => '0', not_null => 1 },
lab_test_id => { type => 'integer', default => '0', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'reg_specimen_id', 'lab_test_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::PreRegistrationSpecimen;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'pre_registration_specimen',
columns => [
id => { type => 'serial', not_null => 1 },
pre_reg_id => { type => 'integer', default => '0', not_null => 1 },
specimen_code => { type => 'character', default => '0', length => 2, not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'pre_reg_id', 'specimen_code' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::QuestionnaireSymptom;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'questionnaire_symptoms',
columns => [
request_id => { type => 'integer', not_null => 1 },
weight => { type => 'float', precision => 32 },
weight_loss => { type => 'enum', check_in => [ 'Y', 'N' ] },
night_sweats => { type => 'enum', check_in => [ 'none', 'occasional', 'frequent', 'drenching' ] },
persistent_night_sweats => { type => 'enum', check_in => [ 'Y', 'N' ] },
serious_infection => { type => 'enum', check_in => [ 'Y', 'N' ] },
],
primary_key_columns => [ 'request_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::ReferralSource;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'referral_sources',
columns => [
id => { type => 'integer', not_null => 1 },
display_name => { type => 'varchar', default => '', length => 255, not_null => 1 },
organisation_code => { type => 'varchar', default => '', length => 6, not_null => 1 },
parent_organisation_id => { type => 'integer', default => '0', not_null => 1 },
referral_type_id => { type => 'integer', default => '0', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_keys => [
[ 'display_name' ],
[ 'organisation_code' ],
],
);
1;
#---------------------------------------------------------------------------
package LIMS::ReferralType;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'referral_types',
columns => [
id => { type => 'integer', not_null => 1 },
description => { type => 'varchar', default => '', length => 255, not_null => 1 },
prefix => { type => 'varchar', length => 2 },
default_unknown => { type => 'varchar', default => '', length => 8, not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'description' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::Referrer;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'referrers',
columns => [
id => { type => 'serial', not_null => 1 },
name => { type => 'varchar', default => '', length => 255, not_null => 1 },
national_code => { type => 'varchar', default => '', length => 8, not_null => 1 },
referral_type_id => { type => 'integer', default => '0', not_null => 1 },
active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'national_code' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::ReferrerDepartment;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'referrer_department',
columns => [
id => { type => 'serial', not_null => 1 },
referrer_id => { type => 'integer', default => '0', not_null => 1 },
parent_organisation_id => { type => 'integer', default => '0', not_null => 1 },
hospital_department_code => { type => 'integer', default => '0', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'referrer_id', 'parent_organisation_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::ReportErrorCode;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'report_error_codes',
columns => [
id => { type => 'integer', not_null => 1 },
code => { type => 'varchar', length => 2 },
description => { type => 'varchar', length => 255 },
active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'code' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::Request;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'requests',
columns => [
id => { type => 'serial', not_null => 1 },
request_number => { type => 'integer', default => '0', not_null => 1 },
year => { type => 'scalar', default => '0000', length => 4, not_null => 1 },
patient_case_id => { type => 'integer', default => '0', not_null => 1 },
referrer_department_id => { type => 'integer', default => '0', not_null => 1 },
status_option_id => { type => 'integer', default => 1, not_null => 1 },
created_at => { type => 'timestamp', not_null => 1 },
updated_at => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'request_number', 'year' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestAudit;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_audit',
columns => [
request_id => { type => 'integer', not_null => 1 },
audit_request_option_id => { type => 'integer', not_null => 1 },
],
primary_key_columns => [ 'request_id', 'audit_request_option_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestAuthorisationDiagnosi;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_authorisation_diagnosis',
columns => [
request_id => { type => 'integer', not_null => 1 },
report_diagnosis_id => { type => 'integer', default => '0', not_null => 1 },
auth_diagnosis_id => { type => 'integer', default => '0', not_null => 1 },
user_id => { type => 'integer', default => '0', not_null => 1 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'request_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestConsent;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_consent',
columns => [
request_id => { type => 'integer', not_null => 1 },
consent_id => { type => 'integer', not_null => 1 },
status => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'no', not_null => 1 },
],
primary_key_columns => [ 'request_id', 'consent_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestDiagnosisHistory;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_diagnosis_history',
columns => [
id => { type => 'serial', not_null => 1 },
request_id => { type => 'integer', default => '', not_null => 1 },
diagnosis_id => { type => 'integer', default => '', not_null => 1 },
reason => { type => 'enum', check_in => [ 'error', 'update' ] },
user_id => { type => 'integer', default => '', not_null => 1 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestDispatchLog;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_dispatch_log',
columns => [
id => { type => 'serial', not_null => 1 },
request_id => { type => 'integer', default => '0', not_null => 1 },
recipient => { type => 'varchar', default => '', length => 255, not_null => 1 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestErrorCode;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_error_code',
columns => [
id => { type => 'serial', not_null => 1 },
request_id => { type => 'integer', default => '0', not_null => 1 },
error_code_id => { type => 'integer', default => '0', not_null => 1 },
user_id => { type => 'integer', default => '0', not_null => 1 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestExternalRef;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_external_ref',
columns => [
request_id => { type => 'integer', not_null => 1 },
external_reference => { type => 'varchar', default => '', length => 255, not_null => 1 },
status => { type => 'varchar', length => 255 },
],
primary_key_columns => [ 'request_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestGeneralNote;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_general_notes',
columns => [
request_id => { type => 'integer', not_null => 1 },
detail => { type => 'text', length => 65535 },
],
primary_key_columns => [ 'request_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestGrossDescription;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_gross_description',
columns => [
request_id => { type => 'integer', not_null => 1 },
detail => { type => 'text', length => 65535 },
],
primary_key_columns => [ 'request_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestHistory;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_history',
columns => [
id => { type => 'serial', not_null => 1 },
request_id => { type => 'integer', default => '0', not_null => 1 },
action => { type => 'varchar', default => '', length => 255, not_null => 1 },
user_id => { type => 'integer', default => '0', not_null => 1 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestInitialScreen;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_initial_screen',
columns => [
request_id => { type => 'integer', not_null => 1 },
screen_id => { type => 'integer', default => '0', not_null => 1 },
],
primary_key_columns => [ 'request_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestLabSectionForeignId;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_lab_section_foreign_id',
columns => [
request_id => { type => 'integer', not_null => 1 },
lab_section_id => { type => 'integer', not_null => 1 },
foreign_id => { type => 'varchar', default => '', length => 25, not_null => 1 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'request_id', 'lab_section_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestLabSectionNote;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_lab_section_notes',
columns => [
request_id => { type => 'integer', not_null => 1 },
lab_section_id => { type => 'integer', not_null => 1 },
details => { type => 'text', length => 65535 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'request_id', 'lab_section_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestLabTestHistory;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_lab_test_history',
columns => [
id => { type => 'serial', not_null => 1 },
request_id => { type => 'integer', default => '0', not_null => 1 },
action => { type => 'varchar', default => '', length => 255, not_null => 1 },
user_id => { type => 'integer', default => '0', not_null => 1 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestLabTestResult;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_lab_test_results',
columns => [
id => { type => 'serial', not_null => 1 },
request_id => { type => 'integer', default => '0', not_null => 1 },
lab_test_id => { type => 'integer', default => '0', not_null => 1 },
result => { type => 'varchar', default => '', length => 255, not_null => 1 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'request_id', 'lab_test_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestLabTestStatu;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_lab_test_status',
columns => [
id => { type => 'serial', not_null => 1 },
request_id => { type => 'integer', default => '0', not_null => 1 },
lab_test_id => { type => 'integer', default => '0', not_null => 1 },
status_option_id => { type => 'integer', default => '0', not_null => 1 },
user_id => { type => 'integer', default => '0', not_null => 1 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'request_id', 'lab_test_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestOption;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_option',
columns => [
request_id => { type => 'integer', not_null => 1 },
option_id => { type => 'integer', not_null => 1 },
],
primary_key_columns => [ 'request_id', 'option_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestPhoneLog;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_phone_log',
columns => [
id => { type => 'serial', not_null => 1 },
request_id => { type => 'integer', default => '0', not_null => 1 },
user_id => { type => 'integer', default => '0', not_null => 1 },
status => { type => 'enum', check_in => [ 'inbound', 'outbound' ] },
contact => { type => 'varchar', default => '', length => 255, not_null => 1 },
details => { type => 'varchar', default => '', length => 255, not_null => 1 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestPrintLog;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_print_log',
columns => [
id => { type => 'serial', not_null => 1 },
request_id => { type => 'integer', default => '0', not_null => 1 },
user_id => { type => 'integer', default => '0', not_null => 1 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestReport;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_report',
columns => [
request_id => { type => 'integer', not_null => 1 },
comment => { type => 'text', length => 65535 },
clinical_details => { type => 'text', length => 65535 },
status => { type => 'enum', check_in => [ 'new', 'relapse', 'default' ], default => 'default', not_null => 1 },
specimen_quality => { type => 'enum', check_in => [ 'good', 'adequate', 'poor' ], default => 'adequate', not_null => 1 },
diagnosis_id => { type => 'integer', default => '', not_null => 1 },
created_at => { type => 'timestamp', not_null => 1 },
updated_at => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'request_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestReportHistory;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_report_history',
columns => [
id => { type => 'serial', not_null => 1 },
request_id => { type => 'integer', default => '0', not_null => 1 },
field => { type => 'varchar', default => '', length => 255, not_null => 1 },
content => { type => 'text', length => 65535 },
user_id => { type => 'integer', default => '0', not_null => 1 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestResultSummary;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_result_summaries',
columns => [
request_id => { type => 'integer', not_null => 1 },
lab_section_id => { type => 'integer', not_null => 1 },
results_summary => { type => 'text', length => 65535 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'request_id', 'lab_section_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestSpecimen;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_specimen',
columns => [
request_id => { type => 'integer', not_null => 1 },
specimen_id => { type => 'integer', not_null => 1 },
],
primary_key_columns => [ 'request_id', 'specimen_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestTrial;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_trial',
columns => [
request_id => { type => 'integer', not_null => 1 },
trial_id => { type => 'integer', default => '0', not_null => 1 },
],
primary_key_columns => [ 'request_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestViewLog;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_view_log',
columns => [
id => { type => 'serial', not_null => 1 },
request_id => { type => 'integer', default => '0', not_null => 1 },
user_id => { type => 'integer', default => '0', not_null => 1 },
ip_address => { type => 'varchar', default => '', length => 255, not_null => 1 },
time => { type => 'timestamp', not_null => 1 },
],
primary_key_columns => [ 'id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::ResultSummaryOption;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'result_summary_options',
columns => [
id => { type => 'integer', not_null => 1 },
description => { type => 'varchar', default => '', length => 255, not_null => 1 },
lab_section_id => { type => 'integer', default => '0', not_null => 1 },
is_active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'description', 'lab_section_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::Screen;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'screens',
columns => [
id => { type => 'integer', not_null => 1 },
description => { type => 'varchar', length => 50 },
sample_type => { type => 'enum', check_in => [ 'fresh', 'fixed' ] },
active => { type => 'enum', check_in => [ 'yes', 'no' ] },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'description' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::ScreenLabTest;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'screen_lab_test',
columns => [
screen_id => { type => 'integer', not_null => 1 },
lab_test_id => { type => 'integer', not_null => 1 },
],
primary_key_columns => [ 'screen_id', 'lab_test_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::ScreenLabTestDetail;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'screen_lab_test_detail',
columns => [
screen_id => { type => 'integer', not_null => 1 },
lab_section_id => { type => 'integer', not_null => 1 },
test_details => { type => 'varchar', default => '', length => 255, not_null => 1 },
],
primary_key_columns => [ 'screen_id', 'lab_section_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::Specimen;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'specimens',
columns => [
id => { type => 'integer', not_null => 1 },
sample_code => { type => 'varchar', length => 4 },
description => { type => 'varchar', length => 40 },
active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'sample_code' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::SpecimenLabTest;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'specimen_lab_test',
columns => [
specimen_id => { type => 'integer', not_null => 1 },
lab_test_id => { type => 'integer', not_null => 1 },
],
primary_key_columns => [ 'specimen_id', 'lab_test_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::StatusOption;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'status_options',
columns => [
id => { type => 'integer', not_null => 1 },
description => { type => 'varchar', default => '', length => 255, not_null => 1 },
is_editable => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
is_active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'description' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::User;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'users',
columns => [
id => { type => 'integer', not_null => 1 },
username => { type => 'varchar', default => 'username', length => 50, not_null => 1 },
first_name => { type => 'varchar', default => 'first_name', length => 50, not_null => 1 },
last_name => { type => 'varchar', default => 'last_name', length => 50, not_null => 1 },
password => { type => 'varchar', default => 'password', length => 32, not_null => 1 },
email => { type => 'varchar', default => 'user@here.com', length => 50, not_null => 1 },
user_location_id => { type => 'integer', default => '0', not_null => 1 },
designation => { type => 'varchar', default => 'designation', length => 50, not_null => 1 },
group_id => { type => 'integer', default => '0', not_null => 1 },
last_login => { type => 'timestamp', not_null => 1 },
active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_keys => [
[ 'email' ],
[ 'first_name', 'last_name' ],
[ 'username' ],
],
);
1;
#---------------------------------------------------------------------------
package LIMS::UserFunction;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'user_functions',
columns => [
id => { type => 'integer', not_null => 1 },
function_name => { type => 'varchar', length => 20 },
function_detail => { type => 'varchar', length => 255 },
active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_keys => [
[ 'function_detail' ],
[ 'function_name' ],
],
);
1;
#---------------------------------------------------------------------------
package LIMS::UserGroup;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'user_groups',
columns => [
id => { type => 'integer', not_null => 1 },
group_name => { type => 'varchar', length => 10 },
group_label => { type => 'varchar', length => 30 },
group_detail => { type => 'varchar', length => 255 },
active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_keys => [
[ 'group_label' ],
[ 'group_name' ],
],
);
1;
#---------------------------------------------------------------------------
package LIMS::UserGroupFunction;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'user_group_function',
columns => [
group_id => { type => 'integer', not_null => 1 },
function_id => { type => 'integer', not_null => 1 },
],
primary_key_columns => [ 'group_id', 'function_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::UserLocation;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'user_locations',
columns => [
id => { type => 'integer', not_null => 1 },
location_name => { type => 'varchar', default => '', length => 50, not_null => 1 },
active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes' },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'location_name' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::UserPermission;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'user_permission',
columns => [
user_id => { type => 'integer', not_null => 1 },
function_id => { type => 'integer', not_null => 1 },
],
primary_key_columns => [ 'user_id', 'function_id' ],
);
1;