Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

package gov.va.med.pbm.ampl.asset.mock.measurements;

import java.util.HashMap;
import java.util.Locale;
import java.util.Map;

import gov.va.med.pbm.ampl.model.ValueQuantity;

public class MeasureFactory {

private MeasureFactory() {
// intentionally left blank
}

/**
* This factory method returns a {@link Measure} with random data for a given criteria.
*
* @param criteria the name of the {@link Measure}
* @return {@link Measure}
*/
public static Measure getMeasureType(String criteria) {
return getMeasureFromCriteria(criteria);
}

/**
* Instantiates a {@link Measure} using the given criteria.
*
* @param criteria the criteria
* @return {@link Measure}
*/
private static Measure getMeasureFromCriteria(String criteria) {
String key = criteria.toLowerCase(Locale.ENGLISH);
Measure measure = new Measure();

Map<String, Measure> map = new HashMap<>();
map.put("head circumference", new Circumference());
map.put("temperature", new Temperature());
map.put("respiration", new Respiration());
map.put("pulse", new Pulse());
map.put("pulse oximetry", new PulseOximetry());
map.put("blood pressure", new BloodPressure());
map.put("pain", new Pain());
map.put("height", new Height());
map.put("weight", new Weight());
map.put("creatinine", new Creatinine());
map.put("length", new Length());

if(map.containsKey(key)) {
measure = map.get(key);
} else {
measure.setMetric(new ValueQuantity("[val]", "[unit]"));
}

return measure;
}
}