|
@@ -388,59 +388,79 @@ public class ConsoleFacade {
|
|
* @param filterVO
|
|
* @param filterVO
|
|
* @return 2170
|
|
* @return 2170
|
|
*/
|
|
*/
|
|
- public MedQualityControlDTO medicalRecordIndicator(FilterVO filterVO) {
|
|
|
|
|
|
+ public ArrayList<LinkedHashMap<String, String>> medicalRecordIndicator(FilterVO filterVO) {
|
|
filterFacade.filterVOSet(filterVO);
|
|
filterFacade.filterVOSet(filterVO);
|
|
MedQualityControlDTO medQualityControlDTO = new MedQualityControlDTO();
|
|
MedQualityControlDTO medQualityControlDTO = new MedQualityControlDTO();
|
|
Map<String, Long> selectOperationNumMap = behospitalInfoFacade.selectOperationNum(filterVO);
|
|
Map<String, Long> selectOperationNumMap = behospitalInfoFacade.selectOperationNum(filterVO);
|
|
Long startCount = selectOperationNumMap.get(QualityContent.DISCHARGED_PATIENTS);
|
|
Long startCount = selectOperationNumMap.get(QualityContent.DISCHARGED_PATIENTS);
|
|
Long endCount = selectOperationNumMap.get(QualityContent.NUMBER_OF_HOSPITAL);
|
|
Long endCount = selectOperationNumMap.get(QualityContent.NUMBER_OF_HOSPITAL);
|
|
|
|
+ Map<String, Integer> operationPathologyNumMap = getOperationPathologyNum(filterVO);
|
|
//手术人数
|
|
//手术人数
|
|
Long operationFeeNum = selectOperationNumMap.get("operationFee");
|
|
Long operationFeeNum = selectOperationNumMap.get("operationFee");
|
|
- int operationNum = getOperationNum(filterVO);
|
|
|
|
- Integer integer = Integer.valueOf(operationNum);
|
|
|
|
- operationFeeNum = operationFeeNum + integer;
|
|
|
|
|
|
+ Integer operationNum = operationPathologyNumMap.get(QualityContent.NO_RECORD_OPERATION);
|
|
|
|
+ operationFeeNum = operationFeeNum + operationNum;
|
|
//抗菌人数
|
|
//抗菌人数
|
|
Long antibiosisFeeNum = selectOperationNumMap.get("antibiosisFee");
|
|
Long antibiosisFeeNum = selectOperationNumMap.get("antibiosisFee");
|
|
Integer antibiosis = Integer.valueOf(getAntibiosisNum(filterVO));
|
|
Integer antibiosis = Integer.valueOf(getAntibiosisNum(filterVO));
|
|
antibiosisFeeNum = antibiosisFeeNum + antibiosis;
|
|
antibiosisFeeNum = antibiosisFeeNum + antibiosis;
|
|
//手术病理人数
|
|
//手术病理人数
|
|
Long operationPathologyFeeNum = selectOperationNumMap.get("operationPathologyFee");
|
|
Long operationPathologyFeeNum = selectOperationNumMap.get("operationPathologyFee");
|
|
- int operationPathologyNum = getOperationPathologyNum(filterVO);
|
|
|
|
- Integer operationPathologyInteger = Integer.valueOf(operationPathologyNum);
|
|
|
|
- operationPathologyFeeNum = operationPathologyFeeNum + operationPathologyInteger;
|
|
|
|
|
|
+ Integer operationPathologyNum = operationPathologyNumMap.get(QualityContent.NO_RECORD_OPERATION_PATHOLOGY);
|
|
|
|
+ operationPathologyFeeNum = operationPathologyFeeNum + operationPathologyNum;
|
|
Map<String, Long> recordIndicatorMap = behospitalInfoFacade.triggeringRules(filterVO);
|
|
Map<String, Long> recordIndicatorMap = behospitalInfoFacade.triggeringRules(filterVO);
|
|
//各指标未完成人数情况
|
|
//各指标未完成人数情况
|
|
Long operationCount = recordIndicatorMap.get(QualityContent.SSJLWCC_24H);
|
|
Long operationCount = recordIndicatorMap.get(QualityContent.SSJLWCC_24H);
|
|
Long InHospitalRecords = recordIndicatorMap.get(QualityContent.RYJLWWC_24H);
|
|
Long InHospitalRecords = recordIndicatorMap.get(QualityContent.RYJLWWC_24H);
|
|
Long OutHospitalRecords = recordIndicatorMap.get(QualityContent.CYJLWWC_24H);
|
|
Long OutHospitalRecords = recordIndicatorMap.get(QualityContent.CYJLWWC_24H);
|
|
Long recordHomePage = recordIndicatorMap.get(QualityContent.BASYWWC_24H);
|
|
Long recordHomePage = recordIndicatorMap.get(QualityContent.BASYWWC_24H);
|
|
|
|
+ ArrayList<LinkedHashMap<String, String>> hashMapArrayList = new ArrayList<>();
|
|
|
|
+ //入院记录24小时完成率
|
|
|
|
+ //入院记录完成人数为
|
|
|
|
+ if (InHospitalRecords != null && startCount!=null) {
|
|
|
|
+ // medQualityControlDTO.setAdmissionNum(Double.valueOf(startCount - InHospitalRecords));
|
|
|
|
+ //入院记录完成率
|
|
|
|
+ // medQualityControlDTO.setAdmissionStr(getResult(startCount - InHospitalRecords, startCount));
|
|
|
|
+ LinkedHashMap<String, String> stringStringHashMap = new LinkedHashMap<>();
|
|
|
|
+ stringStringHashMap.put("name","入院记录24小时内完成率");
|
|
|
|
+ stringStringHashMap.put("notCopiedStr",getResult(startCount - InHospitalRecords, startCount));
|
|
|
|
+ stringStringHashMap.put("num",Double.valueOf(startCount - InHospitalRecords).toString());
|
|
|
|
+ hashMapArrayList.add(stringStringHashMap);
|
|
|
|
+ }
|
|
//手术记录完成率
|
|
//手术记录完成率
|
|
//手术完成人数为
|
|
//手术完成人数为
|
|
if (operationCount != null && operationFeeNum!=null){
|
|
if (operationCount != null && operationFeeNum!=null){
|
|
- medQualityControlDTO.setOperationNum(Double.valueOf(operationFeeNum - operationCount));
|
|
|
|
|
|
+ // medQualityControlDTO.setOperationNum(Double.valueOf(operationFeeNum - operationCount));
|
|
//手术完成率
|
|
//手术完成率
|
|
- medQualityControlDTO.setOperationStr(getResult(operationFeeNum - operationCount, operationFeeNum));
|
|
|
|
- }
|
|
|
|
- //入院记录24小时完成率
|
|
|
|
- //入院记录完成人数为
|
|
|
|
- if (InHospitalRecords != null && startCount!=null) {
|
|
|
|
- medQualityControlDTO.setAdmissionNum(Double.valueOf(startCount - InHospitalRecords));
|
|
|
|
- //入院记录完成率
|
|
|
|
- medQualityControlDTO.setAdmissionStr(getResult(startCount - InHospitalRecords, startCount));
|
|
|
|
|
|
+ // medQualityControlDTO.setOperationStr(getResult(operationFeeNum - operationCount, operationFeeNum));
|
|
|
|
+ LinkedHashMap<String, String> stringStringHashMap = new LinkedHashMap<>();
|
|
|
|
+ stringStringHashMap.put("name","手术记录24小时内完成率");
|
|
|
|
+ stringStringHashMap.put("notCopiedStr",getResult(operationFeeNum - operationCount, operationFeeNum));
|
|
|
|
+ stringStringHashMap.put("num",Double.valueOf(operationFeeNum - operationCount).toString());
|
|
|
|
+ hashMapArrayList.add(stringStringHashMap);
|
|
}
|
|
}
|
|
//出院记录24小时完成率
|
|
//出院记录24小时完成率
|
|
//出院记录完成人数为
|
|
//出院记录完成人数为
|
|
if (OutHospitalRecords != null && startCount!=null) {
|
|
if (OutHospitalRecords != null && startCount!=null) {
|
|
- medQualityControlDTO.setLeaveHospitalNum(Double.valueOf(startCount - OutHospitalRecords));
|
|
|
|
|
|
+ // medQualityControlDTO.setLeaveHospitalNum(Double.valueOf(startCount - OutHospitalRecords));
|
|
//出院记录完成率
|
|
//出院记录完成率
|
|
- medQualityControlDTO.setLeaveHospitalStr(getResult(startCount - OutHospitalRecords, startCount));
|
|
|
|
|
|
+ // medQualityControlDTO.setLeaveHospitalStr(getResult(startCount - OutHospitalRecords, startCount));
|
|
|
|
+ LinkedHashMap<String, String> stringStringHashMap = new LinkedHashMap<>();
|
|
|
|
+ stringStringHashMap.put("name","出院记录24小时内完成率");
|
|
|
|
+ stringStringHashMap.put("notCopiedStr",getResult(startCount - OutHospitalRecords, startCount));
|
|
|
|
+ stringStringHashMap.put("num",Double.valueOf(startCount - OutHospitalRecords).toString());
|
|
|
|
+ hashMapArrayList.add(stringStringHashMap);
|
|
}
|
|
}
|
|
//病案首页24小时完成率
|
|
//病案首页24小时完成率
|
|
//病案首页完成人数为
|
|
//病案首页完成人数为
|
|
if (recordHomePage != null && startCount!=null) {
|
|
if (recordHomePage != null && startCount!=null) {
|
|
- medQualityControlDTO.setMedHomePageNum(Double.valueOf(startCount - recordHomePage));
|
|
|
|
|
|
+ // medQualityControlDTO.setMedHomePageNum(Double.valueOf(startCount - recordHomePage));
|
|
//病案首页完成率
|
|
//病案首页完成率
|
|
- medQualityControlDTO.setMedHomePageStr(getResult(startCount - recordHomePage, startCount));
|
|
|
|
|
|
+ // medQualityControlDTO.setMedHomePageStr(getResult(startCount - recordHomePage, startCount));
|
|
|
|
+ LinkedHashMap<String, String> stringStringHashMap = new LinkedHashMap<>();
|
|
|
|
+ stringStringHashMap.put("name","病案首页24小时完成率");
|
|
|
|
+ stringStringHashMap.put("notCopiedStr",getResult(startCount - recordHomePage, startCount));
|
|
|
|
+ stringStringHashMap.put("num",Double.valueOf(startCount - recordHomePage).toString());
|
|
|
|
+ hashMapArrayList.add(stringStringHashMap);
|
|
}
|
|
}
|
|
|
|
|
|
Map<String, Long> longMap = getCTNum(filterVO);
|
|
Map<String, Long> longMap = getCTNum(filterVO);
|
|
@@ -459,18 +479,34 @@ public class ConsoleFacade {
|
|
Long ct = triggeringRulesMap.get("CT");
|
|
Long ct = triggeringRulesMap.get("CT");
|
|
//MR
|
|
//MR
|
|
Long mr = triggeringRulesMap.get("MR");
|
|
Long mr = triggeringRulesMap.get("MR");
|
|
- if(operationPathologyFeeNum!=null && antibiosisNum!=null) {
|
|
|
|
- //病理完成率为
|
|
|
|
- medQualityControlDTO.setPathologicalExamination(getResult(operationPathologyFeeNum - antibiosisNum, operationPathologyFeeNum));
|
|
|
|
- }
|
|
|
|
//CT完成率
|
|
//CT完成率
|
|
if(CTNum!=null && ct!=null) {
|
|
if(CTNum!=null && ct!=null) {
|
|
- medQualityControlDTO.setCTExaminationConform(getResult(CTNum - ct, CTNum));
|
|
|
|
|
|
+ // medQualityControlDTO.setCTExaminationConform(getResult(CTNum - ct, CTNum));
|
|
|
|
+ LinkedHashMap<String, String> stringStringHashMap = new LinkedHashMap<>();
|
|
|
|
+ stringStringHashMap.put("name","CT检查记录符合率");
|
|
|
|
+ stringStringHashMap.put("notCopiedStr",getResult(CTNum - ct, CTNum));
|
|
|
|
+ stringStringHashMap.put("num",Double.valueOf(CTNum - ct).toString());
|
|
|
|
+ hashMapArrayList.add(stringStringHashMap);
|
|
}
|
|
}
|
|
//MR完成率
|
|
//MR完成率
|
|
- if(MRNum!=null && mr!=null) {
|
|
|
|
- medQualityControlDTO.setMRIExaminationConform(getResult(MRNum - mr, MRNum));
|
|
|
|
- }
|
|
|
|
|
|
+ if(MRNum!=null && mr!=null) {
|
|
|
|
+ // medQualityControlDTO.setMRIExaminationConform(getResult(MRNum - mr, MRNum));
|
|
|
|
+ LinkedHashMap<String, String> stringStringHashMap = new LinkedHashMap<>();
|
|
|
|
+ stringStringHashMap.put("name","MRI检查记录符合率");
|
|
|
|
+ stringStringHashMap.put("notCopiedStr",getResult(MRNum - mr, MRNum));
|
|
|
|
+ stringStringHashMap.put("num",Double.valueOf(MRNum - mr).toString());
|
|
|
|
+ hashMapArrayList.add(stringStringHashMap);
|
|
|
|
+ }
|
|
|
|
+ if(operationPathologyFeeNum!=null && antibiosisNum!=null) {
|
|
|
|
+ //病理完成率为
|
|
|
|
+ // medQualityControlDTO.setPathologicalExamination(getResult(operationPathologyFeeNum - antibiosisNum, operationPathologyFeeNum));
|
|
|
|
+ LinkedHashMap<String, String> stringStringHashMap = new LinkedHashMap<>();
|
|
|
|
+ stringStringHashMap.put("name","病理检查记录符合率");
|
|
|
|
+ stringStringHashMap.put("notCopiedStr",getResult(operationPathologyFeeNum - antibiosisNum, operationPathologyFeeNum));
|
|
|
|
+ stringStringHashMap.put("num",Double.valueOf(operationPathologyFeeNum - antibiosisNum).toString());
|
|
|
|
+ hashMapArrayList.add(stringStringHashMap);
|
|
|
|
+ }
|
|
|
|
+
|
|
//抗菌完成率
|
|
//抗菌完成率
|
|
// medQualityControlDTO.setAdmissionStr(getResult(antibiosisFeeNum-0,antibiosisFeeNum));
|
|
// medQualityControlDTO.setAdmissionStr(getResult(antibiosisFeeNum-0,antibiosisFeeNum));
|
|
|
|
|
|
@@ -494,7 +530,7 @@ public class ConsoleFacade {
|
|
filterVO.setFlagStr("1");
|
|
filterVO.setFlagStr("1");
|
|
medManageParams = behospitalInfoFacade.getMedManageParams(filterVO);
|
|
medManageParams = behospitalInfoFacade.getMedManageParams(filterVO);
|
|
medQualityControlDTO = bloodMethod(medQualityControlDTO, medManageParams, triggeringRulesMap);
|
|
medQualityControlDTO = bloodMethod(medQualityControlDTO, medManageParams, triggeringRulesMap);
|
|
- return medQualityControlDTO;
|
|
|
|
|
|
+ return hashMapArrayList;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -531,27 +567,51 @@ public class ConsoleFacade {
|
|
/**
|
|
/**
|
|
* 医嘱表判断无病案首页是否为病理手术患者的人数
|
|
* 医嘱表判断无病案首页是否为病理手术患者的人数
|
|
*/
|
|
*/
|
|
- public int getOperationPathologyNum(FilterVO filterVO){
|
|
|
|
|
|
+ public Map<String,Integer> getOperationPathologyNum(FilterVO filterVO){
|
|
List<String> behospitalCodeList = adviceVerify(filterVO);
|
|
List<String> behospitalCodeList = adviceVerify(filterVO);
|
|
|
|
+ int operationPathologyNum=0;
|
|
int operationNum=0;
|
|
int operationNum=0;
|
|
|
|
+ HashMap<String, Integer> map = new HashMap<>();
|
|
|
|
+ if(ListUtil.isNotEmpty(behospitalCodeList)&&behospitalCodeList.size()>0) {
|
|
for (String behospitalCode : behospitalCodeList) {
|
|
for (String behospitalCode : behospitalCodeList) {
|
|
QueryWrapper<DoctorAdvice> dtoQueryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<DoctorAdvice> dtoQueryWrapper = new QueryWrapper<>();
|
|
dtoQueryWrapper.eq("behospital_code",behospitalCode)
|
|
dtoQueryWrapper.eq("behospital_code",behospitalCode)
|
|
.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
- .eq("doctor_advice_type",QualityContent.STAT_ORDER)
|
|
|
|
.eq("da_status",QualityContent.EXECUTE_ORDER);
|
|
.eq("da_status",QualityContent.EXECUTE_ORDER);
|
|
//查医嘱表
|
|
//查医嘱表
|
|
List<DoctorAdvice> doctorAdvices = doctorAdviceFacade.getBaseMapper().selectList(dtoQueryWrapper);
|
|
List<DoctorAdvice> doctorAdvices = doctorAdviceFacade.getBaseMapper().selectList(dtoQueryWrapper);
|
|
|
|
+ //手术病理
|
|
|
|
+ if(ListUtil.isNotEmpty(doctorAdvices)&&doctorAdvices.size()>0) {
|
|
for (DoctorAdvice doctorAdvice : doctorAdvices) {
|
|
for (DoctorAdvice doctorAdvice : doctorAdvices) {
|
|
String name = doctorAdvice.getDaItemName();
|
|
String name = doctorAdvice.getDaItemName();
|
|
- if(name.contains(QualityContent.OPERATION)) {
|
|
|
|
|
|
+ if (StringUtil.isNotEmpty(name)) {
|
|
|
|
+ if (name.contains(QualityContent.OPERATION)) {
|
|
if (name.contains(QualityContent.NO_OPERATION) || name.contains(QualityContent.OPERATION_ROOM) || (name.contains(QualityContent.OPERATION) && name.contains(QualityContent.COUNTERMAND)) || (name.contains(QualityContent.PAUSE) && name.contains(QualityContent.OPERATION)) || name.contains(QualityContent.VENIPUNCTURE_CATHETERIZATION) || name.startsWith(QualityContent.STOP) || name.contains(QualityContent.LAST)
|
|
if (name.contains(QualityContent.NO_OPERATION) || name.contains(QualityContent.OPERATION_ROOM) || (name.contains(QualityContent.OPERATION) && name.contains(QualityContent.COUNTERMAND)) || (name.contains(QualityContent.PAUSE) && name.contains(QualityContent.OPERATION)) || name.contains(QualityContent.VENIPUNCTURE_CATHETERIZATION) || name.startsWith(QualityContent.STOP) || name.contains(QualityContent.LAST)
|
|
|| name.contains(QualityContent.OPERATION_SPECIAL_PATIENTS) || name.contains(QualityContent.IMMUNODEFICIENCY_VIRUS_ANTIBODY)) {
|
|
|| name.contains(QualityContent.OPERATION_SPECIAL_PATIENTS) || name.contains(QualityContent.IMMUNODEFICIENCY_VIRUS_ANTIBODY)) {
|
|
continue;
|
|
continue;
|
|
- }else {
|
|
|
|
|
|
+ } else {
|
|
for (DoctorAdvice advice : doctorAdvices) {
|
|
for (DoctorAdvice advice : doctorAdvices) {
|
|
String daItemName = advice.getDaItemName();
|
|
String daItemName = advice.getDaItemName();
|
|
- if(daItemName.contains(QualityContent.PATHOLOGY)) {
|
|
|
|
|
|
+ if (daItemName.contains(QualityContent.PATHOLOGY)) {
|
|
|
|
+ operationPathologyNum++;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //手术
|
|
|
|
+ if(ListUtil.isNotEmpty(doctorAdvices)&&doctorAdvices.size()>0) {
|
|
|
|
+ for (DoctorAdvice doctorAdvice : doctorAdvices) {
|
|
|
|
+ String name = doctorAdvice.getDaItemName();
|
|
|
|
+ if (StringUtil.isNotEmpty(name)) {
|
|
|
|
+ if (name.contains(QualityContent.OPERATION)) {
|
|
|
|
+ if (name.contains(QualityContent.NO_OPERATION) || name.contains(QualityContent.OPERATION_ROOM) || (name.contains(QualityContent.OPERATION) && name.contains(QualityContent.COUNTERMAND)) || (name.contains(QualityContent.PAUSE) && name.contains(QualityContent.OPERATION)) || name.contains(QualityContent.VENIPUNCTURE_CATHETERIZATION) || name.startsWith(QualityContent.STOP) || name.contains(QualityContent.LAST)
|
|
|
|
+ || name.contains(QualityContent.OPERATION_SPECIAL_PATIENTS) || name.contains(QualityContent.IMMUNODEFICIENCY_VIRUS_ANTIBODY)) {
|
|
|
|
+ continue;
|
|
|
|
+ } else {
|
|
operationNum++;
|
|
operationNum++;
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
@@ -559,8 +619,11 @@ public class ConsoleFacade {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- return operationNum;
|
|
|
|
|
|
+ map.put(QualityContent.NO_RECORD_OPERATION_PATHOLOGY,operationPathologyNum);
|
|
|
|
+ map.put(QualityContent.NO_RECORD_OPERATION,operationNum);
|
|
|
|
+ return map;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -569,23 +632,28 @@ public class ConsoleFacade {
|
|
public int getOperationNum(FilterVO filterVO){
|
|
public int getOperationNum(FilterVO filterVO){
|
|
List<String> behospitalCodeList = adviceVerify(filterVO);
|
|
List<String> behospitalCodeList = adviceVerify(filterVO);
|
|
int operationNum=0;
|
|
int operationNum=0;
|
|
- for (String behospitalCode : behospitalCodeList) {
|
|
|
|
- QueryWrapper<DoctorAdvice> dtoQueryWrapper = new QueryWrapper<>();
|
|
|
|
- dtoQueryWrapper.eq("behospital_code",behospitalCode)
|
|
|
|
- .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
|
- .eq("doctor_advice_type",QualityContent.STAT_ORDER)
|
|
|
|
- .eq("da_status",QualityContent.EXECUTE_ORDER);
|
|
|
|
- //查医嘱表
|
|
|
|
- List<DoctorAdvice> doctorAdvices = doctorAdviceFacade.getBaseMapper().selectList(dtoQueryWrapper);
|
|
|
|
- for (DoctorAdvice doctorAdvice : doctorAdvices) {
|
|
|
|
- String name = doctorAdvice.getDaItemName();
|
|
|
|
- if(name.contains(QualityContent.OPERATION)) {
|
|
|
|
- if (name.contains(QualityContent.NO_OPERATION) || name.contains(QualityContent.OPERATION_ROOM) || (name.contains(QualityContent.OPERATION) && name.contains(QualityContent.COUNTERMAND)) || (name.contains(QualityContent.PAUSE) && name.contains(QualityContent.OPERATION)) || name.contains(QualityContent.VENIPUNCTURE_CATHETERIZATION) || name.startsWith(QualityContent.STOP) || name.contains(QualityContent.LAST)
|
|
|
|
- || name.contains(QualityContent.OPERATION_SPECIAL_PATIENTS) || name.contains(QualityContent.IMMUNODEFICIENCY_VIRUS_ANTIBODY)) {
|
|
|
|
- continue;
|
|
|
|
- }else {
|
|
|
|
- operationNum++;
|
|
|
|
- break;
|
|
|
|
|
|
+ if(ListUtil.isNotEmpty(behospitalCodeList)&&behospitalCodeList.size()>0) {
|
|
|
|
+ for (String behospitalCode : behospitalCodeList) {
|
|
|
|
+ QueryWrapper<DoctorAdvice> dtoQueryWrapper = new QueryWrapper<>();
|
|
|
|
+ dtoQueryWrapper.eq("behospital_code", behospitalCode)
|
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
|
+ .eq("da_status", QualityContent.EXECUTE_ORDER);
|
|
|
|
+ //查医嘱表
|
|
|
|
+ List<DoctorAdvice> doctorAdvices = doctorAdviceFacade.getBaseMapper().selectList(dtoQueryWrapper);
|
|
|
|
+ if(ListUtil.isNotEmpty(doctorAdvices)&&doctorAdvices.size()>0) {
|
|
|
|
+ for (DoctorAdvice doctorAdvice : doctorAdvices) {
|
|
|
|
+ String name = doctorAdvice.getDaItemName();
|
|
|
|
+ if (StringUtil.isNotEmpty(name)) {
|
|
|
|
+ if (name.contains(QualityContent.OPERATION)) {
|
|
|
|
+ if (name.contains(QualityContent.NO_OPERATION) || name.contains(QualityContent.OPERATION_ROOM) || (name.contains(QualityContent.OPERATION) && name.contains(QualityContent.COUNTERMAND)) || (name.contains(QualityContent.PAUSE) && name.contains(QualityContent.OPERATION)) || name.contains(QualityContent.VENIPUNCTURE_CATHETERIZATION) || name.startsWith(QualityContent.STOP) || name.contains(QualityContent.LAST)
|
|
|
|
+ || name.contains(QualityContent.OPERATION_SPECIAL_PATIENTS) || name.contains(QualityContent.IMMUNODEFICIENCY_VIRUS_ANTIBODY)) {
|
|
|
|
+ continue;
|
|
|
|
+ } else {
|
|
|
|
+ operationNum++;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -606,13 +674,15 @@ public class ConsoleFacade {
|
|
String behospitalCode = ctNumMap.get("behospital_code");
|
|
String behospitalCode = ctNumMap.get("behospital_code");
|
|
if (!codeList.contains(behospitalCode)) {
|
|
if (!codeList.contains(behospitalCode)) {
|
|
String daItemName = ctNumMap.get("da_item_name");
|
|
String daItemName = ctNumMap.get("da_item_name");
|
|
- if ((daItemName.contains(QualityContent.CT) || daItemName.contains(QualityContent.X_RAY)) && StringUtil.isNotEmpty(daItemName)) {
|
|
|
|
- if ((!daItemName.contains(QualityContent.ATCH) && !daItemName.contains(QualityContent.TCT) && !daItemName.contains(QualityContent.HCT)
|
|
|
|
- && !daItemName.contains(QualityContent.OCT) && !daItemName.contains(QualityContent.NCT) && !daItemName.contains(QualityContent.LCT)
|
|
|
|
- && !daItemName.contains(QualityContent.ACT)) || (daItemName.contains(QualityContent.STOP))) {
|
|
|
|
- //都不包含为CT
|
|
|
|
- codeList.add(behospitalCode);
|
|
|
|
- continue;
|
|
|
|
|
|
+ if (StringUtil.isNotEmpty(daItemName)) {
|
|
|
|
+ if ((daItemName.contains(QualityContent.CT) || daItemName.contains(QualityContent.X_RAY))) {
|
|
|
|
+ if ((!daItemName.contains(QualityContent.ATCH) && !daItemName.contains(QualityContent.TCT) && !daItemName.contains(QualityContent.HCT)
|
|
|
|
+ && !daItemName.contains(QualityContent.OCT) && !daItemName.contains(QualityContent.NCT) && !daItemName.contains(QualityContent.LCT)
|
|
|
|
+ && !daItemName.contains(QualityContent.ACT)) || (daItemName.contains(QualityContent.STOP))) {
|
|
|
|
+ //都不包含为CT
|
|
|
|
+ codeList.add(behospitalCode);
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -626,10 +696,12 @@ public class ConsoleFacade {
|
|
if (contains(QualityContent.STAT_ORDER)) {
|
|
if (contains(QualityContent.STAT_ORDER)) {
|
|
if (!codeList.contains(behospitalCodeMri)) {
|
|
if (!codeList.contains(behospitalCodeMri)) {
|
|
String daItemName = MRINumMap.get("da_item_name");
|
|
String daItemName = MRINumMap.get("da_item_name");
|
|
- if (daItemName.contains(QualityContent.MRGNETIC_RESONANCE) || daItemName.contains(QualityContent.MR)) {
|
|
|
|
- if (!daItemName.contains(QualityContent.IMRT) && !daItemName.contains(QualityContent.MRS)) {
|
|
|
|
- codeMri.add(behospitalCodeMri);
|
|
|
|
- continue;
|
|
|
|
|
|
+ if (StringUtil.isNotEmpty(daItemName)) {
|
|
|
|
+ if (daItemName.contains(QualityContent.MRGNETIC_RESONANCE) || daItemName.contains(QualityContent.MR)) {
|
|
|
|
+ if (!daItemName.contains(QualityContent.IMRT) && !daItemName.contains(QualityContent.MRS)) {
|
|
|
|
+ codeMri.add(behospitalCodeMri);
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -654,26 +726,32 @@ public class ConsoleFacade {
|
|
* @param filterVO
|
|
* @param filterVO
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public int getAntibiosisNum(FilterVO filterVO){
|
|
|
|
|
|
+ public int getAntibiosisNum(FilterVO filterVO) {
|
|
List<String> adviceVerify = adviceVerify(filterVO);
|
|
List<String> adviceVerify = adviceVerify(filterVO);
|
|
- int operationNum=0;
|
|
|
|
- for (String behospitalCode : adviceVerify) {
|
|
|
|
- QueryWrapper<DoctorAdvice> dtoQueryWrapper = new QueryWrapper<>();
|
|
|
|
- dtoQueryWrapper.eq("behospital_code",behospitalCode)
|
|
|
|
- .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
|
- .eq("doctor_advice_type",QualityContent.STAT_ORDER)
|
|
|
|
- .eq("da_status",QualityContent.EXECUTE_ORDER);
|
|
|
|
- //查医嘱表
|
|
|
|
- List<DoctorAdvice> doctorAdvices = doctorAdviceFacade.getBaseMapper().selectList(dtoQueryWrapper);
|
|
|
|
- doc:
|
|
|
|
- for (DoctorAdvice doctorAdvice : doctorAdvices) {
|
|
|
|
- String daItemName = doctorAdvice.getDaItemName();
|
|
|
|
- List<String> antimicrobialDrugList = QualityContent.Antimicrobial_Drug_List;
|
|
|
|
- for (String antimicrobialDrug : antimicrobialDrugList) {
|
|
|
|
- if(daItemName.contains(antimicrobialDrug)) {
|
|
|
|
- //医嘱包含抗菌药物名称
|
|
|
|
- operationNum++;
|
|
|
|
- break doc;
|
|
|
|
|
|
+ int operationNum = 0;
|
|
|
|
+ if (ListUtil.isNotEmpty(adviceVerify) && adviceVerify.size() > 0) {
|
|
|
|
+ for (String behospitalCode : adviceVerify) {
|
|
|
|
+ QueryWrapper<DoctorAdvice> dtoQueryWrapper = new QueryWrapper<>();
|
|
|
|
+ dtoQueryWrapper.eq("behospital_code", behospitalCode)
|
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
|
+ .eq("doctor_advice_type", QualityContent.STAT_ORDER)
|
|
|
|
+ .eq("da_status", QualityContent.EXECUTE_ORDER);
|
|
|
|
+ //查医嘱表
|
|
|
|
+ List<DoctorAdvice> doctorAdvices = doctorAdviceFacade.getBaseMapper().selectList(dtoQueryWrapper);
|
|
|
|
+ if (ListUtil.isNotEmpty(doctorAdvices) && doctorAdvices.size() > 0) {
|
|
|
|
+ doc:
|
|
|
|
+ for (DoctorAdvice doctorAdvice : doctorAdvices) {
|
|
|
|
+ String daItemName = doctorAdvice.getDaItemName();
|
|
|
|
+ if (StringUtil.isNotEmpty(daItemName)) {
|
|
|
|
+ List<String> antimicrobialDrugList = QualityContent.Antimicrobial_Drug_List;
|
|
|
|
+ for (String antimicrobialDrug : antimicrobialDrugList) {
|
|
|
|
+ if (daItemName.contains(antimicrobialDrug)) {
|
|
|
|
+ //医嘱包含抗菌药物名称
|
|
|
|
+ operationNum++;
|
|
|
|
+ break doc;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|