Commit bad7110f0b56d130a08162676589c98362e0b327

Authored by liquanyu
1 parent 88ab23ece1

两癌修改追访

Showing 3 changed files with 16 additions and 1603 deletions

platform-dal/src/main/java/com/lyms/platform/pojo/CervixVisitModel.java View file @ bad7110
... ... @@ -6,367 +6,11 @@
6 6 * @discription 宫颈随访列表模型
7 7 */
8 8  
9   -import com.lyms.platform.common.result.BaseModel;
10 9 import org.springframework.data.mongodb.core.mapping.Document;
11 10  
12   -import java.util.Date;
13   -import java.util.Map;
14 11  
15 12 @Document(collection = "lyms_cancer_CervixVisitModel")
16   -public class CervixVisitModel extends BaseModel {
17   - //主键id
18   - private String id;
19   - //宫颈检查记录id
20   - private String parentId;
21   - //医院ID
22   - private String hospitalId;
23   - //姓名
24   - private String username;
25   - //年龄
26   - private Integer age;
27   - //民族Id
28   - private String nationId;
29   - //身份证件号
30   - private String certificateNum;
31   - //手机号
32   - private String phone;
33   - //居住地
34   - private String provinceId;
35   - //市
36   - private String cityId;
37   - //区
38   - private String areaId;
39   - //街道
40   - private String streetId;
41   - //详细地址
42   - private String address;
43   - //编号
44   - private String code;
45   - /**
46   - * 既往史
47   - */
48   - //HPV检查
49   - private Integer hpv;
50   - //细胞学
51   - private Integer xbx;
52   - //CIN
53   - private Integer cin;
54   - //CIN2/3
55   - private Integer cin23;
56   - //HPV疫苗注射
57   - private Integer hpvym;
58   - /**
59   - * 现时情况(xshpv、hpvjc互斥字段。)
60   - */
61   - //HPV
62   - private Integer xshpv;
63   - //HPV检测手段
64   - private Integer hpvjc;
65   - //细胞学
66   - private Integer xsxbx;
67   - //阴道活检诊断
68   - private Integer ydhjzd;
  13 +public class CervixVisitModel extends CervicalCancerModel {
69 14  
70   - /**
71   - *常规推荐
72   - *1年内追访、3年内随访、5年内随访、阴道镜检查、阴道镜治疗。(1-5)参数
73   - */
74   - private Integer ruleRecommend;
75   - //即时风险
76   - private String nowRisk;
77   - //累计风险
78   - private String addUpRisk;
79   - //推荐预约时间(用于判断满足以上条件,发送短信使用)
80   - private Date RecommendVisitTime;
81   - //检査日期
82   - private Date checkDate;
83   -
84   - //追访日期
85   - private Date afterVisitTime;
86   - //预约下次追访日期
87   - private Date nextAfterVisitTime;
88   -
89   - //随访状态(0:待随访,1:已随访)
90   - private Integer type;
91   -
92   - /**
93   - * 是否有效
94   - */
95   - private Integer yn;
96   - private Date created;
97   - private Date modified;
98   -
99   - public String getNowRisk() {
100   - return nowRisk;
101   - }
102   -
103   - public void setNowRisk(String nowRisk) {
104   - this.nowRisk = nowRisk;
105   - }
106   -
107   - public String getAddUpRisk() {
108   - return addUpRisk;
109   - }
110   -
111   - public void setAddUpRisk(String addUpRisk) {
112   - this.addUpRisk = addUpRisk;
113   - }
114   -
115   - public Integer getRuleRecommend() {
116   - return ruleRecommend;
117   - }
118   -
119   - public void setRuleRecommend(Integer ruleRecommend) {
120   - this.ruleRecommend = ruleRecommend;
121   - }
122   -
123   - public Date getRecommendVisitTime() {
124   - return RecommendVisitTime;
125   - }
126   -
127   - public void setRecommendVisitTime(Date recommendVisitTime) {
128   - RecommendVisitTime = recommendVisitTime;
129   - }
130   -
131   - public String getId() {
132   - return id;
133   - }
134   -
135   - public void setId(String id) {
136   - this.id = id;
137   - }
138   -
139   - public String getParentId() {
140   - return parentId;
141   - }
142   -
143   - public void setParentId(String parentId) {
144   - this.parentId = parentId;
145   - }
146   -
147   - public String getHospitalId() {
148   - return hospitalId;
149   - }
150   -
151   - public void setHospitalId(String hospitalId) {
152   - this.hospitalId = hospitalId;
153   - }
154   -
155   - public String getUsername() {
156   - return username;
157   - }
158   -
159   - public void setUsername(String username) {
160   - this.username = username;
161   - }
162   -
163   - public Integer getAge() {
164   - return age;
165   - }
166   -
167   - public void setAge(Integer age) {
168   - this.age = age;
169   - }
170   -
171   - public String getNationId() {
172   - return nationId;
173   - }
174   -
175   - public void setNationId(String nationId) {
176   - this.nationId = nationId;
177   - }
178   -
179   - public String getCertificateNum() {
180   - return certificateNum;
181   - }
182   -
183   - public void setCertificateNum(String certificateNum) {
184   - this.certificateNum = certificateNum;
185   - }
186   -
187   - public String getPhone() {
188   - return phone;
189   - }
190   -
191   - public void setPhone(String phone) {
192   - this.phone = phone;
193   - }
194   -
195   - public String getProvinceId() {
196   - return provinceId;
197   - }
198   -
199   - public void setProvinceId(String provinceId) {
200   - this.provinceId = provinceId;
201   - }
202   -
203   - public String getCityId() {
204   - return cityId;
205   - }
206   -
207   - public void setCityId(String cityId) {
208   - this.cityId = cityId;
209   - }
210   -
211   - public String getAreaId() {
212   - return areaId;
213   - }
214   -
215   - public void setAreaId(String areaId) {
216   - this.areaId = areaId;
217   - }
218   -
219   - public String getStreetId() {
220   - return streetId;
221   - }
222   -
223   - public void setStreetId(String streetId) {
224   - this.streetId = streetId;
225   - }
226   -
227   - public String getAddress() {
228   - return address;
229   - }
230   -
231   - public void setAddress(String address) {
232   - this.address = address;
233   - }
234   -
235   - public String getCode() {
236   - return code;
237   - }
238   -
239   - public void setCode(String code) {
240   - this.code = code;
241   - }
242   -
243   - public Date getCheckDate() {
244   - return checkDate;
245   - }
246   -
247   - public void setCheckDate(Date checkDate) {
248   - this.checkDate = checkDate;
249   - }
250   -
251   - public Date getAfterVisitTime() {
252   - return afterVisitTime;
253   - }
254   -
255   - public void setAfterVisitTime(Date afterVisitTime) {
256   - this.afterVisitTime = afterVisitTime;
257   - }
258   -
259   - public Date getNextAfterVisitTime() {
260   - return nextAfterVisitTime;
261   - }
262   -
263   - public void setNextAfterVisitTime(Date nextAfterVisitTime) {
264   - this.nextAfterVisitTime = nextAfterVisitTime;
265   - }
266   -
267   -
268   - public Integer getType() {
269   - return type;
270   - }
271   -
272   - public void setType(Integer type) {
273   - this.type = type;
274   - }
275   -
276   - public Integer getYn() {
277   - return yn;
278   - }
279   -
280   - public void setYn(Integer yn) {
281   - this.yn = yn;
282   - }
283   -
284   - public Date getCreated() {
285   - return created;
286   - }
287   -
288   - public void setCreated(Date created) {
289   - this.created = created;
290   - }
291   -
292   - public Date getModified() {
293   - return modified;
294   - }
295   -
296   - public void setModified(Date modified) {
297   - this.modified = modified;
298   - }
299   -
300   - public Integer getHpv() {
301   - return hpv;
302   - }
303   -
304   - public void setHpv(Integer hpv) {
305   - this.hpv = hpv;
306   - }
307   -
308   - public Integer getXbx() {
309   - return xbx;
310   - }
311   -
312   - public void setXbx(Integer xbx) {
313   - this.xbx = xbx;
314   - }
315   -
316   - public Integer getCin() {
317   - return cin;
318   - }
319   -
320   - public void setCin(Integer cin) {
321   - this.cin = cin;
322   - }
323   -
324   - public Integer getCin23() {
325   - return cin23;
326   - }
327   -
328   - public void setCin23(Integer cin23) {
329   - this.cin23 = cin23;
330   - }
331   -
332   - public Integer getHpvym() {
333   - return hpvym;
334   - }
335   -
336   - public void setHpvym(Integer hpvym) {
337   - this.hpvym = hpvym;
338   - }
339   -
340   - public Integer getXshpv() {
341   - return xshpv;
342   - }
343   -
344   - public void setXshpv(Integer xshpv) {
345   - this.xshpv = xshpv;
346   - }
347   -
348   - public Integer getHpvjc() {
349   - return hpvjc;
350   - }
351   -
352   - public void setHpvjc(Integer hpvjc) {
353   - this.hpvjc = hpvjc;
354   - }
355   -
356   - public Integer getXsxbx() {
357   - return xsxbx;
358   - }
359   -
360   - public void setXsxbx(Integer xsxbx) {
361   - this.xsxbx = xsxbx;
362   - }
363   -
364   - public Integer getYdhjzd() {
365   - return ydhjzd;
366   - }
367   -
368   - public void setYdhjzd(Integer ydhjzd) {
369   - this.ydhjzd = ydhjzd;
370   - }
371 15 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CervicalCancerController.java View file @ bad7110
... ... @@ -172,58 +172,6 @@
172 172 HttpServletRequest request) {
173 173 return cervicalCancerService.doSyncCervicalCancer();
174 174 }
175   - /**
176   - * 宫颈癌随访筛查列表
177   - * @param cervixVisitRequest
178   - * @param request
179   - * @return
180   - */
181   - @ResponseBody
182   - @RequestMapping(method = RequestMethod.GET, value = "/cervixVisitList")
183   - @TokenRequired
184   - public BaseResponse cervixVisitList(CervixVisitRequest cervixVisitRequest, HttpServletRequest request) {
185   - LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
186   - return cervicalCancerService.cervixVisitList(cervixVisitRequest, loginState.getId());
187   - }
188   - /**
189   - * 添加宫颈癌随访记录
190   - * @param cervixVisitRecordModel
191   - * @param request
192   - * @return
193   - */
194   - @ResponseBody
195   - @RequestMapping(method = RequestMethod.POST ,value = "/cervixVisitRecordAdd")
196   - @TokenRequired
197   - public BaseResponse cervixVisitRecordAdd(@RequestBody CervixVisitRecordModel cervixVisitRecordModel, HttpServletRequest request) {
198   - LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
199   - return cervicalCancerService.cervixVisitRecordAdd(cervixVisitRecordModel, loginState.getId());
200   - }
201   -
202   - /**
203   - * 宫颈癌随访记录列表
204   - * @param id
205   - * @param request
206   - * @return
207   - */
208   - @ResponseBody
209   - @RequestMapping(method = RequestMethod.GET ,value = "/cervixVisitRecordList")
210   - @TokenRequired
211   - public BaseResponse cervixVisitRecordList(@RequestParam(required = false) String id, HttpServletRequest request) {
212   - LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
213   - return cervicalCancerService.cervixVisitRecordList(id, loginState.getId());
214   - }
215   -
216   - /**
217   - * 宫颈癌添加修改时生成结论(规则-同宫颈癌追访逻辑:市妇幼两癌需求风险管理.xls)
218   - * @param param
219   - * @return BaseResponse
220   - */
221   - @ResponseBody
222   - @RequestMapping(method = RequestMethod.POST ,value = "/riskResult")
223   - @TokenRequired
224   - public BaseResponse riskResult(@RequestBody CervicalCancerRequest param) throws Exception {
225   - return cervicalCancerService.riskResult(param);
226   - }
227 175  
228 176  
229 177 @RequestMapping(method = RequestMethod.GET, value = "/queryCervicalCancerCount")
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/CervicalCancerServiceImpl.java View file @ bad7110
Diff suppressed. Click to show
... ... @@ -90,11 +90,11 @@
90 90 cervixVisitQuery.setQueryNo(param.getIdCardNo());
91 91 List<CervixVisitModel> cervixVisitModels = cervixVisitService.queryCervixVisitList(cervixVisitQuery);
92 92 if(CollectionUtils.isNotEmpty(cervixVisitModels)){
93   - //如果多次检查不需要新增追访信息,更新之前信息
94   - param.setId(cervixVisitModels.get(0).getParentId());
95   - cervixVisitAdd(param,2);
  93 + mongoTemplate.remove(Query.query(Criteria.where("id").is(cervixVisitModels.get(0).getId())));
96 94 }else {
97   - cervixVisitAdd(param,1);
  95 + CervixVisitModel model = new CervixVisitModel();
  96 + BeanUtils.copyProperties(param,model);
  97 + mongoTemplate.insert(model);
98 98 }
99 99 return new BaseResponse("成功", ErrorCodeConstants.SUCCESS);
100 100 } catch (Exception e) {
... ... @@ -122,27 +122,17 @@
122 122 Update update = MongoConvertHelper
123 123 .convertToNativeUpdate(ReflectionUtils.getUpdateField(param));
124 124 mongoTemplate.updateFirst(query, update, CervicalCancerModel.class);
125   - //修改之前检查记录不能影像最后一次检查记录的随访信息(因为只会有一条随访,记录的是最后一次检查的随访信息)
126   - Query query2=new Query();
127   - Criteria criteria = Criteria.where("parentId").is(param.getParentId());
128   - query2.addCriteria(criteria);
129   - query2.with(new Sort(Sort.Direction.DESC, "created"));
130   - List<CervicalCancerModel> models = mongoTemplate.find(query2, CervicalCancerModel.class);
131   - if(models.size()>0){
132   - if (models.get(0).getId().equals(param.getId())) {
133   - //添加宫颈癌追访
134   - CervixVisitQuery cervixVisitQuery=new CervixVisitQuery();
135   - cervixVisitQuery.setYn(1);
136   - cervixVisitQuery.setQueryNo(param.getIdCardNo());
137   - List<CervixVisitModel> cervixVisitModels = cervixVisitService.queryCervixVisitList(cervixVisitQuery);
138   - if(CollectionUtils.isNotEmpty(cervixVisitModels)){
139   - //如果多次检查不需要新增追访信息,更新之前信息
140   - param.setId(cervixVisitModels.get(0).getParentId());
141   - cervixVisitAdd(param,2);
142   - }else {
143   - cervixVisitAdd(param,1);
144   - }
145   - }
  125 + //添加宫颈癌追访
  126 + CervixVisitQuery cervixVisitQuery=new CervixVisitQuery();
  127 + cervixVisitQuery.setYn(1);
  128 + cervixVisitQuery.setQueryNo(param.getIdCardNo());
  129 + List<CervixVisitModel> cervixVisitModels = cervixVisitService.queryCervixVisitList(cervixVisitQuery);
  130 + if(CollectionUtils.isNotEmpty(cervixVisitModels)){
  131 + mongoTemplate.remove(Query.query(Criteria.where("id").is(cervixVisitModels.get(0).getId())));
  132 + }else {
  133 + CervixVisitModel model = new CervixVisitModel();
  134 + BeanUtils.copyProperties(param,model);
  135 + mongoTemplate.insert(model);
146 136 }
147 137 return new BaseResponse("成功", ErrorCodeConstants.SUCCESS);
148 138 } catch (Exception e) {
149 139  
... ... @@ -922,1176 +912,7 @@
922 912 }
923 913 return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
924 914 }
925   -
926   -
927 915 public static final String AREA_URL = PropertiesUtils.getPropertyValue("area_url");
928   -
929   - //宫颈随访业务 type:1:新增、2:修改
930   - public void cervixVisitAdd(CervicalCancerRequest cervicalCancerRequest,int type) throws Exception {
931   - if(null!=cervicalCancerRequest && MapUtils.isNotEmpty(cervicalCancerRequest.getFormData()) &&
932   - (null!=cervicalCancerRequest.getFormData().get("hpv")||
933   - null!=cervicalCancerRequest.getFormData().get("xbx")||
934   - null!=cervicalCancerRequest.getFormData().get("cin")||
935   - null!=cervicalCancerRequest.getFormData().get("cin23")||
936   - null!=cervicalCancerRequest.getFormData().get("xshpv")||
937   - null!=cervicalCancerRequest.getFormData().get("hpvjc")||
938   - null!=cervicalCancerRequest.getFormData().get("xsxbx")||
939   - null!=cervicalCancerRequest.getFormData().get("ydhjzd")
940   - )){
941   - //风险逻辑处理
942   - CervixVisitModel cervixVisitModel=cervixRiskResult(cervicalCancerRequest);
943   - //判断集合中有没有常规推荐,没有不需要增加随访,修改的时候需要删除这条随访的下次预约时间
944   - if(null==cervixVisitModel.getRuleRecommend()){
945   - if(type==1){
946   - return;
947   - }else {
948   - mongoTemplate.updateFirst(Query.query(Criteria.where("parentId").is(cervicalCancerRequest.getId())),
949   - new Update().unset("nextAfterVisitTime").set("type",2), CervixVisitModel.class);
950   - }
951   - }
952   - //新增和修改随访主表
953   - if(type==1) {
954   - cervixVisitModel.setParentId(cervicalCancerRequest.getId());
955   - cervixVisitModel.setHospitalId(cervicalCancerRequest.getHospitalId());
956   - cervixVisitModel.setUsername(cervicalCancerRequest.getName());
957   - cervixVisitModel.setAge(cervicalCancerRequest.getAge());
958   - cervixVisitModel.setCertificateNum(cervicalCancerRequest.getIdCardNo());
959   - cervixVisitModel.setPhone(cervicalCancerRequest.getPhone());
960   - cervixVisitModel.setProvinceId(cervicalCancerRequest.getProvinceId());
961   - cervixVisitModel.setCityId(cervicalCancerRequest.getCityId());
962   - cervixVisitModel.setAreaId(cervicalCancerRequest.getAreaId());
963   - cervixVisitModel.setStreetId(cervicalCancerRequest.getStreetId());
964   - cervixVisitModel.setAddress(cervicalCancerRequest.getAddress());
965   - //cervixVisitModel.setCode(cervicalCancerRequest.getCode());
966   - cervixVisitModel.setCheckDate(cervicalCancerRequest.getCreated());
967   - cervixVisitModel.setType(0);
968   - cervixVisitModel.setYn(1);
969   - cervixVisitService.addOneCervixVisit(cervixVisitModel);
970   - }else {
971   - cervixVisitModel.setParentId(cervicalCancerRequest.getId());
972   - // cervixVisitModel.setCode(cervicalCancerRequest.getCode());
973   - cervixVisitModel.setCheckDate(cervicalCancerRequest.getCreated());
974   - cervixVisitService.updateOneCervixVisit(cervixVisitModel,2);
975   - }
976   - }
977   - }
978   -
979   - /**
980   - * 宫颈癌随访列表
981   - *
982   - * @param queryRequest
983   - * @param id
984   - * @return
985   - */
986   - public BaseResponse cervixVisitList(CervixVisitRequest queryRequest, Integer id) {
987   -
988   - //根据用户id获取医院ID
989   - String hospitalId = autoMatchFacade.getHospitalId(id);
990   - //查询条件
991   - CervixVisitQuery query = new CervixVisitQuery();
992   - query.setLimit(queryRequest.getLimit());
993   - query.setPage(queryRequest.getPage());
994   - query.setNeed("need");
995   - query.setYn(YnEnums.YES.getId());
996   - query.setQueryNo(queryRequest.getQueryNo());
997   - if (hospitalId != null) {
998   - query.setHospitalId(hospitalId);
999   - }
1000   - //列表只展示小于当前时间的
1001   - query.setNextAfterVisitTime(new Date());
1002   - //检查日期筛选
1003   - if (StringUtils.isNotEmpty(queryRequest.getCheckDate())) {
1004   - String[] arrs = queryRequest.getCheckDate().split(" - ");
1005   - query.setCheckDateStart(DateUtil.parseYMD(arrs[0]));
1006   - query.setCheckDateEnd(new Date(DateUtil.parseYMD(arrs[1]).getTime() + 24 * 60 * 60 * 1000 - 1));
1007   - }
1008   - //随访日期筛选
1009   - if (StringUtils.isNotEmpty(queryRequest.getAfterVisitTime())) {
1010   - String[] arrs = queryRequest.getAfterVisitTime().split(" - ");
1011   - query.setAfterVisitTimeStart(DateUtil.parseYMD(arrs[0]));
1012   - query.setAfterVisitTimeEnd(new Date(DateUtil.parseYMD(arrs[1]).getTime() + 24 * 60 * 60 * 1000 - 1));
1013   - }
1014   - //预约下次检查日期筛选
1015   - if (StringUtils.isNotEmpty(queryRequest.getNextAfterVisitTime())) {
1016   - String[] arrs = queryRequest.getNextAfterVisitTime().split(" - ");
1017   - query.setNextAfterVisitTimeStart(DateUtil.parseYMD(arrs[0]));
1018   - query.setNextAfterVisitTimeEnd(new Date(DateUtil.parseYMD(arrs[1]).getTime() + 24 * 60 * 60 * 1000 - 1));
1019   - }
1020   - //逾期天数
1021   - if (null != queryRequest.getOverdueStart()) {
1022   - Calendar instance = Calendar.getInstance();
1023   - instance.setTime(new Date());
1024   - instance.add(Calendar.DATE, -queryRequest.getOverdueStart());
1025   - instance.set(Calendar.HOUR_OF_DAY, 23);
1026   - instance.set(Calendar.MINUTE, 59);
1027   - instance.set(Calendar.SECOND, 59);
1028   - instance.set(Calendar.MILLISECOND, 999);
1029   - Date end = instance.getTime();
1030   - query.setOverdueEnd(end);
1031   - }
1032   - if (null != queryRequest.getOverdueEnd()) {
1033   - Calendar instance = Calendar.getInstance();
1034   - instance.setTime(new Date());
1035   - instance.add(Calendar.DATE, -queryRequest.getOverdueEnd());
1036   - instance.set(Calendar.HOUR_OF_DAY, 00);
1037   - instance.set(Calendar.MINUTE, 00);
1038   - instance.set(Calendar.SECOND, 00);
1039   - instance.set(Calendar.MILLISECOND, 000);
1040   - Date start = instance.getTime();
1041   - query.setOverdueStart(start);
1042   - }
1043   - //地区
1044   - query.setProvinceId(queryRequest.getProvinceId());
1045   - query.setCityId(queryRequest.getCityId());
1046   - query.setAreaId(queryRequest.getAreaId());
1047   - query.setStreetId(queryRequest.getStreetId());
1048   - //常规推荐 1年内追访、3年内随访、5年内随访、阴道镜检查、阴道镜治疗。(1-5)参数
1049   - query.setRuleRecommend(queryRequest.getRuleRecommend());
1050   - //追访状态
1051   - query.setType(queryRequest.getType());
1052   - List <CervixVisitModel> modelList = cervixVisitService.queryCervixVisitList(query);
1053   - List list = new ArrayList();
1054   - if (CollectionUtils.isNotEmpty(modelList)) {
1055   - for (CervixVisitModel model : modelList) {
1056   - Map <String, Object> map = new HashMap <>();
1057   - map.put("id", model.getId());
1058   - map.put("name", model.getUsername());
1059   - map.put("sex", "女");
1060   - map.put("cardNum", model.getCertificateNum());
1061   - map.put("phone", model.getPhone());
1062   - map.put("age", model.getAge());
1063   - map.put("liveAddress", CommonsHelper.getResidence(model.getProvinceId(), model.getCityId(), model.getAreaId(), model.getStreetId(), model.getAddress(), basicConfigService));
1064   - //逾期时间
1065   - int yqsj=0;
1066   - if(null!=model.getNextAfterVisitTime()){
1067   - if(DateUtil.getDays(model.getNextAfterVisitTime(),new Date())>0){
1068   - yqsj=DateUtil.getDays(model.getNextAfterVisitTime(),new Date());
1069   - }
1070   - }
1071   - map.put("yqsj",yqsj==0?"-":yqsj);
1072   - map.put("ruleRecommend", model.getRuleRecommend());
1073   - map.put("afterVisitTime", DateUtil.getyyyy_MM_dd(model.getAfterVisitTime()));//随访时间
1074   - map.put("nextAfterVisitTime", DateUtil.getyyyy_MM_dd(model.getNextAfterVisitTime()));//下次预约时间
1075   - map.put("checkDate", DateUtil.getyyyy_MM_dd(model.getCheckDate()));//检査日期
1076   - map.put("type",model.getType());
1077   - list.add(map);
1078   - }
1079   - }
1080   - return new BaseListResponse().setData(list).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(query.getPageInfo());
1081   - }
1082   - /**
1083   - * 宫颈癌随访记录添加
1084   - *
1085   - * @param RecordModel
1086   - * @param id
1087   - * @return
1088   - */
1089   - public BaseResponse cervixVisitRecordAdd(CervixVisitRecordModel RecordModel, Integer id) {
1090   - try {
1091   - RecordModel.setYn(1);
1092   - RecordModel.setCreated(new Date());
1093   - mongoTemplate.save(RecordModel);
1094   - //更新追访列基本信息
1095   - CervixVisitModel model=new CervixVisitModel();
1096   - model.setId(RecordModel.getParentId());
1097   - model.setType(RecordModel.getType());//追访状态
1098   - if(null!=RecordModel.getAfterVisitTime()){
1099   - model.setAfterVisitTime(RecordModel.getAfterVisitTime());
1100   - }
1101   - if(null!=RecordModel.getNextAfterVisitTime()){
1102   - model.setNextAfterVisitTime(RecordModel.getNextAfterVisitTime());
1103   - }
1104   - Update update=MongoConvertHelper
1105   - .convertToNativeUpdate(ReflectionUtils.getUpdateField(model));
1106   - //选择不需要预约下次追访时间,删除该字段。
1107   - if(0==RecordModel.getAppointment()){
1108   - update.unset("nextAfterVisitTime");
1109   - }
1110   - mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(model.getId())), update, CervixVisitModel.class);
1111   -
1112   - return new BaseResponse("成功", ErrorCodeConstants.SUCCESS);
1113   - } catch (Exception e) {
1114   - e.printStackTrace();
1115   - return new BaseResponse(e.getMessage(), ErrorCodeConstants.SYSTEM_ERROR);
1116   - }
1117   - }
1118   -
1119   - /**
1120   - * 宫颈癌随访记录列表
1121   - *
1122   - * @param id
1123   - * @return
1124   - */
1125   - public BaseResponse cervixVisitRecordList(String id, Integer userId) {
1126   - Criteria criteria = Criteria.where("parentId").is(id);
1127   - List<CervixVisitRecordModel> RecordModels = mongoTemplate.find(Query.query(criteria), CervixVisitRecordModel.class);
1128   - List<Map> list=new ArrayList<>();
1129   - for (CervixVisitRecordModel recordModel : RecordModels) {
1130   - Map map=new HashMap();
1131   - map.put("afterVisitTime", DateUtil.getyyyy_MM_dd(recordModel.getAfterVisitTime()));
1132   - map.put("afterVisitName", recordModel.getAfterVisitName());
1133   - //随访方式
1134   - String afterVisitType="";
1135   - if(org.apache.commons.lang.StringUtils.isNotEmpty(recordModel.getAfterVisitType())){
1136   - if(NumberUtils.isNumber(recordModel.getAfterVisitType())){
1137   - afterVisitType=TrackDownTypeEnums.getName(Integer.parseInt(recordModel.getAfterVisitType()));
1138   - }
1139   - }
1140   - map.put("afterVisitType", afterVisitType);
1141   - map.put("afterVisitResult", recordModel.getAfterVisitResult());
1142   - map.put("afterVisitFlowPath", recordModel.getAfterVisitFlowPath());
1143   - map.put("nextAfterVisitTime", DateUtil.getyyyy_MM_dd(recordModel.getNextAfterVisitTime()));
1144   - list.add(map);
1145   - }
1146   - return new BaseListResponse().setData(list).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
1147   - }
1148   - /**
1149   - * 宫颈癌添加修改时生成结论(规则-同宫颈癌追访逻辑:市妇幼两癌需求风险管理.xls)
1150   - * @param param
1151   - * @return BaseResponse
1152   - */
1153   - public BaseResponse riskResult(CervicalCancerRequest param) {
1154   - BaseResponse response=new BaseResponse();
1155   - Map map=new HashMap();
1156   - try {
1157   - //风险逻辑处理
1158   - CervixVisitModel cervixVisitModel=cervixRiskResult(param);
1159   - map.put("ruleRecommend",cervixVisitModel.getRuleRecommend());
1160   - map.put("nowRisk",cervixVisitModel.getNowRisk());
1161   - map.put("addUpRisk",cervixVisitModel.getAddUpRisk());
1162   -
1163   - response.setObject(map);
1164   - response.setErrorcode(ErrorCodeConstants.SUCCESS);
1165   - response.setErrormsg("成功");
1166   - } catch (Exception e) {
1167   - e.printStackTrace();
1168   - return new BaseResponse(e.getMessage(), ErrorCodeConstants.SYSTEM_ERROR);
1169   - }
1170   - return response;
1171   - }
1172   -
1173   - /**
1174   - *宫颈癌风险管理生成结论判定结果
1175   - * @param cervicalCancerRequest
1176   - * @return CervixVisitModel
1177   - */
1178   - public CervixVisitModel cervixRiskResult(CervicalCancerRequest cervicalCancerRequest) throws Exception {
1179   -
1180   - CervixVisitModel cervixVisitModel=new CervixVisitModel();
1181   - //宫颈检查随访项
1182   - int hpv=0,xbx=0,cin=0,cin23=0,xshpv=0,hpvjc=0,xsxbx=0,ydhjzd=0;
1183   - if(null!=cervicalCancerRequest.getFormData().get("hpv")){
1184   - hpv= (Integer) cervicalCancerRequest.getFormData().get("hpv");
1185   - cervixVisitModel.setHpv(hpv);
1186   - }
1187   - if(null!=cervicalCancerRequest.getFormData().get("xbx")){
1188   - xbx= (Integer) cervicalCancerRequest.getFormData().get("xbx");
1189   - cervixVisitModel.setXbx(xbx);
1190   - }
1191   - if(null!=cervicalCancerRequest.getFormData().get("cin")){
1192   - cin= (Integer) cervicalCancerRequest.getFormData().get("cin");
1193   - cervixVisitModel.setCin(cin);
1194   - }
1195   - if(null!=cervicalCancerRequest.getFormData().get("cin23")){
1196   - cin23= (Integer) cervicalCancerRequest.getFormData().get("cin23");
1197   - cervixVisitModel.setCin23(cin23);
1198   - }
1199   - if(null!=cervicalCancerRequest.getFormData().get("xshpv")){
1200   - xshpv= (Integer) cervicalCancerRequest.getFormData().get("xshpv");
1201   - cervixVisitModel.setXshpv(xshpv);
1202   - }
1203   - if(null!=cervicalCancerRequest.getFormData().get("hpvjc")){
1204   - hpvjc= (Integer) cervicalCancerRequest.getFormData().get("hpvjc");
1205   - cervixVisitModel.setHpvjc(hpvjc);
1206   - }
1207   - if(null!=cervicalCancerRequest.getFormData().get("xsxbx")){
1208   - xsxbx= (Integer) cervicalCancerRequest.getFormData().get("xsxbx");
1209   - cervixVisitModel.setXsxbx(xsxbx);
1210   - }
1211   - if(null!=cervicalCancerRequest.getFormData().get("ydhjzd")){
1212   - ydhjzd= (Integer) cervicalCancerRequest.getFormData().get("ydhjzd");
1213   - cervixVisitModel.setYdhjzd(ydhjzd);
1214   - }
1215   - /**
1216   - * 5年内随访
1217   - */
1218   - //1A缺乏过往HPV结果者,宫颈筛查异常的即时和5年累积CIN3风险
1219   - //1B过往HPV(-)者,宫颈筛查异常的即时和5年累积CIN3风险
1220   - if(hpv==1||hpv==2) {//既往史HPV
1221   - if(xshpv==1) {//现实HPV
1222   - if(xsxbx==2) {//现实细胞学
1223   - cervixVisitModel.setRuleRecommend(3);
1224   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1225   - if(hpv==1) {
1226   - cervixVisitModel.setNowRisk("0");
1227   - cervixVisitModel.setAddUpRisk("");
1228   - }
1229   - if(hpv==2){
1230   - cervixVisitModel.setNowRisk("0");
1231   - cervixVisitModel.setAddUpRisk("0.09");
1232   - }
1233   - }
1234   - }
1235   - }
1236   - //2AHPV(-)ASCUS随访者即时和5年累积CIN3风险
1237   - if(hpv==2&&xbx==2){//既往史HPV和细胞学
1238   - if(xshpv==1) {//现实HPV
1239   - if(xsxbx==2) {//现实细胞学
1240   - cervixVisitModel.setRuleRecommend(3);
1241   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1242   - cervixVisitModel.setNowRisk("0");
1243   - cervixVisitModel.setAddUpRisk("0.14");
1244   - }
1245   - }
1246   - }
1247   - //2BHPV(-)LSIL随访者即时和5年累积CIN3风险
1248   - if(hpv==2&&xbx==3) {//既往史HPV和细胞学
1249   - if(xshpv==1) {//现实HPV
1250   - if(xsxbx==2) {//现实细胞学
1251   - cervixVisitModel.setRuleRecommend(3);
1252   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1253   - cervixVisitModel.setNowRisk("0");
1254   - cervixVisitModel.setAddUpRisk("0.4");
1255   - }
1256   - }
1257   - }
1258   - /**
1259   - * 3年内随访
1260   - */
1261   - //1A缺乏过往HPV结果者,宫颈筛查异常的即时和5年累积CIN3风险
1262   - //1B过往HPV(-)者,宫颈筛查异常的即时和5年累积CIN3风险
1263   - if(hpv==1||hpv==2){//既往史HPV
1264   - if(xshpv==1) {//现实HPV
1265   - if(xsxbx==3) {//现实细胞学
1266   - cervixVisitModel.setRuleRecommend(2);
1267   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1268   - if(hpv==1) {
1269   - cervixVisitModel.setNowRisk("0.04");
1270   - cervixVisitModel.setAddUpRisk("0.4");
1271   - }
1272   - if(hpv==2){
1273   - cervixVisitModel.setNowRisk("0.01");
1274   - cervixVisitModel.setAddUpRisk("0.36");
1275   - }
1276   - }
1277   - }
1278   - }
1279   - //2AHPV(-)ASCUS随访者即时和5年累积CIN3风险
1280   - if(hpv==2&&xbx==2){//既往史HPV和细胞学
1281   - if(xshpv==1) {//现实HPV
1282   - if(xsxbx==3) {//现实细胞学
1283   - cervixVisitModel.setRuleRecommend(2);
1284   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1285   - cervixVisitModel.setNowRisk("0.06");
1286   - cervixVisitModel.setAddUpRisk("0.78");
1287   - }
1288   - }
1289   - }
1290   - //2BHPV(-)LSIL随访者即时和5年累积CIN3风险
1291   - if(hpv==2&&xbx==3) {//既往史HPV和细胞学
1292   - if(xshpv==1) {//现实HPV
1293   - if(xsxbx==3) {//现实细胞学
1294   - cervixVisitModel.setRuleRecommend(2);
1295   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1296   - cervixVisitModel.setNowRisk("0");
1297   - cervixVisitModel.setAddUpRisk("4");
1298   - }
1299   - }
1300   - }
1301   - //4A.LSIL阴道镜<CIN 2 者随访的即时和5年累积CIN3风险
1302   - if(cin==3&&xbx==3){//CIN,细胞学
1303   - if(xshpv==1) {//现实HPV
1304   - if (Arrays.asList(2, 8).contains(xsxbx)) {//现实细胞学
1305   - cervixVisitModel.setRuleRecommend(2);
1306   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1307   - cervixVisitModel.setNowRisk("0");
1308   - cervixVisitModel.setAddUpRisk("0.42");
1309   - }
1310   - }
1311   - }
1312   - //5B.CIN 2/3治疗后2-3次随访阴性的长期随访
1313   - if(cin23==2){
1314   - //查询历史宫颈检查记录
1315   - Query query=new Query();
1316   - Criteria criteria = Criteria.where("parentId").is(cervicalCancerRequest.getParentId());
1317   - query.addCriteria(criteria);
1318   - query.with(new Sort(Sort.Direction.DESC, "created"));
1319   - List<CervicalCancerModel> models = mongoTemplate.find(query, CervicalCancerModel.class);
1320   - if (models.size()>1) {
1321   - Integer lastHpv=0,lastXbx=0;
1322   - if(null!=models.get(1).getFormData().get("hpv")){
1323   - lastHpv= (Integer) models.get(1).getFormData().get("hpv");
1324   - }
1325   - if(null!=models.get(1).getFormData().get("xbx")){
1326   - lastXbx= (Integer) models.get(1).getFormData().get("xbx");
1327   - }
1328   - //双检测(-)*2,既往史,当前HPV和细胞学都是阴性,且上次宫颈检查HPV和细胞学都是阴性,且现实,当前HPV和细胞学都是阴性
1329   - if(hpv==2&&xbx==1&&lastHpv==2&&lastXbx==1&&xshpv==1&&xsxbx==1){
1330   - cervixVisitModel.setRuleRecommend(2);
1331   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1332   - cervixVisitModel.setNowRisk("0");
1333   - cervixVisitModel.setAddUpRisk("0.35");
1334   - }
1335   - //HPV(-)*2,既往史,当前HPV是阴性,且上次宫颈检查HPV是阴性,且现实,当前HPV是阴性
1336   - if(hpv==2&&lastHpv==2&&xshpv==1){
1337   - cervixVisitModel.setRuleRecommend(2);
1338   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1339   - cervixVisitModel.setNowRisk("0.15");
1340   - cervixVisitModel.setAddUpRisk("0.44");
1341   - }
1342   - /**
1343   - * 这里需要把随访时间短的做为最后判断。及时通知医生随访(1年内随访)
1344   - */
1345   - if(hpv==2&&xbx==1&&xshpv==1&&xsxbx==1){//既往史和现实,双检测(-)代表HPV和细胞学都是阴性
1346   - cervixVisitModel.setRuleRecommend(1);
1347   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1348   - cervixVisitModel.setNowRisk("0");
1349   - cervixVisitModel.setAddUpRisk("0.68");
1350   - }
1351   - if(hpv==2&&xshpv==1){//既往史和现实,HPV 都是阴性
1352   - cervixVisitModel.setRuleRecommend(1);
1353   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1354   - cervixVisitModel.setNowRisk("0.05");
1355   - cervixVisitModel.setAddUpRisk("0.19");
1356   - }
1357   - }
1358   - }
1359   - /**
1360   - * 1年内随访
1361   - */
1362   - //1A缺乏过往HPV结果者,宫颈筛查异常的即时和5年累积CIN3风险
1363   - //11.未知HPV史,通过HPV分型和细胞学预测CIN3+风险
1364   - //1B过往HPV(-)者,宫颈筛查异常的即时和5年累积CIN3风险
1365   - //12.未知HPV史,通过HPV分型和细胞学预测CIN3+风险
1366   - if(hpv==1||hpv==2) {//既往史HPV
1367   - if (xshpv == 1) {//现实HPV
1368   - if (xsxbx == 4) {//现实细胞学
1369   - cervixVisitModel.setRuleRecommend(1);
1370   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1371   - if(hpv==1) {
1372   - cervixVisitModel.setNowRisk("1.1");
1373   - cervixVisitModel.setAddUpRisk("2");
1374   - }
1375   - if(hpv==2){
1376   - cervixVisitModel.setNowRisk("0.44");
1377   - cervixVisitModel.setAddUpRisk("0.79");
1378   - }
1379   - }
1380   - }
1381   - if (xshpv == 2) {//现实HPV
1382   - if (hpv == 1 && xsxbx == 2) {//现实细胞学
1383   - cervixVisitModel.setRuleRecommend(1);
1384   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1385   - cervixVisitModel.setNowRisk("2.1");
1386   - cervixVisitModel.setAddUpRisk("4.8");
1387   - }
1388   - if (hpv == 2) {//既往史HPV
1389   - if (Arrays.asList(2, 3, 4).contains(xsxbx)) {//现实细胞学
1390   - cervixVisitModel.setRuleRecommend(1);
1391   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1392   - if(xsxbx==2){
1393   - cervixVisitModel.setNowRisk("0.74");
1394   - cervixVisitModel.setAddUpRisk("2.3");
1395   - }
1396   - if(xsxbx==3){
1397   - cervixVisitModel.setNowRisk("2");
1398   - cervixVisitModel.setAddUpRisk("3.8");
1399   - }
1400   - if(xsxbx==4){
1401   - cervixVisitModel.setNowRisk("2.1");
1402   - cervixVisitModel.setAddUpRisk("3.8");
1403   - }
1404   - }
1405   - }
1406   - }
1407   - if(hpvjc==3){//现实HPV检测手段
1408   - if(Arrays.asList(2,3,4).contains(xsxbx)){//现实细胞学
1409   - cervixVisitModel.setRuleRecommend(1);
1410   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1411   - if(hpv==1 && xsxbx==2) {
1412   - cervixVisitModel.setNowRisk("1.3");
1413   - cervixVisitModel.setAddUpRisk("2.2");
1414   - }
1415   - if(hpv==1 && xsxbx==3) {
1416   - cervixVisitModel.setNowRisk("2.8");
1417   - cervixVisitModel.setAddUpRisk("4");
1418   - }
1419   - if(hpv==1 && xsxbx==4) {
1420   - cervixVisitModel.setNowRisk("3.7");
1421   - cervixVisitModel.setAddUpRisk("4.7");
1422   - }
1423   - }
1424   - }
1425   - }
1426   - //2AHPV(-)ASCUS随访者即时和5年累积CIN3风险
1427   - if(hpv==2&&xbx==2) {//既往史HPV和细胞学
1428   - if(xshpv==1){
1429   - if( xsxbx==4){
1430   - cervixVisitModel.setRuleRecommend(1);
1431   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1432   - cervixVisitModel.setNowRisk("2.4");
1433   - cervixVisitModel.setAddUpRisk("3.1");
1434   - }
1435   - }
1436   - if (xshpv==2) {//现实HPV
1437   - if (Arrays.asList(2, 3, 4).contains(xsxbx)) {//现实细胞学
1438   - cervixVisitModel.setRuleRecommend(1);
1439   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1440   - if( xsxbx==2){
1441   - cervixVisitModel.setNowRisk("0.96");
1442   - cervixVisitModel.setAddUpRisk("0.96");
1443   - }
1444   - if( xsxbx==3){
1445   - cervixVisitModel.setNowRisk("2.1");
1446   - cervixVisitModel.setAddUpRisk("2.1");
1447   - }
1448   - if( xsxbx==4){
1449   - cervixVisitModel.setNowRisk("2.6");
1450   - cervixVisitModel.setAddUpRisk("2.6");
1451   - }
1452   - }
1453   - }
1454   - }
1455   - //2BHPV(-)LSIL随访者即时和5年累积CIN3风险
1456   - if(hpv==2&&xbx==3) {//既往史HPV和细胞学
1457   - if (xshpv == 1 && xsxbx==4) {//现实HPV,现实细胞学
1458   - cervixVisitModel.setRuleRecommend(1);
1459   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1460   - cervixVisitModel.setNowRisk("0");
1461   - cervixVisitModel.setAddUpRisk("4.4");
1462   - }
1463   - if (xshpv == 2 && xsxbx==2) {//现实HPV,现实细胞学
1464   - cervixVisitModel.setRuleRecommend(1);
1465   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1466   - cervixVisitModel.setNowRisk("0");
1467   - cervixVisitModel.setAddUpRisk("8.6");
1468   - }
1469   - }
1470   - //5A.CIN 2/3治疗后的即时和5年累积CIN3风险
1471   - if(cin23==2) {//cin23值
1472   - if (xshpv == 1) {//现实HPV
1473   - if (Arrays.asList(2, 3, 4, 8).contains(xsxbx)) {//现实细胞学
1474   - cervixVisitModel.setRuleRecommend(1);
1475   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1476   - if( xsxbx==2){
1477   - cervixVisitModel.setNowRisk("0.03");
1478   - cervixVisitModel.setAddUpRisk("1.7");
1479   - }
1480   - if(Arrays.asList(3, 4).contains(xsxbx)){
1481   - cervixVisitModel.setNowRisk("0.75");
1482   - cervixVisitModel.setAddUpRisk("3.6");
1483   - }
1484   - if( xsxbx==8){
1485   - cervixVisitModel.setNowRisk("0.34");
1486   - cervixVisitModel.setAddUpRisk("2");
1487   - }
1488   - }
1489   - }
1490   - }
1491   - //2CHPV(+)NILM随访者即时和5年累积CIN3风险
1492   - //3阴道镜检查后的即时和5年累积CIN3风险
1493   - if(hpv==3&&xbx==4) {//既往史HPV和细胞学
1494   - if (xshpv == 1) {//现实HPV
1495   - if (Arrays.asList(2, 3, 4).contains(xsxbx)) {
1496   - cervixVisitModel.setRuleRecommend(1);
1497   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1498   - if( xsxbx==2){
1499   - cervixVisitModel.setNowRisk("0.01");
1500   - cervixVisitModel.setAddUpRisk("0.9");
1501   - }
1502   - if( xsxbx==3){
1503   - cervixVisitModel.setNowRisk("0.35");
1504   - cervixVisitModel.setAddUpRisk("2.5");
1505   - }
1506   - if( xsxbx==4){
1507   - cervixVisitModel.setNowRisk("2.3");
1508   - cervixVisitModel.setAddUpRisk("2.3");
1509   - }
1510   - }
1511   - }
1512   - if (xshpv == 2) {//现实HPV
1513   - if( xsxbx==2){
1514   - cervixVisitModel.setRuleRecommend(1);
1515   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1516   - cervixVisitModel.setNowRisk("4.1");
1517   - cervixVisitModel.setAddUpRisk("7.2");
1518   - }
1519   - }
1520   - if(ydhjzd==1||ydhjzd==2){//现实阴道活检诊断
1521   - cervixVisitModel.setRuleRecommend(1);
1522   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1523   - if(ydhjzd==1){
1524   - cervixVisitModel.setNowRisk("0.56");
1525   - cervixVisitModel.setAddUpRisk("2.7");
1526   - }
1527   - if(ydhjzd==2){
1528   - cervixVisitModel.setNowRisk("0.74");
1529   - cervixVisitModel.setAddUpRisk("2.8");
1530   - }
1531   - }
1532   - }
1533   - //3阴道镜检查后的即时和5年累积CIN3风险
1534   - if(hpv==3&&xbx==2) {//既往史HPV和细胞学
1535   - if(ydhjzd==1||ydhjzd==2){//现实阴道活检诊断
1536   - cervixVisitModel.setRuleRecommend(1);
1537   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1538   - if(ydhjzd==1){
1539   - cervixVisitModel.setNowRisk("0.49");
1540   - cervixVisitModel.setAddUpRisk("3.2");
1541   - }
1542   - if(ydhjzd==2){
1543   - cervixVisitModel.setNowRisk("0.53");
1544   - cervixVisitModel.setAddUpRisk("2.6");
1545   - }
1546   - }
1547   - }
1548   - //3阴道镜检查后的即时和5年累积CIN3风险
1549   - if(hpv==3&&xbx==3) {//既往史HPV和细胞学
1550   - if(ydhjzd==1||ydhjzd==2){//现实阴道活检诊断
1551   - cervixVisitModel.setRuleRecommend(1);
1552   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1553   - if(ydhjzd==1){
1554   - cervixVisitModel.setNowRisk("0.59");
1555   - cervixVisitModel.setAddUpRisk("2.1");
1556   - }
1557   - if(ydhjzd==2){
1558   - cervixVisitModel.setNowRisk("0.74");
1559   - cervixVisitModel.setAddUpRisk("2.3");
1560   - }
1561   - }
1562   - }
1563   - //3阴道镜检查后的即时和5年累积CIN3风险
1564   - if(Arrays.asList(1,2,3).contains(hpv) && Arrays.asList(5,6,7).contains(xbx)){//既往史HPV和细胞学
1565   - if(ydhjzd==1||ydhjzd==2){//现实阴道活检诊断
1566   - cervixVisitModel.setRuleRecommend(1);
1567   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1568   - if(Arrays.asList(1,2,3).contains(hpv) && xbx==5 && ydhjzd==1){//既往史HPV和细胞学,现实阴道活检诊断
1569   - cervixVisitModel.setNowRisk("2.4");
1570   - cervixVisitModel.setAddUpRisk("4.4");
1571   - }
1572   - if(Arrays.asList(1,2,3).contains(hpv) && xbx==6 && ydhjzd==1){//既往史HPV和细胞学,现实阴道活检诊断
1573   - cervixVisitModel.setNowRisk("1.2");
1574   - cervixVisitModel.setAddUpRisk("1.5");
1575   - }
1576   - if(Arrays.asList(1,2,3).contains(hpv) && xbx==7 && ydhjzd==1){//既往史HPV和细胞学,现实阴道活检诊断
1577   - cervixVisitModel.setNowRisk("2.9");
1578   - cervixVisitModel.setAddUpRisk("4.8");
1579   - }
1580   - if(Arrays.asList(1,2,3).contains(hpv) && xbx==5 && ydhjzd==2){//既往史HPV和细胞学,现实阴道活检诊断
1581   - cervixVisitModel.setNowRisk("1.4");
1582   - cervixVisitModel.setAddUpRisk("5.6");
1583   - }
1584   - if(Arrays.asList(1,2,3).contains(hpv) && xbx==6 && ydhjzd==2){//既往史HPV和细胞学,现实阴道活检诊断
1585   - cervixVisitModel.setNowRisk("1.3");
1586   - cervixVisitModel.setAddUpRisk("3.8");
1587   - }
1588   - if(Arrays.asList(1,2,3).contains(hpv) && xbx==7 && ydhjzd==2){//既往史HPV和细胞学,现实阴道活检诊断
1589   - cervixVisitModel.setNowRisk("3.9");
1590   - cervixVisitModel.setAddUpRisk("6.5");
1591   - }
1592   - }
1593   - }
1594   - //4A.LSIL阴道镜<CIN 2 者随访的即时和5年累积CIN3风险
1595   - //4B.HSIL阴道镜<CIN 2 者随访的即时和5年累积CIN3风险
1596   - if(cin==3) {//阴道镜
1597   - if (xbx == 3) {//细胞学
1598   - if (xshpv == 1 ) {//现实HPV
1599   - if (Arrays.asList(3, 4).contains(xsxbx)) {
1600   - cervixVisitModel.setRuleRecommend(1);
1601   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1602   - cervixVisitModel.setNowRisk("0.05");
1603   - cervixVisitModel.setAddUpRisk("0.92");
1604   - }
1605   - }
1606   - if (xshpv == 2 ) {//现实HPV
1607   - if (Arrays.asList(2,3, 4).contains(xsxbx)) {
1608   - cervixVisitModel.setRuleRecommend(1);
1609   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1610   - cervixVisitModel.setNowRisk("3.1");
1611   - cervixVisitModel.setAddUpRisk("6");
1612   - if(xsxbx==2){
1613   - cervixVisitModel.setNowRisk("2.1");
1614   - cervixVisitModel.setAddUpRisk("5.2");
1615   - }
1616   - }
1617   - }
1618   - }
1619   - if (xbx == 7) {//细胞学
1620   - if (xshpv == 1 ) {//现实HPV
1621   - if (Arrays.asList(2,3, 4,8).contains(xsxbx)) {
1622   - cervixVisitModel.setRuleRecommend(1);
1623   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1624   - if(xsxbx==2){
1625   - cervixVisitModel.setNowRisk("0.02");
1626   - cervixVisitModel.setAddUpRisk("0.48");
1627   - }
1628   - if (Arrays.asList(3, 4).contains(xsxbx)) {
1629   - cervixVisitModel.setNowRisk("0.25");
1630   - cervixVisitModel.setAddUpRisk("1.3");
1631   - }
1632   - if(xsxbx==8){
1633   - cervixVisitModel.setNowRisk("0.14");
1634   - cervixVisitModel.setAddUpRisk("0.8");
1635   - }
1636   - }
1637   - }
1638   - }
1639   - }
1640   - /**
1641   - * 阴道镜检查
1642   - */
1643   - //1B过往HPV(-)者,宫颈筛查异常的即时和5年累积CIN3风险
1644   - if(hpv==1) {//既往史HPV
1645   - //1A缺乏过往HPV结果者,宫颈筛查异常的即时和5年累积CIN3风险
1646   - if (xshpv == 1) {//现实HPV
1647   - if(Arrays.asList(5,6).contains(xsxbx)){
1648   - cervixVisitModel.setRuleRecommend(4);
1649   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1650   - if(xsxbx==5){
1651   - cervixVisitModel.setNowRisk("3.4");
1652   - cervixVisitModel.setAddUpRisk("3.8");
1653   - }
1654   - if(xsxbx==6){
1655   - cervixVisitModel.setNowRisk("1.1");
1656   - cervixVisitModel.setAddUpRisk("1.5");
1657   - }
1658   - }
1659   - }
1660   - if (xshpv == 2) {//现实HPV
1661   - if(Arrays.asList(3,4).contains(xsxbx)){
1662   - cervixVisitModel.setRuleRecommend(4);
1663   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1664   - if(xsxbx==3){
1665   - cervixVisitModel.setNowRisk("4.4");
1666   - cervixVisitModel.setAddUpRisk("7.3");
1667   - }
1668   - if(xsxbx==4){
1669   - cervixVisitModel.setNowRisk("4.3");
1670   - cervixVisitModel.setAddUpRisk("6.9");
1671   - }
1672   - }
1673   - }
1674   - //11.未知HPV史,通过HPV分型和细胞学预测CIN3+风险
1675   - if(hpvjc==1||hpvjc==2) {//现实HPV检测手段
1676   - if(Arrays.asList(2,3,4).contains(xsxbx)){
1677   - cervixVisitModel.setRuleRecommend(4);
1678   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1679   - if(xsxbx==2){
1680   - if(hpvjc==1) {
1681   - cervixVisitModel.setNowRisk("5.3");
1682   - cervixVisitModel.setAddUpRisk("8.8");
1683   - }
1684   - if(hpvjc==2) {
1685   - cervixVisitModel.setNowRisk("3");
1686   - cervixVisitModel.setAddUpRisk("4.5");
1687   - }
1688   - }
1689   - if(xsxbx==3){
1690   - if(hpvjc==1) {
1691   - cervixVisitModel.setNowRisk("9");
1692   - cervixVisitModel.setAddUpRisk("13");
1693   - }
1694   - if(hpvjc==2) {
1695   - cervixVisitModel.setNowRisk("3.5");
1696   - cervixVisitModel.setAddUpRisk("4.5");
1697   - }
1698   - }
1699   - if(xsxbx==4){
1700   - if(hpvjc==1) {
1701   - cervixVisitModel.setNowRisk("11");
1702   - cervixVisitModel.setAddUpRisk("15");
1703   - }
1704   - if(hpvjc==2) {
1705   - cervixVisitModel.setNowRisk("3.1");
1706   - cervixVisitModel.setAddUpRisk("2.9");
1707   - }
1708   - }
1709   - }
1710   - //12.未知HPV史,通过HPV分型和细胞学预测CIN3+风险
1711   - if(hpvjc==2 && xsxbx==5){
1712   - cervixVisitModel.setRuleRecommend(4);
1713   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1714   - cervixVisitModel.setNowRisk("15");
1715   - cervixVisitModel.setAddUpRisk("18");
1716   - }
1717   - }
1718   - //12.未知HPV史,通过HPV分型和细胞学预测CIN3+风险
1719   - if(hpvjc==3) {//现实HPV检测手段
1720   - if(Arrays.asList(5,6).contains(xsxbx)){
1721   - cervixVisitModel.setRuleRecommend(4);
1722   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1723   - if(xsxbx==5){
1724   - cervixVisitModel.setNowRisk("9.5");
1725   - cervixVisitModel.setAddUpRisk("11");
1726   - }
1727   - if(xsxbx==6){
1728   - cervixVisitModel.setNowRisk("5.4");
1729   - cervixVisitModel.setAddUpRisk("5.4");
1730   - }
1731   - }
1732   - }
1733   - }
1734   - //1B过往HPV(-)者,宫颈筛查异常的即时和5年累积CIN3风险
1735   - if(hpv==2) {//既往史HPV
1736   - if (xshpv == 1) {//现实HPV
1737   - if(Arrays.asList(4,5,6).contains(xsxbx)){
1738   - cervixVisitModel.setRuleRecommend(4);
1739   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1740   - if(xsxbx==4){
1741   - cervixVisitModel.setNowRisk("2.8");
1742   - cervixVisitModel.setAddUpRisk("3.3");
1743   - }
1744   - if(xsxbx==5){
1745   - cervixVisitModel.setNowRisk("0.78");
1746   - cervixVisitModel.setAddUpRisk("0.88");
1747   - }
1748   - if(xsxbx==6){
1749   - cervixVisitModel.setNowRisk("14");
1750   - cervixVisitModel.setAddUpRisk("14");
1751   - }
1752   - }
1753   - }
1754   - if (xshpv == 2) {//现实HPV
1755   - if(Arrays.asList(5,6).contains(xsxbx)){
1756   - cervixVisitModel.setRuleRecommend(4);
1757   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1758   - if(xsxbx==5){
1759   - cervixVisitModel.setNowRisk("14");
1760   - cervixVisitModel.setAddUpRisk("18");
1761   - }
1762   - if(xsxbx==6){
1763   - cervixVisitModel.setNowRisk("14");
1764   - cervixVisitModel.setAddUpRisk("21");
1765   - }
1766   - }
1767   - }
1768   - }
1769   -
1770   - //2AHPV(-)ASCUS随访者即时和5年累积CIN3风险
1771   - if(hpv==2&&xbx==2) {//既往史HPV和细胞学
1772   - if (xshpv == 1) {//现实HPV
1773   - if (Arrays.asList(5, 6, 7).contains(xsxbx)) {
1774   - cervixVisitModel.setRuleRecommend(4);
1775   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1776   - if(xsxbx==5){
1777   - cervixVisitModel.setNowRisk("5.7");
1778   - cervixVisitModel.setAddUpRisk("5.7");
1779   - }
1780   - if(xsxbx==6){
1781   - cervixVisitModel.setNowRisk("0");
1782   - cervixVisitModel.setAddUpRisk("0");
1783   - }
1784   - if(xsxbx==7){
1785   - cervixVisitModel.setNowRisk("11");
1786   - cervixVisitModel.setAddUpRisk("11");
1787   - }
1788   - }
1789   - }
1790   - if (xshpv == 2) {//现实HPV
1791   - if (Arrays.asList(5, 6).contains(xsxbx)) {
1792   - cervixVisitModel.setRuleRecommend(4);
1793   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1794   - if(xsxbx==5){
1795   - cervixVisitModel.setNowRisk("24");
1796   - cervixVisitModel.setAddUpRisk("24");
1797   - }
1798   - if(xsxbx==6){
1799   - cervixVisitModel.setNowRisk("0");
1800   - cervixVisitModel.setAddUpRisk("0");
1801   - }
1802   - }
1803   - }
1804   - }
1805   - //2BHPV(-)LSIL随访者即时和5年累积CIN3风险
1806   - if(hpv==2&&xbx==3) {//既往史HPV和细胞学
1807   - if (xshpv == 1) {//现实HPV
1808   - if (Arrays.asList(5, 6, 7).contains(xsxbx)) {
1809   - cervixVisitModel.setRuleRecommend(4);
1810   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1811   - cervixVisitModel.setNowRisk("0");
1812   - cervixVisitModel.setAddUpRisk("0");
1813   - }
1814   - }
1815   - if (xshpv == 2) {//现实HPV
1816   - if (Arrays.asList(3,4,5, 6).contains(xsxbx)) {
1817   - cervixVisitModel.setRuleRecommend(4);
1818   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1819   - if(xsxbx==3){
1820   - cervixVisitModel.setNowRisk("5.3");
1821   - cervixVisitModel.setAddUpRisk("6.9");
1822   - }
1823   - if(xsxbx==4){
1824   - cervixVisitModel.setNowRisk("7.9");
1825   - cervixVisitModel.setAddUpRisk("7.9");
1826   - }
1827   - if(xsxbx==5){
1828   - cervixVisitModel.setNowRisk("50");
1829   - cervixVisitModel.setAddUpRisk("50");
1830   - }
1831   - if(xsxbx==6){
1832   - cervixVisitModel.setNowRisk("0");
1833   - cervixVisitModel.setAddUpRisk("0");
1834   - }
1835   - }
1836   - }
1837   - }
1838   - //2CHPV(+)NILM随访者即时和5年累积CIN3风险
1839   - if(hpv==3&&xbx==4) {//既往史HPV和细胞学
1840   - if (xshpv == 1 ) {//现实HPV
1841   - if (Arrays.asList( 5, 6).contains(xsxbx)) {
1842   - cervixVisitModel.setRuleRecommend(4);
1843   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1844   - if(xsxbx==5){
1845   - cervixVisitModel.setNowRisk("");
1846   - cervixVisitModel.setAddUpRisk("");
1847   - }
1848   - if(xsxbx==6){
1849   - cervixVisitModel.setNowRisk("8.3");
1850   - cervixVisitModel.setAddUpRisk("8.3");
1851   - }
1852   - }
1853   - }
1854   - if (xshpv == 2 ) {//现实HPV
1855   - if (Arrays.asList( 3,4,5, 6).contains(xsxbx)) {
1856   - cervixVisitModel.setRuleRecommend(4);
1857   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1858   - if(xsxbx==3){
1859   - cervixVisitModel.setNowRisk("5.4");
1860   - cervixVisitModel.setAddUpRisk("9.5");
1861   - }
1862   - if(xsxbx==4){
1863   - cervixVisitModel.setNowRisk("5");
1864   - cervixVisitModel.setAddUpRisk("8.5");
1865   - }
1866   - if(xsxbx==5){
1867   - cervixVisitModel.setNowRisk("22");
1868   - cervixVisitModel.setAddUpRisk("29");
1869   - }
1870   - if(xsxbx==6){
1871   - cervixVisitModel.setNowRisk("33");
1872   - cervixVisitModel.setAddUpRisk("40");
1873   - }
1874   - }
1875   - }
1876   - }
1877   - //4A.LSIL阴道镜<CIN 2 者随访的即时和5年累积CIN3风险
1878   - //4B.HSIL阴道镜<CIN 2 者随访的即时和5年累积CIN3风险
1879   - if(cin==3&&xbx == 3) {//CIN,细胞学
1880   - if (xshpv == 1 || xshpv == 2) {//现实HPV
1881   - if(xsxbx==7){
1882   - cervixVisitModel.setRuleRecommend(4);
1883   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1884   - if(xshpv==1){
1885   - cervixVisitModel.setNowRisk("1.6");
1886   - cervixVisitModel.setAddUpRisk("4.1");
1887   - }
1888   - if(xshpv==2){
1889   - cervixVisitModel.setNowRisk("23");
1890   - cervixVisitModel.setAddUpRisk("31");
1891   - }
1892   - }
1893   - }
1894   - }
1895   - if(cin==3&&xbx == 7) {//CIN,细胞学
1896   - if (xshpv == 2) {
1897   - if(Arrays.asList(2,3,4).contains(xsxbx)){
1898   - cervixVisitModel.setRuleRecommend(4);
1899   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1900   - if(xsxbx==2){
1901   - cervixVisitModel.setNowRisk("5");
1902   - cervixVisitModel.setAddUpRisk("12");
1903   - }
1904   - if(Arrays.asList(3,4).contains(xsxbx)){
1905   - cervixVisitModel.setNowRisk("6.6");
1906   - cervixVisitModel.setAddUpRisk("17");
1907   - }
1908   - }
1909   - }
1910   - }
1911   - //5A.CIN 2/3治疗后的即时和5年累积CIN3风险
1912   - if(cin23==2) {//cin23值
1913   - if (xshpv == 1 ) {//现实HPV
1914   - if(xsxbx==7){
1915   - cervixVisitModel.setRuleRecommend(4);
1916   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1917   - cervixVisitModel.setNowRisk("18");
1918   - cervixVisitModel.setAddUpRisk("18");
1919   - }
1920   - }
1921   - if (xshpv == 2 ) {//现实HPV
1922   - if(Arrays.asList(2,3,4).contains(xsxbx)){
1923   - cervixVisitModel.setRuleRecommend(4);
1924   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1925   - if(xsxbx==2){
1926   - cervixVisitModel.setNowRisk("5.8");
1927   - cervixVisitModel.setAddUpRisk("12");
1928   - }
1929   - if(Arrays.asList(3,4).contains(xsxbx)){
1930   - cervixVisitModel.setNowRisk("10");
1931   - cervixVisitModel.setAddUpRisk("21");
1932   - }
1933   - }
1934   - }
1935   - }
1936   -
1937   - /**
1938   - * 阴道镜检查、治疗
1939   - */
1940   - //1A缺乏过往HPV结果者,宫颈筛查异常的即时和5年累积CIN3风险
1941   - //11.未知HPV史,通过HPV分型和细胞学预测CIN3+风险
1942   - if(hpv==1) {//既往史HPV
1943   - if (xshpv == 1 ) {//现实HPV
1944   - if (xsxbx==7) {
1945   - cervixVisitModel.setRuleRecommend(5);
1946   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1947   - cervixVisitModel.setNowRisk("2.5");
1948   - cervixVisitModel.setAddUpRisk("27");
1949   - }
1950   - }
1951   - if (xshpv == 2 ) {//现实HPV
1952   - if (Arrays.asList(5,6,7).contains(xsxbx)) {
1953   - cervixVisitModel.setRuleRecommend(5);
1954   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1955   - if(xsxbx==5){
1956   - cervixVisitModel.setNowRisk("26");
1957   - cervixVisitModel.setAddUpRisk("32");
1958   - }
1959   - if(xsxbx==6){
1960   - cervixVisitModel.setNowRisk("26");
1961   - cervixVisitModel.setAddUpRisk("35");
1962   - }
1963   - if(xsxbx==7){
1964   - cervixVisitModel.setNowRisk("49");
1965   - cervixVisitModel.setAddUpRisk("53");
1966   - }
1967   - }
1968   - }
1969   - }
1970   - //12.未知HPV史,通过HPV分型和细胞学预测CIN3+风险
1971   - if(hpv==1) {//既往史HPV
1972   - switch (hpvjc) {//现实HPV检测手段
1973   - case 1:
1974   - if (Arrays.asList(5, 6).contains(xsxbx)) {
1975   - cervixVisitModel.setRuleRecommend(5);
1976   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1977   - if(xsxbx==5){
1978   - cervixVisitModel.setNowRisk("28");
1979   - cervixVisitModel.setAddUpRisk("33");
1980   - }
1981   - if(xsxbx==6){
1982   - cervixVisitModel.setNowRisk("36");
1983   - cervixVisitModel.setAddUpRisk("43");
1984   - }
1985   - }
1986   - break;
1987   - case 2:
1988   - if (Arrays.asList(6, 7).contains(xsxbx)) {
1989   - cervixVisitModel.setRuleRecommend(5);
1990   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
1991   - if(xsxbx==6){
1992   - cervixVisitModel.setNowRisk("33");
1993   - cervixVisitModel.setAddUpRisk("41");
1994   - }
1995   - if(xsxbx==7){
1996   - cervixVisitModel.setNowRisk("30");
1997   - cervixVisitModel.setAddUpRisk("30");
1998   - }
1999   - }
2000   - break;
2001   - case 3:
2002   - if (xsxbx == 7) {
2003   - cervixVisitModel.setRuleRecommend(5);
2004   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
2005   - cervixVisitModel.setNowRisk("35");
2006   - cervixVisitModel.setAddUpRisk("37");
2007   - }
2008   - break;
2009   - }
2010   - }
2011   - //1B过往HPV(-)者,宫颈筛查异常的即时和5年累积CIN3风险
2012   - if(hpv==2) {//既往史HPV
2013   - if (xshpv == 2 ) {//现实HPV
2014   - if (xsxbx==7) {
2015   - cervixVisitModel.setRuleRecommend(5);
2016   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
2017   - cervixVisitModel.setNowRisk("32");
2018   - cervixVisitModel.setAddUpRisk("34");
2019   - }
2020   - }
2021   - }
2022   - //2AHPV(-)ASCUS随访者即时和5年累积CIN3风险
2023   - if(hpv==2&&xbx==2) {//既往史HPV和细胞学
2024   - if (xshpv == 2 && xsxbx == 7) {//现实HPV,现实细胞学
2025   - cervixVisitModel.setRuleRecommend(5);
2026   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
2027   - cervixVisitModel.setNowRisk("38");
2028   - cervixVisitModel.setAddUpRisk("36");
2029   - }
2030   - }
2031   - //2BHPV(-)LSIL随访者即时和5年累积CIN3风险
2032   - if(hpv==2&&xbx==3) {//既往史HPV和细胞学
2033   - if (xshpv == 2 && xsxbx == 7) {//现实HPV
2034   - cervixVisitModel.setRuleRecommend(5);
2035   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
2036   - cervixVisitModel.setNowRisk("33");
2037   - cervixVisitModel.setAddUpRisk("33");
2038   - }
2039   - }
2040   - //2CHPV(+)NILM随访者即时和5年累积CIN3风险
2041   - if(hpv==3&&xbx==4) {//既往史HPV和细胞学
2042   - if (xshpv == 1 && xsxbx == 7) {//现实HPV
2043   - cervixVisitModel.setRuleRecommend(5);
2044   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
2045   - cervixVisitModel.setNowRisk("44");
2046   - cervixVisitModel.setAddUpRisk("44");
2047   - }
2048   - if (xshpv == 2 && xsxbx == 7) {//现实HPV
2049   - cervixVisitModel.setRuleRecommend(5);
2050   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
2051   - cervixVisitModel.setNowRisk("44");
2052   - cervixVisitModel.setAddUpRisk("50");
2053   - }
2054   - }
2055   - //4B.HSIL阴道镜<CIN 2 者随访的即时和5年累积CIN3风险
2056   - if(cin==3&&xbx==7) {//CIN,细胞学
2057   - if (xshpv == 1 || xshpv == 2) {//现实HPV
2058   - if (xsxbx == 7) {
2059   - cervixVisitModel.setRuleRecommend(5);
2060   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
2061   - if(xshpv==1){
2062   - cervixVisitModel.setNowRisk("5.6");
2063   - cervixVisitModel.setAddUpRisk("14");
2064   - }
2065   - if(xshpv==2){
2066   - cervixVisitModel.setNowRisk("28");
2067   - cervixVisitModel.setAddUpRisk("36");
2068   - }
2069   - }
2070   - }
2071   - }
2072   - //5A.CIN 2/3治疗后的即时和5年累积CIN3风险
2073   - if(cin23==2) {//cin23值
2074   - if (xshpv == 2 && xsxbx == 7) {//现实HPV
2075   - cervixVisitModel.setRuleRecommend(5);
2076   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
2077   - cervixVisitModel.setNowRisk("53");
2078   - cervixVisitModel.setAddUpRisk("63");
2079   - }
2080   - }
2081   - /**
2082   - * 快速治疗
2083   - */
2084   - //12.未知HPV史,通过HPV分型和细胞学预测CIN3+风险
2085   - if(hpv==1) {//既往史HPV
2086   - if (hpvjc == 1 && xsxbx == 7) {
2087   - cervixVisitModel.setRuleRecommend(6);
2088   - cervixVisitModel.setRecommendVisitTime(cervicalCancerRequest.getCreated());
2089   - cervixVisitModel.setNowRisk("50");
2090   - cervixVisitModel.setAddUpRisk("54");
2091   - }
2092   - }
2093   - return cervixVisitModel;
2094   - }
2095 916  
2096 917 @Override
2097 918 public BaseObjectResponse queryCervicalCancerCount(CervicalCancerListRequest request, Integer userId) {