Medial Code Documentation
Loading...
Searching...
No Matches
Data Structures | Macros | Enumerations | Functions
RepProcess.h File Reference

RepProcessor is the parent class for processing a MedRepository or PidDynamicRec
Basic functionalities:
learn : learn the processoring parameters from a given list of ids and a rpository
apply : process a dynamic PidDynamicRec
. More...

#include "InfraMed/InfraMed/InfraMed.h"
#include "InfraMed/InfraMed/MedPidRepository.h"
#include "MedProcessTools/MedProcessTools/MedSamples.h"
#include "MedProcessTools/MedProcessTools/MedProcessUtils.h"
#include <SerializableObject/SerializableObject/SerializableObject.h>
#include "MedProcessTools/MedProcessTools/MedValueCleaner.h"
#include <MedMat/MedMat/MedMat.h>
#include <omp.h>

Go to the source code of this file.

Data Structures

class  RepProcessor
 
class  RepMultiProcessor
 RepMultiProcessor is a repository processor which contains a vector of simpler processors that can be learned/applied in parallel. More...
 
class  remove_stats
 
class  RepBasicOutlierCleaner
 A simple cleaner considering each value of a certain signal separatley. More...
 
class  confRecord
 Parameters for configured outliers cleaner. More...
 
class  RepConfiguredOutlierCleaner
 RepConfiguredOutlierCleaner is a simple cleaner considering each value of a certain signal separatley, but this time use configuration file that holds for each signal the logical values, statistically confirmed values and distribution for relearning statistical values. More...
 
class  RepRuleBasedOutlierCleaner
 A cleaner that is based on rules that describe relations of signal values to each other. More...
 
class  RepNbrsOutlierCleaner
 RepNbrsOutlierCleaner is cleaner that looks at the neighbourhood of a certain signal value. More...
 
class  RepSimValHandler
 
class  RepPanelCompleter
 A Repository panel completer for a complete panel of signals that are dependent and given on same time. More...
 
class  SimpleCalculator
 RepCalcSimpleSignals is a rep processor containing several calculators to calculate new signals. More...
 
class  EmptyCalculator
 Dummy top create empty virtual signal. More...
 
class  RatioCalculator
 Calcs ratio between 2 inputs signals. More...
 
class  KfreCalculator
 KFRE calculator based on Age, Gender and eGFR (in that order) More...
 
class  eGFRCalculator
 eGFR calculator based on Creatinine, Gender and Age. More...
 
class  logCalculator
 does log operation More...
 
class  SumCalculator
 does linear sum with factors on vector of input signals, has b0 as constant res := b0 + sum_sigma(i=1..N){ factor[i] * input[i]} More...
 
class  RangeCalculator
 A simple Range check that return in_range_val if within range and returns out_range_val if outside range. More...
 
class  MultiplyCalculator
 A multiply operation with power on both arguments. More...
 
class  SetCalculator
 A is in set operation which return binary output res := in_range_val if is in set otherwise out_range_val. More...
 
class  ExistsCalculator
 A is in as exists operation which return binary output res := in_range_val if signal exists otherwise out_range_val. More...
 
class  ConstantValueCalculator
 
class  RepCalcSimpleSignals
 A simple class for calculating virtual signals. More...
 
class  RepCombineSignals
 RepCreateReigsty creates registries (e.g. More...
 
class  RepSplitSignal
 split signal based on set of values. More...
 
class  RepAggregationPeriod
 creates a signal of time ranges in which the input signal (usually medication) was active ranges are combined based on the period parameter the signal value is not transfered to the output signal More...
 
class  RepBasicRangeCleaner
 
class  RepSignalRate
 Normalize Signal Values by time - divide by time to calculate rate. More...
 
class  RepAggregateSignal
 An Aggregator for signal in sliding time window. More...
 
struct  category_time_interval
 
struct  category_event_state
 
struct  combination_state
 
class  RepCreateBitSignal
 
class  RepCheckReq
 RepCheckReq does not actually process the repository but rather check each sample for compliance with some requirment, and adjust the sample's corresponding attribute. More...
 
class  RepHistoryLimit
 
class  RepNumericNoiser
 
class  RepReoderChannels
 

Macros

#define DEFAULT_REP_CLNR_NTHREADS   8
 
#define DEF_REP_TRIMMING_SD_NUM   7
 
#define DEF_REP_REMOVING_SD_NUM   14
 
#define DEF_REP_NBRS_NBRS_SD_NUM   5
 
#define DEF_REP_NBRS_TRIM_SD_NUM   7
 
#define DEF_REP_NBRS_REMOVING_SD_NUM   14
 

Enumerations

enum  RepProcessorTypes {
  REP_PROCESS_MULTI , REP_PROCESS_BASIC_OUTLIER_CLEANER , REP_PROCESS_NBRS_OUTLIER_CLEANER , REP_PROCESS_CONFIGURED_OUTLIER_CLEANER ,
  REP_PROCESS_RULEBASED_OUTLIER_CLEANER , REP_PROCESS_CALC_SIGNALS , REP_PROCESS_COMPLETE , REP_PROCESS_CHECK_REQ ,
  REP_PROCESS_SIM_VAL , REP_PROCESS_SIGNAL_RATE , REP_PROCESS_COMBINE , REP_PROCESS_SPLIT ,
  REP_PROCESS_AGGREGATION_PERIOD , REP_PROCESS_BASIC_RANGE_CLEANER , REP_PROCESS_AGGREGATE , REP_PROCESS_HISTORY_LIMIT ,
  REP_PROCESS_CREATE_REGISTRY , REP_PROCESS_CREATE_BIT_SIGNAL , REP_PROCESS_CATEGORY_DESCENDERS , REP_PROCESS_REODER_CHANNELS ,
  REP_PROCESS_FILTER_BY_CHANNELS , REP_PROCESS_NUMERIC_NOISER , REP_PROCESS_FILTER_BY_DIAG , REP_PROCESS_LAST
}
 Define types of repository processors. More...
 
enum  SimValHandleTypes {
  SIM_VAL_FIRST_VAL , SIM_VAL_LAST_VAL , SIM_VAL_MEAN , SIM_VAL_REM ,
  SIM_VAL_REM_DIFF , SIM_VAL_MIN , SIM_VAL_MAX , MULT_VAL_LAST
}
 SimValHandler handles multiple values at the same time.
 
enum  PanelCompleterTypes {
  REP_CMPLT_RED_LINE_PANEL , REP_CMPLT_WHITE_LINE_PANEL , REP_CMPLT_PLATELETS_PANEL , REP_CMPLT_LIPIDS_PANEL ,
  REP_CMPLT_EGFR_PANEL , REP_CMPLT_BMI_PANEL , REP_CMPLT_GCS , REP_CMPLT_LAST
}
 RepPanelCompleter fills-in calculatable signal values. More...
 
enum  RedPanelSignals {
  RED_PNL_MCV , RED_PNL_HCT , RED_PNL_RBC , RED_PNL_MCH ,
  RED_PNL_MCHC , RED_PNL_HGB , RED_PNL_LAST
}
 
enum  WhitePanelSignals {
  WHITE_PNL_WBC , WHITE_PNL_EOS_N , WHITE_PNL_EOS_P , WHITE_PNL_NEU_N ,
  WHITE_PNL_NEU_P , WHITE_PNL_LYM_N , WHITE_PNL_LYM_P , WHITE_PNL_MON_N ,
  WHITE_PNL_MON_P , WHITE_PNL_BAS_N , WHITE_PNL_BAS_P , WHITE_PNL_LAST
}
 
enum  PltsPanelSignals { PLT_PNL_PLTS , PLT_PNL_PLT_HCT , PLT_PNL_MPV , PLT_PNL_LAST }
 
enum  LipidsPanelSignals {
  LIPIDS_PNL_CHOL , LIPIDS_PNL_LDL , LIPIDS_PNL_HDL , LIPIDS_PNL_HDL_OVER_CHOL ,
  LIPIDS_PNL_CHOL_OVER_HDL , LIPIDS_PNL_HDL_OVER_LDL , LIPIDS_PNL_LDL_OVER_HDL , LIPIDS_PNL_NON_HDL_CHOL ,
  LIPIDS_PNL_HDL_OVER_NON_HDL , LIPIDS_PNL_TRGS , LIPIDS_PNL_VLDL , LIPIDS_PNL_LAST
}
 
enum  eGFRPanelSignals { EGFR_PNL_CRT , EGFR_PNL_CKD_EPI , EGFR_PNL_MDRD , EGFR_PNL_LAST }
 
enum  BMIPanelSignals {
  BMI_PNL_BMI , BMI_PNL_WGT , BMI_PNL_HGT , BMI_PNL_HGT_SQR ,
  BMI_PNL_LAST
}
 
enum  GCSPanelSignals {
  GCS_PNL , GCS_PNL_EYE , GCS_PNL_MOTOR , GCS_PNL_VERBAL ,
  GCS_PNL_LAST
}
 
enum  range_op_type { all = 0 , first = 1 , last = 2 }
 A filter on signal events using other range signal with time periods.
 

Functions

RepProcessorTypes rep_processor_name_to_type (const string &procesor_name)
 get RepProcessorTypes from name
 
void learnDistributionBorders (float &borderHi, float &borderLo, vector< float > filteredValues)
 
int get_values (MedRepository &rep, MedSamples &samples, int signalId, int time_channel, int val_channel, float range_min, float range_max, vector< float > &values, vector< RepProcessor * > &prev_cleaners)
 Get values of a signal from a set of samples applying a set of preceeding cleaners.
 
int get_values (MedRepository &rep, MedSamples &samples, int signalId, int time_channel, int val_channel, float range_min, float range_max, vector< float > &values)
 Get values of a signal from a set of samples.
 

Detailed Description

RepProcessor is the parent class for processing a MedRepository or PidDynamicRec
Basic functionalities:
learn : learn the processoring parameters from a given list of ids and a rpository
apply : process a dynamic PidDynamicRec
.

Enumeration Type Documentation

◆ PanelCompleterTypes

RepPanelCompleter fills-in calculatable signal values.

Enriching existing signals

The available completions are currently -

  1. RedLineCompleter : MCV,HCT,RBC,MCH,MCHC,HGB
  2. WhiteLineCompleter : WBC,Eosonophils#,Eosonophils%,Neutrophils#,Neutrophils%,Lymphocytes#,Lymphocytes%,Monocytes#,Monocytes%,Basophils#,Basophils%
  3. PlateletsCompleter : Platelets, Platelets_Hematocrit and MPV
  4. LipidsCompleter : Cholesterol,LDL,HDL,HDL_over_Cholesterol,Cholesterol_over_HDL,HDL_over_LDL,LDL_over_HDL,NonHDLCholesterol,HDL_over_nonHDL,Tryglicerids
  5. eGFRCompleter : Creatinine, eGFR_CKD_EPI,eGFR_MDRD
  6. BMICompleter : BMI,Weight,Height

Signals above are the default values. They can be changed, keeping the order, or set to NULL, in which case the completion is not-performed

Enumerator
REP_CMPLT_RED_LINE_PANEL 

complete values of the red blood line

REP_CMPLT_WHITE_LINE_PANEL 

complete values of the white blood line

REP_CMPLT_PLATELETS_PANEL 

complete values of platelets measurements

REP_CMPLT_LIPIDS_PANEL 

complete lipd values

REP_CMPLT_EGFR_PANEL 

complete eGFR values

REP_CMPLT_BMI_PANEL 

complete BMI/HIGHT/WEIGHT values

REP_CMPLT_GCS 

complete Glasgow Coma Score

REP_CMPLT_LAST 

Last not in use.

◆ RepProcessorTypes

Define types of repository processors.

Define types of repository processors

Enumerator
REP_PROCESS_MULTI 

"multi_processor" or "multi" to activate RepMultiProcessor

REP_PROCESS_BASIC_OUTLIER_CLEANER 

"basic_outlier_cleaner" or "basic_cln" to activate RepBasicOutlierCleaner

REP_PROCESS_NBRS_OUTLIER_CLEANER 

"nbrs_outlier_cleaner" or "nbrs_cln" to activate RepNbrsOutlierCleaner

REP_PROCESS_CONFIGURED_OUTLIER_CLEANER 

"configured_outlier_cleaner" or "conf_cln" to activate RepConfiguredOutlierCleaner

REP_PROCESS_RULEBASED_OUTLIER_CLEANER 

"rulebased_outlier_cleaner" or "rule_cln" to activate RepRuleBasedOutlierCleaner

REP_PROCESS_CALC_SIGNALS 

"calc_signals" or "calculator" to activate RepCalcSimpleSignals

REP_PROCESS_COMPLETE 

"complete" to activate RepPanelCompleter

REP_PROCESS_CHECK_REQ 

"req" or "requirements" check compliance with minimal requirement to activate RepCheckReq

REP_PROCESS_SIM_VAL 

"sim_val" or "sim_val_handler" handle multiple simultanous values to activate RepSimValHandler

REP_PROCESS_SIGNAL_RATE 

"signal_rate" combine complition for Drug rate based on Drug amount to activate RepSignalRate

REP_PROCESS_COMBINE 

"combine" flatten signals to 1 signal by dates. if conflict chooses based on order given. to activate RepCombineSignals

REP_PROCESS_SPLIT 

"split" split signal to two signals based on set of values - usefull for example to give diffrent rule\factor to diffrent drug units. to actiate RepSplitSignal

REP_PROCESS_AGGREGATION_PERIOD 

"aggregation_period" - creates RepAggregationPeriod

REP_PROCESS_BASIC_RANGE_CLEANER 

"basic_range_cleaner" or "range_cln" to activate RepBasicRangeCleaner

REP_PROCESS_AGGREGATE 

"aggregate" - aggregate signal in sliding time window to calc some aggregation function. to activate RepAggregateSignal

REP_PROCESS_HISTORY_LIMIT 

"history_limit" chomps the history for a signal to be at a certain given time window relative to the prediction point. creates RepHistoryLimit

REP_PROCESS_CREATE_REGISTRY 

"create_registry" creates a registry signal (TimeRange to values). creates RepCreateRegistry

REP_PROCESS_CREATE_BIT_SIGNAL 

"bit_signal" creates a state of categories (typically drugs) encoded in bits. creates RepCreateBitSignal

REP_PROCESS_CATEGORY_DESCENDERS 

"category_descenders" creates all descenders values for each category value. Creates RepCategoryDescenders

REP_PROCESS_REODER_CHANNELS 

"reoder_channels" reorder signal channels. Creates RepReoderChannels

REP_PROCESS_FILTER_BY_CHANNELS 

"filter_channels" reorder signal channels. Creates RepFilterByChannel

REP_PROCESS_NUMERIC_NOISER 

"numeric_noiser" adds gaussian noise to value and uniform noise to time for numeric signal. Creates RepNumericNoiser

REP_PROCESS_FILTER_BY_DIAG 

"filter_by_diag". Creates RepClearSignalByDiag