public LoadVisitForEditResponse LoadVisitForEdit(LoadVisitForEditRequest request) { IVisitBroker broker = PersistenceContext.GetBroker <IVisitBroker>(); Visit visit = broker.Load(request.VisitRef); VisitAssembler assembler = new VisitAssembler(); return(new LoadVisitForEditResponse(visit.GetRef(), assembler.CreateVisitDetail(visit, PersistenceContext))); }
public UpdateVisitResponse UpdateVisit(UpdateVisitRequest request) { Visit visit = PersistenceContext.Load <Visit>(request.VisitRef); VisitAssembler assembler = new VisitAssembler(); assembler.UpdateVisit(visit, request.VisitDetail, PersistenceContext); return(new UpdateVisitResponse(assembler.CreateVisitSummary(visit, PersistenceContext))); }
public AddVisitResponse AddVisit(AddVisitRequest request) { Visit visit = new Visit(); VisitAssembler assembler = new VisitAssembler(); assembler.UpdateVisit(visit, request.VisitDetail, PersistenceContext); PersistenceContext.Lock(visit, DirtyState.New); PersistenceContext.SynchState(); return(new AddVisitResponse(assembler.CreateVisitSummary(visit, PersistenceContext))); }
private GetVisitDetailResponse GetVisitDetail(GetVisitDetailRequest request) { // hide visits if "visit workflow" is disabled var workflowConfig = new WorkflowConfigurationReader(); if (!workflowConfig.EnableVisitWorkflow) { return(null); } var visit = this.PersistenceContext.Load <Visit>(request.VisitRef, EntityLoadFlags.Proxy); var assembler = new VisitAssembler(); var detail = assembler.CreateVisitDetail(visit, this.PersistenceContext); return(new GetVisitDetailResponse(detail)); }
public ListVisitsForPatientResponse ListVisitsForPatient(ListVisitsForPatientRequest request) { Platform.CheckForNullReference(request, "request"); Platform.CheckMemberIsSet(request.PatientRef, "PatientRef"); var patient = this.PersistenceContext.GetBroker<IPatientBroker>().Load(request.PatientRef, EntityLoadFlags.Proxy); var criteria = new VisitSearchCriteria(); criteria.Patient.EqualTo(patient); criteria.AdmitTime.SortDesc(0); var assembler = new VisitAssembler(); return new ListVisitsForPatientResponse( CollectionUtils.Map<Visit, VisitSummary, List<VisitSummary>>( this.PersistenceContext.GetBroker<IVisitBroker>().Find(criteria), v => assembler.CreateVisitSummary(v, this.PersistenceContext))); }
public ListVisitsForPatientResponse ListVisitsForPatient(ListVisitsForPatientRequest request) { Platform.CheckForNullReference(request, "request"); Platform.CheckMemberIsSet(request.PatientRef, "PatientRef"); var patient = this.PersistenceContext.GetBroker <IPatientBroker>().Load(request.PatientRef, EntityLoadFlags.Proxy); var criteria = new VisitSearchCriteria(); criteria.Patient.EqualTo(patient); criteria.AdmitTime.SortDesc(0); var assembler = new VisitAssembler(); return(new ListVisitsForPatientResponse( CollectionUtils.Map <Visit, VisitSummary, List <VisitSummary> >( this.PersistenceContext.GetBroker <IVisitBroker>().Find(criteria), v => assembler.CreateVisitSummary(v, this.PersistenceContext)))); }
public OrderRequisition CreateOrderRequisition(Order order, IPersistenceContext context) { var patientProfileAssembler = new PatientProfileAssembler(); var visitAssembler = new VisitAssembler(); var pracAssembler = new ExternalPractitionerAssembler(); var facilityAssembler = new FacilityAssembler(); var dsAssembler = new DiagnosticServiceAssembler(); var attachmentAssembler = new OrderAttachmentAssembler(); var noteAssembler = new OrderNoteAssembler(); var resultRecipientAssembler = new ResultRecipientAssembler(); var requisition = new OrderRequisition { OrderRef = order.GetRef(), Patient = patientProfileAssembler.CreatePatientProfileSummary( CollectionUtils.FirstElement(order.Procedures).PatientProfile, context), Visit = visitAssembler.CreateVisitSummary(order.Visit, context), DiagnosticService = dsAssembler.CreateSummary(order.DiagnosticService), SchedulingRequestTime = order.SchedulingRequestTime, OrderingPractitioner = pracAssembler.CreateExternalPractitionerSummary(order.OrderingPractitioner, context), OrderingFacility = facilityAssembler.CreateFacilitySummary(order.OrderingFacility), ReasonForStudy = order.ReasonForStudy, Priority = EnumUtils.GetEnumValueInfo(order.Priority, context), ResultRecipients = CollectionUtils.Map<ResultRecipient, ResultRecipientDetail>( order.ResultRecipients, r => resultRecipientAssembler.CreateResultRecipientDetail(r, context)), Procedures = CollectionUtils.Map<Procedure, ProcedureRequisition>( order.Procedures, procedure => CreateProcedureRequisition(procedure, context)), Attachments = CollectionUtils.Map<OrderAttachment, AttachmentSummary>( order.Attachments, attachment => attachmentAssembler.CreateOrderAttachmentSummary(attachment, context)), Notes = CollectionUtils.Map<OrderNote, OrderNoteDetail>( OrderNote.GetNotesForOrder(order), note => noteAssembler.CreateOrderNoteDetail(note, context)), ExtendedProperties = ExtendedPropertyUtils.Copy(order.ExtendedProperties), CanModify = !order.IsTerminated }; return requisition; }
public ListVisitsForPatientResponse ListVisitsForPatient(ListVisitsForPatientRequest request) { Patient patient = PersistenceContext.Load<Patient>(request.PatientRef); VisitSearchCriteria criteria = new VisitSearchCriteria(); criteria.Patient.EqualTo(patient); IList<Visit> visits = PersistenceContext.GetBroker<IVisitBroker>().Find(criteria); VisitAssembler assembler = new VisitAssembler(); ListVisitsForPatientResponse response = new ListVisitsForPatientResponse(); response.Visits = new List<VisitSummary>(); foreach (Visit v in visits) { response.Visits.Add(assembler.CreateVisitSummary(v, PersistenceContext)); } return response; }
public OrderRequisition CreateOrderRequisition(Order order, IPersistenceContext context) { var patientProfileAssembler = new PatientProfileAssembler(); var visitAssembler = new VisitAssembler(); var pracAssembler = new ExternalPractitionerAssembler(); var facilityAssembler = new FacilityAssembler(); var dsAssembler = new DiagnosticServiceAssembler(); var attachmentAssembler = new OrderAttachmentAssembler(); var noteAssembler = new OrderNoteAssembler(); var resultRecipientAssembler = new ResultRecipientAssembler(); var requisition = new OrderRequisition { OrderRef = order.GetRef(), Patient = patientProfileAssembler.CreatePatientProfileSummary( CollectionUtils.FirstElement(order.Procedures).PatientProfile, context), Visit = visitAssembler.CreateVisitSummary(order.Visit, context), DiagnosticService = dsAssembler.CreateSummary(order.DiagnosticService), SchedulingRequestTime = order.SchedulingRequestTime, OrderingPractitioner = pracAssembler.CreateExternalPractitionerSummary(order.OrderingPractitioner, context), OrderingFacility = facilityAssembler.CreateFacilitySummary(order.OrderingFacility), ReasonForStudy = order.ReasonForStudy, Priority = EnumUtils.GetEnumValueInfo(order.Priority, context), ResultRecipients = CollectionUtils.Map <ResultRecipient, ResultRecipientDetail>( order.ResultRecipients, r => resultRecipientAssembler.CreateResultRecipientDetail(r, context)), Procedures = CollectionUtils.Map <Procedure, ProcedureRequisition>( order.Procedures, procedure => CreateProcedureRequisition(procedure, context)), Attachments = CollectionUtils.Map <OrderAttachment, AttachmentSummary>( order.Attachments, attachment => attachmentAssembler.CreateOrderAttachmentSummary(attachment, context)), Notes = CollectionUtils.Map <OrderNote, OrderNoteDetail>( OrderNote.GetNotesForOrder(order), note => noteAssembler.CreateOrderNoteDetail(note, context)), ExtendedProperties = ExtendedPropertyUtils.Copy(order.ExtendedProperties), CanModify = !order.IsTerminated }; return(requisition); }
public ListVisitsForPatientResponse ListVisitsForPatient(ListVisitsForPatientRequest request) { Patient patient = PersistenceContext.Load <Patient>(request.PatientRef); VisitSearchCriteria criteria = new VisitSearchCriteria(); criteria.Patient.EqualTo(patient); IList <Visit> visits = PersistenceContext.GetBroker <IVisitBroker>().Find(criteria); VisitAssembler assembler = new VisitAssembler(); ListVisitsForPatientResponse response = new ListVisitsForPatientResponse(); response.Visits = new List <VisitSummary>(); foreach (Visit v in visits) { response.Visits.Add(assembler.CreateVisitSummary(v, PersistenceContext)); } return(response); }
public LoadVisitForEditResponse LoadVisitForEdit(LoadVisitForEditRequest request) { IVisitBroker broker = PersistenceContext.GetBroker<IVisitBroker>(); Visit visit = broker.Load(request.VisitRef); VisitAssembler assembler = new VisitAssembler(); return new LoadVisitForEditResponse(visit.GetRef(), assembler.CreateVisitDetail(visit, PersistenceContext)); }
public AddVisitResponse AddVisit(AddVisitRequest request) { Visit visit = new Visit(); VisitAssembler assembler = new VisitAssembler(); assembler.UpdateVisit(visit, request.VisitDetail, PersistenceContext); PersistenceContext.Lock(visit, DirtyState.New); PersistenceContext.SynchState(); return new AddVisitResponse(assembler.CreateVisitSummary(visit, PersistenceContext)); }
public UpdateVisitResponse UpdateVisit(UpdateVisitRequest request) { Visit visit = PersistenceContext.Load<Visit>(request.VisitRef); VisitAssembler assembler = new VisitAssembler(); assembler.UpdateVisit(visit, request.VisitDetail, PersistenceContext); return new UpdateVisitResponse(assembler.CreateVisitSummary(visit, PersistenceContext)); }
private GetVisitDetailResponse GetVisitDetail(GetVisitDetailRequest request) { // hide visits if "visit workflow" is disabled var workflowConfig = new WorkflowConfigurationReader(); if (!workflowConfig.EnableVisitWorkflow) return null; var visit = this.PersistenceContext.Load<Visit>(request.VisitRef, EntityLoadFlags.Proxy); var assembler = new VisitAssembler(); var detail = assembler.CreateVisitDetail(visit, this.PersistenceContext); return new GetVisitDetailResponse(detail); }