コード例 #1
0
 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);
     }
 }
コード例 #2
0
 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);
     }
 }
コード例 #3
0
 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);
     }
 }
コード例 #4
0
        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);
            }
        }