#![allow(non_camel_case_types)] use rand::{thread_rng, prelude::SliceRandom}; #[derive(Clone, PartialEq)] pub enum Events { no_recurrence_events, recurrence_events } use Events::*; #[derive(Clone)] pub enum Age { a10_19, a20_29, a30_39, a40_49, a50_59, a60_69, a70_79, a80_89, a90_99 } use Age::*; #[derive(Clone)] pub enum Menopause { lt40, ge40, premeno } use Menopause::*; #[derive(Clone)] pub enum TumorSize { t0_4, t5_9, t10_14, t15_19, t20_24, t25_29, t30_34, t35_39, t40_44, t45_49, t50_54, t55_59 } use TumorSize::*; #[derive(Clone)] pub enum InvNodes { i0_2, i3_5, i6_8, i9_11, i12_14, i15_17, i18_20, i21_23, i24_26, i27_29, i30_32, i33_35, i36_39 } use InvNodes::*; #[derive(Clone)] pub enum Binary { yes, no, q } use Binary::*; #[derive(Clone)] pub enum Breast { left, right } use Breast::*; #[derive(Clone)] pub enum BreastQuad { left_up, left_low, right_up, right_low, central, qbq } use BreastQuad::*; #[derive(Clone, Debug, PartialEq, Iterable)] struct Person { events: Events, age: Age, menopause: Menopause, tumor_size: TumorSize, inv_nodes: InvNodes, node_caps: Binary, deg_malig: u8, breast: Breast, breast_quad: BreastQuad, irradiat: Binary, } impl Person { const fn new( events: Events, age: Age, menopause: Menopause, tumor_size: TumorSize, inv_nodes: InvNodes, node_caps: Binary, deg_malig: u8, breast: Breast, breast_quad: BreastQuad, irradiat: Binary, ) -> Person { Person { events, age, menopause, tumor_size, inv_nodes, node_caps, deg_malig, breast, breast_quad, irradiat, } } } /// Returns (training, testing) /// Replace q and qbq! pub fn get_data() -> (Vec, Vec) { let mut vec = dataset.to_vec(); assert_eq!((vec.len() as f64 * 0.8) as usize - 1, 347); // We want 70.27972% to be no_recurrence and the other to be recurrence // We use 80% for training and 20% for testing // Meaning, our training data is 229 elements, // where 161 are no_recurrence and 68 are recurrence vec.rotate_right(68); let (a, b) = vec.split_at(229); assert_eq!( a.into_iter() .fold(0, |acc, person| if person.events == recurrence_events { acc + 1 } else { acc }), 68); let (mut a, mut b) = (a.to_vec(), b.to_vec()); a.shuffle(&mut thread_rng()); b.shuffle(&mut thread_rng()); (a, b) } static dataset: [Person; 286] = [ Person::new(no_recurrence_events,a30_39,premeno,t30_34,i0_2,no,3,left,left_low,no), Person::new(no_recurrence_events,a40_49,premeno,t20_24,i0_2,no,2,right,right_up,no), Person::new(no_recurrence_events,a40_49,premeno,t20_24,i0_2,no,2,left,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t15_19,i0_2,no,2,right,left_up,no), Person::new(no_recurrence_events,a40_49,premeno,t0_4,i0_2,no,2,right,right_low,no), Person::new(no_recurrence_events,a60_69,ge40,t15_19,i0_2,no,2,left,left_low,no), Person::new(no_recurrence_events,a50_59,premeno,t25_29,i0_2,no,2,left,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t20_24,i0_2,no,1,left,left_low,no), Person::new(no_recurrence_events,a40_49,premeno,t50_54,i0_2,no,2,left,left_low,no), Person::new(no_recurrence_events,a40_49,premeno,t20_24,i0_2,no,2,right,left_up,no), Person::new(no_recurrence_events,a40_49,premeno,t0_4,i0_2,no,3,left,central,no), Person::new(no_recurrence_events,a50_59,ge40,t25_29,i0_2,no,2,left,left_low,no), Person::new(no_recurrence_events,a60_69,lt40,t10_14,i0_2,no,1,left,right_up,no), Person::new(no_recurrence_events,a50_59,ge40,t25_29,i0_2,no,3,left,right_up,no), Person::new(no_recurrence_events,a40_49,premeno,t30_34,i0_2,no,3,left,left_up,no), Person::new(no_recurrence_events,a60_69,lt40,t30_34,i0_2,no,1,left,left_low,no), Person::new(no_recurrence_events,a40_49,premeno,t15_19,i0_2,no,2,left,left_low,no), Person::new(no_recurrence_events,a50_59,premeno,t30_34,i0_2,no,3,left,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t30_34,i0_2,no,3,left,left_low,no), Person::new(no_recurrence_events,a50_59,ge40,t30_34,i0_2,no,1,right,right_up,no), Person::new(no_recurrence_events,a50_59,ge40,t40_44,i0_2,no,2,left,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t15_19,i0_2,no,2,left,left_low,no), Person::new(no_recurrence_events,a30_39,premeno,t25_29,i0_2,no,2,right,left_low,no), Person::new(no_recurrence_events,a50_59,premeno,t40_44,i0_2,no,2,left,left_up,no), Person::new(no_recurrence_events,a50_59,premeno,t35_39,i0_2,no,2,right,left_up,no), Person::new(no_recurrence_events,a40_49,premeno,t25_29,i0_2,no,2,left,left_up,no), Person::new(no_recurrence_events,a50_59,premeno,t20_24,i0_2,no,1,left,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t25_29,i0_2,no,3,right,left_up,no), Person::new(no_recurrence_events,a40_49,premeno,t40_44,i0_2,no,2,right,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t30_34,i0_2,no,2,left,left_low,no), Person::new(no_recurrence_events,a50_59,ge40,t40_44,i0_2,no,3,right,left_up,no), Person::new(no_recurrence_events,a50_59,premeno,t15_19,i0_2,no,2,right,left_low,no), Person::new(no_recurrence_events,a50_59,premeno,t10_14,i0_2,no,3,left,left_low,no), Person::new(no_recurrence_events,a50_59,ge40,t10_14,i0_2,no,1,right,left_up,no), Person::new(no_recurrence_events,a50_59,ge40,t10_14,i0_2,no,1,left,left_up,no), Person::new(no_recurrence_events,a30_39,premeno,t30_34,i0_2,no,2,left,left_up,no), Person::new(no_recurrence_events,a50_59,ge40,t0_4,i0_2,no,2,left,central,no), Person::new(no_recurrence_events,a50_59,ge40,t15_19,i0_2,no,1,right,central,no), Person::new(no_recurrence_events,a40_49,premeno,t10_14,i0_2,no,2,left,left_low,no), Person::new(no_recurrence_events,a40_49,premeno,t30_34,i0_2,no,1,left,left_low,no), Person::new(no_recurrence_events,a50_59,ge40,t20_24,i0_2,no,1,right,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t25_29,i0_2,no,2,left,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t5_9,i0_2,no,1,left,central,no), Person::new(no_recurrence_events,a40_49,premeno,t10_14,i0_2,no,2,left,left_up,no), Person::new(no_recurrence_events,a50_59,ge40,t50_54,i0_2,no,1,right,right_up,no), Person::new(no_recurrence_events,a50_59,ge40,t30_34,i0_2,no,1,left,left_up,no), Person::new(no_recurrence_events,a40_49,premeno,t25_29,i0_2,no,2,right,left_low,no), Person::new(no_recurrence_events,a50_59,premeno,t25_29,i0_2,no,1,right,left_up,no), Person::new(no_recurrence_events,a40_49,premeno,t20_24,i0_2,no,1,right,right_up,no), Person::new(no_recurrence_events,a40_49,premeno,t20_24,i0_2,no,1,right,left_low,no), Person::new(no_recurrence_events,a50_59,lt40,t15_19,i0_2,no,2,left,left_low,no), Person::new(no_recurrence_events,a30_39,premeno,t20_24,i0_2,no,2,left,right_low,no), Person::new(no_recurrence_events,a50_59,premeno,t15_19,i0_2,no,1,left,left_low,no), Person::new(no_recurrence_events,a70_79,ge40,t20_24,i0_2,no,3,left,left_up,no), Person::new(no_recurrence_events,a70_79,ge40,t40_44,i0_2,no,1,right,left_up,no), Person::new(no_recurrence_events,a70_79,ge40,t40_44,i0_2,no,1,right,right_up,no), Person::new(no_recurrence_events,a50_59,ge40,t0_4,i0_2,no,1,right,central,no), Person::new(no_recurrence_events,a50_59,ge40,t5_9,i0_2,no,2,right,right_up,no), Person::new(no_recurrence_events,a60_69,ge40,t30_34,i0_2,no,1,left,left_up,no), Person::new(no_recurrence_events,a60_69,ge40,t15_19,i0_2,no,1,right,left_up,no), Person::new(no_recurrence_events,a40_49,premeno,t20_24,i0_2,no,2,left,central,no), Person::new(no_recurrence_events,a40_49,premeno,t10_14,i0_2,no,1,right,right_low,no), Person::new(no_recurrence_events,a50_59,ge40,t0_4,i0_2,no,1,left,left_low,no), Person::new(no_recurrence_events,a20_29,premeno,t35_39,i0_2,no,2,right,right_up,no), Person::new(no_recurrence_events,a40_49,premeno,t25_29,i0_2,no,1,left,right_low,no), Person::new(no_recurrence_events,a40_49,premeno,t10_14,i0_2,no,1,right,left_up,no), Person::new(no_recurrence_events,a40_49,premeno,t25_29,i0_2,no,1,right,right_low,no), Person::new(no_recurrence_events,a50_59,ge40,t20_24,i0_2,no,3,left,left_up,no), Person::new(no_recurrence_events,a50_59,ge40,t35_39,i0_2,no,3,left,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t50_54,i0_2,no,2,left,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t10_14,i0_2,no,1,left,left_low,no), Person::new(no_recurrence_events,a40_49,premeno,t25_29,i0_2,no,2,right,left_up,no), Person::new(no_recurrence_events,a60_69,ge40,t20_24,i0_2,no,2,left,left_up,no), Person::new(no_recurrence_events,a50_59,premeno,t15_19,i0_2,no,2,right,right_low,no), Person::new(no_recurrence_events,a30_39,premeno,t5_9,i0_2,no,2,left,right_low,no), Person::new(no_recurrence_events,a50_59,ge40,t10_14,i0_2,no,1,left,left_low,no), Person::new(no_recurrence_events,a50_59,ge40,t10_14,i0_2,no,2,left,left_low,no), Person::new(no_recurrence_events,a30_39,premeno,t25_29,i0_2,no,1,left,central,no), Person::new(no_recurrence_events,a50_59,premeno,t25_29,i0_2,no,2,left,left_low,no), Person::new(no_recurrence_events,a40_49,premeno,t25_29,i0_2,no,2,right,central,no), Person::new(no_recurrence_events,a50_59,ge40,t10_14,i0_2,no,2,right,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t10_14,i0_2,no,1,left,left_up,no), Person::new(no_recurrence_events,a60_69,ge40,t15_19,i0_2,no,2,right,left_low,no), Person::new(no_recurrence_events,a50_59,ge40,t15_19,i0_2,no,2,right,left_low,no), Person::new(no_recurrence_events,a40_49,premeno,t20_24,i0_2,no,1,left,right_low,no), Person::new(no_recurrence_events,a50_59,ge40,t35_39,i0_2,no,3,left,left_up,no), Person::new(no_recurrence_events,a60_69,ge40,t25_29,i0_2,no,2,right,left_low,no), Person::new(no_recurrence_events,a70_79,ge40,t0_4,i0_2,no,1,left,right_low,no), Person::new(no_recurrence_events,a50_59,ge40,t20_24,i0_2,no,3,right,left_up,no), Person::new(no_recurrence_events,a40_49,premeno,t40_44,i0_2,no,1,right,left_up,no), Person::new(no_recurrence_events,a30_39,premeno,t0_4,i0_2,no,2,right,central,no), Person::new(no_recurrence_events,a50_59,ge40,t20_24,i0_2,no,3,left,left_up,no), Person::new(no_recurrence_events,a50_59,ge40,t25_29,i0_2,no,2,right,left_up,no), Person::new(no_recurrence_events,a60_69,ge40,t20_24,i0_2,no,2,right,left_up,no), Person::new(no_recurrence_events,a50_59,premeno,t10_14,i0_2,no,1,left,left_low,no), Person::new(no_recurrence_events,a40_49,premeno,t30_34,i0_2,no,2,right,right_low,no), Person::new(no_recurrence_events,a60_69,ge40,t30_34,i0_2,no,2,left,left_up,no), Person::new(no_recurrence_events,a60_69,ge40,t15_19,i0_2,no,2,right,left_up,no), Person::new(no_recurrence_events,a40_49,premeno,t30_34,i0_2,no,1,left,right_up,no), Person::new(no_recurrence_events,a30_39,premeno,t25_29,i0_2,no,2,left,left_low,no), Person::new(no_recurrence_events,a40_49,ge40,t20_24,i0_2,no,3,left,left_low,no), Person::new(no_recurrence_events,a50_59,ge40,t30_34,i0_2,no,3,right,left_low,no), Person::new(no_recurrence_events,a50_59,premeno,t25_29,i0_2,no,2,right,right_low,no), Person::new(no_recurrence_events,a40_49,premeno,t20_24,i0_2,no,2,left,right_low,no), Person::new(no_recurrence_events,a40_49,premeno,t10_14,i0_2,no,2,right,left_low,no), Person::new(no_recurrence_events,a40_49,premeno,t30_34,i0_2,no,1,right,left_up,no), Person::new(no_recurrence_events,a40_49,premeno,t20_24,i0_2,no,2,left,left_up,no), Person::new(no_recurrence_events,a30_39,premeno,t40_44,i0_2,no,2,right,right_up,no), Person::new(no_recurrence_events,a40_49,premeno,t30_34,i0_2,no,3,right,right_up,no), Person::new(no_recurrence_events,a60_69,ge40,t30_34,i0_2,no,1,right,left_up,no), Person::new(no_recurrence_events,a50_59,ge40,t25_29,i0_2,no,1,left,left_low,no), Person::new(no_recurrence_events,a50_59,ge40,t15_19,i0_2,no,1,right,central,no), Person::new(no_recurrence_events,a40_49,premeno,t20_24,i0_2,no,2,right,left_up,no), Person::new(no_recurrence_events,a40_49,premeno,t10_14,i0_2,no,1,right,left_up,no), Person::new(no_recurrence_events,a40_49,premeno,t35_39,i0_2,no,2,right,right_up,no), Person::new(no_recurrence_events,a50_59,ge40,t20_24,i0_2,no,2,right,left_up,no), Person::new(no_recurrence_events,a30_39,premeno,t15_19,i0_2,no,1,left,left_low,no), Person::new(no_recurrence_events,a40_49,ge40,t20_24,i0_2,no,3,left,left_up,no), Person::new(no_recurrence_events,a30_39,premeno,t10_14,i0_2,no,1,right,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t15_19,i0_2,no,1,left,right_low,no), Person::new(no_recurrence_events,a60_69,ge40,t20_24,i0_2,no,1,left,left_low,no), Person::new(no_recurrence_events,a50_59,ge40,t15_19,i0_2,no,2,right,right_up,no), Person::new(no_recurrence_events,a50_59,ge40,t40_44,i0_2,no,3,left,left_up,no), Person::new(no_recurrence_events,a50_59,ge40,t30_34,i0_2,no,1,right,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t10_14,i0_2,no,1,right,left_low,no), Person::new(no_recurrence_events,a70_79,ge40,t10_14,i0_2,no,2,left,central,no), Person::new(no_recurrence_events,a30_39,premeno,t30_34,i6_8,yes,2,right,right_up,no), Person::new(no_recurrence_events,a30_39,premeno,t25_29,i6_8,yes,2,right,left_up,yes), Person::new(no_recurrence_events,a50_59,premeno,t25_29,i0_2,yes,2,left,left_up,no), Person::new(no_recurrence_events,a40_49,premeno,t35_39,i9_11,yes,2,right,left_up,yes), Person::new(no_recurrence_events,a40_49,premeno,t35_39,i9_11,yes,2,right,right_up,yes), Person::new(no_recurrence_events,a40_49,premeno,t40_44,i3_5,yes,3,right,left_up,yes), Person::new(no_recurrence_events,a40_49,premeno,t30_34,i6_8,no,2,left,left_up,no), Person::new(no_recurrence_events,a50_59,ge40,t40_44,i0_2,no,3,left,right_up,no), Person::new(no_recurrence_events,a60_69,ge40,t30_34,i0_2,no,2,left,left_low,yes), Person::new(no_recurrence_events,a30_39,premeno,t20_24,i3_5,no,2,right,central,no), Person::new(no_recurrence_events,a30_39,premeno,t40_44,i3_5,no,3,right,right_up,yes), Person::new(no_recurrence_events,a40_49,premeno,t5_9,i0_2,no,1,left,left_low,yes), Person::new(no_recurrence_events,a30_39,premeno,t40_44,i0_2,no,2,left,left_low,yes), Person::new(no_recurrence_events,a40_49,premeno,t30_34,i0_2,no,2,left,right_low,no), Person::new(no_recurrence_events,a50_59,ge40,t40_44,i3_5,yes,2,left,left_low,no), Person::new(no_recurrence_events,a50_59,premeno,t20_24,i3_5,yes,2,left,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t10_14,i0_2,no,1,left,left_up,no), Person::new(no_recurrence_events,a40_49,premeno,t45_49,i0_2,no,2,left,left_low,yes), Person::new(no_recurrence_events,a60_69,ge40,t45_49,i6_8,yes,3,left,central,no), Person::new(no_recurrence_events,a40_49,premeno,t25_29,i0_2,q,2,left,right_low,yes), Person::new(no_recurrence_events,a60_69,ge40,t50_54,i0_2,no,2,right,left_up,yes), Person::new(no_recurrence_events,a50_59,premeno,t30_34,i3_5,yes,2,left,left_low,yes), Person::new(no_recurrence_events,a30_39,premeno,t20_24,i0_2,no,3,left,central,no), Person::new(no_recurrence_events,a50_59,lt40,t30_34,i0_2,no,3,right,left_up,no), Person::new(no_recurrence_events,a50_59,ge40,t25_29,i15_17,yes,3,right,left_up,no), Person::new(no_recurrence_events,a60_69,ge40,t30_34,i3_5,yes,3,left,left_low,no), Person::new(no_recurrence_events,a50_59,ge40,t35_39,i15_17,no,3,left,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t15_19,i0_2,no,3,right,left_up,yes), Person::new(no_recurrence_events,a30_39,lt40,t15_19,i0_2,no,3,right,left_up,no), Person::new(no_recurrence_events,a60_69,ge40,t40_44,i3_5,no,2,right,left_up,yes), Person::new(no_recurrence_events,a50_59,ge40,t25_29,i3_5,yes,3,right,left_up,no), Person::new(no_recurrence_events,a50_59,premeno,t30_34,i0_2,no,1,left,central,no), Person::new(no_recurrence_events,a50_59,ge40,t30_34,i0_2,no,1,right,central,no), Person::new(no_recurrence_events,a40_49,premeno,t35_39,i0_2,no,1,left,left_low,no), Person::new(no_recurrence_events,a40_49,premeno,t25_29,i0_2,no,3,right,left_up,yes), Person::new(no_recurrence_events,a40_49,premeno,t30_34,i3_5,yes,2,right,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t10_14,i0_2,no,2,right,left_up,yes), Person::new(no_recurrence_events,a60_69,ge40,t25_29,i3_5,q,1,right,left_up,yes), Person::new(no_recurrence_events,a60_69,ge40,t25_29,i3_5,q,1,right,left_low,yes), Person::new(no_recurrence_events,a40_49,premeno,t20_24,i3_5,no,2,right,left_up,no), Person::new(no_recurrence_events,a40_49,premeno,t20_24,i3_5,no,2,right,left_low,no), Person::new(no_recurrence_events,a40_49,ge40,t40_44,i15_17,yes,2,right,left_up,yes), Person::new(no_recurrence_events,a50_59,premeno,t10_14,i0_2,no,2,right,left_up,no), Person::new(no_recurrence_events,a40_49,ge40,t30_34,i0_2,no,2,left,left_up,yes), Person::new(no_recurrence_events,a30_39,premeno,t20_24,i3_5,yes,2,right,left_up,yes), Person::new(no_recurrence_events,a30_39,premeno,t15_19,i0_2,no,1,left,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t30_34,i6_8,yes,2,right,right_up,no), Person::new(no_recurrence_events,a50_59,ge40,t20_24,i3_5,yes,2,right,left_up,no), Person::new(no_recurrence_events,a50_59,premeno,t25_29,i3_5,yes,2,left,left_low,yes), Person::new(no_recurrence_events,a40_49,premeno,t30_34,i0_2,no,2,right,right_up,yes), Person::new(no_recurrence_events,a40_49,ge40,t25_29,i0_2,no,2,left,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t10_14,i0_2,no,2,left,left_low,no), Person::new(no_recurrence_events,a50_59,premeno,t25_29,i3_5,no,2,right,left_up,yes), Person::new(no_recurrence_events,a40_49,premeno,t20_24,i0_2,no,3,right,left_low,yes), Person::new(no_recurrence_events,a40_49,premeno,t35_39,i0_2,yes,3,right,left_up,yes), Person::new(no_recurrence_events,a40_49,premeno,t35_39,i0_2,yes,3,right,left_low,yes), Person::new(no_recurrence_events,a40_49,premeno,t25_29,i0_2,no,1,right,left_low,yes), Person::new(no_recurrence_events,a50_59,ge40,t30_34,i9_11,q,3,left,left_up,yes), Person::new(no_recurrence_events,a50_59,ge40,t30_34,i9_11,q,3,left,left_low,yes), Person::new(no_recurrence_events,a40_49,premeno,t20_24,i6_8,no,2,right,left_low,yes), Person::new(no_recurrence_events,a50_59,ge40,t25_29,i0_2,no,1,left,right_low,no), Person::new(no_recurrence_events,a60_69,ge40,t15_19,i0_2,no,2,left,left_up,yes), Person::new(no_recurrence_events,a40_49,premeno,t10_14,i0_2,no,2,right,left_up,no), Person::new(no_recurrence_events,a50_59,ge40,t20_24,i0_2,yes,2,right,left_up,no), Person::new(no_recurrence_events,a40_49,premeno,t15_19,i12_14,no,3,right,right_low,yes), Person::new(no_recurrence_events,a40_49,premeno,t25_29,i0_2,no,2,left,left_up,yes), Person::new(no_recurrence_events,a50_59,ge40,t30_34,i6_8,yes,2,left,left_low,no), Person::new(no_recurrence_events,a30_39,premeno,t10_14,i0_2,no,2,left,right_low,no), Person::new(no_recurrence_events,a50_59,premeno,t50_54,i0_2,yes,2,right,left_up,yes), Person::new(no_recurrence_events,a50_59,ge40,t35_39,i0_2,no,2,left,left_up,no), Person::new(no_recurrence_events,a50_59,premeno,t10_14,i3_5,no,1,right,left_up,no), Person::new(no_recurrence_events,a40_49,premeno,t10_14,i0_2,no,2,left,left_low,yes), Person::new(no_recurrence_events,a50_59,ge40,t15_19,i0_2,yes,2,left,central,yes), Person::new(no_recurrence_events,a50_59,premeno,t25_29,i0_2,no,1,left,left_low,no), Person::new(no_recurrence_events,a60_69,ge40,t25_29,i0_2,no,3,right,left_low,no), Person::new(recurrence_events,a50_59,premeno,t15_19,i0_2,no,2,left,left_low,no), Person::new(recurrence_events,a40_49,premeno,t40_44,i0_2,no,1,left,left_low,no), Person::new(recurrence_events,a50_59,ge40,t35_39,i0_2,no,2,left,left_low,no), Person::new(recurrence_events,a50_59,premeno,t25_29,i0_2,no,2,left,right_up,no), Person::new(recurrence_events,a30_39,premeno,t0_4,i0_2,no,2,right,central,no), Person::new(recurrence_events,a50_59,ge40,t30_34,i0_2,no,3,left,qbq,no), Person::new(recurrence_events,a50_59,premeno,t25_29,i0_2,no,2,left,right_up,no), Person::new(recurrence_events,a50_59,premeno,t30_34,i0_2,no,3,left,right_up,no), Person::new(recurrence_events,a40_49,premeno,t35_39,i0_2,no,1,right,left_up,no), Person::new(recurrence_events,a40_49,premeno,t20_24,i0_2,no,2,left,left_low,no), Person::new(recurrence_events,a50_59,ge40,t20_24,i0_2,no,2,right,central,no), Person::new(recurrence_events,a40_49,premeno,t30_34,i0_2,no,3,right,right_up,no), Person::new(recurrence_events,a50_59,premeno,t25_29,i0_2,no,1,right,left_up,no), Person::new(recurrence_events,a60_69,ge40,t40_44,i0_2,no,2,right,left_low,no), Person::new(recurrence_events,a40_49,ge40,t20_24,i0_2,no,2,right,left_up,no), Person::new(recurrence_events,a50_59,ge40,t20_24,i0_2,no,2,left,left_up,no), Person::new(recurrence_events,a40_49,premeno,t15_19,i0_2,no,2,left,left_up,no), Person::new(recurrence_events,a60_69,ge40,t30_34,i0_2,no,3,right,central,no), Person::new(recurrence_events,a30_39,premeno,t15_19,i0_2,no,1,right,left_low,no), Person::new(recurrence_events,a40_49,premeno,t25_29,i0_2,no,3,left,right_up,no), Person::new(recurrence_events,a30_39,premeno,t30_34,i0_2,no,1,right,left_up,no), Person::new(recurrence_events,a60_69,ge40,t25_29,i0_2,no,3,left,right_low,yes), Person::new(recurrence_events,a60_69,ge40,t20_24,i0_2,no,3,right,left_low,no), Person::new(recurrence_events,a30_39,premeno,t25_29,i3_5,yes,3,left,left_low,yes), Person::new(recurrence_events,a40_49,ge40,t20_24,i3_5,no,3,right,left_low,yes), Person::new(recurrence_events,a40_49,premeno,t30_34,i15_17,yes,3,left,left_low,no), Person::new(recurrence_events,a50_59,premeno,t30_34,i0_2,no,3,right,left_up,yes), Person::new(recurrence_events,a60_69,ge40,t40_44,i3_5,yes,3,right,left_low,no), Person::new(recurrence_events,a60_69,ge40,t45_49,i0_2,no,1,right,right_up,yes), Person::new(recurrence_events,a50_59,premeno,t50_54,i9_11,yes,2,right,left_up,no), Person::new(recurrence_events,a40_49,premeno,t30_34,i3_5,no,2,right,left_up,no), Person::new(recurrence_events,a30_39,premeno,t30_34,i3_5,no,3,right,left_up,yes), Person::new(recurrence_events,a70_79,ge40,t15_19,i9_11,q,1,left,left_low,yes), Person::new(recurrence_events,a60_69,ge40,t30_34,i0_2,no,3,right,left_up,yes), Person::new(recurrence_events,a50_59,premeno,t25_29,i3_5,yes,3,left,left_low,yes), Person::new(recurrence_events,a40_49,premeno,t25_29,i0_2,no,2,right,left_low,no), Person::new(recurrence_events,a40_49,premeno,t25_29,i0_2,no,2,right,left_low,no), Person::new(recurrence_events,a30_39,premeno,t35_39,i0_2,no,3,left,left_low,no), Person::new(recurrence_events,a40_49,premeno,t20_24,i3_5,yes,2,right,right_up,yes), Person::new(recurrence_events,a60_69,ge40,t20_24,i3_5,no,2,left,left_low,yes), Person::new(recurrence_events,a40_49,premeno,t15_19,i15_17,yes,3,left,left_low,no), Person::new(recurrence_events,a50_59,ge40,t25_29,i6_8,no,3,left,left_low,yes), Person::new(recurrence_events,a50_59,ge40,t20_24,i3_5,yes,3,right,right_up,no), Person::new(recurrence_events,a40_49,premeno,t30_34,i12_14,yes,3,left,left_up,yes), Person::new(recurrence_events,a30_39,premeno,t30_34,i9_11,no,2,right,left_up,yes), Person::new(recurrence_events,a30_39,premeno,t15_19,i6_8,yes,3,left,left_low,yes), Person::new(recurrence_events,a50_59,ge40,t30_34,i9_11,yes,3,left,right_low,yes), Person::new(recurrence_events,a60_69,ge40,t35_39,i6_8,yes,3,left,left_low,no), Person::new(recurrence_events,a30_39,premeno,t20_24,i3_5,yes,2,left,left_low,no), Person::new(recurrence_events,a40_49,premeno,t25_29,i0_2,no,3,left,left_up,no), Person::new(recurrence_events,a40_49,premeno,t50_54,i0_2,no,2,right,left_low,yes), Person::new(recurrence_events,a30_39,premeno,t40_44,i0_2,no,1,left,left_up,no), Person::new(recurrence_events,a60_69,ge40,t50_54,i0_2,no,3,right,left_up,no), Person::new(recurrence_events,a40_49,premeno,t30_34,i0_2,yes,3,right,right_up,no), Person::new(recurrence_events,a40_49,premeno,t30_34,i6_8,yes,3,right,left_up,no), Person::new(recurrence_events,a40_49,premeno,t30_34,i0_2,no,1,left,left_low,yes), Person::new(recurrence_events,a40_49,premeno,t20_24,i3_5,yes,2,left,left_low,yes), Person::new(recurrence_events,a50_59,ge40,t30_34,i6_8,yes,2,left,right_low,yes), Person::new(recurrence_events,a50_59,ge40,t30_34,i3_5,no,3,right,left_up,no), Person::new(recurrence_events,a60_69,ge40,t25_29,i3_5,no,2,right,right_up,no), Person::new(recurrence_events,a40_49,ge40,t25_29,i12_14,yes,3,left,right_low,yes), Person::new(recurrence_events,a60_69,ge40,t25_29,i0_2,no,3,left,left_up,no), Person::new(recurrence_events,a50_59,lt40,t20_24,i0_2,q,1,left,left_up,no), Person::new(recurrence_events,a50_59,lt40,t20_24,i0_2,q,1,left,left_low,no), Person::new(recurrence_events,a30_39,premeno,t35_39,i9_11,yes,3,left,left_low,no), Person::new(recurrence_events,a40_49,premeno,t30_34,i3_5,yes,2,left,right_up,no), Person::new(recurrence_events,a60_69,ge40,t20_24,i24_26,yes,3,left,left_low,yes), Person::new(recurrence_events,a30_39,premeno,t35_39,i0_2,no,3,left,left_low,no), Person::new(recurrence_events,a40_49,premeno,t25_29,i0_2,no,2,left,left_low,yes), Person::new(recurrence_events,a50_59,ge40,t30_34,i6_8,yes,3,left,right_low,no), Person::new(recurrence_events,a50_59,premeno,t25_29,i0_2,no,3,right,left_low,yes), Person::new(recurrence_events,a40_49,premeno,t15_19,i0_2,yes,3,right,left_up,no), Person::new(recurrence_events,a60_69,ge40,t30_34,i0_2,yes,2,right,right_up,yes), Person::new(recurrence_events,a60_69,ge40,t30_34,i3_5,yes,2,left,central,yes), Person::new(recurrence_events,a40_49,premeno,t25_29,i9_11,yes,3,right,left_up,no), Person::new(recurrence_events,a30_39,premeno,t25_29,i6_8,yes,3,left,right_low,yes), Person::new(recurrence_events,a60_69,ge40,t10_14,i6_8,yes,3,left,left_up,yes), Person::new(recurrence_events,a50_59,premeno,t35_39,i15_17,yes,3,right,right_up,no), Person::new(recurrence_events,a50_59,ge40,t40_44,i6_8,yes,3,left,left_low,yes), Person::new(recurrence_events,a50_59,ge40,t40_44,i6_8,yes,3,left,left_low,yes), Person::new(recurrence_events,a30_39,premeno,t30_34,i0_2,no,2,left,left_up,no), Person::new(recurrence_events,a30_39,premeno,t20_24,i0_2,no,3,left,left_up,yes), Person::new(recurrence_events,a60_69,ge40,t20_24,i0_2,no,1,right,left_up,no), Person::new(recurrence_events,a40_49,ge40,t30_34,i3_5,no,3,left,left_low,no), Person::new(recurrence_events,a50_59,ge40,t30_34,i3_5,no,3,left,left_low,no), ];