Procházet zdrojové kódy

Merge branch 'master' of http://192.168.2.236:10080/louhr/qc

louhr před 5 roky
rodič
revize
e09f9c4ada
18 změnil soubory, kde provedl 173 přidání a 25 odebrání
  1. 31 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0240.java
  2. 36 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0244.java
  3. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0245.java
  4. 13 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0246.java
  5. 30 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0257.java
  6. 42 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0272.java
  7. 5 7
      public/src/main/java/com/lantone/qc/pub/Content.java
  8. 5 5
      public/src/main/java/com/lantone/qc/pub/model/InputInfo.java
  9. 1 1
      public/src/main/java/com/lantone/qc/pub/model/doc/ClinicalBloodDoc.java
  10. 1 1
      public/src/main/java/com/lantone/qc/pub/model/doc/ConsultationDoc.java
  11. 1 1
      public/src/main/java/com/lantone/qc/pub/model/doc/DeathCaseDiscussDoc.java
  12. 1 1
      public/src/main/java/com/lantone/qc/pub/model/doc/DifficultCaseDiscussDoc.java
  13. 1 1
      public/src/main/java/com/lantone/qc/pub/model/doc/OperationDiscussionDoc.java
  14. 1 1
      trans/src/main/java/com/lantone/qc/trans/changx/ClinicalBloodDocTrans.java
  15. 1 1
      trans/src/main/java/com/lantone/qc/trans/changx/ConsultationDocTrans.java
  16. 1 1
      trans/src/main/java/com/lantone/qc/trans/changx/DeathCaseDiscussDocTrans.java
  17. 1 1
      trans/src/main/java/com/lantone/qc/trans/changx/DifficultCaseDiscussDocTrans.java
  18. 1 1
      trans/src/main/java/com/lantone/qc/trans/changx/OperationDiscussionDocTrans.java

+ 31 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0240.java

@@ -0,0 +1,31 @@
+package com.lantone.qc.kernel.catalogue.firstpagerecord;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.Content;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @ClassName : FIRP0240
+ * @Description : 病历分型未填写
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28ss
+ */
+@Component
+public class FIRP0240 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
+            Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
+            String outDept = firstpageStructureMap.get(Content.medical_classification);
+            if(CatalogueUtil.isEmpty(outDept)){
+                status = "-1";
+            }
+
+        }
+    }
+}

+ 36 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0244.java

@@ -0,0 +1,36 @@
+package com.lantone.qc.kernel.catalogue.firstpagerecord;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.Content;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : FIRP0244
+ * @Description :  手术切口等级填写的与手术记录不一致
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28ss
+ */
+@Component
+public class FIRP0244 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
+            Map<String, Object> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            List<Map<String, String>> operative_information = (List<Map<String, String>>) firstpageStructureMap.get(Content.operative_information);
+            if(operative_information != null && operative_information.size()>0){
+                for (Map<String,String> opInfo:operative_information) {
+                    if(!CatalogueUtil.isEmpty(opInfo.get(Content.operative_name)) && CatalogueUtil.isEmpty(opInfo.get(Content.notch_grade))){
+                        status = "-1";
+                        break;
+                    }
+                }
+            }
+        }
+    }
+}

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0245.java

@@ -20,7 +20,7 @@ import java.util.Map;
 public class FIRP0245 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status = "0";
-        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
+        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureExtMap() != null) {
             Map<String, Object> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
             List<Map<String, String>> operative_information = (List<Map<String, String>>) firstpageStructureMap.get(Content.operative_information);
             if(operative_information != null && operative_information.size()>0){

+ 13 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0246.java

@@ -7,6 +7,7 @@ import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
 import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -20,8 +21,18 @@ import java.util.regex.Pattern;
 @Component
 public class FIRP0246 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
-            Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
+        status = "0";
+        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureExtMap() != null) {
+            Map<String, Object> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            List<Map<String, String>> operative_information = (List<Map<String, String>>) firstpageStructureMap.get(Content.operative_information);
+            if (operative_information != null && operative_information.size() > 0) {
+                for (Map<String, String> opInfo : operative_information) {
+                    if (!CatalogueUtil.isEmpty(opInfo.get(Content.operative_name)) && CatalogueUtil.isEmpty(opInfo.get(Content.healing_level))) {
+                        status = "-1";
+                        break;
+                    }
+                }
+            }
 
         }
     }

+ 30 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0257.java

@@ -0,0 +1,30 @@
+package com.lantone.qc.kernel.catalogue.firstpagerecord;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.Content;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @ClassName : FIRP0257
+ * @Description : 门诊诊断与住院诊断符合情况填写错误
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28
+ */
+@Component
+public class FIRP0257 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureExtMap() != null) {
+            Map<String, Object> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            Map<String,String> map = (Map) firstpageStructureMap.get(Content.diagnose_cts);
+            if (CatalogueUtil.isEmpty(map.get(Content.o_i))){
+                status = "-1";
+            }
+        }
+    }
+}

+ 42 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0272.java

@@ -0,0 +1,42 @@
+package com.lantone.qc.kernel.catalogue.firstpagerecord;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.Content;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.model.entity.Diag;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : FIRP0272
+ * @Description : 出院诊断顺序不规范
+    与出院小结里的出院诊断顺序做比较
+ * @Date: 2020-03-14 16:24
+ */
+@Component
+public class FIRP0272 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        if(inputInfo.getLeaveHospitalDoc() != null && inputInfo.getFirstPageRecordDoc() != null){
+            //出院诊断
+            List<Diag> diags = inputInfo.getLeaveHospitalDoc().getLeaveDiagLabel().getDiags();
+            Map<String, Object> firstPageMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            if(firstPageMap != null){
+                List<String> outDiags = (List<String>) firstPageMap.get(Content.dischargeDiag);
+                if(outDiags != null && diags != null){
+                    if(outDiags.size() == diags.size()){
+                        if(outDiags.containsAll(diags)){
+                            status = "0";
+                        }
+                    }
+                }else {
+                    status = "0";
+                }
+            }
+        }
+
+    }
+}

+ 5 - 7
public/src/main/java/com/lantone/qc/pub/Content.java

@@ -153,12 +153,11 @@ public class Content {
     public static final String clinical_pathology = "临床与病理";
     public static final String radiation_pathology = "放射与病理";
 
-    public static final String outpatientEmergencyDiag = "门(急)诊诊断";
+    public static final String medical_classification = "病历分型";
+
+    public static final String outpatientEmergencyDiag = "门急诊诊断";
     public static final String diagCode = "诊断编码";
     public static final String diagnose_name = "诊断名称";
-    public static final String inStatus = "入院情况";
-    public static final String outStatus = "出院情况";
-
     public static final String in_status = "入院情况";
     public static final String out_status = "出院情况";
     public static final String dischargeDiag = "出院诊断";
@@ -176,7 +175,7 @@ public class Content {
     public static final String actualStay = "实际住院天数";//病案首页用
     public static final String drugAllergy = "药物过敏";
     public static final String allergy_drug = "过敏药物";
-    public static final String deadAutopsy = "死亡患者尸检";
+    public static final String dead_autopsy = "死亡患者尸检";
     public static final String bloodType="血型";
     public static final String rhFactor="RH";
     public static final String qc_quality="病案质量";
@@ -205,9 +204,8 @@ public class Content {
     public static final String anesthesia_mode="麻醉方式";
     public static final String anesthesia_doctor="麻醉医师";
     public static final String outWay="离院方式";
-    public static final String brainInjuryComaTime="颅脑损伤患者昏迷时间";
     public static final String daCode="医嘱转院机构名称";
-    public static final String reHospitalization="是否有出院31天内再住院计划";
+    public static final String re_hospitalization="31天内再住院计划";
 
 
 

+ 5 - 5
public/src/main/java/com/lantone/qc/pub/model/InputInfo.java

@@ -26,15 +26,15 @@ public class InputInfo {
     private Map<String, Map<String, String>> inputCatalogueMap = new HashMap<>();
     //入院病历
     private BeHospitalizedDoc beHospitalizedDoc;
-    //临床用血审核制度
+    //输血/血制品病程记录
     private ClinicalBloodDoc clinicalBloodDoc;
-    //会诊制度
+    //会诊记录
     private List<ConsultationDoc> consultationDocs = new ArrayList<>();
-    //死亡病例讨论制度
+    //死亡病例讨论记录
     private DeathCaseDiscussDoc deathCaseDiscussDoc;
     //死亡记录
     private DeathRecordDoc deathRecordDoc;
-    //疑难病例讨论制度
+    //疑难病例讨论记录
     private List<DifficultCaseDiscussDoc> difficultCaseDiscussDocs = new ArrayList<>();
     //值班交接制度
     private List<DutyShiftSystemDoc> dutyShiftSystemDocs = new ArrayList<>();
@@ -46,7 +46,7 @@ public class InputInfo {
     private LeaveHospitalDoc leaveHospitalDoc;
     //分级护理制度
     private NursingSystemDoc nursingSystemDoc;
-    //围手术期病历讨论及记录
+    //术后首次病程及谈话记录
     private List<OperationDiscussionDoc> operationDiscussionDocs = new ArrayList<>();
     //术前讨论、术前小结
     private List<PreoperativeDiscussionDoc> preoperativeDiscussionDocs = new ArrayList<>();

+ 1 - 1
public/src/main/java/com/lantone/qc/pub/model/doc/ClinicalBloodDoc.java

@@ -5,7 +5,7 @@ import lombok.Setter;
 
 /**
  * @ClassName : ClinicalBloodDoc
- * @Description : 临床用血审核制度
+ * @Description : 输血/血制品病程记录
  * @Author : 楼辉荣
  * @Date: 2020-03-03 19:08
  */

+ 1 - 1
public/src/main/java/com/lantone/qc/pub/model/doc/ConsultationDoc.java

@@ -5,7 +5,7 @@ import lombok.Setter;
 
 /**
  * @ClassName : ConsultationDoc
- * @Description : 会诊制度
+ * @Description : 会诊记录
  * @Author : 楼辉荣
  * @Date: 2020-03-03 19:06
  */

+ 1 - 1
public/src/main/java/com/lantone/qc/pub/model/doc/DeathCaseDiscussDoc.java

@@ -5,7 +5,7 @@ import lombok.Setter;
 
 /**
  * @ClassName : DeathCaseDiscussionDoc
- * @Description : 死亡病例讨论制度
+ * @Description : 死亡病例讨论记录
  * @Author : 楼辉荣
  * @Date: 2020-03-03 19:02
  */

+ 1 - 1
public/src/main/java/com/lantone/qc/pub/model/doc/DifficultCaseDiscussDoc.java

@@ -5,7 +5,7 @@ import lombok.Setter;
 
 /**
  * @ClassName : DifficultCaseDiscussDoc
- * @Description : 疑难病例讨论制度
+ * @Description : 疑难病例讨论记录
  * @Author : 楼辉荣
  * @Date: 2020-03-03 19:03
  */

+ 1 - 1
public/src/main/java/com/lantone/qc/pub/model/doc/OperationDiscussionDoc.java

@@ -5,7 +5,7 @@ import lombok.Setter;
 
 /**
  * @ClassName : Operation
- * @Description : 围手术期病历讨论及记录
+ * @Description : 术后首次病程及谈话记录
  * @Author : 楼辉荣
  * @Date: 2020-03-03 19:09
  */

+ 1 - 1
trans/src/main/java/com/lantone/qc/trans/changx/ClinicalBloodDocTrans.java

@@ -3,7 +3,7 @@ package com.lantone.qc.trans.changx;
 import com.lantone.qc.trans.ModelDocTrans;
 
 /**
- * @Description: 临床用血审核制度文档生成
+ * @Description: 输血/血制品病程记录文档生成
  * @author: rengb
  * @time: 2020/3/17 13:21
  */

+ 1 - 1
trans/src/main/java/com/lantone/qc/trans/changx/ConsultationDocTrans.java

@@ -3,7 +3,7 @@ package com.lantone.qc.trans.changx;
 import com.lantone.qc.trans.ModelDocTrans;
 
 /**
- * @Description: 会诊制度文档生成
+ * @Description: 会诊记录文档生成
  * @author: rengb
  * @time: 2020/3/17 13:22
  */

+ 1 - 1
trans/src/main/java/com/lantone/qc/trans/changx/DeathCaseDiscussDocTrans.java

@@ -3,7 +3,7 @@ package com.lantone.qc.trans.changx;
 import com.lantone.qc.trans.ModelDocTrans;
 
 /**
- * @Description: 死亡病例讨论制度文档生成
+ * @Description: 死亡病例讨论记录文档生成
  * @author: rengb
  * @time: 2020/3/17 13:22
  */

+ 1 - 1
trans/src/main/java/com/lantone/qc/trans/changx/DifficultCaseDiscussDocTrans.java

@@ -3,7 +3,7 @@ package com.lantone.qc.trans.changx;
 import com.lantone.qc.trans.ModelDocTrans;
 
 /**
- * @Description: 疑难病例讨论制度文档生成
+ * @Description: 疑难病例讨论记录文档生成
  * @author: rengb
  * @time: 2020/3/17 13:23
  */

+ 1 - 1
trans/src/main/java/com/lantone/qc/trans/changx/OperationDiscussionDocTrans.java

@@ -3,7 +3,7 @@ package com.lantone.qc.trans.changx;
 import com.lantone.qc.trans.ModelDocTrans;
 
 /**
- * @Description: 围手术期病历讨论及记录文档生成
+ * @Description: 术后首次病程及谈话记录文档生成
  * @author: rengb
  * @time: 2020/3/17 13:26
  */