package LIMS::DB::Diagnosis; use base qw(LIMS::RDBO); __PACKAGE__->meta->setup( table => 'diagnoses', columns => [ id => { type => 'serial', 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' ], foreign_keys => [ diagnostic_category => { class => 'LIMS::DB::DiagnosticCategory', key_columns => { diagnostic_category_id => 'id' }, }, ], relationships => [ auth_diagnosis_objs => { map_class => 'LIMS::DB::RequestAuthorisationDiagnosis', map_from => 'report_diagnosis', map_to => 'auth_diagnosis', type => 'many to many', }, context_warnings => { map_class => 'LIMS::DB::ContextWarningDiagnosis', map_from => 'diagnosis', map_to => 'context_warning', type => 'many to many', }, icdo3_category => { # my def to select diagnoses by sub-category class => 'LIMS::DB::ICDOCategory', column_map => { icdo3 => 'icdo3' }, type => 'one to many', }, report_diagnosis_objs => { map_class => 'LIMS::DB::RequestAuthorisationDiagnosis', map_from => 'auth_diagnosis', map_to => 'report_diagnosis', type => 'many to many', }, request_authorisation_diagnosis => { class => 'LIMS::DB::RequestAuthorisationDiagnosis', column_map => { id => 'auth_diagnosis_id' }, type => 'one to many', }, request_authorisation_diagnosis_objs => { # what ??? class => 'LIMS::DB::RequestAuthorisationDiagnosis', column_map => { id => 'report_diagnosis_id' }, type => 'one to many', }, request_diagnosis_history => { class => 'LIMS::DB::RequestDiagnosisHistory', column_map => { id => 'diagnosis_id' }, type => 'one to many', }, request_report => { class => 'LIMS::DB::RequestReport', column_map => { id => 'diagnosis_id' }, type => 'one to many', }, ], ); __PACKAGE__->meta->make_manager_class('diagnoses'); 1;