|
@@ -1602,6 +1602,7 @@ public class Neo4jAPI {
|
|
|
return graphWordsList;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 根据是否需要计算调取相应返回量表的方法
|
|
|
*
|
|
@@ -1718,7 +1719,7 @@ public class Neo4jAPI {
|
|
|
titles.add(title);
|
|
|
threeLevelItems.put("title", titles);
|
|
|
|
|
|
- if ("NULL".equals(method) && !"NULL".equals(pacsResult)){
|
|
|
+ if ("NULL".equals(method) && !"NULL".equals(pacsResult)) {
|
|
|
optionOrIndex = optionOrIndex + "_" + priority;
|
|
|
|
|
|
Map<String, String> detailInfo = new LinkedHashMap<>();
|
|
@@ -1919,4 +1920,69 @@ public class Neo4jAPI {
|
|
|
return scaleCalc;
|
|
|
}
|
|
|
|
|
|
+ public Map<String, Object> calcMethod() {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+ public String scaleCalcMethod(String[] scaleItems, String scaleName) {
|
|
|
+ String result = null;
|
|
|
+ Map<String, Object> calcMap = calcMethod();
|
|
|
+ List<Map<String, Object>> calcTypes = (List<Map<String, Object>>) calcMap.get("details");
|
|
|
+ for (Map<String, Object> calcType : calcTypes) {
|
|
|
+ switch ((int) calcType.get("type")) {
|
|
|
+ case 1:
|
|
|
+ result = scaleScoreCalc(scaleItems, scaleName).get("text").toString();
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ Map<String, Object> content = (Map<String, Object>) calcType.get("content");
|
|
|
+ List<Map<String, Object>> details = (List<Map<String, Object>>) content.get("details");
|
|
|
+ int age = 0;
|
|
|
+// double scr = 0.00;
|
|
|
+ double scr = 2.2621;
|
|
|
+ float k = 0.0f;
|
|
|
+ double a = 0.00;
|
|
|
+ double denger = 0.00;
|
|
|
+ for (Map<String, Object> detailsMap : details) {
|
|
|
+ if ("年龄".equals(detailsMap.get("name").toString())) {
|
|
|
+ age = (int) detailsMap.get("value");
|
|
|
+ } else if ("血肌酐".equals(detailsMap.get("name").toString())) {
|
|
|
+ if ("umol/L".equals(detailsMap.get("uint"))) {
|
|
|
+ scr = (double) detailsMap.get("value") * 88.41;
|
|
|
+ } else {
|
|
|
+ scr = (double) detailsMap.get("value");
|
|
|
+ }
|
|
|
+ } else if ("性别".equals(detailsMap.get("name").toString())) {
|
|
|
+ List<Map<String, Object>> genderDetails = (List<Map<String, Object>>) detailsMap.get("details");
|
|
|
+ for (Map<String, Object> genderDetail : genderDetails) {
|
|
|
+ if ("男".equals(genderDetail.get("detailName").toString())) {
|
|
|
+ k = 0.9f;
|
|
|
+ denger = (double) genderDetail.get("value");
|
|
|
+ if (scr <= 0.90) {
|
|
|
+ a = -0.411;
|
|
|
+ } else {
|
|
|
+ a = -1.209;
|
|
|
+ }
|
|
|
+ } else if ("女".equals(genderDetail.get("detailName").toString())) {
|
|
|
+ k = 0.7f;
|
|
|
+ denger = (double) genderDetail.get("value");
|
|
|
+ if (scr <= 0.70) {
|
|
|
+ a = -0.329;
|
|
|
+ } else {
|
|
|
+ a = -1.209;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ age = 20;
|
|
|
+ double eGFR3 = 141 * Math.pow((scr / k), a) * Math.pow(0.993, age) * denger;
|
|
|
+ System.out.println(eGFR3);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
}
|