Commit 315a44240d6703bdc9c75b99d14dfbab0e6b1b06

Authored by shiyang
1 parent e364da5a59

承德市妇幼上线两癌需求-宫颈癌检查记录添加修改时,添加宫颈癌随访主表。-5B.CIN 2/3治疗后2-3次随访阴性的长期随访-业务逻辑

Showing 2 changed files with 63 additions and 3 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java View file @ 315a442
... ... @@ -645,6 +645,7 @@
645 645 breastAfterVisitModel.setNextAfterVisitTime(DateUtil.addMonth(cancerScreeningModel.getCreated(),3));
646 646 }
647 647 }
  648 + //新增和修改追访主表
648 649 if(type==1) {
649 650 breastAfterVisitModel.setNewRxCssj(cancerScreeningModel.getNewRxCssj());
650 651 breastAfterVisitModel.setParentId(cancerScreeningModel.getId());
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CervicalCancerServiceImpl.java View file @ 315a442
... ... @@ -846,6 +846,11 @@
846 846 ydhjzd= (Integer) cervicalCancerRequest.getFormData().get("ydhjzd");
847 847 cervixVisitModel.setYdhjzd(ydhjzd);
848 848 }
  849 + /**
  850 + * 1A缺乏过往HPV结果者,宫颈筛查异常的即时和5年累积CIN3风险
  851 + *11.未知HPV史,通过HPV分型和细胞学预测CIN3+风险
  852 + *12.未知HPV史,通过HPV分型和细胞学预测CIN3+风险
  853 + */
849 854 if(hpv==1){//既往史HPV
850 855 if(xshpv==1){//现实HPV
851 856 switch (xsxbx){
... ... @@ -921,6 +926,9 @@
921 926 break;
922 927 }
923 928 }
  929 + /**
  930 + * 1B过往HPV(-)者,宫颈筛查异常的即时和5年累积CIN3风险
  931 + */
924 932 if(hpv==2) {//既往史HPV
925 933 if(xshpv==1){//现实HPV
926 934 switch (xsxbx){
... ... @@ -954,6 +962,9 @@
954 962 }
955 963 }
956 964 }
  965 + /**
  966 + * 2AHPV(-)ASCUS随访者即时和5年累积CIN3风险
  967 + */
957 968 if(hpv==2&&xbx==2){//既往史HPV和细胞学
958 969 if(xshpv==1) {//现实HPV
959 970 switch (xsxbx){
... ... @@ -991,6 +1002,9 @@
991 1002 cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
992 1003 }
993 1004 }
  1005 + /**
  1006 + * 2BHPV(-)LSIL随访者即时和5年累积CIN3风险
  1007 + */
994 1008 if(hpv==2&&xbx==3) {//既往史HPV和细胞学
995 1009 if(xshpv==1) {//现实HPV
996 1010 switch (xsxbx){
... ... @@ -1028,6 +1042,9 @@
1028 1042 cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1029 1043 }
1030 1044 }
  1045 + /**
  1046 + * 2CHPV(+)NILM随访者即时和5年累积CIN3风险
  1047 + */
1031 1048 if(hpv==3&&xbx==4) {//既往史HPV和细胞学
1032 1049 if(xshpv==1) {//现实HPV
1033 1050 if(Arrays.asList(2,3,4).contains(xsxbx)){
1034 1051  
... ... @@ -1058,12 +1075,19 @@
1058 1075 cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1059 1076 }
1060 1077 }
  1078 + /**
  1079 + * 3阴道镜检查后的即时和5年累积CIN3风险
  1080 + */
1061 1081 if(Arrays.asList(1,2,3).contains(hpv)&&Arrays.asList(5,6,7).contains(xbx)){//既往史HPV和细胞学
1062 1082 if(ydhjzd==1||ydhjzd==2){//现实阴道活检诊断
1063 1083 cervixVisitModel.setRuleRecommend(1);
1064 1084 cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1065 1085 }
1066 1086 }
  1087 + /**
  1088 + * 4A.LSIL阴道镜<CIN 2 者随访的即时和5年累积CIN3风险
  1089 + * 4B.HSIL阴道镜<CIN 2 者随访的即时和5年累积CIN3风险
  1090 + */
1067 1091 if(cin==3){//CIN(因为2个表的CIN条件相同,只需细胞学分别判断)
1068 1092 switch (xbx){//细胞学
1069 1093 case 3:
... ... @@ -1111,6 +1135,9 @@
1111 1135 break;
1112 1136 }
1113 1137 }
  1138 + /**
  1139 + * 5A.CIN 2/3治疗后的即时和5年累积CIN3风险
  1140 + */
1114 1141 if(cin23==2){//cin23值
1115 1142 if(xshpv==1){//现实HPV
1116 1143 if(Arrays.asList(2,3,4,8).contains(xsxbx)){
1117 1144  
... ... @@ -1130,10 +1157,42 @@
1130 1157 }
1131 1158 }
1132 1159 }
1133   - if(cin23==2&&hpv==2&&xbx==1){
1134   - cervixVisitModel.setRuleRecommend(1);
  1160 + /**
  1161 + * 5B.CIN 2/3治疗后2-3次随访阴性的长期随访
  1162 + */
  1163 + if(cin23==2){
  1164 + if(hpv==2&&xbx==1&&xshpv==1&&xsxbx==1){//既往史和现实,双检测(-)代表HPV和细胞学都是阴性
  1165 + cervixVisitModel.setRuleRecommend(1);
  1166 + }
  1167 + if(hpv==2&&xshpv==1){//既往史和现实,HPV 都是阴性
  1168 + cervixVisitModel.setRuleRecommend(1);
  1169 + }
  1170 + //查询历史宫颈检查记录
  1171 + Query query=new Query();
  1172 + Criteria criteria = Criteria.where("parentId").is(cervicalCancerRequest.getParentId());
  1173 + criteria.and("created").lte(cervicalCancerRequest.getCreated());
  1174 + query.addCriteria(criteria);
  1175 + query.with(new Sort(Sort.Direction.DESC, "created"));
  1176 + List<CervicalCancerModel> models = mongoTemplate.find(query, CervicalCancerModel.class);
  1177 + if (models.size()>1) {
  1178 + Integer lastHpv=0,lastXbx=0;
  1179 + if(null!=models.get(1).getFormData().get("hpv")){
  1180 + lastHpv= (Integer) models.get(1).getFormData().get("hpv");
  1181 + }
  1182 + if(null!=models.get(1).getFormData().get("xbx")){
  1183 + lastXbx= (Integer) models.get(1).getFormData().get("xbx");
  1184 + }
  1185 + //双检测(-)*2,既往史,当前HPV和细胞学都是阴性,且上次宫颈检查HPV和细胞学都是阴性,且现实,当前HPV和细胞学都是阴性
  1186 + if(hpv==2&&xbx==1&&lastHpv==2&&lastXbx==1&&xshpv==1&&xsxbx==1){
  1187 + cervixVisitModel.setRuleRecommend(2);
  1188 + }
  1189 + //HPV(-)*2,既往史,当前HPV是阴性,且上次宫颈检查HPV是阴性,且现实,当前HPV是阴性
  1190 + if(hpv==2&&lastHpv==2&&xshpv==1){
  1191 + cervixVisitModel.setRuleRecommend(2);
  1192 + }
  1193 + }
1135 1194 }
1136   -
  1195 + //新增和修改随访主表
1137 1196 if(type==1) {
1138 1197 cervixVisitModel.setParentId(cervicalCancerRequest.getId());
1139 1198 cervixVisitModel.setHospitalId(cervicalCancerRequest.getHospitalId());