EmrController.java 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. package thyyxxk.webserver.controller.zhuyuanyizheng.emr;
  2. import com.alibaba.fastjson.JSONObject;
  3. import org.springframework.validation.annotation.Validated;
  4. import org.springframework.web.bind.annotation.*;
  5. import thyyxxk.webserver.config.auth.PassToken;
  6. import thyyxxk.webserver.entity.ResultVo;
  7. import thyyxxk.webserver.entity.dictionary.CodeName;
  8. import thyyxxk.webserver.entity.fluorescenceTest.FluorescenceSpecimenResult;
  9. import thyyxxk.webserver.entity.medicalinsurance.inpatient.ZyPatientInfo;
  10. import thyyxxk.webserver.entity.mz.MzEmrPatientData;
  11. import thyyxxk.webserver.entity.zhuyuanyisheng.ZyZkList;
  12. import thyyxxk.webserver.entity.zhuyuanyisheng.emr.*;
  13. import thyyxxk.webserver.entity.zhuyuanyisheng.jianyanjiancha.YshYjReq;
  14. import thyyxxk.webserver.entity.zhuyuanyisheng.shoushu.OpRecord;
  15. import thyyxxk.webserver.service.zhuyuanyisheng.emr.EmrServer;
  16. import thyyxxk.webserver.utils.ResultVoUtil;
  17. import thyyxxk.webserver.utils.StringUtil;
  18. import java.util.List;
  19. import java.util.Map;
  20. /**
  21. * 肖蟾
  22. */
  23. @RequestMapping("/Emr")
  24. @RestController
  25. public class EmrController {
  26. private final EmrServer server;
  27. public EmrController(EmrServer server) {
  28. this.server = server;
  29. }
  30. @GetMapping("/getPatientDataTree")
  31. public ResultVo<List<EmrFolder>> getPatientDataTree(@RequestParam("patNo") String patNo,
  32. @RequestParam("times") Integer times) {
  33. return server.getPatientDataTree(patNo, times);
  34. }
  35. @GetMapping("/getSnippetTree")
  36. public ResultVo<List<JSONObject>> getSnippetTree() {
  37. return server.getSnippetTree();
  38. }
  39. @GetMapping("/getEmrTree")
  40. public ResultVo<Map<String, List<JSONObject>>> getEmrTree(@RequestParam("type") String type) {
  41. return server.getEmrTree(type);
  42. }
  43. @PostMapping("/insertEmrData")
  44. @PassToken
  45. public ResultVo<Map<String, Object>> insertEmrData(@RequestBody @Validated EmrPatientData param) {
  46. return server.insertEmrData(param);
  47. }
  48. @GetMapping("/deletePatientEmrByDocumentId")
  49. public ResultVo<List<String>> deletePatientEmrByDocumentId(@RequestParam("documentId") String documentId) {
  50. return server.deletePatientEmrByDocumentId(documentId);
  51. }
  52. @PostMapping("/queryWhetherThePatientHasASpecifiedMedicalRecord")
  53. public ResultVo<Boolean> queryWhetherThePatientHasASpecifiedMedicalRecord(@RequestBody EmrPatientData param) {
  54. return server.queryWhetherThePatientHasASpecifiedMedicalRecord(param);
  55. }
  56. @PassToken
  57. @GetMapping("/hotSearchSorting")
  58. public void hotSearchSorting(@RequestParam("userCode") String userCode,
  59. @RequestParam("code") String code,
  60. @RequestParam("tableName") String tableName) {
  61. server.hotSearchSorting(userCode, code, tableName);
  62. }
  63. @GetMapping("/submitMedicalRecord")
  64. public ResultVo<String> submitMedicalRecord(@RequestParam("documentId") String documentId) {
  65. return server.submitMedicalRecord(documentId);
  66. }
  67. @GetMapping("/audit")
  68. public ResultVo<String> audit(@RequestParam("documentId") String documentId) {
  69. return server.audit(documentId);
  70. }
  71. @GetMapping("/getDrgIntelligentGrouping")
  72. public ResultVo<String> getDrgIntelligentGrouping(@RequestParam("patNo") String patNo,
  73. @RequestParam("times") Integer times) {
  74. return server.getDrgIntelligentGrouping(patNo, times);
  75. }
  76. @GetMapping("/getDischargeTimes")
  77. public ResultVo<Integer> getDischargeTimes(String patNo) {
  78. return server.getDischargeTimes(patNo);
  79. }
  80. @GetMapping("/getExtractDataElement")
  81. public ResultVo<JSONObject> getExtractDataElement(@RequestParam("patNo") String patNo,
  82. @RequestParam("times") Integer times) {
  83. return server.getExtractDataElement(patNo, times);
  84. }
  85. @GetMapping("/getAllWards")
  86. public ResultVo<List<CodeName>> getAllWards() {
  87. return server.getAllWards();
  88. }
  89. @GetMapping("/getDeleteMedicalRecord")
  90. public ResultVo<List<EmrPatientData>> getDeleteMedicalRecord(@RequestParam("patNo") String patNo) {
  91. return server.getDeleteMedicalRecord(patNo);
  92. }
  93. @GetMapping("/getInvalidByDocumentId")
  94. public ResultVo<JSONObject> getInvalidByDocumentId(@RequestParam("id") String id) {
  95. return server.getInvalidByDocumentId(id);
  96. }
  97. @GetMapping("/resumeMedicalRecords")
  98. public ResultVo<String> resumeMedicalRecords(@RequestParam("documentId") String documentId) {
  99. return server.resumeMedicalRecords(documentId);
  100. }
  101. @GetMapping("/getDisReqEmr")
  102. public ResultVo<List<DischargedEmrModifyApply>> getDisReqEmr(@RequestParam("flag") Integer flag) {
  103. return server.getDisReqEmr(flag);
  104. }
  105. @GetMapping("/downloadTheDischargeEdit")
  106. public ResultVo<List<DischargedEmrModifyApply>> downloadTheDischargeEdit(@RequestParam("start") String start,
  107. @RequestParam("end") String end) {
  108. return server.downloadTheDischargeEdit(start, end);
  109. }
  110. @PostMapping("/saveDisEmrReq")
  111. public ResultVo<String> saveDisEmrReq(@RequestBody DischargedEmrModifyApply param) {
  112. return server.saveDisEmrReq(param);
  113. }
  114. @GetMapping("/deleteDisEmrDis")
  115. public ResultVo<String> deleteDisEmrDis(@RequestParam("patNo") String patNo) {
  116. return server.deleteDisEmrDis(patNo);
  117. }
  118. @GetMapping("/adoptEmrDisReq")
  119. public ResultVo<String> adoptEmrDisReq(@RequestParam("patNo") String patNo) {
  120. return server.adoptEmrDisReq(patNo);
  121. }
  122. @GetMapping("/refuseEmrDisReq")
  123. public ResultVo<String> refuseEmrDisReq(@RequestParam("patNo") String patNo,
  124. @RequestParam("reviewNotes") String reviewNotes) {
  125. return server.refuseEmrDisReq(patNo, reviewNotes);
  126. }
  127. @GetMapping("/isDisReqEdit")
  128. public ResultVo<Boolean> isDisReqEdit(String patNo) {
  129. return server.isDisReqEdit(patNo);
  130. }
  131. @GetMapping("/getHistory")
  132. public ResultVo<Object> getHistory(@RequestParam("documentId") String documentId) {
  133. return server.getHistory(documentId);
  134. }
  135. @GetMapping("/getEmrTips")
  136. public ResultVo<List<MedicalHistoryPrompts>> getEmrTips() {
  137. return server.getEmrTips();
  138. }
  139. @PostMapping("/addEmrTips")
  140. public ResultVo<String> addEmrTips(@RequestBody MedicalHistoryPrompts param) {
  141. return server.addEmrTips(param);
  142. }
  143. @PostMapping("/updateEmrTips")
  144. public ResultVo<String> updateEmrTips(@RequestBody MedicalHistoryPrompts param) {
  145. return server.updateEmrTips(param);
  146. }
  147. @GetMapping("/deleteEmrTips")
  148. public ResultVo<String> deleteEmrTips(@RequestParam("id") Integer id) {
  149. return server.deleteEmrTips(id);
  150. }
  151. @GetMapping("/getEmrTipsData")
  152. public ResultVo<List<MedicalHistoryPrompts>> getEmrTipsData(@RequestParam("name") String name) {
  153. int typeCode = 1;
  154. if (name.length() > 2) {
  155. typeCode = getTypeCode(name.substring(0, 2).toUpperCase());
  156. if (typeCode == 0) {
  157. typeCode = 1;
  158. } else {
  159. name = name.substring(2);
  160. if (StringUtil.isBlank(name)) {
  161. name = "%";
  162. }
  163. }
  164. }
  165. return server.getEmrTipsData(name, typeCode);
  166. }
  167. private int getTypeCode(String name) {
  168. switch (name) {
  169. case "G ":
  170. case "1 ":
  171. return 1;
  172. case "K ":
  173. case "2 ":
  174. return 2;
  175. case "Q ":
  176. case "3 ":
  177. return 3;
  178. default:
  179. return 0;
  180. }
  181. }
  182. @GetMapping("/getListOfDischargedPatients")
  183. public ResultVo<List<ZyPatientInfo>> getListOfDischargedPatients(@RequestParam("patNo") String patNo) {
  184. return server.getListOfDischargedPatients(patNo);
  185. }
  186. @PostMapping("/getYzTemperature")
  187. public ResultVo<JSONObject> getYzTemperature(@RequestBody YzTemperatureParam param) {
  188. return server.getYzTemperature(param);
  189. }
  190. @GetMapping("/getExamine")
  191. public ResultVo<List<YshYjReq>> getExamine(@RequestParam("patNo") String patNo,
  192. @RequestParam("times") Integer times) {
  193. return server.getExamine(patNo, times);
  194. }
  195. @GetMapping("/whetherItExistsInTheDepartment")
  196. public ResultVo<ZyZkList> whetherItExistsInTheDepartment(@RequestParam("patNo") String patNo,
  197. @RequestParam("times") Integer times) {
  198. return server.whetherItExistsInTheDepartment(patNo, times);
  199. }
  200. @GetMapping("/emrSocketUnlock")
  201. public ResultVo<String> emrSocketUnlock(@RequestParam("sid") String sid,
  202. @RequestParam("documentId") String documentId) {
  203. return server.emrSocketUnlock(sid, documentId);
  204. }
  205. @PostMapping("/electronicMedicalRecordSequencing")
  206. public ResultVo<String> electronicMedicalRecordSequencing(@RequestBody List<EmrPatientData> data) {
  207. return server.electronicMedicalRecordSequencing(data);
  208. }
  209. @GetMapping("/getPastHistory")
  210. public ResultVo<Map<String, List<EmrPatientData>>> getPastHistory(@RequestParam("patNo") String patNo,
  211. @RequestParam("times") Integer times) {
  212. return server.getPastHistory(patNo, times);
  213. }
  214. @GetMapping("/getMzPatientDataByPatNo")
  215. public ResultVo<Map<Integer, List<MzEmrPatientData>>> getMzPatientDataByPatNo(String patNo) {
  216. return server.getMzPatientDataByPatNo(patNo);
  217. }
  218. @GetMapping("/getFluorescenceSpecimenResult")
  219. @PassToken
  220. public ResultVo<List<FluorescenceSpecimenResult>> getFluorescenceSpecimenResult(@RequestParam("patNo") String patNo,
  221. @RequestParam("times") Integer times) {
  222. return server.getFluorescenceSpecimenResult(patNo, times);
  223. }
  224. @GetMapping("/getOpRecordList")
  225. public ResultVo<List<OpRecord>> getOpRecordList(@RequestParam("patNo") String patNo,
  226. @RequestParam("times") Integer times) {
  227. return server.getOpRecordList(patNo, times);
  228. }
  229. @GetMapping("/getEmrToken")
  230. @PassToken
  231. public ResultVo<String> getEmrToken() {
  232. return ResultVoUtil.success(server.getEmrToken());
  233. }
  234. }