| | |
| | | */ |
| | | private List<ThiedInhospInfo> parseResponseData(String result) { |
| | | try { |
| | | Gson gson = new Gson(); |
| | | JsonObject jsonObject = gson.fromJson(result, JsonObject.class); |
| | | JsonArray resultArray = jsonObject.getAsJsonObject("data").getAsJsonArray("result"); |
| | | Gson gson = new Gson(); |
| | | JsonObject jsonObject = gson.fromJson(result, JsonObject.class); |
| | | JsonArray resultArray = jsonObject.getAsJsonObject("data").getAsJsonArray("result"); |
| | | Type resultType = new TypeToken<List<ThiedInhospInfo>>() {}.getType(); |
| | | return gson.fromJson(resultArray, resultType); |
| | | } catch (Exception e) { |
| | |
| | | parentDir.mkdirs(); |
| | | } |
| | | |
| | | if (!file.exists()) { |
| | | if (!file.exists()) { |
| | | file.createNewFile(); |
| | | } |
| | | |
| | |
| | | if (CollectionUtils.isEmpty(existingArchives)) { |
| | | patArchiveService.insertPatArchive(patArchive); |
| | | log.debug("【processPatientArchive】新增患者档案,患者编号:{}", patArchive.getPatientno()); |
| | | } else { |
| | | } else { |
| | | patArchive.setId(existingArchives.get(0).getId()); |
| | | patArchiveService.updateArchive(patArchive); |
| | | log.debug("【processPatientArchive】更新患者档案,患者编号:{}", patArchive.getPatientno()); |
| | |
| | | PatArchive patArchive = new PatArchive(); |
| | | |
| | | // 基本信息 |
| | | patArchive.setPatientno(thiedInhospInfo.getPatiMediaNo()); |
| | | patArchive.setPatientno(thiedInhospInfo.getPatiMediaNo()); |
| | | patArchive.setIdcardno(thiedInhospInfo.getPatiIdCardNo().trim()); |
| | | patArchive.setName(thiedInhospInfo.getPatiRecordName()); |
| | | patArchive.setSourcefrom(2); |
| | | patArchive.setPattype("2"); |
| | | patArchive.setSourcefrom(2); |
| | | patArchive.setPattype("2"); |
| | | |
| | | // 性别 |
| | | patArchive.setSex("男".equals(thiedInhospInfo.getPatiRecordGender()) ? 1L : 2L); |
| | | |
| | | // 民族和籍贯 |
| | | patArchive.setNation(thiedInhospInfo.getPatiNation()); |
| | | patArchive.setNativePlace(thiedInhospInfo.getPatiNationality()); |
| | | patArchive.setNation(thiedInhospInfo.getPatiNation()); |
| | | patArchive.setNativePlace(thiedInhospInfo.getPatiNationality()); |
| | | |
| | | // 居住地址 |
| | | String homeAddr = thiedInhospInfo.getPatiHomeAddr(); |
| | |
| | | // 出生日期 |
| | | if (StringUtils.isNotEmpty(thiedInhospInfo.getPatiBirthday())) { |
| | | try { |
| | | patArchive.setBirthdate(new SimpleDateFormat("yyyy-MM-dd").parse(thiedInhospInfo.getPatiBirthday())); |
| | | } catch (ParseException e) { |
| | | patArchive.setBirthdate(new SimpleDateFormat("yyyy-MM-dd").parse(thiedInhospInfo.getPatiBirthday())); |
| | | } catch (ParseException e) { |
| | | log.warn("【buildPatientArchive】解析出生日期失败:{}", thiedInhospInfo.getPatiBirthday(), e); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 年龄 |
| | | if (thiedInhospInfo.getTreateAge() != null) { |
| | | patArchive.setAge(Long.valueOf(thiedInhospInfo.getTreateAge())); |
| | | } |
| | | patArchive.setAgeUnit(thiedInhospInfo.getTreatAgeunit()); |
| | | if (thiedInhospInfo.getTreateAge() != null) { |
| | | patArchive.setAge(Long.valueOf(thiedInhospInfo.getTreateAge())); |
| | | } |
| | | patArchive.setAgeUnit(thiedInhospInfo.getTreatAgeunit()); |
| | | |
| | | // 联系方式 |
| | | patArchive.setTelcode(thiedInhospInfo.getCompanyTelNum()); |
| | | patArchive.setRelativetelcode(thiedInhospInfo.getContactPersonPhone()); |
| | | patArchive.setTelcode(thiedInhospInfo.getCompanyTelNum()); |
| | | patArchive.setRelativetelcode(thiedInhospInfo.getContactPersonPhone()); |
| | | |
| | | // 出院方式处理(死亡等特殊情况) |
| | | if (StringUtils.isNotEmpty(thiedInhospInfo.getOutWayId()) && "4".equals(thiedInhospInfo.getOutWayId())) { |
| | |
| | | } |
| | | |
| | | // 系统字段 |
| | | patArchive.setDelFlag("0"); |
| | | patArchive.setCreateTime(new Date()); |
| | | patArchive.setUpdateTime(new Date()); |
| | | patArchive.setDelFlag("0"); |
| | | patArchive.setCreateTime(new Date()); |
| | | patArchive.setUpdateTime(new Date()); |
| | | |
| | | return patArchive; |
| | | } |
| | |
| | | patMedInhospService.updatePatMedInhosp(patMedInhosp); |
| | | log.debug("【processPatientInhospInfo】更新住院信息,患者编号:{},流水号:{}", |
| | | patArchive.getPatientno(), patMedInhosp.getSerialnum()); |
| | | } else { |
| | | } else { |
| | | patMedInhospService.insertPatMedInhosp(patMedInhosp); |
| | | log.debug("【processPatientInhospInfo】新增住院信息,患者编号:{},流水号:{}", |
| | | patArchive.getPatientno(), patMedInhosp.getSerialnum()); |
| | |
| | | * 构建患者住院信息 |
| | | */ |
| | | private PatMedInhosp buildPatientInhospInfo(ThiedInhospInfo thiedInhospInfo, PatArchive patArchive, String cry) { |
| | | PatMedInhosp patMedInhosp = new PatMedInhosp(); |
| | | PatMedInhosp patMedInhosp = new PatMedInhosp(); |
| | | |
| | | // 患者基本信息 |
| | | patMedInhosp.setPatid(patArchive.getId()); |
| | | patMedInhosp.setPatno(patArchive.getPatientno()); |
| | | patMedInhosp.setPatname(patArchive.getName()); |
| | | patMedInhosp.setPatid(patArchive.getId()); |
| | | patMedInhosp.setPatno(patArchive.getPatientno()); |
| | | patMedInhosp.setPatname(patArchive.getName()); |
| | | |
| | | // 护理信息 |
| | | patMedInhosp.setNurseId(thiedInhospInfo.getNurseId()); |
| | | patMedInhosp.setNurseName(thiedInhospInfo.getNurseName()); |
| | | patMedInhosp.setNurseId(thiedInhospInfo.getNurseId()); |
| | | patMedInhosp.setNurseName(thiedInhospInfo.getNurseName()); |
| | | |
| | | // 住院信息 |
| | | patMedInhosp.setSerialnum(thiedInhospInfo.getInpatientId()); |
| | | patMedInhosp.setFuflag("1"); |
| | | patMedInhosp.setSerialnum(thiedInhospInfo.getInpatientId()); |
| | | patMedInhosp.setFuflag("1"); |
| | | patMedInhosp.setInhospstate("0".equals(cry) ? "0" : "1"); |
| | | |
| | | // 医院和科室信息 |
| | | patMedInhosp.setHospitalcode(thiedInhospInfo.getAreaId()); |
| | | patMedInhosp.setHospitalcode(thiedInhospInfo.getAreaId()); |
| | | patMedInhosp.setDeptcode(thiedInhospInfo.getAdmissDeptId()); |
| | | patMedInhosp.setDeptid(thiedInhospInfo.getAdmissDeptId()); |
| | | patMedInhosp.setDeptname(thiedInhospInfo.getAdmissDeptName()); |
| | | patMedInhosp.setBedNo(thiedInhospInfo.getAdmissBedNo()); |
| | | |
| | | // 诊断信息 |
| | | patMedInhosp.setIcd10code(thiedInhospInfo.getDiagIcd10()); |
| | | patMedInhosp.setDiagname(thiedInhospInfo.getDiagName()); |
| | | patMedInhosp.setIcd10code(thiedInhospInfo.getDiagIcd10()); |
| | | patMedInhosp.setDiagname(thiedInhospInfo.getDiagName()); |
| | | |
| | | // 时间信息 |
| | | if (StringUtils.isNotEmpty(thiedInhospInfo.getAdmissDate())) { |
| | | try { |
| | | patMedInhosp.setStarttime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(thiedInhospInfo.getAdmissDate())); |
| | | } catch (ParseException e) { |
| | | try { |
| | | patMedInhosp.setStarttime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(thiedInhospInfo.getAdmissDate())); |
| | | } catch (ParseException e) { |
| | | log.warn("【buildPatientInhospInfo】解析入院时间失败:{}", thiedInhospInfo.getAdmissDate(), e); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (StringUtils.isNotEmpty(thiedInhospInfo.getOutDate())) { |
| | | try { |
| | | patMedInhosp.setEndtime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(thiedInhospInfo.getOutDate())); |
| | | } catch (ParseException e) { |
| | | try { |
| | | patMedInhosp.setEndtime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(thiedInhospInfo.getOutDate())); |
| | | } catch (ParseException e) { |
| | | log.warn("【buildPatientInhospInfo】解析出院时间失败:{}", thiedInhospInfo.getOutDate(), e); |
| | | } |
| | | } |
| | | |
| | | // 出院信息 |
| | | patMedInhosp.setLeaveldeptcode(thiedInhospInfo.getCurrDeptId()); |
| | | patMedInhosp.setLeaveldeptname(thiedInhospInfo.getCurrDeptName()); |
| | | patMedInhosp.setLeavediagname(thiedInhospInfo.getDiagName()); |
| | | patMedInhosp.setLeaveicd10code(thiedInhospInfo.getDiagIcd10()); |
| | | patMedInhosp.setOutWayId(thiedInhospInfo.getOutWayId()); |
| | | patMedInhosp.setOutWayName(thiedInhospInfo.getOutWayName()); |
| | | patMedInhosp.setLeaveldeptcode(thiedInhospInfo.getCurrDeptId()); |
| | | patMedInhosp.setLeaveldeptname(thiedInhospInfo.getCurrDeptName()); |
| | | patMedInhosp.setLeavediagname(thiedInhospInfo.getDiagName()); |
| | | patMedInhosp.setLeaveicd10code(thiedInhospInfo.getDiagIcd10()); |
| | | patMedInhosp.setOutWayId(thiedInhospInfo.getOutWayId()); |
| | | patMedInhosp.setOutWayName(thiedInhospInfo.getOutWayName()); |
| | | |
| | | // 医生信息 |
| | | patMedInhosp.setDrname(thiedInhospInfo.getDoctName()); |
| | | patMedInhosp.setDrcode(thiedInhospInfo.getDoctId()); |
| | | |
| | | // 病区信息 |
| | | patMedInhosp.setLeavehospitaldistrictid(thiedInhospInfo.getCurrWardCode()); |
| | | patMedInhosp.setLeavehospitaldistrictcode(thiedInhospInfo.getCurrWardId()); |
| | | patMedInhosp.setLeavehospitaldistrictname(thiedInhospInfo.getCurrWardName()); |
| | | patMedInhosp.setLeaveldeptid(thiedInhospInfo.getCurrDeptCode()); |
| | | patMedInhosp.setLeavehospitaldistrictid(thiedInhospInfo.getCurrWardCode()); |
| | | patMedInhosp.setLeavehospitaldistrictcode(thiedInhospInfo.getCurrWardId()); |
| | | patMedInhosp.setLeavehospitaldistrictname(thiedInhospInfo.getCurrWardName()); |
| | | patMedInhosp.setLeaveldeptid(thiedInhospInfo.getCurrDeptCode()); |
| | | |
| | | // 状态信息 |
| | | patMedInhosp.setSchemestatus("0".equals(cry) ? 1L : 2L); |
| | | |
| | | // 系统字段 |
| | | patMedInhosp.setDelFlag("0"); |
| | | patMedInhosp.setOrgid("1"); |
| | | patMedInhosp.setOrgid("1"); |
| | | |
| | | return patMedInhosp; |
| | | } |