public StatusTransaction skipOnStationSendManaul(int tpr_id, int tps_id, int next_mrm_id, int next_mvt_id) { try { InhCheckupDataContext cdc = new InhCheckupDataContext(); trn_patient_regi tpr = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault(); trn_patient_queue tps = tpr.trn_patient_queues.Where(x => x.tps_id == tps_id).FirstOrDefault(); Class.FunctionDataCls func = new Class.FunctionDataCls(); updatePlanForSkip(ref tpr, tps_id); skipReserveCurrentQueue(ref tpr, tps_id); func.deleteCurrentQueue(ref cdc, ref tpr, tps_id); func.insertNextQueue(ref tpr, next_mrm_id, next_mvt_id); try { cdc.SubmitChanges(); return(StatusTransaction.True); } catch (System.Data.Linq.ChangeConflictException) { foreach (ObjectChangeConflict occ in cdc.ChangeConflicts) { cdc.Refresh(System.Data.Linq.RefreshMode.KeepChanges, occ.Object); } cdc.SubmitChanges(); return(StatusTransaction.True); } } catch (Exception ex) { Program.MessageError("ClsSkipOnStation", "skipOnStationSendManaul", ex, false); return(StatusTransaction.Error); } }
public bool SendToCheckBOnStation(int tpr_id, int tps_id) { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { DateTime dateNow = Program.GetServerDateTime(); trn_patient_regi tpr = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault(); patient_regisToCheckB(ref tpr); queueToCheckB(ref tpr, dateNow); trn_patient_queue tps = tpr.trn_patient_queues.Where(x => x.tps_id == tps_id).FirstOrDefault(); // update status ห้องปัจจุบัน tps.tps_send_by = Program.CurrentUser.mut_username; tps.tps_end_date = dateNow; tps.tps_status = "ED"; tps.tps_ns_status = null; tps.tps_update_by = Program.CurrentUser.mut_username; tps.tps_update_date = dateNow; cdc.SubmitChanges(); } return(true); } catch { } return(false); }
public PatientHoldQueue HoldQueue(int tps_id, int hold_minute, string username) { try { DateTime dateNow = Program.GetServerDateTime(); using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { try { cdc.Connection.Open(); DbTransaction trans = cdc.Connection.BeginTransaction(); cdc.Transaction = trans; trn_patient_queue PatientQueue = cdc.trn_patient_queues .Where(x => x.tps_id == tps_id) .FirstOrDefault(); PatientQueue.tps_status = "NS"; PatientQueue.tps_ns_status = "QL"; PatientQueue.tps_call_status = "HD"; PatientQueue.tps_bm_seq = null; PatientQueue.tps_hold_by = username; PatientQueue.tps_hold_date = dateNow.AddMinutes(hold_minute); PatientQueue.tps_start_date = null; PatientQueue.tps_update_date = dateNow; PatientQueue.tps_update_by = username; cdc.SubmitChanges(); cdc.Transaction.Commit(); return(new PatientHoldQueue { Status = PatientHoldQueue.StatusHoldQueue.Success, QueueNo = PatientQueue.trn_patient_regi.tpr_queue_no }); } catch (Exception ex) { cdc.Transaction.Rollback(); Program.MessageError("TransactionQueueCls", "ReadyQueue(int tps_id, int mrd_id, string username)", ex, false); return(new PatientHoldQueue { Status = PatientHoldQueue.StatusHoldQueue.Error, QueueNo = "" }); } finally { cdc.Connection.Close(); } } } catch (Exception ex) { Program.MessageError("TransactionQueueCls", "ReadyQueue(int tps_id, int mrd_id, string username)", ex, false); return(new PatientHoldQueue { Status = PatientHoldQueue.StatusHoldQueue.Error }); } }
public StatusTransaction pendingDoctor(int tpr_id, ref string messegeSend) { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { try { cdc.Connection.Open(); DbTransaction trans = cdc.Connection.BeginTransaction(); cdc.Transaction = trans; trn_patient_regi tpr = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault(); if (tpr != null) { DateTime dtnow = Program.GetServerDateTime(); int mrm_id = Program.CurrentRoom.mrm_id; int mrd_id = Program.CurrentRoom.mrd_id; trn_patient_queue queueCheckC = tpr.trn_patient_queues.Where(x => x.mrm_id == mrm_id).FirstOrDefault(); queueCheckC.tps_update_by = Program.CurrentUser.mut_username; queueCheckC.tps_update_date = dtnow; queueCheckC.tps_status = "ED"; tpr.tpr_pending = true; tpr.tpr_pending_no_station = true; cdc.SubmitChanges(); cdc.Transaction.Commit(); messegeSend = "Queue " + tpr.tpr_queue_no + " ค้างตรวจแพทย์เสร็จสิ้น"; return(StatusTransaction.True); } else { messegeSend = "เกิดความผิดพลาดของระบบ ไม่สามารถค้างตรวจแพทย์ได้ กรุณาดำเนินการอีกครั้ง"; return(StatusTransaction.Error); } } catch (Exception ex) { messegeSend = "เกิดความผิดพลาดของระบบ ไม่สามารถค้างตรวจแพทย์ได้ กรุณาดำเนินการอีกครั้ง"; cdc.Transaction.Rollback(); Program.MessageError("ClsPendingOnStation", "pendingDoctor", ex, false); return(StatusTransaction.Error); } finally { cdc.Connection.Close(); } } } catch (Exception ex) { messegeSend = "เกิดความผิดพลาดของระบบ ไม่สามารถค้างตรวจแพทย์ได้ กรุณาดำเนินการอีกครั้ง"; Program.MessageError("ClsPendingOnStation", "pendingDoctor", ex, false); return(StatusTransaction.Error); } }
public StatusTransaction isCallQueue(int tps_id, ref string message) { frmBGScreen frmbg = new frmBGScreen(); frmbg.Show(); Application.DoEvents(); try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { trn_patient_queue tps = cdc.trn_patient_queues.Where(x => x.tps_id == tps_id && x.tps_status == "NS" && x.tps_ns_status == "QL").FirstOrDefault(); if (tps != null) { _tpr_id = tps.tpr_id; _tps_id = tps.tps_id; uiUserprofile1.LoadData(_tpr_id); trn_patient_regi tpr = cdc.trn_patient_regis.Where(x => x.tpr_id == _tpr_id).FirstOrDefault(); _queue_no = tpr.tpr_queue_no; if (Program.CurrentRegis == null) { btnCallQueue.Visible = true; } else { btnCallQueue.Visible = false; lbAlertMsg.Text = "ไม่สามารถ Call Queue ได้ เนื่องจากมีผู้ใช้บริการ"; } frmbg.Close(); this.ShowDialog(); tps_id = tps.tps_id; message = messageAlert; return(transaction); } else { frmbg.Close(); message = _queue_no + " ไม่สามารถดำเนินการต่อได้ กรุณาตรวจสอบอีกครั้ง"; return(StatusTransaction.NoProcess); } } } catch (Exception ex) { Program.MessageError("frmManageWaiting", "isCallQueue", ex, false); return(StatusTransaction.Error); } }
public List <vw_patient_room> getLogSendAuto(int tpr_id) { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { int? mvt_id; int? mrm_id; int? mze_id; int? current_site = Program.CurrentSite.mhs_id; string queue_no = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).Select(x => x.tpr_queue_no).FirstOrDefault(); trn_patient_queue tps = cdc.trn_patient_queues .Where(x => x.tpr_id == tpr_id && ((x.tps_status == "NS" && x.tps_ns_status == "QL") || (x.tps_status == "WK"))) .FirstOrDefault(); mvt_id = tps.mvt_id; mrm_id = tps.mrm_id; mze_id = cdc.mst_room_hdrs.Where(x => x.mrm_id == mrm_id).Select(x => x.mze_id).FirstOrDefault(); List <vw_patient_room> list_vw = cdc.vw_patient_rooms .Where(x => x.tpr_id == tpr_id && x.mvt_id != mvt_id && x.mrm_id != mrm_id && x.mhs_id == current_site) .OrderBy(x => x.send_type == true ? 0 : 1) .ThenBy(x => x.skip_seq) .ThenBy(x => x.login_flag == "Y" ? 0 : 1) .ThenBy(x => x.mze_id == mze_id && x.waiting_time <= 10 ? 0 : 1) .ThenBy(x => x.mze_id != mze_id && x.waiting_time <= 10 ? 0 : 1) .ThenBy(x => x.mze_id == mze_id ? 0 : 1) .ThenBy(x => x.waiting_time) .ThenBy(x => x.mze_id) .ThenBy(x => x.mrm_seq_room).ToList(); //.OrderBy(x => x.login_flag == "Y" ? 0 : 1) //.ThenBy(x => x.send_type == true ? 0 : 1) //.ThenBy(x => x.mze_id == mze_id && x.waiting_time <= 10 ? 0 : 1) //.ThenBy(x => x.skip_seq) //.ThenBy(x => x.waiting_time) //.ThenBy(x => x.mze_id) //.ThenBy(x => x.mrm_seq_room).ToList(); return(list_vw); } } catch { return(null); } }
public void updatePlanForSkip(ref trn_patient_regi tpr, int tps_id) { trn_patient_queue currentQueue = tpr.trn_patient_queues.Where(x => x.tps_id == tps_id).FirstOrDefault(); EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); List <mst_room_event> mvt = mst.GetMstRoomEventByMrm((int)currentQueue.mrm_id); List <trn_patient_plan> currentPlan = tpr.trn_patient_plans.Where(x => mvt.Select(y => y.mvt_id).Contains(x.mvt_id)).ToList(); currentPlan.ForEach(x => { x.tpl_skip = true; x.tpl_skip_seq = x.tpl_skip_seq == null ? 1 : x.tpl_skip_seq + 1; }); }
private bool ableChangeDoctor(int tpr_id) { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { int mrm_id = cdc.mst_room_dtls.Where(x => x.mrd_id == _mrd_id).Select(x => x.mrm_id).FirstOrDefault(); List <int> list_mvt_id = cdc.mst_events.Where(x => x.mvt_code == "DC" || x.mvt_code == "PE").Select(x => x.mvt_id).ToList(); trn_patient_queue tps = cdc.trn_patient_queues.Where(x => x.tpr_id == tpr_id && x.mrm_id == mrm_id && list_mvt_id.Contains((int)x.mvt_id) && x.tps_status == "NS" && x.tps_ns_status == "QL").FirstOrDefault(); if (tps != null) { return(true); } return(false); } }
public StatusTransaction SendToBasic(ref trn_patient_regi tpr, ref string messegeSend) { try { DateTime dateNow = Program.GetServerDateTime(); EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); int mvt_regis = mst.GetMstEvent("RG").mvt_id; trn_patient_queue objQueueRegis = new trn_patient_queue(); objQueueRegis.mrm_id = Program.CurrentRoom.mrm_id; objQueueRegis.mvt_id = mvt_regis; objQueueRegis.mrd_id = Program.CurrentRoom.mrd_id; objQueueRegis.tps_start_date = dateNow; objQueueRegis.tps_end_date = dateNow; objQueueRegis.tps_send_by = Program.CurrentUser.mut_username; objQueueRegis.tps_status = "ED"; objQueueRegis.tps_ns_status = null; objQueueRegis.tps_create_date = dateNow; objQueueRegis.tps_create_by = Program.CurrentUser.mut_username; objQueueRegis.tps_update_by = objQueueRegis.tps_create_by; objQueueRegis.tps_update_date = dateNow; tpr.trn_patient_queues.Add(objQueueRegis); mst_room_hdr mrm = mst.GetMstRoomHdr("BM", Program.CurrentSite.mhs_code); mst_hpc_site mhs = mst.GetMstHpcSite(Program.CurrentSite.mhs_code); mst_zone mze = mst.GetMstZone((int)mrm.mze_id); mst_event mvt = mst.GetMstEvent("BM"); trn_patient_queue objQueueBasic = new trn_patient_queue(); objQueueBasic.mrm_id = mrm.mrm_id; objQueueBasic.mvt_id = mvt.mvt_id; objQueueBasic.mrd_id = null; objQueueBasic.tps_status = "NS"; objQueueBasic.tps_ns_status = "WL"; objQueueBasic.tps_create_by = Program.CurrentUser.mut_username; objQueueBasic.tps_create_date = dateNow; objQueueBasic.tps_update_by = Program.CurrentUser.mut_username; objQueueBasic.tps_update_date = dateNow; tpr.trn_patient_queues.Add(objQueueBasic); messegeSend = string.Format(Program.MsgSend, mrm.mrm_ename, mze.mze_ename, mhs.mhs_ename, tpr.tpr_queue_no); return(StatusTransaction.True); } catch (Exception ex) { Program.MessageError("TransactionQueueCls", "SendToBasic", ex, false); return(StatusTransaction.Error); } }
public StatusTransaction SendToCheckBOnWaiting(int tpr_id, int mrm_id) { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { try { cdc.Connection.Open(); DbTransaction tran = cdc.Connection.BeginTransaction(); cdc.Transaction = tran; DateTime dateNow = Program.GetServerDateTime(); trn_patient_regi tpr = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault(); trn_patient_queue tps = tpr.trn_patient_queues.Where(x => x.mrm_id == mrm_id).FirstOrDefault(); if (tps != null && tps.tps_status == "NS" && tps.tps_ns_status == "QL") { patient_regisToCheckB(ref tpr); cdc.trn_patient_queues.DeleteOnSubmit(tps); // delete tps_id ห้องปัจจุบัน queueToCheckB(ref tpr, dateNow); cdc.SubmitChanges(); cdc.Transaction.Commit(); return(StatusTransaction.True); } else { return(StatusTransaction.NoProcess); } } catch (Exception ex) { cdc.Transaction.Rollback(); Program.MessageError("SendToCheckBCls", "SendToCheckBOnWaiting", ex, false); return(StatusTransaction.Error); } finally { cdc.Connection.Close(); } } } catch (Exception ex) { Program.MessageError("SendToCheckBCls", "SendToCheckBOnWaiting", ex, false); return(StatusTransaction.Error); } }
public bool SendQueueDoctorResult(int tps_id, string username) { try { DateTime dateNow = Program.GetServerDateTime(); using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { try { cdc.Connection.Open(); DbTransaction trans = cdc.Connection.BeginTransaction(); cdc.Transaction = trans; trn_patient_queue PatientQueue = cdc.trn_patient_queues .Where(x => x.tps_id == tps_id) .FirstOrDefault(); PatientQueue.tps_send_by = username; PatientQueue.tps_end_date = dateNow; PatientQueue.tps_status = "ED"; PatientQueue.tps_ns_status = null; PatientQueue.tps_update_by = username; PatientQueue.tps_update_date = dateNow; cdc.SubmitChanges(); cdc.Transaction.Commit(); return(true); } catch (Exception ex) { cdc.Transaction.Rollback(); Program.MessageError("TransactionQueueCls", "ReadyQueue(int tps_id, int mrd_id, string username)", ex, false); return(false); } finally { cdc.Connection.Close(); } } } catch (Exception ex) { Program.MessageError("TransactionQueueCls", "ReadyQueue(int tps_id, int mrd_id, string username)", ex, false); return(false); } }
private bool checkPassCheckB(int?tpr_id) { using (InhCheckupDataContext contxt = new InhCheckupDataContext()) { trn_patient_queue patientQueue = contxt.trn_patient_queues .Where(x => x.tpr_id == tpr_id && x.mst_room_hdr.mrm_code == "CB") .FirstOrDefault(); if (patientQueue != null) { return(true); } else { return(false); } } }
public void SendToCheckC(ref trn_patient_regi PatientRegis, DateTime dateNow, string username, bool andSendBook = false) { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { int mhs_id = (PatientRegis.tpr_site_use == null || PatientRegis.tpr_site_use == 0) ? (int)PatientRegis.mhs_id : (int)PatientRegis.tpr_site_use; mst_room_hdr mstRoomHdr = cdc.mst_room_hdrs.Where(x => x.mrm_code == "CC" && x.mhs_id == mhs_id).FirstOrDefault(); mst_event mstEvent = cdc.mst_events .Where(x => x.mvt_code == "CC") .FirstOrDefault(); trn_patient_queue PatientQueue = PatientRegis.trn_patient_queues.Where(x => x.mrm_id == mstRoomHdr.mrm_id && x.mvt_id == mstEvent.mvt_id).FirstOrDefault(); if (PatientQueue == null) { PatientQueue = new trn_patient_queue(); PatientQueue.mrm_id = mstRoomHdr.mrm_id; PatientQueue.mvt_id = mstEvent.mvt_id; PatientQueue.tps_create_by = username; PatientQueue.tps_create_date = dateNow; PatientRegis.trn_patient_queues.Add(PatientQueue); } PatientQueue.mrd_id = null; PatientQueue.tps_end_date = null; PatientQueue.tps_start_date = null; if (andSendBook) { PatientQueue.tps_status = "ED"; } else { PatientQueue.tps_status = "WK"; } PatientQueue.tps_ns_status = null; PatientQueue.tps_update_by = username; PatientQueue.tps_update_date = dateNow; } } catch (Exception ex) { throw ex; } }
public int?get_tps_id(int tpr_id) { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { trn_patient_queue tps = cdc.trn_patient_queues .Where(x => x.tpr_id == tpr_id && ((x.tps_status == "NS" && x.tps_ns_status == "QL") || (x.tps_status == "WK"))) .FirstOrDefault(); return(tps.tps_id); } } catch { } return(null); }
public logPatientFlowCls(sendType type, int tpr_id, int tps_id, int mhs_id, string mrd_ename, string mut_username, DateTime?StartProcressTime = null) { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { DateTime dateNow = Program.GetServerDateTime(); trn_patient_queue newPatientQueue = cdc.trn_patient_queues.Where(x => x.tpr_id == tpr_id && ((x.tps_status == "NS" && x.tps_ns_status == "QL") || (x.tps_status == "NS" && x.tps_ns_status == "WL") || x.tps_status == "WK")) .OrderByDescending(x => x.tps_id).FirstOrDefault(); int?nextTpsID = null; if (newPatientQueue != null) { nextTpsID = newPatientQueue.tps_id; } int countFlow = cdc.log_patient_flows.Where(x => x.tpr_id == tpr_id).Count(); log_patient_flow log = new log_patient_flow() { log_time = dateNow, mhs_id = mhs_id, mrd_ename = mrd_ename, mut_username = mut_username, send_type = type.ToString(), seq_id = countFlow + 1, tpr_id = tpr_id, tps_id = tps_id, next_tps_id = nextTpsID, process_time = StartProcressTime == null ? 0 : Convert.ToInt64((DateTime.Now - StartProcressTime.Value).TotalMilliseconds) // nextTpsID }; cdc.log_patient_flows.InsertOnSubmit(log); cdc.SubmitChanges(); } } catch (Exception ex) { Program.MessageError("logPatientFlowCls", "logPatientFlowCls", ex, false); } }
private void queueToCheckB(ref trn_patient_regi tpr, DateTime dateNow) { // update tps checkpointB "NS", "QL", start_date = null, end_date = null, update_date = dateNow EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); int mrm_checkB = mst.GetMstRoomHdr("CB", tpr.mhs_id, tpr.tpr_site_use).mrm_id; int mvt_checkB = mst.GetMstEvent("CB").mvt_id; trn_patient_queue tps = tpr.trn_patient_queues.Where(x => x.mvt_id == mvt_checkB).FirstOrDefault(); if (tps == null) // case imposible { tps = new trn_patient_queue() { mrm_id = mrm_checkB, mvt_id = mvt_checkB, tps_create_by = Program.CurrentUser.mut_username, tps_create_date = dateNow }; tpr.trn_patient_queues.Add(tps); } tps.tps_status = "NS"; tps.tps_ns_status = "QL"; tps.tps_update_by = Program.CurrentUser.mut_username; tps.tps_update_date = dateNow; tps.mrd_id = null; tps.tps_bm_seq = null; tps.tps_call_by = null; tps.tps_call_date = null; tps.tps_call_status = null; // Hold = "HD" tps.tps_cancel_by = null; tps.tps_cancel_date = null; tps.tps_cancel_other = null; tps.tps_cancel_remark = null; tps.tps_end_date = null; tps.tps_hold_by = null; tps.tps_hold_date = null; tps.tps_lab_date = null; tps.tps_send_by = null; tps.tps_start_date = null; }
public StatusTransaction pendingOnWaitingSendManaul(int tpr_id, int mvt_id, int mrm_id, int mhs_id, int next_mrm_id, int next_mvt_id, int tps_id) { try { InhCheckupDataContext cdc = new InhCheckupDataContext(); trn_patient_regi tpr = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault(); trn_patient_queue tps = tpr.trn_patient_queues.Where(x => x.tps_id == tps_id).FirstOrDefault(); if (tps != null && tps.tps_status == "NS" && tps.tps_ns_status == "QL") { tpr.tpr_pending = true; updatePendingPatientPlan(ref tpr, mvt_id, mrm_id, mhs_id); updatePendingPatientQueue(ref cdc, ref tpr, mrm_id); insertPatientPending(ref tpr, mrm_id); Class.FunctionDataCls func = new Class.FunctionDataCls(); func.insertNextQueue(ref tpr, next_mrm_id, next_mvt_id); // alert try { cdc.SubmitChanges(); return(StatusTransaction.True); } catch (System.Data.Linq.ChangeConflictException) { return(StatusTransaction.NoProcess); } } else { return(StatusTransaction.NoProcess); } } catch (Exception ex) { Program.MessageError("ClsPendingOnStation", "pendingOnWaitingSendManaul", ex, false); return(StatusTransaction.Error); } }
public void SendAndReserve(int?tpr_id) { try { if (tpr_id != null) { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { trn_patient_regi PatientRegis = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault(); if (PatientRegis != null) { trn_patient_skip_queue PatientSkipQueue = PatientRegis.trn_patient_skip_queues.Where(x => x.tpsq_active == true).FirstOrDefault(); if (PatientSkipQueue != null) { PatientSkipQueue.tpsq_active = false; if (PatientSkipQueue.mrm_id != null) { trn_patient_queue PatientQueue = PatientRegis.trn_patient_queues.Where(x => x.mrm_id == PatientSkipQueue.mrm_id).FirstOrDefault(); if (PatientQueue != null) { PatientQueue.tps_reserve = true; } } } trn_patient_skip_queue PatientNewSkipQueue = PatientRegis.trn_patient_skip_queues.Where(x => x.tpsq_active == null).FirstOrDefault(); if (PatientNewSkipQueue != null) { PatientNewSkipQueue.tpsq_active = true; } cdc.SubmitChanges(); } } } } catch (Exception ex) { Program.MessageError("ReserveSkipCls", "ReserveSkipCls", ex, false); } }
public void SendToCheckB(ref trn_patient_regi PatientRegis, DateTime dateNow, string username) { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { int mhs_id = (PatientRegis.tpr_site_use == null || PatientRegis.tpr_site_use == 0) ? (int)PatientRegis.mhs_id : (int)PatientRegis.tpr_site_use; mst_room_hdr mstRoomHdr = cdc.mst_room_hdrs.Where(x => x.mrm_code == "CB" && x.mhs_id == mhs_id).FirstOrDefault(); mst_event mstEvent = cdc.mst_events .Where(x => x.mvt_code == "CB") .FirstOrDefault(); trn_patient_queue PatientQueue = PatientRegis.trn_patient_queues .Where(x => x.mst_room_hdr.mrm_code == "CB" && x.mvt_id == mstEvent.mvt_id) .FirstOrDefault(); if (PatientQueue != null) { PatientRegis.tpr_pe_status = "RB"; PatientQueue.mrm_id = mstRoomHdr.mrm_id; PatientQueue.tps_status = "NS"; PatientQueue.tps_ns_status = "QL"; PatientQueue.mrd_id = null; PatientQueue.tps_end_date = null; PatientQueue.tps_start_date = null; PatientQueue.tps_update_by = username; PatientQueue.tps_update_date = dateNow; } else { SendToRoom(ref PatientRegis, mstRoomHdr.mrm_id, mstEvent.mvt_id, dateNow, username); } } } catch (Exception ex) { throw ex; } }
//public void SendToBasic(ref trn_patient_regi tpr, ref string messegeSend) //{ // try // { // DateTime dateNow = Program.GetServerDateTime(); // EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); // int mvt_regis = mst.getMstEvent("RG").mvt_id; // trn_patient_queue objQueueRegis = new trn_patient_queue(); // objQueueRegis.mrm_id = Program.CurrentRoom.mrm_id; //ถ้า error ที่นี่ regis คนไข้ถัดไป น่าจะ error ด้วย // objQueueRegis.mvt_id = mvt_regis; // objQueueRegis.mrd_id = Program.CurrentRoom.mrd_id; //ถ้า error ที่นี่ regis คนไข้ถัดไป น่าจะ error ด้วย // objQueueRegis.tps_start_date = dateNow; // objQueueRegis.tps_end_date = dateNow; // objQueueRegis.tps_send_by = Program.CurrentUser.mut_username; //ถ้า error ที่นี่ regis คนไข้ถัดไป น่าจะ error ด้วย // objQueueRegis.tps_status = "ED"; // objQueueRegis.tps_ns_status = null; // objQueueRegis.tps_create_date = dateNow; // objQueueRegis.tps_create_by = Program.CurrentUser.mut_username; //ถ้า error ที่นี่ regis คนไข้ถัดไป น่าจะ error ด้วย // objQueueRegis.tps_update_by = objQueueRegis.tps_create_by; // objQueueRegis.tps_update_date = dateNow; // tpr.trn_patient_queues.Add(objQueueRegis); // mst_room_hdr mrm = mst.getMstRoomHdr("BM", Program.CurrentSite.mhs_code); //ถ้า error ที่นี่ regis คนไข้ถัดไป น่าจะ error ด้วย // mst_hpc_site mhs = mst.getMstHpcSite(Program.CurrentSite.mhs_code); //ถ้า error ที่นี่ regis คนไข้ถัดไป น่าจะ error ด้วย // mst_zone mze = mst.getMstZone((int)mrm.mze_id); //error // mst_event mvt = mst.getMstEvent("BM"); // trn_patient_queue objQueueBasic = new trn_patient_queue(); // objQueueBasic.mrm_id = mrm.mrm_id; //error // objQueueBasic.mvt_id = mvt.mvt_id; //error // objQueueBasic.mrd_id = null; // objQueueBasic.tps_status = "NS"; // objQueueBasic.tps_ns_status = "WL"; // objQueueBasic.tps_create_by = Program.CurrentUser.mut_username; //ถ้า error ที่นี่ regis คนไข้ถัดไป น่าจะ error ด้วย // objQueueBasic.tps_create_date = dateNow; // objQueueBasic.tps_update_by = Program.CurrentUser.mut_username; //ถ้า error ที่นี่ regis คนไข้ถัดไป น่าจะ error ด้วย // objQueueBasic.tps_update_date = dateNow; // tpr.trn_patient_queues.Add(objQueueBasic); // messegeSend = string.Format(Program.MsgSend, mrm.mrm_ename, mze.mze_ename, mhs.mhs_ename, tpr.tpr_queue_no); //error // return StatusTransaction.True; // } // catch (Exception ex) // { // Program.MessageError("TransactionQueueCls", "SendToBasic", ex, false); // return StatusTransaction.Error; // } //} //public StatusTransaction SendToScreening(ref trn_patient_regi tpr, ref string messegeSend) //{ // try // { // DateTime dateNow = Program.GetServerDateTime(); // EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); // mst_room_hdr mrm = mst.getMstRoomHdr("SC", Program.CurrentSite.mhs_code); // mst_hpc_site mhs = mst.getMstHpcSite(mrm.mhs_id); // mst_zone mze = mst.getMstZone((int)mrm.mze_id); // mst_event mvt = mst.getMstEvent("SC"); // return SendToRoom(ref tpr, ref messegeSend, mrm.mrm_id, mvt.mvt_id); // } // catch (Exception ex) // { // Program.MessageError("TransactionQueueCls", "SendToScreening", ex, false); // return StatusTransaction.Error; // } //} //public void SendToCheckB(ref trn_patient_regi tpr, ref string messegeSend) //{ // try // { // DateTime dateNow = Program.GetServerDateTime(); // EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); // mst_room_hdr mrm = mst.getMstRoomHdr("CB", Program.CurrentSite.mhs_code); // mst_hpc_site mhs = mst.getMstHpcSite(mrm.mhs_id); // mst_zone mze = mst.getMstZone((int)mrm.mze_id); // mst_event mvt = mst.getMstEvent("CB"); // return SendToRoom(ref tpr, ref messegeSend, mrm.mrm_id, mvt.mvt_id); // } // catch (Exception ex) // { // Program.MessageError("TransactionQueueCls", "SendToCheckB", ex, false); // return StatusTransaction.Error; // } //} //public void SendToRoom(ref trn_patient_regi tpr, ref string messegeSend, int mrm_id, int mvt_id) //{ // try // { // DateTime dateNow = Program.GetServerDateTime(); // EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); // mst_room_hdr mrm = mst.getMstRoomHdr(mrm_id); // mst_hpc_site mhs = mst.getMstHpcSite(mrm.mhs_id); // mst_zone mze = mst.getMstZone((int)mrm.mze_id); // mst_event mvt = mst.getMstEvent(mvt_id); // trn_patient_queue tps = tpr.trn_patient_queues.Where(x => x.mrm_id == mrm.mrm_id && x.mvt_id == mvt.mvt_id).FirstOrDefault(); // //sendRoom // //trn_patient_queue updateQueue; // //if (tps == null) // //{ // // updateQueue = new trn_patient_queue(); // // updateQueue.tps_create_by = Program.CurrentUser.mut_username; // // updateQueue.tps_create_date = dateNow; // // tpr.trn_patient_queues.Add(updateQueue); // //} // //else // //{ // // updateQueue = tpr.trn_patient_queues.Where(x => x.tps_id == tps.tps_id).FirstOrDefault(); // //} // //updateQueue.mrm_id = mrm.mrm_id; // //updateQueue.mvt_id = mvt.mvt_id; // //updateQueue.mrd_id = null; // //updateQueue.tps_end_date = null; // //updateQueue.tps_start_date = null; // //updateQueue.tps_status = "NS"; // //updateQueue.tps_ns_status = "QL"; // //updateQueue.tps_update_by = Program.CurrentUser.mut_username; // //updateQueue.tps_update_date = dateNow; // if (tps == null) // { // tps = new trn_patient_queue(); // tps.tps_create_by = Program.CurrentUser.mut_username; // tps.tps_create_date = dateNow; // tpr.trn_patient_queues.Add(tps); // } // tps.mrm_id = mrm.mrm_id; // tps.mvt_id = mvt.mvt_id; // tps.mrd_id = null; // tps.tps_end_date = null; // tps.tps_start_date = null; // tps.tps_status = "NS"; // tps.tps_ns_status = "QL"; // tps.tps_update_by = Program.CurrentUser.mut_username; // tps.tps_update_date = dateNow; // messegeSend = string.Format(Program.MsgSend, mrm.mrm_ename, mze.mze_ename, mhs.mhs_ename, tpr.tpr_queue_no); // return StatusTransaction.True; // } // catch (Exception ex) // { // Program.MessageError("TransactionQueueCls", "SendToRoom", ex, false); // return StatusTransaction.Error; // } //} //public StatusTransaction SendToDoctor(ref trn_patient_regi tpr, ref string messegeSend) //{ // try // { // DateTime dateNow = Program.GetServerDateTime(); // EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); // mst_room_hdr mrm = mst.getMstRoomHdr("DC", Program.CurrentSite.mhs_code); // mst_hpc_site mhs = mst.getMstHpcSite(mrm.mhs_id); // mst_zone mze = mst.getMstZone((int)mrm.mze_id); // mst_event mvt = mst.getMstEvent("DC"); // return SendToRoom(ref tpr, ref messegeSend, mrm.mrm_id, mvt.mvt_id); // } // catch (Exception ex) // { // Program.MessageError("TransactionQueueCls", "SendToDoctor", ex, false); // return StatusTransaction.Error; // } //} //public StatusTransaction SendToCheckC(ref trn_patient_regi tpr, ref string messegeSend, bool andSendBook = false) //{ // try // { // DateTime dateNow = Program.GetServerDateTime(); // EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); // mst_hpc_site mhs = mst.getMstHpcSite(tpr.mhs_id); // mst_room_hdr mrm = mst.getMstRoomHdr("CC", mhs.mhs_code); // mst_zone mze = mst.getMstZone((int)mrm.mze_id); // mst_event mvt = mst.getMstEvent("CC"); // trn_patient_queue tps = tpr.trn_patient_queues.Where(x => x.mrm_id == mrm.mrm_id && x.mvt_id == mvt.mvt_id).FirstOrDefault(); // //CheckC // //trn_patient_queue updateQueue; // //if (tps == null) // //{ // // updateQueue = new trn_patient_queue(); // // updateQueue.tps_create_by = Program.CurrentUser.mut_username; // // updateQueue.tps_create_date = dateNow; // // tpr.trn_patient_queues.Add(updateQueue); // //} // //else // //{ // // updateQueue = tpr.trn_patient_queues.Where(x => x.tps_id == tps.tps_id).FirstOrDefault(); // //} // //updateQueue.mrm_id = mrm.mrm_id; // //updateQueue.mvt_id = mvt.mvt_id; // //updateQueue.mrd_id = null; // //updateQueue.tps_end_date = null; // //updateQueue.tps_start_date = null; // //if (andSendBook) // //{ // // updateQueue.tps_status = "ED"; // // updateQueue.tps_ns_status = null; // //} // //else // //{ // // updateQueue.tps_status = "WK"; // // updateQueue.tps_ns_status = null; // //} // //updateQueue.tps_update_by = Program.CurrentUser.mut_username; // //updateQueue.tps_update_date = dateNow; // if (tps == null) // { // tps = new trn_patient_queue(); // tps.tps_create_by = Program.CurrentUser.mut_username; // tps.tps_create_date = dateNow; // tpr.trn_patient_queues.Add(tps); // } // tps.mrm_id = mrm.mrm_id; // tps.mvt_id = mvt.mvt_id; // tps.mrd_id = null; // tps.tps_end_date = null; // tps.tps_start_date = null; // if (andSendBook) // { // tps.tps_status = "ED"; // tps.tps_ns_status = null; // } // else // { // tps.tps_status = "WK"; // tps.tps_ns_status = null; // } // tps.tps_update_by = Program.CurrentUser.mut_username; // tps.tps_update_date = dateNow; // messegeSend = string.Format(Program.MsgSend, mrm.mrm_ename, mze.mze_ename, mhs.mhs_ename, tpr.tpr_queue_no); // return StatusTransaction.True; // } // catch (Exception ex) // { // Program.MessageError("TransactionQueueCls", "SendToCheckC", ex, false); // return StatusTransaction.Error; // } //} //public StatusTransaction SendToPHM(ref trn_patient_regi tpr, ref string messegeSend) //{ // try // { // DateTime dateNow = Program.GetServerDateTime(); // EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); // mst_room_hdr mrm = mst.getMstRoomHdr("PH", Program.CurrentSite.mhs_code); // //mst_hpc_site mhs = mst.getMstHpcSite(mrm.mhs_id); // //mst_zone mze = mst.getMstZone((int)mrm.mze_id); // mst_event mvt = mst.getMstEvent("PH"); // return SendToRoom(ref tpr, ref messegeSend, mrm.mrm_id, mvt.mvt_id); // } // catch (Exception ex) // { // Program.MessageError("TransactionQueueCls", "SendToPHM", ex, false); // return StatusTransaction.Error; // } //} //public StatusTransaction SendToBook(ref trn_patient_regi tpr, ref string messegeSend) //{ // try // { // DateTime dateNow = Program.GetServerDateTime(); // tpr.tpr_status = "WB"; // tpr.tpr_pe_status = "RS"; // tpr.tpr_update_by = Program.CurrentUser.mut_username; // tpr.tpr_update_date = dateNow; // EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); // mst_hpc_site mhs = mst.getMstHpcSite(tpr.mhs_id); // mst_room_hdr mrm = mst.getMstRoomHdr("BK", mhs.mhs_code); // mst_event mvt = mst.getMstEvent("BK"); // trn_patient_queue tps = tpr.trn_patient_queues.Where(x => x.mrm_id == mrm.mrm_id && x.mvt_id == mvt.mvt_id).FirstOrDefault(); // //book // //trn_patient_queue updateQueue; // //if (tps == null) // //{ // // updateQueue = new trn_patient_queue(); // // updateQueue.tps_create_by = Program.CurrentUser.mut_username; // // updateQueue.tps_create_date = dateNow; // // tpr.trn_patient_queues.Add(updateQueue); // //} // //else // //{ // // updateQueue = tpr.trn_patient_queues.Where(x => x.tps_id == tps.tps_id).FirstOrDefault(); // //} // //updateQueue.mrm_id = mrm.mrm_id; // //updateQueue.mvt_id = mvt.mvt_id; // //updateQueue.mrd_id = null; // //updateQueue.tps_end_date = null; // //updateQueue.tps_start_date = null; // //updateQueue.tps_status = "NS"; // //updateQueue.tps_ns_status = "QL"; // //updateQueue.tps_update_by = Program.CurrentUser.mut_username; // //updateQueue.tps_update_date = dateNow; // if (tps == null) // { // tps = new trn_patient_queue(); // tps.tps_create_by = Program.CurrentUser.mut_username; // tps.tps_create_date = dateNow; // tpr.trn_patient_queues.Add(tps); // } // tps.mrm_id = mrm.mrm_id; // tps.mvt_id = mvt.mvt_id; // tps.mrd_id = null; // tps.tps_end_date = null; // tps.tps_start_date = null; // tps.tps_status = "NS"; // tps.tps_ns_status = "QL"; // tps.tps_update_by = Program.CurrentUser.mut_username; // tps.tps_update_date = dateNow; // messegeSend = "Queue No. " + tpr.tpr_queue_no + " Send to Book Complete."; // return StatusTransaction.True; // } // catch (Exception ex) // { // Program.MessageError("TransactionQueueCls", "SendToBook", ex, false); // return StatusTransaction.Error; // } //} //public StatusTransaction ReturnToCheckB(ref trn_patient_regi tpr, ref string messegeSend) //{ // try // { // DateTime dateNow = Program.GetServerDateTime(); // EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); // tpr.tpr_pe_status = "RB"; // mst_room_hdr mrm = mst.getMstRoomHdr("CB", Program.CurrentSite.mhs_code); // mst_hpc_site mhs = mst.getMstHpcSite(mrm.mhs_id); // mst_zone mze = mst.getMstZone((int)mrm.mze_id); // mst_event mvt = mst.getMstEvent("CB"); // return SendToRoom(ref tpr, ref messegeSend, mrm.mrm_id, mvt.mvt_id); // } // catch (Exception ex) // { // Program.MessageError("TransactionQueueCls", "ReturnToCheckB", ex, false); // return StatusTransaction.Error; // } //} public void SendToRoom(ref trn_patient_regi PatientRegis, int mrm_id, int mvt_id, DateTime dateNow, string username) { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { bool checkBefPE = CheckUseBeforePE(mrm_id, mvt_id); trn_patient_queue PatientQueue = PatientRegis.trn_patient_queues.Where(x => x.mrm_id == mrm_id && x.mvt_id == mvt_id).FirstOrDefault(); if (PatientQueue == null) { PatientQueue = new trn_patient_queue(); PatientQueue.mrm_id = mrm_id; PatientQueue.mvt_id = mvt_id; PatientQueue.tps_create_by = username; PatientQueue.tps_create_date = dateNow; PatientRegis.trn_patient_queues.Add(PatientQueue); } if (checkBefPE) { PatientQueue.tps_ns_status = "WP"; } else { PatientQueue.tps_ns_status = "QL"; } PatientQueue.tps_status = "NS"; PatientQueue.mrd_id = null; PatientQueue.tps_end_date = null; PatientQueue.tps_start_date = null; PatientQueue.tps_update_by = username; PatientQueue.tps_update_date = dateNow; } } catch (Exception ex) { throw ex; } }
public void SendToPE(ref trn_patient_regi PatientRegis, DateTime dateNow, string username) // use for PE Before Check B { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { int mhs_id = (PatientRegis.tpr_site_use == null || PatientRegis.tpr_site_use == 0) ? (int)PatientRegis.mhs_id : (int)PatientRegis.tpr_site_use; mst_room_hdr mstRoomHdr = cdc.mst_room_hdrs.Where(x => x.mrm_code == "DC" && x.mhs_id == mhs_id).FirstOrDefault(); mst_event mstEvent = cdc.mst_events .Where(x => x.mvt_code == "PE") .FirstOrDefault(); trn_patient_queue PatientQueue = PatientRegis.trn_patient_queues .Where(x => x.mrm_id == mstRoomHdr.mrm_id && x.mvt_id == mstEvent.mvt_id) .FirstOrDefault(); SendToRoom(ref PatientRegis, mstRoomHdr.mrm_id, mstEvent.mvt_id, dateNow, username); } } catch (Exception ex) { throw ex; } }
private bool checkStatusCanSend(int tps_id) { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { trn_patient_queue tps = cdc.trn_patient_queues.Where(x => x.tps_id == tps_id).FirstOrDefault(); if (tps != null && tps.tps_status == "NS" && tps.tps_ns_status == "QL") { return(true); } else { return(false); } } } catch (Exception ex) { Program.MessageError("frmWaiting", "checkStatusCanSend", ex, false); return(false); } }
public void SendToScreening(ref trn_patient_regi PatientRegis, DateTime dateNow, string username) { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { int mhs_id = PatientRegis.mhs_id; mst_room_hdr mstRoomHdr = cdc.mst_room_hdrs.Where(x => x.mrm_code == "SC" && x.mhs_id == mhs_id).FirstOrDefault(); mst_event mstEvent = cdc.mst_events .Where(x => x.mvt_code == "SC") .FirstOrDefault(); trn_patient_queue PatientQueue = PatientRegis.trn_patient_queues.Where(x => x.mrm_id == mstRoomHdr.mrm_id && x.mvt_id == mstEvent.mvt_id).FirstOrDefault(); if (PatientQueue == null) { PatientQueue = new trn_patient_queue(); PatientQueue.mrm_id = mstRoomHdr.mrm_id; PatientQueue.mvt_id = mstEvent.mvt_id; PatientQueue.tps_create_by = username; PatientQueue.tps_create_date = dateNow; PatientRegis.trn_patient_queues.Add(PatientQueue); } PatientQueue.mrd_id = null; PatientQueue.tps_end_date = null; PatientQueue.tps_start_date = null; PatientQueue.tps_status = "NS"; PatientQueue.tps_ns_status = "QL"; PatientQueue.tps_update_by = username; PatientQueue.tps_update_date = dateNow; } } catch (Exception ex) { throw ex; } }
private void SendQueueBook(ref trn_patient_regi patientRegis, DateTime dateNow) { try { using (InhCheckupDataContext dbc = new InhCheckupDataContext()) { int patientSite = patientRegis.mhs_id; int mrm_idBook = dbc.mst_room_hdrs.Where(x => x.mhs_id == patientSite && x.mrm_code == "BK").Select(x => x.mrm_id).FirstOrDefault(); int mvt_idBook = dbc.mst_events.Where(x => x.mvt_code == "BK").Select(x => x.mvt_id).FirstOrDefault(); patientRegis.tpr_status = "WB"; patientRegis.tpr_pe_status = "RS"; trn_patient_queue patientQueue = patientRegis.trn_patient_queues.Where(x => x.mrm_id == mrm_idBook && x.mvt_id == mvt_idBook).FirstOrDefault(); if (patientQueue == null) { patientQueue = new trn_patient_queue(); patientQueue.mrm_id = mrm_idBook; patientQueue.mvt_id = mvt_idBook; patientQueue.mrd_id = null; patientQueue.tps_end_date = null; patientQueue.tps_start_date = null; patientQueue.tps_status = "NS"; patientQueue.tps_ns_status = "QL"; patientQueue.tps_create_by = "SysPend"; patientQueue.tps_create_date = dateNow; patientQueue.tps_update_by = "SysPend"; patientQueue.tps_update_date = dateNow; patientRegis.trn_patient_queues.Add(patientQueue); } } } catch (Exception ex) { throw new Exception(ex.Message); } }
private StatusTransaction get_send_to_tps_id(int tpr_id, int mrm_id, int mvt_id, ref int?tps_id) { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { try { trn_patient_queue tps = cdc.trn_patient_queues .Where(x => x.tpr_id == tpr_id && x.mrm_id == mrm_id && x.mvt_id == mvt_id) .FirstOrDefault(); if (tps != null) { tps_id = tps.tps_id; } else { tps_id = null; } return(StatusTransaction.True); } catch (Exception ex) { Program.MessageError("SendManaulCls", "get_send_to_tps_id", ex, false); return(StatusTransaction.Error); } } } catch (Exception ex) { Program.MessageError("SendManaulCls", "get_send_to_tps_id", ex, false); return(StatusTransaction.Error); } }
public StatusTransaction SendToCheckCBeforePE(ref trn_patient_regi tpr, ref string messegeSend) { try { DateTime dateNow = Program.GetServerDateTime(); EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); mst_room_hdr mrm = mst.GetMstRoomHdr("DC", Program.CurrentSite.mhs_code); mst_hpc_site mhs = mst.GetMstHpcSite(mrm.mhs_id); mst_zone mze = mst.GetMstZone((int)mrm.mze_id); mst_event mvt = mst.GetMstEvent("PE"); trn_patient_queue tps = tpr.trn_patient_queues.Where(x => x.mrm_id == mrm.mrm_id && x.mvt_id == mvt.mvt_id).FirstOrDefault(); if (tps == null) { tps = new trn_patient_queue(); tps.tps_create_by = Program.CurrentUser.mut_username; tps.tps_create_date = dateNow; tpr.trn_patient_queues.Add(tps); } tps.mrm_id = mrm.mrm_id; tps.mvt_id = mvt.mvt_id; tps.mrd_id = null; tps.tps_end_date = null; tps.tps_start_date = null; tps.tps_status = "NS"; tps.tps_ns_status = "WP"; tps.tps_update_by = Program.CurrentUser.mut_username; tps.tps_update_date = dateNow; messegeSend = string.Format(Program.MsgSend, mrm.mrm_ename, mze.mze_ename, mhs.mhs_ename, tpr.tpr_queue_no); return(StatusTransaction.True); } catch (Exception ex) { Program.MessageError("TransactionQueueCls", "SendToPE", ex, false); return(StatusTransaction.Error); } }
public StatusTransaction ReturnToCheckB(SendType type, int tpr_id, int mrm_id, int tps_id, List <int> list_mvt_id, ref string messegeSend) { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { try { cdc.Connection.Open(); DbTransaction tran = cdc.Connection.BeginTransaction(); cdc.Transaction = tran; DateTime dateNow = Program.GetServerDateTime(); trn_patient_regi tpr = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault(); StatusTransaction result = new TransactionQueueCls().ReturnToCheckB(ref tpr, ref messegeSend); if (result == StatusTransaction.True) { trn_patient_queue tps = tpr.trn_patient_queues.Where(x => x.tps_id == tps_id).FirstOrDefault(); if (tps != null) { if (type == Class.SendType.Normal) { new TransactionQueueCls().endQueue(ref tpr, tps_id); } else if (type == Class.SendType.Skip) { cdc.trn_patient_queues.DeleteOnSubmit(tps); } else if (type == Class.SendType.Pending) { tps.tps_status = "PD"; } else { return(StatusTransaction.Error); } } else { return(StatusTransaction.Error); } cdc.SubmitChanges(); cdc.Transaction.Commit(); return(StatusTransaction.True); } else { return(result); } } catch (Exception ex) { cdc.Transaction.Rollback(); Program.MessageError("SendQueue", "ReturnToCheckB", ex, false); return(StatusTransaction.Error); } finally { cdc.Connection.Close(); } } } catch (Exception ex) { Program.MessageError("SendQueue", "ReturnToCheckB", ex, false); return(StatusTransaction.Error); } }
public bool SendQueueDoctorPEBeforeCheckB(int tpr_id, int tps_id, string username) { try { DateTime dateNow = Program.GetServerDateTime(); using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { try { cdc.Connection.Open(); DbTransaction trans = cdc.Connection.BeginTransaction(); cdc.Transaction = trans; trn_patient_regi patientRegis = cdc.trn_patient_regis .Where(x => x.tpr_id == tpr_id) .FirstOrDefault(); trn_patient_queue PatientQueue = patientRegis.trn_patient_queues .Where(x => x.tps_id == tps_id) .FirstOrDefault(); PatientQueue.tps_send_by = username; PatientQueue.tps_end_date = dateNow; PatientQueue.tps_status = "ED"; PatientQueue.tps_ns_status = null; PatientQueue.tps_update_by = username; PatientQueue.tps_update_date = dateNow; mst_event eventScreening = cdc.mst_events.Where(x => x.mvt_code == "SC").FirstOrDefault(); if (patientRegis.trn_patient_queues.Any(x => x.mvt_id == eventScreening.mvt_id)) { if (patientRegis.tpr_return_screening == true) { patientRegis.tpr_return_screening = false; SendToScreening(ref patientRegis, dateNow, username); } else { SendToCheckB(ref patientRegis, dateNow, username); } } else { SendToScreening(ref patientRegis, dateNow, username); } cdc.SubmitChanges(); cdc.Transaction.Commit(); return(true); } catch (Exception ex) { cdc.Transaction.Rollback(); Program.MessageError("TransactionQueueCls", "ReadyQueue(int tps_id, int mrd_id, string username)", ex, false); return(false); } finally { cdc.Connection.Close(); } } } catch (Exception ex) { Program.MessageError("TransactionQueueCls", "ReadyQueue(int tps_id, int mrd_id, string username)", ex, false); return(false); } }
public PatientCallQueue CallQueue(int mrd_id, int mut_id, string username) { try { DateTime dateNow = Program.GetServerDateTime(); List <Class.WaitingListCls.WaitingListDtl> result = new Class.WaitingListCls().getWaitingRoomDtl(mrd_id, mut_id); foreach (Class.WaitingListCls.WaitingListDtl row in result) { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { try { cdc.Connection.Open(); DbTransaction trans = cdc.Connection.BeginTransaction(); cdc.Transaction = trans; trn_patient_queue PatientQueue = cdc.trn_patient_queues .Where(x => x.tps_id == row.tps_id) .FirstOrDefault(); if (PatientQueue.tps_ns_status == "QL") { PatientQueue.mrd_id = mrd_id; PatientQueue.tps_ns_status = "WR"; PatientQueue.tps_update_by = username; PatientQueue.tps_update_date = dateNow; try { cdc.SubmitChanges(); cdc.Transaction.Commit(); Program.CurrentRegis = PatientQueue.trn_patient_regi; Program.CurrentPatient_queue = PatientQueue; return(new PatientCallQueue { Status = PatientCallQueue.StatusCallQueue.GotPatient, tpr_id = PatientQueue.tpr_id, tps_id = PatientQueue.tps_id }); } catch (System.Data.Linq.ChangeConflictException) //Win32Exception { Program.CurrentRegis = null; Program.CurrentPatient_queue = null; } } } catch (Exception ex) { cdc.Transaction.Rollback(); Program.MessageError("TransactionQueueCls", "CallQueue(int mrd_id, int mut_id, string username)", ex, false); Program.CurrentRegis = null; Program.CurrentPatient_queue = null; return(new PatientCallQueue { Status = PatientCallQueue.StatusCallQueue.Error, tpr_id = null, tps_id = null }); } finally { cdc.Connection.Close(); } } } return(null); } catch (Exception ex) { Program.MessageError("TransactionQueueCls", "CallQueue(int mrd_id, int mut_id, string username)", ex, false); Program.CurrentRegis = null; Program.CurrentPatient_queue = null; return(null); } }
public trn_patient_regi getDefaultPatientRegis(tmp_getptarrived tga, int SiteCode = -999)//add SiteCode suriya 03/04/2015 { mst_hpc_site mhs_clinic = getSiteClinic(); DateTime dateNow = DateTime.Now; //Program.GetServerDateTime(); trn_patient_regi tpr = new trn_patient_regi { mac_id = null, // mdc_id = null, // mhc_id = null, // //mhs_id = mhs_clinic.mhs_id,//del suriya 03/04/2015 mhs_id = SiteCode == -999 ? mhs_clinic.mhs_id : Program.CurrentSite.mhs_id, //add suriya 03/04/2015 mut_id = null, // tcd_id = null, // tnc_id = null, // tpr_appoint_type = 'T', //tpr_appointment_date = dateNow,//del suriya 03/04/2015 //tpr_arrive_date = dateNow,//del suriya 03/04/2015 tpr_appointment_date = SiteCode == -999 ? dateNow : tga.paadm_admdate, //add suriya 03/04/2015 tpr_arrive_date = SiteCode == -999 ? dateNow : tga.paadm_admdate, //add suriya 03/04/2015 tpr_arrive_type = tga.ser_rowid == 2808 ? 'W' : 'A', tpr_aviation_type = null, // tpr_check_pending = 'N', tpr_comp_dep = null, // tpr_comp_dep_edesc = null, // tpr_comp_dep_tdesc = null, // tpr_comp_edesc = null, // tpr_comp_tdesc = null, // tpr_company_code = null, // tpr_company_id = null, // tpr_create_by = "CONSULT", tpr_create_date = dateNow, tpr_email = tga.paper_email, tpr_employee_no = null, // tpr_en_no = tga.paadm_admno, tpr_en_rowid = tga.paadm_rowid, tpr_foreigner = tga.ctnat_code == "TH" ? 'N' : 'Y', // 'TH' ? 'N' : 'Y' tpr_home_phone = tga.paper_telh, tpr_main_address = tga.paper_stname, tpr_main_amphur = tga.ctcit_desc, tpr_main_id = null, // reinsert when submit tpr_main_province = tga.prov_desc, tpr_main_tumbon = tga.citarea_desc, tpr_main_zip_code = tga.ctzip_code, //tpr_mhc_ename = tpos.Select(x => x.tos_od_set_name).FirstOrDefault(), tpr_miss_lower = false, tpr_mobile_phone = tga.paper_mobphone, tpr_new_patient = getNewPatientType(tga), tpr_npo_text = null, // tpr_npo_time = null, // tpr_office_phone = tga.paper_telo, tpr_other_address = tga.paper_stname, tpr_other_amphur = tga.ctcit_desc, tpr_other_province = tga.prov_desc, tpr_other_tumbon = tga.citarea_desc, tpr_other_zip_code = tga.ctzip_code, tpr_patient_type = '1', tpr_pe_doc = 'N', tpr_pe_doc_code = null, // tpr_pe_doc_name = null, // tpr_pe_status = null, // tpr_pe_type = 'W', tpr_pending = false, tpr_pending_cancel_onday = false, tpr_pending_ct = 0, tpr_pending_no_station = null, // tpr_prev_pe_code = null, // tpr_prev_pe_name = null, // tpr_print_book = "N", tpr_PRM = null, tpr_PRM_check = null, tpr_PRM_doccode = null, tpr_PRM_docname = null, tpr_PRM_doctor = null, tpr_queue_no = getQueueOtherClinic(tga.paadm_admno), tpr_queue_type = getTprQueueType(tga), tpr_remark = null, // tpr_req_doc_code = null, // tpr_req_doc_gender = null, // tpr_req_doc_name = null, // tpr_req_doctor = 'N', tpr_req_inorout_doctor = null, // tpr_req_pe_bef_chkup = null, // tpr_rtn_pe_date = null, // tpr_rtn_pe_name = null, // tpr_send_book = null, // tpr_send_to = null, // tpr_site_use = null, // tpr_status = null, // tpr_type = null, // tpr_update_by = "CONSULT", tpr_update_date = dateNow, tpr_vip_code = tga.penstype_code, tpr_vip_desc = tga.penstype_desc, tpr_arrive_site = tga.LocWhenOrdOther, tpr_arrive_site_desc = tga.LocWhenOrdOtherDesc }; tpr.trn_basic_measure_hdrs.Add(getBasicHdr(tga.papmi_no, tga.paadm_admno)); //GetPatientPackage(ref tpr, dateNow); //genPatientPlan(ref tpr, Program.CurrentSite.mhs_id, dateNow); int enRowID = Convert.ToInt32(tpr.tpr_en_rowid); GetPTPackageCls PackageCls = new GetPTPackageCls(); EnumerableRowCollection <DataRow> getPTPackage = PackageCls.GetPTPackage(enRowID); PackageCls.AddPatientOrderItem(ref tpr, "System", dateNow, getPTPackage); PackageCls.AddPatientOrderSet(ref tpr, "System", dateNow, getPTPackage); List <MapOrderEvent> mapOrder = PackageCls.MapEvent(getPTPackage); PackageCls.AddPatientEvent(ref tpr, "System", dateNow, mapOrder); PackageCls.AddPatientPlan(ref tpr, "System", dateNow, mapOrder); PackageCls.skipReqDoctorOutDepartment(ref tpr); PackageCls.CompleteEcho(ref tpr); PackageCls.skipChangeEstToEcho(ref tpr, tpr.mhs_id); PackageCls.checkOrderPMR(ref tpr, tpr.mhs_id); trn_patient_queue tpq = getPatientQueue("CB", tpr); if (tpq != null) { tpr.trn_patient_queues.Add(tpq); } List <trn_out_department> tod = getOutDepartment(tga.papmi_no, tga.ctloc_code, DateTime.Now); if (tod != null) { tpr.trn_out_departments.AddRange(tod); } trn_patient_cat tpc = getForeignerPatient(tga.ctnat_code); if (tpc != null) { tpr.trn_patient_cats.Add(tpc); } return(tpr); }