|
@@ -0,0 +1,46 @@
|
|
|
+package thyyxxk.webserver.utils;
|
|
|
+
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @Description:
|
|
|
+ * @Author:lihong
|
|
|
+ * @Date: 2023/1/12
|
|
|
+ */
|
|
|
+public class CommonUtil {
|
|
|
+ /**
|
|
|
+ * @description:计算医保支付方式
|
|
|
+ * @author: lihong
|
|
|
+ * @date: 2023/1/12 9:44
|
|
|
+ * @param: insuplcAdmdvs 参保地
|
|
|
+ * @param: medType 医疗类别
|
|
|
+ * @param: insurtype 险种类型
|
|
|
+ * @param: setlTime 结算时间
|
|
|
+ * @return: java.lang.Integer
|
|
|
+ **/
|
|
|
+ public static Integer calcHiPaymtd (String insuplcAdmdvs, String medType, String insurtype, Date setlTime){
|
|
|
+ //长沙市、县、浏阳、宁乡、望城、内五区的职工、居民的普通住院、外伤住院结算清单是按DRG传, 4
|
|
|
+ //普通住院 2101 外伤住院 22
|
|
|
+ List<String> medTypes = Arrays.asList("2101", "22");
|
|
|
+ //职工 310 居民 390
|
|
|
+ List<String> insurtypes = Arrays.asList("310", "390");
|
|
|
+ try {
|
|
|
+ if(setlTime.getTime() < DateUtil.parse("2023-01-01","yyyy-MM-dd").getTime()){
|
|
|
+ return 3;
|
|
|
+ }
|
|
|
+ //单病种
|
|
|
+ if (medType.equals("2102")) {
|
|
|
+ return 2;
|
|
|
+ }
|
|
|
+ if(insuplcAdmdvs.startsWith("430") && insurtypes.contains(insurtype) && medTypes.contains(medType)){
|
|
|
+ return 4;
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+ // 其他都是按项目 1
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+}
|