public ProtocolDetail CreateProtocolDetail(Protocol protocol, IPersistenceContext context) { var detail = new ProtocolDetail(); var staffAssembler = new StaffAssembler(); detail.ProtocolRef = protocol.GetRef(); detail.Author = protocol.Author != null ? staffAssembler.CreateStaffSummary(protocol.Author, context) : null; detail.Supervisor = protocol.Supervisor != null ? staffAssembler.CreateStaffSummary(protocol.Supervisor, context) : null; detail.Status = EnumUtils.GetEnumValueInfo(protocol.Status, context); detail.Urgency = EnumUtils.GetEnumValueInfo(protocol.Urgency); detail.RejectReason = EnumUtils.GetEnumValueInfo(protocol.RejectReason); detail.Codes = protocol.Codes == null ? new List<ProtocolCodeSummary>() : CollectionUtils.Map<ProtocolCode, ProtocolCodeSummary>(protocol.Codes, CreateProtocolCodeSummary); var procedureAssembler = new ProcedureAssembler(); detail.Procedures = protocol.Procedures == null ? new List<ProcedureDetail>() : CollectionUtils.Map<Procedure, ProcedureDetail>( protocol.Procedures, procedure => procedureAssembler.CreateProcedureDetail(procedure, delegate { return false; }, false, context)); return detail; }
private void SaveProtocolHelper(ProtocolAssignmentStep step, ProtocolDetail protocolDetail, List <OrderNoteDetail> notes, EntityRef supervisorRef, bool supervisorValidationRequired) { var protocol = step.Protocol; if (protocolDetail != null && supervisorRef != null) { throw new RequestValidationException("UpdateProtocolRequest should not specify both a ProtocolDetail and a SupervisorRef"); } if (supervisorValidationRequired && Thread.CurrentPrincipal.IsInRole(Extended.Common.AuthorityTokens.Workflow.Protocol.OmitSupervisor) == false && protocol.Supervisor == null && (protocolDetail == null || protocolDetail.Supervisor == null) && supervisorRef == null) { throw new SupervisorValidationException(); } if (protocolDetail != null) { var assembler = new ProtocolAssembler(); assembler.UpdateProtocol(protocol, protocolDetail, this.PersistenceContext); } if (supervisorRef != null) { var supervisor = this.PersistenceContext.Load <Staff>(supervisorRef); protocol.Supervisor = supervisor; } if (notes != null) { UpdateOrderNotes(step.Procedure.Order, notes); } }
public RejectProtocolRequest( EntityRef protocolAssignmentStepRef, ProtocolDetail protocol, List <OrderNoteDetail> orderNotes, EnumValueInfo rejectReason, OrderNoteDetail additionalCommentsNote) : base(protocolAssignmentStepRef, protocol, orderNotes) { this.RejectReason = rejectReason; this.AdditionalCommentsNote = additionalCommentsNote; }
public void UpdateProtocol(Protocol protocol, ProtocolDetail detail, IPersistenceContext context) { protocol.Urgency = EnumUtils.GetEnumValue<ProtocolUrgencyEnum>(detail.Urgency, context); // if detail specifies a supervisor use it otherwise retain previous supervisor (null or valued) protocol.Supervisor = detail.Supervisor != null ? context.Load<Staff>(detail.Supervisor.StaffRef) : protocol.Supervisor; protocol.Codes.Clear(); foreach (var codeSummary in detail.Codes) { var code = context.Load<ProtocolCode>(codeSummary.ProtocolCodeRef, EntityLoadFlags.Proxy); protocol.Codes.Add(code); } }
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"); }
public AcceptProtocolRequest(EntityRef protocolAssignmentStepRef, ProtocolDetail protocol, List <OrderNoteDetail> orderNotes) : base(protocolAssignmentStepRef, protocol, orderNotes) { }
public ProtocolEditorProcedurePlanSummaryTableItem(ProcedureDetail _rpDetail, ProtocolDetail _protocolDetail) { this._rpDetail = _rpDetail; this._protocolDetail = _protocolDetail; }
public SaveProtocolRequest(EntityRef protocolAssignmentStepRef, ProtocolDetail protocol, List <OrderNoteDetail> protocolNotes) : base(protocolAssignmentStepRef, protocol, protocolNotes) { }
public GetProcedureProtocolResponse(ProtocolDetail protocolDetail) { ProtocolDetail = protocolDetail; }
public SubmitProtocolForApprovalRequest(EntityRef protocolAssignmentStepRef, ProtocolDetail protocol, List <OrderNoteDetail> orderNotes) : base(protocolAssignmentStepRef, protocol, orderNotes) { }
public ApproveResidentProtocolResponse(ProtocolDetail protocolDetail) { ProtocolDetail = protocolDetail; }
public UpdateProtocolRequest(EntityRef protocolAssignmentStepRef, ProtocolDetail protocol, List <OrderNoteDetail> orderNotes) { this.ProtocolAssignmentStepRef = protocolAssignmentStepRef; this.Protocol = protocol; this.OrderNotes = orderNotes; }
public GetProtocolResponse(EntityRef protocolRef, ProtocolDetail protocolDetail) { ProtocolRef = protocolRef; ProtocolDetail = protocolDetail; }