PatientPHRLatestDTO.java 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. package com.lemon.lifecenter.dto;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Calendar;
  4. import java.util.Date;
  5. import org.springframework.stereotype.Repository;
  6. @Repository
  7. public class PatientPHRLatestDTO {
  8. private int patientIdx;
  9. private String patientName;
  10. private String centerCode;
  11. private String wardNumber;
  12. private String roomNumber;
  13. private Float temperature;
  14. private Date temperatureCreateDate;
  15. private Integer oxygenSaturation;
  16. private Date oxygenSaturationCreateDate;
  17. private Integer pulseRate;
  18. private Date pulseRateCreateDate;
  19. private Integer systolicBloodPressure;
  20. private Date systolicBloodPressureCreateDate;
  21. private Integer diastolicBloodPressure;
  22. private Date diastolicBloodPressureCreateDate;
  23. private Integer bloodSugar;
  24. private Date bloodSugarCreateDate;
  25. private int memoCount;
  26. private Date symptomLastDate;
  27. private String searchText;
  28. private int limit;
  29. private int limitMax;
  30. private boolean needCheckValue(Date targetDate) {
  31. boolean needCheck = true;
  32. Calendar todayCalendar = Calendar.getInstance();
  33. Calendar targetCalendar = Calendar.getInstance();
  34. try {
  35. todayCalendar.setTime(new Date());
  36. targetCalendar.setTime(targetDate);
  37. if (targetCalendar.get(Calendar.YEAR) == todayCalendar.get(Calendar.YEAR)
  38. && targetCalendar.get(Calendar.MONTH) == todayCalendar.get(Calendar.MONTH)
  39. && targetCalendar.get(Calendar.DAY_OF_MONTH) == todayCalendar.get(Calendar.DAY_OF_MONTH)
  40. && targetCalendar.get(Calendar.AM_PM) == todayCalendar.get(Calendar.AM_PM)) {
  41. needCheck = false;
  42. }
  43. }
  44. catch (Exception e) {
  45. // 체크가 필요한 것으로 처리
  46. }
  47. return needCheck;
  48. }
  49. public int getPatientIdx() {
  50. return patientIdx;
  51. }
  52. public void setPatientIdx(int patientIdx) {
  53. this.patientIdx = patientIdx;
  54. }
  55. public String getCenterCode() {
  56. return centerCode;
  57. }
  58. public void setCenterCode(String centerCode) {
  59. this.centerCode = centerCode;
  60. }
  61. public String getPatientName() {
  62. return patientName;
  63. }
  64. public void setPatientName(String patientName) {
  65. this.patientName = patientName;
  66. }
  67. public String getWardNumber() {
  68. return wardNumber;
  69. }
  70. public void setWardNumber(String wardNumber) {
  71. this.wardNumber = wardNumber;
  72. }
  73. public String getRoomNumber() {
  74. return roomNumber;
  75. }
  76. public void setRoomNumber(String roomNumber) {
  77. this.roomNumber = roomNumber;
  78. }
  79. public Float getTemperature() {
  80. return temperature;
  81. }
  82. public void setTemperature(float temperature) {
  83. this.temperature = temperature;
  84. }
  85. public Date getTemperatureCreateDate() {
  86. return temperatureCreateDate;
  87. }
  88. public Integer getOxygenSaturation() {
  89. return oxygenSaturation;
  90. }
  91. public void setOxygenSaturation(int oxygenSaturation) {
  92. this.oxygenSaturation = oxygenSaturation;
  93. }
  94. public Date getOxygenSaturationCreateDate() {
  95. return oxygenSaturationCreateDate;
  96. }
  97. public Integer getPulseRate() {
  98. return pulseRate;
  99. }
  100. public void setPulseRate(int pulseRate) {
  101. this.pulseRate = pulseRate;
  102. }
  103. public Date getPulseRateCreateDate() {
  104. return pulseRateCreateDate;
  105. }
  106. public Integer getSystolicBloodPressure() {
  107. return systolicBloodPressure;
  108. }
  109. public void setSystolicBloodPressure(int systolicBloodPressure) {
  110. this.systolicBloodPressure = systolicBloodPressure;
  111. }
  112. public Date getSystolicBloodPressureCreateDate() {
  113. return systolicBloodPressureCreateDate;
  114. }
  115. public Integer getDiastolicBloodPressure() {
  116. return diastolicBloodPressure;
  117. }
  118. public void setDiastolicBloodPressure(int diastolicBloodPressure) {
  119. this.diastolicBloodPressure = diastolicBloodPressure;
  120. }
  121. public Date getDiastolicBloodPressureCreateDate() {
  122. return diastolicBloodPressureCreateDate;
  123. }
  124. public Integer getBloodSugar() {
  125. return bloodSugar;
  126. }
  127. public void setBloodSugar(int bloodSugar) {
  128. this.bloodSugar = bloodSugar;
  129. }
  130. public Date getBloodSugarCreateDate() {
  131. return bloodSugarCreateDate;
  132. }
  133. public int getMemoCount() {
  134. return memoCount;
  135. }
  136. public void setMemoCount(int memoCount) {
  137. this.memoCount = memoCount;
  138. }
  139. public Date getSymptomLastDate() {
  140. return symptomLastDate;
  141. }
  142. public String getSearchText() {
  143. return searchText;
  144. }
  145. public void setSearchText(String searchText) {
  146. this.searchText = searchText;
  147. }
  148. public int getLimit() {
  149. return limit;
  150. }
  151. public void setLimit(int limit) {
  152. this.limit = limit;
  153. }
  154. public int getLimitMax() {
  155. return limitMax;
  156. }
  157. public void setLimitMax(int limitMax) {
  158. this.limitMax = limitMax;
  159. }
  160. public String getBloodPressureDisplay() {
  161. String systolicBloodPressureString = "--";
  162. if (this.systolicBloodPressure != null) {
  163. systolicBloodPressureString = this.systolicBloodPressure.toString();
  164. }
  165. String diastolicBloodPressureString = "--";
  166. if (this.diastolicBloodPressure != null) {
  167. diastolicBloodPressureString = this.diastolicBloodPressure.toString();
  168. }
  169. return systolicBloodPressureString + " / " + diastolicBloodPressureString;
  170. }
  171. public boolean getNeedTemperatureCheck() {
  172. return needCheckValue(this.temperatureCreateDate);
  173. }
  174. public boolean getNeedBloodPressCheck() {
  175. return needCheckValue(this.systolicBloodPressureCreateDate) || needCheckValue(this.diastolicBloodPressureCreateDate);
  176. }
  177. public boolean getNeedOxygenSaturationCheck() {
  178. return needCheckValue(this.oxygenSaturationCreateDate);
  179. }
  180. public boolean getIsTemperatureWarning() {
  181. if (this.temperature == null) return false;
  182. return this.temperature > 37.5;
  183. }
  184. public boolean getIsBloodPressureWarning() {
  185. if (this.systolicBloodPressure == null || this.diastolicBloodPressure == null) return false;
  186. boolean highBP = this.systolicBloodPressure > 140 || this.diastolicBloodPressure > 90;
  187. boolean lowBP = this.systolicBloodPressure < 80 || this.diastolicBloodPressure < 60;
  188. return highBP || lowBP;
  189. }
  190. public boolean getIsOxygenSaturationeWarning() {
  191. if (this.oxygenSaturation == null) return false;
  192. return this.oxygenSaturation < 95;
  193. }
  194. public boolean getHasTodaySymptom() {
  195. boolean ret = false;
  196. Calendar todayCalendar = Calendar.getInstance();
  197. Calendar symptomCalendar = Calendar.getInstance();
  198. try {
  199. todayCalendar.setTime(new Date());
  200. symptomCalendar.setTime(this.symptomLastDate);
  201. if (symptomCalendar.get(Calendar.YEAR) == todayCalendar.get(Calendar.YEAR)
  202. && symptomCalendar.get(Calendar.MONTH) == todayCalendar.get(Calendar.MONTH)
  203. && symptomCalendar.get(Calendar.DAY_OF_MONTH) == todayCalendar.get(Calendar.DAY_OF_MONTH)) {
  204. ret = true;
  205. }
  206. }
  207. catch (Exception e) {
  208. // 없는 것으로 처리
  209. }
  210. return ret;
  211. }
  212. }