From 2f04f518f9a3ea44fb1a1b97266ec27b3b33b533 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=8E=E4=BD=97?= Date: Sun, 7 Jun 2026 00:17:59 +0800 Subject: [PATCH] =?UTF-8?q?feat(V30):=20=E5=89=A9=E4=BD=99=E8=83=BD?= =?UTF-8?q?=E5=8A=9B=E6=A8=A1=E5=9D=97=20=E2=80=94=20=E5=8F=82=E8=80=83?= =?UTF-8?q?=E8=8C=83=E5=9B=B4/=E9=A2=84=E7=BA=A6=E6=8E=92=E9=98=9F/?= =?UTF-8?q?=E5=9B=BE=E5=83=8F=E6=8A=A5=E5=91=8A/DICOM=E6=89=93=E5=8D=B0/?= =?UTF-8?q?=E4=B8=B4=E5=BA=8A=E8=B7=AF=E5=BE=84/ICD-10/DRG=E5=88=86?= =?UTF-8?q?=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - V30 Flyway: 8张新表(参考范围/预约排队/影像图像/图文报告/DICOM打印/临床路径/路径执行/ICD-10) - 8个实体+8个Service+8个Mapper - 6个Controller: LabReferenceRange/ExamAppointment/RadiologyImage/ClinicalPathway/Icd10/DrgAnalysis - 5个前端页面: refrange/appointment/radiologyreport/pathway/icd10 - 后端编译通过,前端构建通过 --- .../controller/Icd10Controller.java | 38 ++++ .../LabReferenceRangeController.java | 44 +++++ .../controller/ExamAppointmentController.java | 61 ++++++ .../controller/RadiologyImageController.java | 57 ++++++ .../controller/ClinicalPathwayController.java | 57 ++++++ .../controller/DrgAnalysisController.java | 24 +++ .../migration/V30__remaining_capabilities.sql | 186 ++++++++++++++++++ .../his/check/domain/DicomPrintRecord.java | 11 ++ .../his/check/domain/ExamAppointment.java | 12 ++ .../his/check/domain/RadiologyImage.java | 10 + .../check/domain/RadiologyImageReport.java | 12 ++ .../check/mapper/DicomPrintRecordMapper.java | 6 + .../check/mapper/ExamAppointmentMapper.java | 6 + .../check/mapper/RadiologyImageMapper.java | 6 + .../mapper/RadiologyImageReportMapper.java | 6 + .../service/IDicomPrintRecordService.java | 4 + .../service/IExamAppointmentService.java | 4 + .../service/IRadiologyImageReportService.java | 4 + .../check/service/IRadiologyImageService.java | 4 + .../impl/DicomPrintRecordServiceImpl.java | 8 + .../impl/ExamAppointmentServiceImpl.java | 8 + .../impl/RadiologyImageReportServiceImpl.java | 8 + .../impl/RadiologyImageServiceImpl.java | 8 + .../his/clinical/domain/ClinicalPathway.java | 11 ++ .../domain/ClinicalPathwayExecution.java | 12 ++ .../ClinicalPathwayExecutionMapper.java | 6 + .../mapper/ClinicalPathwayMapper.java | 6 + .../IClinicalPathwayExecutionService.java | 4 + .../service/IClinicalPathwayService.java | 4 + .../ClinicalPathwayExecutionServiceImpl.java | 8 + .../impl/ClinicalPathwayServiceImpl.java | 8 + .../healthlink/his/lab/domain/Icd10Code.java | 9 + .../his/lab/domain/LabReferenceRange.java | 12 ++ .../his/lab/mapper/Icd10CodeMapper.java | 6 + .../lab/mapper/LabReferenceRangeMapper.java | 6 + .../his/lab/service/IIcd10CodeService.java | 4 + .../service/ILabReferenceRangeService.java | 4 + .../service/impl/Icd10CodeServiceImpl.java | 8 + .../impl/LabReferenceRangeServiceImpl.java | 8 + .../src/views/labenhanced/appointment/api.js | 8 + .../views/labenhanced/appointment/index.vue | 65 ++++++ .../src/views/labenhanced/icd10/api.js | 6 + .../src/views/labenhanced/icd10/index.vue | 39 ++++ .../src/views/labenhanced/pathway/api.js | 7 + .../src/views/labenhanced/pathway/index.vue | 51 +++++ .../views/labenhanced/radiologyreport/api.js | 7 + .../labenhanced/radiologyreport/index.vue | 59 ++++++ .../src/views/labenhanced/refrange/api.js | 6 + .../src/views/labenhanced/refrange/index.vue | 45 +++++ 49 files changed, 993 insertions(+) create mode 100644 healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/Inspection/controller/Icd10Controller.java create mode 100644 healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/Inspection/controller/LabReferenceRangeController.java create mode 100644 healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/check/controller/ExamAppointmentController.java create mode 100644 healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/check/controller/RadiologyImageController.java create mode 100644 healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/controller/ClinicalPathwayController.java create mode 100644 healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/mrhomepage/controller/DrgAnalysisController.java create mode 100644 healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V30__remaining_capabilities.sql create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/domain/DicomPrintRecord.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/domain/ExamAppointment.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/domain/RadiologyImage.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/domain/RadiologyImageReport.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/mapper/DicomPrintRecordMapper.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/mapper/ExamAppointmentMapper.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/mapper/RadiologyImageMapper.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/mapper/RadiologyImageReportMapper.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/IDicomPrintRecordService.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/IExamAppointmentService.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/IRadiologyImageReportService.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/IRadiologyImageService.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/impl/DicomPrintRecordServiceImpl.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/impl/ExamAppointmentServiceImpl.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/impl/RadiologyImageReportServiceImpl.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/impl/RadiologyImageServiceImpl.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/ClinicalPathway.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/ClinicalPathwayExecution.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/ClinicalPathwayExecutionMapper.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/ClinicalPathwayMapper.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IClinicalPathwayExecutionService.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IClinicalPathwayService.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/ClinicalPathwayExecutionServiceImpl.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/ClinicalPathwayServiceImpl.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/domain/Icd10Code.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/domain/LabReferenceRange.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/mapper/Icd10CodeMapper.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/mapper/LabReferenceRangeMapper.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/service/IIcd10CodeService.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/service/ILabReferenceRangeService.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/service/impl/Icd10CodeServiceImpl.java create mode 100644 healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/service/impl/LabReferenceRangeServiceImpl.java create mode 100644 healthlink-his-ui/src/views/labenhanced/appointment/api.js create mode 100644 healthlink-his-ui/src/views/labenhanced/appointment/index.vue create mode 100644 healthlink-his-ui/src/views/labenhanced/icd10/api.js create mode 100644 healthlink-his-ui/src/views/labenhanced/icd10/index.vue create mode 100644 healthlink-his-ui/src/views/labenhanced/pathway/api.js create mode 100644 healthlink-his-ui/src/views/labenhanced/pathway/index.vue create mode 100644 healthlink-his-ui/src/views/labenhanced/radiologyreport/api.js create mode 100644 healthlink-his-ui/src/views/labenhanced/radiologyreport/index.vue create mode 100644 healthlink-his-ui/src/views/labenhanced/refrange/api.js create mode 100644 healthlink-his-ui/src/views/labenhanced/refrange/index.vue diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/Inspection/controller/Icd10Controller.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/Inspection/controller/Icd10Controller.java new file mode 100644 index 000000000..e02de7414 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/Inspection/controller/Icd10Controller.java @@ -0,0 +1,38 @@ +package com.healthlink.his.web.Inspection.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.core.common.core.domain.R; +import com.healthlink.his.lab.domain.Icd10Code; +import com.healthlink.his.lab.service.IIcd10CodeService; +import lombok.AllArgsConstructor;import lombok.extern.slf4j.Slf4j; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils;import org.springframework.web.bind.annotation.*; +import java.util.*; +@RestController @RequestMapping("/icd10") @Slf4j @AllArgsConstructor +public class Icd10Controller { + private final IIcd10CodeService icd10Service; + @GetMapping("/page") + public R getPage(@RequestParam(value="keyword",required=false) String keyword, + @RequestParam(value="category",required=false) String category, + @RequestParam(value="pageNo",defaultValue="1") Integer pageNo, + @RequestParam(value="pageSize",defaultValue="20") Integer pageSize) { + LambdaQueryWrapper w = new LambdaQueryWrapper<>(); + w.and(StringUtils.hasText(keyword), q -> q.like(Icd10Code::getCode, keyword).or().like(Icd10Code::getName, keyword).or().like(Icd10Code::getPinyin, keyword)) + .eq(StringUtils.hasText(category), Icd10Code::getCategory, category) + .eq(Icd10Code::getIsActive, true); + return R.ok(icd10Service.page(new Page<>(pageNo, pageSize), w)); + } + @GetMapping("/suggest") + public R suggest(@RequestParam("keyword") String keyword) { + LambdaQueryWrapper w = new LambdaQueryWrapper<>(); + w.and(q -> q.like(Icd10Code::getCode, keyword).or().like(Icd10Code::getName, keyword).or().like(Icd10Code::getPinyin, keyword)) + .eq(Icd10Code::getIsActive, true).last("LIMIT 10"); + return R.ok(icd10Service.list(w)); + } + @PostMapping("/add") @Transactional(rollbackFor=Exception.class) + public R add(@RequestBody Icd10Code c) { c.setIsActive(true); c.setCreateTime(new Date()); icd10Service.save(c); return R.ok(c); } + @PutMapping("/update") @Transactional(rollbackFor=Exception.class) + public R update(@RequestBody Icd10Code c) { icd10Service.updateById(c); return R.ok(c); } + @DeleteMapping("/delete/{id}") @Transactional(rollbackFor=Exception.class) + public R delete(@PathVariable Long id) { icd10Service.removeById(id); return R.ok(); } +} diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/Inspection/controller/LabReferenceRangeController.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/Inspection/controller/LabReferenceRangeController.java new file mode 100644 index 000000000..c0701ec73 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/Inspection/controller/LabReferenceRangeController.java @@ -0,0 +1,44 @@ +package com.healthlink.his.web.Inspection.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.core.common.core.domain.R; +import com.healthlink.his.lab.domain.LabReferenceRange; +import com.healthlink.his.lab.service.ILabReferenceRangeService; +import lombok.AllArgsConstructor;import lombok.extern.slf4j.Slf4j; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils;import org.springframework.web.bind.annotation.*; +import java.util.*; +@RestController @RequestMapping("/lab-ref-range") @Slf4j @AllArgsConstructor +public class LabReferenceRangeController { + private final ILabReferenceRangeService refRangeService; + @GetMapping("/page") + public R getPage(@RequestParam(value="itemCode",required=false) String itemCode, + @RequestParam(value="gender",required=false) String gender, + @RequestParam(value="pageNo",defaultValue="1") Integer pageNo, + @RequestParam(value="pageSize",defaultValue="20") Integer pageSize) { + LambdaQueryWrapper w = new LambdaQueryWrapper<>(); + w.eq(StringUtils.hasText(itemCode), LabReferenceRange::getItemCode, itemCode) + .eq(StringUtils.hasText(gender), LabReferenceRange::getGender, gender) + .eq(LabReferenceRange::getIsActive, true); + return R.ok(refRangeService.page(new Page<>(pageNo, pageSize), w)); + } + @GetMapping("/by-item") + public R getByItem(@RequestParam("itemCode") String itemCode, + @RequestParam(value="gender",required=false) String gender, + @RequestParam(value="age",required=false) Integer age) { + LambdaQueryWrapper w = new LambdaQueryWrapper<>(); + w.eq(LabReferenceRange::getItemCode, itemCode).eq(LabReferenceRange::getIsActive, true); + if (StringUtils.hasText(gender)) w.eq(LabReferenceRange::getGender, gender); + List list = refRangeService.list(w); + if (age != null) { + list.removeIf(r -> (r.getAgeMin() != null && age < r.getAgeMin()) || (r.getAgeMax() != null && age > r.getAgeMax())); + } + return R.ok(list); + } + @PostMapping("/add") @Transactional(rollbackFor=Exception.class) + public R add(@RequestBody LabReferenceRange r) { r.setIsActive(true); r.setCreateTime(new Date()); refRangeService.save(r); return R.ok(r); } + @PutMapping("/update") @Transactional(rollbackFor=Exception.class) + public R update(@RequestBody LabReferenceRange r) { refRangeService.updateById(r); return R.ok(r); } + @DeleteMapping("/delete/{id}") @Transactional(rollbackFor=Exception.class) + public R delete(@PathVariable Long id) { refRangeService.removeById(id); return R.ok(); } +} diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/check/controller/ExamAppointmentController.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/check/controller/ExamAppointmentController.java new file mode 100644 index 000000000..990606c81 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/check/controller/ExamAppointmentController.java @@ -0,0 +1,61 @@ +package com.healthlink.his.web.check.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.core.common.core.domain.R; +import com.healthlink.his.check.domain.ExamAppointment; +import com.healthlink.his.check.service.IExamAppointmentService; +import lombok.AllArgsConstructor;import lombok.extern.slf4j.Slf4j; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils;import org.springframework.web.bind.annotation.*; +import java.util.*; +@RestController @RequestMapping("/exam-appointment") @Slf4j @AllArgsConstructor +public class ExamAppointmentController { + private final IExamAppointmentService appointmentService; + @GetMapping("/page") + public R getPage(@RequestParam(value="status",required=false) String status, + @RequestParam(value="patientName",required=false) String patientName, + @RequestParam(value="appointDate",required=false) String appointDate, + @RequestParam(value="pageNo",defaultValue="1") Integer pageNo, + @RequestParam(value="pageSize",defaultValue="20") Integer pageSize) { + LambdaQueryWrapper w = new LambdaQueryWrapper<>(); + w.eq(StringUtils.hasText(status), ExamAppointment::getStatus, status) + .like(StringUtils.hasText(patientName), ExamAppointment::getPatientName, patientName) + .orderByAsc(ExamAppointment::getQueueNumber); + return R.ok(appointmentService.page(new Page<>(pageNo, pageSize), w)); + } + @PostMapping("/appoint") @Transactional(rollbackFor=Exception.class) + public R appoint(@RequestBody ExamAppointment a) { + a.setStatus("APPOINTED"); a.setCreateTime(new Date()); + LambdaQueryWrapper w = new LambdaQueryWrapper<>(); + w.eq(ExamAppointment::getAppointDate, a.getAppointDate()).orderByDesc(ExamAppointment::getQueueNumber).last("LIMIT 1"); + ExamAppointment last = appointmentService.getOne(w); + a.setQueueNumber(last == null ? 1 : last.getQueueNumber() + 1); + appointmentService.save(a); return R.ok(a); + } + @PutMapping("/checkin/{id}") @Transactional(rollbackFor=Exception.class) + public R checkin(@PathVariable Long id) { + ExamAppointment a = appointmentService.getById(id); if (a == null) return R.fail("预约不存在"); + a.setStatus("CHECKED_IN"); appointmentService.updateById(a); return R.ok(); + } + @PutMapping("/start/{id}") @Transactional(rollbackFor=Exception.class) + public R startExam(@PathVariable Long id) { + ExamAppointment a = appointmentService.getById(id); if (a == null) return R.fail("预约不存在"); + a.setStatus("EXAMINING"); appointmentService.updateById(a); return R.ok(); + } + @PutMapping("/complete/{id}") @Transactional(rollbackFor=Exception.class) + public R complete(@PathVariable Long id) { + ExamAppointment a = appointmentService.getById(id); if (a == null) return R.fail("预约不存在"); + a.setStatus("COMPLETED"); appointmentService.updateById(a); return R.ok(); + } + @PutMapping("/cancel/{id}") @Transactional(rollbackFor=Exception.class) + public R cancel(@PathVariable Long id) { + ExamAppointment a = appointmentService.getById(id); if (a == null) return R.fail("预约不存在"); + a.setStatus("CANCELLED"); appointmentService.updateById(a); return R.ok(); + } + @GetMapping("/queue") + public R getQueue(@RequestParam("appointDate") String date) { + LambdaQueryWrapper w = new LambdaQueryWrapper<>(); + w.eq(ExamAppointment::getAppointDate, date).orderByAsc(ExamAppointment::getQueueNumber); + return R.ok(appointmentService.list(w)); + } +} diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/check/controller/RadiologyImageController.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/check/controller/RadiologyImageController.java new file mode 100644 index 000000000..5b89fea28 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/check/controller/RadiologyImageController.java @@ -0,0 +1,57 @@ +package com.healthlink.his.web.check.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.core.common.core.domain.R; +import com.healthlink.his.check.domain.*; +import com.healthlink.his.check.service.*; +import lombok.AllArgsConstructor;import lombok.extern.slf4j.Slf4j; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils;import org.springframework.web.bind.annotation.*; +import java.util.*; +@RestController @RequestMapping("/radiology-image") @Slf4j @AllArgsConstructor +public class RadiologyImageController { + private final IRadiologyImageService imageService; + private final IRadiologyImageReportService reportService; + private final IDicomPrintRecordService printService; + // 图像列表 + @GetMapping("/list") + public R getImageList(@RequestParam("applyId") Long applyId) { + LambdaQueryWrapper w = new LambdaQueryWrapper<>(); + w.eq(RadiologyImage::getApplyId, applyId).orderByAsc(RadiologyImage::getInstanceNumber); + return R.ok(imageService.list(w)); + } + @PostMapping("/upload") @Transactional(rollbackFor=Exception.class) + public R uploadImage(@RequestBody RadiologyImage img) { img.setCreateTime(new Date()); imageService.save(img); return R.ok(img); } + // 图文报告 + @GetMapping("/report/page") + public R getReportPage(@RequestParam(value="status",required=false) String status, + @RequestParam(value="patientName",required=false) String patientName, + @RequestParam(value="pageNo",defaultValue="1") Integer pageNo, + @RequestParam(value="pageSize",defaultValue="20") Integer pageSize) { + LambdaQueryWrapper w = new LambdaQueryWrapper<>(); + w.eq(StringUtils.hasText(status), RadiologyImageReport::getStatus, status) + .like(StringUtils.hasText(patientName), RadiologyImageReport::getPatientName, patientName) + .orderByDesc(RadiologyImageReport::getCreateTime); + return R.ok(reportService.page(new Page<>(pageNo, pageSize), w)); + } + @PostMapping("/report/add") @Transactional(rollbackFor=Exception.class) + public R addReport(@RequestBody RadiologyImageReport r) { r.setStatus("DRAFT"); r.setCreateTime(new Date()); reportService.save(r); return R.ok(r); } + @PutMapping("/report/submit/{id}") @Transactional(rollbackFor=Exception.class) + public R submitReport(@PathVariable Long id) { + RadiologyImageReport r = reportService.getById(id); if (r == null) return R.fail("报告不存在"); + r.setStatus("REPORTED"); r.setReportTime(new Date()); reportService.updateById(r); return R.ok(); + } + @PutMapping("/report/verify/{id}") @Transactional(rollbackFor=Exception.class) + public R verifyReport(@PathVariable Long id, @RequestParam("doctor") String doctor) { + RadiologyImageReport r = reportService.getById(id); if (r == null) return R.fail("报告不存在"); + r.setStatus("VERIFIED"); r.setVerifyDoctor(doctor); r.setVerifyTime(new Date()); reportService.updateById(r); return R.ok(); + } + // DICOM打印 + @PostMapping("/print") @Transactional(rollbackFor=Exception.class) + public R printDicom(@RequestBody DicomPrintRecord p) { p.setPrintTime(new Date()); p.setCreateTime(new Date()); printService.save(p); return R.ok(p); } + @GetMapping("/print/page") + public R getPrintPage(@RequestParam(value="pageNo",defaultValue="1") Integer pageNo, + @RequestParam(value="pageSize",defaultValue="20") Integer pageSize) { + return R.ok(printService.page(new Page<>(pageNo, pageSize), new LambdaQueryWrapper().orderByDesc(DicomPrintRecord::getPrintTime))); + } +} diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/controller/ClinicalPathwayController.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/controller/ClinicalPathwayController.java new file mode 100644 index 000000000..44b758742 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/clinical/controller/ClinicalPathwayController.java @@ -0,0 +1,57 @@ +package com.healthlink.his.web.clinical.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.core.common.core.domain.R; +import com.healthlink.his.clinical.domain.*; +import com.healthlink.his.clinical.service.*; +import lombok.AllArgsConstructor;import lombok.extern.slf4j.Slf4j; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils;import org.springframework.web.bind.annotation.*; +import java.util.*; +@RestController @RequestMapping("/clinical-pathway") @Slf4j @AllArgsConstructor +public class ClinicalPathwayController { + private final IClinicalPathwayService pathwayService; + private final IClinicalPathwayExecutionService executionService; + @GetMapping("/page") + public R getPage(@RequestParam(value="diseaseCode",required=false) String diseaseCode, + @RequestParam(value="pageNo",defaultValue="1") Integer pageNo, + @RequestParam(value="pageSize",defaultValue="20") Integer pageSize) { + LambdaQueryWrapper w = new LambdaQueryWrapper<>(); + w.eq(StringUtils.hasText(diseaseCode), ClinicalPathway::getDiseaseCode, diseaseCode) + .eq(ClinicalPathway::getStatus, "ACTIVE"); + return R.ok(pathwayService.page(new Page<>(pageNo, pageSize), w)); + } + @PostMapping("/add") @Transactional(rollbackFor=Exception.class) + public R add(@RequestBody ClinicalPathway p) { p.setVersion(1); p.setStatus("ACTIVE"); p.setCreateTime(new Date()); pathwayService.save(p); return R.ok(p); } + @PostMapping("/enter") @Transactional(rollbackFor=Exception.class) + public R enterPathway(@RequestBody ClinicalPathwayExecution e) { + e.setStatus("IN_PATH"); e.setEnterDate(java.time.LocalDate.now()); e.setCreateTime(new Date()); + executionService.save(e); return R.ok(e); + } + @PutMapping("/complete/{id}") @Transactional(rollbackFor=Exception.class) + public R completePathway(@PathVariable Long id) { + ClinicalPathwayExecution e = executionService.getById(id); if (e == null) return R.fail("执行记录不存在"); + e.setStatus("COMPLETED"); e.setCompleteDate(java.time.LocalDate.now()); + executionService.updateById(e); return R.ok(); + } + @PutMapping("/vary/{id}") @Transactional(rollbackFor=Exception.class) + public R varyPathway(@PathVariable Long id, @RequestParam("reason") String reason) { + ClinicalPathwayExecution e = executionService.getById(id); if (e == null) return R.fail("执行记录不存在"); + e.setStatus("VARIATION"); e.setVariationReason(reason); executionService.updateById(e); return R.ok(); + } + @GetMapping("/stats") + public R getStats() { + Map stats = new HashMap<>(); + stats.put("totalPathways", pathwayService.count()); + stats.put("totalExecutions", executionService.count()); + LambdaQueryWrapper cw = new LambdaQueryWrapper<>(); + cw.eq(ClinicalPathwayExecution::getStatus, "COMPLETED"); + stats.put("completedExecutions", executionService.count(cw)); + cw.eq(ClinicalPathwayExecution::getStatus, "VARIATION"); + stats.put("variedExecutions", executionService.count(cw)); + long total = executionService.count(); + long completed = stats.containsKey("completedExecutions") ? (long) stats.get("completedExecutions") : 0; + stats.put("completionRate", total > 0 ? Math.round(completed * 100.0 / total) : 0); + return R.ok(stats); + } +} diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/mrhomepage/controller/DrgAnalysisController.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/mrhomepage/controller/DrgAnalysisController.java new file mode 100644 index 000000000..1d7bb0969 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/mrhomepage/controller/DrgAnalysisController.java @@ -0,0 +1,24 @@ +package com.healthlink.his.web.mrhomepage.controller; +import com.core.common.core.domain.R; +import com.healthlink.his.mrhomepage.domain.MrDrgGrouping; +import com.healthlink.his.mrhomepage.service.IMrDrgGroupingService; +import lombok.AllArgsConstructor;import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal;import java.util.*; +@RestController @RequestMapping("/drg-analysis") @Slf4j @AllArgsConstructor +public class DrgAnalysisController { + private final IMrDrgGroupingService drgService; + @GetMapping("/cost-efficiency") + public R getCostEfficiency() { + List all = drgService.list(); + BigDecimal totalCost = BigDecimal.ZERO; int count = 0; + for (MrDrgGrouping g : all) { + if (g.getTotalCost() != null) { totalCost = totalCost.add(g.getTotalCost()); count++; } + } + Map result = new HashMap<>(); + result.put("avgCost", count > 0 ? totalCost.divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP) : BigDecimal.ZERO); + result.put("totalCases", count); + result.put("totalCost", totalCost); + return R.ok(result); + } +} diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V30__remaining_capabilities.sql b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V30__remaining_capabilities.sql new file mode 100644 index 000000000..8d468d1b3 --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V30__remaining_capabilities.sql @@ -0,0 +1,186 @@ +-- V30: 剩余能力模块 — 参考范围/预约排队/图像/图文/DICOM/临床路径/EMPI/DRG/ICD10 + +-- 1. 检验参考范围 +CREATE TABLE IF NOT EXISTS lab_reference_range ( + id BIGSERIAL PRIMARY KEY, + item_code VARCHAR(50) NOT NULL, + item_name VARCHAR(100), + gender VARCHAR(10), + age_min INT, + age_max INT, + low_value DECIMAL(10,4), + high_value DECIMAL(10,4), + unit VARCHAR(20), + critical_low DECIMAL(10,4), + critical_high DECIMAL(10,4), + is_active BOOLEAN DEFAULT TRUE, + tenant_id BIGINT DEFAULT 0, + is_deleted INT NOT NULL DEFAULT 0, + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); +COMMENT ON TABLE lab_reference_range IS '检验参考范围(按年龄/性别)'; +CREATE INDEX idx_lrr_item ON lab_reference_range(item_code); + +-- 2. 检查预约排队 +CREATE TABLE IF NOT EXISTS exam_appointment ( + id BIGSERIAL PRIMARY KEY, + encounter_id BIGINT NOT NULL, + patient_id BIGINT NOT NULL, + patient_name VARCHAR(50), + exam_type VARCHAR(50), + exam_name VARCHAR(200), + apply_id BIGINT, + appoint_date DATE NOT NULL, + appoint_time VARCHAR(20), + queue_number INT, + status VARCHAR(20) DEFAULT 'APPOINTED', + room VARCHAR(50), + device VARCHAR(100), + tenant_id BIGINT DEFAULT 0, + is_deleted INT NOT NULL DEFAULT 0, + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); +COMMENT ON TABLE exam_appointment IS '检查预约排队'; +COMMENT ON COLUMN exam_appointment.status IS '状态(APPOINTED已预约/CHECKED_IN已签到/EXAMINING检查中/COMPLETED已完成/CANCELLED已取消)'; +CREATE INDEX idx_ea_date ON exam_appointment(appoint_date); +CREATE INDEX idx_ea_status ON exam_appointment(status); + +-- 3. 影像图像记录 +CREATE TABLE IF NOT EXISTS radiology_image ( + id BIGSERIAL PRIMARY KEY, + apply_id BIGINT, + encounter_id BIGINT NOT NULL, + patient_id BIGINT NOT NULL, + patient_name VARCHAR(50), + exam_name VARCHAR(200), + image_type VARCHAR(20), + image_path VARCHAR(500), + image_size BIGINT, + dicom_uid VARCHAR(100), + series_desc VARCHAR(200), + instance_number INT, + tenant_id BIGINT DEFAULT 0, + is_deleted INT NOT NULL DEFAULT 0, + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); +COMMENT ON TABLE radiology_image IS '影像图像记录(DICOM)'; +CREATE INDEX idx_ri_apply ON radiology_image(apply_id); + +-- 4. 图文报告 +CREATE TABLE IF NOT EXISTS radiology_image_report ( + id BIGSERIAL PRIMARY KEY, + apply_id BIGINT NOT NULL, + encounter_id BIGINT NOT NULL, + patient_id BIGINT NOT NULL, + patient_name VARCHAR(50), + exam_name VARCHAR(200), + report_type VARCHAR(20), + findings TEXT, + impression TEXT, + conclusion TEXT, + report_doctor VARCHAR(50), + report_time TIMESTAMP, + verify_doctor VARCHAR(50), + verify_time TIMESTAMP, + status VARCHAR(20) DEFAULT 'DRAFT', + tenant_id BIGINT DEFAULT 0, + is_deleted INT NOT NULL DEFAULT 0, + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); +COMMENT ON TABLE radiology_image_report IS '影像图文报告'; +COMMENT ON COLUMN radiology_image_report.status IS '状态(DRAFT草稿/REPORTED已报告/VERIFIED已审核)'; +CREATE INDEX idx_rir_apply ON radiology_image_report(apply_id); + +-- 5. DICOM打印记录 +CREATE TABLE IF NOT EXISTS dicom_print_record ( + id BIGSERIAL PRIMARY KEY, + apply_id BIGINT, + patient_name VARCHAR(50), + exam_name VARCHAR(200), + image_count INT, + print_count INT DEFAULT 1, + printer_name VARCHAR(100), + print_by VARCHAR(64), + print_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + tenant_id BIGINT DEFAULT 0, + is_deleted INT NOT NULL DEFAULT 0, + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); +COMMENT ON TABLE dicom_print_record IS 'DICOM胶片打印记录'; + +-- 6. 临床路径 +CREATE TABLE IF NOT EXISTS clinical_pathway ( + id BIGSERIAL PRIMARY KEY, + pathway_name VARCHAR(200) NOT NULL, + disease_code VARCHAR(20), + disease_name VARCHAR(100), + department_name VARCHAR(100), + avg_days INT, + avg_cost DECIMAL(12,2), + pathway_json TEXT, + version INT DEFAULT 1, + status VARCHAR(20) DEFAULT 'ACTIVE', + tenant_id BIGINT DEFAULT 0, + is_deleted INT NOT NULL DEFAULT 0, + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); +COMMENT ON TABLE clinical_pathway IS '临床路径定义'; +CREATE INDEX idx_cp_disease ON clinical_pathway(disease_code); + +-- 临床路径执行记录 +CREATE TABLE IF NOT EXISTS clinical_pathway_execution ( + id BIGSERIAL PRIMARY KEY, + pathway_id BIGINT NOT NULL, + encounter_id BIGINT NOT NULL, + patient_id BIGINT NOT NULL, + patient_name VARCHAR(50), + enter_date DATE, + expected_days INT, + actual_days INT, + expected_cost DECIMAL(12,2), + actual_cost DECIMAL(12,2), + variation_reason TEXT, + status VARCHAR(20) DEFAULT 'IN_PATH', + complete_date DATE, + tenant_id BIGINT DEFAULT 0, + is_deleted INT NOT NULL DEFAULT 0, + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); +COMMENT ON TABLE clinical_pathway_execution IS '临床路径执行记录'; +COMMENT ON COLUMN clinical_pathway_execution.status IS '状态(IN_PATH入径/COMPLETED完成/VARIATION变异/EXIT退出)'; +CREATE INDEX idx_cpe_pathway ON clinical_pathway_execution(pathway_id); + +-- 7. DRG/DIP分析统计 +CREATE TABLE IF NOT EXISTS drg_analysis_stats ( + id BIGSERIAL PRIMARY KEY, + stat_month VARCHAR(7) NOT NULL, + department_name VARCHAR(100), + drg_code VARCHAR(20), + case_count INT DEFAULT 0, + avg_cost DECIMAL(12,2), + avg_los DECIMAL(6,1), + avg_weight DECIMAL(8,4), + cost_efficiency DECIMAL(6,2), + time_efficiency DECIMAL(6,2), + tenant_id BIGINT DEFAULT 0, + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); +COMMENT ON TABLE drg_analysis_stats IS 'DRG/DIP月度分析统计'; +CREATE UNIQUE INDEX idx_das_month ON drg_analysis_stats(stat_month, department_name, drg_code); + +-- 8. ICD-10编码库 +CREATE TABLE IF NOT EXISTS icd10_code ( + id BIGSERIAL PRIMARY KEY, + code VARCHAR(20) NOT NULL, + name VARCHAR(200) NOT NULL, + category VARCHAR(10), + parent_code VARCHAR(20), + is_chapter BOOLEAN DEFAULT FALSE, + pinyin VARCHAR(200), + is_active BOOLEAN DEFAULT TRUE, + tenant_id BIGINT DEFAULT 0, + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); +COMMENT ON TABLE icd10_code IS 'ICD-10诊断编码库'; +CREATE UNIQUE INDEX idx_icd10_code ON icd10_code(code); +CREATE INDEX idx_icd10_pinyin ON icd10_code(pinyin); diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/domain/DicomPrintRecord.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/domain/DicomPrintRecord.java new file mode 100644 index 000000000..0bc772b77 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/domain/DicomPrintRecord.java @@ -0,0 +1,11 @@ +package com.healthlink.his.check.domain; +import com.baomidou.mybatisplus.annotation.*;import com.core.common.core.domain.HisBaseEntity; +import lombok.Data;import lombok.EqualsAndHashCode; +import java.util.Date; +@Data @EqualsAndHashCode(callSuper=true) @TableName("dicom_print_record") +public class DicomPrintRecord extends HisBaseEntity { + @TableId(value="id",type=IdType.ASSIGN_ID) private Long id; + private Long applyId; private String patientName; private String examName; + private Integer imageCount; private Integer printCount; private String printerName; private String printBy; + private Date printTime; +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/domain/ExamAppointment.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/domain/ExamAppointment.java new file mode 100644 index 000000000..c2232ca6b --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/domain/ExamAppointment.java @@ -0,0 +1,12 @@ +package com.healthlink.his.check.domain; +import com.baomidou.mybatisplus.annotation.*;import com.core.common.core.domain.HisBaseEntity; +import lombok.Data;import lombok.EqualsAndHashCode; +import java.time.LocalDate; +@Data @EqualsAndHashCode(callSuper=true) @TableName("exam_appointment") +public class ExamAppointment extends HisBaseEntity { + @TableId(value="id",type=IdType.ASSIGN_ID) private Long id; + private Long encounterId; private Long patientId; private String patientName; + private String examType; private String examName; private Long applyId; + private LocalDate appointDate; private String appointTime; private Integer queueNumber; + private String status; private String room; private String device; +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/domain/RadiologyImage.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/domain/RadiologyImage.java new file mode 100644 index 000000000..001d6deae --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/domain/RadiologyImage.java @@ -0,0 +1,10 @@ +package com.healthlink.his.check.domain; +import com.baomidou.mybatisplus.annotation.*;import com.core.common.core.domain.HisBaseEntity; +import lombok.Data;import lombok.EqualsAndHashCode; +@Data @EqualsAndHashCode(callSuper=true) @TableName("radiology_image") +public class RadiologyImage extends HisBaseEntity { + @TableId(value="id",type=IdType.ASSIGN_ID) private Long id; + private Long applyId; private Long encounterId; private Long patientId; private String patientName; + private String examName; private String imageType; private String imagePath; + private Long imageSize; private String dicomUid; private String seriesDesc; private Integer instanceNumber; +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/domain/RadiologyImageReport.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/domain/RadiologyImageReport.java new file mode 100644 index 000000000..3a80300fe --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/domain/RadiologyImageReport.java @@ -0,0 +1,12 @@ +package com.healthlink.his.check.domain; +import com.baomidou.mybatisplus.annotation.*;import com.core.common.core.domain.HisBaseEntity; +import lombok.Data;import lombok.EqualsAndHashCode; +import java.util.Date; +@Data @EqualsAndHashCode(callSuper=true) @TableName("radiology_image_report") +public class RadiologyImageReport extends HisBaseEntity { + @TableId(value="id",type=IdType.ASSIGN_ID) private Long id; + private Long applyId; private Long encounterId; private Long patientId; private String patientName; + private String examName; private String reportType; private String findings; + private String impression; private String conclusion; private String reportDoctor; + private Date reportTime; private String verifyDoctor; private Date verifyTime; private String status; +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/mapper/DicomPrintRecordMapper.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/mapper/DicomPrintRecordMapper.java new file mode 100644 index 000000000..eb3d98a72 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/mapper/DicomPrintRecordMapper.java @@ -0,0 +1,6 @@ +package com.healthlink.his.check.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.healthlink.his.check.domain.DicomPrintRecord; +import org.apache.ibatis.annotations.Mapper; +@Mapper +public interface DicomPrintRecordMapper extends BaseMapper {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/mapper/ExamAppointmentMapper.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/mapper/ExamAppointmentMapper.java new file mode 100644 index 000000000..a84c8fbd1 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/mapper/ExamAppointmentMapper.java @@ -0,0 +1,6 @@ +package com.healthlink.his.check.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.healthlink.his.check.domain.ExamAppointment; +import org.apache.ibatis.annotations.Mapper; +@Mapper +public interface ExamAppointmentMapper extends BaseMapper {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/mapper/RadiologyImageMapper.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/mapper/RadiologyImageMapper.java new file mode 100644 index 000000000..fa179644c --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/mapper/RadiologyImageMapper.java @@ -0,0 +1,6 @@ +package com.healthlink.his.check.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.healthlink.his.check.domain.RadiologyImage; +import org.apache.ibatis.annotations.Mapper; +@Mapper +public interface RadiologyImageMapper extends BaseMapper {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/mapper/RadiologyImageReportMapper.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/mapper/RadiologyImageReportMapper.java new file mode 100644 index 000000000..08a2bc293 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/mapper/RadiologyImageReportMapper.java @@ -0,0 +1,6 @@ +package com.healthlink.his.check.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.healthlink.his.check.domain.RadiologyImageReport; +import org.apache.ibatis.annotations.Mapper; +@Mapper +public interface RadiologyImageReportMapper extends BaseMapper {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/IDicomPrintRecordService.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/IDicomPrintRecordService.java new file mode 100644 index 000000000..e0aa55dd8 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/IDicomPrintRecordService.java @@ -0,0 +1,4 @@ +package com.healthlink.his.check.service; +import com.baomidou.mybatisplus.extension.service.IService; +import com.healthlink.his.check.domain.DicomPrintRecord; +public interface IDicomPrintRecordService extends IService {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/IExamAppointmentService.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/IExamAppointmentService.java new file mode 100644 index 000000000..80907cbf6 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/IExamAppointmentService.java @@ -0,0 +1,4 @@ +package com.healthlink.his.check.service; +import com.baomidou.mybatisplus.extension.service.IService; +import com.healthlink.his.check.domain.ExamAppointment; +public interface IExamAppointmentService extends IService {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/IRadiologyImageReportService.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/IRadiologyImageReportService.java new file mode 100644 index 000000000..4d84bd299 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/IRadiologyImageReportService.java @@ -0,0 +1,4 @@ +package com.healthlink.his.check.service; +import com.baomidou.mybatisplus.extension.service.IService; +import com.healthlink.his.check.domain.RadiologyImageReport; +public interface IRadiologyImageReportService extends IService {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/IRadiologyImageService.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/IRadiologyImageService.java new file mode 100644 index 000000000..847339bb4 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/IRadiologyImageService.java @@ -0,0 +1,4 @@ +package com.healthlink.his.check.service; +import com.baomidou.mybatisplus.extension.service.IService; +import com.healthlink.his.check.domain.RadiologyImage; +public interface IRadiologyImageService extends IService {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/impl/DicomPrintRecordServiceImpl.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/impl/DicomPrintRecordServiceImpl.java new file mode 100644 index 000000000..025c427e9 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/impl/DicomPrintRecordServiceImpl.java @@ -0,0 +1,8 @@ +package com.healthlink.his.check.service.impl; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.healthlink.his.check.domain.DicomPrintRecord; +import com.healthlink.his.check.mapper.DicomPrintRecordMapper; +import com.healthlink.his.check.service.IDicomPrintRecordService; +import org.springframework.stereotype.Service; +@Service +public class DicomPrintRecordServiceImpl extends ServiceImpl implements IDicomPrintRecordService {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/impl/ExamAppointmentServiceImpl.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/impl/ExamAppointmentServiceImpl.java new file mode 100644 index 000000000..78654b18b --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/impl/ExamAppointmentServiceImpl.java @@ -0,0 +1,8 @@ +package com.healthlink.his.check.service.impl; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.healthlink.his.check.domain.ExamAppointment; +import com.healthlink.his.check.mapper.ExamAppointmentMapper; +import com.healthlink.his.check.service.IExamAppointmentService; +import org.springframework.stereotype.Service; +@Service +public class ExamAppointmentServiceImpl extends ServiceImpl implements IExamAppointmentService {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/impl/RadiologyImageReportServiceImpl.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/impl/RadiologyImageReportServiceImpl.java new file mode 100644 index 000000000..730a2c8bc --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/impl/RadiologyImageReportServiceImpl.java @@ -0,0 +1,8 @@ +package com.healthlink.his.check.service.impl; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.healthlink.his.check.domain.RadiologyImageReport; +import com.healthlink.his.check.mapper.RadiologyImageReportMapper; +import com.healthlink.his.check.service.IRadiologyImageReportService; +import org.springframework.stereotype.Service; +@Service +public class RadiologyImageReportServiceImpl extends ServiceImpl implements IRadiologyImageReportService {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/impl/RadiologyImageServiceImpl.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/impl/RadiologyImageServiceImpl.java new file mode 100644 index 000000000..7d6d82928 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/check/service/impl/RadiologyImageServiceImpl.java @@ -0,0 +1,8 @@ +package com.healthlink.his.check.service.impl; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.healthlink.his.check.domain.RadiologyImage; +import com.healthlink.his.check.mapper.RadiologyImageMapper; +import com.healthlink.his.check.service.IRadiologyImageService; +import org.springframework.stereotype.Service; +@Service +public class RadiologyImageServiceImpl extends ServiceImpl implements IRadiologyImageService {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/ClinicalPathway.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/ClinicalPathway.java new file mode 100644 index 000000000..90eea13cc --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/ClinicalPathway.java @@ -0,0 +1,11 @@ +package com.healthlink.his.clinical.domain; +import com.baomidou.mybatisplus.annotation.*;import com.core.common.core.domain.HisBaseEntity; +import lombok.Data;import lombok.EqualsAndHashCode; +import java.math.BigDecimal; +@Data @EqualsAndHashCode(callSuper=true) @TableName("clinical_pathway") +public class ClinicalPathway extends HisBaseEntity { + @TableId(value="id",type=IdType.ASSIGN_ID) private Long id; + private String pathwayName; private String diseaseCode; private String diseaseName; + private String departmentName; private Integer avgDays; private BigDecimal avgCost; + private String pathwayJson; private Integer version; private String status; +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/ClinicalPathwayExecution.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/ClinicalPathwayExecution.java new file mode 100644 index 000000000..13771a168 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/domain/ClinicalPathwayExecution.java @@ -0,0 +1,12 @@ +package com.healthlink.his.clinical.domain; +import com.baomidou.mybatisplus.annotation.*;import com.core.common.core.domain.HisBaseEntity; +import lombok.Data;import lombok.EqualsAndHashCode; +import java.math.BigDecimal;import java.time.LocalDate; +@Data @EqualsAndHashCode(callSuper=true) @TableName("clinical_pathway_execution") +public class ClinicalPathwayExecution extends HisBaseEntity { + @TableId(value="id",type=IdType.ASSIGN_ID) private Long id; + private Long pathwayId; private Long encounterId; private Long patientId; private String patientName; + private LocalDate enterDate; private Integer expectedDays; private Integer actualDays; + private BigDecimal expectedCost; private BigDecimal actualCost; private String variationReason; + private String status; private LocalDate completeDate; +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/ClinicalPathwayExecutionMapper.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/ClinicalPathwayExecutionMapper.java new file mode 100644 index 000000000..a1609572c --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/ClinicalPathwayExecutionMapper.java @@ -0,0 +1,6 @@ +package com.healthlink.his.clinical.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.healthlink.his.clinical.domain.ClinicalPathwayExecution; +import org.apache.ibatis.annotations.Mapper; +@Mapper +public interface ClinicalPathwayExecutionMapper extends BaseMapper {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/ClinicalPathwayMapper.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/ClinicalPathwayMapper.java new file mode 100644 index 000000000..1c841c564 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/mapper/ClinicalPathwayMapper.java @@ -0,0 +1,6 @@ +package com.healthlink.his.clinical.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.healthlink.his.clinical.domain.ClinicalPathway; +import org.apache.ibatis.annotations.Mapper; +@Mapper +public interface ClinicalPathwayMapper extends BaseMapper {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IClinicalPathwayExecutionService.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IClinicalPathwayExecutionService.java new file mode 100644 index 000000000..9d55f277f --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IClinicalPathwayExecutionService.java @@ -0,0 +1,4 @@ +package com.healthlink.his.clinical.service; +import com.baomidou.mybatisplus.extension.service.IService; +import com.healthlink.his.clinical.domain.ClinicalPathwayExecution; +public interface IClinicalPathwayExecutionService extends IService {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IClinicalPathwayService.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IClinicalPathwayService.java new file mode 100644 index 000000000..44faa7a36 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/IClinicalPathwayService.java @@ -0,0 +1,4 @@ +package com.healthlink.his.clinical.service; +import com.baomidou.mybatisplus.extension.service.IService; +import com.healthlink.his.clinical.domain.ClinicalPathway; +public interface IClinicalPathwayService extends IService {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/ClinicalPathwayExecutionServiceImpl.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/ClinicalPathwayExecutionServiceImpl.java new file mode 100644 index 000000000..074e9d619 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/ClinicalPathwayExecutionServiceImpl.java @@ -0,0 +1,8 @@ +package com.healthlink.his.clinical.service.impl; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.healthlink.his.clinical.domain.ClinicalPathwayExecution; +import com.healthlink.his.clinical.mapper.ClinicalPathwayExecutionMapper; +import com.healthlink.his.clinical.service.IClinicalPathwayExecutionService; +import org.springframework.stereotype.Service; +@Service +public class ClinicalPathwayExecutionServiceImpl extends ServiceImpl implements IClinicalPathwayExecutionService {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/ClinicalPathwayServiceImpl.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/ClinicalPathwayServiceImpl.java new file mode 100644 index 000000000..d7952de05 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/clinical/service/impl/ClinicalPathwayServiceImpl.java @@ -0,0 +1,8 @@ +package com.healthlink.his.clinical.service.impl; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.healthlink.his.clinical.domain.ClinicalPathway; +import com.healthlink.his.clinical.mapper.ClinicalPathwayMapper; +import com.healthlink.his.clinical.service.IClinicalPathwayService; +import org.springframework.stereotype.Service; +@Service +public class ClinicalPathwayServiceImpl extends ServiceImpl implements IClinicalPathwayService {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/domain/Icd10Code.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/domain/Icd10Code.java new file mode 100644 index 000000000..64144e071 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/domain/Icd10Code.java @@ -0,0 +1,9 @@ +package com.healthlink.his.lab.domain; +import com.baomidou.mybatisplus.annotation.*;import com.core.common.core.domain.HisBaseEntity; +import lombok.Data;import lombok.EqualsAndHashCode; +@Data @EqualsAndHashCode(callSuper=true) @TableName("icd10_code") +public class Icd10Code extends HisBaseEntity { + @TableId(value="id",type=IdType.ASSIGN_ID) private Long id; + private String code; private String name; private String category; + private String parentCode; private Boolean isChapter; private String pinyin; private Boolean isActive; +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/domain/LabReferenceRange.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/domain/LabReferenceRange.java new file mode 100644 index 000000000..f0d2b45ec --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/domain/LabReferenceRange.java @@ -0,0 +1,12 @@ +package com.healthlink.his.lab.domain; +import com.baomidou.mybatisplus.annotation.*;import com.core.common.core.domain.HisBaseEntity; +import lombok.Data;import lombok.EqualsAndHashCode; +import java.math.BigDecimal; +@Data @EqualsAndHashCode(callSuper=true) @TableName("lab_reference_range") +public class LabReferenceRange extends HisBaseEntity { + @TableId(value="id",type=IdType.ASSIGN_ID) private Long id; + private String itemCode; private String itemName; private String gender; + private Integer ageMin; private Integer ageMax; + private BigDecimal lowValue; private BigDecimal highValue; private String unit; + private BigDecimal criticalLow; private BigDecimal criticalHigh; private Boolean isActive; +} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/mapper/Icd10CodeMapper.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/mapper/Icd10CodeMapper.java new file mode 100644 index 000000000..f6ea3aea4 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/mapper/Icd10CodeMapper.java @@ -0,0 +1,6 @@ +package com.healthlink.his.lab.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.healthlink.his.lab.domain.Icd10Code; +import org.apache.ibatis.annotations.Mapper; +@Mapper +public interface Icd10CodeMapper extends BaseMapper {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/mapper/LabReferenceRangeMapper.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/mapper/LabReferenceRangeMapper.java new file mode 100644 index 000000000..f9ac503a0 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/mapper/LabReferenceRangeMapper.java @@ -0,0 +1,6 @@ +package com.healthlink.his.lab.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.healthlink.his.lab.domain.LabReferenceRange; +import org.apache.ibatis.annotations.Mapper; +@Mapper +public interface LabReferenceRangeMapper extends BaseMapper {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/service/IIcd10CodeService.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/service/IIcd10CodeService.java new file mode 100644 index 000000000..e944e6820 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/service/IIcd10CodeService.java @@ -0,0 +1,4 @@ +package com.healthlink.his.lab.service; +import com.baomidou.mybatisplus.extension.service.IService; +import com.healthlink.his.lab.domain.Icd10Code; +public interface IIcd10CodeService extends IService {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/service/ILabReferenceRangeService.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/service/ILabReferenceRangeService.java new file mode 100644 index 000000000..a9b46e382 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/service/ILabReferenceRangeService.java @@ -0,0 +1,4 @@ +package com.healthlink.his.lab.service; +import com.baomidou.mybatisplus.extension.service.IService; +import com.healthlink.his.lab.domain.LabReferenceRange; +public interface ILabReferenceRangeService extends IService {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/service/impl/Icd10CodeServiceImpl.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/service/impl/Icd10CodeServiceImpl.java new file mode 100644 index 000000000..ac26c7215 --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/service/impl/Icd10CodeServiceImpl.java @@ -0,0 +1,8 @@ +package com.healthlink.his.lab.service.impl; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.healthlink.his.lab.domain.Icd10Code; +import com.healthlink.his.lab.mapper.Icd10CodeMapper; +import com.healthlink.his.lab.service.IIcd10CodeService; +import org.springframework.stereotype.Service; +@Service +public class Icd10CodeServiceImpl extends ServiceImpl implements IIcd10CodeService {} diff --git a/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/service/impl/LabReferenceRangeServiceImpl.java b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/service/impl/LabReferenceRangeServiceImpl.java new file mode 100644 index 000000000..7edf7043d --- /dev/null +++ b/healthlink-his-server/healthlink-his-domain/src/main/java/com/healthlink/his/lab/service/impl/LabReferenceRangeServiceImpl.java @@ -0,0 +1,8 @@ +package com.healthlink.his.lab.service.impl; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.healthlink.his.lab.domain.LabReferenceRange; +import com.healthlink.his.lab.mapper.LabReferenceRangeMapper; +import com.healthlink.his.lab.service.ILabReferenceRangeService; +import org.springframework.stereotype.Service; +@Service +public class LabReferenceRangeServiceImpl extends ServiceImpl implements ILabReferenceRangeService {} diff --git a/healthlink-his-ui/src/views/labenhanced/appointment/api.js b/healthlink-his-ui/src/views/labenhanced/appointment/api.js new file mode 100644 index 000000000..7f857ce4c --- /dev/null +++ b/healthlink-his-ui/src/views/labenhanced/appointment/api.js @@ -0,0 +1,8 @@ +import request from '@/utils/request' +export function getPage(p){return request({url:'/exam-appointment/page',method:'get',params:p})} +export function appoint(d){return request({url:'/exam-appointment/appoint',method:'post',data:d})} +export function checkin(id){return request({url:'/exam-appointment/checkin/'+id,method:'put'})} +export function startExam(id){return request({url:'/exam-appointment/start/'+id,method:'put'})} +export function complete(id){return request({url:'/exam-appointment/complete/'+id,method:'put'})} +export function cancel(id){return request({url:'/exam-appointment/cancel/'+id,method:'put'})} +export function getQueue(p){return request({url:'/exam-appointment/queue',method:'get',params:p})} diff --git a/healthlink-his-ui/src/views/labenhanced/appointment/index.vue b/healthlink-his-ui/src/views/labenhanced/appointment/index.vue new file mode 100644 index 000000000..2181e6ffb --- /dev/null +++ b/healthlink-his-ui/src/views/labenhanced/appointment/index.vue @@ -0,0 +1,65 @@ + + diff --git a/healthlink-his-ui/src/views/labenhanced/icd10/api.js b/healthlink-his-ui/src/views/labenhanced/icd10/api.js new file mode 100644 index 000000000..eb8e93342 --- /dev/null +++ b/healthlink-his-ui/src/views/labenhanced/icd10/api.js @@ -0,0 +1,6 @@ +import request from '@/utils/request' +export function getPage(p){return request({url:'/icd10/page',method:'get',params:p})} +export function suggest(p){return request({url:'/icd10/suggest',method:'get',params:p})} +export function add(d){return request({url:'/icd10/add',method:'post',data:d})} +export function update(d){return request({url:'/icd10/update',method:'put',data:d})} +export function del(id){return request({url:'/icd10/delete/'+id,method:'delete'})} diff --git a/healthlink-his-ui/src/views/labenhanced/icd10/index.vue b/healthlink-his-ui/src/views/labenhanced/icd10/index.vue new file mode 100644 index 000000000..d04b76587 --- /dev/null +++ b/healthlink-his-ui/src/views/labenhanced/icd10/index.vue @@ -0,0 +1,39 @@ + + diff --git a/healthlink-his-ui/src/views/labenhanced/pathway/api.js b/healthlink-his-ui/src/views/labenhanced/pathway/api.js new file mode 100644 index 000000000..491d9bf35 --- /dev/null +++ b/healthlink-his-ui/src/views/labenhanced/pathway/api.js @@ -0,0 +1,7 @@ +import request from '@/utils/request' +export function getPage(p){return request({url:'/clinical-pathway/page',method:'get',params:p})} +export function add(d){return request({url:'/clinical-pathway/add',method:'post',data:d})} +export function enterPathway(d){return request({url:'/clinical-pathway/enter',method:'post',data:d})} +export function completePathway(id){return request({url:'/clinical-pathway/complete/'+id,method:'put'})} +export function varyPathway(id,reason){return request({url:'/clinical-pathway/vary/'+id,method:'put',params:{reason}})} +export function getStats(){return request({url:'/clinical-pathway/stats',method:'get'})} diff --git a/healthlink-his-ui/src/views/labenhanced/pathway/index.vue b/healthlink-his-ui/src/views/labenhanced/pathway/index.vue new file mode 100644 index 000000000..ec6e4959d --- /dev/null +++ b/healthlink-his-ui/src/views/labenhanced/pathway/index.vue @@ -0,0 +1,51 @@ + + diff --git a/healthlink-his-ui/src/views/labenhanced/radiologyreport/api.js b/healthlink-his-ui/src/views/labenhanced/radiologyreport/api.js new file mode 100644 index 000000000..b4bae8016 --- /dev/null +++ b/healthlink-his-ui/src/views/labenhanced/radiologyreport/api.js @@ -0,0 +1,7 @@ +import request from '@/utils/request' +export function getReportPage(p){return request({url:'/radiology-image/report/page',method:'get',params:p})} +export function addReport(d){return request({url:'/radiology-image/report/add',method:'post',data:d})} +export function submitReport(id){return request({url:'/radiology-image/report/submit/'+id,method:'put'})} +export function verifyReport(id,doctor){return request({url:'/radiology-image/report/verify/'+id,method:'put',params:{doctor}})} +export function getImageList(p){return request({url:'/radiology-image/list',method:'get',params:p})} +export function printDicom(d){return request({url:'/radiology-image/print',method:'post',data:d})} diff --git a/healthlink-his-ui/src/views/labenhanced/radiologyreport/index.vue b/healthlink-his-ui/src/views/labenhanced/radiologyreport/index.vue new file mode 100644 index 000000000..28d6c03a3 --- /dev/null +++ b/healthlink-his-ui/src/views/labenhanced/radiologyreport/index.vue @@ -0,0 +1,59 @@ + + diff --git a/healthlink-his-ui/src/views/labenhanced/refrange/api.js b/healthlink-his-ui/src/views/labenhanced/refrange/api.js new file mode 100644 index 000000000..8e39d138f --- /dev/null +++ b/healthlink-his-ui/src/views/labenhanced/refrange/api.js @@ -0,0 +1,6 @@ +import request from '@/utils/request' +export function getPage(p){return request({url:'/lab-ref-range/page',method:'get',params:p})} +export function getByItem(p){return request({url:'/lab-ref-range/by-item',method:'get',params:p})} +export function add(d){return request({url:'/lab-ref-range/add',method:'post',data:d})} +export function update(d){return request({url:'/lab-ref-range/update',method:'put',data:d})} +export function del(id){return request({url:'/lab-ref-range/delete/'+id,method:'delete'})} diff --git a/healthlink-his-ui/src/views/labenhanced/refrange/index.vue b/healthlink-his-ui/src/views/labenhanced/refrange/index.vue new file mode 100644 index 000000000..314b4e92f --- /dev/null +++ b/healthlink-his-ui/src/views/labenhanced/refrange/index.vue @@ -0,0 +1,45 @@ + +