Exemplo n.º 1
0
        public GetProcedureProtocolResponse GetProcedureProtocol(GetProcedureProtocolRequest request)
        {
            var procedure = this.PersistenceContext.Load <Procedure>(request.ProcedureRef);
            var assembler = new ProtocolAssembler();

            return(procedure.ActiveProtocol != null
                                ? new GetProcedureProtocolResponse(assembler.CreateProtocolDetail(procedure.ActiveProtocol, this.PersistenceContext))
                                : new GetProcedureProtocolResponse(null));
        }
Exemplo n.º 2
0
        private void LoadWorklistItem(IProtocollingWorkflowService service)
        {
            if (_worklistItem == null)
            {
                return;
            }

            var protocolRequest  = new GetProcedureProtocolRequest(_worklistItem.ProcedureRef);
            var protocolResponse = service.GetProcedureProtocol(protocolRequest);

            _protocolDetail = protocolResponse.ProtocolDetail;

            var sb = new StringBuilder();

            foreach (var procedure in _protocolDetail.Procedures)
            {
                sb.Append(ProcedureFormat.Format(procedure) + ", ");
            }

            _proceduresText = sb.ToString().TrimEnd(", ".ToCharArray());

            // Load available protocol groups
            var request  = new ListProtocolGroupsForProcedureRequest(_worklistItem.ProcedureRef);
            var response = service.ListProtocolGroupsForProcedure(request);

            _protocolGroupChoices = response.ProtocolGroups;
            _protocolGroup        = GetInitialProtocolGroup();

            RefreshAvailableProtocolCodes(_protocolDetail.Codes, service);

            // fill out selected item codes
            _selectedProtocolCodes.Items.Clear();
            _selectedProtocolCodes.Items.AddRange(_protocolDetail.Codes);

            if (Thread.CurrentPrincipal.IsInRole(ClearCanvas.Ris.Application.Common.AuthorityTokens.Workflow.Protocol.SubmitForReview) &&
                _protocolDetail.Supervisor == null)
            {
                // if this user has a default supervisor, retreive it, otherwise leave supervisor as null
                if (_rememberSupervisor && !String.IsNullOrEmpty(ProtocollingSettings.Default.SupervisorID))
                {
                    _protocolDetail.Supervisor = GetStaffByID(ProtocollingSettings.Default.SupervisorID);
                }
            }

            NotifyPropertyChanged("ProtocolGroupChoices");
            NotifyPropertyChanged("ProtocolGroup");
            NotifyPropertyChanged("SetDefaultProtocolGroupEnabled");
            NotifyPropertyChanged("Urgency");
        }