From 315a44240d6703bdc9c75b99d14dfbab0e6b1b06 Mon Sep 17 00:00:00 2001 From: shiyang <316555390@qq.com> Date: Tue, 15 Feb 2022 11:18:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=BF=E5=BE=B7=E5=B8=82=E5=A6=87=E5=B9=BC?= =?UTF-8?q?=E4=B8=8A=E7=BA=BF=E4=B8=A4=E7=99=8C=E9=9C=80=E6=B1=82-?= =?UTF-8?q?=E5=AE=AB=E9=A2=88=E7=99=8C=E6=A3=80=E6=9F=A5=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BF=AE=E6=94=B9=E6=97=B6=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=AE=AB=E9=A2=88=E7=99=8C=E9=9A=8F=E8=AE=BF=E4=B8=BB?= =?UTF-8?q?=E8=A1=A8=E3=80=82-5B.CIN=202/3=E6=B2=BB=E7=96=97=E5=90=8E2-3?= =?UTF-8?q?=E6=AC=A1=E9=9A=8F=E8=AE=BF=E9=98=B4=E6=80=A7=E7=9A=84=E9=95=BF?= =?UTF-8?q?=E6=9C=9F=E9=9A=8F=E8=AE=BF-=E4=B8=9A=E5=8A=A1=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/facade/CancerScreeningFacade.java | 1 + .../service/impl/CervicalCancerServiceImpl.java | 65 +++++++++++++++++++++- 2 files changed, 63 insertions(+), 3 deletions(-) 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()); -- 1.8.3.1