# generated automatically by script/make_classes.pl
#---------------------------------------------------------------------------
package LIMS::DefaultsAndRange;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'defaults_and_ranges',
columns => [
param_id => { type => 'integer', not_null => 1 },
lower_limit => { type => 'numeric', precision => 10, scale => 2 },
upper_limit => { type => 'numeric', precision => 10, scale => 2 },
default => { type => 'numeric', precision => 10, scale => 2 },
lower_flag => { type => 'numeric', precision => 10, scale => 2 },
upper_flag => { type => 'numeric', precision => 10, scale => 3 },
units => { type => 'varchar', length => 255 },
],
primary_key_columns => [ 'param_id' ],
foreign_keys => [
param => {
class => 'LIMS::LabParam',
key_columns => { param_id => 'id' },
rel_type => 'one to one',
},
],
);
1;
#---------------------------------------------------------------------------
package LIMS::Diagnos;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'diagnoses',
columns => [
diagnosis_id => { type => 'integer', not_null => 1 },
],
primary_key_columns => [ 'diagnosis_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::FollowupOption;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'followup_options',
columns => [
id => { type => 'integer', not_null => 1 },
label => { type => 'varchar', length => 25 },
option => { type => 'varchar', length => 20 },
],
primary_key_columns => [ 'id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::LabParam;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'lab_params',
columns => [
id => { type => 'integer', not_null => 1 },
param_name => { type => 'varchar', default => '', length => 255, not_null => 1 },
field_label => { type => 'varchar', default => '', length => 255, not_null => 1 },
field_type => { type => 'enum', check_in => [ 'menu', 'int', 'decimal' ], default => 'int' },
department_id => { type => 'integer', default => '0', not_null => 1 },
],
primary_key_columns => [ 'id' ],
unique_key => [ 'param_name' ],
foreign_keys => [
department => {
class => 'LIMS::ResultType',
key_columns => { department_id => 'id' },
},
],
relationships => [
defaults_and_range => {
class => 'LIMS::DefaultsAndRange',
column_map => { id => 'param_id' },
type => 'one to one',
with_column_triggers => '0',
},
],
);
1;
#---------------------------------------------------------------------------
package LIMS::MenuOption;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'menu_options',
columns => [
field_name => { type => 'varchar', length => 255, not_null => 1 },
detail => { type => 'varchar', length => 255, not_null => 1 },
],
primary_key_columns => [ 'field_name', 'detail' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::NonParticipantPractice;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'non_participant_practice',
columns => [
practice_id => { type => 'integer', not_null => 1 },
],
primary_key_columns => [ 'practice_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::PatientAlternateAddress;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'patient_alternate_address',
columns => [
patient_id => { type => 'integer', not_null => 1 },
address => { type => 'varchar', default => '', length => 255, not_null => 1 },
post_code => { type => 'varchar', default => '', length => 8, not_null => 1 },
],
primary_key_columns => [ 'patient_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::PatientBloodTube;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'patient_blood_tube',
columns => [
patient_id => { type => 'integer', not_null => 1 },
tube_type => { type => 'enum', check_in => [ 'vacutainer', 'monovette' ] },
],
primary_key_columns => [ 'patient_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::PatientDispatchDetail;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'patient_dispatch_detail',
columns => [
patient_id => { type => 'integer', not_null => 1 },
dispatch_to => { type => 'enum', check_in => [ 'home', 'alternate', 'GP' ], default => 'home', not_null => 1 },
],
primary_key_columns => [ 'patient_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::PatientNote;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'patient_notes',
columns => [
patient_id => { type => 'integer', not_null => 1 },
detail => { type => 'text', default => '', length => 65535, not_null => 1 },
],
primary_key_columns => [ 'patient_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::QuestionnaireAdenopathy;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'questionnaire_adenopathy',
columns => [
request_id => { type => 'integer', not_null => 1 },
cervical_swelling => { type => 'enum', check_in => [ 'Y', 'N' ] },
axillary_swelling => { type => 'enum', check_in => [ 'Y', 'N' ] },
abdominal_swelling => { type => 'enum', check_in => [ 'Y', 'N' ] },
inguinal_swelling => { type => 'enum', check_in => [ 'Y', 'N' ] },
],
primary_key_columns => [ 'request_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::QuestionnaireDetail;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'questionnaire_details',
columns => [
request_id => { type => 'integer', not_null => 1 },
field_id => { type => 'varchar', length => 255, not_null => 1 },
details => { type => 'varchar', length => 255 },
],
primary_key_columns => [ 'request_id', 'field_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::QuestionnaireLocality;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'questionnaire_locality',
columns => [
request_id => { type => 'integer', not_null => 1 },
transport_arrangements => { type => 'varchar', length => 25 },
transport_difficulty => { type => 'enum', check_in => [ 'Y', 'N' ] },
location_preference => { type => 'enum', check_in => [ 'GP', 'clinic', 'not stated', 'no preference' ] },
waiting_duration => { type => 'integer' },
excessive_wait => { type => 'enum', check_in => [ 'Y', 'N' ] },
],
primary_key_columns => [ 'request_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::QuestionnairePain;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'questionnaire_pain',
columns => [
request_id => { type => 'integer', not_null => 1 },
rib_pain => { type => 'enum', check_in => [ 'none', 'mild', 'moderate', 'severe' ] },
back_pain => { type => 'enum', check_in => [ 'none', 'mild', 'moderate', 'severe' ] },
arm_pain => { type => 'enum', check_in => [ 'none', 'mild', 'moderate', 'severe' ] },
leg_pain => { type => 'enum', check_in => [ 'none', 'mild', 'moderate', 'severe' ] },
persistent_rib_pain => { type => 'enum', check_in => [ 'Y', 'N' ] },
persistent_back_pain => { type => 'enum', check_in => [ 'Y', 'N' ] },
persistent_arm_pain => { type => 'enum', check_in => [ 'Y', 'N' ] },
persistent_leg_pain => { type => 'enum', check_in => [ 'Y', 'N' ] },
],
primary_key_columns => [ 'request_id' ],
);
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::QuestionnaireTreatment;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'questionnaire_treatment',
columns => [
request_id => { type => 'integer', not_null => 1 },
hospital_referral => { type => 'enum', check_in => [ 'Y', 'N' ] },
new_medication => { type => 'enum', check_in => [ 'Y', 'N' ] },
],
primary_key_columns => [ 'request_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::RequestResult;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'request_results',
columns => [
request_id => { type => 'integer', not_null => 1 },
param_id => { type => 'integer', not_null => 1 },
result => { type => 'varchar', default => '', length => 255, not_null => 1 },
],
primary_key_columns => [ 'request_id', 'param_id' ],
);
1;
#---------------------------------------------------------------------------
package LIMS::ResultType;
use strict;
use base qw(LIMS::DB::Object::AutoBase1);
__PACKAGE__->meta->setup(
table => 'result_types',
columns => [
id => { type => 'integer', not_null => 1 },
description => { type => 'varchar', default => '', length => 25, not_null => 1 },
],
primary_key_columns => [ 'id' ],
relationships => [
lab_params => {
class => 'LIMS::LabParam',
column_map => { id => 'department_id' },
type => 'one to many',
},
],
);
1;