|
@@ -0,0 +1,83 @@
|
|
|
+package com.lantone.qc.kernel.catalogue.firstpagerecord;
|
|
|
+
|
|
|
+
|
|
|
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
|
|
|
+import com.lantone.qc.pub.model.InputInfo;
|
|
|
+import com.lantone.qc.pub.model.OutputInfo;
|
|
|
+import com.lantone.qc.pub.model.doc.FirstPageRecordDoc;
|
|
|
+import com.lantone.qc.pub.util.StringUtil;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @ClassName : FIRP03297
|
|
|
+ * @Description : 异位妊娠患者病案首页年龄不应小于14岁或大于54岁
|
|
|
+ * @Author : 沈乾
|
|
|
+ * @Date: 2022-04-14 16:57
|
|
|
+ */
|
|
|
+@Component
|
|
|
+/*
|
|
|
+ 1.查证【病案首页】,有则继续。
|
|
|
+ 2.查证【病案首页】>>【出院诊断】或【门急诊诊断】或【门(急)诊诊断】或【门诊诊断】中是否有诊断能匹配【异位妊娠-疾病列表】中任一疾病名称,有则继续。
|
|
|
+ 3.查证【病案首页】>>【年龄】字段内容,并判断字段内容的数字是否小于14或大于54,是则提示"
|
|
|
+*/
|
|
|
+public class FIRP03297 extends QCCatalogue {
|
|
|
+
|
|
|
+ public void start(InputInfo inputInfo, OutputInfo outputInfo) {
|
|
|
+ status.set("0");
|
|
|
+ //1.查证病案首页,有则继续。
|
|
|
+ FirstPageRecordDoc firstPageRecordDoc = inputInfo.getFirstPageRecordDoc();
|
|
|
+ if (firstPageRecordDoc == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //定义变量,获取储存的数据
|
|
|
+ String a = firstPageRecordDoc.getStructureMap().get("出院诊断");
|
|
|
+ String b = firstPageRecordDoc.getStructureMap().get("门急诊诊断");
|
|
|
+ String c = firstPageRecordDoc.getStructureMap().get("门(急)诊诊断");
|
|
|
+ String d = firstPageRecordDoc.getStructureMap().get("门诊诊断");
|
|
|
+ //将【异位妊娠-疾病列表】中任一疾病名称中的所有名称写入列表中去
|
|
|
+ List<String> disease_name = Arrays.asList("腹腔妊娠", "大网膜妊娠", "输卵管妊娠", "输卵管妊娠合并宫内孕", "输卵管伞部妊娠破裂"
|
|
|
+ , "输卵管复合妊娠", "输卵管妊娠流产", "输卵管妊娠破裂", "输卵管残端妊娠破裂", "输卵管壶腹部妊娠", "输卵管壶腹部妊娠流产"
|
|
|
+ , "输卵管壶腹部妊娠破裂", "输卵管间质部妊娠", "输卵管间质部妊娠流产", "输卵管间质部妊娠破裂", "输卵管伞部妊娠", "异位妊娠"
|
|
|
+ , "输卵管伞部妊娠流产", "输卵管伞端妊娠破裂", "输卵管峡部妊娠", "输卵管峡部妊娠破裂", "陈旧性输卵管妊娠", "卵巢妊娠"
|
|
|
+ , "卵巢妊娠破裂", "异位妊娠,其他的", "子宫下段妊娠", "子宫颈妊娠", "剖宫产瘢痕妊娠", "韧带内妊娠", "残角子宫妊娠"
|
|
|
+ , "残角子宫妊娠破裂", "输卵管峡部妊娠流产", "宫颈妊娠", "宫内外复合妊娠", "阔韧带妊娠", "子宫瘢痕处妊娠", "子宫壁妊娠"
|
|
|
+ , "子宫角妊娠", "持续性异位妊娠", "腹腔妊娠", "大网膜妊娠", "输卵管妊娠", "宫内外复合妊娠", "输卵管伞端妊娠破裂"
|
|
|
+ , "输卵管复合妊娠", "输卵管妊娠流产", "输卵管妊娠破裂", "输卵管残端妊娠破裂", "输卵管壶腹部妊娠", "输卵管壶腹部妊娠流产"
|
|
|
+ , "输卵管壶腹部妊娠破裂", "输卵管间质部妊娠", "输卵管间质部妊娠流产", "输卵管间质部妊娠破裂", "输卵管伞部妊娠"
|
|
|
+ , "输卵管伞部妊娠流产", "输卵管伞端妊娠破裂", "输卵管峡部妊娠", "输卵管峡部妊娠流产", "输卵管峡部妊娠破裂"
|
|
|
+ , "陈旧性输卵管妊娠", "卵巢妊娠", "卵巢妊娠破裂", "异位妊娠,其他的", "子宫下段妊娠", "宫颈妊娠", "子宫瘢痕处妊娠"
|
|
|
+ , "阔韧带妊娠", "残角子宫妊娠", "残角子宫妊娠破裂", "宫颈妊娠", "宫内外复合妊娠", "阔韧带妊娠", "子宫瘢痕处妊娠"
|
|
|
+ , "子宫壁妊娠", "子宫角妊娠", "异位妊娠", "持续性异位妊娠");
|
|
|
+ //定义一个布尔类型,用于最后的判断
|
|
|
+ boolean l = false;
|
|
|
+ //遍历列表内容,
|
|
|
+ for (int i = 0; i < disease_name.size(); i++) {
|
|
|
+ String name = disease_name.get(i);//定义一个变量储存每一次遍历时获取的列表值
|
|
|
+ if ((StringUtil.isNotBlank(a) && a.contains(name)) || (StringUtil.isNotBlank(b) && b.contains(name))
|
|
|
+ || StringUtil.isNotBlank(c) && c.contains(name)){//用contains判断变量abc中是否包含列表中的任一项
|
|
|
+ l = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (l) {
|
|
|
+
|
|
|
+
|
|
|
+ //定义变量储存从病案首页中获取的年龄字段信息
|
|
|
+ String age = firstPageRecordDoc.getStructureMap().get("年龄");
|
|
|
+ if (StringUtil.isNotBlank(age)) {
|
|
|
+ age = age.replace("年", "").replace("岁", "");
|
|
|
+ //定义变量储存强制转化类型后的age
|
|
|
+ int ageNum = Integer.parseInt(age);
|
|
|
+ if (ageNum < 14 || ageNum > 54) {
|
|
|
+ status.set("-1");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|