|
@@ -10,7 +10,7 @@ import com.diagbot.dto.RuleSimpleDTO;
|
|
import com.diagbot.dto.WordCrfDTO;
|
|
import com.diagbot.dto.WordCrfDTO;
|
|
import com.diagbot.enums.BaseTypeEnum;
|
|
import com.diagbot.enums.BaseTypeEnum;
|
|
import com.diagbot.enums.ConEnum;
|
|
import com.diagbot.enums.ConEnum;
|
|
-import com.diagbot.enums.LibTypeEnum;
|
|
|
|
|
|
+import com.diagbot.enums.LexiconEnum;
|
|
import com.diagbot.enums.RuleTypeEnum;
|
|
import com.diagbot.enums.RuleTypeEnum;
|
|
import com.diagbot.facade.CommonFacade;
|
|
import com.diagbot.facade.CommonFacade;
|
|
import com.diagbot.facade.NeoFacade;
|
|
import com.diagbot.facade.NeoFacade;
|
|
@@ -132,24 +132,24 @@ public class BillProcess {
|
|
switch (RuleTypeEnum.getEnum(ruleExtDTO.getRuleType())) {
|
|
switch (RuleTypeEnum.getEnum(ruleExtDTO.getRuleType())) {
|
|
case bill: // redis 数据以 _1结尾
|
|
case bill: // redis 数据以 _1结尾
|
|
for (RuleBaseDTO ruleBaseDTO : ruleBaseDTOList) {
|
|
for (RuleBaseDTO ruleBaseDTO : ruleBaseDTOList) {
|
|
- if (LibTypeEnum.getEnum(ruleBaseDTO.getBaseLibType()) != null) { // 避免空指针
|
|
|
|
- switch (LibTypeEnum.getEnum(ruleBaseDTO.getBaseLibType())) {
|
|
|
|
- case sex: // 性别
|
|
|
|
|
|
+ if (LexiconEnum.getEnum(ruleBaseDTO.getBaseLibType()) != null) { // 避免空指针
|
|
|
|
+ switch (LexiconEnum.getEnum(ruleBaseDTO.getBaseLibType())) {
|
|
|
|
+ case Gender: // 性别
|
|
sexRule.bill(wordCrfDTO, ruleBaseDTO, billMsgList, ConEnum.gender.getName(), ruleSimpleDTO);
|
|
sexRule.bill(wordCrfDTO, ruleBaseDTO, billMsgList, ConEnum.gender.getName(), ruleSimpleDTO);
|
|
- case age: // 年龄
|
|
|
|
|
|
+ case Age: // 年龄
|
|
ageRule.bill(wordCrfDTO, ruleBaseDTO, billMsgList, ConEnum.age.getName(), ruleSimpleDTO);
|
|
ageRule.bill(wordCrfDTO, ruleBaseDTO, billMsgList, ConEnum.age.getName(), ruleSimpleDTO);
|
|
break;
|
|
break;
|
|
- case disease: // 诊断
|
|
|
|
|
|
+ case Disease: // 诊断
|
|
commonRule.compareItemWithBill(diags, ruleBaseDTO, billMsgList, ConEnum.disease.getName(), ruleSimpleDTO);
|
|
commonRule.compareItemWithBill(diags, ruleBaseDTO, billMsgList, ConEnum.disease.getName(), ruleSimpleDTO);
|
|
break;
|
|
break;
|
|
- case lisDetail: // 化验
|
|
|
|
|
|
+ case LisSubName: // 化验
|
|
lisRule.bill(wordCrfDTO.getLis(), ruleBaseDTO, billMsgList, ConEnum.lis.getName(), ruleSimpleDTO);
|
|
lisRule.bill(wordCrfDTO.getLis(), ruleBaseDTO, billMsgList, ConEnum.lis.getName(), ruleSimpleDTO);
|
|
break;
|
|
break;
|
|
- case vitalRes: //体格检查结果
|
|
|
|
- case vital: // 体格检查项目
|
|
|
|
|
|
+ case VitalResult: //体格检查结果
|
|
|
|
+ case Vital: // 体格检查项目
|
|
vitalRule.bill(wordCrfDTO.getVitalLabel(), ruleBaseDTO, billMsgList, ConEnum.vitals.getName(), ruleSimpleDTO);
|
|
vitalRule.bill(wordCrfDTO.getVitalLabel(), ruleBaseDTO, billMsgList, ConEnum.vitals.getName(), ruleSimpleDTO);
|
|
break;
|
|
break;
|
|
- case pacs: // 辅检项目
|
|
|
|
|
|
+ case PacsName: // 辅检项目
|
|
if (ruleBaseDTO.getBaseType() != null && ruleBaseDTO.getBaseType().equals(BaseTypeEnum.B5.getKey())) {
|
|
if (ruleBaseDTO.getBaseType() != null && ruleBaseDTO.getBaseType().equals(BaseTypeEnum.B5.getKey())) {
|
|
// 开单项互斥
|
|
// 开单项互斥
|
|
commonRule.exclusionBill(wordCrfDTO, ruleBaseDTO, billMsgList, ConEnum.exclusion.getName(), ruleSimpleDTO, set);
|
|
commonRule.exclusionBill(wordCrfDTO, ruleBaseDTO, billMsgList, ConEnum.exclusion.getName(), ruleSimpleDTO, set);
|
|
@@ -158,17 +158,17 @@ public class BillProcess {
|
|
pacsRule.bill(wordCrfDTO.getPacs(), ruleBaseDTO, billMsgList, ConEnum.pacs.getName(), ruleSimpleDTO);
|
|
pacsRule.bill(wordCrfDTO.getPacs(), ruleBaseDTO, billMsgList, ConEnum.pacs.getName(), ruleSimpleDTO);
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
- case clinical: // 临床表现
|
|
|
|
|
|
+ case Symptom: // 临床表现
|
|
commonRule.compareNameWithBill(clinicals, ruleBaseDTO, billMsgList, ConEnum.clinicfindings.getName(), ruleSimpleDTO);
|
|
commonRule.compareNameWithBill(clinicals, ruleBaseDTO, billMsgList, ConEnum.clinicfindings.getName(), ruleSimpleDTO);
|
|
break;
|
|
break;
|
|
- case operation: // 手术(既往史、现病史、医嘱手术)
|
|
|
|
|
|
+ case Operation: // 手术(既往史、现病史、医嘱手术)
|
|
commonRule.compareNameWithBill(operations_all, ruleBaseDTO, billMsgList, ConEnum.operations.getName(), ruleSimpleDTO);
|
|
commonRule.compareNameWithBill(operations_all, ruleBaseDTO, billMsgList, ConEnum.operations.getName(), ruleSimpleDTO);
|
|
break;
|
|
break;
|
|
- case drug:
|
|
|
|
- case yphxwzlb:
|
|
|
|
- case ypzlxlb:
|
|
|
|
- case ypylxlb:
|
|
|
|
- case ypjpxlb:
|
|
|
|
|
|
+ case Medicine:
|
|
|
|
+ case MedChemClass:
|
|
|
|
+ case MedZhiLiaoClass:
|
|
|
|
+ case MedYaoLiClass:
|
|
|
|
+ case MedJiePouClass:
|
|
if (ruleBaseDTO.getBaseType().equals(4)) {
|
|
if (ruleBaseDTO.getBaseType().equals(4)) {
|
|
// 禁忌过敏药品(既往史)
|
|
// 禁忌过敏药品(既往史)
|
|
drugRule.bill(allergyMedicines, ruleBaseDTO, billMsgList, ConEnum.allergicmeds.getName(), ruleSimpleDTO);
|
|
drugRule.bill(allergyMedicines, ruleBaseDTO, billMsgList, ConEnum.allergicmeds.getName(), ruleSimpleDTO);
|
|
@@ -177,16 +177,16 @@ public class BillProcess {
|
|
drugRule.bill(medicineAll, ruleBaseDTO, billMsgList, ConEnum.oralmeds.getName(), ruleSimpleDTO);
|
|
drugRule.bill(medicineAll, ruleBaseDTO, billMsgList, ConEnum.oralmeds.getName(), ruleSimpleDTO);
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
- case otherAllergy: // 其他过敏原
|
|
|
|
|
|
+ case Allergen: // 其他过敏原
|
|
drugRule.bill(allergyMedicines, ruleBaseDTO, billMsgList, ConEnum.otherAllergy.getName(), ruleSimpleDTO);
|
|
drugRule.bill(allergyMedicines, ruleBaseDTO, billMsgList, ConEnum.otherAllergy.getName(), ruleSimpleDTO);
|
|
break;
|
|
break;
|
|
- case group: // 禁忌人群
|
|
|
|
|
|
+ case Group: // 禁忌人群
|
|
groupRule.bill(wordCrfDTO, ruleBaseDTO, billMsgList, ConEnum.group.getName(), ruleSimpleDTO);
|
|
groupRule.bill(wordCrfDTO, ruleBaseDTO, billMsgList, ConEnum.group.getName(), ruleSimpleDTO);
|
|
break;
|
|
break;
|
|
- case pacsResult: // 禁用辅助检查描述
|
|
|
|
|
|
+ case PacsResult: // 禁用辅助检查描述
|
|
commonRule.compareItemWithBill(pacsDescList, ruleBaseDTO, billMsgList, ConEnum.pacsDesc.getName(), ruleSimpleDTO);
|
|
commonRule.compareItemWithBill(pacsDescList, ruleBaseDTO, billMsgList, ConEnum.pacsDesc.getName(), ruleSimpleDTO);
|
|
break;
|
|
break;
|
|
- case ylqxjwp: // 禁忌医疗器械及物品
|
|
|
|
|
|
+ case Device: // 禁忌医疗器械及物品
|
|
medEquRule.bill(wordCrfDTO, ruleBaseDTO, billMsgList, ConEnum.medEqu.getName(), ruleSimpleDTO);
|
|
medEquRule.bill(wordCrfDTO, ruleBaseDTO, billMsgList, ConEnum.medEqu.getName(), ruleSimpleDTO);
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|