package ch.elexis.core.model.prescription;
import java.util.HashMap;
import ch.elexis.core.interfaces.INumericEnum;
/**
* The allowed prescription and disposal types @since 3.1.0
*/
public enum EntryType implements INumericEnum {
//@formatter:off
UNKNOWN(-1),
/** Medicine to take over a longer period. <br> i.e. against too high blood pressure, heart medicine **/
FIXED_MEDICATION (0),
/** Medicine given in case a need occurs."Reservemedikation" <br>i.e. patient plans a journey and gets medicine against pain, sickness, insect bites to take in case something happens **/
RESERVE_MEDICATION (1),
/** Written a recipe for this medicine **/
RECIPE (2),
/** For self dispensation **/
SELF_DISPENSED (3),
/** Medicine given because of a current problem, but not intended for a longer period **/
SYMPTOMATIC_MEDICATION(5);
//@formatter:on
private int numeric;
private static HashMap<Integer, EntryType> numericMap = new HashMap<>();
private EntryType(int numeric){
this.numeric = numeric;
}
@Override
public int numericValue(){
return numeric;
}
public static EntryType byNumeric(int numeric){
if(numericMap.isEmpty()) {
EntryType[] entries = values();
for (int i = 0; i< entries.length ; i++) {
numericMap.put(entries[i].numericValue(), entries[i]);
}
}
return numericMap.getOrDefault(numeric, UNKNOWN);
}
}