/// <summary> /// 新增患教 /// </summary> /// <param name="entity">患教实体</param> /// <returns>患教Id</returns> public void Add(AddCourseInput addCourseInput, long patientId, long doctorId, string batchNumber) { var id = _idGenerator.CreateId(); var entity = new PatientEducation { Id = id, BatchNumber = batchNumber, DoctorId = doctorId, PatientId = patientId, CourseTypeId = addCourseInput.CourseTypeId, AddTime = DateTime.Now, PatientEducationDetail = new List <PatientEducationDetail>() }; foreach (var item in addCourseInput.CourseIds) { entity.PatientEducationDetail.Add(new PatientEducationDetail { CourseId = item, PatientEducationId = id, Id = _idGenerator.CreateId(), AddTime = DateTime.Now }); } _context.PatientEducation.Add(entity); }
public async Task <PatientEducation> AddPatientEducation(PatientEducation patientEducation) { try { await _unitOfWork.Repository <PatientEducation>().AddAsync(patientEducation); await _unitOfWork.SaveAsync(); return(patientEducation); } catch (Exception e) { Log.Error(e.Message); throw e; } }
public async Task <PatientEducation> EditPatientEducation(PatientEducation patientEducation) { try { PatientEducation _patientEducation = _unitOfWork.Repository <PatientEducation>().FindById(patientEducation.Id); _patientEducation.CounsellingDate = patientEducation.CounsellingDate; _patientEducation.CounsellingTopicId = patientEducation.CounsellingTopicId; _unitOfWork.Repository <PatientEducation>().Update(patientEducation); await _unitOfWork.SaveAsync(); return(patientEducation); } catch (Exception e) { Log.Error(e.Message); throw e; } }
public async Task <Result <AddPatientEducationCommandResult> > Handle(AddPatientEducationCommand request, CancellationToken cancellationToken) { using (_unitOfWork) { try { PatientEducation patientEducation = new PatientEducation(request.PatientId, request.PatientMasterVisitId, request.CounsellingTopicId, request.CounsellingDate, request.IsCounsellingDone, request.CreatedBy); await _unitOfWork.Repository <PatientEducation>().AddAsync(patientEducation); await _unitOfWork.SaveAsync(); return(Result <AddPatientEducationCommandResult> .Valid(new AddPatientEducationCommandResult() { PatientCounsellingId = patientEducation.Id })); } catch (Exception e) { Log.Error(e.Message); return(Result <AddPatientEducationCommandResult> .Invalid(e.Message)); } } }
public async Task <Library.Result <PatientEducationExaminationResponse> > Handle(PatientEducationExaminationCommand request, CancellationToken cancellationToken) { using (_unitOfWork) { try { PatientEducationExaminationService _service = new PatientEducationExaminationService(_unitOfWork, _commonUnitOfWork); int patientEducationResultId = 0; var breastExamId = await _commonUnitOfWork.Repository <LookupItem>().Get(x => x.Name == "Breast Exam").Select(x => x.Id).FirstOrDefaultAsync(); var examinationTypeId = await _commonUnitOfWork.Repository <LookupItemView>().Get(x => x.MasterName == "GeneralExamination").Select(x => x.MasterId).FirstOrDefaultAsync(); Core.Models.PhysicalExamination breastExam = new Core.Models.PhysicalExamination() { PatientId = request.PatientId, PatientMasterVisitId = request.PatientMasterVisitId, ExamId = breastExamId, ExaminationTypeId = examinationTypeId, FindingId = request.BreastExamDone, CreateDate = DateTime.Now }; int breastExamResult = await _service.AddPatientPhysicalExamination(breastExam); if (request.TreatedSyphilis.HasValue) { var syphillisExamId = await _commonUnitOfWork.Repository <LookupItem>().Get(x => x.Name == "Treated Syphilis").Select(x => x.Id).FirstOrDefaultAsync(); Core.Models.PhysicalExamination syphillisExam = new Core.Models.PhysicalExamination() { PatientId = request.PatientId, PatientMasterVisitId = request.PatientMasterVisitId, ExamId = syphillisExamId, ExaminationTypeId = examinationTypeId, FindingId = request.TreatedSyphilis.Value, CreateDate = DateTime.Now }; int syphillisResultId = await _service.AddPatientPhysicalExamination(syphillisExam); } if (request.TestedForSyphilis.HasValue) { var syphillisExamId = await _commonUnitOfWork.Repository <LookupItem>().Get(x => x.Name == "Treated For Syphilis").Select(x => x.Id).FirstOrDefaultAsync(); Core.Models.PhysicalExamination syphillisExam = new Core.Models.PhysicalExamination() { PatientId = request.PatientId, PatientMasterVisitId = request.PatientMasterVisitId, ExamId = syphillisExamId, ExaminationTypeId = examinationTypeId, FindingId = request.TestedForSyphilis.Value, CreateDate = DateTime.Now }; int syphillisResultId = await _service.AddPatientPhysicalExamination(syphillisExam); } List <PatientEducation> patientCounselling = new List <PatientEducation>(); List <PatientEducation> patientEducationExists = _unitOfWork.Repository <PatientEducation>() .Get(x => x.PatientId == request.PatientId).ToList(); if (request.CounsellingTopics.Count > 0) { foreach (var item in request.CounsellingTopics) { if (item.CounsellingTopicId > 0) { bool itemExists = patientEducationExists.Exists(x => x.CounsellingTopicId == item.CounsellingTopicId && x.CounsellingDate == item.CounsellingDate); if (!itemExists) { PatientEducation data = new PatientEducation { PatientId = request.PatientId, PatientMasterVisitId = request.PatientMasterVisitId, CounsellingTopicId = item.CounsellingTopicId, CounsellingDate = item.CounsellingDate, Description = item.Description, CreateDate = DateTime.Now, CreatedBy = request.CreatedBy }; patientCounselling.Add(data); } } } patientEducationResultId = await _service.AddPatientEducation(patientCounselling); } if (breastExamResult > 0 & patientEducationResultId > 0) { result = 1; } return(Library.Result <PatientEducationExaminationResponse> .Valid(new PatientEducationExaminationResponse() { resultId = 0 })); } catch (Exception e) { Log.Error(e.Message); return(Library.Result <PatientEducationExaminationResponse> .Invalid(e.Message)); } } }