|
@@ -736,18 +736,16 @@ public class ConsoleFacade {
|
|
|
Set<String> bloodCode = new CopyOnWriteArraySet<>();
|
|
|
//指标二十七
|
|
|
|
|
|
- //指标十七 医师查房记录
|
|
|
+ //指标18 医师查房记录 查询直接返回 -code需要加载
|
|
|
|
|
|
- //指标十八 抢救记录
|
|
|
+ //指标19 抢救记录
|
|
|
rescueMethods(doctorAdviceMedManageParams,medIndexResult,rescueCode);
|
|
|
- //指标十九 出院患者病历2日归档
|
|
|
+ //指标20 出院患者病历2日归档
|
|
|
getfileSecAmounts(filterVO,medIndexResult);
|
|
|
- //指标十四 手术记录
|
|
|
+ //指标15 手术记录
|
|
|
medIndexResult.setOperationCompleteResult(Double.parseDouble(operationFeeNum+""));
|
|
|
- //指标十六 临床用血相关记录符合率
|
|
|
- filterVO.setFlagStr("1");
|
|
|
- List<MedManageParamsDTO> medManageParams = behospitalInfoFacade.getMedManageParams(filterVO);
|
|
|
- bloodMethods(doctorAdviceMedManageParams, medManageParams,medIndexResult,bloodCode);
|
|
|
+ //指标17 临床用血相关记录符合率
|
|
|
+ bloodMethods(doctorAdviceMedManageParams, filterVO,medIndexResult,bloodCode);
|
|
|
medIndexResult.setHospitalId(filterVO.getHospitalId());
|
|
|
medIndexResult.setStartDate(filterVO.getStartDate());
|
|
|
medIndexResult.setEndDate(filterVO.getEndDate());
|
|
@@ -2962,6 +2960,7 @@ public class ConsoleFacade {
|
|
|
|
|
|
//指标十八 抢救记录
|
|
|
private List<Map<String, String>> rescueMethod( Map<String, Double> medManageParams, List<Map<String, String>> retList,Map<String, Long> triggeringRulesMap){
|
|
|
+ LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
|
|
|
//接受抢救的质控病历总数
|
|
|
double count = medManageParams.get("rescue_result");
|
|
|
String num = null;
|
|
@@ -2971,8 +2970,9 @@ public class ConsoleFacade {
|
|
|
if(rescueDo<0d){
|
|
|
num = null;
|
|
|
}
|
|
|
+ firMap.put("num",String.valueOf(count));
|
|
|
};
|
|
|
- LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
|
|
|
+
|
|
|
firMap.put("name","患者抢救记录及时完成率");
|
|
|
firMap.put("notCopiedStr",StringUtils.isEmpty(num) ? "0.00%":(num+"%"));
|
|
|
retList.add(firMap);
|
|
@@ -2981,6 +2981,7 @@ public class ConsoleFacade {
|
|
|
|
|
|
//指标十七 医师查房记录
|
|
|
private List<Map<String, String>> WardRoundMethod( List<Map<String, String>> retList, Map<String, Object> baseIndex, Map<String, Long> triggeringRulesMap){
|
|
|
+ LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
|
|
|
String num = null;
|
|
|
if( triggeringRulesMap.containsKey("WardRoundNum") && baseIndex.containsKey("forWorkNum") && !baseIndex.get("forWorkNum").toString().equals("0")){
|
|
|
double wardRoundDo = currencyCal(baseIndex.get("forWorkNum"), triggeringRulesMap.get("WardRoundNum"));
|
|
@@ -2988,8 +2989,8 @@ public class ConsoleFacade {
|
|
|
if(wardRoundDo<0d){
|
|
|
num = null;
|
|
|
}
|
|
|
+ firMap.put("num",baseIndex.get("forWorkNum").toString());
|
|
|
};
|
|
|
- LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
|
|
|
firMap.put("name","医师查房记录完成率");
|
|
|
firMap.put("notCopiedStr",StringUtils.isEmpty(num) ? "0.00%":(num+"%"));
|
|
|
retList.add(firMap);
|
|
@@ -2998,6 +2999,7 @@ public class ConsoleFacade {
|
|
|
|
|
|
//指标十四 手术记录
|
|
|
private List<Map<String, String>> operationMethod(Map<String, Double> medManageParams, List<Map<String, String>>retList, Map<String, Long> triggeringRulesMap){
|
|
|
+ LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
|
|
|
String operationFeeNum = medManageParams.get("operationFeeNum")+"";
|
|
|
String num = null;
|
|
|
if( triggeringRulesMap.containsKey("operationRecordNum") && StringUtils.isNotEmpty(operationFeeNum) && ! operationFeeNum.equals("0")){
|
|
@@ -3006,17 +3008,18 @@ public class ConsoleFacade {
|
|
|
if(operationRecordDo<0d){
|
|
|
num = null;
|
|
|
}
|
|
|
+ firMap.put("num",operationFeeNum);
|
|
|
};
|
|
|
- LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
|
|
|
firMap.put("name","手术相关记录完成率");
|
|
|
firMap.put("notCopiedStr",StringUtils.isEmpty(num) ? "0.00%":(num+"%"));
|
|
|
+
|
|
|
retList.add(firMap);
|
|
|
return retList;
|
|
|
}
|
|
|
|
|
|
//指标十六 临床用血相关记录符合率
|
|
|
private List<Map<String, String>> bloodMethod( List<Map<String, String>>retList,Map<String, Double> bloodRes,Map<String, Long> triggeringRulesMap){
|
|
|
-
|
|
|
+ LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
|
|
|
double count = bloodRes.get("blood_result");
|
|
|
String num = null;
|
|
|
if(StringUtils.isNotEmpty(String.valueOf(count)) && count != 0d){
|
|
@@ -3026,8 +3029,9 @@ public class ConsoleFacade {
|
|
|
if(bloodDo<0d){
|
|
|
num = null;
|
|
|
}
|
|
|
+ firMap.put("num",String.valueOf(count));
|
|
|
}
|
|
|
- LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
|
|
|
+
|
|
|
firMap.put("name","临床用血相关记录符合率");
|
|
|
firMap.put("notCopiedStr",StringUtils.isEmpty(num) ? "0.00%":(num+"%"));
|
|
|
retList.add(firMap);
|
|
@@ -3047,6 +3051,7 @@ public class ConsoleFacade {
|
|
|
|
|
|
//指标十九 出院患者病历2日归档
|
|
|
private List<Map<String, String>> getfileSecAmount(Map<String, Double> medManageParams, List<Map<String, String>>retList, Map<String, Object> baseIndex){
|
|
|
+ LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
|
|
|
DecimalFormat df = new DecimalFormat("#0.00");
|
|
|
double count = medManageParams.get("sec_file_result");
|
|
|
String num = null;
|
|
@@ -3054,8 +3059,9 @@ public class ConsoleFacade {
|
|
|
double retNum =count* 100/Double.parseDouble(baseIndex.get("sevenWorkNum").toString());
|
|
|
double firGradeStr = Double.parseDouble(df.format(retNum));
|
|
|
num = String.valueOf(firGradeStr);
|
|
|
+ firMap.put("num",baseIndex.get("sevenWorkNum").toString());
|
|
|
}
|
|
|
- LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
|
|
|
+
|
|
|
firMap.put("name","出院患者病历2日归档率");
|
|
|
firMap.put("notCopiedStr",StringUtils.isEmpty(num) ? "0.00%":(num+"%"));
|
|
|
retList.add(firMap);
|
|
@@ -3146,6 +3152,7 @@ public class ConsoleFacade {
|
|
|
DecimalFormat df = new DecimalFormat("0.00");
|
|
|
if(indexName.equals(QualityContent.JJBLL)||indexName.equals(QualityContent.QB)) {
|
|
|
//指标二十七 -甲级病历率
|
|
|
+ LinkedHashMap<String, String> fouMap = new LinkedHashMap<>();
|
|
|
Double firRecord = 0d;
|
|
|
String num4= null;
|
|
|
if(StringUtils.isNotEmpty( baseIndex.get("forWorkNum").toString())){
|
|
@@ -3155,8 +3162,8 @@ public class ConsoleFacade {
|
|
|
double retNum = Double.parseDouble(baseIndex.get("sixWorkNum").toString()) * 100 / firRecord;
|
|
|
double firGradeStr = Double.parseDouble(df.format(retNum));
|
|
|
num4 = String.valueOf(firGradeStr);
|
|
|
+ fouMap.put("num",String.valueOf(firRecord));
|
|
|
}
|
|
|
- LinkedHashMap<String, String> fouMap = new LinkedHashMap<>();
|
|
|
fouMap.put("name","甲级病历率");
|
|
|
fouMap.put("notCopiedStr",StringUtils.isEmpty(num4) ? "0.00%":(num4+"%"));
|
|
|
retList.add(fouMap);
|
|
@@ -3168,7 +3175,7 @@ public class ConsoleFacade {
|
|
|
/**
|
|
|
* ==============================后台维护===============================
|
|
|
*/
|
|
|
- //指标十八 抢救记录
|
|
|
+ //指标19 抢救记录
|
|
|
private void rescueMethods(List<MedManageParamsDTO> medManageParams,MedIndexResult medIndexResult, Set<String> rescueCode){
|
|
|
List<MedManageParamsDTO> manageList= new ArrayList<>();
|
|
|
List<String> rescueDrugList = QualityContent.RESCUEDRUGLIST;
|
|
@@ -3183,7 +3190,6 @@ public class ConsoleFacade {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
//接受抢救的质控病历总数
|
|
|
double count = manageList.stream().map(MedManageParamsDTO::getBehospitalCode).distinct().count();
|
|
|
if(StringUtils.isNotEmpty(String.valueOf(count)) && count != 0d){
|
|
@@ -3191,8 +3197,10 @@ public class ConsoleFacade {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //指标十六 临床用血相关记录符合率
|
|
|
- private void bloodMethods(List<MedManageParamsDTO> doctorAdviceList, List<MedManageParamsDTO> medManageParams,MedIndexResult medIndexResult, Set<String> bloodCode){
|
|
|
+ //指标17 临床用血相关记录符合率
|
|
|
+ private void bloodMethods(List<MedManageParamsDTO> doctorAdviceList,FilterVO filterVO,MedIndexResult medIndexResult, Set<String> bloodCode){
|
|
|
+ filterVO.setFlagStr("1");
|
|
|
+ List<MedManageParamsDTO> medManageParams = behospitalInfoFacade.getMedManageParams(filterVO);
|
|
|
Set<String> manageList= new CopyOnWriteArraySet<>();
|
|
|
List<String> blood_list = QualityContent.BLOODLIST;
|
|
|
//lis项目存在用血住院病历号
|
|
@@ -3224,7 +3232,7 @@ public class ConsoleFacade {
|
|
|
}
|
|
|
|
|
|
|
|
|
- //指标十九 出院患者病历2日归档
|
|
|
+ //指标20 出院患者病历2日归档
|
|
|
private void getfileSecAmounts(FilterVO filterVO,MedIndexResult medIndexResult){
|
|
|
QueryWrapper<BehospitalInfo> query = new QueryWrapper<>();
|
|
|
DecimalFormat df = new DecimalFormat("#0.00");
|