diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java index 54ae2d6..19a065b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CancerScreeningFacade.java @@ -645,6 +645,7 @@ public class CancerScreeningFacade { breastAfterVisitModel.setNextAfterVisitTime(DateUtil.addMonth(cancerScreeningModel.getCreated(),3)); } } + //新增和修改追访主表 if(type==1) { breastAfterVisitModel.setNewRxCssj(cancerScreeningModel.getNewRxCssj()); breastAfterVisitModel.setParentId(cancerScreeningModel.getId()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CervicalCancerServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CervicalCancerServiceImpl.java index 907aef5..da1c2fa 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CervicalCancerServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CervicalCancerServiceImpl.java @@ -846,6 +846,11 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { ydhjzd= (Integer) cervicalCancerRequest.getFormData().get("ydhjzd"); cervixVisitModel.setYdhjzd(ydhjzd); } + /** + * 1A缺乏过往HPV结果者,宫颈筛查异常的即时和5年累积CIN3风险 + *11.未知HPV史,通过HPV分型和细胞学预测CIN3+风险 + *12.未知HPV史,通过HPV分型和细胞学预测CIN3+风险 + */ if(hpv==1){//既往史HPV if(xshpv==1){//现实HPV switch (xsxbx){ @@ -921,6 +926,9 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { break; } } + /** + * 1B过往HPV(-)者,宫颈筛查异常的即时和5年累积CIN3风险 + */ if(hpv==2) {//既往史HPV if(xshpv==1){//现实HPV switch (xsxbx){ @@ -954,6 +962,9 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { } } } + /** + * 2AHPV(-)ASCUS随访者即时和5年累积CIN3风险 + */ if(hpv==2&&xbx==2){//既往史HPV和细胞学 if(xshpv==1) {//现实HPV switch (xsxbx){ @@ -991,6 +1002,9 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); } } + /** + * 2BHPV(-)LSIL随访者即时和5年累积CIN3风险 + */ if(hpv==2&&xbx==3) {//既往史HPV和细胞学 if(xshpv==1) {//现实HPV switch (xsxbx){ @@ -1028,6 +1042,9 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); } } + /** + * 2CHPV(+)NILM随访者即时和5年累积CIN3风险 + */ if(hpv==3&&xbx==4) {//既往史HPV和细胞学 if(xshpv==1) {//现实HPV if(Arrays.asList(2,3,4).contains(xsxbx)){ @@ -1058,12 +1075,19 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); } } + /** + * 3阴道镜检查后的即时和5年累积CIN3风险 + */ if(Arrays.asList(1,2,3).contains(hpv)&&Arrays.asList(5,6,7).contains(xbx)){//既往史HPV和细胞学 if(ydhjzd==1||ydhjzd==2){//现实阴道活检诊断 cervixVisitModel.setRuleRecommend(1); cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); } } + /** + * 4A.LSIL阴道镜<CIN 2 者随访的即时和5年累积CIN3风险 + * 4B.HSIL阴道镜<CIN 2 者随访的即时和5年累积CIN3风险 + */ if(cin==3){//CIN(因为2个表的CIN条件相同,只需细胞学分别判断) switch (xbx){//细胞学 case 3: @@ -1111,6 +1135,9 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { break; } } + /** + * 5A.CIN 2/3治疗后的即时和5年累积CIN3风险 + */ if(cin23==2){//cin23值 if(xshpv==1){//现实HPV if(Arrays.asList(2,3,4,8).contains(xsxbx)){ @@ -1130,10 +1157,42 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { } } } - if(cin23==2&&hpv==2&&xbx==1){ - cervixVisitModel.setRuleRecommend(1); + /** + * 5B.CIN 2/3治疗后2-3次随访阴性的长期随访 + */ + if(cin23==2){ + if(hpv==2&&xbx==1&&xshpv==1&&xsxbx==1){//既往史和现实,双检测(-)代表HPV和细胞学都是阴性 + cervixVisitModel.setRuleRecommend(1); + } + if(hpv==2&&xshpv==1){//既往史和现实,HPV 都是阴性 + cervixVisitModel.setRuleRecommend(1); + } + //查询历史宫颈检查记录 + Query query=new Query(); + Criteria criteria = Criteria.where("parentId").is(cervicalCancerRequest.getParentId()); + criteria.and("created").lte(cervicalCancerRequest.getCreated()); + query.addCriteria(criteria); + query.with(new Sort(Sort.Direction.DESC, "created")); + List models = mongoTemplate.find(query, CervicalCancerModel.class); + if (models.size()>1) { + Integer lastHpv=0,lastXbx=0; + if(null!=models.get(1).getFormData().get("hpv")){ + lastHpv= (Integer) models.get(1).getFormData().get("hpv"); + } + if(null!=models.get(1).getFormData().get("xbx")){ + lastXbx= (Integer) models.get(1).getFormData().get("xbx"); + } + //双检测(-)*2,既往史,当前HPV和细胞学都是阴性,且上次宫颈检查HPV和细胞学都是阴性,且现实,当前HPV和细胞学都是阴性 + if(hpv==2&&xbx==1&&lastHpv==2&&lastXbx==1&&xshpv==1&&xsxbx==1){ + cervixVisitModel.setRuleRecommend(2); + } + //HPV(-)*2,既往史,当前HPV是阴性,且上次宫颈检查HPV是阴性,且现实,当前HPV是阴性 + if(hpv==2&&lastHpv==2&&xshpv==1){ + cervixVisitModel.setRuleRecommend(2); + } + } } - + //新增和修改随访主表 if(type==1) { cervixVisitModel.setParentId(cervicalCancerRequest.getId()); cervixVisitModel.setHospitalId(cervicalCancerRequest.getHospitalId());