14 int df_diagnosis_sid = -1;
15 int df_coded_sid = -1;
16 int df_glucose_sid = -1;
17 int df_hba1c_sid = -1;
18 int df_drug_section_id = -1;
19 int df_diagnosis_section_id = -1;
20 int df_coded_section_id = -1;
23 REASON_RECENT_LABS = 1,
24 REASON_RECENT_DRUGS = 2,
25 REASON_RECENT_DIAGNOSTIC = 4,
27 REASON_PAST_DRUGS = 16,
28 REASON_PAST_DIAGNOSTIC = 32,
32 DFG_DIABETES_EVENT_GLUCOSE,
33 DFG_DIABETES_EVENT_HBA1C,
34 DFG_DIABETES_EVENT_DRUG,
35 DFG_DIABETES_EVENT_DIAGNOSIS,
36 DFG_DIABETES_EVENT_PG_DURING_OGTT,
44 bool is_second =
false;
45 bool is_first =
false;
46 bool is_non_dm =
false;
50 DiabetesEvent(
int _type,
int _time,
float _val) { time = _time; de_type = _type; val = _val; }
52 vector<unsigned char> df_drug_lut;
53 vector<unsigned char> df_diagnosis_lut;
54 vector<unsigned char> df_coded_lut;
56 int _resolve(
PidDynamicRec& rec, vector<DiabetesEvent>& df_events,
int coded_date,
int coded_val,
int calc_time, json& json_out);
59 bool df_score_is_flag =
true;
60 bool df_score_is_bitmask =
false;
63 vector<string> df_drug_sets = {
"ATC_A10_____" };
65 vector<string> df_coded_sets;
67 vector<string> df_diagnosis_sets;
68 string df_diagnosis_sig =
"RC";
69 string df_coded_sig =
"RC";
70 string df_glucose_sig =
"Glucose";
71 string df_hba1c_sig =
"HbA1C";
72 string df_drug_sig =
"Drug";
73 int df_diagnoses_severity = 4;
75 int df_output_verbosity = 2;
76 int df_output_non_dm_period = 0;
78 int df_past_event_days = (365)*3;
79 float df_by_single_glucose = 200.0f;
80 float df_by_single_hba1c = 7.0f;
81 float df_by_second_glucose = 126.0f;
82 float df_by_second_hba1c = 6.5f;
83 float df_pre_d_hba1c = 5.8f;
84 float df_pre_d_glucose = 101.0f;
85 int df_by_second_time_delta_days = (365) * 2;
91 req_signals.push_back(df_glucose_sig);
92 req_signals.push_back(df_hba1c_sig);
93 req_signals.push_back(df_drug_sig);
94 req_signals.push_back(df_diagnosis_sig);
95 if(df_coded_sig != df_diagnosis_sig)
96 req_signals.push_back(df_coded_sig);
102 int init(map<string, string>& mapper);
107 void init_defaults();
110 void set_names() {
if (
names.empty())
names.push_back(
"FTR_" + int_to_string_digits(serial_id, 6) +
".DiabetesFinder");
tags.push_back(
"Diabetes"); }
121 ADD_SERIALIZATION_FUNCS(
generator_type,
names,
tags,
iGenerateWeights, req_signals, df_drug_sets, df_coded_sets, df_diagnosis_sets, df_diagnosis_sig, df_coded_sig, df_glucose_sig,
122 df_hba1c_sig, df_drug_sig, df_past_event_days, df_by_single_glucose, df_by_second_glucose, df_by_second_hba1c, df_by_single_hba1c, df_by_second_time_delta_days, df_pre_d_hba1c, df_pre_d_glucose,
123 df_diagnoses_severity, df_output_verbosity, df_output_non_dm_period)