|
@@ -38,12 +38,12 @@ public class PreProcess {
|
|
public SearchData processClinicalData(SearchData searchdata) {
|
|
public SearchData processClinicalData(SearchData searchdata) {
|
|
SearchData sData = searchdata;
|
|
SearchData sData = searchdata;
|
|
|
|
|
|
- sData.setLisArr(processLis(sData.getLisArr()));
|
|
|
|
-
|
|
|
|
- if (sData.getLisArr().size() > 0) {
|
|
|
|
- List<String> otherVal = sData.getLisArr().stream().map(lisArr -> lisArr.getOtherValue()).collect(Collectors.toList());
|
|
|
|
- sData.setLis(String.join(",", otherVal));
|
|
|
|
- }
|
|
|
|
|
|
+// sData.setLisArr(processLis(sData.getLisArr()));
|
|
|
|
+//
|
|
|
|
+// if (sData.getLisArr().size() > 0) {
|
|
|
|
+// List<String> otherVal = sData.getLisArr().stream().map(lisArr -> lisArr.getOtherValue()).collect(Collectors.toList());
|
|
|
|
+// sData.setLis(String.join(",", otherVal));
|
|
|
|
+// }
|
|
|
|
|
|
return sData;
|
|
return sData;
|
|
}
|
|
}
|
|
@@ -51,265 +51,265 @@ public class PreProcess {
|
|
public ResponseData applyrules(SearchData sData) {
|
|
public ResponseData applyrules(SearchData sData) {
|
|
|
|
|
|
ResponseData ruleResponse = new ResponseData();
|
|
ResponseData ruleResponse = new ResponseData();
|
|
-
|
|
|
|
- List<MedicalIndication> reminder;
|
|
|
|
- try {
|
|
|
|
- Map<String, List<Rule>> rule = ApplicationCacheUtil.get_rule_filter_map();
|
|
|
|
-
|
|
|
|
- reminder = applytolis(sData.getLisArr(), rule);
|
|
|
|
-
|
|
|
|
- reminder.addAll(applytovital(sData.getVital(), rule));
|
|
|
|
-
|
|
|
|
- ruleResponse.setMedicalIndications(reminder);
|
|
|
|
-
|
|
|
|
- } catch (Exception ex) {
|
|
|
|
- ex.printStackTrace();
|
|
|
|
- } finally {
|
|
|
|
|
|
+//
|
|
|
|
+// List<MedicalIndication> reminder;
|
|
|
|
+// try {
|
|
|
|
+// Map<String, List<Rule>> rule = ApplicationCacheUtil.get_rule_filter_map();
|
|
|
|
+//
|
|
|
|
+// reminder = applytolis(sData.getLisArr(), rule);
|
|
|
|
+//
|
|
|
|
+// reminder.addAll(applytovital(sData.getVital(), rule));
|
|
|
|
+//
|
|
|
|
+// ruleResponse.setMedicalIndications(reminder);
|
|
|
|
+//
|
|
|
|
+// } catch (Exception ex) {
|
|
|
|
+// ex.printStackTrace();
|
|
|
|
+// } finally {
|
|
return ruleResponse;
|
|
return ruleResponse;
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private List<MedicalIndication> applytolis(List<LisDetail> lisarr, Map<String, List<Rule>> rule) {
|
|
|
|
-
|
|
|
|
- List<MedicalIndication> reminder = new ArrayList<>();
|
|
|
|
- try {
|
|
|
|
- String name;
|
|
|
|
- String detail;
|
|
|
|
-
|
|
|
|
- for (LisDetail lis : lisarr) {
|
|
|
|
- detail = lis.getDetailName();
|
|
|
|
-// name = lis.getName();
|
|
|
|
- String key = detail;
|
|
|
|
- if (rule.get(key) != null) {
|
|
|
|
- reminder.addAll(comparelis(rule.get(key), lis));
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- } catch (Exception ex) {
|
|
|
|
- ex.printStackTrace();
|
|
|
|
- } finally {
|
|
|
|
- return reminder;
|
|
|
|
- }
|
|
|
|
|
|
+// }
|
|
}
|
|
}
|
|
|
|
|
|
- private List<MedicalIndication> applytovital(String vital, Map<String, List<Rule>> rule) {
|
|
|
|
-
|
|
|
|
- List<MedicalIndication> reminder = new ArrayList<>();
|
|
|
|
-
|
|
|
|
- try {
|
|
|
|
- Map<String, Object> vitobj = new HashMap<>();
|
|
|
|
- Lexeme lexeme;
|
|
|
|
- LexemePath<Lexeme> lexemes = ParticipleUtil.participle(vital);
|
|
|
|
- for (int i=0; i<lexemes.size(); i++) {
|
|
|
|
- lexeme = lexemes.get(i);
|
|
|
|
- if (lexeme.getText().trim().length() > 0) {
|
|
|
|
- if (lexeme.getProperty().equals(Constants.word_property_vital_idx)) {
|
|
|
|
- vitobj = new HashMap<>();
|
|
|
|
- vitobj.put(vitkeyset[0], lexeme.getText());
|
|
|
|
- } else if (lexeme.getProperty().equals(Constants.word_property_number) &&
|
|
|
|
- vitobj.get(vitkeyset[0]) != null) {
|
|
|
|
- vitobj.put(vitkeyset[1], lexeme.getText());
|
|
|
|
- } else if (lexeme.getProperty().equals(Constants.word_property_unit) &&
|
|
|
|
- vitobj.get(vitkeyset[1]) != null) {
|
|
|
|
- vitobj.put(vitkeyset[2], lexeme.getText());
|
|
|
|
-
|
|
|
|
- if (vitobj.get(vitkeyset[0]).toString().equals(bptype[0]) &&
|
|
|
|
- vitobj.get(vitkeyset[1]).toString().contains(bptype[3])) {
|
|
|
|
- String[] idx = Arrays.asList(bptype).subList(1,3).toArray(new String[2]);
|
|
|
|
- String[] vals = vitobj.get(vitkeyset[1]).toString().split(bptype[3]);
|
|
|
|
- String unit = vitobj.get(vitkeyset[2]).toString();
|
|
|
|
-
|
|
|
|
- if (idx.length == vals.length) {
|
|
|
|
- for (int j=0; j<idx.length; j++) {
|
|
|
|
- vitobj = new HashMap<>();
|
|
|
|
- vitobj.put(vitkeyset[0], idx[j]);
|
|
|
|
- vitobj.put(vitkeyset[1], vals[j]);
|
|
|
|
- vitobj.put(vitkeyset[2], unit);
|
|
|
|
- vitlist.add(vitobj);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- vitlist.add(vitobj);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-// System.out.println(lexeme.getText() + ": " + lexeme.getProperty());
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- for (Map<String, Object> obj : vitlist) {
|
|
|
|
- String idx = obj.get(vitkeyset[0]).toString();
|
|
|
|
- if (rule.get(idx) != null) {
|
|
|
|
- reminder.addAll(comparevit(rule.get(idx), obj));
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- System.out.println("\n");
|
|
|
|
- } catch (Exception ex) {
|
|
|
|
- ex.printStackTrace();
|
|
|
|
- } finally {
|
|
|
|
- return reminder;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- private List<MedicalIndication> comparelis(List<Rule> rules, LisDetail lis) {
|
|
|
|
- List<MedicalIndication> reminder = new ArrayList<>();
|
|
|
|
-
|
|
|
|
- try {
|
|
|
|
- String detailname = lis.getDetailName();
|
|
|
|
- Double numval = lis.getValue();
|
|
|
|
- String unit = lis.getUnits();
|
|
|
|
- String otherval = lis.getOtherValue();
|
|
|
|
-
|
|
|
|
- reminder = compare(rules, reminder, detailname, numval, unit, otherval);
|
|
|
|
- } catch (Exception ex) {
|
|
|
|
- ex.printStackTrace();
|
|
|
|
- } finally {
|
|
|
|
- return reminder;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private List<MedicalIndication> comparevit(List<Rule> rules, Map<String, Object> vit) {
|
|
|
|
- List<MedicalIndication> reminder = new ArrayList<>();
|
|
|
|
-
|
|
|
|
- try {
|
|
|
|
- String detailname = vit.get(vitkeyset[0]).toString();
|
|
|
|
- Double numval = Double.valueOf(vit.get(vitkeyset[1]).toString());
|
|
|
|
- String unit = vit.get(vitkeyset[2]).toString();
|
|
|
|
- String otherval = "";
|
|
|
|
-
|
|
|
|
- reminder = compare(rules, reminder, detailname, numval, unit, otherval);
|
|
|
|
- } catch (Exception ex) {
|
|
|
|
- ex.printStackTrace();
|
|
|
|
- } finally {
|
|
|
|
- return reminder;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private List<MedicalIndication> compare(List<Rule> rules, List<MedicalIndication> reminder,
|
|
|
|
- String detailname, Double numval, String unit, String otherval) {
|
|
|
|
- boolean minmatch, maxmatch;
|
|
|
|
- Double minval, maxval;
|
|
|
|
- String minop, maxop, minunit, maxunit;
|
|
|
|
-
|
|
|
|
- try {
|
|
|
|
- if (null == numval && otherval.trim().length() > 0) {
|
|
|
|
- for (Rule rule : rules) {
|
|
|
|
- if (rule.getMin_operator().equals("=") && otherval.contains(rule.getMin_value())) {
|
|
|
|
- StringBuffer rulesContent = new StringBuffer();
|
|
|
|
- StringBuffer append = rulesContent.append(rule.getIdx_name()).append(rule.getMin_operator()).append(rule.getMin_value()).append(rule.getMin_unit())
|
|
|
|
- .append(rule.getMax_operator()).append(rule.getMax_value()).append(rule.getMax_unit());
|
|
|
|
- MedicalIndication medind = new MedicalIndication();
|
|
|
|
- List<MedicalIndicationDetail> k = new ArrayList<>();
|
|
|
|
- MedicalIndicationDetail mid = new MedicalIndicationDetail();
|
|
|
|
- JSONObject jsonObject = new JSONObject();
|
|
|
|
-// jsonObject.put("name",detailname + ": " + otherval+ ", " +rule.getRemind());
|
|
|
|
- jsonObject.put("name",append.toString());
|
|
|
|
- jsonObject.put("controlType",2);
|
|
|
|
- mid.setType(4);
|
|
|
|
- mid.setContent(jsonObject);
|
|
|
|
- k.add(mid);
|
|
|
|
- medind.setName(rule.getRemind());
|
|
|
|
- medind.setDetails(k);
|
|
|
|
- reminder.add(medind);
|
|
|
|
-
|
|
|
|
- System.out.println(medind.getRule() + " -> " + medind.getName());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- } else if (String.valueOf(numval).trim().length() > 0 && unit.length() > 0){
|
|
|
|
- for (Rule rule : rules) {
|
|
|
|
- minmatch = maxmatch = false;
|
|
|
|
- minval = (rule.getMin_value().length()==0)?0:Double.valueOf(rule.getMin_value());
|
|
|
|
- maxval = (rule.getMax_value().length()==0)?0:Double.valueOf(rule.getMax_value());
|
|
|
|
- minunit = rule.getMin_unit();
|
|
|
|
- maxunit = rule.getMax_unit();
|
|
|
|
- minop = rule.getMin_operator();
|
|
|
|
- maxop = rule.getMax_operator();
|
|
|
|
-
|
|
|
|
- if ( String.valueOf(minval).trim().length() > 0 && minunit.equals(unit) ) {
|
|
|
|
- switch (minop) {
|
|
|
|
- case ">":
|
|
|
|
- if (numval > minval) { minmatch = true; }
|
|
|
|
- break;
|
|
|
|
- case ">=":
|
|
|
|
- if (numval >= minval) { minmatch = true; }
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- } else { minmatch = true; }
|
|
|
|
-
|
|
|
|
- if (String.valueOf(maxval).trim().length() > 0 && maxunit.equals(unit) ) {
|
|
|
|
- switch (maxop) {
|
|
|
|
- case "<":
|
|
|
|
- if (numval < maxval) { maxmatch = true; }
|
|
|
|
- break;
|
|
|
|
- case "<=":
|
|
|
|
- if (numval <= maxval) { maxmatch = true; }
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- } else { maxmatch = true; }
|
|
|
|
-
|
|
|
|
- if (minmatch && maxmatch) {
|
|
|
|
- StringBuffer rulesContent = new StringBuffer();
|
|
|
|
- StringBuffer append = rulesContent.append(rule.getIdx_name()).append(rule.getMin_operator()).append(rule.getMin_value()).append(rule.getMin_unit())
|
|
|
|
- .append(rule.getMax_operator()).append(rule.getMax_value()).append(rule.getMax_unit());
|
|
|
|
-
|
|
|
|
- MedicalIndication medind = new MedicalIndication();
|
|
|
|
- List<MedicalIndicationDetail> k = new ArrayList<>();
|
|
|
|
- MedicalIndicationDetail mid = new MedicalIndicationDetail();
|
|
|
|
- JSONObject jsonObject = new JSONObject();
|
|
|
|
-// jsonObject.put("name",detailname + ": " + numval + " " + unit+ "," +rule.getRemind());
|
|
|
|
- jsonObject.put("name", append.toString());
|
|
|
|
- jsonObject.put("controlType",2);
|
|
|
|
- mid.setType(4);
|
|
|
|
- mid.setContent(jsonObject);
|
|
|
|
- k.add(mid);
|
|
|
|
- medind.setName(rule.getRemind());
|
|
|
|
- medind.setDetails(k);
|
|
|
|
- reminder.add(medind);
|
|
|
|
-
|
|
|
|
- System.out.println(medind.getRule() + " -> " + medind.getName());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- } catch (Exception ex) {
|
|
|
|
- ex.printStackTrace();
|
|
|
|
- } finally {
|
|
|
|
- return reminder;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private List<LisDetail> processLis(List<LisDetail> lisArr) {
|
|
|
|
- if (lisArr == null) {
|
|
|
|
- return new ArrayList<>();
|
|
|
|
- }
|
|
|
|
- if (lisArr.size() == 0) {
|
|
|
|
- return lisArr;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- String Otherval = "";
|
|
|
|
-
|
|
|
|
- for (int i = 0; i < lisArr.size(); i++) {
|
|
|
|
- LisDetail lisres = lisArr.get(i);
|
|
|
|
-
|
|
|
|
-// Otherval = (lisres.getOtherValue().trim().length() > 0) ? lisres.getOtherValue().trim() + "\n" : "";
|
|
|
|
- Otherval = lisres.getOtherValue();
|
|
|
|
-
|
|
|
|
- if (Otherval.indexOf(pos) >= 0 || Otherval.indexOf(neg) >= 0) {
|
|
|
|
- lisres.setOtherValue(lisres.getDetailName() + Otherval);
|
|
|
|
- } else {
|
|
|
|
- Otherval = (Otherval.trim().length() > 0) ? Otherval.trim() + "\n" : "";
|
|
|
|
- if (lisres.getValue() == null) {
|
|
|
|
- continue;
|
|
|
|
- } else if (lisres.getMaxValue() != null && lisres.getValue() > lisres.getMaxValue()) {
|
|
|
|
- lisres.setOtherValue(Otherval + lisres.getDetailName() + up);
|
|
|
|
- } else if (lisres.getMinValue() != null && lisres.getValue() < lisres.getMinValue()) {
|
|
|
|
- lisres.setOtherValue(Otherval + lisres.getDetailName() + down);
|
|
|
|
- } else {
|
|
|
|
- lisres.setOtherValue(Otherval + lisres.getDetailName() + normal);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return lisArr;
|
|
|
|
- }
|
|
|
|
|
|
+// private List<MedicalIndication> applytolis(List<LisDetail> lisarr, Map<String, List<Rule>> rule) {
|
|
|
|
+//
|
|
|
|
+// List<MedicalIndication> reminder = new ArrayList<>();
|
|
|
|
+// try {
|
|
|
|
+// String name;
|
|
|
|
+// String detail;
|
|
|
|
+//
|
|
|
|
+// for (LisDetail lis : lisarr) {
|
|
|
|
+// detail = lis.getDetailName();
|
|
|
|
+//// name = lis.getName();
|
|
|
|
+// String key = detail;
|
|
|
|
+// if (rule.get(key) != null) {
|
|
|
|
+// reminder.addAll(comparelis(rule.get(key), lis));
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// } catch (Exception ex) {
|
|
|
|
+// ex.printStackTrace();
|
|
|
|
+// } finally {
|
|
|
|
+// return reminder;
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// private List<MedicalIndication> applytovital(String vital, Map<String, List<Rule>> rule) {
|
|
|
|
+//
|
|
|
|
+// List<MedicalIndication> reminder = new ArrayList<>();
|
|
|
|
+//
|
|
|
|
+// try {
|
|
|
|
+// Map<String, Object> vitobj = new HashMap<>();
|
|
|
|
+// Lexeme lexeme;
|
|
|
|
+// LexemePath<Lexeme> lexemes = ParticipleUtil.participle(vital);
|
|
|
|
+// for (int i=0; i<lexemes.size(); i++) {
|
|
|
|
+// lexeme = lexemes.get(i);
|
|
|
|
+// if (lexeme.getText().trim().length() > 0) {
|
|
|
|
+// if (lexeme.getProperty().equals(Constants.word_property_vital_idx)) {
|
|
|
|
+// vitobj = new HashMap<>();
|
|
|
|
+// vitobj.put(vitkeyset[0], lexeme.getText());
|
|
|
|
+// } else if (lexeme.getProperty().equals(Constants.word_property_number) &&
|
|
|
|
+// vitobj.get(vitkeyset[0]) != null) {
|
|
|
|
+// vitobj.put(vitkeyset[1], lexeme.getText());
|
|
|
|
+// } else if (lexeme.getProperty().equals(Constants.word_property_unit) &&
|
|
|
|
+// vitobj.get(vitkeyset[1]) != null) {
|
|
|
|
+// vitobj.put(vitkeyset[2], lexeme.getText());
|
|
|
|
+//
|
|
|
|
+// if (vitobj.get(vitkeyset[0]).toString().equals(bptype[0]) &&
|
|
|
|
+// vitobj.get(vitkeyset[1]).toString().contains(bptype[3])) {
|
|
|
|
+// String[] idx = Arrays.asList(bptype).subList(1,3).toArray(new String[2]);
|
|
|
|
+// String[] vals = vitobj.get(vitkeyset[1]).toString().split(bptype[3]);
|
|
|
|
+// String unit = vitobj.get(vitkeyset[2]).toString();
|
|
|
|
+//
|
|
|
|
+// if (idx.length == vals.length) {
|
|
|
|
+// for (int j=0; j<idx.length; j++) {
|
|
|
|
+// vitobj = new HashMap<>();
|
|
|
|
+// vitobj.put(vitkeyset[0], idx[j]);
|
|
|
|
+// vitobj.put(vitkeyset[1], vals[j]);
|
|
|
|
+// vitobj.put(vitkeyset[2], unit);
|
|
|
|
+// vitlist.add(vitobj);
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// } else {
|
|
|
|
+// vitlist.add(vitobj);
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+//// System.out.println(lexeme.getText() + ": " + lexeme.getProperty());
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// for (Map<String, Object> obj : vitlist) {
|
|
|
|
+// String idx = obj.get(vitkeyset[0]).toString();
|
|
|
|
+// if (rule.get(idx) != null) {
|
|
|
|
+// reminder.addAll(comparevit(rule.get(idx), obj));
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// System.out.println("\n");
|
|
|
|
+// } catch (Exception ex) {
|
|
|
|
+// ex.printStackTrace();
|
|
|
|
+// } finally {
|
|
|
|
+// return reminder;
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+//
|
|
|
|
+// private List<MedicalIndication> comparelis(List<Rule> rules, LisDetail lis) {
|
|
|
|
+// List<MedicalIndication> reminder = new ArrayList<>();
|
|
|
|
+//
|
|
|
|
+// try {
|
|
|
|
+// String detailname = lis.getDetailName();
|
|
|
|
+// Double numval = lis.getValue();
|
|
|
|
+// String unit = lis.getUnits();
|
|
|
|
+// String otherval = lis.getOtherValue();
|
|
|
|
+//
|
|
|
|
+// reminder = compare(rules, reminder, detailname, numval, unit, otherval);
|
|
|
|
+// } catch (Exception ex) {
|
|
|
|
+// ex.printStackTrace();
|
|
|
|
+// } finally {
|
|
|
|
+// return reminder;
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// private List<MedicalIndication> comparevit(List<Rule> rules, Map<String, Object> vit) {
|
|
|
|
+// List<MedicalIndication> reminder = new ArrayList<>();
|
|
|
|
+//
|
|
|
|
+// try {
|
|
|
|
+// String detailname = vit.get(vitkeyset[0]).toString();
|
|
|
|
+// Double numval = Double.valueOf(vit.get(vitkeyset[1]).toString());
|
|
|
|
+// String unit = vit.get(vitkeyset[2]).toString();
|
|
|
|
+// String otherval = "";
|
|
|
|
+//
|
|
|
|
+// reminder = compare(rules, reminder, detailname, numval, unit, otherval);
|
|
|
|
+// } catch (Exception ex) {
|
|
|
|
+// ex.printStackTrace();
|
|
|
|
+// } finally {
|
|
|
|
+// return reminder;
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// private List<MedicalIndication> compare(List<Rule> rules, List<MedicalIndication> reminder,
|
|
|
|
+// String detailname, Double numval, String unit, String otherval) {
|
|
|
|
+// boolean minmatch, maxmatch;
|
|
|
|
+// Double minval, maxval;
|
|
|
|
+// String minop, maxop, minunit, maxunit;
|
|
|
|
+//
|
|
|
|
+// try {
|
|
|
|
+// if (null == numval && otherval.trim().length() > 0) {
|
|
|
|
+// for (Rule rule : rules) {
|
|
|
|
+// if (rule.getMin_operator().equals("=") && otherval.contains(rule.getMin_value())) {
|
|
|
|
+// StringBuffer rulesContent = new StringBuffer();
|
|
|
|
+// StringBuffer append = rulesContent.append(rule.getIdx_name()).append(rule.getMin_operator()).append(rule.getMin_value()).append(rule.getMin_unit())
|
|
|
|
+// .append(rule.getMax_operator()).append(rule.getMax_value()).append(rule.getMax_unit());
|
|
|
|
+// MedicalIndication medind = new MedicalIndication();
|
|
|
|
+// List<MedicalIndicationDetail> k = new ArrayList<>();
|
|
|
|
+// MedicalIndicationDetail mid = new MedicalIndicationDetail();
|
|
|
|
+// JSONObject jsonObject = new JSONObject();
|
|
|
|
+//// jsonObject.put("name",detailname + ": " + otherval+ ", " +rule.getRemind());
|
|
|
|
+// jsonObject.put("name",append.toString());
|
|
|
|
+// jsonObject.put("controlType",2);
|
|
|
|
+// mid.setType(4);
|
|
|
|
+// mid.setContent(jsonObject);
|
|
|
|
+// k.add(mid);
|
|
|
|
+// medind.setName(rule.getRemind());
|
|
|
|
+// medind.setDetails(k);
|
|
|
|
+// reminder.add(medind);
|
|
|
|
+//
|
|
|
|
+// System.out.println(medind.getRule() + " -> " + medind.getName());
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// } else if (String.valueOf(numval).trim().length() > 0 && unit.length() > 0){
|
|
|
|
+// for (Rule rule : rules) {
|
|
|
|
+// minmatch = maxmatch = false;
|
|
|
|
+// minval = (rule.getMin_value().length()==0)?0:Double.valueOf(rule.getMin_value());
|
|
|
|
+// maxval = (rule.getMax_value().length()==0)?0:Double.valueOf(rule.getMax_value());
|
|
|
|
+// minunit = rule.getMin_unit();
|
|
|
|
+// maxunit = rule.getMax_unit();
|
|
|
|
+// minop = rule.getMin_operator();
|
|
|
|
+// maxop = rule.getMax_operator();
|
|
|
|
+//
|
|
|
|
+// if ( String.valueOf(minval).trim().length() > 0 && minunit.equals(unit) ) {
|
|
|
|
+// switch (minop) {
|
|
|
|
+// case ">":
|
|
|
|
+// if (numval > minval) { minmatch = true; }
|
|
|
|
+// break;
|
|
|
|
+// case ">=":
|
|
|
|
+// if (numval >= minval) { minmatch = true; }
|
|
|
|
+// break;
|
|
|
|
+// }
|
|
|
|
+// } else { minmatch = true; }
|
|
|
|
+//
|
|
|
|
+// if (String.valueOf(maxval).trim().length() > 0 && maxunit.equals(unit) ) {
|
|
|
|
+// switch (maxop) {
|
|
|
|
+// case "<":
|
|
|
|
+// if (numval < maxval) { maxmatch = true; }
|
|
|
|
+// break;
|
|
|
|
+// case "<=":
|
|
|
|
+// if (numval <= maxval) { maxmatch = true; }
|
|
|
|
+// break;
|
|
|
|
+// }
|
|
|
|
+// } else { maxmatch = true; }
|
|
|
|
+//
|
|
|
|
+// if (minmatch && maxmatch) {
|
|
|
|
+// StringBuffer rulesContent = new StringBuffer();
|
|
|
|
+// StringBuffer append = rulesContent.append(rule.getIdx_name()).append(rule.getMin_operator()).append(rule.getMin_value()).append(rule.getMin_unit())
|
|
|
|
+// .append(rule.getMax_operator()).append(rule.getMax_value()).append(rule.getMax_unit());
|
|
|
|
+//
|
|
|
|
+// MedicalIndication medind = new MedicalIndication();
|
|
|
|
+// List<MedicalIndicationDetail> k = new ArrayList<>();
|
|
|
|
+// MedicalIndicationDetail mid = new MedicalIndicationDetail();
|
|
|
|
+// JSONObject jsonObject = new JSONObject();
|
|
|
|
+//// jsonObject.put("name",detailname + ": " + numval + " " + unit+ "," +rule.getRemind());
|
|
|
|
+// jsonObject.put("name", append.toString());
|
|
|
|
+// jsonObject.put("controlType",2);
|
|
|
|
+// mid.setType(4);
|
|
|
|
+// mid.setContent(jsonObject);
|
|
|
|
+// k.add(mid);
|
|
|
|
+// medind.setName(rule.getRemind());
|
|
|
|
+// medind.setDetails(k);
|
|
|
|
+// reminder.add(medind);
|
|
|
|
+//
|
|
|
|
+// System.out.println(medind.getRule() + " -> " + medind.getName());
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// } catch (Exception ex) {
|
|
|
|
+// ex.printStackTrace();
|
|
|
|
+// } finally {
|
|
|
|
+// return reminder;
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// private List<LisDetail> processLis(List<LisDetail> lisArr) {
|
|
|
|
+// if (lisArr == null) {
|
|
|
|
+// return new ArrayList<>();
|
|
|
|
+// }
|
|
|
|
+// if (lisArr.size() == 0) {
|
|
|
|
+// return lisArr;
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// String Otherval = "";
|
|
|
|
+//
|
|
|
|
+// for (int i = 0; i < lisArr.size(); i++) {
|
|
|
|
+// LisDetail lisres = lisArr.get(i);
|
|
|
|
+//
|
|
|
|
+//// Otherval = (lisres.getOtherValue().trim().length() > 0) ? lisres.getOtherValue().trim() + "\n" : "";
|
|
|
|
+// Otherval = lisres.getOtherValue();
|
|
|
|
+//
|
|
|
|
+// if (Otherval.indexOf(pos) >= 0 || Otherval.indexOf(neg) >= 0) {
|
|
|
|
+// lisres.setOtherValue(lisres.getDetailName() + Otherval);
|
|
|
|
+// } else {
|
|
|
|
+// Otherval = (Otherval.trim().length() > 0) ? Otherval.trim() + "\n" : "";
|
|
|
|
+// if (lisres.getValue() == null) {
|
|
|
|
+// continue;
|
|
|
|
+// } else if (lisres.getMaxValue() != null && lisres.getValue() > lisres.getMaxValue()) {
|
|
|
|
+// lisres.setOtherValue(Otherval + lisres.getDetailName() + up);
|
|
|
|
+// } else if (lisres.getMinValue() != null && lisres.getValue() < lisres.getMinValue()) {
|
|
|
|
+// lisres.setOtherValue(Otherval + lisres.getDetailName() + down);
|
|
|
|
+// } else {
|
|
|
|
+// lisres.setOtherValue(Otherval + lisres.getDetailName() + normal);
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// return lisArr;
|
|
|
|
+// }
|
|
}
|
|
}
|