Medial Code Documentation
Loading...
Searching...
No Matches
DrugIntakeGenerator.h
1#pragma once
4
9public:
10
11 // Feature Descrption
12 string signalName;
13 int signalId;
14
15 // parameters (should be serialized)
16 int win_from = 0;
17 int win_to = 360000;
19 vector<string> sets;
21 string in_set_name = "";
22 bool bound_outcomeTime = false;
23
24
25 // Signal to determine allowed time-range (e.g. current stay/admission for inpatients)
26 string timeRangeSignalName = "";
27 int timeRangeSignalId;
28 TimeRangeTypes timeRangeType = TIME_RANGE_CURRENT;
30
31 // helpers
32 vector<unsigned char> lut;
33
34 // Constructor/Destructor
35 DrugIntakeGenerator() : FeatureGenerator() { init_defaults(); };
37
40 int init(map<string, string>& mapper);
41 void init_defaults();
42
43 // Naming
44 void set_names();
45
46 // Copy
47 virtual void copy(FeatureGenerator *generator) { *this = *(dynamic_cast<DrugIntakeGenerator *>(generator)); }
48
49 // Learn a generator
50 int _learn(MedPidRepository& rep, const MedSamples& samples, vector<RepProcessor *> processors) { time_unit_sig = rep.sigs.Sid2Info[rep.sigs.sid(signalName)].time_unit; return 0; }
51
52 // generate a new feature
53 int _generate(PidDynamicRec& rec, MedFeatures& features, int index, int num, vector<float *> &_p_data);
54 float get_value(PidDynamicRec &rec, int idx, int time, int sig_outcomeTime);
55
56 // Signal Ids
57 void set_signal_ids(MedSignals& sigs) { signalId = sigs.sid(signalName); }
58
59 // Init required tables
60 void init_tables(MedDictionarySections& dict);
61
62 void get_required_signal_categories(unordered_map<string, vector<string>> &signal_categories_in_use) const;
63
64 // Serialization
65 ADD_CLASS_NAME(DrugIntakeGenerator)
66 ADD_SERIALIZATION_FUNCS(generator_type, tags, serial_id, win_from, win_to,time_unit_win, signalName, sets, names, req_signals, in_set_name, iGenerateWeights, timeRangeSignalName, timeRangeType , bound_outcomeTime)
67};
68
FeatureGenerator : creating features from raw signals.
TimeRangeTypes
Definition FeatureGenerator.h:232
@ TIME_RANGE_CURRENT
"current" - consider only the current time-range
Definition FeatureGenerator.h:233
An Abstract class that can be serialized and written/read from file.
#define ADD_SERIALIZATION_FUNCS(...)
Definition SerializableObject.h:122
#define MEDSERIALIZE_SUPPORT(Type)
Definition SerializableObject.h:108
calculate drug coverage of prescription time in defined the time window.
Definition DrugIntakeGenerator.h:8
int win_from
time window for feature: from is the minimal time before prediciton time
Definition DrugIntakeGenerator.h:16
int win_to
time window for feature: from is the maximal time before prediciton time
Definition DrugIntakeGenerator.h:17
int init(map< string, string > &mapper)
The parsed fields from init command.
Definition DrugIntakeGenerator.cpp:164
int time_unit_sig
the time init in which the signal is given. (set correctly from Repository in learn and Generate)
Definition DrugIntakeGenerator.h:20
string in_set_name
set name (if not given - take list of members)
Definition DrugIntakeGenerator.h:21
int time_unit_win
the time unit in which the windows are given. Default: Undefined
Definition DrugIntakeGenerator.h:18
void get_required_signal_categories(unordered_map< string, vector< string > > &signal_categories_in_use) const
returns for each used signal it's used categories
Definition DrugIntakeGenerator.cpp:56
vector< string > sets
for FTR_CATEGORY_SET_* , the list of sets
Definition DrugIntakeGenerator.h:19
int time_unit_range_sig
the time unit in which the range signal is given. (set correctly from Repository in learn and _genera...
Definition DrugIntakeGenerator.h:29
vector< unsigned char > lut
to be used when generating FTR_CATEGORY_SET_*
Definition DrugIntakeGenerator.h:32
Definition FeatureGenerator.h:53
int iGenerateWeights
Feature/Weights generator.
Definition FeatureGenerator.h:72
vector< string > tags
Tags - for defining labels or groups. may be used later for filtering for example.
Definition FeatureGenerator.h:69
FeatureGeneratorTypes generator_type
Type.
Definition FeatureGenerator.h:57
vector< string > names
Feature name.
Definition FeatureGenerator.h:60
Definition MedDictionary.h:87
A class for holding features data as a virtual matrix
Definition MedFeatures.h:47
Definition MedPidRepository.h:87
MedSamples represent a collection of samples per different id The data is conatined in a vector of ...
Definition MedSamples.h:129
Definition MedSignals.h:719
static const int Undefined
undefined time unit
Definition MedTime.h:24
Definition MedPidRepository.h:127