3#ifndef __MED_SAMPLING_STRATEGY_H__
4#define __MED_SAMPLING_STRATEGY_H__
8#include "LabelParams.h"
9#include <InfraMed/InfraMed/MedPidRepository.h>
11#include "FilterParams.h"
27 unordered_map<
int, vector<int>> &pid_options)
const;
31 unordered_map<
int, vector<int>> &pid_options)
const = 0;
45 unordered_map<int, int> pids_bdates;
47 bool apply_filter_params(unordered_map<
int, vector<pair<int, int>>> &pid_time_ranges)
const;
63 void _get_sampling_options(
const unordered_map<
int, vector<pair<int, int>>> &pid_time_ranges, unordered_map<
int, vector<int>> &pid_options)
const;
65 int init(map<string, string>& map);
83 void _get_sampling_options(
const unordered_map<
int, vector<pair<int, int>>> &pid_time_ranges, unordered_map<
int, vector<int>> &pid_options)
const;
91 int init(map<string, string>& map);
103 void get_options(
const unordered_map<
int, vector<pair<int, int>>> &pid_time_ranges,
104 const vector<vector<pair<int, int>>> &samples_list_pid_opts,
105 unordered_map<
int, vector<int>> &pid_options)
const;
110 void _get_sampling_options(
const unordered_map<
int, vector<pair<int, int>>> &pid_time_ranges, unordered_map<
int, vector<int>> &pid_options)
const;
112 int init(map<string, string>& map);
126 int add_time(
int time,
int add)
const;
136 void _get_sampling_options(
const unordered_map<
int, vector<pair<int, int>>> &pid_time_ranges, unordered_map<
int, vector<int>> &pid_options)
const;
138 int init(map<string, string>& map);
157 int init(map<string, string>& map);
176 int init(map<string, string>& map);
178 void _get_sampling_options(
const unordered_map<
int, vector<pair<int, int>>> &pid_time_ranges, unordered_map<
int, vector<int>> &pid_options)
const;
registry methods over MedRegistry Object
A Class to constraint sampling options for creating medsamples prior to sample process.
Definition FilterParams.h:14
Definition InfraMed.h:303
A Class which samples by age from age to age by jump and find match in registry.
Definition MedSamplingStrategy.h:76
int init(map< string, string > &map)
Virtual to init object from parsed fields.
Definition MedSamplingStrategy.cpp:186
int age_bin
the age bin in years for jumping
Definition MedSamplingStrategy.h:80
int start_age
The start age to sample from.
Definition MedSamplingStrategy.h:78
void _get_sampling_options(const unordered_map< int, vector< pair< int, int > > > &pid_time_ranges, unordered_map< int, vector< int > > &pid_options) const
sample by year from age to age by jump and find match in registry
Definition MedSamplingStrategy.cpp:202
int end_age
The end age to sample from.
Definition MedSamplingStrategy.h:79
Samples between given dates for ech patient.
Definition MedSamplingStrategy.h:97
bool sample_with_filters
If True will do sampling after time range filtering of years,age,censoring. otherwise total randomall...
Definition MedSamplingStrategy.h:101
int init(map< string, string > &map)
Virtual to init object from parsed fields.
Definition MedSamplingStrategy.cpp:232
void _get_sampling_options(const unordered_map< int, vector< pair< int, int > > > &pid_time_ranges, unordered_map< int, vector< int > > &pid_options) const
sample Take_Count samples for each record in samples_list_pid_dates.
Definition MedSamplingStrategy.cpp:314
int take_count
How many samples to take in each date.
Definition MedSamplingStrategy.h:99
vector< vector< pair< int, int > > > samples_list_pid_dates
All sample options for pid,date to sample from. row is sample with all options to sample from.
Definition MedSamplingStrategy.h:100
A Class which samples from start_time to end_time by jump and find match in registry.
Definition MedSamplingStrategy.h:124
int time_jump_unit
the time jump unit
Definition MedSamplingStrategy.h:133
int time_range_unit
the start_time,end_time unit
Definition MedSamplingStrategy.h:132
int time_jump
the time jump, how much jump from each prediciton date
Definition MedSamplingStrategy.h:131
void _get_sampling_options(const unordered_map< int, vector< pair< int, int > > > &pid_time_ranges, unordered_map< int, vector< int > > &pid_options) const
sample by year from year to year by jump and find match in registry
Definition MedSamplingStrategy.cpp:414
int end_time
The end time to sample from. If 0 will use max time of pid.
Definition MedSamplingStrategy.h:129
int init(map< string, string > &map)
Virtual to init object from parsed fields.
Definition MedSamplingStrategy.cpp:348
int start_time
The start time to sample from. If 0 will use min time of pid.
Definition MedSamplingStrategy.h:128
int back_random_duration
Random duration backward from prediciton month_day. to cancel use 0.
Definition MedSamplingStrategy.h:130
A Sampler to sample on one of signals test.
Definition MedSamplingStrategy.h:166
void _get_sampling_options(const unordered_map< int, vector< pair< int, int > > > &pid_time_ranges, unordered_map< int, vector< int > > &pid_options) const
sample Take_Count samples for each record in samples_list_pid_dates.
Definition MedSamplingStrategy.cpp:618
vector< string > signal_list
list of signals to take times for sampling on each patient
Definition MedSamplingStrategy.h:168
int delta_time
delta time before the sticked signals. a date before should be negative
Definition MedSamplingStrategy.h:169
void init_sampler(MedRepository &rep)
Initialize samples_list_pid_dates by reading signals from repository.
Definition MedSamplingStrategy.cpp:555
int minimal_time_between_samples
minimal time restriction between samples - starts from most recent and takes most recent in each time...
Definition MedSamplingStrategy.h:171
int init(map< string, string > &map)
Virtual to init object from parsed fields.
Definition MedSamplingStrategy.cpp:532
An abstract class with sampling methods over registry records to convert to MedSamples.
Definition MedSamplingStrategy.h:18
static MedSamplingStrategy * make_sampler(const string &sampler_name)
Definition MedSamplingStrategy.cpp:319
virtual void init_sampler(MedRepository &rep)
The sampler need repository for Age filters if exist and some samplers also uses bdate.
Definition MedSamplingStrategy.cpp:463
FilterParams filtering_params
the filtering constraints prior to sampling
Definition MedSamplingStrategy.h:20
void get_sampling_options(const unordered_map< int, vector< pair< int, int > > > &pid_time_ranges, unordered_map< int, vector< int > > &pid_options) const
The sampling options - calls _get_sampling_options, before that applies filters.
Definition MedSamplingStrategy.cpp:519
virtual void _get_sampling_options(const unordered_map< int, vector< pair< int, int > > > &pid_time_ranges, unordered_map< int, vector< int > > &pid_options) const =0
The specific sampler get_options to implement.
void set_filters(const string &filtering_str)
stores filters prior to sampling
Definition MedSamplingStrategy.cpp:459
A Class which samples records on registry for certain time window.
Definition MedSamplingStrategy.h:55
vector< int > maximal_times
maximal times for window options
Definition MedSamplingStrategy.h:59
void _get_sampling_options(const unordered_map< int, vector< pair< int, int > > > &pid_time_ranges, unordered_map< int, vector< int > > &pid_options) const
sample random using Environment variable. params: [Random_Duration, Back_Time_Window_Years,...
Definition MedSamplingStrategy.cpp:66
bool take_max
If true will random sample between all time range of min_allowed to max_allowed.
Definition MedSamplingStrategy.h:57
int sample_count
how many samples to take in each time window
Definition MedSamplingStrategy.h:60
vector< int > minimal_times
minimal times for window options
Definition MedSamplingStrategy.h:58
int init(map< string, string > &map)
Virtual to init object from parsed fields.
Definition MedSamplingStrategy.cpp:13
DEPRECATED - A Class which samples by year from year to year by jump and find match in registry.
Definition MedSamplingStrategy.h:155
int init(map< string, string > &map)
Virtual to init object from parsed fields.
Definition MedSamplingStrategy.cpp:135
static const int Days
days since 1900/01/01
Definition MedTime.h:28
Definition SerializableObject.h:32