package LIMS::DB::ReferralSource; use base qw(LIMS::RDBO); my $config = __PACKAGE__->lims_config(); # warn Dumper $config; my @relationships = ( email_contacts => { class => 'LIMS::DB::EmailContact', column_map => { id => 'referral_source_id' }, type => 'one to many', }, patient_case => { class => 'LIMS::DB::PatientCase', column_map => { id => 'referral_source_id' }, type => 'one to many', }, ); # add Outreach rels if in use: if ($config->{settings}->{have_outreach}) { my @outreach = ( outreach_practice_blood_tube => { class => 'LIMS::DB::Outreach::PracticeBloodTube', column_map => { id => 'practice_id' }, type => 'one to one', optional => 1, }, ); push @relationships, $_ for @outreach; } __PACKAGE__->meta->setup ( table => 'referral_sources', columns => [ id => { type => 'serial', not_null => 1 }, display_name => { type => 'varchar', length => 255, not_null => 1 }, organisation_code => { type => 'varchar', 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 }, is_active => { type => 'enum', check_in => [ 'yes', 'no' ], default => 'yes', not_null => 1 }, ], primary_key_columns => [ 'id' ], unique_keys => [ [ 'display_name' ], [ 'organisation_code' ], ], foreign_keys => [ parent_organisation => { class => 'LIMS::DB::ParentOrganisation', key_columns => { parent_organisation_id => 'id' }, }, referral_type => { class => 'LIMS::DB::ReferralType', key_columns => { referral_type_id => 'id' }, }, ], relationships => \@relationships, ); __PACKAGE__->meta->make_manager_class('referral_sources'); 1;