|
@@ -570,9 +570,15 @@ public class ConsoleFacade {
|
|
|
hashMapArrayList = getfileSecAmount(medicalRecordIndicator,hashMapArrayList, baseIndex);
|
|
|
}
|
|
|
|
|
|
- //指标二十七
|
|
|
+ //指标二十一 出院患者病历归档完整率
|
|
|
+ if (indexName.equals(QualityContent.CCHZ_GD_WZL)||indexName.equals(QualityContent.QB)) {
|
|
|
+ hashMapArrayList = fileCompleteMethod(medicalRecordIndicator,hashMapArrayList, baseIndex);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //指标二十七 甲级率
|
|
|
if (indexName.equals(QualityContent.JJBLL)||indexName.equals(QualityContent.QB)) {
|
|
|
- hashMapArrayList = firMethod(indexName,hashMapArrayList,baseIndex);
|
|
|
+ hashMapArrayList = firMethod(hashMapArrayList,baseIndex);
|
|
|
}
|
|
|
return hashMapArrayList;
|
|
|
}
|
|
@@ -785,6 +791,8 @@ public class ConsoleFacade {
|
|
|
rescueMethods(doctorAdviceMedManageParams,medIndexResult,rescueCode);
|
|
|
//指标20 出院患者病历2日归档
|
|
|
getfileSecAmounts(filterVO,medIndexResult);
|
|
|
+ //指标21 出院患者病历归档完整率
|
|
|
+ fileCompleteMethods(filterVO,medIndexResult);
|
|
|
//指标15 手术记录
|
|
|
medIndexResult.setOperationCompleteResult(Double.parseDouble(operationFeeNum+""));
|
|
|
//指标17 临床用血相关记录符合率
|
|
@@ -3115,6 +3123,25 @@ public class ConsoleFacade {
|
|
|
return retList;
|
|
|
};
|
|
|
|
|
|
+ //指标21 --出院患者病历归档完整率
|
|
|
+ private List<Map<String, String>> fileCompleteMethod(Map<String, Double> medManageParams, List<Map<String, String>>retList, Map<String, Object> baseIndex){
|
|
|
+ DecimalFormat df = new DecimalFormat("#0.00");
|
|
|
+ LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
|
|
|
+ double count = medManageParams.get("fileCompleteResult");
|
|
|
+ String num = null;
|
|
|
+ if(StringUtils.isNotEmpty( baseIndex.get("forWorkNum").toString()) && ! baseIndex.get("forWorkNum").toString().equals("0") ){
|
|
|
+ double retNum =count* 100/Double.parseDouble(baseIndex.get("forWorkNum").toString());
|
|
|
+ double firGradeStr = Double.parseDouble(df.format(retNum));
|
|
|
+ num = String.valueOf(firGradeStr);
|
|
|
+ firMap.put("num",baseIndex.get("forWorkNum").toString());
|
|
|
+ }
|
|
|
+
|
|
|
+ firMap.put("name","出院患者病历归档完整率");
|
|
|
+ firMap.put("notCopiedStr",StringUtils.isEmpty(num) ? "0.00%":(num+"%"));
|
|
|
+ retList.add(firMap);
|
|
|
+ return retList;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
private List<Map<String, String>> ManageIndexMethod(String indexName,List<Map<String, String>> retList, Map<String, Object> baseIndex, MedIndexFilterVO timeVo){
|
|
|
QueryWrapper<MedManagementInfo> query = new QueryWrapper<>();
|
|
@@ -3195,9 +3222,8 @@ public class ConsoleFacade {
|
|
|
};
|
|
|
|
|
|
|
|
|
- private List<Map<String, String>> firMethod(String indexName,List<Map<String, String>> retList, Map<String, Object> baseIndex){
|
|
|
+ private List<Map<String, String>> firMethod(List<Map<String, String>> retList, Map<String, Object> baseIndex){
|
|
|
DecimalFormat df = new DecimalFormat("0.00");
|
|
|
- if(indexName.equals(QualityContent.JJBLL)||indexName.equals(QualityContent.QB)) {
|
|
|
//指标二十七 -甲级病历率
|
|
|
LinkedHashMap<String, String> fouMap = new LinkedHashMap<>();
|
|
|
Double firRecord = 0d;
|
|
@@ -3214,7 +3240,6 @@ public class ConsoleFacade {
|
|
|
fouMap.put("name","甲级病历率");
|
|
|
fouMap.put("notCopiedStr",StringUtils.isEmpty(num4) ? "0.00%":(num4+"%"));
|
|
|
retList.add(fouMap);
|
|
|
- }
|
|
|
return retList;
|
|
|
};
|
|
|
|
|
@@ -3368,6 +3393,16 @@ public class ConsoleFacade {
|
|
|
filterVO.setLastEndDate(endTime);
|
|
|
};
|
|
|
|
|
|
+ //指标21 出院患者病历归档完整率
|
|
|
+ private void fileCompleteMethods(FilterVO filterVO,MedIndexResult medIndexResult){
|
|
|
+ filterVO.setFlagStr("3");
|
|
|
+ List<MedManageParamsDTO> fileLists = behospitalInfoFacade.getMedManageParams(filterVO);
|
|
|
+ double count = fileLists.stream().map(MedManageParamsDTO::getBehospitalCode).distinct().count();
|
|
|
+ if(StringUtils.isNotEmpty(String.valueOf(count)) && count != 0d){
|
|
|
+ medIndexResult.setFileCompleteResult(count);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
|
|
|
/**
|