From bad7110f0b56d130a08162676589c98362e0b327 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Tue, 8 Nov 2022 10:42:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=A4=E7=99=8C=E4=BF=AE=E6=94=B9=E8=BF=BD?= =?UTF-8?q?=E8=AE=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/pojo/CervixVisitModel.java | 358 +----- .../web/controller/CervicalCancerController.java | 52 - .../service/impl/CervicalCancerServiceImpl.java | 1209 +------------------- 3 files changed, 16 insertions(+), 1603 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/CervixVisitModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/CervixVisitModel.java index cbfbeaa..41ca219 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/CervixVisitModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/CervixVisitModel.java @@ -6,368 +6,12 @@ package com.lyms.platform.pojo; * @discription 宫颈随访列表模型 */ -import com.lyms.platform.common.result.BaseModel; import org.springframework.data.mongodb.core.mapping.Document; -import java.util.Date; -import java.util.Map; @Document(collection = "lyms_cancer_CervixVisitModel") -public class CervixVisitModel extends BaseModel { - //主键id - private String id; - //宫颈检查记录id - private String parentId; - //医院ID - private String hospitalId; - //姓名 - private String username; - //年龄 - private Integer age; - //民族Id - private String nationId; - //身份证件号 - private String certificateNum; - //手机号 - private String phone; - //居住地 - private String provinceId; - //市 - private String cityId; - //区 - private String areaId; - //街道 - private String streetId; - //详细地址 - private String address; - //编号 - private String code; - /** - * 既往史 - */ - //HPV检查 - private Integer hpv; - //细胞学 - private Integer xbx; - //CIN - private Integer cin; - //CIN2/3 - private Integer cin23; - //HPV疫苗注射 - private Integer hpvym; - /** - * 现时情况(xshpv、hpvjc互斥字段。) - */ - //HPV - private Integer xshpv; - //HPV检测手段 - private Integer hpvjc; - //细胞学 - private Integer xsxbx; - //阴道活检诊断 - private Integer ydhjzd; +public class CervixVisitModel extends CervicalCancerModel { - /** - *常规推荐 - *1年内追访、3年内随访、5年内随访、阴道镜检查、阴道镜治疗。(1-5)参数 - */ - private Integer ruleRecommend; - //即时风险 - private String nowRisk; - //累计风险 - private String addUpRisk; - //推荐预约时间(用于判断满足以上条件,发送短信使用) - private Date RecommendVisitTime; - //检査日期 - private Date checkDate; - - //追访日期 - private Date afterVisitTime; - //预约下次追访日期 - private Date nextAfterVisitTime; - - //随访状态(0:待随访,1:已随访) - private Integer type; - - /** - * 是否有效 - */ - private Integer yn; - private Date created; - private Date modified; - - public String getNowRisk() { - return nowRisk; - } - - public void setNowRisk(String nowRisk) { - this.nowRisk = nowRisk; - } - - public String getAddUpRisk() { - return addUpRisk; - } - - public void setAddUpRisk(String addUpRisk) { - this.addUpRisk = addUpRisk; - } - - public Integer getRuleRecommend() { - return ruleRecommend; - } - - public void setRuleRecommend(Integer ruleRecommend) { - this.ruleRecommend = ruleRecommend; - } - - public Date getRecommendVisitTime() { - return RecommendVisitTime; - } - - public void setRecommendVisitTime(Date recommendVisitTime) { - RecommendVisitTime = recommendVisitTime; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getParentId() { - return parentId; - } - - public void setParentId(String parentId) { - this.parentId = parentId; - } - - public String getHospitalId() { - return hospitalId; - } - - public void setHospitalId(String hospitalId) { - this.hospitalId = hospitalId; - } - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public Integer getAge() { - return age; - } - - public void setAge(Integer age) { - this.age = age; - } - - public String getNationId() { - return nationId; - } - - public void setNationId(String nationId) { - this.nationId = nationId; - } - - public String getCertificateNum() { - return certificateNum; - } - - public void setCertificateNum(String certificateNum) { - this.certificateNum = certificateNum; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getProvinceId() { - return provinceId; - } - - public void setProvinceId(String provinceId) { - this.provinceId = provinceId; - } - - public String getCityId() { - return cityId; - } - - public void setCityId(String cityId) { - this.cityId = cityId; - } - - public String getAreaId() { - return areaId; - } - - public void setAreaId(String areaId) { - this.areaId = areaId; - } - - public String getStreetId() { - return streetId; - } - - public void setStreetId(String streetId) { - this.streetId = streetId; - } - - public String getAddress() { - return address; - } - - public void setAddress(String address) { - this.address = address; - } - - public String getCode() { - return code; - } - - public void setCode(String code) { - this.code = code; - } - - public Date getCheckDate() { - return checkDate; - } - - public void setCheckDate(Date checkDate) { - this.checkDate = checkDate; - } - - public Date getAfterVisitTime() { - return afterVisitTime; - } - - public void setAfterVisitTime(Date afterVisitTime) { - this.afterVisitTime = afterVisitTime; - } - - public Date getNextAfterVisitTime() { - return nextAfterVisitTime; - } - - public void setNextAfterVisitTime(Date nextAfterVisitTime) { - this.nextAfterVisitTime = nextAfterVisitTime; - } - - - public Integer getType() { - return type; - } - - public void setType(Integer type) { - this.type = type; - } - - public Integer getYn() { - return yn; - } - - public void setYn(Integer yn) { - this.yn = yn; - } - - public Date getCreated() { - return created; - } - - public void setCreated(Date created) { - this.created = created; - } - - public Date getModified() { - return modified; - } - - public void setModified(Date modified) { - this.modified = modified; - } - - public Integer getHpv() { - return hpv; - } - - public void setHpv(Integer hpv) { - this.hpv = hpv; - } - - public Integer getXbx() { - return xbx; - } - - public void setXbx(Integer xbx) { - this.xbx = xbx; - } - - public Integer getCin() { - return cin; - } - - public void setCin(Integer cin) { - this.cin = cin; - } - - public Integer getCin23() { - return cin23; - } - - public void setCin23(Integer cin23) { - this.cin23 = cin23; - } - - public Integer getHpvym() { - return hpvym; - } - - public void setHpvym(Integer hpvym) { - this.hpvym = hpvym; - } - - public Integer getXshpv() { - return xshpv; - } - - public void setXshpv(Integer xshpv) { - this.xshpv = xshpv; - } - - public Integer getHpvjc() { - return hpvjc; - } - - public void setHpvjc(Integer hpvjc) { - this.hpvjc = hpvjc; - } - - public Integer getXsxbx() { - return xsxbx; - } - - public void setXsxbx(Integer xsxbx) { - this.xsxbx = xsxbx; - } - - public Integer getYdhjzd() { - return ydhjzd; - } - - public void setYdhjzd(Integer ydhjzd) { - this.ydhjzd = ydhjzd; - } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CervicalCancerController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CervicalCancerController.java index c91fc1d..d3a6365 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CervicalCancerController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CervicalCancerController.java @@ -172,58 +172,6 @@ public class CervicalCancerController extends BaseController { HttpServletRequest request) { return cervicalCancerService.doSyncCervicalCancer(); } - /** - * 宫颈癌随访筛查列表 - * @param cervixVisitRequest - * @param request - * @return - */ - @ResponseBody - @RequestMapping(method = RequestMethod.GET, value = "/cervixVisitList") - @TokenRequired - public BaseResponse cervixVisitList(CervixVisitRequest cervixVisitRequest, HttpServletRequest request) { - LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return cervicalCancerService.cervixVisitList(cervixVisitRequest, loginState.getId()); - } - /** - * 添加宫颈癌随访记录 - * @param cervixVisitRecordModel - * @param request - * @return - */ - @ResponseBody - @RequestMapping(method = RequestMethod.POST ,value = "/cervixVisitRecordAdd") - @TokenRequired - public BaseResponse cervixVisitRecordAdd(@RequestBody CervixVisitRecordModel cervixVisitRecordModel, HttpServletRequest request) { - LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return cervicalCancerService.cervixVisitRecordAdd(cervixVisitRecordModel, loginState.getId()); - } - - /** - * 宫颈癌随访记录列表 - * @param id - * @param request - * @return - */ - @ResponseBody - @RequestMapping(method = RequestMethod.GET ,value = "/cervixVisitRecordList") - @TokenRequired - public BaseResponse cervixVisitRecordList(@RequestParam(required = false) String id, HttpServletRequest request) { - LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return cervicalCancerService.cervixVisitRecordList(id, loginState.getId()); - } - - /** - * 宫颈癌添加修改时生成结论(规则-同宫颈癌追访逻辑:市妇幼两癌需求风险管理.xls) - * @param param - * @return BaseResponse - */ - @ResponseBody - @RequestMapping(method = RequestMethod.POST ,value = "/riskResult") - @TokenRequired - public BaseResponse riskResult(@RequestBody CervicalCancerRequest param) throws Exception { - return cervicalCancerService.riskResult(param); - } @RequestMapping(method = RequestMethod.GET, value = "/queryCervicalCancerCount") 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 6f4ce82..105c83e 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 @@ -90,11 +90,11 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { cervixVisitQuery.setQueryNo(param.getIdCardNo()); List cervixVisitModels = cervixVisitService.queryCervixVisitList(cervixVisitQuery); if(CollectionUtils.isNotEmpty(cervixVisitModels)){ - //如果多次检查不需要新增追访信息,更新之前信息 - param.setId(cervixVisitModels.get(0).getParentId()); - cervixVisitAdd(param,2); + mongoTemplate.remove(Query.query(Criteria.where("id").is(cervixVisitModels.get(0).getId()))); }else { - cervixVisitAdd(param,1); + CervixVisitModel model = new CervixVisitModel(); + BeanUtils.copyProperties(param,model); + mongoTemplate.insert(model); } return new BaseResponse("成功", ErrorCodeConstants.SUCCESS); } catch (Exception e) { @@ -122,27 +122,17 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { Update update = MongoConvertHelper .convertToNativeUpdate(ReflectionUtils.getUpdateField(param)); mongoTemplate.updateFirst(query, update, CervicalCancerModel.class); - //修改之前检查记录不能影像最后一次检查记录的随访信息(因为只会有一条随访,记录的是最后一次检查的随访信息) - Query query2=new Query(); - Criteria criteria = Criteria.where("parentId").is(param.getParentId()); - query2.addCriteria(criteria); - query2.with(new Sort(Sort.Direction.DESC, "created")); - List models = mongoTemplate.find(query2, CervicalCancerModel.class); - if(models.size()>0){ - if (models.get(0).getId().equals(param.getId())) { - //添加宫颈癌追访 - CervixVisitQuery cervixVisitQuery=new CervixVisitQuery(); - cervixVisitQuery.setYn(1); - cervixVisitQuery.setQueryNo(param.getIdCardNo()); - List cervixVisitModels = cervixVisitService.queryCervixVisitList(cervixVisitQuery); - if(CollectionUtils.isNotEmpty(cervixVisitModels)){ - //如果多次检查不需要新增追访信息,更新之前信息 - param.setId(cervixVisitModels.get(0).getParentId()); - cervixVisitAdd(param,2); - }else { - cervixVisitAdd(param,1); - } - } + //添加宫颈癌追访 + CervixVisitQuery cervixVisitQuery=new CervixVisitQuery(); + cervixVisitQuery.setYn(1); + cervixVisitQuery.setQueryNo(param.getIdCardNo()); + List cervixVisitModels = cervixVisitService.queryCervixVisitList(cervixVisitQuery); + if(CollectionUtils.isNotEmpty(cervixVisitModels)){ + mongoTemplate.remove(Query.query(Criteria.where("id").is(cervixVisitModels.get(0).getId()))); + }else { + CervixVisitModel model = new CervixVisitModel(); + BeanUtils.copyProperties(param,model); + mongoTemplate.insert(model); } return new BaseResponse("成功", ErrorCodeConstants.SUCCESS); } catch (Exception e) { @@ -922,1177 +912,8 @@ public class CervicalCancerServiceImpl implements CervicalCancerService { } return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } - - public static final String AREA_URL = PropertiesUtils.getPropertyValue("area_url"); - //宫颈随访业务 type:1:新增、2:修改 - public void cervixVisitAdd(CervicalCancerRequest cervicalCancerRequest,int type) throws Exception { - if(null!=cervicalCancerRequest && MapUtils.isNotEmpty(cervicalCancerRequest.getFormData()) && - (null!=cervicalCancerRequest.getFormData().get("hpv")|| - null!=cervicalCancerRequest.getFormData().get("xbx")|| - null!=cervicalCancerRequest.getFormData().get("cin")|| - null!=cervicalCancerRequest.getFormData().get("cin23")|| - null!=cervicalCancerRequest.getFormData().get("xshpv")|| - null!=cervicalCancerRequest.getFormData().get("hpvjc")|| - null!=cervicalCancerRequest.getFormData().get("xsxbx")|| - null!=cervicalCancerRequest.getFormData().get("ydhjzd") - )){ - //风险逻辑处理 - CervixVisitModel cervixVisitModel=cervixRiskResult(cervicalCancerRequest); - //判断集合中有没有常规推荐,没有不需要增加随访,修改的时候需要删除这条随访的下次预约时间 - if(null==cervixVisitModel.getRuleRecommend()){ - if(type==1){ - return; - }else { - mongoTemplate.updateFirst(Query.query(Criteria.where("parentId").is(cervicalCancerRequest.getId())), - new Update().unset("nextAfterVisitTime").set("type",2), CervixVisitModel.class); - } - } - //新增和修改随访主表 - if(type==1) { - cervixVisitModel.setParentId(cervicalCancerRequest.getId()); - cervixVisitModel.setHospitalId(cervicalCancerRequest.getHospitalId()); - cervixVisitModel.setUsername(cervicalCancerRequest.getName()); - cervixVisitModel.setAge(cervicalCancerRequest.getAge()); - cervixVisitModel.setCertificateNum(cervicalCancerRequest.getIdCardNo()); - cervixVisitModel.setPhone(cervicalCancerRequest.getPhone()); - cervixVisitModel.setProvinceId(cervicalCancerRequest.getProvinceId()); - cervixVisitModel.setCityId(cervicalCancerRequest.getCityId()); - cervixVisitModel.setAreaId(cervicalCancerRequest.getAreaId()); - cervixVisitModel.setStreetId(cervicalCancerRequest.getStreetId()); - cervixVisitModel.setAddress(cervicalCancerRequest.getAddress()); - //cervixVisitModel.setCode(cervicalCancerRequest.getCode()); - cervixVisitModel.setCheckDate(cervicalCancerRequest.getCreated()); - cervixVisitModel.setType(0); - cervixVisitModel.setYn(1); - cervixVisitService.addOneCervixVisit(cervixVisitModel); - }else { - cervixVisitModel.setParentId(cervicalCancerRequest.getId()); - // cervixVisitModel.setCode(cervicalCancerRequest.getCode()); - cervixVisitModel.setCheckDate(cervicalCancerRequest.getCreated()); - cervixVisitService.updateOneCervixVisit(cervixVisitModel,2); - } - } - } - - /** - * 宫颈癌随访列表 - * - * @param queryRequest - * @param id - * @return - */ - public BaseResponse cervixVisitList(CervixVisitRequest queryRequest, Integer id) { - - //根据用户id获取医院ID - String hospitalId = autoMatchFacade.getHospitalId(id); - //查询条件 - CervixVisitQuery query = new CervixVisitQuery(); - query.setLimit(queryRequest.getLimit()); - query.setPage(queryRequest.getPage()); - query.setNeed("need"); - query.setYn(YnEnums.YES.getId()); - query.setQueryNo(queryRequest.getQueryNo()); - if (hospitalId != null) { - query.setHospitalId(hospitalId); - } - //列表只展示小于当前时间的 - query.setNextAfterVisitTime(new Date()); - //检查日期筛选 - if (StringUtils.isNotEmpty(queryRequest.getCheckDate())) { - String[] arrs = queryRequest.getCheckDate().split(" - "); - query.setCheckDateStart(DateUtil.parseYMD(arrs[0])); - query.setCheckDateEnd(new Date(DateUtil.parseYMD(arrs[1]).getTime() + 24 * 60 * 60 * 1000 - 1)); - } - //随访日期筛选 - if (StringUtils.isNotEmpty(queryRequest.getAfterVisitTime())) { - String[] arrs = queryRequest.getAfterVisitTime().split(" - "); - query.setAfterVisitTimeStart(DateUtil.parseYMD(arrs[0])); - query.setAfterVisitTimeEnd(new Date(DateUtil.parseYMD(arrs[1]).getTime() + 24 * 60 * 60 * 1000 - 1)); - } - //预约下次检查日期筛选 - if (StringUtils.isNotEmpty(queryRequest.getNextAfterVisitTime())) { - String[] arrs = queryRequest.getNextAfterVisitTime().split(" - "); - query.setNextAfterVisitTimeStart(DateUtil.parseYMD(arrs[0])); - query.setNextAfterVisitTimeEnd(new Date(DateUtil.parseYMD(arrs[1]).getTime() + 24 * 60 * 60 * 1000 - 1)); - } - //逾期天数 - if (null != queryRequest.getOverdueStart()) { - Calendar instance = Calendar.getInstance(); - instance.setTime(new Date()); - instance.add(Calendar.DATE, -queryRequest.getOverdueStart()); - instance.set(Calendar.HOUR_OF_DAY, 23); - instance.set(Calendar.MINUTE, 59); - instance.set(Calendar.SECOND, 59); - instance.set(Calendar.MILLISECOND, 999); - Date end = instance.getTime(); - query.setOverdueEnd(end); - } - if (null != queryRequest.getOverdueEnd()) { - Calendar instance = Calendar.getInstance(); - instance.setTime(new Date()); - instance.add(Calendar.DATE, -queryRequest.getOverdueEnd()); - instance.set(Calendar.HOUR_OF_DAY, 00); - instance.set(Calendar.MINUTE, 00); - instance.set(Calendar.SECOND, 00); - instance.set(Calendar.MILLISECOND, 000); - Date start = instance.getTime(); - query.setOverdueStart(start); - } - //地区 - query.setProvinceId(queryRequest.getProvinceId()); - query.setCityId(queryRequest.getCityId()); - query.setAreaId(queryRequest.getAreaId()); - query.setStreetId(queryRequest.getStreetId()); - //常规推荐 1年内追访、3年内随访、5年内随访、阴道镜检查、阴道镜治疗。(1-5)参数 - query.setRuleRecommend(queryRequest.getRuleRecommend()); - //追访状态 - query.setType(queryRequest.getType()); - List modelList = cervixVisitService.queryCervixVisitList(query); - List list = new ArrayList(); - if (CollectionUtils.isNotEmpty(modelList)) { - for (CervixVisitModel model : modelList) { - Map map = new HashMap <>(); - map.put("id", model.getId()); - map.put("name", model.getUsername()); - map.put("sex", "女"); - map.put("cardNum", model.getCertificateNum()); - map.put("phone", model.getPhone()); - map.put("age", model.getAge()); - map.put("liveAddress", CommonsHelper.getResidence(model.getProvinceId(), model.getCityId(), model.getAreaId(), model.getStreetId(), model.getAddress(), basicConfigService)); - //逾期时间 - int yqsj=0; - if(null!=model.getNextAfterVisitTime()){ - if(DateUtil.getDays(model.getNextAfterVisitTime(),new Date())>0){ - yqsj=DateUtil.getDays(model.getNextAfterVisitTime(),new Date()); - } - } - map.put("yqsj",yqsj==0?"-":yqsj); - map.put("ruleRecommend", model.getRuleRecommend()); - map.put("afterVisitTime", DateUtil.getyyyy_MM_dd(model.getAfterVisitTime()));//随访时间 - map.put("nextAfterVisitTime", DateUtil.getyyyy_MM_dd(model.getNextAfterVisitTime()));//下次预约时间 - map.put("checkDate", DateUtil.getyyyy_MM_dd(model.getCheckDate()));//检査日期 - map.put("type",model.getType()); - list.add(map); - } - } - return new BaseListResponse().setData(list).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(query.getPageInfo()); - } - /** - * 宫颈癌随访记录添加 - * - * @param RecordModel - * @param id - * @return - */ - public BaseResponse cervixVisitRecordAdd(CervixVisitRecordModel RecordModel, Integer id) { - try { - RecordModel.setYn(1); - RecordModel.setCreated(new Date()); - mongoTemplate.save(RecordModel); - //更新追访列基本信息 - CervixVisitModel model=new CervixVisitModel(); - model.setId(RecordModel.getParentId()); - model.setType(RecordModel.getType());//追访状态 - if(null!=RecordModel.getAfterVisitTime()){ - model.setAfterVisitTime(RecordModel.getAfterVisitTime()); - } - if(null!=RecordModel.getNextAfterVisitTime()){ - model.setNextAfterVisitTime(RecordModel.getNextAfterVisitTime()); - } - Update update=MongoConvertHelper - .convertToNativeUpdate(ReflectionUtils.getUpdateField(model)); - //选择不需要预约下次追访时间,删除该字段。 - if(0==RecordModel.getAppointment()){ - update.unset("nextAfterVisitTime"); - } - mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(model.getId())), update, CervixVisitModel.class); - - return new BaseResponse("成功", ErrorCodeConstants.SUCCESS); - } catch (Exception e) { - e.printStackTrace(); - return new BaseResponse(e.getMessage(), ErrorCodeConstants.SYSTEM_ERROR); - } - } - - /** - * 宫颈癌随访记录列表 - * - * @param id - * @return - */ - public BaseResponse cervixVisitRecordList(String id, Integer userId) { - Criteria criteria = Criteria.where("parentId").is(id); - List RecordModels = mongoTemplate.find(Query.query(criteria), CervixVisitRecordModel.class); - List list=new ArrayList<>(); - for (CervixVisitRecordModel recordModel : RecordModels) { - Map map=new HashMap(); - map.put("afterVisitTime", DateUtil.getyyyy_MM_dd(recordModel.getAfterVisitTime())); - map.put("afterVisitName", recordModel.getAfterVisitName()); - //随访方式 - String afterVisitType=""; - if(org.apache.commons.lang.StringUtils.isNotEmpty(recordModel.getAfterVisitType())){ - if(NumberUtils.isNumber(recordModel.getAfterVisitType())){ - afterVisitType=TrackDownTypeEnums.getName(Integer.parseInt(recordModel.getAfterVisitType())); - } - } - map.put("afterVisitType", afterVisitType); - map.put("afterVisitResult", recordModel.getAfterVisitResult()); - map.put("afterVisitFlowPath", recordModel.getAfterVisitFlowPath()); - map.put("nextAfterVisitTime", DateUtil.getyyyy_MM_dd(recordModel.getNextAfterVisitTime())); - list.add(map); - } - return new BaseListResponse().setData(list).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); - } - /** - * 宫颈癌添加修改时生成结论(规则-同宫颈癌追访逻辑:市妇幼两癌需求风险管理.xls) - * @param param - * @return BaseResponse - */ - public BaseResponse riskResult(CervicalCancerRequest param) { - BaseResponse response=new BaseResponse(); - Map map=new HashMap(); - try { - //风险逻辑处理 - CervixVisitModel cervixVisitModel=cervixRiskResult(param); - map.put("ruleRecommend",cervixVisitModel.getRuleRecommend()); - map.put("nowRisk",cervixVisitModel.getNowRisk()); - map.put("addUpRisk",cervixVisitModel.getAddUpRisk()); - - response.setObject(map); - response.setErrorcode(ErrorCodeConstants.SUCCESS); - response.setErrormsg("成功"); - } catch (Exception e) { - e.printStackTrace(); - return new BaseResponse(e.getMessage(), ErrorCodeConstants.SYSTEM_ERROR); - } - return response; - } - - /** - *宫颈癌风险管理生成结论判定结果 - * @param cervicalCancerRequest - * @return CervixVisitModel - */ - public CervixVisitModel cervixRiskResult(CervicalCancerRequest cervicalCancerRequest) throws Exception { - - CervixVisitModel cervixVisitModel=new CervixVisitModel(); - //宫颈检查随访项 - int hpv=0,xbx=0,cin=0,cin23=0,xshpv=0,hpvjc=0,xsxbx=0,ydhjzd=0; - if(null!=cervicalCancerRequest.getFormData().get("hpv")){ - hpv= (Integer) cervicalCancerRequest.getFormData().get("hpv"); - cervixVisitModel.setHpv(hpv); - } - if(null!=cervicalCancerRequest.getFormData().get("xbx")){ - xbx= (Integer) cervicalCancerRequest.getFormData().get("xbx"); - cervixVisitModel.setXbx(xbx); - } - if(null!=cervicalCancerRequest.getFormData().get("cin")){ - cin= (Integer) cervicalCancerRequest.getFormData().get("cin"); - cervixVisitModel.setCin(cin); - } - if(null!=cervicalCancerRequest.getFormData().get("cin23")){ - cin23= (Integer) cervicalCancerRequest.getFormData().get("cin23"); - cervixVisitModel.setCin23(cin23); - } - if(null!=cervicalCancerRequest.getFormData().get("xshpv")){ - xshpv= (Integer) cervicalCancerRequest.getFormData().get("xshpv"); - cervixVisitModel.setXshpv(xshpv); - } - if(null!=cervicalCancerRequest.getFormData().get("hpvjc")){ - hpvjc= (Integer) cervicalCancerRequest.getFormData().get("hpvjc"); - cervixVisitModel.setHpvjc(hpvjc); - } - if(null!=cervicalCancerRequest.getFormData().get("xsxbx")){ - xsxbx= (Integer) cervicalCancerRequest.getFormData().get("xsxbx"); - cervixVisitModel.setXsxbx(xsxbx); - } - if(null!=cervicalCancerRequest.getFormData().get("ydhjzd")){ - ydhjzd= (Integer) cervicalCancerRequest.getFormData().get("ydhjzd"); - cervixVisitModel.setYdhjzd(ydhjzd); - } - /** - * 5年内随访 - */ - //1A缺乏过往HPV结果者,宫颈筛查异常的即时和5年累积CIN3风险 - //1B过往HPV(-)者,宫颈筛查异常的即时和5年累积CIN3风险 - if(hpv==1||hpv==2) {//既往史HPV - if(xshpv==1) {//现实HPV - if(xsxbx==2) {//现实细胞学 - cervixVisitModel.setRuleRecommend(3); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(hpv==1) { - cervixVisitModel.setNowRisk("0"); - cervixVisitModel.setAddUpRisk(""); - } - if(hpv==2){ - cervixVisitModel.setNowRisk("0"); - cervixVisitModel.setAddUpRisk("0.09"); - } - } - } - } - //2AHPV(-)ASCUS随访者即时和5年累积CIN3风险 - if(hpv==2&&xbx==2){//既往史HPV和细胞学 - if(xshpv==1) {//现实HPV - if(xsxbx==2) {//现实细胞学 - cervixVisitModel.setRuleRecommend(3); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("0"); - cervixVisitModel.setAddUpRisk("0.14"); - } - } - } - //2BHPV(-)LSIL随访者即时和5年累积CIN3风险 - if(hpv==2&&xbx==3) {//既往史HPV和细胞学 - if(xshpv==1) {//现实HPV - if(xsxbx==2) {//现实细胞学 - cervixVisitModel.setRuleRecommend(3); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("0"); - cervixVisitModel.setAddUpRisk("0.4"); - } - } - } - /** - * 3年内随访 - */ - //1A缺乏过往HPV结果者,宫颈筛查异常的即时和5年累积CIN3风险 - //1B过往HPV(-)者,宫颈筛查异常的即时和5年累积CIN3风险 - if(hpv==1||hpv==2){//既往史HPV - if(xshpv==1) {//现实HPV - if(xsxbx==3) {//现实细胞学 - cervixVisitModel.setRuleRecommend(2); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(hpv==1) { - cervixVisitModel.setNowRisk("0.04"); - cervixVisitModel.setAddUpRisk("0.4"); - } - if(hpv==2){ - cervixVisitModel.setNowRisk("0.01"); - cervixVisitModel.setAddUpRisk("0.36"); - } - } - } - } - //2AHPV(-)ASCUS随访者即时和5年累积CIN3风险 - if(hpv==2&&xbx==2){//既往史HPV和细胞学 - if(xshpv==1) {//现实HPV - if(xsxbx==3) {//现实细胞学 - cervixVisitModel.setRuleRecommend(2); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("0.06"); - cervixVisitModel.setAddUpRisk("0.78"); - } - } - } - //2BHPV(-)LSIL随访者即时和5年累积CIN3风险 - if(hpv==2&&xbx==3) {//既往史HPV和细胞学 - if(xshpv==1) {//现实HPV - if(xsxbx==3) {//现实细胞学 - cervixVisitModel.setRuleRecommend(2); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("0"); - cervixVisitModel.setAddUpRisk("4"); - } - } - } - //4A.LSIL阴道镜<CIN 2 者随访的即时和5年累积CIN3风险 - if(cin==3&&xbx==3){//CIN,细胞学 - if(xshpv==1) {//现实HPV - if (Arrays.asList(2, 8).contains(xsxbx)) {//现实细胞学 - cervixVisitModel.setRuleRecommend(2); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("0"); - cervixVisitModel.setAddUpRisk("0.42"); - } - } - } - //5B.CIN 2/3治疗后2-3次随访阴性的长期随访 - if(cin23==2){ - //查询历史宫颈检查记录 - Query query=new Query(); - Criteria criteria = Criteria.where("parentId").is(cervicalCancerRequest.getParentId()); - 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); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("0"); - cervixVisitModel.setAddUpRisk("0.35"); - } - //HPV(-)*2,既往史,当前HPV是阴性,且上次宫颈检查HPV是阴性,且现实,当前HPV是阴性 - if(hpv==2&&lastHpv==2&&xshpv==1){ - cervixVisitModel.setRuleRecommend(2); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("0.15"); - cervixVisitModel.setAddUpRisk("0.44"); - } - /** - * 这里需要把随访时间短的做为最后判断。及时通知医生随访(1年内随访) - */ - if(hpv==2&&xbx==1&&xshpv==1&&xsxbx==1){//既往史和现实,双检测(-)代表HPV和细胞学都是阴性 - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("0"); - cervixVisitModel.setAddUpRisk("0.68"); - } - if(hpv==2&&xshpv==1){//既往史和现实,HPV 都是阴性 - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("0.05"); - cervixVisitModel.setAddUpRisk("0.19"); - } - } - } - /** - * 1年内随访 - */ - //1A缺乏过往HPV结果者,宫颈筛查异常的即时和5年累积CIN3风险 - //11.未知HPV史,通过HPV分型和细胞学预测CIN3+风险 - //1B过往HPV(-)者,宫颈筛查异常的即时和5年累积CIN3风险 - //12.未知HPV史,通过HPV分型和细胞学预测CIN3+风险 - if(hpv==1||hpv==2) {//既往史HPV - if (xshpv == 1) {//现实HPV - if (xsxbx == 4) {//现实细胞学 - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(hpv==1) { - cervixVisitModel.setNowRisk("1.1"); - cervixVisitModel.setAddUpRisk("2"); - } - if(hpv==2){ - cervixVisitModel.setNowRisk("0.44"); - cervixVisitModel.setAddUpRisk("0.79"); - } - } - } - if (xshpv == 2) {//现实HPV - if (hpv == 1 && xsxbx == 2) {//现实细胞学 - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("2.1"); - cervixVisitModel.setAddUpRisk("4.8"); - } - if (hpv == 2) {//既往史HPV - if (Arrays.asList(2, 3, 4).contains(xsxbx)) {//现实细胞学 - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xsxbx==2){ - cervixVisitModel.setNowRisk("0.74"); - cervixVisitModel.setAddUpRisk("2.3"); - } - if(xsxbx==3){ - cervixVisitModel.setNowRisk("2"); - cervixVisitModel.setAddUpRisk("3.8"); - } - if(xsxbx==4){ - cervixVisitModel.setNowRisk("2.1"); - cervixVisitModel.setAddUpRisk("3.8"); - } - } - } - } - if(hpvjc==3){//现实HPV检测手段 - if(Arrays.asList(2,3,4).contains(xsxbx)){//现实细胞学 - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(hpv==1 && xsxbx==2) { - cervixVisitModel.setNowRisk("1.3"); - cervixVisitModel.setAddUpRisk("2.2"); - } - if(hpv==1 && xsxbx==3) { - cervixVisitModel.setNowRisk("2.8"); - cervixVisitModel.setAddUpRisk("4"); - } - if(hpv==1 && xsxbx==4) { - cervixVisitModel.setNowRisk("3.7"); - cervixVisitModel.setAddUpRisk("4.7"); - } - } - } - } - //2AHPV(-)ASCUS随访者即时和5年累积CIN3风险 - if(hpv==2&&xbx==2) {//既往史HPV和细胞学 - if(xshpv==1){ - if( xsxbx==4){ - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("2.4"); - cervixVisitModel.setAddUpRisk("3.1"); - } - } - if (xshpv==2) {//现实HPV - if (Arrays.asList(2, 3, 4).contains(xsxbx)) {//现实细胞学 - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if( xsxbx==2){ - cervixVisitModel.setNowRisk("0.96"); - cervixVisitModel.setAddUpRisk("0.96"); - } - if( xsxbx==3){ - cervixVisitModel.setNowRisk("2.1"); - cervixVisitModel.setAddUpRisk("2.1"); - } - if( xsxbx==4){ - cervixVisitModel.setNowRisk("2.6"); - cervixVisitModel.setAddUpRisk("2.6"); - } - } - } - } - //2BHPV(-)LSIL随访者即时和5年累积CIN3风险 - if(hpv==2&&xbx==3) {//既往史HPV和细胞学 - if (xshpv == 1 && xsxbx==4) {//现实HPV,现实细胞学 - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("0"); - cervixVisitModel.setAddUpRisk("4.4"); - } - if (xshpv == 2 && xsxbx==2) {//现实HPV,现实细胞学 - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("0"); - cervixVisitModel.setAddUpRisk("8.6"); - } - } - //5A.CIN 2/3治疗后的即时和5年累积CIN3风险 - if(cin23==2) {//cin23值 - if (xshpv == 1) {//现实HPV - if (Arrays.asList(2, 3, 4, 8).contains(xsxbx)) {//现实细胞学 - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if( xsxbx==2){ - cervixVisitModel.setNowRisk("0.03"); - cervixVisitModel.setAddUpRisk("1.7"); - } - if(Arrays.asList(3, 4).contains(xsxbx)){ - cervixVisitModel.setNowRisk("0.75"); - cervixVisitModel.setAddUpRisk("3.6"); - } - if( xsxbx==8){ - cervixVisitModel.setNowRisk("0.34"); - cervixVisitModel.setAddUpRisk("2"); - } - } - } - } - //2CHPV(+)NILM随访者即时和5年累积CIN3风险 - //3阴道镜检查后的即时和5年累积CIN3风险 - if(hpv==3&&xbx==4) {//既往史HPV和细胞学 - if (xshpv == 1) {//现实HPV - if (Arrays.asList(2, 3, 4).contains(xsxbx)) { - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if( xsxbx==2){ - cervixVisitModel.setNowRisk("0.01"); - cervixVisitModel.setAddUpRisk("0.9"); - } - if( xsxbx==3){ - cervixVisitModel.setNowRisk("0.35"); - cervixVisitModel.setAddUpRisk("2.5"); - } - if( xsxbx==4){ - cervixVisitModel.setNowRisk("2.3"); - cervixVisitModel.setAddUpRisk("2.3"); - } - } - } - if (xshpv == 2) {//现实HPV - if( xsxbx==2){ - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("4.1"); - cervixVisitModel.setAddUpRisk("7.2"); - } - } - if(ydhjzd==1||ydhjzd==2){//现实阴道活检诊断 - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(ydhjzd==1){ - cervixVisitModel.setNowRisk("0.56"); - cervixVisitModel.setAddUpRisk("2.7"); - } - if(ydhjzd==2){ - cervixVisitModel.setNowRisk("0.74"); - cervixVisitModel.setAddUpRisk("2.8"); - } - } - } - //3阴道镜检查后的即时和5年累积CIN3风险 - if(hpv==3&&xbx==2) {//既往史HPV和细胞学 - if(ydhjzd==1||ydhjzd==2){//现实阴道活检诊断 - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(ydhjzd==1){ - cervixVisitModel.setNowRisk("0.49"); - cervixVisitModel.setAddUpRisk("3.2"); - } - if(ydhjzd==2){ - cervixVisitModel.setNowRisk("0.53"); - cervixVisitModel.setAddUpRisk("2.6"); - } - } - } - //3阴道镜检查后的即时和5年累积CIN3风险 - if(hpv==3&&xbx==3) {//既往史HPV和细胞学 - if(ydhjzd==1||ydhjzd==2){//现实阴道活检诊断 - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(ydhjzd==1){ - cervixVisitModel.setNowRisk("0.59"); - cervixVisitModel.setAddUpRisk("2.1"); - } - if(ydhjzd==2){ - cervixVisitModel.setNowRisk("0.74"); - cervixVisitModel.setAddUpRisk("2.3"); - } - } - } - //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()); - if(Arrays.asList(1,2,3).contains(hpv) && xbx==5 && ydhjzd==1){//既往史HPV和细胞学,现实阴道活检诊断 - cervixVisitModel.setNowRisk("2.4"); - cervixVisitModel.setAddUpRisk("4.4"); - } - if(Arrays.asList(1,2,3).contains(hpv) && xbx==6 && ydhjzd==1){//既往史HPV和细胞学,现实阴道活检诊断 - cervixVisitModel.setNowRisk("1.2"); - cervixVisitModel.setAddUpRisk("1.5"); - } - if(Arrays.asList(1,2,3).contains(hpv) && xbx==7 && ydhjzd==1){//既往史HPV和细胞学,现实阴道活检诊断 - cervixVisitModel.setNowRisk("2.9"); - cervixVisitModel.setAddUpRisk("4.8"); - } - if(Arrays.asList(1,2,3).contains(hpv) && xbx==5 && ydhjzd==2){//既往史HPV和细胞学,现实阴道活检诊断 - cervixVisitModel.setNowRisk("1.4"); - cervixVisitModel.setAddUpRisk("5.6"); - } - if(Arrays.asList(1,2,3).contains(hpv) && xbx==6 && ydhjzd==2){//既往史HPV和细胞学,现实阴道活检诊断 - cervixVisitModel.setNowRisk("1.3"); - cervixVisitModel.setAddUpRisk("3.8"); - } - if(Arrays.asList(1,2,3).contains(hpv) && xbx==7 && ydhjzd==2){//既往史HPV和细胞学,现实阴道活检诊断 - cervixVisitModel.setNowRisk("3.9"); - cervixVisitModel.setAddUpRisk("6.5"); - } - } - } - //4A.LSIL阴道镜<CIN 2 者随访的即时和5年累积CIN3风险 - //4B.HSIL阴道镜<CIN 2 者随访的即时和5年累积CIN3风险 - if(cin==3) {//阴道镜 - if (xbx == 3) {//细胞学 - if (xshpv == 1 ) {//现实HPV - if (Arrays.asList(3, 4).contains(xsxbx)) { - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("0.05"); - cervixVisitModel.setAddUpRisk("0.92"); - } - } - if (xshpv == 2 ) {//现实HPV - if (Arrays.asList(2,3, 4).contains(xsxbx)) { - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("3.1"); - cervixVisitModel.setAddUpRisk("6"); - if(xsxbx==2){ - cervixVisitModel.setNowRisk("2.1"); - cervixVisitModel.setAddUpRisk("5.2"); - } - } - } - } - if (xbx == 7) {//细胞学 - if (xshpv == 1 ) {//现实HPV - if (Arrays.asList(2,3, 4,8).contains(xsxbx)) { - cervixVisitModel.setRuleRecommend(1); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xsxbx==2){ - cervixVisitModel.setNowRisk("0.02"); - cervixVisitModel.setAddUpRisk("0.48"); - } - if (Arrays.asList(3, 4).contains(xsxbx)) { - cervixVisitModel.setNowRisk("0.25"); - cervixVisitModel.setAddUpRisk("1.3"); - } - if(xsxbx==8){ - cervixVisitModel.setNowRisk("0.14"); - cervixVisitModel.setAddUpRisk("0.8"); - } - } - } - } - } - /** - * 阴道镜检查 - */ - //1B过往HPV(-)者,宫颈筛查异常的即时和5年累积CIN3风险 - if(hpv==1) {//既往史HPV - //1A缺乏过往HPV结果者,宫颈筛查异常的即时和5年累积CIN3风险 - if (xshpv == 1) {//现实HPV - if(Arrays.asList(5,6).contains(xsxbx)){ - cervixVisitModel.setRuleRecommend(4); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xsxbx==5){ - cervixVisitModel.setNowRisk("3.4"); - cervixVisitModel.setAddUpRisk("3.8"); - } - if(xsxbx==6){ - cervixVisitModel.setNowRisk("1.1"); - cervixVisitModel.setAddUpRisk("1.5"); - } - } - } - if (xshpv == 2) {//现实HPV - if(Arrays.asList(3,4).contains(xsxbx)){ - cervixVisitModel.setRuleRecommend(4); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xsxbx==3){ - cervixVisitModel.setNowRisk("4.4"); - cervixVisitModel.setAddUpRisk("7.3"); - } - if(xsxbx==4){ - cervixVisitModel.setNowRisk("4.3"); - cervixVisitModel.setAddUpRisk("6.9"); - } - } - } - //11.未知HPV史,通过HPV分型和细胞学预测CIN3+风险 - if(hpvjc==1||hpvjc==2) {//现实HPV检测手段 - if(Arrays.asList(2,3,4).contains(xsxbx)){ - cervixVisitModel.setRuleRecommend(4); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xsxbx==2){ - if(hpvjc==1) { - cervixVisitModel.setNowRisk("5.3"); - cervixVisitModel.setAddUpRisk("8.8"); - } - if(hpvjc==2) { - cervixVisitModel.setNowRisk("3"); - cervixVisitModel.setAddUpRisk("4.5"); - } - } - if(xsxbx==3){ - if(hpvjc==1) { - cervixVisitModel.setNowRisk("9"); - cervixVisitModel.setAddUpRisk("13"); - } - if(hpvjc==2) { - cervixVisitModel.setNowRisk("3.5"); - cervixVisitModel.setAddUpRisk("4.5"); - } - } - if(xsxbx==4){ - if(hpvjc==1) { - cervixVisitModel.setNowRisk("11"); - cervixVisitModel.setAddUpRisk("15"); - } - if(hpvjc==2) { - cervixVisitModel.setNowRisk("3.1"); - cervixVisitModel.setAddUpRisk("2.9"); - } - } - } - //12.未知HPV史,通过HPV分型和细胞学预测CIN3+风险 - if(hpvjc==2 && xsxbx==5){ - cervixVisitModel.setRuleRecommend(4); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("15"); - cervixVisitModel.setAddUpRisk("18"); - } - } - //12.未知HPV史,通过HPV分型和细胞学预测CIN3+风险 - if(hpvjc==3) {//现实HPV检测手段 - if(Arrays.asList(5,6).contains(xsxbx)){ - cervixVisitModel.setRuleRecommend(4); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xsxbx==5){ - cervixVisitModel.setNowRisk("9.5"); - cervixVisitModel.setAddUpRisk("11"); - } - if(xsxbx==6){ - cervixVisitModel.setNowRisk("5.4"); - cervixVisitModel.setAddUpRisk("5.4"); - } - } - } - } - //1B过往HPV(-)者,宫颈筛查异常的即时和5年累积CIN3风险 - if(hpv==2) {//既往史HPV - if (xshpv == 1) {//现实HPV - if(Arrays.asList(4,5,6).contains(xsxbx)){ - cervixVisitModel.setRuleRecommend(4); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xsxbx==4){ - cervixVisitModel.setNowRisk("2.8"); - cervixVisitModel.setAddUpRisk("3.3"); - } - if(xsxbx==5){ - cervixVisitModel.setNowRisk("0.78"); - cervixVisitModel.setAddUpRisk("0.88"); - } - if(xsxbx==6){ - cervixVisitModel.setNowRisk("14"); - cervixVisitModel.setAddUpRisk("14"); - } - } - } - if (xshpv == 2) {//现实HPV - if(Arrays.asList(5,6).contains(xsxbx)){ - cervixVisitModel.setRuleRecommend(4); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xsxbx==5){ - cervixVisitModel.setNowRisk("14"); - cervixVisitModel.setAddUpRisk("18"); - } - if(xsxbx==6){ - cervixVisitModel.setNowRisk("14"); - cervixVisitModel.setAddUpRisk("21"); - } - } - } - } - - //2AHPV(-)ASCUS随访者即时和5年累积CIN3风险 - if(hpv==2&&xbx==2) {//既往史HPV和细胞学 - if (xshpv == 1) {//现实HPV - if (Arrays.asList(5, 6, 7).contains(xsxbx)) { - cervixVisitModel.setRuleRecommend(4); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xsxbx==5){ - cervixVisitModel.setNowRisk("5.7"); - cervixVisitModel.setAddUpRisk("5.7"); - } - if(xsxbx==6){ - cervixVisitModel.setNowRisk("0"); - cervixVisitModel.setAddUpRisk("0"); - } - if(xsxbx==7){ - cervixVisitModel.setNowRisk("11"); - cervixVisitModel.setAddUpRisk("11"); - } - } - } - if (xshpv == 2) {//现实HPV - if (Arrays.asList(5, 6).contains(xsxbx)) { - cervixVisitModel.setRuleRecommend(4); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xsxbx==5){ - cervixVisitModel.setNowRisk("24"); - cervixVisitModel.setAddUpRisk("24"); - } - if(xsxbx==6){ - cervixVisitModel.setNowRisk("0"); - cervixVisitModel.setAddUpRisk("0"); - } - } - } - } - //2BHPV(-)LSIL随访者即时和5年累积CIN3风险 - if(hpv==2&&xbx==3) {//既往史HPV和细胞学 - if (xshpv == 1) {//现实HPV - if (Arrays.asList(5, 6, 7).contains(xsxbx)) { - cervixVisitModel.setRuleRecommend(4); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("0"); - cervixVisitModel.setAddUpRisk("0"); - } - } - if (xshpv == 2) {//现实HPV - if (Arrays.asList(3,4,5, 6).contains(xsxbx)) { - cervixVisitModel.setRuleRecommend(4); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xsxbx==3){ - cervixVisitModel.setNowRisk("5.3"); - cervixVisitModel.setAddUpRisk("6.9"); - } - if(xsxbx==4){ - cervixVisitModel.setNowRisk("7.9"); - cervixVisitModel.setAddUpRisk("7.9"); - } - if(xsxbx==5){ - cervixVisitModel.setNowRisk("50"); - cervixVisitModel.setAddUpRisk("50"); - } - if(xsxbx==6){ - cervixVisitModel.setNowRisk("0"); - cervixVisitModel.setAddUpRisk("0"); - } - } - } - } - //2CHPV(+)NILM随访者即时和5年累积CIN3风险 - if(hpv==3&&xbx==4) {//既往史HPV和细胞学 - if (xshpv == 1 ) {//现实HPV - if (Arrays.asList( 5, 6).contains(xsxbx)) { - cervixVisitModel.setRuleRecommend(4); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xsxbx==5){ - cervixVisitModel.setNowRisk(""); - cervixVisitModel.setAddUpRisk(""); - } - if(xsxbx==6){ - cervixVisitModel.setNowRisk("8.3"); - cervixVisitModel.setAddUpRisk("8.3"); - } - } - } - if (xshpv == 2 ) {//现实HPV - if (Arrays.asList( 3,4,5, 6).contains(xsxbx)) { - cervixVisitModel.setRuleRecommend(4); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xsxbx==3){ - cervixVisitModel.setNowRisk("5.4"); - cervixVisitModel.setAddUpRisk("9.5"); - } - if(xsxbx==4){ - cervixVisitModel.setNowRisk("5"); - cervixVisitModel.setAddUpRisk("8.5"); - } - if(xsxbx==5){ - cervixVisitModel.setNowRisk("22"); - cervixVisitModel.setAddUpRisk("29"); - } - if(xsxbx==6){ - cervixVisitModel.setNowRisk("33"); - cervixVisitModel.setAddUpRisk("40"); - } - } - } - } - //4A.LSIL阴道镜<CIN 2 者随访的即时和5年累积CIN3风险 - //4B.HSIL阴道镜<CIN 2 者随访的即时和5年累积CIN3风险 - if(cin==3&&xbx == 3) {//CIN,细胞学 - if (xshpv == 1 || xshpv == 2) {//现实HPV - if(xsxbx==7){ - cervixVisitModel.setRuleRecommend(4); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xshpv==1){ - cervixVisitModel.setNowRisk("1.6"); - cervixVisitModel.setAddUpRisk("4.1"); - } - if(xshpv==2){ - cervixVisitModel.setNowRisk("23"); - cervixVisitModel.setAddUpRisk("31"); - } - } - } - } - if(cin==3&&xbx == 7) {//CIN,细胞学 - if (xshpv == 2) { - if(Arrays.asList(2,3,4).contains(xsxbx)){ - cervixVisitModel.setRuleRecommend(4); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xsxbx==2){ - cervixVisitModel.setNowRisk("5"); - cervixVisitModel.setAddUpRisk("12"); - } - if(Arrays.asList(3,4).contains(xsxbx)){ - cervixVisitModel.setNowRisk("6.6"); - cervixVisitModel.setAddUpRisk("17"); - } - } - } - } - //5A.CIN 2/3治疗后的即时和5年累积CIN3风险 - if(cin23==2) {//cin23值 - if (xshpv == 1 ) {//现实HPV - if(xsxbx==7){ - cervixVisitModel.setRuleRecommend(4); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("18"); - cervixVisitModel.setAddUpRisk("18"); - } - } - if (xshpv == 2 ) {//现实HPV - if(Arrays.asList(2,3,4).contains(xsxbx)){ - cervixVisitModel.setRuleRecommend(4); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xsxbx==2){ - cervixVisitModel.setNowRisk("5.8"); - cervixVisitModel.setAddUpRisk("12"); - } - if(Arrays.asList(3,4).contains(xsxbx)){ - cervixVisitModel.setNowRisk("10"); - cervixVisitModel.setAddUpRisk("21"); - } - } - } - } - - /** - * 阴道镜检查、治疗 - */ - //1A缺乏过往HPV结果者,宫颈筛查异常的即时和5年累积CIN3风险 - //11.未知HPV史,通过HPV分型和细胞学预测CIN3+风险 - if(hpv==1) {//既往史HPV - if (xshpv == 1 ) {//现实HPV - if (xsxbx==7) { - cervixVisitModel.setRuleRecommend(5); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("2.5"); - cervixVisitModel.setAddUpRisk("27"); - } - } - if (xshpv == 2 ) {//现实HPV - if (Arrays.asList(5,6,7).contains(xsxbx)) { - cervixVisitModel.setRuleRecommend(5); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xsxbx==5){ - cervixVisitModel.setNowRisk("26"); - cervixVisitModel.setAddUpRisk("32"); - } - if(xsxbx==6){ - cervixVisitModel.setNowRisk("26"); - cervixVisitModel.setAddUpRisk("35"); - } - if(xsxbx==7){ - cervixVisitModel.setNowRisk("49"); - cervixVisitModel.setAddUpRisk("53"); - } - } - } - } - //12.未知HPV史,通过HPV分型和细胞学预测CIN3+风险 - if(hpv==1) {//既往史HPV - switch (hpvjc) {//现实HPV检测手段 - case 1: - if (Arrays.asList(5, 6).contains(xsxbx)) { - cervixVisitModel.setRuleRecommend(5); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xsxbx==5){ - cervixVisitModel.setNowRisk("28"); - cervixVisitModel.setAddUpRisk("33"); - } - if(xsxbx==6){ - cervixVisitModel.setNowRisk("36"); - cervixVisitModel.setAddUpRisk("43"); - } - } - break; - case 2: - if (Arrays.asList(6, 7).contains(xsxbx)) { - cervixVisitModel.setRuleRecommend(5); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xsxbx==6){ - cervixVisitModel.setNowRisk("33"); - cervixVisitModel.setAddUpRisk("41"); - } - if(xsxbx==7){ - cervixVisitModel.setNowRisk("30"); - cervixVisitModel.setAddUpRisk("30"); - } - } - break; - case 3: - if (xsxbx == 7) { - cervixVisitModel.setRuleRecommend(5); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("35"); - cervixVisitModel.setAddUpRisk("37"); - } - break; - } - } - //1B过往HPV(-)者,宫颈筛查异常的即时和5年累积CIN3风险 - if(hpv==2) {//既往史HPV - if (xshpv == 2 ) {//现实HPV - if (xsxbx==7) { - cervixVisitModel.setRuleRecommend(5); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("32"); - cervixVisitModel.setAddUpRisk("34"); - } - } - } - //2AHPV(-)ASCUS随访者即时和5年累积CIN3风险 - if(hpv==2&&xbx==2) {//既往史HPV和细胞学 - if (xshpv == 2 && xsxbx == 7) {//现实HPV,现实细胞学 - cervixVisitModel.setRuleRecommend(5); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("38"); - cervixVisitModel.setAddUpRisk("36"); - } - } - //2BHPV(-)LSIL随访者即时和5年累积CIN3风险 - if(hpv==2&&xbx==3) {//既往史HPV和细胞学 - if (xshpv == 2 && xsxbx == 7) {//现实HPV - cervixVisitModel.setRuleRecommend(5); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("33"); - cervixVisitModel.setAddUpRisk("33"); - } - } - //2CHPV(+)NILM随访者即时和5年累积CIN3风险 - if(hpv==3&&xbx==4) {//既往史HPV和细胞学 - if (xshpv == 1 && xsxbx == 7) {//现实HPV - cervixVisitModel.setRuleRecommend(5); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("44"); - cervixVisitModel.setAddUpRisk("44"); - } - if (xshpv == 2 && xsxbx == 7) {//现实HPV - cervixVisitModel.setRuleRecommend(5); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("44"); - cervixVisitModel.setAddUpRisk("50"); - } - } - //4B.HSIL阴道镜<CIN 2 者随访的即时和5年累积CIN3风险 - if(cin==3&&xbx==7) {//CIN,细胞学 - if (xshpv == 1 || xshpv == 2) {//现实HPV - if (xsxbx == 7) { - cervixVisitModel.setRuleRecommend(5); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - if(xshpv==1){ - cervixVisitModel.setNowRisk("5.6"); - cervixVisitModel.setAddUpRisk("14"); - } - if(xshpv==2){ - cervixVisitModel.setNowRisk("28"); - cervixVisitModel.setAddUpRisk("36"); - } - } - } - } - //5A.CIN 2/3治疗后的即时和5年累积CIN3风险 - if(cin23==2) {//cin23值 - if (xshpv == 2 && xsxbx == 7) {//现实HPV - cervixVisitModel.setRuleRecommend(5); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("53"); - cervixVisitModel.setAddUpRisk("63"); - } - } - /** - * 快速治疗 - */ - //12.未知HPV史,通过HPV分型和细胞学预测CIN3+风险 - if(hpv==1) {//既往史HPV - if (hpvjc == 1 && xsxbx == 7) { - cervixVisitModel.setRuleRecommend(6); - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated()); - cervixVisitModel.setNowRisk("50"); - cervixVisitModel.setAddUpRisk("54"); - } - } - return cervixVisitModel; - } - @Override public BaseObjectResponse queryCervicalCancerCount(CervicalCancerListRequest request, Integer userId) { Map result = new HashMap<>(); -- 1.8.3.1