public bool AddPatientOrderSet(ref trn_patient_regi PatientRegis, string username, DateTime dateNow, EnumerableRowCollection <DataRow> PTPackage) { try { var grpPackage = PTPackage.Where(x => x.Field <string>("ARCOS_RowId") != null).GroupBy(x => x.Field <string>("ARCOS_RowId")); foreach (var grp in grpPackage) { trn_patient_order_set PatientOrderSet = PatientRegis.trn_patient_order_sets.Where(x => x.tos_item_row_id == grp.Key).FirstOrDefault(); if (PatientOrderSet == null) { PatientOrderSet = new trn_patient_order_set(); PatientOrderSet.tos_item_row_id = grp.Key; PatientOrderSet.tos_create_date = dateNow; PatientOrderSet.tos_create_by = username; PatientRegis.trn_patient_order_sets.Add(PatientOrderSet); } PatientOrderSet.tos_od_set_code = grp.FirstOrDefault().Field <string>("ARCOS_Code"); PatientOrderSet.tos_od_set_name = grp.FirstOrDefault().Field <string>("ARCOS_Desc"); PatientOrderSet.tos_status = grp.All(y => y.Field <string>("OSTAT_Code") == "D") ? false : true; PatientOrderSet.tos_update_date = dateNow; PatientOrderSet.tos_update_by = username; } return(true); } catch (Exception ex) { Class.globalCls.MessageError("GetPTPackageCls", "AddPatientOrderSet", ex.Message); return(false); } }
public bool checkOrderPMR(ref trn_patient_regi tpr, int mhs_id) { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { DateTime dateNow = Class.globalCls.GetServerDateTime(); List <string> set_row_id_pmr = cdc.mst_config_dtls .Where(x => x.mst_config_hdr.mfh_code == "EPMR" && x.mst_config_hdr.mhs_id == mhs_id && x.mst_config_hdr.mfh_status == 'A' && (x.mst_config_hdr.mfh_effective_date == null ? true : dateNow >= x.mst_config_hdr.mfh_effective_date.Value.Date) && (x.mst_config_hdr.mfh_expire_date == null ? true : dateNow <= x.mst_config_hdr.mfh_expire_date.Value)) .Select(x => x.mfd_text).ToList(); trn_patient_order_set set_pmr = tpr.trn_patient_order_sets.Where(x => set_row_id_pmr.Contains(x.tos_od_set_code)).FirstOrDefault(); if (set_pmr != null) { tpr.tpr_PRM = true; tpr.tpr_PRM_doctor = false; return(true); } else { tpr.tpr_PRM = false; tpr.tpr_PRM_doctor = false; return(true); } } } catch (Exception ex) { Class.globalCls.MessageError("GetDataFromWSTrakCare", "checkOrderPMR", ex.Message); return(false); } }
public bool skipChangeEstToEcho(ref trn_patient_regi tpr, int mhs_id) { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { DateTime dateNow = Program.GetServerDateTime(); List <string> set_row_id_skip = cdc.mst_config_dtls .Where(x => x.mst_config_hdr.mfh_code == "ECHO" && x.mst_config_hdr.mhs_id == mhs_id && x.mst_config_hdr.mfh_status == 'A' && (x.mst_config_hdr.mfh_effective_date == null ? true : dateNow >= x.mst_config_hdr.mfh_effective_date.Value.Date) && (x.mst_config_hdr.mfh_expire_date == null ? true : dateNow <= x.mst_config_hdr.mfh_expire_date.Value)) .Select(x => x.mfd_text).ToList(); trn_patient_order_set order_skip_est_to_echo = tpr.trn_patient_order_sets .Where(x => set_row_id_skip.Contains(x.tos_od_set_code) && x.tos_status == true).FirstOrDefault(); if (order_skip_est_to_echo != null) { EmrClass.GetDataMasterCls getMaster = new EmrClass.GetDataMasterCls(); int est_mvt_id = getMaster.GetMstEvent("ES").mvt_id; int echo_mvt_id = getMaster.GetMstEvent("EC").mvt_id; List <trn_patient_plan> planEST = tpr.trn_patient_plans.Where(x => x.mvt_id == est_mvt_id).ToList(); foreach (trn_patient_plan PatientPlan in planEST) { PatientPlan.mvt_id = echo_mvt_id; PatientPlan.tpl_status = 'P'; } int pe_mvt_id = getMaster.GetMstEvent("PE").mvt_id; List <trn_patient_plan> planPE = tpr.trn_patient_plans .Where(x => x.mvt_id == pe_mvt_id).ToList(); foreach (var plan in planPE) { tpr.trn_patient_plans.Remove(plan); } try { List <trn_patient_event> eventEST = tpr.trn_patient_events.Where(x => x.mvt_id == est_mvt_id).ToList(); foreach (var ev in eventEST) { tpr.trn_patient_events.Remove(ev); } } catch { } return(true); } else { return(true); } } } catch (Exception ex) { Program.MessageError("GetDataFromWSTrakCare", "skipChangeEstToEcho", ex, false); return(false); } }
public bool Insert(int tpr_id, List <APITrakcare.PatientOrderSet> OrderSets, string user, DateTime dateNow) { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { foreach (var set in OrderSets) { var pRegis = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault(); int?tos_id = null; if (set.orderset_rowid != null) { var pOrderset = pRegis.trn_patient_order_sets.Where(x => x.tos_item_row_id == set.orderset_rowid).FirstOrDefault(); if (pOrderset == null) { pOrderset = new trn_patient_order_set { tos_item_row_id = set.orderset_rowid, tos_create_by = user, tos_create_date = dateNow }; pRegis.trn_patient_order_sets.Add(pOrderset); } pOrderset.tos_od_set_code = set.orderset_code; pOrderset.tos_od_set_name = set.orderset_name; pOrderset.tos_status = set.orderitems.All(x => x.orderitem_status == "D") ? false : true; pOrderset.tos_update_by = user; pOrderset.tos_update_date = dateNow; cdc.SubmitChanges(); tos_id = pOrderset.tos_id; } foreach (var item in set.orderitems) { var pOrderitem = pRegis.trn_patient_order_items.Where(x => x.toi_item_row_id == item.rowid).FirstOrDefault(); if (pOrderitem == null) { pOrderitem = new trn_patient_order_item { toi_key = item.rowid, toi_create_by = user, toi_create_date = dateNow }; pRegis.trn_patient_order_items.Add(pOrderitem); } pOrderitem.tos_id = tos_id; pOrderitem.toi_set_row_id = set.orderset_rowid; pOrderitem.toi_item_row_id = item.orderitem_rowid; pOrderitem.toi_od_item_code = item.orderitem_code; pOrderitem.toi_od_item_name = item.orderitem_name; //pOrderitem.toi_patho = item.patho; //pOrderitem.toi_pac_sheet = item.use_pacsheet; pOrderitem.toi_use_pac = item.use_pacsheet; pOrderitem.toi_status = item.orderitem_status == "V" ? true : false; pOrderitem.toi_type = string.IsNullOrEmpty(set.orderset_rowid) ? 'I' : 'S'; pOrderitem.toi_update_by = user; pOrderitem.toi_update_date = dateNow; pOrderitem.toi_trakcare_status = item.orderitem_status; } cdc.SubmitChanges(); } } return(true); } catch (Exception ex) { Class.globalCls.MessageError("InsertPackageCls", "Insert", ex.Message); return(false); } }