public bool CanModifyOrder(WorklistItemKey itemKey) { if (!Thread.CurrentPrincipal.IsInRole(AuthorityTokens.Workflow.Order.Modify)) { return(false); } // the worklist item may represent a patient without an order, // in which case there is no order to modify if (itemKey.OrderRef == null) { return(false); } return(true); }
public bool CanUnmergeOrder(WorklistItemKey itemKey) { if (!Thread.CurrentPrincipal.IsInRole(AuthorityTokens.Workflow.Order.Unmerge)) { return(false); } if (itemKey.OrderRef == null) { return(false); } var order = this.PersistenceContext.Load <Order>(itemKey.OrderRef); return(order.Status == OrderStatus.SC && order.MergeSourceOrders.Count > 0); }
public bool CanCancelOrder(WorklistItemKey itemKey) { if (!Thread.CurrentPrincipal.IsInRole(AuthorityTokens.Workflow.Order.Cancel)) { return(false); } // the worklist item may represent a patient without an order, // in which case there is no order to cancel if (itemKey.OrderRef == null) { return(false); } var order = this.PersistenceContext.GetBroker <IOrderBroker>().Load(itemKey.OrderRef); // cancel or discontinue var operation = new CancelOrDiscontinueOrderOperation(); return(operation.CanExecute(order)); }
public bool CanCancelOrder(WorklistItemKey itemKey) { if (!Thread.CurrentPrincipal.IsInRole(AuthorityTokens.Workflow.Order.Cancel)) return false; // the worklist item may represent a patient without an order, // in which case there is no order to cancel if (itemKey.OrderRef == null) return false; var order = this.PersistenceContext.GetBroker<IOrderBroker>().Load(itemKey.OrderRef); // cancel or discontinue var operation = new CancelOrDiscontinueOrderOperation(); return operation.CanExecute(order); }
public bool CanModifyOrder(WorklistItemKey itemKey) { if (!Thread.CurrentPrincipal.IsInRole(AuthorityTokens.Workflow.Order.Modify)) return false; // the worklist item may represent a patient without an order, // in which case there is no order to modify if (itemKey.OrderRef == null) return false; return true; }
public bool CanUnmergeOrder(WorklistItemKey itemKey) { if (!Thread.CurrentPrincipal.IsInRole(AuthorityTokens.Workflow.Order.Unmerge)) return false; if (itemKey.OrderRef == null) return false; var order = this.PersistenceContext.Load<Order>(itemKey.OrderRef); return order.Status == OrderStatus.SC && order.MergeSourceOrders.Count > 0; }