コード例 #1
0
ファイル: RandomOrderTool.cs プロジェクト: bangush/server-1
        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);
        }
コード例 #2
0
        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))));
        }
コード例 #3
0
        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);
        }