예제 #1
0
        public ReferralSignDetailsEntity GetRefSignDetails(int patientId, int noteId, string NPINumber)
        {
            ReferralSignDetailsEntity refSignDetails = new ReferralSignDetailsEntity();

            if (!string.IsNullOrEmpty(NPINumber))
            {
                int        npinum   = Convert.ToInt32(NPINumber);
                tblAppUser _appuser = _unitOfWork.AppUserRepo.Get(o => o.NPINumber == npinum).FirstOrDefault();
                if (_appuser != null)
                {
                    tblDevice       _devices      = _unitOfWork.DeviceRepo.Get(o => o.PhoneNumber.Equals(_appuser.PhoneNumber)).FirstOrDefault();
                    tblReferrerSign _ReferralSign = _unitOfWork.ReferrerSignRepo.Get(o => o.NPINumber == npinum &&
                                                                                     o.PTrowid == patientId && o.Docrowid == noteId
                                                                                     ).FirstOrDefault();



                    refSignDetails.EmailID = _appuser.EmailId;

                    refSignDetails.PhoneNumber = _appuser.PhoneNumber;
                    //refSignDetails.SignedDate = _ReferralSign.SignedDate ?? default;
                    refSignDetails.NoteType  = _ReferralSign.NoteType;
                    refSignDetails.Sign      = _ReferralSign.Signed ?? false;
                    refSignDetails.Signiture = _devices.SignPath;
                    refSignDetails.PDFPath   = _ReferralSign.PDFName;
                }
            }
            return(refSignDetails);
        }
예제 #2
0
        public bool SendRefEMail(string recipient, int npinum, int patientId, int noteId)
        {
            bool isMessageSent = true;
            //Intialise Parameters
            //   string aa = "appdatafiles\\EasyDoc\\D1\\121-108590_ALINA_YELIZAROV_PPOC_1_11-21-2017_5-19-2019-6-41-26-PM_RefSigned.pdf";
            tblPatients     patientNotes  = _unitOfWork.PatientEntityRepo.Get(o => o.Prowid == patientId).FirstOrDefault();
            tblReferrerSign _ReferralSign = _unitOfWork.ReferrerSignRepo.Get(o => o.NPINumber == npinum &&
                                                                             o.PTrowid == patientId && o.Docrowid == noteId
                                                                             ).FirstOrDefault();
            var smtpEmail    = Convert.ToString(ConfigurationManager.AppSettings["SMTPEmail"]);
            var smtpPassword = Convert.ToString(ConfigurationManager.AppSettings["SMTPPassword"]);

            try
            {
                byte[]      pdfBytes   = CloudeStoreg.ByteFromFile(_ReferralSign.PDFName);
                MailMessage mail       = new MailMessage();
                SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");
                string      filename   = "Sign Notes " + DateTime.Now.ToString("yyyyMMdd_hhss") + ".pdf";
                mail.From = new MailAddress(smtpEmail);
                mail.To.Add(recipient);
                mail.Subject = "Referral Notes PDF for " + patientNotes.LastName + ", " + patientNotes.FirstName;
                mail.Body    = "Sign note Attchment - " + patientNotes.LastName + ", " + patientNotes.FirstName;;
                var memStream = new MemoryStream(pdfBytes);
                memStream.Position = 0;
                var contentType      = new System.Net.Mime.ContentType(System.Net.Mime.MediaTypeNames.Application.Pdf);
                var reportAttachment = new Attachment(memStream, contentType);
                reportAttachment.ContentDisposition.FileName = filename;
                mail.Attachments.Add(reportAttachment);
                SmtpServer.Port        = 587;
                SmtpServer.Credentials = new System.Net.NetworkCredential(smtpEmail, smtpPassword);
                SmtpServer.EnableSsl   = true;

                SmtpServer.Send(mail);
            }

            catch (Exception ex)
            {
                isMessageSent = false;
            }
            return(isMessageSent);
        }
예제 #3
0
        public string SignNotes(int patientId, int noteId, int NPINumber)
        {
            DocManager objDocManager = new DocManager();
            string     NoteType      = string.Empty;
            string     response      = string.Empty;
            bool       signStatus    = false;
            bool       refSignStatus = false;

            try
            {
                tblDocMaster patientNotes = _unitOfWork.DocMasterRepo.Get(o => o.PTrowid == patientId && o.Docrowid == noteId).FirstOrDefault();
                if (patientNotes != null)
                {
                    NoteType   = patientNotes.NoteType;
                    signStatus = patientNotes.Signed;
                }


                if (NPINumber > 0)
                {
                    if (signStatus)
                    {
                        var referrerNotes = _unitOfWork.ReferrerSignRepo.Get(o => o.PTrowid == patientId && o.Docrowid == noteId && o.NPINumber == NPINumber).FirstOrDefault();
                        if (referrerNotes != null)
                        {
                            NoteType      = referrerNotes.NoteType;
                            refSignStatus = referrerNotes.Signed ?? false;
                        }
                        if (refSignStatus)
                        {
                            response = "Notes already signed";
                        }
                        else
                        {
                            ITextMgrNotes objnotes = new ITextMgrNotes();
                            response = objnotes.ReferrerSign(patientNotes.PDFName, NPINumber);
                            if (!string.IsNullOrEmpty(response))
                            {
                                if (response.Substring(response.IndexOf(".")).ToLower() == ".pdf")
                                {
                                    tblReferrerSign rfsign = new tblReferrerSign();
                                    rfsign.Docrowid   = noteId;
                                    rfsign.PTrowid    = patientId;
                                    rfsign.NoteType   = NoteType;
                                    rfsign.NPINumber  = NPINumber;
                                    rfsign.PDFName    = response;
                                    rfsign.Signed     = true;
                                    rfsign.SignedDate = DateTime.Now;
                                    rfsign.createdts  = DateTime.Now;
                                    rfsign.createdby  = NPINumber.ToString();
                                    rfsign.updatedts  = DateTime.Now;
                                    rfsign.updatedby  = NPINumber.ToString();
                                    _unitOfWork.ReferrerSignRepo.Insert(rfsign);
                                    _unitOfWork.Save();
                                }
                            }
                        }
                    }
                    else
                    {
                        response = "Notes not yet signed by Therapiest";
                    }
                }
            }

            catch (Exception ex)
            {
                CustomLogger.SendExcepToDB(ex, "/PatientRepository/SignNotes");
                string msg = ex.Message;
                throw;
            }

            //  response = "under construction";
            return(response);
        }