private static VisitSummary GetActiveVisitForPatient(EntityRef patientRef, EnumValueInfo assigningAuthority) { VisitSummary visit = null; // choose from existing visits Platform.GetService( delegate(IOrderEntryService service) { var request = new ListVisitsForPatientRequest(patientRef); var visitResponse = service.ListVisitsForPatient(request); visit = RandomUtils.ChooseRandom(CollectionUtils.Select(visitResponse.Visits, summary => Equals(summary.VisitNumber.AssigningAuthority, assigningAuthority))); }); return(visit); }
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) { 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); }