|
@@ -0,0 +1,73 @@
|
|
|
+package com.diagbot.util;
|
|
|
+
|
|
|
+import com.diagbot.enums.DiagnoseFeatureTypeEnum;
|
|
|
+import com.diagbot.enums.DiagnoseFieldEnum;
|
|
|
+import com.diagbot.enums.LexiconTypeEnum;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @Description:参数转换
|
|
|
+ * @Author:zhoutg
|
|
|
+ * @time: 2019/5/7 9:44
|
|
|
+ */
|
|
|
+public class DiagnoseTypeConvertUtil {
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 诊断依据类型转换为标准词库类型
|
|
|
+ *
|
|
|
+ * @param type
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static List<Integer> diagnoseType2LibType(Integer type, Integer field) {
|
|
|
+ List<Integer> res = new ArrayList<>();
|
|
|
+ switch (DiagnoseFeatureTypeEnum.getEnum(type)) {
|
|
|
+ case Symptom: // 症状 -> 症状,诊断依据其他
|
|
|
+ res.add(LexiconTypeEnum.SYMPTOM.getKey());
|
|
|
+ res.add(LexiconTypeEnum.OTHER_DIAGNOSTIC_CRITERIA.getKey());
|
|
|
+ break;
|
|
|
+ case Vital: // 体征 -> 体征结果
|
|
|
+ res.add(LexiconTypeEnum.VITAL_RESULT.getKey());
|
|
|
+ break;
|
|
|
+ case Lis: // 化验标准词 -> 化验大项
|
|
|
+ // 化验关联词 -> 化验小项
|
|
|
+ // 化验结果 -> 化验结果
|
|
|
+ if (DiagnoseFieldEnum.standard.getKey() == field) {
|
|
|
+ res.add(LexiconTypeEnum.LIS_PACKAGE.getKey());
|
|
|
+ } else if (DiagnoseFieldEnum.relation.getKey() == field) {
|
|
|
+ res.add(LexiconTypeEnum.LIS_DETAILS.getKey());
|
|
|
+ } else if (DiagnoseFieldEnum.result.getKey() == field){
|
|
|
+ res.add(LexiconTypeEnum.LIS_RESULTS.getKey());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case Pacs: // 辅检标准词 -> 辅检项目
|
|
|
+ // 辅检结果 -> 辅检结果
|
|
|
+ if (DiagnoseFieldEnum.standard.getKey() == field) {
|
|
|
+ res.add(LexiconTypeEnum.PACS_ITEMS.getKey());
|
|
|
+ } else if (DiagnoseFieldEnum.result.getKey() == field){
|
|
|
+ res.add(LexiconTypeEnum.PACS_RESULTS.getKey());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case Antidiastole: // 鉴别诊断 -> 诊断
|
|
|
+ res.add(LexiconTypeEnum.DIAGNOSIS.getKey());
|
|
|
+ break;
|
|
|
+ case History: // 病史 -> 诊断
|
|
|
+ res.add(LexiconTypeEnum.DIAGNOSIS.getKey());
|
|
|
+ break;
|
|
|
+ case Cause: // 诱因 -> 诱因
|
|
|
+ res.add(LexiconTypeEnum.CAUSE.getKey());
|
|
|
+ break;
|
|
|
+ case CourseOfDisease: // 病程 -> 诊断依据其他
|
|
|
+ res.add(LexiconTypeEnum.OTHER_DIAGNOSTIC_CRITERIA.getKey());
|
|
|
+ break;
|
|
|
+ case Other: // 其他 -> 诊断依据其他
|
|
|
+ res.add(LexiconTypeEnum.OTHER_DIAGNOSTIC_CRITERIA.getKey());
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+}
|