/// <summary> /// 根据指定的医嘱类型和DataRow创建医嘱内容对象 /// </summary> /// <param name="orderKind">医嘱类别</param> /// <param name="sourceRow">包含初始数据的医嘱DataRow</param> /// <returns>合适的医嘱对象</returns> public static OrderContent CreateOrderContent(OrderContentKind orderKind, DataRow sourceRow) { OrderContent content; // 根据医嘱类别+项目类别创建医嘱项目 switch (orderKind) { case OrderContentKind.Druggery: //药品医嘱 content = new DruggeryOrderContent(sourceRow); break; case OrderContentKind.ChargeItem://普通项目医嘱 content = new ChargeItemOrderContent(sourceRow); break; case OrderContentKind.GeneralItem://常规医嘱 content = new GeneralOrderContent(sourceRow); break; case OrderContentKind.ClinicItem://临床项目医嘱 content = new ClinicItemOrderContent(sourceRow); break; case OrderContentKind.OutDruggery://出院带药 content = new OutDruggeryContent(sourceRow); break; case OrderContentKind.Operation://手术医嘱 content = new OperationOrderContent(sourceRow); break; //case OrderKindFlags.CeaseLong://停长期医嘱 // break; case OrderContentKind.TextNormal://纯医嘱(普通) content = new TextOrderContent(sourceRow); break; case OrderContentKind.TextShiftDept://纯医嘱(转科) content = new ShiftDeptOrderContent(sourceRow); break; case OrderContentKind.TextAfterOperation://纯医嘱(术后) content = new AfterOperationContent(sourceRow); break; case OrderContentKind.TextLeaveHospital://纯医嘱(出院) content = new LeaveHospitalOrderContent(sourceRow); break; default: throw new ArgumentException(MessageStringManager.GetString("ClsssNotImplement")); } content.InnerOrderKind = orderKind; return(content); }
/// <summary> /// 根据DataRow中制定列的值确定合适的医嘱内容类名 /// </summary> /// <param name="kindValue"></param> /// <returns></returns> public static string GetOrderContentClassName(object kindValue) { if (kindValue == null) { throw new ArgumentNullException("kindValue" , MessageStringManager.GetString("CommonParameterIsNull", "医嘱类型")); } OrderContentKind orderKind = (OrderContentKind)Enum.Parse(typeof(OrderContentKind), kindValue.ToString()); switch (orderKind) { case OrderContentKind.Druggery: //药品医嘱 return("DruggeryOrderContent"); case OrderContentKind.ChargeItem://普通项目医嘱 return("ChargeItemOrderContent"); case OrderContentKind.GeneralItem://常规医嘱 return("GeneralOrderContent"); case OrderContentKind.ClinicItem://临床项目医嘱 return("ClinicItemOrderContent"); case OrderContentKind.OutDruggery://出院带药 return("OutDruggeryContent"); case OrderContentKind.Operation://手术医嘱 return("OperationOrderContent"); //case OrderKindFlags.CeaseLong://停长期医嘱 // break; case OrderContentKind.TextNormal://纯医嘱(普通) return("TextOrderContent"); case OrderContentKind.TextShiftDept://纯医嘱(转科) return("ShiftDeptOrderContent"); case OrderContentKind.TextAfterOperation://纯医嘱(术后) return("AfterOperationContent"); case OrderContentKind.TextLeaveHospital://纯医嘱(出院) return("LeaveHospitalOrderContent"); default: throw new ArgumentException(MessageStringManager.GetString("ClsssNotImplement")); } }
//private void ReviseFrequencyData() //{ // if (m_SuiteTable != null) // { // string[] defFrequency = showListWindow1.ValidateWordbookHasOneRecord(m_FrenqucyBook, WordbookKind.Normal); // foreach (DataRow row in m_SuiteTable.Rows) // { // showListWindow1.CallLookUpWindow(m_FrenqucyBook // , WordbookKind.Normal // , row["pcdm"].ToString()); // if (showListWindow1.ResultRows.Count > 0) // { // row["pcdm"] = showListWindow1.CodeValue; // row["pcmc"] = showListWindow1.DisplayValue; // } // else // { // if (defFrequency != null) // { // row["pcdm"] = defFrequency[0]; // row["pcmc"] = defFrequency[1]; // } // else // { // row["pcdm"] = ""; // row["pcmc"] = ""; // } // } // } // } //} private object GetContentKindName(OrderContentKind contentKind) { switch (contentKind) { case OrderContentKind.Druggery: return(ConstNames.ContentDruggery); case OrderContentKind.ChargeItem: return(ConstNames.ContentChargeItem); case OrderContentKind.GeneralItem: return(ConstNames.ContentGeneralItem); case OrderContentKind.ClinicItem: return(ConstNames.ContentClinicItem); case OrderContentKind.OutDruggery: return(ConstNames.ContentOutDruggery); case OrderContentKind.Operation: return(ConstNames.ContentOperation); case OrderContentKind.TextNormal: return(ConstNames.ContentTextNormal); case OrderContentKind.TextShiftDept: return(ConstNames.ContentTextShiftDept); case OrderContentKind.TextAfterOperation: return(ConstNames.ContentTextAfterOperation); case OrderContentKind.TextLeaveHospital: return(ConstNames.ContentTextLeaveHospital); default: return(""); } }